Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

ember-cli-babel

babel2.1mMIT8.2.0

Ember CLI addon for Babel

babel, ember, ember-addon, ember-cli, transpile, transpiler

readme

ember-cli-babel

CI Status

This Ember-CLI plugin uses Babel and @babel/preset-env to allow you to use latest Javascript in your Ember CLI project.

Table of Contents

Installation

ember install ember-cli-babel

Compatibility

  • ember-cli-babel 7.x requires ember-cli 2.13 or above

Usage

This plugin should work without any configuration after installing. By default it will take every .js file in your project and run it through the Babel transpiler to convert your ES6 code to code supported by your target browsers (as specified in config/targets.js in ember-cli >= 2.13). Running non-ES6 code through the transpiler shouldn't change the code at all (likely just a format change if it does).

If you need to customize the way that babel-preset-env configures the plugins that transform your code, you can do it by passing in any of the babel/babel-preset-env options. Note: .babelrc files are ignored by default.

Example (configuring babel directly):

// ember-cli-build.js

let app = new EmberApp({
  babel: {
    // enable "loose" mode
    loose: true,
    // don't transpile generator functions
    exclude: [
      'transform-regenerator',
    ],
    plugins: [
      require.resolve('transform-object-rest-spread')
    ]
  }
});

Example (configuring ember-cli-babel itself):

// ember-cli-build.js

let app = new EmberApp({
  'ember-cli-babel': {
    compileModules: false
  }
});

Options

There are a few different options that may be provided to ember-cli-babel. These options are typically set in an apps ember-cli-build.js file, or in an addon or engine's index.js.

type BabelPlugin = string | [string, any] | [any, any];

interface EmberCLIBabelConfig {
  /**
    Configuration options for babel-preset-env.
    See https://github.com/babel/babel-preset-env/tree/v1.6.1#options for details on these options.
  */
  babel?: {
    spec?: boolean;
    loose?: boolean;
    debug?: boolean;
    include?: string[];
    exclude?: string[];
    useBuiltIns?: boolean;
    sourceMaps?: boolean | "inline" | "both";
    plugins?: BabelPlugin[];
  };

  /**
    Configuration options for ember-cli-babel itself.
  */
  'ember-cli-babel'?: {
    includeExternalHelpers?: boolean;
    compileModules?: boolean;
    disableDebugTooling?: boolean;
    disablePresetEnv?: boolean;
    disableEmberModulesAPIPolyfill?: boolean;
    disableEmberDataPackagesPolyfill?: boolean;
    disableDecoratorTransforms?: boolean;
    enableTypeScriptTransform?: boolean;
    extensions?: string[];
  };
}

The exact location you specify these options varies depending on the type of project you're working on. As a concrete example, to add babel-plugin-transform-object-rest-spread so that your project can use object rest/spread syntax, you would do something like this in an app:

// ember-cli-build.js
let app = new EmberApp(defaults, {
  babel: {
    plugins: [require.resolve('transform-object-rest-spread')]
  }
});

In an engine:

// index.js
module.exports = EngineAddon.extend({
  babel: {
    plugins: [require.resolve('transform-object-rest-spread')]
  }
});

In an addon:

// index.js
module.exports = {
  options: {
    babel: {
      plugins: [require.resolve('transform-object-rest-spread')]
    }
  }
};

External Helpers

Babel often includes helper functions to handle some of the more complex logic in codemods. These functions are inlined by default, so they are duplicated in every file that they are used in, which adds some extra weight to final builds.

Enabling includeExternalHelpers will cause Babel to import these helpers from a shared module, reducing app size overall. This option is available only to the root application, because it is a global configuration value due to the fact that there can only be one version of helpers included.

Note that there is currently no way to allow or ignore helpers, so all helpers will be included, even ones which are not used. If your app is small, this could add to overall build size, so be sure to check.

ember-cli-babel will attempt to include helpers if it believes that it will lower your build size, using a number of heuristics. You can override this to force inclusion or exclusion of helpers in your app by passing true or false to includeExternalHelpers in your ember-cli-babel options.

// ember-cli-build.js

let app = new EmberApp(defaults, {
  'ember-cli-babel': {
    includeExternalHelpers: true
  }
});

Enabling Source Maps

Babel generated source maps will enable you to debug your original ES6 source code. This is disabled by default because it will slow down compilation times.

To enable it, pass sourceMaps: 'inline' in your babel options.

