@freckle/eslint-config
v1.3.3
Published
Shared ESLint flat config for Freckle TypeScript and JavaScript repositories
Readme
@freckle/eslint-config
The shared ESLint flat config for Freckle TypeScript and JavaScript repositories.
What it does
Applies @eslint/js recommended and typescript-eslint recommended to **/*.{ts,tsx,js,jsx},
ignores dist/, lib/ and coverage/, and relaxes @typescript-eslint/no-unused-vars so a
leading underscore marks an intentionally unused argument or variable.
no-undef is on for .js and .jsx. typescript-eslint turns it off because tsc reports undefined
names, but nothing type-checks JavaScript. It does not know your runtime, so a JavaScript repo
declares its globals itself (see below).
lib/ is in there because the Action repos emit tsc output to it before ncc bundles to dist/.
No repo in either archetype keeps source under lib/, so ignoring it fleet-wide is safe.
Install
pnpm add -D @freckle/eslint-configeslint is a peer dependency — keep it in your own devDependencies.
Remove @eslint/js and typescript-eslint from your devDependencies when you adopt this. They
come in through this package, and leaving them declared means two places to bump.
Use
// eslint.config.mjs
import freckle from '@freckle/eslint-config'
export default freckleThe default export is a config array, so anything repo-specific composes onto it:
import freckle from '@freckle/eslint-config'
export default [...freckle, {ignores: ['generated/']}]A config object containing only ignores sets global ignores, and ESLint merges those across
objects — so the example above ignores dist/, lib/, coverage/ and generated/.
The same shape covers a documented rule waiver:
import freckle from '@freckle/eslint-config'
export default [
...freckle,
{
files: ['**/*.ts'],
rules: {
// Why this repo needs the exception.
'@typescript-eslint/no-explicit-any': 'off'
}
}
]Changing the config
Edit index.js here. Every consumer picks it up on its next dependency bump, which is the point
of the package — do not fix a shared-style question by editing a consumer.
