diff --git a/README.md b/README.md index 82e6800..8148e6f 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,12 @@ module.exports = { extends: [ "@dexaai/eslint-config" ] }; ``` + +For Node-only projects (no React/browser code), use the `node` config: + +```js filename=.eslintrc.js +module.exports = { + extends: [ "@dexaai/eslint-config/node" ] +}; +``` + diff --git a/node.js b/node.js new file mode 100644 index 0000000..c275b97 --- /dev/null +++ b/node.js @@ -0,0 +1,37 @@ +/** + * This is a Node-specific config (without React). + */ + +/** + * @see https://github.com/eslint/eslint/issues/3458 + * @see https://www.npmjs.com/package/@rushstack/eslint-patch + */ +require('@rushstack/eslint-patch/modern-module-resolution'); + +/** @type {import('eslint').Linter.Config} */ +module.exports = { + root: true, + + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + warnOnUnsupportedTypeScriptVersion: true, + }, + + env: { + browser: false, + node: true, + es6: true, + }, + + extends: ['./config/core'].map(require.resolve), + + overrides: ['./config/typescript', './config/tests', './config/prettier'].map( + require, + ), + + ignorePatterns: ['**/node_modules/**', '**/build/**', '**/dist/**'], + + rules: {}, +}; diff --git a/package.json b/package.json index e73c3c0..167d9c2 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "files": [ "README.md", "config", - "index.js" + "index.js", + "node.js" ], "scripts": { "format": "prettier --write .",