@nlci/config
v0.1.0
Published
Shared TypeScript, ESLint, and build configurations for NLCI
Maintainers
Readme
@nlci/config
Shared TypeScript, ESLint, and Prettier configurations for NLCI packages.
Installation
pnpm add -D @nlci/configUsage
TypeScript
Extend from one of the base configs in your tsconfig.json:
{
"extends": "@nlci/config/typescript/base"
}Or for library packages:
{
"extends": "@nlci/config/typescript/library",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src"
}
}Or for Node.js applications:
{
"extends": "@nlci/config/typescript/node"
}ESLint
Extend from the base config in your .eslintrc.js:
module.exports = {
extends: ['@nlci/config/eslint/base'],
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
},
};For library packages:
module.exports = {
extends: ['@nlci/config/eslint/library'],
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
},
};Prettier
Reference the config in your package.json:
{
"prettier": "@nlci/config/prettier"
}Or create a .prettierrc.js:
module.exports = require('@nlci/config/prettier');Available Configurations
TypeScript
| Config | Description |
| -------------------- | ------------------------------------------------------ |
| typescript/base | Base strict TypeScript settings |
| typescript/library | Optimized for library packages with composite projects |
| typescript/node | Optimized for Node.js applications |
ESLint
| Config | Description |
| ---------------- | ---------------------------------------------------- |
| eslint/base | Base ESLint rules with TypeScript and import sorting |
| eslint/library | Stricter rules for library packages |
Prettier
| Config | Description |
| ---------- | -------------------------- |
| prettier | Consistent code formatting |
License
AGPL-3.0-or-later
