{"id":14548,"library":"ember-cli-typescript","title":"Ember CLI TypeScript Integration","description":"ember-cli-typescript is an Ember CLI addon designed to integrate TypeScript into Ember applications and addons by facilitating TypeScript compilation and type checking. The package is currently in \"maintenance mode\" as of version 5.3.0, meaning it will no longer receive active development for new features unless critical updates are required. Its core functionality has largely been absorbed into `ember-cli-babel` for TypeScript transpilation and official Ember blueprints for `tsconfig.json` generation. Developers are now encouraged to configure TypeScript directly via `ember-cli-babel` options and `@tsconfig/ember` base configurations, aligning with the official Ember TypeScript guides. It primarily focuses on build-time integration rather than providing runtime utilities, and its release cadence has become infrequent due to its maintenance status.","status":"maintenance","version":"5.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/typed-ember/ember-cli-typescript","tags":["javascript","ember-addon","typescript"],"install":[{"cmd":"npm install ember-cli-typescript","lang":"bash","label":"npm"},{"cmd":"yarn add ember-cli-typescript","lang":"bash","label":"yarn"},{"cmd":"pnpm add ember-cli-typescript","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required for transpiling TypeScript files into JavaScript within the Ember build pipeline. Since v4.0.0, ember-cli-typescript delegates Babel configuration to ember-cli-babel directly.","package":"ember-cli-babel","optional":false},{"reason":"Essential for providing type definitions for Ember APIs, enabling type checking and IDE support in any Ember project using TypeScript. This is a critical peer dependency for the TypeScript development experience, though not a direct runtime dependency of ember-cli-typescript itself.","package":"@types/ember","optional":false},{"reason":"Provides a recommended base tsconfig.json for Ember projects, simplifying TypeScript setup and configuration.","package":"@tsconfig/ember","optional":false}],"imports":[],"quickstart":{"code":"import EmberApp from 'ember-cli/lib/broccoli/ember-app';\n\nmodule.exports = function(defaults) {\n  let app = new EmberApp(defaults, {\n    // This configuration enables TypeScript transpilation via ember-cli-babel,\n    // which is the current recommended approach instead of relying on ember-cli-typescript.\n    'ember-cli-babel': {\n      enableTypeScriptTransform: true\n    },\n    // ... other build options ...\n  });\n\n  // To ensure proper type checking and IDE support, also install the necessary types:\n  // npm install --save-dev typescript @tsconfig/ember @types/ember @types/qunit @types/rsvp\n  // And set up your tsconfig.json to extend @tsconfig/ember/tsconfig.json\n\n  return app.toTree();\n};\n","lang":"javascript","description":"This quickstart demonstrates how to enable TypeScript transpilation in an Ember application's `ember-cli-build.js` using `ember-cli-babel` directly, reflecting the currently recommended setup after `ember-cli-typescript` entered maintenance mode. It also highlights the necessary type installations."},"warnings":[{"fix":"For new projects or when upgrading, configure TypeScript directly via `ember-cli-babel` (setting `enableTypeScriptTransform: true`) and use `@tsconfig/ember` for your `tsconfig.json`. Consider migrating existing projects off `ember-cli-typescript` if possible, though it may continue to function for older setups.","message":"`ember-cli-typescript` is in \"MAINTENANCE MODE\" and its functionality is largely superseded by direct `ember-cli-babel` configuration and official Ember TypeScript blueprints. It is no longer actively developed for new features.","severity":"deprecated","affected_versions":">=5.3.0"},{"fix":"Upgrade your Node.js environment to LTS v14 or newer.","message":"As of v5.3.0, Node.js v12 is no longer supported, requiring Node.js v14 or higher. Previous versions had varying Node.js requirements, with v5.0.0 also dropping support for older Node versions.","severity":"breaking","affected_versions":">=5.3.0"},{"fix":"Ensure your `ember-cli-babel` configuration is correctly set up, specifically enabling `enableTypeScriptTransform: true`. Review any custom Babel plugins or presets to ensure they are compatible or moved to `ember-cli-babel`'s configuration.","message":"Starting with v4.0.0, `ember-cli-typescript` no longer manages your Babel configuration, relying entirely on `ember-cli-babel`. This means any specific Babel configuration previously handled by `ember-cli-typescript` must now be configured directly through `ember-cli-babel`'s options.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Review your `tsconfig.json`'s `compilerOptions.target` to ensure it matches your project's desired JavaScript output standard and browser compatibility requirements. Adjust if `ES2020` is too modern for your target environments.","message":"The `tsconfig.json` blueprint `target` value was updated to `2020` in v4.0.0-rc.1. This change might affect compatibility with older browsers or build environments if not explicitly reconfigured.","severity":"gotcha","affected_versions":">=4.0.0-rc.1"}],"env_vars":null,"last_verified":"2026-04-19T00:00:00.000Z","next_check":"2026-07-18T00:00:00.000Z","problems":[{"fix":"Verify your `tsconfig.json` `paths` are correctly configured (e.g., `\"*\": [\"types/*\"]` and other app/addon specific paths), and ensure all necessary `@types/*` packages are installed.","cause":"Incorrect `tsconfig.json` paths configuration or missing type declarations (`.d.ts` files or `@types/*` packages).","error":"Module '...' has no default export."},{"fix":"Ensure all relevant `@types/ember`, `@types/qunit`, `@types/rsvp`, etc., are installed and up-to-date. Check your `tsconfig.json`'s `compilerOptions.types` or `files` array if you're explicitly including types.","cause":"Missing or outdated `@types/*` packages, or incorrect global type declarations.","error":"Cannot find name '...' (e.g., 'Cannot find name 'Ember'')."},{"fix":"Check the console output for specific TypeScript errors and fix them in your code. Ensure `enableTypeScriptTransform: true` is set in your `ember-cli-babel` options and your `tsconfig.json` extends `@tsconfig/ember/tsconfig.json` correctly.","cause":"Syntax errors in TypeScript files, misconfigured `tsconfig.json`, or issues with `ember-cli-babel`'s TypeScript transform.","error":"TypeScript compilation failed."}],"ecosystem":"npm"}