// ember-cli-build.js

let app = new EmberApp(defaults, {
  babel: {
    sourceMaps: 'inline'
  }
});

Modules

Older versions of Ember CLI (< 2.12) use its own ES6 module transpiler. Because of that, this plugin disables Babel module compilation by ignoring that transform when running under affected ember-cli versions. If you find that you want to use the Babel module transform instead of the Ember CLI one, you'll have to explicitly set compileModules to true in your configuration. If compileModules is anything other than true, this plugin will leave the module syntax compilation up to Ember CLI.

Disabling Debug Tooling Support

If for some reason you need to disable this debug tooling, you can opt-out via configuration.

In an app that would look like:

// ember-cli-build.js
module.exports = function(defaults) {
  let app = new EmberApp(defaults, {
    'ember-cli-babel': {
      disableDebugTooling: true
    }
  });

  return app.toTree();
}

Enabling TypeScript Transpilation

Babel needs a transform plugin in order to transpile TypeScript. When you install ember-cli-typescript >= 4.0, this plugin is automatically enabled.

If you don't want to install ember-cli-typescript, you can still enable the TypeScript-Babel transform. You will need to set enableTypeScriptTransform to true in select file(s).

<summary>Apps</summary>
/* ember-cli-build.js */

const EmberApp = require('ember-cli/lib/broccoli/ember-app');

module.exports = function (defaults) {
  const app = new EmberApp(defaults, {
    // Add options here
    'ember-cli-babel': {
      enableTypeScriptTransform: true,
    },
  });

  return app.toTree();
};
<summary>Addons</summary>
/* ember-cli-build.js */

const EmberAddon = require('ember-cli/lib/broccoli/ember-addon');

module.exports = function (defaults) {
  const app = new EmberAddon(defaults, {
    // Add options here
    'ember-cli-babel': {
      enableTypeScriptTransform: true,
    },
  });

  return app.toTree();
};
/* index.js */

module.exports = {
  name: require('./package').name,

  options: {
    'ember-cli-babel': {
      enableTypeScriptTransform: true,
    },
  },
};
<summary>Engines</summary>
/* ember-cli-build.js */

const EmberAddon = require('ember-cli/lib/broccoli/ember-addon');

module.exports = function (defaults) {
  const app = new EmberAddon(defaults, {
    // Add options here
    'ember-cli-babel': {
      enableTypeScriptTransform: true,
    },
  });

  return app.toTree();
};
/* index.js */

const { buildEngine } = require('ember-engines/lib/engine-addon');

module.exports = buildEngine({
  name: require('./package').name,

  'ember-cli-babel': {
    enableTypeScriptTransform: true,
  },
});

NOTE: Setting enableTypeScriptTransform to true does not enable type-checking. For integrated type-checking, you will need ember-cli-typescript.

Babel config usage

If you want to use the existing babel config from your project instead of the auto-generated one from this addon, then you would need to opt-in by passing the config useBabelConfig: true as a child property of ember-cli-babel in your ember-cli-build.js file.

Note: If you are using this option, then you have to make sure that you are adding all of the required plugins required for Ember to transpile correctly.

Example usage:

//ember-cli-build.js

let app = new EmberAddon(defaults, {
  "ember-cli-babel": {
    useBabelConfig: true,
    // ember-cli-babel related options
  },
});
//babel.config.js

const { buildEmberPlugins } = require("ember-cli-babel");

module.exports = function (api) {
  api.cache(true);

  return {
    presets: [
      [
        require.resolve("@babel/preset-env"),
        {
          targets: require("./config/targets"),
        },
      ],
    ],
    plugins: [
      // if you want external helpers
      [
        require.resolve("@babel/plugin-transform-runtime"),
        {
          version: require("@babel/plugin-transform-runtime/package").version,
          regenerator: false,
          useESModules: true,
        },
      ],
      // this is where all the ember required plugins would reside
      ...buildEmberPlugins(__dirname, { /*customOptions if you want to pass in */ }),
    ],
  };
};

Ember Plugins

Ember Plugins is a helper function that returns a list of plugins that are required for transpiling Ember correctly. You can import this helper function and add it to your existing babel.config file. The first argument is required which is the path to the root of your project (generally __dirname). Config options:

