UNPKG

@kikiutils/tsconfigs

Version:

Preconfigured TypeScript config files for stricter type checking and multi-environment support.

123 lines (93 loc) โ€ข 2.78 kB
# @kikiutils/tsconfigs [![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [![License][license-src]][license-href] Preconfigured TypeScript config files for stricter type checking and multi-environment support. - [โœจ Release Notes](./CHANGELOG.md) ## Features - โš™๏ธ Preconfigured `tsconfig` with `strict` mode, stricter type checking (`isolatedModules`, `noUncheckedSideEffectImports`), and clean ESM support - ๐Ÿงฌ Easy inheritance via the `extends` field in `tsconfig` - ๐Ÿ”€ Multiple `tsconfig` variants to support different `module` and `target` settings - ๐Ÿงช Shared Jest testing config for consistent test setup - ๐Ÿž Includes official Bun settings for seamless integration ## Installation Using [pnpm](https://pnpm.io): ```bash pnpm add -D @kikiutils/tsconfigs ``` You can also use `yarn`, `npm`, or `bun`. ## Usage The base configuration is [`tsconfig.base.json`](./tsconfig.base.json). You can extend it directly or pick one that matches your desired `module` and `target`. Here's an example of a typical `tsconfig.json` setup: ```json { "extends": "@kikiutils/tsconfigs/esnext/es2022.json", "compilerOptions": { "declaration": true, "declarationDir": "./dist", "declarationMap": true, "emitDeclarationOnly": true }, "include": ["./src"] } ``` The extends path is structured as: ``` @kikiutils/tsconfigs/<module>/<target>.json ``` For example, to use CommonJS as the module and ES2021 as the target, set: ``` "extends": "@kikiutils/tsconfigs/commonjs/es2021.json" ``` For unit testing with Jest, you can extend the shared Jest config: ``` "extends": "@kikiutils/tsconfigs/jest.json" ``` > [!NOTE] > All paths and file names are lowercase. > > ๐Ÿž If you're using the Bun runtime, simply use: > > ``` > "extends": "@kikiutils/tsconfigs/bun.json" > ``` ### Available modules - AMD - CommonJS - ES6 - ES2015 - ES2020 - ES2022 - ESNext - Node16 - Node18 - NodeNext - None - Preserve - System - UMD ### Available targets - ES3 - ES5 - ES6 - ES2015 - ES2016 - ES2017 - ES2018 - ES2019 - ES2020 - ES2021 - ES2022 - ES2023 - ES2024 - ESNext ## License [MIT License](./LICENSE) <!-- Badges --> [npm-version-href]: https://npmjs.com/package/@kikiutils/tsconfigs [npm-version-src]: https://img.shields.io/npm/v/@kikiutils/tsconfigs/latest.svg?colorA=18181b&colorB=28cf8d&style=flat [npm-downloads-href]: https://npmjs.com/package/@kikiutils/tsconfigs [npm-downloads-src]: https://img.shields.io/npm/dm/@kikiutils/tsconfigs.svg?colorA=18181b&colorB=28cf8d&style=flat [license-href]: https://github.com/kikiutils/node-tsconfigs/blob/main/LICENSE [license-src]: https://img.shields.io/github/license/kikiutils/node-tsconfigs?colorA=18181b&colorB=28cf8d&style=flat