Search documentation

Search all pages, headings and text, in the current package or topic or in all documentation.

Changelog

What changed for users of typescript-config, per version.

@workspace/typescript-config 1.0.0Developmentunreleased, maintained in Foundation as a copy

Release state

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.temporal in the shared lib is now recorded. The entry is backfilled: base.json and nodejs.json have carried esnext.temporal since 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 shared lib carries 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 as DECISIONS.md D-8.
  • The license statement in README.md now matches the shipped LICENSE. The README previously said "MIT". The attached LICENSE is the workspace's proprietary text and the manifest declares license: "UNLICENSED" with private: 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 the LICENSE file instead.
  • package.json gained a description. No behavioral effect.

Fixed#

  • Documentation drift against the actual presets. The documented base lib omitted esnext.temporal, the documented nodejs.json lib was ["es2022"] rather than ["es2022", "esnext.temporal"], and base.json was documented as a consumer preset for JSON-only packages with one consumer. base.json is the shared root and has no direct consumers. No compilerOptions value changed; only the documentation was wrong.
  • An annotation in base.json claimed a guard that does not exist. The //lib note 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.json without 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 consumer tsconfig.json changed. Full rationale, findings and the historical package names are in DONE.md 2026-05-20; the corresponding roadmap item was withdrawn.

Documentation#

  • The archetype table is the shared base's. README.md and docs/ point to docs/standards/CONFIG_STANDARDS.md § 3 for the choice of preset instead of Datyx's DATYX-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 the license: "MIT" field in package.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's tsconfig.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 to CLAUDE.md's consumer-facing rule on noUncheckedIndexedAccess.
  • 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 consumer tsconfig.json) plus an alphabetical base-option reference appendix.
  • docs/DECISIONS.md — seven ADRs (D-1 through D-7) covering the high-impact compilerOptions and the preset-hierarchy design: D-1 noUncheckedIndexedAccess, D-2 module: ESNext + moduleResolution: Bundler, D-3 declaration + declarationMap, D-4 target: ES2022 + lib composition, D-5 incremental: false, D-6 isolatedModules + moduleDetection: force (bundler-aligned compilation), D-7 preset-hierarchy via extends.
  • docs/ROADMAP.md — open work: audit of four packages on react-library.json without 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.json version bumped from 0.0.0 to 1.0.0.
  • package.json publishConfig: {access: "public"} removed — was incoherent next to private: true and 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.

This page as Markdown