eslint-config-standard-kit
Standard.js is a fantastic collection of linter rules, but it can be difficult to integrate with other code-quality tools like Prettier, TypeScript, or JSX.
This package makes it easy to integrate Standard.js with these other tools by breaking its configuration into modular pieces. Just mix & match the bits you need for your particular setup:
- TypeScript
- JSX
- React
- Node.js
- Prettier
- Simple-import-sort
Easy Setup
First, install ESLint 9 and eslint-plugin-standard-kit:
npm install --save-dev eslint eslint-config-standard-kitNext, create an eslint.config.mjs config file:
import standardConfig from 'eslint-config-standard-kit'
export default [
...standardConfig({
prettier: true,
sortImports: true,
jsx: true,
node: false,
react: true,
typescript: true
}),
{
// Add your own settings here
}
]The standardConfig function takes a collection of flags to enable or disable the rules you need. If your tsconfig.json isn't in a normal place, you can also pass a tsconfigRootDir option to provide its location.
If you choose prettier or typescript support, be sure to npm install the corresponding tools in your project.
Configs
If you don't want to use the standardConfig function, you can also import individual config objects:
eslint-config-standard-kit/config- Core Standard.js ruleseslint-config-standard-kit/config/jsx- JSX supporteslint-config-standard-kit/config/node- Node.js supporteslint-config-standard-kit/config/react- React supporteslint-config-standard-kit/config/typescript- TypeScript supporteslint-config-standard-kit/prettier- Core Standard.js rules + Prettiereslint-config-standard-kit/prettier/jsx- JSX support + Prettiereslint-config-standard-kit/prettier/node- Node.js support + Prettiereslint-config-standard-kit/prettier/react- React support + Prettiereslint-config-standard-kit/prettier/typescript- TypeScript support + Prettier
You could use these standalone configs like this:
import baseConfig from 'eslint-config-standard-kit/config'
import tsConfig from 'eslint-config-standard-kit/config/typescript'
export default [
baseConfig,
tsConfig,
{
// Add your own settings here
}
]Rules
This package auto-generates its configuration files based on the official eslint-config-standard, eslint-config-standard-jsx, and eslint-config-standard-react packages. This means you are getting the exact same rules as the official Standard.js project, just combined & filtered into a more convenient format.
The upstream eslint-config-standard-with-typescript package has been renamed to eslint-config-love, and is no longer part of the Standard.js ecosystem. Since there is no longer an official TypeScript solution, eslint-config-standard-kit simply filters eslint-config-love down to be more Standard.js-aligned.
Contributing
Pull requests are welcome! This library uses its own rules for linting & formatting, so please be sure the pre-commit hooks pass.
The unit tests use a snapshot system to verify that our output doesn't change. If you need to update the snapshots, just run UPDATE=1 yarn test to re-generate those.
To test the web interface, just use yarn prepare to compile the code, then open / refresh public/index.html.