Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
c3195a1
v4: embed typescript-native-bridge, drop Volar-based framework support
johnsoncodehk Sep 2, 2026
99bb697
Remove languagePlugins.ts from dogfood corpus
johnsoncodehk Sep 2, 2026
c28e358
Bump typescript-native-bridge to bridge.16, drop leftover languages p…
johnsoncodehk Sep 9, 2026
92f6375
docs: v4 migration guide
johnsoncodehk Sep 9, 2026
7f38675
chore: remove TS server plugin and VS Code extension
johnsoncodehk Oct 22, 2026
e3fc75c
feat!: move types and core to the TypeScript 7 API
johnsoncodehk Oct 22, 2026
d49814e
feat(config)!: port config to TypeScript 7, drop tsl/tslint compat
johnsoncodehk Oct 22, 2026
9ed70b5
feat(compat-eslint)!: port lazy ESTree to the TypeScript 7 AST
johnsoncodehk Oct 22, 2026
bff8377
style: dprint format
johnsoncodehk Oct 22, 2026
590202e
feat(cli)!: run on the TypeScript 7 sync API with content mapper support
johnsoncodehk Oct 22, 2026
1c6346c
chore: adapt fixtures and repo lint config to TypeScript 7
johnsoncodehk Oct 22, 2026
0bf064e
ci: run on Node 24 and the TypeScript 7 test suite
johnsoncodehk Oct 22, 2026
f7d6918
docs: describe the TypeScript 7 port in the README and v4 migration g…
johnsoncodehk Oct 22, 2026
ba44bef
Merge branch 'master' into v4
johnsoncodehk Oct 22, 2026
ae10369
v4.0.0-alpha.0
johnsoncodehk Oct 22, 2026
9ae2792
fix(packages): depend on typescript 7 directly and declare eslint peers
johnsoncodehk Oct 22, 2026
b82aa03
v4.0.0-alpha.1
github-actions[bot] Oct 22, 2026
1b29171
Merge branch 'master' into v4
johnsoncodehk Oct 22, 2026
b8bb411
docs(migration-v4): TypeScript 7 is a direct dependency
johnsoncodehk Oct 22, 2026
e479bbf
docs: TypeScript 7 is bundled, drop it from install commands
johnsoncodehk Oct 22, 2026
e49875e
fix(compat-eslint): enter a parenthesized wrapper head once in every-…
johnsoncodehk Oct 22, 2026
21d69a6
fix(compat-eslint): wrap an optional chain ending in `!` in ChainExpr…
johnsoncodehk Oct 22, 2026
fb32e53
fix(core): suppress rule reports inside content mapper diagnostic dir…
johnsoncodehk Oct 25, 2026
960d85d
fix(cli): apply a fix once when mapped copies produce the same edit
johnsoncodehk Oct 25, 2026
55526d8
fix(cli): do not map compiler diagnostics of content-mapped files twice
johnsoncodehk Oct 25, 2026
3bafe9a
refactor: use TypeScript 7.1 Diagnostic and TextEdit for results
johnsoncodehk Oct 25, 2026
141f804
fix(core): report a rule crash without a position
johnsoncodehk Oct 25, 2026
d160633
feat(cli): invalidate cached results through the dependency graph
johnsoncodehk Oct 25, 2026
4e474c5
docs: describe dependency-based cache invalidation
johnsoncodehk Oct 25, 2026
68638fc
feat(cli): compare declaration signatures of content-mapped files
johnsoncodehk Oct 25, 2026
d692893
fix(cli): match resolved modules to the program's file names
johnsoncodehk Oct 25, 2026
9cd8c34
refactor: remove Reporter.withoutCache()
johnsoncodehk Oct 25, 2026
62992a5
feat(cli): re-lint everything only when a global file's signature cha…
johnsoncodehk Oct 25, 2026
b2aa8ee
test(cli): cover a resolved module spelled differently than its progr…
johnsoncodehk Oct 25, 2026
3d5b151
style(cli): format invalidation test
johnsoncodehk Oct 25, 2026
5a1fdd1
feat: track the files rules read beyond their declarations
johnsoncodehk Oct 25, 2026
ad7b83c
refactor(cli): pass known file info to the rebuild explicitly
johnsoncodehk Oct 25, 2026
e7b21b2
fix(cli): do not re-lint through files only read by other rules
johnsoncodehk Oct 25, 2026
74570d8
fix(cli): do not read an import attribute as a side-effect import
johnsoncodehk Oct 25, 2026
df272a3
perf(cli): keep the graph when a global file's signature changes
johnsoncodehk Oct 25, 2026
8c4879f
fix(cli): treat an augmented module as referenced by its declaration
johnsoncodehk Oct 25, 2026
1ac3d87
fix(cli): narrow global invalidation to augmentation blocks and close…
johnsoncodehk Oct 25, 2026
d36976c
fix(cli): emit declarations for program files reached through node_mo…
johnsoncodehk Oct 25, 2026
7b55ad6
fix(cli): detect `export as namespace` from the AST alone
johnsoncodehk Oct 25, 2026
c82b082
test(cli): give stubbed source files statements
johnsoncodehk Oct 25, 2026
bb4deb6
fix(cli): read declaration specifiers from the parsed declaration emit
johnsoncodehk Oct 25, 2026
5c18c6b
style(cli): format the invalidation test
johnsoncodehk Oct 25, 2026
66ff942
perf(cli): resolve what augmentation blocks use per name through the …
johnsoncodehk Oct 25, 2026
4ac9931
fix(cli): count an unresolved identifier in a block as every binding …
johnsoncodehk Oct 25, 2026
1d835a9
feat(cli): key declaration hashes by symbol and follow what each name…
johnsoncodehk Oct 25, 2026
c860faa
perf(cli): read what declarations reference only once a change can re…
johnsoncodehk Oct 25, 2026
2290a30
perf(cli): store 96-bit hashes in the cache
johnsoncodehk Oct 25, 2026
02343fb
chore: require Node.js 22.15 so the cache always tracks config imports
johnsoncodehk Oct 26, 2026
d2bbacf
fix(cli): re-lint everything when a content mapper's lockfile changes
johnsoncodehk Oct 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 21 additions & 26 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:

- uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: pnpm

- run: pnpm install
Expand All @@ -28,23 +28,23 @@ jobs:
- name: Parity bench
run: pnpm -F @tsslint/compat-eslint bench

# Vendored @typescript-eslint/scope-manager test suite.
- name: Upstream scope-manager
run: pnpm -F @tsslint/compat-eslint test:upstream

# Predicate coverage matrix for AST_NODE_TYPES.
- name: Predicate coverage
run: pnpm -F @tsslint/compat-eslint test:predicate-coverage

# JSX type-aware parity vs ESLint Linter on eslint-plugin-react-x.
- name: JSX react-x parity
run: pnpm -F @tsslint/compat-eslint test:jsx-react-x

# Lazy ESTree shape parity (every .ts under packages/) + identity
# invariants + smoke under visitorKeys traversal.
- name: Lazy ESTree parity
run: node packages/compat-eslint/test/lazy-estree.test.js

# Regression tests for lazy ESTree review findings.
- name: Lazy ESTree review bugs
run: node packages/compat-eslint/test/lazy-estree-review-bugs.test.js

# Predicate vs materializer agreement.
- name: Predicate materializer consistency
run: node packages/compat-eslint/test/predicate-materializer-consistency.test.js

# Integration: selector dispatch + CPA fallback + per-rule error
# isolation through the full convertRule pipeline.
- name: Compat pipeline integration
Expand All @@ -58,31 +58,26 @@ jobs:
- name: TS-AST scan
run: node packages/compat-eslint/test/ts-ast-scan.test.js

# Core: type-aware rule probe (foundation for layer 1 cache).
- name: Core probe
run: node packages/core/test/probe.test.js

# Core: BuilderProgram POC for layer 2 cache invalidation.
- name: Core BuilderProgram POC
run: node packages/core/test/builder-program-poc.test.js

# Core: skip-rules option + hasFixForDiagnostic API (the surface
# the CLI cache layer uses).
- name: Core skip-rules
run: node packages/core/test/skip-rules.test.js

# CLI: cache file load / save / atomic write / version key.
- name: CLI cache module
run: node packages/cli/test/cache.test.js

# CLI: cache-flow — layer 1 cache integration with the linter.
# CLI: cache-flow — per-file cache integration with the linter.
- name: CLI cache-flow
run: node packages/cli/test/cache-flow.test.js

# CLI: dependency invalidation against a stubbed TypeScript API.
- name: CLI invalidation
run: node packages/cli/test/invalidation.test.js

# CLI: end-to-end integration via subprocess on a temp fixture.
- name: CLI integration
run: node packages/cli/test/integration.test.js

# CLI: layer 2 cross-session affected-file diff.
- name: CLI incremental state
run: node packages/cli/test/incremental-state.test.js
# CLI: diagnostic rendering.
- name: CLI render
run: node packages/cli/test/render.test.js

# Repo dogfood.
- name: Lint
run: pnpm run lint --force
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ packages/*/index.js
packages/*/lib/**/*.js
!packages/compat-eslint/lib/code-path-analysis/*.js
!packages/compat-eslint/lib/code-path-analysis/*.d.ts
!tools/estree-oracle/index.d.ts
packages/*/test/**/*.js
.tsslint/
packages/compat-eslint/test/upstream-shim.js
Loading
Loading