# using npm
npm install --save-dev @ovos-media/coding-standard
# using yarn
yarn add --dev @ovos-media/coding-standardconsteslint=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.
consteslint=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},},];module.exports=require('@ovos-media/coding-standard').prettier;