https://github.com/tsconfig/bases
/*
TypeScript configuration optimised for Kitten.
(https://kitten.small-web.org)
Kitten uses its own internal Node.js runtime and an
ECMAScript Module Loader that lazily transforms
TypeScript (TS) into JavaScript (JS) at runtime
using esbuild.
The settings here – module: "Preserve",
moduleResolution: "Bundler", and the target and lib
selection – mirror the options passed to esbuild’s
transform API at runtime. Please do NOT switch these to
"nodenext" / "node16". Those describe Node’s native ESM
resolution, which is not what Kitten’s loader uses.
If your project is TypeScript-only, you can remove "allowJs"
and "checkJs". They’re enabled by default because Kitten
supports mixing TS and JS sources in the same project.
TODO: Target and lib track latest Node LTS (currently
Node 24, LTS through April 2028). Update this when
Kitten’s runtime upgrades to the next LTS version.
*/
{
"compilerOptions": {
"target": "ES2024",
"lib": [
"ES2024",
"ESNext.Array",
"ESNext.Collection",
"ESNext.Error",
"ESNext.Iterator",
"ESNext.Promise"
],
"module": "Preserve",
"moduleResolution": "Bundler",
"verbatimModuleSyntax": true,
"isolatedModules": true,
"allowImportingTsExtensions": true,
"resolveJsonModule": true,
"noEmit": true,
"strict": true,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true,
"noFallthroughCasesInSwitch": true,
"noImplicitReturns": true,
"skipLibCheck": true,
"allowJs": true,
"checkJs": true
}
}
https://github.com/tsconfig/bases
```jsonc
/*
TypeScript configuration optimised for Kitten.
(https://kitten.small-web.org)
Kitten uses its own internal Node.js runtime and an
ECMAScript Module Loader that lazily transforms
TypeScript (TS) into JavaScript (JS) at runtime
using esbuild.
The settings here – module: "Preserve",
moduleResolution: "Bundler", and the target and lib
selection – mirror the options passed to esbuild’s
transform API at runtime. Please do NOT switch these to
"nodenext" / "node16". Those describe Node’s native ESM
resolution, which is not what Kitten’s loader uses.
If your project is TypeScript-only, you can remove "allowJs"
and "checkJs". They’re enabled by default because Kitten
supports mixing TS and JS sources in the same project.
TODO: Target and lib track latest Node LTS (currently
Node 24, LTS through April 2028). Update this when
Kitten’s runtime upgrades to the next LTS version.
*/
{
"compilerOptions": {
"target": "ES2024",
"lib": [
"ES2024",
"ESNext.Array",
"ESNext.Collection",
"ESNext.Error",
"ESNext.Iterator",
"ESNext.Promise"
],
"module": "Preserve",
"moduleResolution": "Bundler",
"verbatimModuleSyntax": true,
"isolatedModules": true,
"allowImportingTsExtensions": true,
"resolveJsonModule": true,
"noEmit": true,
"strict": true,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true,
"noFallthroughCasesInSwitch": true,
"noImplicitReturns": true,
"skipLibCheck": true,
"allowJs": true,
"checkJs": true
}
}
```