{
  disableModuleResolution: boolean, // determines if you want the module resolution enabled
  emberDataVersionRequiresPackagesPolyfill: boolean, // enable ember data's polyfill
  shouldIgnoreJQuery: boolean, // ignore jQuery
  shouldIgnoreEmberString: boolean, // ignore ember string
  shouldIgnoreDecoratorAndClassPlugins: boolean, // disable decorator plugins
  disableEmberModulesAPIPolyfill: boolean, // disable ember modules API polyfill
}

Addon usage

Adding Custom Plugins

You can add custom plugins to be used during transpilation of the addon/ or addon-test-support/ trees by ensuring that your addon's options.babel is properly populated (as mentioned above in the Options section).

Additional Trees

For addons which want additional customizations, they are able to interact with this addon directly.

interface EmberCLIBabel {
  /**
    Used to generate the options that will ultimately be passed to babel itself.
  */
  buildBabelOptions(type: 'babel' | 'broccoli', config?: EmberCLIBabelConfig): Opaque;

  /**
    Supports easier transpilation of non-standard input paths (e.g. to transpile
    a non-addon NPM dependency) while still leveraging the logic within
    ember-cli-babel for transpiling (e.g. targets, preset-env config, etc).
  */
  transpileTree(inputTree: BroccoliTree, config?: EmberCLIBabelConfig): BroccoliTree;

  /**
    Used to determine if a given plugin is required by the current target configuration.
    Does not take `includes` / `excludes` into account.

    See https://github.com/babel/babel-preset-env/blob/master/data/plugins.json for the list
    of known plugins.
  */
  isPluginRequired(pluginName: string): boolean;
}

buildBabelOptions usage

// find your babel addon (can use `this.findAddonByName('ember-cli-babel')` in ember-cli@2.14 and newer)
let babelAddon = this.addons.find(addon => addon.name === 'ember-cli-babel');

// create the babel options to use elsewhere based on the config above
let options = babelAddon.buildBabelOptions('babel', config)

// now you can pass these options off to babel or broccoli-babel-transpiler
require('babel-core').transform('something', options);

getSupportedExtensions usage

// find your babel addon (can use `this.findAddonByName('ember-cli-babel')` in ember-cli@2.14 and newer)
let babelAddon = this.addons.find(addon => addon.name === 'ember-cli-babel');

// create the babel options to use elsewhere based on the config above
let extensions = babelAddon.getSupportedExtensions(config)

transpileTree usage

// find your babel addon (can use `this.findAddonByName('ember-cli-babel')` in ember-cli@2.14 and newer)
let babelAddon = this.addons.find(addon => addon.name === 'ember-cli-babel');

// invoke .transpileTree passing in the custom input tree
let transpiledCustomTree = babelAddon.transpileTree(someCustomTree);

Debug Tooling

In order to allow apps and addons to easily provide good development mode ergonomics (assertions, deprecations, etc) but still perform well in production mode ember-cli-babel automatically manages stripping / removing certain debug statements. This concept was originally proposed in ember-cli/rfcs#50, but has been slightly modified during implementation (after researching what works well and what does not).

Debug Macros

To add convienient deprecations and assertions, consumers (in either an app or an addon) can do the following:

import { deprecate, assert } from '@ember/debug';

export default Ember.Component.extend({
  init() {
    this._super(...arguments);
    deprecate(
      'Passing a string value or the `sauce` parameter is deprecated, please pass an instance of Sauce instead',
      false,
      { until: '1.0.0', id: 'some-addon-sauce' }
    );
    assert('You must provide sauce for x-awesome.', this.sauce);
  }
})

In testing and development environments those statements will be executed (and assert or deprecate as appropriate), but in production builds they will be inert (and stripped during minification).

The following are named exports that are available from @ember/debug:

  • function deprecate(message: string, predicate: boolean, options: any): void - Results in calling Ember.deprecate.
  • function assert(message: string, predicate: boolean): void - Results in calling Ember.assert.
  • function warn(message: string, predicate: boolean): void - Results in calling Ember.warn.

General Purpose Env Flags

In some cases you may have the need to do things in debug builds that isn't related to asserts/deprecations/etc. For example, you may expose certain API's for debugging only. You can do that via the DEBUG environment flag:

import { DEBUG } from '@glimmer/env';

const Component = Ember.Component.extend();

if (DEBUG) {
  Component.reopen({
    specialMethodForDebugging() {
      // do things ;)
    }
  });
}

