{
  "_args": [
    [
      {
        "raw": "ember-cli-babel@^6.6.0",
        "scope": null,
        "escapedName": "ember-cli-babel",
        "name": "ember-cli-babel",
        "rawSpec": "^6.6.0",
        "spec": ">=6.6.0 <7.0.0",
        "type": "range"
      },
      "/home/travis/build/lukesargeant/ember-sparkline"
    ]
  ],
  "_from": "ember-cli-babel@>=6.6.0 <7.0.0",
  "_id": "ember-cli-babel@6.10.0",
  "_inCache": true,
  "_location": "/ember-cli-babel",
  "_nodeVersion": "8.6.0",
  "_npmOperationalInternal": {
    "host": "s3://npm-registry-packages",
    "tmp": "tmp/ember-cli-babel-6.10.0.tgz_1511217270925_0.8090201718732715"
  },
  "_npmUser": {
    "name": "rwjblue",
    "email": "me@rwjblue.com"
  },
  "_npmVersion": "5.5.1",
  "_phantomChildren": {},
  "_requested": {
    "raw": "ember-cli-babel@^6.6.0",
    "scope": null,
    "escapedName": "ember-cli-babel",
    "name": "ember-cli-babel",
    "rawSpec": "^6.6.0",
    "spec": ">=6.6.0 <7.0.0",
    "type": "range"
  },
  "_requiredBy": [
    "/",
    "/@ember/test-helpers",
    "/ember-ajax",
    "/ember-cli-qunit",
    "/ember-cli-test-loader",
    "/ember-export-application-global",
    "/ember-load-initializers",
    "/ember-qunit",
    "/ember-resolver"
  ],
  "_resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.10.0.tgz",
  "_shasum": "81424acd1d97fb13658168121eeb2007d6edee84",
  "_shrinkwrap": null,
  "_spec": "ember-cli-babel@^6.6.0",
  "_where": "/home/travis/build/lukesargeant/ember-sparkline",
  "author": {
    "name": "Gordon Kristan"
  },
  "bugs": {
    "url": "https://github.com/babel/ember-cli-babel/issues"
  },
  "changelog": {
    "repo": "babel/ember-cli-babel",
    "labels": {
      "breaking": ":boom: Breaking Change",
      "enhancement": ":rocket: Enhancement",
      "bug": ":bug: Bug Fix",
      "documentation": ":memo: Documentation",
      "internal": ":house: Internal"
    }
  },
  "dependencies": {
    "amd-name-resolver": "0.0.7",
    "babel-plugin-debug-macros": "^0.1.11",
    "babel-plugin-ember-modules-api-polyfill": "^2.0.1",
    "babel-plugin-transform-es2015-modules-amd": "^6.24.0",
    "babel-polyfill": "^6.16.0",
    "babel-preset-env": "^1.5.1",
    "broccoli-babel-transpiler": "^6.1.2",
    "broccoli-debug": "^0.6.2",
    "broccoli-funnel": "^1.0.0",
    "broccoli-source": "^1.1.0",
    "clone": "^2.0.0",
    "ember-cli-version-checker": "^2.1.0",
    "semver": "^5.4.1"
  },
  "description": "Ember CLI addon for Babel",
  "devDependencies": {
    "broccoli-test-helper": "^1.1.0",
    "chai": "^3.5.0",
    "co": "^4.6.0",
    "common-tags": "^1.4.0",
    "console-ui": "^1.0.2",
    "core-object": "^3.1.3",
    "ember-cli": "~2.14.0",
    "ember-cli-dependency-checker": "^2.0.0",
    "ember-cli-eslint": "^3.0.0",
    "ember-cli-htmlbars": "^2.0.1",
    "ember-cli-htmlbars-inline-precompile": "^0.4.3",
    "ember-cli-inject-live-reload": "^1.4.1",
    "ember-cli-qunit": "^4.0.0",
    "ember-cli-shims": "^1.1.0",
    "ember-load-initializers": "^1.0.0",
    "ember-resolver": "^4.0.0",
    "ember-source": "~2.14.0",
    "lerna-changelog": "^0.7.0",
    "loader.js": "^4.4.0",
    "mocha": "^3.4.1",
    "resolve": "^1.3.3"
  },
  "directories": {
    "doc": "doc",
    "test": "tests"
  },
  "dist": {
    "integrity": "sha512-MbgXmePweFzjkpN0l2eYFIU6XKfEKCaAx4Xk9wdL3vsPAvAm4N0DXnz4pOQ3OLezhl0bJJvutD3uLQ7Eo3sSTA==",
    "shasum": "81424acd1d97fb13658168121eeb2007d6edee84",
    "tarball": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.10.0.tgz"
  },
  "ember-addon": {
    "configPath": "tests/dummy/config"
  },
  "engines": {
    "node": "^4.5 || 6.* || >= 7.*"
  },
  "files": [
    "index.js"
  ],
  "gitHead": "94415d7db21fbd92f259e7eac33782e60407b3ff",
  "homepage": "https://github.com/babel/ember-cli-babel#readme",
  "keywords": [
    "ember-addon",
    "babel",
    "ember",
    "ember-cli",
    "transpile",
    "transpiler"
  ],
  "license": "MIT",
  "maintainers": [
    {
      "name": "ember-cli",
      "email": "stefan.penner+ember-cli@gmail.com"
    },
    {
      "name": "turbo87",
      "email": "tobias.bieniek@gmx.de"
    },
    {
      "name": "stefanpenner",
      "email": "stefan.penner@gmail.com"
    },
    {
      "name": "rwjblue",
      "email": "me@rwjblue.com"
    }
  ],
  "name": "ember-cli-babel",
  "optionalDependencies": {},
  "readme": "# ember-cli-babel\n\n[![Build Status](https://travis-ci.org/babel/ember-cli-babel.svg?branch=master)](https://travis-ci.org/babel/ember-cli-babel)\n[![Build status](https://ci.appveyor.com/api/projects/status/2a6pspve1wrwwyj5/branch/master?svg=true)](https://ci.appveyor.com/project/embercli/ember-cli-babel/branch/master)\n\n\nThis Ember-CLI plugin uses [Babel](https://babeljs.io/) and [babel-preset-env](https://github.com/babel/babel-preset-env) to allow you to use ES6 syntax with your Ember CLI project.\n\n## Installation\n\n```\nember install ember-cli-babel\n```\n\n## Usage\n\nThis plugin should work without any configuration after installing. By default it will take every `.js` file\nin your project and run it through the Babel transpiler to convert your ES6 code to code supported by your\ntarget browsers (as specified in `config/targets.js` in ember-cli >= 2.13). Running non-ES6 code\nthrough the transpiler shouldn't change the code at all (likely just a format change if it does).\n\nIf you need to customize the way that `babel-preset-env` configures the plugins that transform your code,\nyou can do it by passing in any of the options found [here](https://github.com/babel/babel/tree/master/experimental/babel-preset-env#options).\n*Note: `.babelrc` files are ignored by default.*\n\nExample (configuring babel directly):\n\n```js\n// ember-cli-build.js\n\nvar app = new EmberApp({\n  babel: {\n    // enable \"loose\" mode\n    loose: true,\n    // don't transpile generator functions\n    exclude: [\n      'transform-regenerator',\n    ],\n    plugins: [\n      'transform-object-rest-spread'\n    ]\n  }\n});\n```\n\nExample (configuring ember-cli-babel itself):\n\n```js\n// ember-cli-build.js\n\nvar app = new EmberApp({\n  'ember-cli-babel': {\n    compileModules: false\n  }\n});\n```\n\n### Options\n\nThere are a few different options that may be provided to ember-cli-babel. These options\nare typically set in an apps `ember-cli-build.js` file, or in an addon or engine's `index.js`.\n\n```ts\ntype BabelPlugin = string | [string, any] | [any, any];\n\ninterface EmberCLIBabelConfig {\n  /**\n    Configuration options for babel-preset-env.\n    See https://github.com/babel/babel-preset-env#options for details on these options.\n  */\n  babel?: {\n    spec?: boolean;\n    loose?: boolean;\n    debug?: boolean;\n    include?: string[];\n    exclude?: string[];\n    useBuiltIns?: boolean;\n    sourceMaps?: boolean | \"inline\" | \"both\";\n    plugins?: BabelPlugin[];\n  };\n\n  /**\n    Configuration options for ember-cli-babel itself.\n  */\n  'ember-cli-babel'?: {\n    includePolyfill?: boolean;\n    compileModules?: boolean;\n    disableDebugTooling?: boolean;\n    disablePresetEnv?: boolean;\n    disableEmberModulesAPIPolyfill?: boolean;\n  };\n}\n```\n\nThe 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:\n\n```js\n// ember-cli-build.js\nvar app = new EmberApp(defaults, {\n  babel: {\n    plugins: ['transform-object-rest-spread']\n  }\n});\n```\n\nIn an engine:\n```js\n// index.js\nmodule.exports = EngineAddon.extend({\n  babel: {\n    plugins: ['transform-object-rest-spread']\n  }\n});\n```\n\nIn an addon:\n```js\n// index.js\nmodule.exports = {\n  options: {\n    babel: {\n      plugins: ['transform-object-rest-spread']\n    }\n  }\n};\n```\n\n#### Polyfill\n\nBabel comes with a polyfill that includes a custom [regenerator runtime](https://github.com/facebook/regenerator/blob/master/runtime.js)\nand [core-js](https://github.com/zloirock/core-js). Many transformations will work without it, but for full support you\nmay need to include the polyfill in your app.\n\nTo include it in your app, pass `includePolyfill: true` in your `ember-cli-babel` options.\n\n```js\n// ember-cli-build.js\n\nvar app = new EmberApp(defaults, {\n  'ember-cli-babel': {\n    includePolyfill: true\n  }\n});\n```\n\n#### Enabling Source Maps\n\nBabel 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.\n\nTo enable it, pass `sourceMaps: 'inline'` in your `babel` options.\n\n```js\n// ember-cli-build.js\n\nvar app = new EmberApp(defaults, {\n  babel: {\n    sourceMaps: 'inline'\n  }\n});\n```\n\n#### Modules\n\nOlder versions of Ember CLI (`< 2.12`) use its own ES6 module transpiler. Because of that, this plugin disables Babel\nmodule compilation by blacklisting that transform when running under affected ember-cli versions. If you find that you\nwant to use the Babel module transform instead of the Ember CLI one, you'll have to explicitly set `compileModules` to `true`\nin your configuration. If `compileModules` is anything other than `true`, this plugin will leave the module\nsyntax compilation up to Ember CLI.\n\n#### Disabling Debug Tooling Support\n\nIf for some reason you need to disable this debug tooling, you can opt-out via configuration.\n\nIn an app that would look like:\n\n```js\n// ember-cli-build.js\nmodule.exports = function(defaults) {\n  let app = new EmberApp(defaults, {\n    'ember-cli-babel': {\n      disableDebugTooling: true\n    }\n  });\n\n  return app.toTree();\n}\n```\n\n### Addon usage\n\n#### Adding Custom Plugins\n\nYou can add custom plugins to be used during transpilation of the `addon/` or `addon-test-support/`\ntrees by ensuring that your addon's `options.babel` is properly populated (as mentioned above in the\n`Options` section).\n\n#### Additional Trees\n\nFor addons which want additional customizations, they are able to interact with\nthis addon directly.\n\n```ts\ninterface EmberCLIBabel {\n  /**\n    Used to generate the options that will ultimately be passed to babel itself.\n  */\n  buildBabelOptions(config?: EmberCLIBabelConfig): Opaque;\n\n  /**\n    Supports easier transpilation of non-standard input paths (e.g. to transpile\n    a non-addon NPM dependency) while still leveraging the logic within\n    ember-cli-babel for transpiling (e.g. targets, preset-env config, etc).\n  */\n  transpileTree(inputTree: BroccoliTree, config?: EmberCLIBabelConfig): BroccoliTree;\n\n  /**\n    Used to determine if a given plugin is required by the current target configuration.\n    Does not take `includes` / `excludes` into account.\n\n    See https://github.com/babel/babel-preset-env/blob/master/data/plugins.json for the list\n    of known plugins.\n  */\n  isPluginRequired(pluginName: string): boolean;\n}\n```\n\n#### `buildBabelOptions` usage\n\n```js\n// find your babel addon (can use `this.findAddonByName('ember-cli-babel')` in ember-cli@2.14 and newer)\nlet babelAddon = this.addons.find(addon => addon.name === 'ember-cli-babel');\n\n// create the babel options to use elsewhere based on the config above\nlet options = babelAddon.buildBabelOptions(config)\n\n// now you can pass these options off to babel or broccoli-babel-transpiler\nrequire('babel-core').transform('something', options);\n```\n\n#### `transpileTree` usage\n\n```js\n// find your babel addon (can use `this.findAddonByName('ember-cli-babel')` in ember-cli@2.14 and newer)\nlet babelAddon = this.addons.find(addon => addon.name === 'ember-cli-babel');\n\n// invoke .transpileTree passing in the custom input tree\nlet transpiledCustomTree = babelAddon.transpileTree(someCustomTree);\n```\n\n### Debug Tooling\n\nIn order to allow apps and addons to easily provide good development mode ergonomics (assertions, deprecations, etc) but\nstill perform well in production mode ember-cli-babel automatically manages stripping / removing certain debug\nstatements. This concept was originally proposed in [ember-cli/rfcs#50](https://github.com/ember-cli/rfcs/pull/50),\nbut has been slightly modified during implementation (after researching what works well and what does not).\n\n#### Debug Macros\n\nTo add convienient deprecations and assertions, consumers (in either an app or an addon) can do the following:\n\n```js\nimport { deprecate, assert } from '@ember/debug';\n\nexport default Ember.Component.extend({\n  init() {\n    this._super(...arguments);\n    deprecate(\n      'Passing a string value or the `sauce` parameter is deprecated, please pass an instance of Sauce instead',\n      false,\n      { until: '1.0.0', id: 'some-addon-sauce' }\n    );\n    assert('You must provide sauce for x-awesome.', this.sauce);\n  }\n})\n```\n\nIn testing and development environments those statements will be executed (and assert or deprecate as appropriate), but\nin production builds they will be inert (and stripped during minification).\n\nThe following are named exports that are available from `@ember/debug`:\n\n* `function deprecate(message: string, predicate: boolean, options: any): void` - Results in calling `Ember.deprecate`.\n* `function assert(message: string, predicate: boolean): void` - Results in calling `Ember.assert`.\n* `function warn(message: string, predicate: boolean): void` - Results in calling `Ember.warn`.\n\n#### General Purpose Env Flags\n\nIn some cases you may have the need to do things in debug builds that isn't related to asserts/deprecations/etc. For\nexample, you may expose certain API's for debugging only. You can do that via the `DEBUG` environment flag:\n\n```js\nimport { DEBUG } from '@glimmer/env';\n\nconst Component = Ember.Component.extend();\n\nif (DEBUG) {\n  Component.reopen({\n    specialMethodForDebugging() {\n      // do things ;)\n    }\n  });\n}\n```\n\nIn testing and development environments `DEBUG` will be replaced by the boolean literal `true`, and in production builds it will be\nreplaced by `false`. When ran through a minifier (with dead code elimination) the entire section will be stripped.\n\nPlease note, that these general purpose environment related flags (e.g. `DEBUG` as a boolean flag) are imported from `@glimmer/env`\nnot from an `@ember` namespace.\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git://github.com/babel/ember-cli-babel.git"
  },
  "scripts": {
    "build": "ember build",
    "changelog": "lerna-changelog",
    "start": "ember server",
    "test": "mocha node-tests && ember test",
    "test:debug": "mocha debug node-tests",
    "test:node": "mocha node-tests"
  },
  "version": "6.10.0"
}
