Shareable ESLint config presets for Joyn.
This config aims for ES2015+ or TypeScript code. It supports various environments (e.g. node or browser).
- Make sure to install all required peer dependencies along with this config:
npm i -D eslint-config-joyn eslint-plugin-prettier prettier eslint-plugin-unicorn eslint-plugin-promise eslint-plugin-eslint-comments eslint-plugin-import eslint-plugin-optimize-regex eslint-plugin-no-secrets eslint-plugin-array-func eslint-plugin-sonarjs - Add
extends: "joyn"to your ESLint config.
The following .eslintrc.json config file configures a node project with mixed commonjs script and typescript files.
{
"extends": [ "joyn", "joyn/presets/node" ],
"overrides": [
{
"files": [ "**/*.js" ],
"extends": [ "joyn/presets/commonjs" ]
},
{
"files": [ "**/*.ts" ],
"extends": [ "joyn/presets/typescript" ]
},
{
"files": [ "test/unit/**/*.spec.js", "test/unit/**/*.spec.ts" ],
"extends": [ "joyn/presets/mocha-chai" ]
}
]
}joyn/presets/browserjoyn/presets/node: requires additional dependenciesnpm i -D eslint-plugin-nodejoyn/presets/commonjsjoyn/presets/esmjoyn/presets/typescript: requires additional dependenciesnpm i -D @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-plugin-functionaland the use of--extESLint CLI option in order to lint.tsfilesjoyn/presets/ava: requires additional dependenciesnpm i -D eslint-plugin-avajoyn/presets/mocha-chai: requires additional dependenciesnpm i -D eslint-plugin-mochajoyn/presets/jest: requires additional dependenciesnpm i -D eslint-plugin-jestjoyn/presets/react: requires additional dependenciesnpm i -D eslint-plugin-react eslint-plugin-react-hooks