In testing and development environments DEBUG will be replaced by the boolean literal true, and in production builds it will be replaced by false. When ran through a minifier (with dead code elimination) the entire section will be stripped.

Please note, that these general purpose environment related flags (e.g. DEBUG as a boolean flag) are imported from @glimmer/env not from an @ember namespace.

Parallel Builds

By default, broccoli-babel-transpiler will attempt to spin up several sub-processes (~1 per available core), to achieve parallelization. (Once Node.js has built-in worker support, we plan to utilize it.) This yields significant Babel build time improvements.

Unfortunately, some Babel plugins may break this functionality. When this occurs, we gracefully fallback to the old serial strategy.

To have the build fail when failing to do parallel builds, opt-in is via:

let app = new EmberAddon(defaults, {
  'ember-cli-babel': {
    throwUnlessParallelizable: true
  }
});

or via environment variable via

THROW_UNLESS_PARALLELIZABLE=1 ember serve

The ember-cli-build option is only specifying that your ember-cli-babel is parallelizable, not that all of them are.

The environment variable works by instructing all ember-cli-babel instances to put themselves in parallelize mode (or throw).

Note: Future versions will enable this flag by default.

Read more about broccoli parallel transpilation.

changelog

v8.2.0 (2023-10-10)

:rocket: Enhancement

  • #503 Support static class blocks when not using an explicit babel config file. (@NullVoxPopuli)

Committers: 1

v8.1.0 (2023-09-26)

:rocket: Enhancement

Committers: 1

v8.0.1 (2023-09-26)

:bug: Bug Fix

:house: Internal

Committers: 2

v8.0.0 (2023-08-18)

:boom: Breaking Change

:rocket: Enhancement

:memo: Documentation

  • #467 Clarify how to set enableTypeScriptTransform in Ember apps, addons and engines (@ijlee2)

:house: Internal

  • #450 Remove workaround for @babel/helper-compilation-functions bug that was fixed upstream (@HeroicEric)

Committers: 3

v8.0.0-beta.0 (2023-01-24)

:boom: Breaking Change

:rocket: Enhancement

  • #454 Drop support for Node < v14 and add support for Node v16 and v18 (@bertdeblock)

:bug: Bug Fix

  • #452 Move @babel/core to peerDependencies to resolve peer dependency warnings and errors (@NullVoxPopuli)

:memo: Documentation

Committers: 4

v7.26.11 (2021-12-22)

:bug: Bug Fix

Committers: 1

v7.26.10 (2021-12-17)

:bug: Bug Fix

Committers: 1

v7.26.9 (2021-12-16)

:bug: Bug Fix

:house: Internal

  • #427 Only run acceptance tests against modern Node (@rwjblue)

Committers: 2

v7.26.8 (2021-12-16)

:bug: Bug Fix

  • ea752c41 Revert: Properly handle class properties proposal

Committers: 2

v7.26.7 (2021-12-15)

:bug: Bug Fix

Committers: 2

v7.26.6 (2021-05-18)

:bug: Bug Fix

  • #407 Fix combination usages of compileModules along with other flags. (@rwjblue)

Committers: 1

v7.26.5 (2021-05-06)

:bug: Bug Fix

  • #402 Fix compatibility with Ember 3.27+ when using compileModules: false. (@rwjblue)

Committers: 1

v7.26.4 (2021-04-28)

:bug: Bug Fix

  • #394 Include addon name directory in 'treeForAddon' (mitigate issues with Embroider when using external helpers) (@charlespierce)
  • #400 Update _shouldHandleTypeScript to read from pkg.dependencies instead of relying on addons (@brendenpalmer)

Committers: 2

v7.26.3 (2021-03-26)

:bug: Bug Fix

  • #396 fix modules-api version checker (@ef4)

Committers: 1

  • Edward Faulkner (@ef4)

v7.26.2 (2021-03-19)

:bug: Bug Fix

  • #393 Avoid global deprecation with @ember/debug on Ember 3.27+ (@rwjblue)

Committers: 1

v7.26.1 (2021-03-18)

:bug: Bug Fix

  • #392 Fix compatibility with ember-auto-import. (@rwjblue)
  • #391 Ensure getSupportedExtensions works when no config is provided. (@rwjblue)

Committers: 1

v7.26.0 (2021-03-18)

:rocket: Enhancement

  • #390 Refactor buildBabelOptions and introduce getSupportedExtensions. (@rwjblue)

