Release v7.18.1
Summary
Upgrades Fundamentals to TypeScript 7.0.2 (the new native compiler), bringing significantly faster type-checking and builds. Also bumps the pinned Yarn release from 4.5.3 to 4.17.1, which is required to install TypeScript 7 at all.
What changed
typescriptis now7.0.2(was6.0.3).packageManager/.yarnrc.ymlyarnPathbumped to Yarn4.17.1(was4.5.3) — Yarn 4.5.3's built-in TypeScript compatibility patch tries to rewrite a file (lib/_tsc.js) that the TS7 native package no longer ships, which makes install fail outright on anything older than 4.17.1.tsc -b(the actual type-check/build step used everywhere in this repo and by consumers) runs on real TypeScript 7 and is unaffected.
Working around tooling that isn't TS7-ready yet
TypeScript 7.0 ships only the tsc binary — it deliberately does not include the legacy programmatic compiler API (ts.createProgram, ts.createDocumentRegistry, ts.Extension, etc.), since a new API isn't planned until 7.1. A few dev-time tools in this repo's pipeline still call into that legacy API directly and don't support TS7 yet:
@typescript-eslint/eslint-plugin,@typescript-eslint/parser,typescript-eslint(typed linting)rollup-plugin-typescript2(the rollup bundler plugin used to publish@cratis/fundamentals)
Rather than blocking the whole upgrade on upstream TS7 support, each of those tools now gets its own private TypeScript 6.0.3 dependency nested underneath it via .yarnrc.yml packageExtensions, while everything else — most importantly tsc -b, the thing that actually type-checks this codebase — uses real TypeScript 7.0.2. This is the same side-by-side pattern Microsoft documents for typescript-eslint itself.
One spec (for_fieldDecorator/when_executing_standard_typescript_decorator_emit.ts) exercises TypeScript's programmatic compiler API directly (to compile and execute a decorator fixture in-memory as part of the test). It now imports that API from a dedicated nested typescript-programmatic-api alias (→ TS 6.0.3) instead of bare typescript, so it keeps working without pulling this workspace's real build back onto TS6.
Verification
yarn install(Yarn 4.17.1) — clean, no errors, from a fully cleared.yarn/cacheandyarn.lock.tsc --version→7.0.2everywheretsc -bis invoked.yarn ci(clean + lint +tsc -b+ test, across every workspace) — passes: 467 tests, 0 failures, lint clean.yarn build(the publish path:tsc -b+ rollup bundling viarollup-plugin-typescript2) — passes, produces working CJS/ESM output and validates everypackage.jsonexportstarget resolves.
Impact for consumers
No public API changes. This is a build-tooling upgrade only — package consumers are unaffected. Contributors building this repo locally now need Yarn 4.17.1 (picked up automatically via Corepack from packageManager).