Releases: ovos/coding-standard
v2.0.2
Added @stylistic/jsx-quotes rule. (#8)
v2.0.1
Reconfigured @stylistic/no-multiple-empty-lines to { max: 1, maxEOF: 0, maxBOF: 0 }
(default is { max: 2 }
) - to disallow consecutive empty lines and empty lines at the beginning and end of a file.
v2.0.0
v2 introduces ESLint as the main linting tool in the coding-standard package, replacing TSLint which has been deprecated for many years already.
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 v8 and typescript-eslint v6.
The upgrade to ESLint v9 and typescript-eslint v8 is planned for the next major release.
@ovos-media/coding-standard/eslint
exports a function that accepts an object with the following options:
console
:ban
,ban-log
orallow
- whether to ban or allow console usage. Defaults to:ban-log
(which only allowsconsole.error()
,console.warn()
andconsole.info()
) whenreact: true
,allow
otherwise.
disableTypeChecked
: List ts files which should be linted, but are not covered bytsconfig.json
to 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 ortab
for tabstestsDir
(default:{spec,test,tests}
): directory where test files are located.
Example:src
for 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
},
},
];
v1.5.0
v1.4.2
restore prettier's arrowParens
to the default value, which is "always" in prettier v2.0+
v1.4.1
- disable ter-arrow-parens: since we're using TypeScript and typing a function arguments requires parens, it would be more streamlined to allow parens usage.
v1.4.0
- added tslint-react-hooks #4
- prettier: lowered
printWidth
from 120 to 100 #5
v1.3.2
ter-prefer-arrow-callback - added allowNamedFunctions: true
, suits react's functional components better
v1.3.1
adjusted group names for easier read in lint warnings