Skip to content
This repository has been archived by the owner on Apr 2, 2024. It is now read-only.

Import ES6 modules from npm, bower or anywhere else in your app.

License

Notifications You must be signed in to change notification settings

sandydoo/ember-cli-es6-transform

Repository files navigation

Try using ember-auto-import before this addon.

⚙️ ember-cli-es6-transform

Build Status

Import ES6 modules from npm, bower or anywhere else in your Ember app.

Table of contents

Requirements
Why
Installation
Usage

Requirements

ember-cli@3.6 and greater.

For older versions of ember-cli, use the 0.0.* versions of this addon.

Why

Ember currently lacks official support for importing and transpiling external ES6 modules.

ember-cli@2.15 introduced the ability to import files from node_modules. ember-cli@2.16 then gave us the ability to register and apply custom importTransforms to our imports. Currently, anything imported using app.import bypasses the Babel pipeline and is inserted into the final vendor.js verbatim. If your desired dependency is a ✨shiny new ES6 module, the import will break your app. This addon leverages both concepts to pass your dependency through ember-cli-babel.

Installation

ember install ember-cli-es6-transform

Usage

Importing a single (file) dependency

Define the transformation when importing the ES6 module in your ember-cli-build.js. The syntax is the same as the built-in amd transform. Remember that app.import only works one file at a time!

Options:

  • as – (required) specify the module name.
// Importing spin.js as spin.js

app.import('node_modules/spin.js/spin.js', {
  using: [
    { transformation: 'es6', as: 'spin.js' }
  ]
});

In your app, you can then import the module using the name you specified in as.

import { Spinner } from 'spin.js';

Contributing

Installation

  • git clone <repository-url> this repository
  • cd ember-cli-es6-transform
  • yarn install

Running Tests

  • yarn test