diff --git a/.changeset/four-books-shake.md b/.changeset/four-books-shake.md new file mode 100644 index 00000000..aa573004 --- /dev/null +++ b/.changeset/four-books-shake.md @@ -0,0 +1,7 @@ +--- +'@commencis/eslint-config': minor +--- + +- feat: initialize project service for ts-eslint +- feat: add base complexity rules +- feat: add jest and vitest globals diff --git a/packages/eslint-config/src/rulesets/base.ruleset.ts b/packages/eslint-config/src/rulesets/base.ruleset.ts index 0f65dfbc..ea0a9109 100644 --- a/packages/eslint-config/src/rulesets/base.ruleset.ts +++ b/packages/eslint-config/src/rulesets/base.ruleset.ts @@ -10,6 +10,8 @@ export const baseRuleset: Ruleset = { ...globals.es2021, ...globals.node, ...globals.serviceworker, + ...globals.jest, + ...globals.vitest, }, parserOptions: { ecmaFeatures: { diff --git a/packages/eslint-config/src/rulesets/javascript.ruleset.ts b/packages/eslint-config/src/rulesets/javascript.ruleset.ts index 0554a07b..48729f60 100644 --- a/packages/eslint-config/src/rulesets/javascript.ruleset.ts +++ b/packages/eslint-config/src/rulesets/javascript.ruleset.ts @@ -66,6 +66,13 @@ export const javascriptRuleset: Ruleset = { 'require-yield': 'error', 'use-isnan': 'error', 'valid-typeof': 'error', + + complexity: ['error', { max: 20 }], + 'max-statements': ['error', 30], + 'max-nested-callbacks': ['error', 3], + 'max-lines': ['error', 500], + 'max-params': ['error', 4], + 'max-depth': ['error', 3], }, name: '@commencis/javascript', }; diff --git a/packages/eslint-config/src/rulesets/typescript.ruleset.ts b/packages/eslint-config/src/rulesets/typescript.ruleset.ts index 269c24e7..01dd8e37 100644 --- a/packages/eslint-config/src/rulesets/typescript.ruleset.ts +++ b/packages/eslint-config/src/rulesets/typescript.ruleset.ts @@ -10,7 +10,10 @@ export const typescriptRuleset: Ruleset = { }, languageOptions: { parser, - sourceType: 'module', + parserOptions: { + sourceType: 'module', + projectService: true, + }, }, rules: { // ts-strict