@fuf-stack/typescript-config
v0.4.0
Published
typescript configs for a Fröhlich ∧ Frei repo
Readme
@fuf-stack/typescript-config
TypeScript config presets for Fröhlich ∧ Frei projects. These JSON configs help standardize compiler options across apps and packages in a monorepo.
Presets
- base.json: Strict defaults for libraries and packages (ESNext modules, Bundler resolution, declarations, strict type checking)
- eslint.json: Variant for ESLint parsing (
noEmit,allowJs) - react-library.json: Library-focused React settings (ESNext libs, target ES6,
jsx: react-jsx) - react-vite-app.json: App-focused React + Vite settings (ES2020 target, DOM libs,
jsx: react-jsx,noUnused*enabled)
Install
# pnpm
pnpm add -D @fuf-stack/typescript-config
# npm
npm i -D @fuf-stack/typescript-config
# yarn
yarn add -D @fuf-stack/typescript-configUsage
Reference a preset from your tsconfig.json files.
- Package/library
{
"extends": "@fuf-stack/typescript-config/base.json",
"compilerOptions": {
"outDir": "dist"
},
"include": ["src"]
}- React app (Vite)
{
"extends": "@fuf-stack/typescript-config/react-vite-app.json",
"include": ["src", "vite.config.ts"]
}- React library
{
"extends": "@fuf-stack/typescript-config/react-library.json",
"include": ["src"]
}- ESLint-only config
// tsconfig.eslint.json
{
"extends": "@fuf-stack/typescript-config/eslint.json",
"include": [
"**/*.ts",
"**/*.tsx",
".eslintrc.*",
"prettier.config.*",
"vite.config.*",
"vitest.config.*",
"vitest.workspace.*"
]
}Notes
- Presets use modern options like
module: ESNextandmoduleResolution: Bundlerby default. - Adjust
include,exclude, andpathsas needed per project.
License
MIT