:house: Internal

Committers: 2

v7.25.0 (2021-03-17)

:rocket: Enhancement

:bug: Bug Fix

Committers: 1

v7.24.0 (2021-02-16)

:bug: Bug Fix

:memo: Documentation

Committers: 2

v7.23.1 (2021-01-19)

:bug: Bug Fix

  • #378 Ensure decorators are transpiled properly when the decorator identifier is aliased within the decorated method (@rwjblue)
  • #368 fix: avoid assuming host app has ember-cli-babel installed (@alexlafroscia)
  • #377 Avoid repeatedly checking the ember-cli version (@rwjblue)
  • #376 Ensure babel.config.js is not used without useBabelConfig option (@rwjblue)

Committers: 2

v7.24.0-beta.1 (2021-01-19)

:rocket: Enhancement

Committers: 1

v7.23.1 (2021-01-19)

:bug: Bug Fix

  • #378 Ensure decorators are transpiled properly when the decorator identifier is aliased within the decorated method (@rwjblue)
  • #377 Avoid repeatedly checking the ember-cli version (@rwjblue)
  • #376 Ensure babel.config.js is not used without useBabelConfig option (@rwjblue)

Committers: 1

v7.23.0 (2020-10-15)

:rocket: Enhancement

Committers: 1

  • Robert Jackson (@rwjblue)

  • Fix issues with destroy from @ember/destroyable. (8012224)

v7.22.0 (2020-07-31)

:rocket: Enhancement

  • #359 Add @ember/destroyable support (via babel-plugin-ember-modules-api-polyfill) (@rwjblue)
  • #358 Update babel related dependencies (for Babel 7.11.0). (@rwjblue)

:house: Internal

  • #357 Update babel-plugin-ember-modules-api-polyfill from 2.13.4 to 3.0.0 (@mydea)

Committers: 2

v7.21.0 (2020-06-12)

:rocket: Enhancement

:memo: Documentation

Committers: 1

v7.20.5 (2020-06-02)

:bug: Bug Fix

  • #348 Ensure Ember modules API related globals do not share AST Nodes (@rwjblue)

:house: Internal

Committers: 1

v7.20.4 (2020-05-30)

:bug: Bug Fix

  • #345 Prevent regeneratorRuntime is not defined errors by defensively copying targets (preventing @babel/helper-compilation-targets from mutating targets) (@fivetanley)

:house: Internal

Committers: 2

v7.20.3 (2020-05-29)

:bug: Bug Fix

  • #343 Fix type casting and type assertion with Ember modules APIs (@rwjblue)

Committers: 1

v7.20.2 (2020-05-29)

:bug: Bug Fix

  • #340 Update modules API polyfill to avoid TypeScript related errors. (@rwjblue)

Committers: 1

v7.20.1 (2020-05-29)

:bug: Bug Fix

  • #338 Update babel-plugin-ember-modules-api-polyfill to fix issues with invalid identifiers. (@rwjblue)

Committers: 1

v7.20.0 (2020-05-19)

:rocket: Enhancement

  • #337 Add support for @glimmer/tracking/primitives/cache on supported Ember versions. (@rwjblue)

Committers: 1

v7.19.0 (2020-03-29)

:rocket: Enhancement

Committers: 1

v7.18.0 (2020-02-13)

:rocket: Enhancement

Committers: 1

v7.17.2 (2020-02-06)

:bug: Bug Fix

  • #325 Ensure ember-data modules polyfill does not apply to any @ember-data packages. (@runspired)

Committers: 1

v7.17.1 (2020-02-05)

:bug: Bug Fix

  • #324 Ensure ember-data modules polyfill does not apply to ember-data itself. (@runspired)

Committers: 1

v7.17.0 (2020-02-05)

:rocket: Enhancement

  • #314 Provide TypeScript compilation support when using ember-cli-typescript@4 or higher. (@jamescdavis)

Committers: 2

v7.16.0 (2020-02-05)

:rocket: Enhancement

Committers: 1

v7.15.0 (2020-02-05)

:rocket: Enhancement

  • #318 Add polyfill that allows apps and addons to use @ember-data related packages regardless of ember-data version (@runspired)

Committers: 1

v7.14.1 (2020-01-30)

:bug: Bug Fix

Committers: 1

v7.14.0 (2020-01-30)

