Skip to content
Polyfill for Ember JS API
JavaScript
Branch: master
Clone or download
dependabot-preview Bump qunit from 2.9.2 to 2.9.3
Bumps [qunit](https://github.com/qunitjs/qunit) from 2.9.2 to 2.9.3.
- [Release notes](https://github.com/qunitjs/qunit/releases)
- [Changelog](https://github.com/qunitjs/qunit/blob/master/History.md)
- [Commits](qunitjs/qunit@2.9.2...2.9.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Latest commit 63ca26f Oct 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src fix import-then-export case Dec 15, 2018
tests fix import-then-export case Dec 15, 2018
.eslintrc.js Initial project structure. Jun 21, 2017
.gitignore Initial project structure. Jun 21, 2017
.travis.yml Add release-it setup. Aug 12, 2019
CHANGELOG.md Release 2.12.0 Aug 28, 2019
LICENSE Initial commit Jun 21, 2017
README.md Fix typo Aug 24, 2017
RELEASE.md Add release-it setup. Aug 12, 2019
package.json Bump qunit from 2.9.2 to 2.9.3 Oct 9, 2019
yarn.lock Bump qunit from 2.9.2 to 2.9.3 Oct 9, 2019

README.md

babel-plugin-ember-modules-api-polyfill

Greenkeeper badge

This plugin transforms JavaScript modules API import statements back to the legacy "global" ember object syntax

Example

import { inject } from "@ember/service"

back to the legacy

const inject = Ember.inject.service

Installation

npm install --save babel-plugin-ember-modules-api-polyfill

Why

This plugin provides an API polyfill to allow ember addon authors to adopt the new JavaScript modules API whilst still maintaining backwards compatibility with older versions of Ember that do not support the new modules API.

The intention of this Babel plugin is to also allow for a transition period and allow applications to exist in a mixed state whilst transitioning from the old "global" ember object pattern, into the new modular pattern.

How

Using the ember-rfc176-data package, that contains the official mapping of old global object names to the new JS modules API import statements, addons that adopt the new API can be transpiled back to the legacy format if Ember-CLI detects that the host application ember version does not support the new modules API.

The plugin supports both default import Component from "@ember/component" and named import { inject } from "@ember/service" import statements, converting their syntax back to separate const variables within the source file. This transpilation is done at compile time by Ember CLI.

In order for ember addon developers to adopt this new API syntax, they must declare a dependency on ember-cli-babel:v6.6.0 or above in their package.json:

{
  "dependencies": {
    "ember-cli-babel": "^6.6.0"
  }
}
You can’t perform that action at this time.