@ovos-media/coding-standard v3.0.1
Install
# using npm
npm install --save-dev @ovos-media/coding-standard
# using yarn
yarn add --dev @ovos-media/coding-standardUsage
eslint.config.js
const eslint = require('@ovos-media/coding-standard/eslint');
module.exports = eslint();The configuration is based on the recommended rulesets from ESLint and typescript-eslint.
It also includes ESLint Stylistic which replaces deprecated rules from eslint and typescript-eslint.
Currently, it uses ESLint v9 and typescript-eslint v8. (nodejs v18.18+ required) If you need to use this package on older nodejs, you can try the v2.x version, which is based on ESLint v8. (nodejs v16.10+ required)
@ovos-media/coding-standard/eslint exports a function that accepts an object with the following options:
console:ban,ban-logorallow- whether to ban or allow console usage. Defaults to:ban-log(which only allowsconsole.error(),console.warn()andconsole.info()) whenreact: true,allowotherwise.
disableTypeChecked: List ts files which should be linted, but are not covered bytsconfig.jsonto avoidParsing error (...) TSConfig does not include this file. read more » Example:['dangerfile.ts', '.storybook/*.ts?(x)']indent(default:2): number of spaces to use for indentation ortabfor tabstestsDir(default:{spec,test,tests}): directory where test files are located. Example:srcfor single directory,{spec,tests}to include multiple directories. In addition, files in__tests__folders and files with*.spec.*/*.test.*filenames are picked up as test files, even outside oftestsDir.cypress(default:false): enable Cypress-specific rulesjest(default:false): enable Jest-specific rulesmocha(default:false): enable Mocha-specific rulesreact(default:false): enable React-specific rulesvitest(default:false): enable Vitest-specific rules
The function returns an array of ESLint "Flat Config" objects. You may further customize the default configuration by adding your own configuration objects to the exported array.
const eslint = require('@ovos-media/coding-standard/eslint');
module.exports = [
...eslint({ react: true, vitest: true }),
// your custom config and overrides
{
ignores: ['public'],
},
{
rules: {
// toggle off unwanted rules
'import/order': 'off',
},
},
{
files: ['**/*.?(m|c)[jt]s?(x)'],
rules: {
// your custom rules
},
},
];prettier.config.js
module.exports = require('@ovos-media/coding-standard').prettier;8 months ago
9 months ago
9 months ago
10 months ago
8 months ago
9 months ago
9 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
4 years ago
4 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago