@xylabs/eslint-config-flat 4.2.6 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/neutral/index.d.ts +3 -3
- package/dist/neutral/index.mjs +47 -21
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/node/index.d.ts +3 -3
- package/dist/node/index.mjs +47 -21
- package/dist/node/index.mjs.map +1 -1
- package/package.json +12 -12
- package/src/index.ts +2 -1
- package/src/markdown/index.ts +1 -1
- package/src/rules/index.ts +1 -1
- package/src/sonar/index.ts +12 -2
- package/src/unicorn/index.ts +1 -1
- package/src/workspaces/index.ts +1 -1
package/dist/neutral/index.d.ts
CHANGED
|
@@ -6,16 +6,16 @@ declare const jsonConfig: Linter.Config;
|
|
|
6
6
|
declare const jsoncConfig: Linter.Config;
|
|
7
7
|
declare const json5Config: Linter.Config;
|
|
8
8
|
|
|
9
|
-
declare const rulesConfig: Linter.
|
|
9
|
+
declare const rulesConfig: Linter.Config;
|
|
10
10
|
|
|
11
11
|
declare const sonarConfig: Linter.Config;
|
|
12
12
|
|
|
13
13
|
declare const ignores: string[];
|
|
14
14
|
declare const typescriptConfig: Linter.Config;
|
|
15
15
|
|
|
16
|
-
declare const unicornConfig: Linter.
|
|
16
|
+
declare const unicornConfig: Linter.Config;
|
|
17
17
|
|
|
18
|
-
declare const workspacesConfig: Linter.
|
|
18
|
+
declare const workspacesConfig: Linter.Config;
|
|
19
19
|
|
|
20
20
|
declare const config: Linter.Config[];
|
|
21
21
|
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -175,6 +175,51 @@ var rulesConfig = {
|
|
|
175
175
|
}
|
|
176
176
|
};
|
|
177
177
|
|
|
178
|
+
// src/sonar/index.ts
|
|
179
|
+
import sonarjsPlugin from "eslint-plugin-sonarjs";
|
|
180
|
+
var { rules, ...recommended } = sonarjsPlugin.configs.recommended;
|
|
181
|
+
var sonarConfig = {
|
|
182
|
+
ignores: [
|
|
183
|
+
".yarn/**",
|
|
184
|
+
"jest.config.cjs",
|
|
185
|
+
"**/dist/**",
|
|
186
|
+
"dist",
|
|
187
|
+
"build/**",
|
|
188
|
+
"node_modules/**"
|
|
189
|
+
],
|
|
190
|
+
...recommended,
|
|
191
|
+
rules: {
|
|
192
|
+
...rules,
|
|
193
|
+
"sonarjs/no-small-switch": [
|
|
194
|
+
"off"
|
|
195
|
+
],
|
|
196
|
+
"sonarjs/os-command": [
|
|
197
|
+
"off"
|
|
198
|
+
],
|
|
199
|
+
"sonarjs/no-os-command-from-path": [
|
|
200
|
+
"off"
|
|
201
|
+
],
|
|
202
|
+
"sonarjs/no-nested-conditional": [
|
|
203
|
+
"off"
|
|
204
|
+
],
|
|
205
|
+
"sonarjs/todo-tag": [
|
|
206
|
+
"warn"
|
|
207
|
+
],
|
|
208
|
+
"sonarjs/deprecation": [
|
|
209
|
+
"warn"
|
|
210
|
+
],
|
|
211
|
+
"sonarjs/cognitive-complexity": [
|
|
212
|
+
"warn"
|
|
213
|
+
],
|
|
214
|
+
"sonarjs/no-nested-functions": [
|
|
215
|
+
"off"
|
|
216
|
+
],
|
|
217
|
+
"sonarjs/function-return-type": [
|
|
218
|
+
"warn"
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
|
|
178
223
|
// src/typescript/index.ts
|
|
179
224
|
import esStylistic from "@stylistic/eslint-plugin";
|
|
180
225
|
import tsPlugin from "@typescript-eslint/eslint-plugin";
|
|
@@ -600,26 +645,6 @@ var json5Config = {
|
|
|
600
645
|
}
|
|
601
646
|
};
|
|
602
647
|
|
|
603
|
-
// src/sonar/index.ts
|
|
604
|
-
import sonarjsPlugin from "eslint-plugin-sonarjs";
|
|
605
|
-
var sonarConfig = {
|
|
606
|
-
ignores: [
|
|
607
|
-
".yarn/**",
|
|
608
|
-
"jest.config.cjs",
|
|
609
|
-
"**/dist/**",
|
|
610
|
-
"dist",
|
|
611
|
-
"build/**",
|
|
612
|
-
"node_modules/**"
|
|
613
|
-
],
|
|
614
|
-
...sonarjsPlugin.configs,
|
|
615
|
-
rules: {
|
|
616
|
-
...sonarjsPlugin.configs.recommended.rules,
|
|
617
|
-
"sonarjs/no-small-switch": [
|
|
618
|
-
"off"
|
|
619
|
-
]
|
|
620
|
-
}
|
|
621
|
-
};
|
|
622
|
-
|
|
623
648
|
// src/index.ts
|
|
624
649
|
var config = [
|
|
625
650
|
// markdownConfig,
|
|
@@ -628,7 +653,8 @@ var config = [
|
|
|
628
653
|
workspacesConfig,
|
|
629
654
|
rulesConfig,
|
|
630
655
|
// prettierConfig,
|
|
631
|
-
importConfig
|
|
656
|
+
importConfig,
|
|
657
|
+
sonarConfig
|
|
632
658
|
];
|
|
633
659
|
export {
|
|
634
660
|
config,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/import/index.ts","../../src/rules/index.ts","../../src/typescript/index.ts","../../src/unicorn/index.ts","../../src/workspaces/index.ts","../../src/json/index.ts","../../src/sonar/index.ts","../../src/index.ts"],"sourcesContent":["import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport importPlugin from 'eslint-plugin-import-x'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\n\nexport const importConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n files: ['**/*.ts', '**/*.d.ts', '**/*.tsx', '**/*.d.tsx', '**/*.ts', '**/*.d.ts', '**/*.jsx', '**/*.d.jsx'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n 'import-x': importPlugin as unknown as ESLint.Plugin,\n 'simple-import-sort': simpleImportSort,\n },\n settings: { 'import-x/resolver': { typescript: { project: './tsconfig-eslint.json' } } },\n rules: {\n ...(importPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'simple-import-sort/imports': ['warn'],\n 'simple-import-sort/exports': ['warn'],\n 'import-x/default': ['off'],\n 'import-x/named': ['off'],\n 'import-x/namespace': ['off'],\n 'import-x/no-absolute-path': ['warn'],\n 'import-x/no-cycle': [\n 'warn',\n { maxDepth: 2 },\n ],\n 'import-x/no-deprecated': ['off'],\n 'import-x/no-internal-modules': [\n 'warn',\n {\n allow: [\n 'vitest/*', // Allow imports from vitest\n '@*/**', // Allow imports from any @scoped package\n // Allow imports to any index.js file\n '**/index.js',\n '**/index.ts',\n '**/index.jsx',\n '**/index.tsx',\n ],\n },\n ],\n 'import-x/no-named-as-default-member': ['off'],\n 'import-x/no-named-as-default': ['off'],\n 'import-x/no-restricted-paths': ['warn'],\n 'import-x/no-self-import': ['warn'],\n 'import-x/no-useless-path-segments': ['warn'],\n },\n}\n","import type { Linter } from 'eslint'\n\nexport const rulesConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n rules: {\n 'complexity': ['error', 18],\n 'max-depth': ['error', 6],\n 'max-lines': [\n 'error',\n {\n max: 512,\n skipBlankLines: true,\n },\n ],\n 'array-element-newline': ['warn', 'consistent'],\n 'max-nested-callbacks': ['error', 6],\n 'max-statements': ['error', 32],\n 'no-restricted-imports': [\n 'warn',\n { paths: ['.', '..', '../..', '../../..', '../../../..', '../../../../..', '../../../../../..', '../../../../../../..'] },\n ],\n // 'no-secrets/no-secrets': ['off'],\n 'no-tabs': ['error'],\n 'no-unused-vars': 'off',\n 'no-useless-escape': 'off',\n 'quotes': [2, 'single', 'avoid-escape'],\n 'require-await': 'error',\n 'semi': ['warn', 'never'],\n // 'sort-keys-fix/sort-keys-fix': 'warn',\n },\n}\n","import esStylistic from '@stylistic/eslint-plugin'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport dependPlugin from 'eslint-plugin-depend'\n\nexport const ignores = [\n '.yarn',\n 'node_modules',\n '**/node_modules',\n 'dist',\n '**/dist',\n '**/docs',\n 'public',\n 'storybook-static',\n '.eslintcache',\n '.github',\n '.vscode',\n '.husky',\n '.jest',\n '.next',\n '.vscode',\n 'coverage',\n 'cypress',\n 'dist',\n 'node_modules',\n 'public',\n 'storybook-static',\n 'tmp',\n 'yarn-error.log',\n 'yarn.lock',\n]\n\nexport const typescriptConfig: Linter.Config = {\n ignores,\n files: ['**/*.ts',\n '**/*.d.ts',\n '**/*.tsx',\n '**/*.d.tsx',\n '**/*.ts',\n '**/*.d.ts',\n '**/*.jsx',\n '**/*.d.jsx',\n '**/*.js',\n '**/*.cjs',\n '**/*.mjs'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n 'depend': dependPlugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['recommended-flat'].rules,\n ...dependPlugin.configs['flat/recommended'].rules,\n '@typescript-eslint/no-empty-object-type': ['off'],\n '@typescript-eslint/explicit-member-accessibility': ['warn', { accessibility: 'no-public' }],\n '@typescript-eslint/explicit-module-boundary-types': 'off',\n '@stylistic/brace-style': ['warn', '1tbs', { allowSingleLine: true }],\n '@stylistic/quotes': ['warn', 'single', { avoidEscape: true }],\n '@typescript-eslint/consistent-type-imports': ['warn'],\n '@stylistic/object-property-newline': ['warn', { allowAllPropertiesOnSameLine: true }],\n '@stylistic/function-call-argument-newline': ['warn', 'consistent'],\n '@stylistic/function-paren-newline': ['warn', 'multiline-arguments'],\n '@stylistic/member-delimiter-style': [\n 'error',\n {\n multiline: {\n delimiter: 'none',\n requireLast: true,\n },\n singleline: {\n delimiter: 'semi',\n requireLast: false,\n },\n },\n ],\n '@stylistic/object-curly-newline': ['warn', {\n ObjectExpression: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ObjectPattern: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ImportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ExportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n }],\n '@stylistic/max-len': ['warn', { code: 160 }],\n 'no-restricted-syntax': [\n 'warn',\n {\n selector: 'TSEnumDeclaration',\n message: 'Enums are disallowed. Consider using a union of string literals or a `const` object instead.',\n },\n ],\n '@typescript-eslint/member-ordering': [\n 'warn',\n {\n default: {\n memberTypes: [\n 'signature',\n 'call-signature',\n 'public-static-field',\n 'protected-static-field',\n 'private-static-field',\n 'public-decorated-field',\n 'protected-decorated-field',\n 'private-decorated-field',\n 'public-instance-field',\n 'protected-instance-field',\n 'private-instance-field',\n 'public-abstract-field',\n 'protected-abstract-field',\n 'public-field',\n 'protected-field',\n 'private-field',\n 'static-field',\n 'instance-field',\n 'abstract-field',\n 'decorated-field',\n 'field',\n 'public-constructor',\n 'protected-constructor',\n 'private-constructor',\n 'constructor',\n ['public-static-get', 'public-static-set'],\n ['protected-static-get', 'protected-static-set'],\n ['private-static-get', 'private-static-set'],\n ['public-decorated-get', 'public-decorated-set'],\n ['protected-decorated-get', 'protected-decorated-set'],\n ['private-decorated-get', 'private-decorated-set'],\n ['public-instance-get', 'public-instance-set'],\n ['protected-instance-get', 'protected-instance-set'],\n ['private-instance-get', 'private-instance-set'],\n ['public-abstract-get', 'public-abstract-set'],\n ['protected-abstract-get', 'protected-abstract-set'],\n ['public-get', 'public-set'],\n ['protected-get', 'protected-set'],\n ['private-get', 'private-set'],\n ['static-get', 'static-set'],\n ['instance-get', 'instance-set'],\n ['abstract-get', 'abstract-set'],\n ['decorated-get', 'decorated-set'],\n 'get',\n 'set',\n 'public-static-method',\n 'protected-static-method',\n 'private-static-method',\n 'public-decorated-method',\n 'protected-decorated-method',\n 'private-decorated-method',\n 'public-instance-method',\n 'protected-instance-method',\n 'private-instance-method',\n 'public-abstract-method',\n 'protected-abstract-method',\n 'public-method',\n 'protected-method',\n 'private-method',\n 'static-method',\n 'instance-method',\n 'abstract-method',\n 'decorated-method',\n 'method',\n ],\n order: 'alphabetically',\n },\n },\n ],\n '@typescript-eslint/no-floating-promises': 'error',\n '@typescript-eslint/no-misused-promises': 'error',\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n { argsIgnorePattern: '^_' },\n ],\n 'semi': ['warn', 'never'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { unicorn: unicornPlugin as ESLint.Plugin },\n rules: {\n ...(unicornPlugin.configs['flat/recommended'] as ESLint.ConfigData).rules,\n 'unicorn/catch-error-name': ['off'],\n 'unicorn/consistent-function-scoping': ['off'],\n 'unicorn/filename-case': ['off'],\n 'unicorn/new-for-builtins': ['off'],\n 'unicorn/no-array-callback-reference': ['off'],\n 'unicorn/no-await-expression-member': ['off'],\n 'unicorn/no-nested-ternary': ['off'],\n 'unicorn/no-null': ['off'],\n 'unicorn/number-literal-case': ['off'],\n 'unicorn/prefer-module': ['off'],\n 'unicorn/prefer-top-level-await': ['off'],\n 'unicorn/prevent-abbreviations': ['off'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport workspacesPlugin from 'eslint-plugin-workspaces'\n\nexport const workspacesConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { workspaces: workspacesPlugin as ESLint.Plugin },\n rules: {\n ...(workspacesPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'workspaces/no-relative-imports': ['off'],\n 'workspaces/require-dependency': ['off'],\n },\n}\n","import json from '@eslint/json'\nimport type { ESLint, Linter } from 'eslint'\n\nexport const jsonConfig: Linter.Config = {\n files: ['**/*.json'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const jsoncConfig: Linter.Config = {\n files: ['**/*.jsonc'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/jsonc',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const json5Config: Linter.Config = {\n files: ['**/*.json5'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json5',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n","import type { Linter } from 'eslint'\nimport sonarjsPlugin from 'eslint-plugin-sonarjs'\n\nexport const sonarConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n ...sonarjsPlugin.configs,\n rules: {\n ...sonarjsPlugin.configs.recommended.rules,\n 'sonarjs/no-small-switch': ['off'],\n },\n}\n","import type { Linter } from 'eslint'\n\nimport { importConfig } from './import/index.ts'\n// import { markdownConfig } from './markdown/index.ts'\n// import { prettierConfig } from './prettier/index.ts'\nimport { rulesConfig } from './rules/index.ts'\n// import { sonarConfig } from './sonar/index.ts'\nimport { typescriptConfig } from './typescript/index.ts'\nimport { unicornConfig } from './unicorn/index.ts'\nimport { workspacesConfig } from './workspaces/index.ts'\n\nexport const config: Linter.Config[] = [\n // markdownConfig,\n typescriptConfig,\n unicornConfig,\n workspacesConfig,\n rulesConfig,\n // prettierConfig,\n importConfig,\n // sonarConfig\n]\n\nexport { importConfig } from './import/index.ts'\nexport {\n json5Config, jsoncConfig, jsonConfig,\n} from './json/index.ts'\nexport { rulesConfig } from './rules/index.ts'\nexport { sonarConfig } from './sonar/index.ts'\nexport { ignores, typescriptConfig } from './typescript/index.ts'\nexport { unicornConfig } from './unicorn/index.ts'\nexport { workspacesConfig } from './workspaces/index.ts'\n"],"mappings":";AAAA,OAAOA,cAAc;AAErB,OAAOC,kBAAkB;AACzB,OAAOC,sBAAsB;AAEtB,IAAMC,eAA8B;EACzCC,SAAS;IAAC;IAAY;IAAmB;IAAc;IAAQ;IAAY;;EAC3EC,OAAO;IAAC;IAAW;IAAa;IAAY;IAAc;IAAW;IAAa;IAAY;;EAC9FC,iBAAiB;IACfC,QAAQP;IACRQ,eAAe;MACbC,cAAc;QAAEC,SAAS;MAAK;MAC9BC,aAAa;MACbC,SAAS;IACX;EACF;EACAC,SAAS;IACP,YAAYZ;IACZ,sBAAsBC;EACxB;EACAY,UAAU;IAAE,qBAAqB;MAAEC,YAAY;QAAEH,SAAS;MAAyB;IAAE;EAAE;EACvFI,OAAO;IACL,GAAIf,aAAagB,QAAQC,YAAkCF;IAC3D,8BAA8B;MAAC;;IAC/B,8BAA8B;MAAC;;IAC/B,oBAAoB;MAAC;;IACrB,kBAAkB;MAAC;;IACnB,sBAAsB;MAAC;;IACvB,6BAA6B;MAAC;;IAC9B,qBAAqB;MACnB;MACA;QAAEG,UAAU;MAAE;;IAEhB,0BAA0B;MAAC;;IAC3B,gCAAgC;MAC9B;MACA;QACEC,OAAO;UACL;UACA;;UAEA;UACA;UACA;UACA;;MAEJ;;IAEF,uCAAuC;MAAC;;IACxC,gCAAgC;MAAC;;IACjC,gCAAgC;MAAC;;IACjC,2BAA2B;MAAC;;IAC5B,qCAAqC;MAAC;;EACxC;AACF;;;ACpDO,IAAMC,cAAiC;EAC5CC,SAAS;IAAC;IAAY;IAAmB;IAAc;IAAQ;IAAY;;EAC3EC,OAAO;IACL,cAAc;MAAC;MAAS;;IACxB,aAAa;MAAC;MAAS;;IACvB,aAAa;MACX;MACA;QACEC,KAAK;QACLC,gBAAgB;MAClB;;IAEF,yBAAyB;MAAC;MAAQ;;IAClC,wBAAwB;MAAC;MAAS;;IAClC,kBAAkB;MAAC;MAAS;;IAC5B,yBAAyB;MACvB;MACA;QAAEC,OAAO;UAAC;UAAK;UAAM;UAAS;UAAY;UAAe;UAAkB;UAAqB;;MAAwB;;;IAG1H,WAAW;MAAC;;IACZ,kBAAkB;IAClB,qBAAqB;IACrB,UAAU;MAAC;MAAG;MAAU;;IACxB,iBAAiB;IACjB,QAAQ;MAAC;MAAQ;;EAEnB;AACF;;;AC9BA,OAAOC,iBAAiB;AACxB,OAAOC,cAAc;AACrB,OAAOC,eAAc;AAErB,OAAOC,kBAAkB;AAElB,IAAMC,UAAU;EACrB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGK,IAAMC,mBAAkC;EAC7CD;EACAE,OAAO;IAAC;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EACFC,iBAAiB;IACfC,QAAQN;IACRO,eAAe;MACbC,cAAc;QAAEC,SAAS;MAAK;MAC9BC,aAAa;MACbC,SAAS;IACX;EACF;EACAC,SAAS;IACP,sBAAsBb;IACtB,cAAcD;IACd,UAAUG;EACZ;EACAY,OAAO;IACL,GAAGd,SAASe,QAAQC,YAAYF;IAChC,GAAGf,YAAYgB,QAAQ,kBAAA,EAAoBD;IAC3C,GAAGZ,aAAaa,QAAQ,kBAAA,EAAoBD;IAC5C,2CAA2C;MAAC;;IAC5C,oDAAoD;MAAC;MAAQ;QAAEG,eAAe;MAAY;;IAC1F,qDAAqD;IACrD,0BAA0B;MAAC;MAAQ;MAAQ;QAAEC,iBAAiB;MAAK;;IACnE,qBAAqB;MAAC;MAAQ;MAAU;QAAEC,aAAa;MAAK;;IAC5D,8CAA8C;MAAC;;IAC/C,sCAAsC;MAAC;MAAQ;QAAEC,8BAA8B;MAAK;;IACpF,6CAA6C;MAAC;MAAQ;;IACtD,qCAAqC;MAAC;MAAQ;;IAC9C,qCAAqC;MACnC;MACA;QACEC,WAAW;UACTC,WAAW;UACXC,aAAa;QACf;QACAC,YAAY;UACVF,WAAW;UACXC,aAAa;QACf;MACF;;IAEF,mCAAmC;MAAC;MAAQ;QAC1CE,kBAAkB;UAChBJ,WAAW;UAAMK,eAAe;UAAGC,YAAY;QACjD;QACAC,eAAe;UACbP,WAAW;UAAMK,eAAe;UAAGC,YAAY;QACjD;QACAE,mBAAmB;UACjBR,WAAW;UAAMK,eAAe;UAAGC,YAAY;QACjD;QACAG,mBAAmB;UACjBT,WAAW;UAAMK,eAAe;UAAGC,YAAY;QACjD;MACF;;IACA,sBAAsB;MAAC;MAAQ;QAAEI,MAAM;MAAI;;IAC3C,wBAAwB;MACtB;MACA;QACEC,UAAU;QACVC,SAAS;MACX;;IAEF,sCAAsC;MACpC;MACA;QACEC,SAAS;UACPC,aAAa;YACX;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;cAAC;cAAqB;;YACtB;cAAC;cAAwB;;YACzB;cAAC;cAAsB;;YACvB;cAAC;cAAwB;;YACzB;cAAC;cAA2B;;YAC5B;cAAC;cAAyB;;YAC1B;cAAC;cAAuB;;YACxB;cAAC;cAA0B;;YAC3B;cAAC;cAAwB;;YACzB;cAAC;cAAuB;;YACxB;cAAC;cAA0B;;YAC3B;cAAC;cAAc;;YACf;cAAC;cAAiB;;YAClB;cAAC;cAAe;;YAChB;cAAC;cAAc;;YACf;cAAC;cAAgB;;YACjB;cAAC;cAAgB;;YACjB;cAAC;cAAiB;;YAClB;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;;UAEFC,OAAO;QACT;MACF;;IAEF,2CAA2C;IAC3C,0CAA0C;IAC1C,qCAAqC;MACnC;MACA;QAAEC,mBAAmB;MAAK;;IAE5B,QAAQ;MAAC;MAAQ;;EACnB;AACF;;;AC5LA,OAAOC,mBAAmB;AAEnB,IAAMC,gBAAmC;EAC9CC,SAAS;IAAC;IAAY;IAAmB;IAAc;IAAQ;IAAY;;EAC3EC,SAAS;IAAEC,SAASJ;EAA+B;EACnDK,OAAO;IACL,GAAIL,cAAcM,QAAQ,kBAAA,EAA0CD;IACpE,4BAA4B;MAAC;;IAC7B,uCAAuC;MAAC;;IACxC,yBAAyB;MAAC;;IAC1B,4BAA4B;MAAC;;IAC7B,uCAAuC;MAAC;;IACxC,sCAAsC;MAAC;;IACvC,6BAA6B;MAAC;;IAC9B,mBAAmB;MAAC;;IACpB,+BAA+B;MAAC;;IAChC,yBAAyB;MAAC;;IAC1B,kCAAkC;MAAC;;IACnC,iCAAiC;MAAC;;EACpC;AACF;;;ACpBA,OAAOE,sBAAsB;AAEtB,IAAMC,mBAAsC;EACjDC,SAAS;IAAC;IAAY;IAAmB;IAAc;IAAQ;IAAY;;EAC3EC,SAAS;IAAEC,YAAYJ;EAAkC;EACzDK,OAAO;IACL,GAAIL,iBAAiBM,QAAQC,YAAkCF;IAC/D,kCAAkC;MAAC;;IACnC,iCAAiC;MAAC;;EACpC;AACF;;;ACXA,OAAOG,UAAU;AAGV,IAAMC,aAA4B;EACvCC,OAAO;IAAC;;EACRC,SAAS;IAAEH;EAAuC;EAClDI,UAAU;EACVC,OAAO;IAAE,0BAA0B;MAAC;;EAAS;AAC/C;AAEO,IAAMC,cAA6B;EACxCJ,OAAO;IAAC;;EACRC,SAAS;IAAEH;EAAuC;EAClDI,UAAU;EACVC,OAAO;IAAE,0BAA0B;MAAC;;EAAS;AAC/C;AAEO,IAAME,cAA6B;EACxCL,OAAO;IAAC;;EACRC,SAAS;IAAEH;EAAuC;EAClDI,UAAU;EACVC,OAAO;IAAE,0BAA0B;MAAC;;EAAS;AAC/C;;;ACrBA,OAAOG,mBAAmB;AAEnB,IAAMC,cAA6B;EACxCC,SAAS;IAAC;IAAY;IAAmB;IAAc;IAAQ;IAAY;;EAC3E,GAAGF,cAAcG;EACjBC,OAAO;IACL,GAAGJ,cAAcG,QAAQE,YAAYD;IACrC,2BAA2B;MAAC;;EAC9B;AACF;;;ACCO,IAAME,SAA0B;;EAErCC;EACAC;EACAC;EACAC;;EAEAC;;","names":["tsParser","importPlugin","simpleImportSort","importConfig","ignores","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","settings","typescript","rules","configs","recommended","maxDepth","allow","rulesConfig","ignores","rules","max","skipBlankLines","paths","esStylistic","tsPlugin","tsParser","dependPlugin","ignores","typescriptConfig","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","rules","configs","recommended","accessibility","allowSingleLine","avoidEscape","allowAllPropertiesOnSameLine","multiline","delimiter","requireLast","singleline","ObjectExpression","minProperties","consistent","ObjectPattern","ImportDeclaration","ExportDeclaration","code","selector","message","default","memberTypes","order","argsIgnorePattern","unicornPlugin","unicornConfig","ignores","plugins","unicorn","rules","configs","workspacesPlugin","workspacesConfig","ignores","plugins","workspaces","rules","configs","recommended","json","jsonConfig","files","plugins","language","rules","jsoncConfig","json5Config","sonarjsPlugin","sonarConfig","ignores","configs","rules","recommended","config","typescriptConfig","unicornConfig","workspacesConfig","rulesConfig","importConfig"]}
|
|
1
|
+
{"version":3,"sources":["../../src/import/index.ts","../../src/rules/index.ts","../../src/sonar/index.ts","../../src/typescript/index.ts","../../src/unicorn/index.ts","../../src/workspaces/index.ts","../../src/json/index.ts","../../src/index.ts"],"sourcesContent":["import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport importPlugin from 'eslint-plugin-import-x'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\n\nexport const importConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n files: ['**/*.ts', '**/*.d.ts', '**/*.tsx', '**/*.d.tsx', '**/*.ts', '**/*.d.ts', '**/*.jsx', '**/*.d.jsx'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n 'import-x': importPlugin as unknown as ESLint.Plugin,\n 'simple-import-sort': simpleImportSort,\n },\n settings: { 'import-x/resolver': { typescript: { project: './tsconfig-eslint.json' } } },\n rules: {\n ...(importPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'simple-import-sort/imports': ['warn'],\n 'simple-import-sort/exports': ['warn'],\n 'import-x/default': ['off'],\n 'import-x/named': ['off'],\n 'import-x/namespace': ['off'],\n 'import-x/no-absolute-path': ['warn'],\n 'import-x/no-cycle': [\n 'warn',\n { maxDepth: 2 },\n ],\n 'import-x/no-deprecated': ['off'],\n 'import-x/no-internal-modules': [\n 'warn',\n {\n allow: [\n 'vitest/*', // Allow imports from vitest\n '@*/**', // Allow imports from any @scoped package\n // Allow imports to any index.js file\n '**/index.js',\n '**/index.ts',\n '**/index.jsx',\n '**/index.tsx',\n ],\n },\n ],\n 'import-x/no-named-as-default-member': ['off'],\n 'import-x/no-named-as-default': ['off'],\n 'import-x/no-restricted-paths': ['warn'],\n 'import-x/no-self-import': ['warn'],\n 'import-x/no-useless-path-segments': ['warn'],\n },\n}\n","import type { Linter } from 'eslint'\n\nexport const rulesConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n rules: {\n 'complexity': ['error', 18],\n 'max-depth': ['error', 6],\n 'max-lines': [\n 'error',\n {\n max: 512,\n skipBlankLines: true,\n },\n ],\n 'array-element-newline': ['warn', 'consistent'],\n 'max-nested-callbacks': ['error', 6],\n 'max-statements': ['error', 32],\n 'no-restricted-imports': [\n 'warn',\n { paths: ['.', '..', '../..', '../../..', '../../../..', '../../../../..', '../../../../../..', '../../../../../../..'] },\n ],\n // 'no-secrets/no-secrets': ['off'],\n 'no-tabs': ['error'],\n 'no-unused-vars': 'off',\n 'no-useless-escape': 'off',\n 'quotes': [2, 'single', 'avoid-escape'],\n 'require-await': 'error',\n 'semi': ['warn', 'never'],\n // 'sort-keys-fix/sort-keys-fix': 'warn',\n },\n}\n","import type { Linter } from 'eslint'\nimport sonarjsPlugin from 'eslint-plugin-sonarjs'\n\nconst { rules, ...recommended } = sonarjsPlugin.configs.recommended\n\nexport const sonarConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n ...recommended,\n rules: {\n ...rules,\n 'sonarjs/no-small-switch': ['off'],\n 'sonarjs/os-command': ['off'],\n 'sonarjs/no-os-command-from-path': ['off'],\n 'sonarjs/no-nested-conditional': ['off'],\n 'sonarjs/todo-tag': ['warn'],\n 'sonarjs/deprecation': ['warn'],\n 'sonarjs/cognitive-complexity': ['warn'],\n 'sonarjs/no-nested-functions': ['off'],\n 'sonarjs/function-return-type': ['warn'],\n },\n}\n","import esStylistic from '@stylistic/eslint-plugin'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport dependPlugin from 'eslint-plugin-depend'\n\nexport const ignores = [\n '.yarn',\n 'node_modules',\n '**/node_modules',\n 'dist',\n '**/dist',\n '**/docs',\n 'public',\n 'storybook-static',\n '.eslintcache',\n '.github',\n '.vscode',\n '.husky',\n '.jest',\n '.next',\n '.vscode',\n 'coverage',\n 'cypress',\n 'dist',\n 'node_modules',\n 'public',\n 'storybook-static',\n 'tmp',\n 'yarn-error.log',\n 'yarn.lock',\n]\n\nexport const typescriptConfig: Linter.Config = {\n ignores,\n files: ['**/*.ts',\n '**/*.d.ts',\n '**/*.tsx',\n '**/*.d.tsx',\n '**/*.ts',\n '**/*.d.ts',\n '**/*.jsx',\n '**/*.d.jsx',\n '**/*.js',\n '**/*.cjs',\n '**/*.mjs'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n 'depend': dependPlugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['recommended-flat'].rules,\n ...dependPlugin.configs['flat/recommended'].rules,\n '@typescript-eslint/no-empty-object-type': ['off'],\n '@typescript-eslint/explicit-member-accessibility': ['warn', { accessibility: 'no-public' }],\n '@typescript-eslint/explicit-module-boundary-types': 'off',\n '@stylistic/brace-style': ['warn', '1tbs', { allowSingleLine: true }],\n '@stylistic/quotes': ['warn', 'single', { avoidEscape: true }],\n '@typescript-eslint/consistent-type-imports': ['warn'],\n '@stylistic/object-property-newline': ['warn', { allowAllPropertiesOnSameLine: true }],\n '@stylistic/function-call-argument-newline': ['warn', 'consistent'],\n '@stylistic/function-paren-newline': ['warn', 'multiline-arguments'],\n '@stylistic/member-delimiter-style': [\n 'error',\n {\n multiline: {\n delimiter: 'none',\n requireLast: true,\n },\n singleline: {\n delimiter: 'semi',\n requireLast: false,\n },\n },\n ],\n '@stylistic/object-curly-newline': ['warn', {\n ObjectExpression: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ObjectPattern: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ImportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ExportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n }],\n '@stylistic/max-len': ['warn', { code: 160 }],\n 'no-restricted-syntax': [\n 'warn',\n {\n selector: 'TSEnumDeclaration',\n message: 'Enums are disallowed. Consider using a union of string literals or a `const` object instead.',\n },\n ],\n '@typescript-eslint/member-ordering': [\n 'warn',\n {\n default: {\n memberTypes: [\n 'signature',\n 'call-signature',\n 'public-static-field',\n 'protected-static-field',\n 'private-static-field',\n 'public-decorated-field',\n 'protected-decorated-field',\n 'private-decorated-field',\n 'public-instance-field',\n 'protected-instance-field',\n 'private-instance-field',\n 'public-abstract-field',\n 'protected-abstract-field',\n 'public-field',\n 'protected-field',\n 'private-field',\n 'static-field',\n 'instance-field',\n 'abstract-field',\n 'decorated-field',\n 'field',\n 'public-constructor',\n 'protected-constructor',\n 'private-constructor',\n 'constructor',\n ['public-static-get', 'public-static-set'],\n ['protected-static-get', 'protected-static-set'],\n ['private-static-get', 'private-static-set'],\n ['public-decorated-get', 'public-decorated-set'],\n ['protected-decorated-get', 'protected-decorated-set'],\n ['private-decorated-get', 'private-decorated-set'],\n ['public-instance-get', 'public-instance-set'],\n ['protected-instance-get', 'protected-instance-set'],\n ['private-instance-get', 'private-instance-set'],\n ['public-abstract-get', 'public-abstract-set'],\n ['protected-abstract-get', 'protected-abstract-set'],\n ['public-get', 'public-set'],\n ['protected-get', 'protected-set'],\n ['private-get', 'private-set'],\n ['static-get', 'static-set'],\n ['instance-get', 'instance-set'],\n ['abstract-get', 'abstract-set'],\n ['decorated-get', 'decorated-set'],\n 'get',\n 'set',\n 'public-static-method',\n 'protected-static-method',\n 'private-static-method',\n 'public-decorated-method',\n 'protected-decorated-method',\n 'private-decorated-method',\n 'public-instance-method',\n 'protected-instance-method',\n 'private-instance-method',\n 'public-abstract-method',\n 'protected-abstract-method',\n 'public-method',\n 'protected-method',\n 'private-method',\n 'static-method',\n 'instance-method',\n 'abstract-method',\n 'decorated-method',\n 'method',\n ],\n order: 'alphabetically',\n },\n },\n ],\n '@typescript-eslint/no-floating-promises': 'error',\n '@typescript-eslint/no-misused-promises': 'error',\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n { argsIgnorePattern: '^_' },\n ],\n 'semi': ['warn', 'never'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { unicorn: unicornPlugin as ESLint.Plugin },\n rules: {\n ...(unicornPlugin.configs['flat/recommended'] as ESLint.ConfigData).rules,\n 'unicorn/catch-error-name': ['off'],\n 'unicorn/consistent-function-scoping': ['off'],\n 'unicorn/filename-case': ['off'],\n 'unicorn/new-for-builtins': ['off'],\n 'unicorn/no-array-callback-reference': ['off'],\n 'unicorn/no-await-expression-member': ['off'],\n 'unicorn/no-nested-ternary': ['off'],\n 'unicorn/no-null': ['off'],\n 'unicorn/number-literal-case': ['off'],\n 'unicorn/prefer-module': ['off'],\n 'unicorn/prefer-top-level-await': ['off'],\n 'unicorn/prevent-abbreviations': ['off'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport workspacesPlugin from 'eslint-plugin-workspaces'\n\nexport const workspacesConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { workspaces: workspacesPlugin as ESLint.Plugin },\n rules: {\n ...(workspacesPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'workspaces/no-relative-imports': ['off'],\n 'workspaces/require-dependency': ['off'],\n },\n}\n","import json from '@eslint/json'\nimport type { ESLint, Linter } from 'eslint'\n\nexport const jsonConfig: Linter.Config = {\n files: ['**/*.json'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const jsoncConfig: Linter.Config = {\n files: ['**/*.jsonc'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/jsonc',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const json5Config: Linter.Config = {\n files: ['**/*.json5'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json5',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n","import type { Linter } from 'eslint'\n\nimport { importConfig } from './import/index.ts'\n// import { markdownConfig } from './markdown/index.ts'\n// import { prettierConfig } from './prettier/index.ts'\nimport { rulesConfig } from './rules/index.ts'\nimport { sonarConfig } from './sonar/index.ts'\n// import { sonarConfig } from './sonar/index.ts'\nimport { typescriptConfig } from './typescript/index.ts'\nimport { unicornConfig } from './unicorn/index.ts'\nimport { workspacesConfig } from './workspaces/index.ts'\n\nexport const config: Linter.Config[] = [\n // markdownConfig,\n typescriptConfig,\n unicornConfig,\n workspacesConfig,\n rulesConfig,\n // prettierConfig,\n importConfig,\n sonarConfig,\n]\n\nexport { importConfig } from './import/index.ts'\nexport {\n json5Config, jsoncConfig, jsonConfig,\n} from './json/index.ts'\nexport { rulesConfig } from './rules/index.ts'\nexport { sonarConfig } from './sonar/index.ts'\nexport { ignores, typescriptConfig } from './typescript/index.ts'\nexport { unicornConfig } from './unicorn/index.ts'\nexport { workspacesConfig } from './workspaces/index.ts'\n"],"mappings":"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","names":["tsParser","importPlugin","simpleImportSort","importConfig","ignores","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","settings","typescript","rules","configs","recommended","maxDepth","allow","rulesConfig","ignores","rules","max","skipBlankLines","paths","sonarjsPlugin","rules","recommended","configs","sonarConfig","ignores","esStylistic","tsPlugin","tsParser","dependPlugin","ignores","typescriptConfig","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","rules","configs","recommended","accessibility","allowSingleLine","avoidEscape","allowAllPropertiesOnSameLine","multiline","delimiter","requireLast","singleline","ObjectExpression","minProperties","consistent","ObjectPattern","ImportDeclaration","ExportDeclaration","code","selector","message","default","memberTypes","order","argsIgnorePattern","unicornPlugin","unicornConfig","ignores","plugins","unicorn","rules","configs","workspacesPlugin","workspacesConfig","ignores","plugins","workspaces","rules","configs","recommended","json","jsonConfig","files","plugins","language","rules","jsoncConfig","json5Config","config","typescriptConfig","unicornConfig","workspacesConfig","rulesConfig","importConfig","sonarConfig"]}
|
package/dist/node/index.d.ts
CHANGED
|
@@ -6,16 +6,16 @@ declare const jsonConfig: Linter.Config;
|
|
|
6
6
|
declare const jsoncConfig: Linter.Config;
|
|
7
7
|
declare const json5Config: Linter.Config;
|
|
8
8
|
|
|
9
|
-
declare const rulesConfig: Linter.
|
|
9
|
+
declare const rulesConfig: Linter.Config;
|
|
10
10
|
|
|
11
11
|
declare const sonarConfig: Linter.Config;
|
|
12
12
|
|
|
13
13
|
declare const ignores: string[];
|
|
14
14
|
declare const typescriptConfig: Linter.Config;
|
|
15
15
|
|
|
16
|
-
declare const unicornConfig: Linter.
|
|
16
|
+
declare const unicornConfig: Linter.Config;
|
|
17
17
|
|
|
18
|
-
declare const workspacesConfig: Linter.
|
|
18
|
+
declare const workspacesConfig: Linter.Config;
|
|
19
19
|
|
|
20
20
|
declare const config: Linter.Config[];
|
|
21
21
|
|
package/dist/node/index.mjs
CHANGED
|
@@ -175,6 +175,51 @@ var rulesConfig = {
|
|
|
175
175
|
}
|
|
176
176
|
};
|
|
177
177
|
|
|
178
|
+
// src/sonar/index.ts
|
|
179
|
+
import sonarjsPlugin from "eslint-plugin-sonarjs";
|
|
180
|
+
var { rules, ...recommended } = sonarjsPlugin.configs.recommended;
|
|
181
|
+
var sonarConfig = {
|
|
182
|
+
ignores: [
|
|
183
|
+
".yarn/**",
|
|
184
|
+
"jest.config.cjs",
|
|
185
|
+
"**/dist/**",
|
|
186
|
+
"dist",
|
|
187
|
+
"build/**",
|
|
188
|
+
"node_modules/**"
|
|
189
|
+
],
|
|
190
|
+
...recommended,
|
|
191
|
+
rules: {
|
|
192
|
+
...rules,
|
|
193
|
+
"sonarjs/no-small-switch": [
|
|
194
|
+
"off"
|
|
195
|
+
],
|
|
196
|
+
"sonarjs/os-command": [
|
|
197
|
+
"off"
|
|
198
|
+
],
|
|
199
|
+
"sonarjs/no-os-command-from-path": [
|
|
200
|
+
"off"
|
|
201
|
+
],
|
|
202
|
+
"sonarjs/no-nested-conditional": [
|
|
203
|
+
"off"
|
|
204
|
+
],
|
|
205
|
+
"sonarjs/todo-tag": [
|
|
206
|
+
"warn"
|
|
207
|
+
],
|
|
208
|
+
"sonarjs/deprecation": [
|
|
209
|
+
"warn"
|
|
210
|
+
],
|
|
211
|
+
"sonarjs/cognitive-complexity": [
|
|
212
|
+
"warn"
|
|
213
|
+
],
|
|
214
|
+
"sonarjs/no-nested-functions": [
|
|
215
|
+
"off"
|
|
216
|
+
],
|
|
217
|
+
"sonarjs/function-return-type": [
|
|
218
|
+
"warn"
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
|
|
178
223
|
// src/typescript/index.ts
|
|
179
224
|
import esStylistic from "@stylistic/eslint-plugin";
|
|
180
225
|
import tsPlugin from "@typescript-eslint/eslint-plugin";
|
|
@@ -600,26 +645,6 @@ var json5Config = {
|
|
|
600
645
|
}
|
|
601
646
|
};
|
|
602
647
|
|
|
603
|
-
// src/sonar/index.ts
|
|
604
|
-
import sonarjsPlugin from "eslint-plugin-sonarjs";
|
|
605
|
-
var sonarConfig = {
|
|
606
|
-
ignores: [
|
|
607
|
-
".yarn/**",
|
|
608
|
-
"jest.config.cjs",
|
|
609
|
-
"**/dist/**",
|
|
610
|
-
"dist",
|
|
611
|
-
"build/**",
|
|
612
|
-
"node_modules/**"
|
|
613
|
-
],
|
|
614
|
-
...sonarjsPlugin.configs,
|
|
615
|
-
rules: {
|
|
616
|
-
...sonarjsPlugin.configs.recommended.rules,
|
|
617
|
-
"sonarjs/no-small-switch": [
|
|
618
|
-
"off"
|
|
619
|
-
]
|
|
620
|
-
}
|
|
621
|
-
};
|
|
622
|
-
|
|
623
648
|
// src/index.ts
|
|
624
649
|
var config = [
|
|
625
650
|
// markdownConfig,
|
|
@@ -628,7 +653,8 @@ var config = [
|
|
|
628
653
|
workspacesConfig,
|
|
629
654
|
rulesConfig,
|
|
630
655
|
// prettierConfig,
|
|
631
|
-
importConfig
|
|
656
|
+
importConfig,
|
|
657
|
+
sonarConfig
|
|
632
658
|
];
|
|
633
659
|
export {
|
|
634
660
|
config,
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/import/index.ts","../../src/rules/index.ts","../../src/typescript/index.ts","../../src/unicorn/index.ts","../../src/workspaces/index.ts","../../src/json/index.ts","../../src/sonar/index.ts","../../src/index.ts"],"sourcesContent":["import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport importPlugin from 'eslint-plugin-import-x'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\n\nexport const importConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n files: ['**/*.ts', '**/*.d.ts', '**/*.tsx', '**/*.d.tsx', '**/*.ts', '**/*.d.ts', '**/*.jsx', '**/*.d.jsx'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n 'import-x': importPlugin as unknown as ESLint.Plugin,\n 'simple-import-sort': simpleImportSort,\n },\n settings: { 'import-x/resolver': { typescript: { project: './tsconfig-eslint.json' } } },\n rules: {\n ...(importPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'simple-import-sort/imports': ['warn'],\n 'simple-import-sort/exports': ['warn'],\n 'import-x/default': ['off'],\n 'import-x/named': ['off'],\n 'import-x/namespace': ['off'],\n 'import-x/no-absolute-path': ['warn'],\n 'import-x/no-cycle': [\n 'warn',\n { maxDepth: 2 },\n ],\n 'import-x/no-deprecated': ['off'],\n 'import-x/no-internal-modules': [\n 'warn',\n {\n allow: [\n 'vitest/*', // Allow imports from vitest\n '@*/**', // Allow imports from any @scoped package\n // Allow imports to any index.js file\n '**/index.js',\n '**/index.ts',\n '**/index.jsx',\n '**/index.tsx',\n ],\n },\n ],\n 'import-x/no-named-as-default-member': ['off'],\n 'import-x/no-named-as-default': ['off'],\n 'import-x/no-restricted-paths': ['warn'],\n 'import-x/no-self-import': ['warn'],\n 'import-x/no-useless-path-segments': ['warn'],\n },\n}\n","import type { Linter } from 'eslint'\n\nexport const rulesConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n rules: {\n 'complexity': ['error', 18],\n 'max-depth': ['error', 6],\n 'max-lines': [\n 'error',\n {\n max: 512,\n skipBlankLines: true,\n },\n ],\n 'array-element-newline': ['warn', 'consistent'],\n 'max-nested-callbacks': ['error', 6],\n 'max-statements': ['error', 32],\n 'no-restricted-imports': [\n 'warn',\n { paths: ['.', '..', '../..', '../../..', '../../../..', '../../../../..', '../../../../../..', '../../../../../../..'] },\n ],\n // 'no-secrets/no-secrets': ['off'],\n 'no-tabs': ['error'],\n 'no-unused-vars': 'off',\n 'no-useless-escape': 'off',\n 'quotes': [2, 'single', 'avoid-escape'],\n 'require-await': 'error',\n 'semi': ['warn', 'never'],\n // 'sort-keys-fix/sort-keys-fix': 'warn',\n },\n}\n","import esStylistic from '@stylistic/eslint-plugin'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport dependPlugin from 'eslint-plugin-depend'\n\nexport const ignores = [\n '.yarn',\n 'node_modules',\n '**/node_modules',\n 'dist',\n '**/dist',\n '**/docs',\n 'public',\n 'storybook-static',\n '.eslintcache',\n '.github',\n '.vscode',\n '.husky',\n '.jest',\n '.next',\n '.vscode',\n 'coverage',\n 'cypress',\n 'dist',\n 'node_modules',\n 'public',\n 'storybook-static',\n 'tmp',\n 'yarn-error.log',\n 'yarn.lock',\n]\n\nexport const typescriptConfig: Linter.Config = {\n ignores,\n files: ['**/*.ts',\n '**/*.d.ts',\n '**/*.tsx',\n '**/*.d.tsx',\n '**/*.ts',\n '**/*.d.ts',\n '**/*.jsx',\n '**/*.d.jsx',\n '**/*.js',\n '**/*.cjs',\n '**/*.mjs'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n 'depend': dependPlugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['recommended-flat'].rules,\n ...dependPlugin.configs['flat/recommended'].rules,\n '@typescript-eslint/no-empty-object-type': ['off'],\n '@typescript-eslint/explicit-member-accessibility': ['warn', { accessibility: 'no-public' }],\n '@typescript-eslint/explicit-module-boundary-types': 'off',\n '@stylistic/brace-style': ['warn', '1tbs', { allowSingleLine: true }],\n '@stylistic/quotes': ['warn', 'single', { avoidEscape: true }],\n '@typescript-eslint/consistent-type-imports': ['warn'],\n '@stylistic/object-property-newline': ['warn', { allowAllPropertiesOnSameLine: true }],\n '@stylistic/function-call-argument-newline': ['warn', 'consistent'],\n '@stylistic/function-paren-newline': ['warn', 'multiline-arguments'],\n '@stylistic/member-delimiter-style': [\n 'error',\n {\n multiline: {\n delimiter: 'none',\n requireLast: true,\n },\n singleline: {\n delimiter: 'semi',\n requireLast: false,\n },\n },\n ],\n '@stylistic/object-curly-newline': ['warn', {\n ObjectExpression: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ObjectPattern: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ImportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ExportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n }],\n '@stylistic/max-len': ['warn', { code: 160 }],\n 'no-restricted-syntax': [\n 'warn',\n {\n selector: 'TSEnumDeclaration',\n message: 'Enums are disallowed. Consider using a union of string literals or a `const` object instead.',\n },\n ],\n '@typescript-eslint/member-ordering': [\n 'warn',\n {\n default: {\n memberTypes: [\n 'signature',\n 'call-signature',\n 'public-static-field',\n 'protected-static-field',\n 'private-static-field',\n 'public-decorated-field',\n 'protected-decorated-field',\n 'private-decorated-field',\n 'public-instance-field',\n 'protected-instance-field',\n 'private-instance-field',\n 'public-abstract-field',\n 'protected-abstract-field',\n 'public-field',\n 'protected-field',\n 'private-field',\n 'static-field',\n 'instance-field',\n 'abstract-field',\n 'decorated-field',\n 'field',\n 'public-constructor',\n 'protected-constructor',\n 'private-constructor',\n 'constructor',\n ['public-static-get', 'public-static-set'],\n ['protected-static-get', 'protected-static-set'],\n ['private-static-get', 'private-static-set'],\n ['public-decorated-get', 'public-decorated-set'],\n ['protected-decorated-get', 'protected-decorated-set'],\n ['private-decorated-get', 'private-decorated-set'],\n ['public-instance-get', 'public-instance-set'],\n ['protected-instance-get', 'protected-instance-set'],\n ['private-instance-get', 'private-instance-set'],\n ['public-abstract-get', 'public-abstract-set'],\n ['protected-abstract-get', 'protected-abstract-set'],\n ['public-get', 'public-set'],\n ['protected-get', 'protected-set'],\n ['private-get', 'private-set'],\n ['static-get', 'static-set'],\n ['instance-get', 'instance-set'],\n ['abstract-get', 'abstract-set'],\n ['decorated-get', 'decorated-set'],\n 'get',\n 'set',\n 'public-static-method',\n 'protected-static-method',\n 'private-static-method',\n 'public-decorated-method',\n 'protected-decorated-method',\n 'private-decorated-method',\n 'public-instance-method',\n 'protected-instance-method',\n 'private-instance-method',\n 'public-abstract-method',\n 'protected-abstract-method',\n 'public-method',\n 'protected-method',\n 'private-method',\n 'static-method',\n 'instance-method',\n 'abstract-method',\n 'decorated-method',\n 'method',\n ],\n order: 'alphabetically',\n },\n },\n ],\n '@typescript-eslint/no-floating-promises': 'error',\n '@typescript-eslint/no-misused-promises': 'error',\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n { argsIgnorePattern: '^_' },\n ],\n 'semi': ['warn', 'never'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { unicorn: unicornPlugin as ESLint.Plugin },\n rules: {\n ...(unicornPlugin.configs['flat/recommended'] as ESLint.ConfigData).rules,\n 'unicorn/catch-error-name': ['off'],\n 'unicorn/consistent-function-scoping': ['off'],\n 'unicorn/filename-case': ['off'],\n 'unicorn/new-for-builtins': ['off'],\n 'unicorn/no-array-callback-reference': ['off'],\n 'unicorn/no-await-expression-member': ['off'],\n 'unicorn/no-nested-ternary': ['off'],\n 'unicorn/no-null': ['off'],\n 'unicorn/number-literal-case': ['off'],\n 'unicorn/prefer-module': ['off'],\n 'unicorn/prefer-top-level-await': ['off'],\n 'unicorn/prevent-abbreviations': ['off'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport workspacesPlugin from 'eslint-plugin-workspaces'\n\nexport const workspacesConfig: Linter.FlatConfig = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { workspaces: workspacesPlugin as ESLint.Plugin },\n rules: {\n ...(workspacesPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'workspaces/no-relative-imports': ['off'],\n 'workspaces/require-dependency': ['off'],\n },\n}\n","import json from '@eslint/json'\nimport type { ESLint, Linter } from 'eslint'\n\nexport const jsonConfig: Linter.Config = {\n files: ['**/*.json'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const jsoncConfig: Linter.Config = {\n files: ['**/*.jsonc'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/jsonc',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const json5Config: Linter.Config = {\n files: ['**/*.json5'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json5',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n","import type { Linter } from 'eslint'\nimport sonarjsPlugin from 'eslint-plugin-sonarjs'\n\nexport const sonarConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n ...sonarjsPlugin.configs,\n rules: {\n ...sonarjsPlugin.configs.recommended.rules,\n 'sonarjs/no-small-switch': ['off'],\n },\n}\n","import type { Linter } from 'eslint'\n\nimport { importConfig } from './import/index.ts'\n// import { markdownConfig } from './markdown/index.ts'\n// import { prettierConfig } from './prettier/index.ts'\nimport { rulesConfig } from './rules/index.ts'\n// import { sonarConfig } from './sonar/index.ts'\nimport { typescriptConfig } from './typescript/index.ts'\nimport { unicornConfig } from './unicorn/index.ts'\nimport { workspacesConfig } from './workspaces/index.ts'\n\nexport const config: Linter.Config[] = [\n // markdownConfig,\n typescriptConfig,\n unicornConfig,\n workspacesConfig,\n rulesConfig,\n // prettierConfig,\n importConfig,\n // sonarConfig\n]\n\nexport { importConfig } from './import/index.ts'\nexport {\n json5Config, jsoncConfig, jsonConfig,\n} from './json/index.ts'\nexport { rulesConfig } from './rules/index.ts'\nexport { sonarConfig } from './sonar/index.ts'\nexport { ignores, typescriptConfig } from './typescript/index.ts'\nexport { unicornConfig } from './unicorn/index.ts'\nexport { workspacesConfig } from './workspaces/index.ts'\n"],"mappings":"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","names":["tsParser","importPlugin","simpleImportSort","importConfig","ignores","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","settings","typescript","rules","configs","recommended","maxDepth","allow","rulesConfig","ignores","rules","max","skipBlankLines","paths","esStylistic","tsPlugin","tsParser","dependPlugin","ignores","typescriptConfig","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","rules","configs","recommended","accessibility","allowSingleLine","avoidEscape","allowAllPropertiesOnSameLine","multiline","delimiter","requireLast","singleline","ObjectExpression","minProperties","consistent","ObjectPattern","ImportDeclaration","ExportDeclaration","code","selector","message","default","memberTypes","order","argsIgnorePattern","unicornPlugin","unicornConfig","ignores","plugins","unicorn","rules","configs","workspacesPlugin","workspacesConfig","ignores","plugins","workspaces","rules","configs","recommended","json","jsonConfig","files","plugins","language","rules","jsoncConfig","json5Config","sonarjsPlugin","sonarConfig","ignores","configs","rules","recommended","config","typescriptConfig","unicornConfig","workspacesConfig","rulesConfig","importConfig"]}
|
|
1
|
+
{"version":3,"sources":["../../src/import/index.ts","../../src/rules/index.ts","../../src/sonar/index.ts","../../src/typescript/index.ts","../../src/unicorn/index.ts","../../src/workspaces/index.ts","../../src/json/index.ts","../../src/index.ts"],"sourcesContent":["import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport importPlugin from 'eslint-plugin-import-x'\nimport simpleImportSort from 'eslint-plugin-simple-import-sort'\n\nexport const importConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n files: ['**/*.ts', '**/*.d.ts', '**/*.tsx', '**/*.d.tsx', '**/*.ts', '**/*.d.ts', '**/*.jsx', '**/*.d.jsx'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n 'import-x': importPlugin as unknown as ESLint.Plugin,\n 'simple-import-sort': simpleImportSort,\n },\n settings: { 'import-x/resolver': { typescript: { project: './tsconfig-eslint.json' } } },\n rules: {\n ...(importPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'simple-import-sort/imports': ['warn'],\n 'simple-import-sort/exports': ['warn'],\n 'import-x/default': ['off'],\n 'import-x/named': ['off'],\n 'import-x/namespace': ['off'],\n 'import-x/no-absolute-path': ['warn'],\n 'import-x/no-cycle': [\n 'warn',\n { maxDepth: 2 },\n ],\n 'import-x/no-deprecated': ['off'],\n 'import-x/no-internal-modules': [\n 'warn',\n {\n allow: [\n 'vitest/*', // Allow imports from vitest\n '@*/**', // Allow imports from any @scoped package\n // Allow imports to any index.js file\n '**/index.js',\n '**/index.ts',\n '**/index.jsx',\n '**/index.tsx',\n ],\n },\n ],\n 'import-x/no-named-as-default-member': ['off'],\n 'import-x/no-named-as-default': ['off'],\n 'import-x/no-restricted-paths': ['warn'],\n 'import-x/no-self-import': ['warn'],\n 'import-x/no-useless-path-segments': ['warn'],\n },\n}\n","import type { Linter } from 'eslint'\n\nexport const rulesConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n rules: {\n 'complexity': ['error', 18],\n 'max-depth': ['error', 6],\n 'max-lines': [\n 'error',\n {\n max: 512,\n skipBlankLines: true,\n },\n ],\n 'array-element-newline': ['warn', 'consistent'],\n 'max-nested-callbacks': ['error', 6],\n 'max-statements': ['error', 32],\n 'no-restricted-imports': [\n 'warn',\n { paths: ['.', '..', '../..', '../../..', '../../../..', '../../../../..', '../../../../../..', '../../../../../../..'] },\n ],\n // 'no-secrets/no-secrets': ['off'],\n 'no-tabs': ['error'],\n 'no-unused-vars': 'off',\n 'no-useless-escape': 'off',\n 'quotes': [2, 'single', 'avoid-escape'],\n 'require-await': 'error',\n 'semi': ['warn', 'never'],\n // 'sort-keys-fix/sort-keys-fix': 'warn',\n },\n}\n","import type { Linter } from 'eslint'\nimport sonarjsPlugin from 'eslint-plugin-sonarjs'\n\nconst { rules, ...recommended } = sonarjsPlugin.configs.recommended\n\nexport const sonarConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n ...recommended,\n rules: {\n ...rules,\n 'sonarjs/no-small-switch': ['off'],\n 'sonarjs/os-command': ['off'],\n 'sonarjs/no-os-command-from-path': ['off'],\n 'sonarjs/no-nested-conditional': ['off'],\n 'sonarjs/todo-tag': ['warn'],\n 'sonarjs/deprecation': ['warn'],\n 'sonarjs/cognitive-complexity': ['warn'],\n 'sonarjs/no-nested-functions': ['off'],\n 'sonarjs/function-return-type': ['warn'],\n },\n}\n","import esStylistic from '@stylistic/eslint-plugin'\nimport tsPlugin from '@typescript-eslint/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport dependPlugin from 'eslint-plugin-depend'\n\nexport const ignores = [\n '.yarn',\n 'node_modules',\n '**/node_modules',\n 'dist',\n '**/dist',\n '**/docs',\n 'public',\n 'storybook-static',\n '.eslintcache',\n '.github',\n '.vscode',\n '.husky',\n '.jest',\n '.next',\n '.vscode',\n 'coverage',\n 'cypress',\n 'dist',\n 'node_modules',\n 'public',\n 'storybook-static',\n 'tmp',\n 'yarn-error.log',\n 'yarn.lock',\n]\n\nexport const typescriptConfig: Linter.Config = {\n ignores,\n files: ['**/*.ts',\n '**/*.d.ts',\n '**/*.tsx',\n '**/*.d.tsx',\n '**/*.ts',\n '**/*.d.ts',\n '**/*.jsx',\n '**/*.d.jsx',\n '**/*.js',\n '**/*.cjs',\n '**/*.mjs'],\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { modules: true },\n ecmaVersion: 'latest',\n project: './tsconfig-eslint.json',\n },\n },\n plugins: {\n '@typescript-eslint': tsPlugin as unknown as ESLint.Plugin,\n '@stylistic': esStylistic as unknown as ESLint.Plugin,\n 'depend': dependPlugin,\n },\n rules: {\n ...tsPlugin.configs.recommended.rules,\n ...esStylistic.configs['recommended-flat'].rules,\n ...dependPlugin.configs['flat/recommended'].rules,\n '@typescript-eslint/no-empty-object-type': ['off'],\n '@typescript-eslint/explicit-member-accessibility': ['warn', { accessibility: 'no-public' }],\n '@typescript-eslint/explicit-module-boundary-types': 'off',\n '@stylistic/brace-style': ['warn', '1tbs', { allowSingleLine: true }],\n '@stylistic/quotes': ['warn', 'single', { avoidEscape: true }],\n '@typescript-eslint/consistent-type-imports': ['warn'],\n '@stylistic/object-property-newline': ['warn', { allowAllPropertiesOnSameLine: true }],\n '@stylistic/function-call-argument-newline': ['warn', 'consistent'],\n '@stylistic/function-paren-newline': ['warn', 'multiline-arguments'],\n '@stylistic/member-delimiter-style': [\n 'error',\n {\n multiline: {\n delimiter: 'none',\n requireLast: true,\n },\n singleline: {\n delimiter: 'semi',\n requireLast: false,\n },\n },\n ],\n '@stylistic/object-curly-newline': ['warn', {\n ObjectExpression: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ObjectPattern: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ImportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n ExportDeclaration: {\n multiline: true, minProperties: 3, consistent: false,\n },\n }],\n '@stylistic/max-len': ['warn', { code: 160 }],\n 'no-restricted-syntax': [\n 'warn',\n {\n selector: 'TSEnumDeclaration',\n message: 'Enums are disallowed. Consider using a union of string literals or a `const` object instead.',\n },\n ],\n '@typescript-eslint/member-ordering': [\n 'warn',\n {\n default: {\n memberTypes: [\n 'signature',\n 'call-signature',\n 'public-static-field',\n 'protected-static-field',\n 'private-static-field',\n 'public-decorated-field',\n 'protected-decorated-field',\n 'private-decorated-field',\n 'public-instance-field',\n 'protected-instance-field',\n 'private-instance-field',\n 'public-abstract-field',\n 'protected-abstract-field',\n 'public-field',\n 'protected-field',\n 'private-field',\n 'static-field',\n 'instance-field',\n 'abstract-field',\n 'decorated-field',\n 'field',\n 'public-constructor',\n 'protected-constructor',\n 'private-constructor',\n 'constructor',\n ['public-static-get', 'public-static-set'],\n ['protected-static-get', 'protected-static-set'],\n ['private-static-get', 'private-static-set'],\n ['public-decorated-get', 'public-decorated-set'],\n ['protected-decorated-get', 'protected-decorated-set'],\n ['private-decorated-get', 'private-decorated-set'],\n ['public-instance-get', 'public-instance-set'],\n ['protected-instance-get', 'protected-instance-set'],\n ['private-instance-get', 'private-instance-set'],\n ['public-abstract-get', 'public-abstract-set'],\n ['protected-abstract-get', 'protected-abstract-set'],\n ['public-get', 'public-set'],\n ['protected-get', 'protected-set'],\n ['private-get', 'private-set'],\n ['static-get', 'static-set'],\n ['instance-get', 'instance-set'],\n ['abstract-get', 'abstract-set'],\n ['decorated-get', 'decorated-set'],\n 'get',\n 'set',\n 'public-static-method',\n 'protected-static-method',\n 'private-static-method',\n 'public-decorated-method',\n 'protected-decorated-method',\n 'private-decorated-method',\n 'public-instance-method',\n 'protected-instance-method',\n 'private-instance-method',\n 'public-abstract-method',\n 'protected-abstract-method',\n 'public-method',\n 'protected-method',\n 'private-method',\n 'static-method',\n 'instance-method',\n 'abstract-method',\n 'decorated-method',\n 'method',\n ],\n order: 'alphabetically',\n },\n },\n ],\n '@typescript-eslint/no-floating-promises': 'error',\n '@typescript-eslint/no-misused-promises': 'error',\n '@typescript-eslint/no-unused-vars': [\n 'warn',\n { argsIgnorePattern: '^_' },\n ],\n 'semi': ['warn', 'never'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport unicornPlugin from 'eslint-plugin-unicorn'\n\nexport const unicornConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { unicorn: unicornPlugin as ESLint.Plugin },\n rules: {\n ...(unicornPlugin.configs['flat/recommended'] as ESLint.ConfigData).rules,\n 'unicorn/catch-error-name': ['off'],\n 'unicorn/consistent-function-scoping': ['off'],\n 'unicorn/filename-case': ['off'],\n 'unicorn/new-for-builtins': ['off'],\n 'unicorn/no-array-callback-reference': ['off'],\n 'unicorn/no-await-expression-member': ['off'],\n 'unicorn/no-nested-ternary': ['off'],\n 'unicorn/no-null': ['off'],\n 'unicorn/number-literal-case': ['off'],\n 'unicorn/prefer-module': ['off'],\n 'unicorn/prefer-top-level-await': ['off'],\n 'unicorn/prevent-abbreviations': ['off'],\n },\n}\n","import type { ESLint, Linter } from 'eslint'\nimport workspacesPlugin from 'eslint-plugin-workspaces'\n\nexport const workspacesConfig: Linter.Config = {\n ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],\n plugins: { workspaces: workspacesPlugin as ESLint.Plugin },\n rules: {\n ...(workspacesPlugin.configs.recommended as ESLint.ConfigData).rules,\n 'workspaces/no-relative-imports': ['off'],\n 'workspaces/require-dependency': ['off'],\n },\n}\n","import json from '@eslint/json'\nimport type { ESLint, Linter } from 'eslint'\n\nexport const jsonConfig: Linter.Config = {\n files: ['**/*.json'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const jsoncConfig: Linter.Config = {\n files: ['**/*.jsonc'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/jsonc',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n\nexport const json5Config: Linter.Config = {\n files: ['**/*.json5'],\n plugins: { json: json as unknown as ESLint.Plugin },\n language: 'json/json5',\n rules: { 'json/no-duplicate-keys': ['error'] },\n}\n","import type { Linter } from 'eslint'\n\nimport { importConfig } from './import/index.ts'\n// import { markdownConfig } from './markdown/index.ts'\n// import { prettierConfig } from './prettier/index.ts'\nimport { rulesConfig } from './rules/index.ts'\nimport { sonarConfig } from './sonar/index.ts'\n// import { sonarConfig } from './sonar/index.ts'\nimport { typescriptConfig } from './typescript/index.ts'\nimport { unicornConfig } from './unicorn/index.ts'\nimport { workspacesConfig } from './workspaces/index.ts'\n\nexport const config: Linter.Config[] = [\n // markdownConfig,\n typescriptConfig,\n unicornConfig,\n workspacesConfig,\n rulesConfig,\n // prettierConfig,\n importConfig,\n sonarConfig,\n]\n\nexport { importConfig } from './import/index.ts'\nexport {\n json5Config, jsoncConfig, jsonConfig,\n} from './json/index.ts'\nexport { rulesConfig } from './rules/index.ts'\nexport { sonarConfig } from './sonar/index.ts'\nexport { ignores, typescriptConfig } from './typescript/index.ts'\nexport { unicornConfig } from './unicorn/index.ts'\nexport { workspacesConfig } from './workspaces/index.ts'\n"],"mappings":"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","names":["tsParser","importPlugin","simpleImportSort","importConfig","ignores","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","settings","typescript","rules","configs","recommended","maxDepth","allow","rulesConfig","ignores","rules","max","skipBlankLines","paths","sonarjsPlugin","rules","recommended","configs","sonarConfig","ignores","esStylistic","tsPlugin","tsParser","dependPlugin","ignores","typescriptConfig","files","languageOptions","parser","parserOptions","ecmaFeatures","modules","ecmaVersion","project","plugins","rules","configs","recommended","accessibility","allowSingleLine","avoidEscape","allowAllPropertiesOnSameLine","multiline","delimiter","requireLast","singleline","ObjectExpression","minProperties","consistent","ObjectPattern","ImportDeclaration","ExportDeclaration","code","selector","message","default","memberTypes","order","argsIgnorePattern","unicornPlugin","unicornConfig","ignores","plugins","unicorn","rules","configs","workspacesPlugin","workspacesConfig","ignores","plugins","workspaces","rules","configs","recommended","json","jsonConfig","files","plugins","language","rules","jsoncConfig","json5Config","config","typescriptConfig","unicornConfig","workspacesConfig","rulesConfig","importConfig","sonarConfig"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xylabs/eslint-config-flat",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "5.0.0",
|
|
5
5
|
"description": "ESLint Config used throughout XY Labs TypeScript/JavaScript libraries and react projects",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"xylabs",
|
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
"package-compile2": "yarn tsc -p tsconfig.json --module es2022 --outDir dist --rootDir src"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@eslint/json": "^0.
|
|
40
|
-
"@stylistic/eslint-plugin": "^
|
|
41
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
42
|
-
"@typescript-eslint/parser": "^8.
|
|
43
|
-
"eslint": "^9.
|
|
39
|
+
"@eslint/json": "^0.10.0",
|
|
40
|
+
"@stylistic/eslint-plugin": "^3.0.1",
|
|
41
|
+
"@typescript-eslint/eslint-plugin": "^8.22.0",
|
|
42
|
+
"@typescript-eslint/parser": "^8.22.0",
|
|
43
|
+
"eslint": "^9.19.0",
|
|
44
44
|
"eslint-plugin-depend": "^0.12.0",
|
|
45
|
-
"eslint-plugin-import-x": "^4.
|
|
45
|
+
"eslint-plugin-import-x": "^4.6.1",
|
|
46
46
|
"eslint-plugin-md": "^1.0.19",
|
|
47
|
-
"eslint-plugin-package-json": "^0.
|
|
47
|
+
"eslint-plugin-package-json": "^0.21.1",
|
|
48
48
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
49
49
|
"eslint-plugin-sonarjs": "^3.0.1",
|
|
50
50
|
"eslint-plugin-unicorn": "^56.0.1",
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"jsonc-eslint-parser": "^2.4.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@xylabs/ts-scripts-yarn3": "^
|
|
56
|
-
"@xylabs/tsconfig": "^
|
|
57
|
-
"eslint": "^9.
|
|
58
|
-
"typescript": "^5.7.
|
|
55
|
+
"@xylabs/ts-scripts-yarn3": "^5.0.0",
|
|
56
|
+
"@xylabs/tsconfig": "^5.0.0",
|
|
57
|
+
"eslint": "^9.19.0",
|
|
58
|
+
"typescript": "^5.7.3"
|
|
59
59
|
},
|
|
60
60
|
"publishConfig": {
|
|
61
61
|
"access": "public"
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { importConfig } from './import/index.ts'
|
|
|
4
4
|
// import { markdownConfig } from './markdown/index.ts'
|
|
5
5
|
// import { prettierConfig } from './prettier/index.ts'
|
|
6
6
|
import { rulesConfig } from './rules/index.ts'
|
|
7
|
+
import { sonarConfig } from './sonar/index.ts'
|
|
7
8
|
// import { sonarConfig } from './sonar/index.ts'
|
|
8
9
|
import { typescriptConfig } from './typescript/index.ts'
|
|
9
10
|
import { unicornConfig } from './unicorn/index.ts'
|
|
@@ -17,7 +18,7 @@ export const config: Linter.Config[] = [
|
|
|
17
18
|
rulesConfig,
|
|
18
19
|
// prettierConfig,
|
|
19
20
|
importConfig,
|
|
20
|
-
|
|
21
|
+
sonarConfig,
|
|
21
22
|
]
|
|
22
23
|
|
|
23
24
|
export { importConfig } from './import/index.ts'
|
package/src/markdown/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ESLint, Linter } from 'eslint'
|
|
2
2
|
import mdPlugin from 'eslint-plugin-md'
|
|
3
3
|
|
|
4
|
-
export const markdownConfig: Linter.
|
|
4
|
+
export const markdownConfig: Linter.Config = {
|
|
5
5
|
ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],
|
|
6
6
|
files: ['*.md'],
|
|
7
7
|
processor: 'md/markdown',
|
package/src/rules/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Linter } from 'eslint'
|
|
2
2
|
|
|
3
|
-
export const rulesConfig: Linter.
|
|
3
|
+
export const rulesConfig: Linter.Config = {
|
|
4
4
|
ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],
|
|
5
5
|
rules: {
|
|
6
6
|
'complexity': ['error', 18],
|
package/src/sonar/index.ts
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import type { Linter } from 'eslint'
|
|
2
2
|
import sonarjsPlugin from 'eslint-plugin-sonarjs'
|
|
3
3
|
|
|
4
|
+
const { rules, ...recommended } = sonarjsPlugin.configs.recommended
|
|
5
|
+
|
|
4
6
|
export const sonarConfig: Linter.Config = {
|
|
5
7
|
ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],
|
|
6
|
-
...
|
|
8
|
+
...recommended,
|
|
7
9
|
rules: {
|
|
8
|
-
...
|
|
10
|
+
...rules,
|
|
9
11
|
'sonarjs/no-small-switch': ['off'],
|
|
12
|
+
'sonarjs/os-command': ['off'],
|
|
13
|
+
'sonarjs/no-os-command-from-path': ['off'],
|
|
14
|
+
'sonarjs/no-nested-conditional': ['off'],
|
|
15
|
+
'sonarjs/todo-tag': ['warn'],
|
|
16
|
+
'sonarjs/deprecation': ['warn'],
|
|
17
|
+
'sonarjs/cognitive-complexity': ['warn'],
|
|
18
|
+
'sonarjs/no-nested-functions': ['off'],
|
|
19
|
+
'sonarjs/function-return-type': ['warn'],
|
|
10
20
|
},
|
|
11
21
|
}
|
package/src/unicorn/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ESLint, Linter } from 'eslint'
|
|
2
2
|
import unicornPlugin from 'eslint-plugin-unicorn'
|
|
3
3
|
|
|
4
|
-
export const unicornConfig: Linter.
|
|
4
|
+
export const unicornConfig: Linter.Config = {
|
|
5
5
|
ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],
|
|
6
6
|
plugins: { unicorn: unicornPlugin as ESLint.Plugin },
|
|
7
7
|
rules: {
|
package/src/workspaces/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ESLint, Linter } from 'eslint'
|
|
2
2
|
import workspacesPlugin from 'eslint-plugin-workspaces'
|
|
3
3
|
|
|
4
|
-
export const workspacesConfig: Linter.
|
|
4
|
+
export const workspacesConfig: Linter.Config = {
|
|
5
5
|
ignores: ['.yarn/**', 'jest.config.cjs', '**/dist/**', 'dist', 'build/**', 'node_modules/**'],
|
|
6
6
|
plugins: { workspaces: workspacesPlugin as ESLint.Plugin },
|
|
7
7
|
rules: {
|