Deprecations Added in Ember CLI 4.x

What follows is a list of deprecations introduced to Ember CLI during the 4.x cycle.

For more information on deprecations in Ember CLI, see the main deprecations page.

Deprecations Added in 4.3.0

§ Blueprint::addBowerPackageToProject

until: 5.0.0
id: ember-cli.blueprint.add-bower-package-to-project

addBowerPackageToProject has been deprecated. If the package is also available on the npm registry, please use addPackageToProject instead. If not, please suggest your users to install the Bower package manually by running:

bower install <package-name> --save

§ Blueprint::addBowerPackagesToProject

until: 5.0.0
id: ember-cli.blueprint.add-bower-packages-to-project

addBowerPackagesToProject has been deprecated. If the packages are also available on the npm registry, please use addPackagesToProject instead. If not, please suggest your users to install the Bower packages manually by running:

bower install <package-name> <package-name> --save

§ Building Bower Packages

until: 5.0.0
id: ember-cli.building-bower-packages

Building Bower packages has been deprecated.

Please consider one of the following alternatives:

  1. Install the package via the npm registry and use ember-auto-import to import the package into your project
  2. If alternative 1 is not an option, you could copy the contents of the Bower package into the /vendor folder and use app.import to import the package into your project

§ Project::bowerDependencies

until: 5.0.0
id: ember-cli.project.bower-dependencies

bowerDependencies has been deprecated. If you still need access to the project's Bower dependencies, you will have to manually resolve the project's bower.json file instead:

'use strict';

const fs = require('fs-extra');
const path = require('path');

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

  included() {
    this._super.included.apply(this, arguments);

    let bowerPath = path.join(this.project.root, 'bower.json');
    let bowerJson = fs.existsSync(bowerPath) ? require(bowerPath) : {};
    let bowerDependencies = {
      ...bowerJson.dependencies,
      ...bowerJson.devDependencies,
    };

    // Do something with `bowerDependencies`.
  },
};

§ Project::bowerDirectory

until: 5.0.0
id: ember-cli.project.bower-directory

bowerDirectory has been deprecated. If you still need access to the project's Bower directory, you will have to manually resolve the project's .bowerrc file and read the directory property instead:

'use strict';

const fs = require('fs-extra');
const path = require('path');

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

  included() {
    this._super.included.apply(this, arguments);

    let bowerConfigPath = path.join(this.project.root, '.bowerrc');
    let bowerConfigJson = fs.existsSync(bowerConfigPath) ? fs.readJsonSync(bowerConfigPath) : {};
    let bowerDirectory = bowerConfigJson.directory || 'bower_components';

    // Do something with `bowerDirectory`.
  },
};

Deprecations Added in 4.4.0

§ blacklist and whitelist build options

until: 5.0.0
id: ember-cli.blacklist-whitelist-build-options

Using the blacklist and whitelist build options has been deprecated. Please use exclude and include respectively instead.

// ember-cli-build.js

module.exports = function (defaults) {
  const app = new EmberApp(defaults, {
    addons: {
-     blacklist: ['addon-name'],
+     exclude: ['addon-name'],
    },
  };
};

Deprecations Added in 4.6.0

§ ember-cli-jshint support

until: 5.0.0
id: ember-cli.ember-cli-jshint-support

Support for ember-cli-jshint has been deprecated. Please use ESLint directly instead. Please refer to the default app blueprint on how to set up ESLint in an Ember app:

§ vendor-shim blueprint

until: 5.0.0
id: ember-cli.vendor-shim-blueprint

The vendor-shim blueprint has been deprecated. Please use ember-auto-import instead to import normal npm packages.