@rockpack/codestyle
v8.0.0
Published
Opinionated ESLint, Prettier, and Stylelint configuration for React and TypeScript projects
Maintainers
Readme
@rockpack/codestyle
@rockpack/codestyle is an opinionated ESLint configuration with best-practice rules, Prettier, Stylelint, and Commitlint - ready to use out of the box.
@rockpack/codestyle fully supports ESLint 10 flat config.
@rockpack/codestyle this module is part of the Rockpack project. See more details on the official site.
Features:
ESLint configs:
- TypeScript, JavaScript, and React support
- Prettier integrated
- ESLint Config Recommended
- ESLint React Recommended
- ESLint TypeScript Recommended
- ESLint Prettier Recommended
- eslint-plugin-perfectionist
- eslint-plugin-regexp
- eslint-plugin-sonarjs
- eslint-plugin-unicorn
- eslint-plugin-import-lite
- eslint-plugin-no-only-tests
- eslint-plugin-check-file
- eslint-plugin-package-json
Additional tools:
- Stylelint
- Commitlint
- Prettier
Using
- Installation:
# NPM
npm install @rockpack/codestyle --save-dev
# YARN
yarn add @rockpack/codestyle --devCreate eslint.config.js and .prettierrc in the root of the project.
Put the code in eslint.config.js:
const { makeConfig } = require('@rockpack/codestyle');
module.exports = makeConfig();- Put the code in .prettierrc
{
"singleQuote": true,
"trailingComma": "all",
"useTabs": false,
"semi": true,
"bracketSpacing": true,
"printWidth": 120,
"endOfLine": "lf"
}Extensibility
If you need to change the ESLint configuration you can just extend return object from makeConfig function:
const { makeConfig } = require('@rockpack/codestyle');
const camelCaseAllow = ['download_url'];
const config = makeConfig();
config.push({
rules: {
camelcase: ['error', { allow: camelCaseAllow, properties: 'always' }],
},
});
module.exports = config;IDE Integration
We can set up our IDE to fix all lint rules and format code by Prettier.
Webstorm
Manual setup
- Open Settings
- Find the Node.js section and select the Node.js interpreter.
- Find ESLint.
- Set Manual Configuration and set folder to "node_modules/eslint" in your project
- Set working directories to root of your project
- Set path to your .eslintrc.js file
- Select "Run eslint --fix on save"
- Find Prettier.
- Set Prettier path
- Select "On Reformat code action", "On save"
VSCode
Manual setup
- Set "Format on save"
- Set "Format on paste"
Configuration setup
mkdir .vscode && touch .vscode/settings.jsonThen add settings:
{
"editor.formatOnSave": true,
"editor.formatOnPaste": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
}
}The MIT License
MIT
