Changelog
What changed for users of typescript-config, per version.
@workspace/typescript-config 1.0.0Developmentunreleased, maintained in Foundation as a copy
The version line at the top of this page is read from the package and the release register of Foundation. A version heading in the changelog below is not a release by itself: only a recorded release is. While the status says development, the content can still change before it is released.
Notable changes to @workspace/typescript-config. Format based on
Keep a Changelog; versioning per
Semantic Versioning.
This file is the authoritative release history for @workspace/typescript-config
from v1.0.0 onward (the externally-publishable baseline). The pre-baseline
0.0.0 sentinel was never published.
[Unreleased]#
Changed#
esnext.temporalin the sharedlibis now recorded. The entry is backfilled:base.jsonandnodejs.jsonhave carriedesnext.temporalsince before this entry, but the change was never written down here, so a consumer reading only this file would not have seen it. The runtime floor provides Temporal natively, and workspace packages are type-checked from source, so the sharedlibcarries the types on behalf of every consumer whose type-check traverses a Temporal-aware dependency. The rationale, and the deliberately accepted trade-off that the client-side boundary is not enforced by the compiler, are now recorded asDECISIONS.mdD-8.- The license statement in
README.mdnow matches the shippedLICENSE. The README previously said "MIT". The attachedLICENSEis the workspace's proprietary text and the manifest declareslicense: "UNLICENSED"withprivate: true. The v1.0.0 entry below records the MIT file that was added at the time; the file has since been replaced. Consumers relying on the README's licensing claim should read theLICENSEfile instead. package.jsongained adescription. No behavioral effect.
Fixed#
- Documentation drift against the actual presets. The documented base
libomittedesnext.temporal, the documentednodejs.jsonlibwas["es2022"]rather than["es2022", "esnext.temporal"], andbase.jsonwas documented as a consumer preset for JSON-only packages with one consumer.base.jsonis the shared root and has no direct consumers. NocompilerOptionsvalue changed; only the documentation was wrong. - An annotation in
base.jsonclaimed a guard that does not exist. The//libnote attributed the client-side Temporal boundary to a repository gate. No such gate exists. The note now states that the boundary is a review requirement. The annotation was also rewritten in English per the source-language standard. TypeScript ignores//-prefixed top-level keys, so this is documentation, not configuration.
Audit only (no source change)#
- Wrong-base audit completed. Four packages were investigated on the
hypothesis that they sat on
react-library.jsonwithout cause. All four were false positives: three carried a React surface of their own, and one reached JSX transitively through a dependency's source traversal. No consumertsconfig.jsonchanged. Full rationale, findings and the historical package names are inDONE.md2026-05-20; the corresponding roadmap item was withdrawn.
Documentation#
- The archetype table is the shared base's.
README.mdanddocs/point todocs/standards/CONFIG_STANDARDS.md§ 3 for the choice of preset instead of Datyx'sDATYX-WERKWIJZE.md§ 7.16; other references to Datyx documents (CLAUDE.md,docs/platform/) are text now, marked as history. No preset changed.
[1.0.0] — 2026-05-19#
First stable major release. External-publishability milestone.
Locks in the four-preset surface (base, nextjs, nodejs,
react-library) and commits to an API-stability promise from this
version onward. The version bump from 0.0.0 to 1.0.0 marks the
transition from never-published sentinel to a tagged baseline.
The release does not change any compilerOptions — it locks in the
current shape, ships supporting documentation, and cleans up the
package.json.
Added#
LICENSE— standard MIT text matching thelicense: "MIT"field inpackage.json. The package shipped without an attached license file before; this aligns the manifest claim with reality.README.md— feature summary + quick-start (extending in a consumer'stsconfig.json) + preset table + documentation links.docs/INDEX.md— central navigation with role-based reading paths.docs/ARCHITECTURE.md— preset graph (1 base + 3 specializations),extends-mechanism, compiler-option rationale, cross-link toCLAUDE.md's consumer-facing rule onnoUncheckedIndexedAccess.docs/FUNCTIONEEL-OVERZICHT.md— consumer distribution across the four presets (5 Next.js apps, 15 react-library tsconfig files across 14 packages, 18 nodejs packages, 1 raw-base package), target runtimes, scope, what the package does and does not own.docs/API.md— per-preset reference (When to use, Extends, Adds, Overrides, example consumertsconfig.json) plus an alphabetical base-option reference appendix.docs/DECISIONS.md— seven ADRs (D-1 through D-7) covering the high-impactcompilerOptionsand the preset-hierarchy design: D-1noUncheckedIndexedAccess, D-2module: ESNext+moduleResolution: Bundler, D-3declaration+declarationMap, D-4target: ES2022+libcomposition, D-5incremental: false, D-6isolatedModules+moduleDetection: force(bundler-aligned compilation), D-7 preset-hierarchy viaextends.docs/ROADMAP.md— open work: audit of four packages onreact-library.jsonwithout a clear React surface (active-actions,active-auth,active-config,archives-actions); TypeScript-major-upgrade path.docs/DONE.md— completed work with the v1.0.0 milestone as the newest entry.docs/CHANGELOG.md— this file.
Changed#
package.jsonversion bumped from0.0.0to1.0.0.package.jsonpublishConfig: {access: "public"}removed — was incoherent next toprivate: trueand serves no purpose for an internal-only workspace package. Add back when actual publish intent exists.
Notes for consumers#
No compilerOptions changes. Existing extends references continue
to work unchanged across all four presets:
@workspace/typescript-config/base.json@workspace/typescript-config/nextjs.json@workspace/typescript-config/nodejs.json@workspace/typescript-config/react-library.json
The documentation tree under ./docs/ is the new source of truth
for the option rationale; treat README.md as the orientation
entrypoint only.