@bollgade/eslint-config-base
v0.0.1
Published
Base ESLint config for TypeScript backend & vanilla JS/TS
Maintainers
Readme
@bollgade/eslint-config-base
Base ESLint flat config for TypeScript projects: NestJS, Express, and plain TypeScript.
It bundles rules from @eslint/js, typescript-eslint, eslint-plugin-import, eslint-plugin-unused-imports, @stylistic/eslint-plugin, and integrates Prettier via eslint-plugin-prettier (using its recommended preset).
Installation
npm install -D @bollgade/eslint-config-baseUsage (ESLint 9 flat config)
Create eslint.config.mts (or eslint.config.js):
// eslint.config.mts
import { defineConfig } from 'eslint/config';
import baseConfig from '@bollgade/eslint-config-base';
export default defineConfig(
baseConfig,
);
With local overrides:// eslint.config.mts
import { defineConfig } from "eslint/config";
import baseConfig from "@bollgade/eslint-config-base";
export default defineConfig(baseConfig, {
rules: {
// your overrides
"no-console": "off",
},
});This config assumes you have tsconfig.json in your project root; it is used for typed linting via parserOptions.project.
What’s included
| Category | Purpose | Main config / rules |
| -------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Core | Baseline JS linting | @eslint/js → eslint.configs.recommended + a few extras (e.g. no-trailing-spaces, max-len) |
| Language | Runtime globals + parsing | ecmaVersion: 2024, sourceType: 'module', globals: node + jest |
| TS rules | Strictness & safety | strictTypeChecked + stylisticTypeChecked + extra rules like no-floating-promises, no-unsafe-member-access |
| Imports | Import hygiene | eslint-plugin-import flat configs + import/order + import/no-extraneous-dependencies |
| Style | ESLint-first formatting | @stylistic/eslint-plugin preset + a few overrides |
| Prettier | Formatting enforcement | eslint-plugin-prettier/recommended + prettier/prettier (singleQuote: true) |
Roadmap
Planned improvements:
- Expose a
createBaseConfig(options)factory to:- Customize
tsconfigpath(s) used for typed linting (e.g.tsconfig.json,tsconfig.eslint.json). - Toggle strict type-aware linting on/off (switch between strict typed configs and lighter presets).
- Enable/disable most rule categories and customize them via options (without requiring users to append manual override blocks).
- Customize
