Skip to content

0.2.0

Latest

Choose a tag to compare

@vladholubiev vladholubiev released this 25 Mar 21:13
· 22 commits to master since this release
e994e32

Highlights

@shelf/tsconfig@0.2.0 is the first TypeScript 6-ready release of the shared Shelf presets.

Consumer-facing changes:

  • backend.json now sets compilerOptions.types = ["node"] so Node ambient types keep working under TypeScript 6's new types: [] default.
  • frontend.json now uses moduleResolution: "bundler" instead of deprecated "node", which removes the TypeScript 6 deprecation error for bundled frontend projects.
  • The presets were migrated instead of masking deprecations with ignoreDeprecations: "6.0".

How to upgrade

If you are upgrading to TypeScript 6, upgrade @shelf/tsconfig and TypeScript together using your package manager of choice:

pnpm add -D @shelf/tsconfig@0.2.0 typescript@^6
# or
npm install -D @shelf/tsconfig@0.2.0 typescript@^6
# or
yarn add -D @shelf/tsconfig@0.2.0 typescript@^6

Then check the few repo-local follow-ups that TypeScript 6 may require:

  1. If you extend @shelf/tsconfig/backend, make sure @types/node is installed in your project.
  2. If your project needs extra ambient globals like jest, mocha, or bun, add them explicitly in your own tsconfig.json, for example:
{
  "compilerOptions": {
    "types": ["node", "jest"]
  }
}
  1. If you extend @shelf/tsconfig/frontend, review any local moduleResolution: "node" override and migrate it as well. The shared frontend preset now assumes a bundler-based frontend setup.
  2. Re-run your normal checks after upgrading: type-check, build, lint, and test.

If you are not upgrading to TypeScript 6 yet, stay on @shelf/tsconfig@0.1.x for now.

Internal maintenance changes

These are not consumer-facing upgrade requirements, but they shipped as part of the same release:

  • migrated this repo from Yarn to pnpm
  • migrated formatting from Prettier to Oxfmt
  • added fixture-based tests to validate the published presets under TypeScript 6