{"id":10785,"library":"ember-cli-typescript-blueprints","title":"Ember CLI TypeScript Blueprints","description":"Ember CLI TypeScript Blueprints is an Ember CLI addon designed to provide TypeScript-aware blueprints for generating standard Ember CLI entities, including those for `ember-source` and `ember-data`. This package, currently at version 3.0.0, historically filled a crucial gap by enabling developers to generate TypeScript files within Ember applications before native Ember CLI support for TypeScript blueprints was available. However, the project was archived in December 2022 and is no longer maintained, as recent versions of Ember CLI (starting from Ember 4.8.0 with RFC 0724 and 0800 implementations) now offer integrated, first-party TypeScript blueprint generation. Consequently, this addon is effectively abandoned, and new Ember projects or migrations should leverage Ember's native TypeScript capabilities. The package had an irregular release cadence, with its last major update seven years ago, reflecting its deprecation in favor of core framework features.","status":"abandoned","version":"3.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/typed-ember/ember-cli-typescript-blueprints","tags":["javascript","ember-addon"],"install":[{"cmd":"npm install ember-cli-typescript-blueprints","lang":"bash","label":"npm"},{"cmd":"yarn add ember-cli-typescript-blueprints","lang":"bash","label":"yarn"},{"cmd":"pnpm add ember-cli-typescript-blueprints","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Provides the core TypeScript integration for Ember CLI, which these blueprints augment.","package":"ember-cli-typescript","optional":false},{"reason":"This is an Ember CLI addon and requires Ember CLI to function, though it is often a peer dependency.","package":"ember-cli","optional":false}],"imports":[{"note":"This package is an Ember CLI addon, not a library providing JavaScript symbols for direct import. Its functionality is exposed via command-line interface commands (e.g., `ember generate`).","symbol":"Ember CLI Commands","correct":"ember install ember-cli-typescript-blueprints\nember generate <entity-type> <name>"}],"quickstart":{"code":"/*\n  This package is largely obsolete. For new Ember projects or migrating existing ones to TypeScript,\n  it is recommended to use Ember CLI's native TypeScript support, available in recent Ember versions.\n  \n  Historically, one would install and use it as follows:\n*/\n\n// 1. Install the addon (though deprecated, this shows historical installation):\nnpm install --save-dev ember-cli-typescript-blueprints\n// or\nyarn add --dev ember-cli-typescript-blueprints\n\n// 2. The addon's blueprints would then override default JS blueprints.\n//    Generating an entity would produce a TypeScript file (.ts) instead of JavaScript (.js).\n\n// Generate a service:\n// This would create `app/services/user.ts`\nember generate service user\n\n// Generate a component:\n// This would create `app/components/user-profile.ts`, `app/templates/components/user-profile.hbs`,\n// and potentially `tests/integration/components/user-profile-test.ts`\nember generate component user-profile\n\n/* Example of a generated TypeScript component file (simplified structure):\n\n// app/components/user-profile.ts\nimport Component from '@glimmer/component';\n\ninterface UserProfileArgs {\n  userName: string;\n}\n\nexport default class UserProfileComponent extends Component<UserProfileArgs> {\n  // Access component arguments via this.args\n  get greeting(): string {\n    return `Hello, ${this.args.userName}!`;\n  }\n}\n*/","lang":"typescript","description":"Demonstrates the historical installation and usage of the addon's CLI commands to generate TypeScript-aware Ember entities."},"warnings":[{"fix":"Remove `ember-cli-typescript-blueprints` from your project. For new projects, use `ember new my-app --typescript`. For existing projects, configure `ember-cli-babel` for TypeScript and use `ember generate <entity> --typescript` where available, or manually create `.ts` files and configure `tsconfig.json`.","message":"The `ember-cli-typescript-blueprints` package is officially archived and no longer maintained. Modern Ember CLI versions (4.8.0 and above) provide native TypeScript blueprint support, rendering this addon obsolete. Users should transition to the built-in `--typescript` flag for `ember new` and `ember generate` commands.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Migrate away from `ember-cli-typescript-blueprints` and `ember-cli-typescript` to leverage Ember's native TypeScript support. Ensure your `types/<your-app>/index.d.ts` file correctly imports `ember-source/types` and `ember-source/types/preview` if desired, and remove incompatible `@types` packages.","message":"Using this addon with Ember versions 4.8.0+ and their official TypeScript types may lead to conflicts. The addon's underlying `ember-cli-typescript` integration (if used) might configure `@types` packages and Array prototype extensions which are incompatible with the stable, built-in types from `ember-source`.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"If maintaining an older project using `ember-cli-typescript` v1, review the migration guide to v2, specifically addressing `const enum` usage and Babel configuration changes. Consider upgrading to native Ember CLI TypeScript support if possible.","message":"Older versions of `ember-cli-typescript` (the parent ecosystem for these blueprints) shifted to using Babel for TypeScript transpilation in v2. This introduced breaking changes, such as lack of support for `const enum`, which required code modifications.","severity":"gotcha","affected_versions":"<3.0.0"}],"env_vars":null,"last_verified":"2026-04-19T00:00:00.000Z","next_check":"2026-07-18T00:00:00.000Z","problems":[{"fix":"Ensure `@types/ember-data` (if applicable for your Ember version/setup) is installed. Verify your `types/<your-app>/index.d.ts` file properly extends the `ModelRegistry` for Ember Data models. For modern Ember, ensure you're using official types and correctly extending type definitions.","cause":"Missing `ember-data` type definitions or an incorrect type registry setup, especially if using older `ember-cli-typescript` versions with Ember Data.","error":"Error: Cannot find module '@types/ember-data'"},{"fix":"For each of your Ember Data models, ensure you add code to extend the `ModelRegistry` in your `types/ember-data/ember-data.d.ts` (or similar) file. Example: `declare module 'ember-data/types/registries/model' { export default interface ModelRegistry { 'my-model': MyModel; } }`","cause":"This error often occurs when Ember Data's `ModelRegistry` is not properly populated with your application's models, causing TypeScript to infer `keyof ModelRegistry` as `never`.","error":"error TS2344: Type 'any' does not satisfy the constraint 'never'."},{"fix":"Try clearing your npm/yarn cache (`npm cache clean --force` or `yarn cache clean`). Delete `node_modules` and `package-lock.json` (or `yarn.lock`), then reinstall. If it's a permission error, ensure proper directory permissions or run with `sudo` (use cautiously).","cause":"NPM or Yarn cache/permissions issues during addon installation, or conflicts if multiple blueprints attempt to install the same package.","error":"EACCES: permission denied, unlink '/path/to/node_modules/.bin/ember'"}],"ecosystem":"npm"}