refactor: ♻️ change constants handling
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* eslint-disable import/max-dependencies */
|
||||
/**
|
||||
* @file
|
||||
* Main export files for all the configs objects, merging then in one `configs` object.
|
||||
|
||||
@@ -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' }],
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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 }],
|
||||
|
||||
@@ -5,7 +5,25 @@
|
||||
* @author Guz013 <contact.guz013@gmail.com> (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,
|
||||
};
|
||||
|
||||
@@ -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'],
|
||||
|
||||
Reference in New Issue
Block a user