Skip to content

Enable Glint by default for both JS and TS apps#273

Open
wagenet wants to merge 2 commits into
ember-cli:mainfrom
wagenet:enable-glint-by-default
Open

Enable Glint by default for both JS and TS apps#273
wagenet wants to merge 2 commits into
ember-cli:mainfrom
wagenet:enable-glint-by-default

Conversation

@wagenet
Copy link
Copy Markdown

@wagenet wagenet commented May 2, 2026

Summary

Implements RFC #976: Enable Glint by Default for the app blueprint. Glint v2 is now installed and configured for both TS and JS apps.

The blueprint already shipped Glint v2 packages — this PR moves them out of the `<% if (typescript) %>` blocks so JS apps benefit from editor tooling out of the box.

  • TS path: `tsconfig.json` and the existing `lint:types: ember-tsc --noEmit` script — unchanged.
  • JS path: a new `jsconfig.json` (not `tsconfig.json`) that signals "IDE tooling only, no CLI type-check." Glint deps are installed for editor support; no `lint:types` script is added.
  • `@glint/ember-tsc`, `@glint/template`, `@glint/tsserver-plugin`, `@ember/app-tsconfig`, and `typescript` move out of the TS-only conditional in `package.json`.
  • The previous `!file.startsWith('types/')` filter for JS apps is dropped — both jsconfig.json and tsconfig.json reference `types/`, and the dir doesn't currently contain blueprint-shipped files.
  • `index.js` filters `jsconfig.json` out of TS apps, symmetric to the existing `tsconfig.json` filter for JS apps.

Related

Test plan

  • Generate a JS app: `ember new my-app` against this blueprint. Confirm `jsconfig.json` present, no `tsconfig.json`, Glint v2 packages installed.
  • Generate a TS app: `ember new my-app --typescript`. Confirm `tsconfig.json` present, no `jsconfig.json`, `lint:types: ember-tsc --noEmit` works.
  • CI: existing blueprint tests pass.

Note on archived predecessor

The earlier `embroider-build/app-blueprint` is archived; this PR is the same set of changes adapted for the new structure here.

🤖 Generated with Claude Code

Implements RFC #976 (emberjs/rfcs#976):
install and configure Glint v2 in blueprint output regardless of
--typescript. JS apps get IDE tooling via jsconfig.json + the
TypeScript Server plugin; TS apps get the full template type-check
via the ember-tsc CLI.

- Move @glint/ember-tsc, @glint/template, @glint/tsserver-plugin,
  @ember/app-tsconfig, and typescript out of the <% if (typescript) %>
  blocks in package.json so they install for both paths.
- Add files/jsconfig.json for the JS path (extends @ember/app-tsconfig,
  noEmit:true). Filter it out for TS apps in index.js.
- Stop excluding tsconfig.json's `types/` directory for JS apps —
  types/ is referenced by both jsconfig.json and tsconfig.json.

The lint:types script remains TS-only (ember-tsc --noEmit). JS apps
opt into editor tooling without a CLI type-check workflow.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant