{"id":16993,"library":"ember-cli-deploy","title":"Ember CLI Deploy","description":"Ember CLI Deploy provides a flexible, plugin-based deployment pipeline specifically designed for Ember CLI applications. It integrates directly with the Ember CLI ecosystem, allowing developers to define complex deployment strategies through a configuration-driven approach. The current stable version is 2.0.0. While not following a strict time-based release cadence, it sees regular updates for bug fixes and new features, with major versions introducing significant changes like Node.js version compatibility shifts or configuration overhauls. Its key differentiator is its deep integration with Ember CLI projects and its extensible plugin architecture, which enables deployment to various targets (e.g., S3, FastBoot, gh-pages) with custom hooks and asset handling, making it a tailored solution for Ember applications rather than a general-purpose deployment tool.","status":"active","version":"2.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/ember-cli-deploy/ember-cli-deploy","tags":["javascript","ember-addon","ember-cli-deploy"],"install":[{"cmd":"npm install ember-cli-deploy","lang":"bash","label":"npm"},{"cmd":"yarn add ember-cli-deploy","lang":"bash","label":"yarn"},{"cmd":"pnpm add ember-cli-deploy","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"As an Ember CLI addon, it must be installed using `ember install` to properly execute blueprints and set up project-level configurations.","wrong":"npm install ember-cli-deploy","symbol":"Installation","correct":"ember install ember-cli-deploy"},{"note":"The primary interaction is via the `ember` CLI command, exposing `deploy` as a subcommand. Additional options like `--environment` can be appended.","wrong":"node_modules/.bin/ember-cli-deploy","symbol":"Deployment Command","correct":"ember deploy"},{"note":"Configuration is typically defined in `config/deploy.js`. It should export a function that returns the configuration object, often based on the deployment `environment`.","wrong":"const config = { /* ... */ };","symbol":"Configuration File Export","correct":"module.exports = function(environment) { return { /* ... */ }; };"}],"quickstart":{"code":"import { execSync } from 'node:child_process';\nimport { writeFileSync } from 'node:fs';\nimport { resolve } from 'node:path';\n\n// 1. Install ember-cli-deploy (usually done in your Ember CLI project)\nconsole.log('Installing ember-cli-deploy...');\nexecSync('ember install ember-cli-deploy', { stdio: 'inherit' });\n\n// 2. Install a common deployment plugin (e.g., ember-cli-deploy-build)\nconsole.log('Installing ember-cli-deploy-build...');\nexecSync('ember install ember-cli-deploy-build', { stdio: 'inherit' });\n\n// 3. Create a basic deploy configuration file (config/deploy.js)\nconst deployConfigFileContent = `\nmodule.exports = function(environment) {\n  let ENV = {\n    build: {\n      environment: environment\n    },\n    // Add other plugins and their configurations here\n    // For example, for S3 deployment:\n    // s3: {\n    //   accessKeyId: process.env.AWS_ACCESS_KEY_ID ?? '',\n    //   secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY ?? '',\n    //   bucket: 'my-ember-app-bucket',\n    //   region: 'us-east-1'\n    // }\n  };\n\n  return ENV;\n};\n`;\n\nconst configPath = resolve(process.cwd(), 'config', 'deploy.js');\nwriteFileSync(configPath, deployConfigFileContent);\nconsole.log(`Created dummy config/deploy.js at ${configPath}`);\n\n// 4. Run the deploy command (requires an actual Ember CLI project context)\nconsole.log('To deploy, navigate to your Ember CLI project and run:');\nconsole.log('  ember deploy --environment=production');\nconsole.log('Make sure you have appropriate plugins installed and configured.');","lang":"javascript","description":"This quickstart demonstrates how to install `ember-cli-deploy` and a basic build plugin, sets up a minimal `config/deploy.js` file, and shows the primary command for initiating a deployment within an Ember CLI project context."},"warnings":[{"fix":"Upgrade your Node.js environment to version 14.*, 16.*, or newer as specified in the package engines. Ensure your CI/CD pipelines also reflect this change.","message":"Version 2.0.0 of `ember-cli-deploy` officially dropped support for Node.js 12. Projects using Node.js 12 will encounter errors or unexpected behavior.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Remove the old `plugins` configuration and adopt the new strategy using properties like `disabled: { pluginName: true }` or `disable: { allExcept: [...] }` directly within your `config/deploy.js` for each plugin. Refer to the official v1.0.x documentation for details.","message":"The `plugins` config option was deprecated in v1.0.0-beta.1 and completely replaced in v1.0.0 with a new, more flexible approach for defining plugin ordering, disabling, and aliasing.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Upgrade to `ember-cli-deploy` version 2.0.0 or later to ensure correct handling of scoped deployment plugins.","message":"Plugin name extraction for scoped npm packages (e.g., `@scope/ember-cli-deploy-plugin`) was bugged in versions prior to v2.0.0, potentially causing issues with plugin discovery or usage.","severity":"gotcha","affected_versions":"<2.0.0"}],"env_vars":null,"last_verified":"2026-04-22T00:00:00.000Z","next_check":"2026-07-21T00:00:00.000Z","problems":[{"fix":"Refactor your `config/deploy.js` to use the new plugin configuration syntax, specifying `disabled` or `disable` options directly within each plugin's configuration block.","cause":"Using the deprecated `plugins` array in `config/deploy.js` after upgrading to `ember-cli-deploy` v1.0.0 or later.","error":"Error: The `plugins` config option has been removed. Please see the v1.0.0 release notes for the new way to configure plugins."},{"fix":"Update your Node.js installation to version 14.*, 16.*, or any newer supported LTS release. Confirm your `package.json` engines field also reflects compatible versions.","cause":"Attempting to run `ember-cli-deploy` v2.0.0 or later with a Node.js 12 environment.","error":"Error: Node.js v12.x is no longer supported by ember-cli-deploy."},{"fix":"Ensure you are in an Ember CLI project directory and run `ember install ember-cli-deploy`. If already installed, try `rm -rf node_modules yarn.lock package-lock.json && npm install` (or `yarn install`) to rebuild dependencies.","cause":"Either `ember-cli-deploy` was not installed or it was installed incorrectly (e.g., via `npm install` instead of `ember install`).","error":"Error: Command `ember deploy` not found."},{"fix":"Upgrade `ember-cli-deploy` to at least version `0.6.4` to include fixes for `CoreObject` deprecations and compatibility with newer Ember CLI internals.","cause":"An older version of `ember-cli-deploy` or its dependencies had compatibility issues with newer Ember/Ember CLI versions regarding `CoreObject` initialization.","error":"Error: Cannot read properties of undefined (reading 'init') related to CoreObject."}],"ecosystem":"npm","meta_description":null}