:rocket: Enhancement

  • #318 Add polyfill that allows apps and addons to use @ember-data related packages regardless of ember-data version (@runspired)
  • #320 Update Babel to v7.8.3 (@Turbo87)
  • #315 Update Babel dependencies to latest and fix CI. (@rwjblue)

:house: Internal

  • #313 Replace deprecated ember-cli-qunit with ember-qunit (@dmzza)

Committers: 4

v7.13.2 (2019-12-12)

:bug: Bug Fix

  • eeed4fa8 Revert changes from #311 to avoid errors RE: Unable to satisfy placement constraints for @babel/plugin-proposal-decorators (@rwjblue)

Committers: 1

v7.13.1 (2019-12-12)

:bug: Bug Fix

  • #311 Include decorator and class field plugins after TypeScript, if present (@dfreeman)

:memo: Documentation

Committers: 2

  • Cyrille David (@dcyriller)
  • Dan Freeman (@dfreeman)

  • Fixup yarn.lock (3343ca7)

  • [BUGFIX] Make loose mode in class properties transform respect B… (#307) (b750535)
  • update to yarn in appveyor (42997b1)
  • pin engine.io (f9ccaa3)
  • Update async generator tests (b31980e)
  • [BUGFIX] Make loose mode in class properties transform respect Babel settings (31a7586)

v7.12.0 (2019-09-27)

:rocket: Enhancement

Committers: 1

v7.11.1

  • Update minimum broccoli-babel-transpiler version to 7.3.0. (#301) (75c58d0)
  • Update minimum broccoli-babel-transpiler version to 7.3.0. (1f09dff)

v7.11.0 (2019-08-28)

:rocket: Enhancement

  • #300 Add support for dependentKeyCompat from @ember/object/compat. (@rwjblue)

Committers: 1

v7.10.0 (2019-08-16)

:rocket: Enhancement

  • #297 Update Ember modules API polyfill for modifier manager capabilities. (@rwjblue)

Committers: 1

v7.9.0 (2019-08-12)

:rocket: Enhancement

  • #295 Update modules API for colocation support (emberjs/rfcs#481). (@rwjblue)

Committers: 3

v7.8.0 (2019-06-17)

:rocket: Enhancement

  • #286 Ensure @ember/application/deprecations is stripped in addition to @ember/debug. (@bekzod)
  • #277 Update modules-api-polyfill package to latest (@jordpo)

:memo: Documentation

:house: Internal

Committers: 4

v7.7.3 (2019-03-28)

:bug: Bug Fix

Committers: 1

v7.7.2 (2019-03-28)

:bug: Bug Fix

  • #276 Ensure class properties/decorator plugins are added in correct order (@pzuraq)

Committers: 1

v7.7.1 (2019-03-28)

:bug: Bug Fix

  • #275 Avoid interop issues with babel-plugin-filter-imports RE: decorators syntax (@pzuraq)

Committers: 1

v7.7.0 (2019-03-27)

:rocket: Enhancement

  • #274 [FEAT] Decorator and Class Field Support (@pzuraq)

Committers: 2

v7.6.0 (2019-03-14)

:rocket: Enhancement

  • #272 Update babel-plugin-ember-modules-api-polyfill to add @action (@rwjblue)

:memo: Documentation

Committers: 2

v7.5.0 (2019-02-22)

:rocket: Enhancement

  • #270 Update Ember modules API to include @glimmer/tracked. (@rwjblue)

Committers: 1

v7.4.3 (2019-02-19)

:bug: Bug Fix

:house: Internal

Committers: 2

v7.4.2 (2019-02-12)

:bug: Bug Fix

Committers: 1

v7.4.1 (2019-01-29)

:bug: Bug Fix

  • #264 Only blacklist jQuery module when parent depends on @ember/jquery itself (@rwjblue)

Committers: 1

v7.4.0 (2019-01-22)

:rocket: Enhancement

  • #261 Avoid transpiling jquery module to Ember.$ if @ember/jquery is present (@simonihmig)

Committers: 1

v7.3.0 (2019-01-22)

:rocket: Enhancement

  • #251 Add ability to deduplicate babel helpers. (@pzuraq)

:bug: Bug Fix

  • #260 Update @ember/string detection to work on itself (@locks)

Committers: 2

v7.2.0 (2018-12-12)

:rocket: Enhancement

  • #257 Update babel-plugin-ember-modules-api-polyfill to 2.6.0. (@rwjblue)

Committers: 1

v7.1.4 (2018-12-06)

:rocket: Enhancement

  • #256 Move baseDir definition into relative-module-paths module (@Turbo87)
  • #255 Update amd-name-resolver to v1.2.1 (@Turbo87)

:house: Internal

  • #254 TravisCI: Remove deprecated sudo: false option (@Turbo87)

Committers: 1

v7.1.3 (2018-11-01)

:rocket: Enhancement

Committers: 1

v7.1.2 (2018-09-14)

:rocket: Enhancement

Committers: 1

v7.1.1 (2018-09-12)

:rocket: Enhancement

:memo: Documentation

Committers: 2

v7.1.0 (2018-08-29)

:rocket: Enhancement

Committers: 1

v7.0.0 (2018-08-28)

:boom: Breaking Change

  • #140 Update to use Babel 7 (@rwjblue)
    • Drops support for Node 4.
    • Migrates to @babel scoped packages.
    • Drops support for ember-cli versions prior to 2.13.

:rocket: Enhancement

Committers: 2

v6.18.0 (2018-12-12)

:rocket: Enhancement

  • #257 Update babel-plugin-ember-modules-api-polyfill to 2.6.0. (@rwjblue)

Committers: 1

v6.17.2 (2018-09-14)

:rocket: Enhancement

Committers: 1

v6.17.0 (2018-08-27)

:bug: Bug Fix

  • #241 Bumping broccoli-babel-transpiler to get the fix for parallelAPI (@arthirm)

Committers: 1

v6.16.0 (2018-07-18)

:rocket: Enhancement

Committers: 1

v6.15.0 (2018-07-17)

:rocket: Enhancement

:memo: Documentation

Committers: 2

v6.14.1 (2018-05-26)

:bug: Bug Fix

Committers: 1

v6.14.0 (2018-05-25)

:rocket: Enhancement

Committers: 1

v6.13.0 (2018-05-25)

:boom: Breaking Change

  • #223 Drop Node 4 support; Avoid eagerly requiring plugins and presets. (@mikrostew)

:rocket: Enhancement

:house: Internal

Committers: 4

v6.12.0 (2018-02-27)

:rocket: Enhancement

:house: Internal

Committers: 2

v6.11.0 (2017-12-15)

:rocket: Enhancement

  • #197 Update babel-plugin-ember-modules-api-polyfill to 2.3.0.. (@rwjblue)

:memo: Documentation

Committers: 2

v6.10.0 (2017-11-20)

:rocket: Enhancement

  • #193 Allow configuration to opt-out of babel-preset-env.. (@rwjblue)

Committers: 1

  • Robert Jackson (rwjblue) -

    v6.9.2 (2017-11-16)

:bug: Bug Fix

  • #192 Project.prototype.emberCLIVersion is a function.. (@rwjblue)

Committers: 1

v6.9.1 (2017-11-16)

:bug: Bug Fix

Committers: 1

v6.9.0 (2017-11-08)

:rocket: Enhancement

  • #176 Blacklists @ember/string if dependency is present. (@locks)

:memo: Documentation

Committers: 3

v6.8.2 (2017-08-30)

:bug: Bug Fix

  • #180 Update "babel-plugin-ember-modules-api-polyfill" to v2.0.1. (@Turbo87)

Committers: 1

v6.8.0 (2017-08-15)

:bug: Bug Fix

  • #177 Update minimum version of babel-plugin-ember-modules-api-polyfill.. (@rwjblue)

Committers: 1

v6.7.2 (2017-08-07)

:rocket: Enhancement

  • #175 Update amd-name-resolver version to enable parallel babel transpile. (@mikrostew)

:house: Internal

Committers: 2

v6.7.1 (2017-08-02)

:house: Internal

  • #174 update broccoli-babel-transpiler dependency to 6.1.2. (@mikrostew)

Committers: 1

v6.7.0 (2017-08-02)

:rocket: Enhancement

  • #172 Update "broccoli-babel-transpiler" to v6.1.1. (@Turbo87)

:memo: Documentation

:house: Internal

Committers: 4

v6.6.0 (2017-07-06)

:bug: Bug Fix

  • #161 Avoid conflicting transforms for @ember/debug.. (@rwjblue)

Committers: 1

v6.5.0 (2017-07-03)

:rocket: Enhancement

:house: Internal

Committers: 2

v6.4.2 (2017-07-02)

:rocket: Enhancement

:memo: Documentation

Committers: 2

v6.4.1 (2017-06-01)

:rocket: Enhancement

Committers: 1

v6.4.0 (2017-06-01)

:house: Internal

Committers: 2

v6.2.0 (2017-05-31)

:rocket: Enhancement

:memo: Documentation

:house: Internal

Committers: 3

v6.1.0 (2017-04-28)

:rocket: Enhancement

Committers: 1

v6.0.0 (2017-04-22)

:boom: Breaking Change

:rocket: Enhancement

:bug: Bug Fix

  • #132 Remove debugging console.log statement in index.js. (@pgrippi)
  • #125 Fix clobbering behavior with babel vs babel6 config.. (@rwjblue)
  • #123 Only pass provided options to babel-preset-env.. (@rwjblue)
  • #122 Properly forward the browsers targets to ember-preset-env. (@kanongil)
  • #117 Fix issues with isPluginRequired.. (@rwjblue)

:memo: Documentation

:house: Internal

  • #124 Add basic sanity test to confirm babel-preset-env is working.. (@rwjblue)
  • #116 Remove temporary fork after babel release. (@cibernox)

Committers: 7

v6.0.0-beta.11 (2017-04-20)

:bug: Bug Fix

  • #132 Remove debugging console.log statement in index.js. (@pgrippi)

Committers: 1

v6.0.0-beta.10 (2017-04-19)

:rocket: Enhancement

:memo: Documentation

Committers: 2

v6.0.0-beta.9 (2017-03-22)

:rocket: Enhancement

  • #126 Expose a public mechanism to transpile a tree.. (@rwjblue)

Committers: 1

v6.0.0-beta.8 (2017-03-21)

:bug: Bug Fix

  • #125 Fix clobbering behavior with babel vs babel6 config.. (@rwjblue)

Committers: 1

v6.0.0-beta.7 (2017-03-21)

:bug: Bug Fix

  • #123 Only pass provided options to babel-preset-env.. (@rwjblue)
  • #122 Properly forward the browsers targets to ember-preset-env. (@kanongil)

:house: Internal

  • #124 Add basic sanity test to confirm babel-preset-env is working.. (@rwjblue)

Committers: 2

v6.0.0-beta.6 (2017-03-20)

:rocket: Enhancement

  • #121 Allow babel options to be passed through to babel-preset-env.. (@rwjblue)

Committers: 1

v6.0.0-beta.5 (2017-03-15)

:rocket: Enhancement

  • #120 Expose postTransformPlugins to be positioned after preset-env plugins.. (@rwjblue)

:bug: Bug Fix

:memo: Documentation

Committers: 2

v6.0.0-beta.3 (2017-03-13)

:boom: Breaking Change

:rocket: Enhancement

:house: Internal

Committers: 2

v6.0.0-beta.1 (2017-04-20)

:rocket: Enhancement

:bug: Bug Fix

  • #132 Remove debugging console.log statement in index.js. (@pgrippi)

:memo: Documentation

Committers: 3

v6.0.0-alpha.1 (2017-03-06)

:memo: Documentation

Committers: 1

v5.2.4 (2017-02-09)

:bug: Bug Fix

Committers: 1

v5.2.3 (2017-02-06)

:house: Internal

  • #110 Update minimum version of broccoli-babel-transpiler.. (@rwjblue)

Committers: 1

v5.2.2 (2017-02-04)

:memo: Documentation

:house: Internal

Committers: 2

v5.2.1 (2016-12-07)

:bug: Bug Fix

  • #106 Fix feature detection bug for setupPreprocessorRegistry.. (@rwjblue)

Committers: 1

v5.2.0 (2016-12-07)

:rocket: Enhancement

:house: Internal

Committers: 4

v5.1.10 (2016-08-15)

:rocket: Enhancement

Committers: 1

v5.1.9 (2016-08-12)

:rocket: Enhancement

:bug: Bug Fix

  • #88 Prevent errors with console options under older ember-cli's.. (@rwjblue)
  • #77 Pin jQuery to v1.11.3 to fix builds. (@Turbo87)

:house: Internal

Committers: 8

v5.1.5 (2015-08-25)

:rocket: Enhancement

  • #51 Using broccoli-babel-transpiler latest version. (@msranade)

Committers: 3

v5.1.1 (2016-08-15)

:rocket: Enhancement

Committers: 1