Type-check with the TypeScript 7 nightly and isolatedDeclarations - #201
Merged
NullVoxPopuli merged 4 commits intoSep 22, 2026
Merged
Conversation
- `tsc` in table, test-app and docs-app is the TS 7.1 nightly (`@typescript/native`). `typescript` points at `@typescript/typescript6` for typescript-eslint and TypeDoc, which need the JS API. - test-app and docs-app check .gts files through ember-content-mapper (`tsc --noEmit --runExternalCode`). `baseUrl` is gone, because TS 7 removed it. - table turns on isolatedDeclarations. Exported API now has explicit types. The rollup declarations step runs `tsc --declaration`. - Symbol-keyed fields on Table and BasePlugin move to a merged interface, because isolatedDeclarations cannot emit computed class members. - @glint/template 1.9.0 everywhere, so that ember-tsc 1.11 and the packages share one copy. TypeDoc 0.28.20 supports TS 6. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@glint/ember-tsc 1.11 requires typescript >=5.6.0, so 5.5 cannot run it any more. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A bare typescript@6.0 keeps the @typescript/typescript6 alias in the lockfile, and ember-tsc cannot find tsc inside that package. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
| import type { Column, Table } from '../../index.ts'; | ||
|
|
||
| export const forColumn = (column: Column<any>, key: string) => { | ||
| export const forColumn = (column: Column<any>, key: string): any => { |
Contributor
There was a problem hiding this comment.
this will probably need fixing in someway, or an ability to take a type arg (later PR)
NullVoxPopuli
approved these changes
Sep 22, 2026
The typescript@next entry type-checks test-app with tsc and ember-content-mapper, because ember-tsc cannot run on TypeScript 7. The Lint job checks the pinned nightly. This entry follows the newest one. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
NullVoxPopuli
approved these changes
Sep 22, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tscis now the TS 7.1 nightly (7.1.0-dev.20260922.1) intable,test-appanddocs-app.tablebuilds its declarations withisolatedDeclarationson.Changes:
@typescript/nativeis the nightly and provides thetscbin.typescriptpoints at@typescript/typescript6, because typescript-eslint and TypeDoc need the JS API.test-appanddocs-appcheck.gtsfiles throughember-content-mapper:tsc --noEmit --runExternalCode.baseUrlis gone, because TS 7 removed it.tablehasisolatedDeclarations: true. Exported API now has explicit types. The rollup declarations step runstsc --declaration.TableandBasePluginmoved to a merged interface.isolatedDeclarationscannot emit computed class members (TS9038).@glint/templateis 1.9.0 in every package, so thatember-tsc1.11 and the packages share one copy.@glint/ember-tsc1.11 requirestypescript >=5.6.0, so 5.5 is gone.typescript@nextentry. It installs the latest TS 7 nightly and runstsc --noEmit --runExternalCode, becauseember-tsccannot run on TS 7.The emitted
.d.tsfiles match the output before this change, except for import style and the merged interfaces.Checked locally:
pnpm lint: passtest-apptests: 187 of 187 passbuild:docs-apiand thedocs-appproduction build: passember-tsc --noEmitintest-app) with TypeScript 5.6, 5.8, 5.9 and 6.0: passBefore the annotations, the nightly
tscpanicked in declaration emit (Unhandled case in Node.Text: *ast.KeywordExpression). The current code does not hit that path.🤖 Generated with Claude Code