The import statement supports importing all named exports into an object.
For example, instead of this
import {
alias as computedAlias,
and as computedAnd,
// ...
} from '@ember/object/computed';
import { decoratedPropertyWithRequiredParams } from '../utils/decorator-macros';
export const alias = decoratedPropertyWithRequiredParams(computedAlias);
you could just do this
import * as computed from '@ember/object/computed';
import { decoratedPropertyWithRequiredParams } from '../utils/decorator-macros';
export const alias = decoratedPropertyWithRequiredParams(computed.alias);
But apparently, the latter does not work. :slightly_frowning_face:
Could not find module `@ember/object/computed` imported from `ember-decorators/object/computed`
We would need to handle wildcard import in babel-plugin-ember-modules-API-polyfill. This seems reasonable to me though. We would need to check if the specified module contains only exports from a single namespace or multiple. If multiple namespaces we would have to build up the intermediate POJO that would be used.
https://github.com/babel/ember-cli-babel/issues/170#issue-246272427
https://github.com/babel/ember-cli-babel/issues/170#issuecomment-318635180