diff --git a/configs/js/src/configs/core.js b/configs/js/src/configs/core.js index 1ddd784..a3d3022 100644 --- a/configs/js/src/configs/core.js +++ b/configs/js/src/configs/core.js @@ -18,12 +18,12 @@ import importPlugin from 'eslint-plugin-i'; import globals from 'globals'; // eslint-disable-next-line import/no-relative-parent-imports -import { jsFiles, tsFiles } from '../constants.js'; +import { FILES } from '../constants.js'; /** @type {import('eslint').Linter.FlatConfig} */ const config = { - files: [...tsFiles, ...jsFiles], + files: FILES, languageOptions: { globals: { ...globals.builtin, @@ -50,9 +50,9 @@ const config = { 'unicorn': unicornPlugin, }, settings: { - 'import/extensions': [...tsFiles, ...jsFiles], + 'import/extensions': FILES, 'import/parsers': { - '@typescript-eslint/parser': [...tsFiles, ...jsFiles ], + '@typescript-eslint/parser': FILES, }, 'import/resolver': { node: true, diff --git a/configs/js/src/configs/documentation.js b/configs/js/src/configs/documentation.js index a0316f0..447dfe9 100644 --- a/configs/js/src/configs/documentation.js +++ b/configs/js/src/configs/documentation.js @@ -9,10 +9,10 @@ */ import { createVariations } from '../lib/rule-variations.js'; -import { jsFiles, tsFiles } from '../constants.js'; +import { FILES } from '../constants.js'; const recommended = createVariations({ - files: [...tsFiles, ...jsFiles], + files: FILES, rules: { ...{}, // Plugin: eslint-plugin-jsdoc 'jsdoc/match-description': 'error', diff --git a/configs/js/src/configs/environments/node.js b/configs/js/src/configs/environments/node.js index fb527ec..3eea426 100644 --- a/configs/js/src/configs/environments/node.js +++ b/configs/js/src/configs/environments/node.js @@ -12,7 +12,7 @@ import nodePlugin from 'eslint-plugin-n'; import globals from 'globals'; import { createVariations } from '../../lib/rule-variations.js'; -import { jsFiles, tsFiles } from '../../constants.js'; +import { FILES } from '../../constants.js'; const commonjs = createVariations({ files: ['**/*.cts', '**/*.cjs'], @@ -47,7 +47,7 @@ const commonjs = createVariations({ }); const recommended = createVariations({ - files: [...tsFiles, ...jsFiles], + files: FILES, languageOptions: { globals: { ...globals.nodeBuiltin, diff --git a/configs/js/src/configs/formatting.js b/configs/js/src/configs/formatting.js index 2e77541..ebfe16a 100644 --- a/configs/js/src/configs/formatting.js +++ b/configs/js/src/configs/formatting.js @@ -11,10 +11,10 @@ import perfectionistPlugin from 'eslint-plugin-perfectionist'; import { createVariations } from '../lib/rule-variations.js'; -import { jsFiles, tsFiles } from '../constants.js'; +import { FILES } from '../constants.js'; const recommended = createVariations({ - files: [...tsFiles, ...jsFiles], + files: FILES, plugins: { // @ts-expect-error because plugin doesn't export correct type perfectionist: perfectionistPlugin, @@ -30,7 +30,7 @@ const recommended = createVariations({ 'no-mixed-spaces-and-tabs': 'error', 'no-multi-spaces': 'error', 'no-whitespace-before-property': 'error', - 'padded-blocks': 'error', + 'padded-blocks': ['error', 'never'], 'rest-spread-spacing': 'error', 'semi-spacing': 'error', 'space-in-parens': 'error', diff --git a/configs/js/src/configs/index.js b/configs/js/src/configs/index.js index 4f88b7e..2120b83 100644 --- a/configs/js/src/configs/index.js +++ b/configs/js/src/configs/index.js @@ -1,3 +1,4 @@ +/* eslint-disable import/max-dependencies */ /** * @file * Main export files for all the configs objects, merging then in one `configs` object. diff --git a/configs/js/src/configs/naming.js b/configs/js/src/configs/naming.js index 66d6a52..0062f97 100644 --- a/configs/js/src/configs/naming.js +++ b/configs/js/src/configs/naming.js @@ -9,10 +9,10 @@ */ import { createVariations } from '../lib/rule-variations.js'; -import { jsFiles, tsFiles } from '../constants.js'; +import { FILES } from '../constants.js'; const recommended = createVariations({ - files: [...tsFiles, ...jsFiles], + files: FILES, rules: { ...{}, // Plugin: eslint-plugin-unicorn 'unicorn/filename-case': ['error', { case: 'kebabCase' }], diff --git a/configs/js/src/configs/overrides.js b/configs/js/src/configs/overrides.js index 4a2e748..4b132fc 100644 --- a/configs/js/src/configs/overrides.js +++ b/configs/js/src/configs/overrides.js @@ -11,11 +11,11 @@ */ import { createVariations } from '../lib/rule-variations.js'; -import { jsFiles, tsFiles } from '../constants.js'; +import { FILES, TS_FILES } from '../constants.js'; // TODO [>=1.0.0]: Create a separate config for performance related practices const performance = createVariations({ - files: [...tsFiles, ...jsFiles], + files: FILES, rules: { 'prefer-object-spread': 'off', 'prefer-spread': 'off', @@ -23,7 +23,7 @@ const performance = createVariations({ }); const inferrableTypes = createVariations({ - files: [...tsFiles], + files: TS_FILES, rules: { '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/no-inferrable-types': 'error', diff --git a/configs/js/src/configs/problems.js b/configs/js/src/configs/problems.js index 218378b..5aacbb1 100644 --- a/configs/js/src/configs/problems.js +++ b/configs/js/src/configs/problems.js @@ -9,10 +9,10 @@ */ import { createVariations } from '../lib/rule-variations.js'; -import { jsFiles, tsFiles } from '../constants.js'; +import { FILES } from '../constants.js'; const recommended = createVariations({ - files: [...tsFiles, ...jsFiles], + files: FILES, rules: { ...{}, // ESLint rules 'constructor-super': 'error', diff --git a/configs/js/src/configs/security.js b/configs/js/src/configs/security.js index 6ebf362..e6f2646 100644 --- a/configs/js/src/configs/security.js +++ b/configs/js/src/configs/security.js @@ -12,10 +12,10 @@ import noSecretsPluginRegexes from 'eslint-plugin-no-secrets/regexes.js'; import noSecretsPlugin from 'eslint-plugin-no-secrets'; import { createVariations } from '../lib/rule-variations.js'; -import { jsFiles, tsFiles } from '../constants.js'; +import { FILES } from '../constants.js'; const recommended = createVariations({ - files: [...tsFiles, ...jsFiles], + files: FILES, plugins: { 'no-secrets': noSecretsPlugin, }, diff --git a/configs/js/src/configs/suggestions-typescript.js b/configs/js/src/configs/suggestions-typescript.js index e2e3f08..02285b7 100644 --- a/configs/js/src/configs/suggestions-typescript.js +++ b/configs/js/src/configs/suggestions-typescript.js @@ -9,10 +9,10 @@ */ import { createVariations } from '../lib/rule-variations.js'; -import { tsFiles } from '../constants.js'; +import { TS_FILES } from '../constants.js'; const recommended = createVariations({ - files: [...tsFiles], + files: [TS_FILES].flat(), rules: { ...{}, // Plugin: @typescript-eslint/eslint-plugin '@typescript-eslint/explicit-function-return-type': 'error', diff --git a/configs/js/src/configs/suggestions.js b/configs/js/src/configs/suggestions.js index c37b991..3cbe94d 100644 --- a/configs/js/src/configs/suggestions.js +++ b/configs/js/src/configs/suggestions.js @@ -9,10 +9,10 @@ */ import { createVariations } from '../lib/rule-variations.js'; -import { jsFiles, tsFiles } from '../constants.js'; +import { FILES } from '../constants.js'; const recommended = createVariations({ - files: [...tsFiles, ...jsFiles], + files: FILES, rules: { 'camelcase': 'error', 'max-len': ['error', { code: 80, comments: 100, ignoreUrls: true }], diff --git a/configs/js/src/constants.js b/configs/js/src/constants.js index bcdf7a3..1eca47f 100644 --- a/configs/js/src/constants.js +++ b/configs/js/src/constants.js @@ -5,7 +5,25 @@ * @author Guz013 (https://guz.one) */ -const jsFiles = ['**/*.js', '**/*.mjs', '**/*.cjs', '**/*.jsx']; -const tsFiles = ['**/*.ts', '**/*.mts', '**/*.cts', '**/*.tsx']; +const JS_FILES = [ + '**/*.js', + '**/*.mjs', + '**/*.cjs', + '**/*.jsx', +]; +const TS_FILES = [ + '**/*.ts', + '**/*.mts', + '**/*.cts', + '**/*.tsx', +]; +const FILES = [ + JS_FILES, + TS_FILES, +].flat(); -export { jsFiles, tsFiles }; +export { + FILES, + JS_FILES, + TS_FILES, +}; diff --git a/eslint.config.js b/eslint.config.js index a69c70f..473db65 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -2,7 +2,7 @@ import { configs, defineConfig, presets } from '@eslegant/js'; export default defineConfig([ ...presets.strict, - configs.environments.node.strict.error, + configs.environments.node.strict.default, { ...configs.documentation.strict.error, files: ['configs/**/*.js', 'configs/**/*.ts'],