Ember CLI Shims
NOTE: this repo is frozen until ember's public module interface has been finalized.
Ember CLI Shims (ECS) contain all the shims used in Ember CLI.
ember-data shim has been removed as of v0.1.0. The latest
Ember-Data no longer has a bower dependency;
ember-cli-shims >= v0.1.0 is only intended for use with Ember-Data v2.3.0 and up.
Simply import any of the shims as an ES6 module:
Some of the shims have named exports (instead of/in addition to a
The app-shims file provides a complete reference of all modules currently supported by this library.
Historically, Ember has recommended that developers reference core classes
& utilities (ie
isEmpty) via the root
This leads to the entire
Ember module being imported into nearly every file:
It would be preferable to have different parts of Ember available as separate modules, allowing developers to only import what they need. This is the direction the framework is moving in, but the modules are not yet available. This has led to a common pattern of ES6 destructuring assignment to enable writing future-proof code:
;const Component computed inject = Ember;;
However, this library provides shims to mimic the future modules that Ember may provide, enabling developers to avoid destructuring and instead import the namespaces as modules today.
That way, as true modules become available in the Ember ecosystem, we can merely remove
the shims from
ECS upstream, requiring little to no refactoring on the part of
developers who have opted-in to this pattern early. Ultimately, the goal of this
library is to be replaced completely once Ember itself is an npm package/addon and exports its own modules.
Ember CLI Shims is MIT Licensed.