@the-stranger/eslint-plugin 2.0.2 → 2.1.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.
Files changed (79) hide show
  1. package/README.md +41 -29
  2. package/package.json +26 -72
  3. package/src/index.d.ts +1 -2
  4. package/src/index.js +1 -1
  5. package/src/lib/configs.d.ts +19 -0
  6. package/src/lib/configs.js +65 -0
  7. package/src/lib/disable-type-checked.d.ts +4 -0
  8. package/src/lib/disable-type-checked.js +8 -0
  9. package/src/lib/meta.d.ts +0 -1
  10. package/src/lib/namer.d.ts +3 -1
  11. package/src/lib/namer.js +2 -0
  12. package/src/lib/utils/get-module-root.d.ts +11 -0
  13. package/src/lib/utils/get-module-root.js +31 -0
  14. package/src/lib/utils/optional-import-resolver.d.ts +76 -0
  15. package/src/lib/utils/optional-import-resolver.js +168 -0
  16. package/src/lib/utils/optional-import.d.ts +47 -0
  17. package/src/lib/utils/optional-import.js +142 -0
  18. package/src/lib/utils/options.d.ts +3 -0
  19. package/src/lib/utils/options.js +24 -0
  20. package/src/utils.d.ts +2 -4
  21. package/src/utils.js +2 -3
  22. package/src/index.d.ts.map +0 -1
  23. package/src/lib/configs/index.d.ts +0 -17
  24. package/src/lib/configs/index.d.ts.map +0 -1
  25. package/src/lib/configs/index.js +0 -26
  26. package/src/lib/configs/jest.d.ts +0 -4
  27. package/src/lib/configs/jest.d.ts.map +0 -1
  28. package/src/lib/configs/jest.js +0 -27
  29. package/src/lib/configs/jsdoc.d.ts +0 -5
  30. package/src/lib/configs/jsdoc.d.ts.map +0 -1
  31. package/src/lib/configs/jsdoc.js +0 -44
  32. package/src/lib/configs/jsonc.d.ts +0 -4
  33. package/src/lib/configs/jsonc.d.ts.map +0 -1
  34. package/src/lib/configs/jsonc.js +0 -128
  35. package/src/lib/configs/n.d.ts +0 -4
  36. package/src/lib/configs/n.d.ts.map +0 -1
  37. package/src/lib/configs/n.js +0 -24
  38. package/src/lib/configs/nx.d.ts +0 -6
  39. package/src/lib/configs/nx.d.ts.map +0 -1
  40. package/src/lib/configs/nx.js +0 -45
  41. package/src/lib/configs/perfectionist.d.ts +0 -4
  42. package/src/lib/configs/perfectionist.d.ts.map +0 -1
  43. package/src/lib/configs/perfectionist.js +0 -129
  44. package/src/lib/configs/promise.d.ts +0 -4
  45. package/src/lib/configs/promise.d.ts.map +0 -1
  46. package/src/lib/configs/promise.js +0 -16
  47. package/src/lib/configs/regexp.d.ts +0 -4
  48. package/src/lib/configs/regexp.d.ts.map +0 -1
  49. package/src/lib/configs/regexp.js +0 -5
  50. package/src/lib/configs/toml.d.ts +0 -4
  51. package/src/lib/configs/toml.d.ts.map +0 -1
  52. package/src/lib/configs/toml.js +0 -35
  53. package/src/lib/configs/typescript-eslint.d.ts +0 -4
  54. package/src/lib/configs/typescript-eslint.d.ts.map +0 -1
  55. package/src/lib/configs/typescript-eslint.js +0 -26
  56. package/src/lib/configs/unicorn.d.ts +0 -4
  57. package/src/lib/configs/unicorn.d.ts.map +0 -1
  58. package/src/lib/configs/unicorn.js +0 -66
  59. package/src/lib/configs/vitest.d.ts +0 -4
  60. package/src/lib/configs/vitest.d.ts.map +0 -1
  61. package/src/lib/configs/vitest.js +0 -15
  62. package/src/lib/configs/yml.d.ts +0 -4
  63. package/src/lib/configs/yml.d.ts.map +0 -1
  64. package/src/lib/configs/yml.js +0 -127
  65. package/src/lib/extend-config.d.ts +0 -3
  66. package/src/lib/extend-config.d.ts.map +0 -1
  67. package/src/lib/extend-config.js +0 -22
  68. package/src/lib/meta.d.ts.map +0 -1
  69. package/src/lib/namer.d.ts.map +0 -1
  70. package/src/lib/patterns.d.ts +0 -82
  71. package/src/lib/patterns.d.ts.map +0 -1
  72. package/src/lib/patterns.js +0 -147
  73. package/src/lib/rule-levels.d.ts +0 -43
  74. package/src/lib/rule-levels.d.ts.map +0 -1
  75. package/src/lib/rule-levels.js +0 -71
  76. package/src/lib/severity.d.ts +0 -13
  77. package/src/lib/severity.d.ts.map +0 -1
  78. package/src/lib/severity.js +0 -34
  79. package/src/utils.d.ts.map +0 -1
@@ -1,128 +0,0 @@
1
- import jsonc from 'eslint-plugin-jsonc';
2
- import { namer } from '../namer.js';
3
- export default [
4
- jsonc.configs['flat/base'],
5
- {
6
- files: ['.vscode/settings.json'],
7
- name: namer('jsonc/vscode-settings'),
8
- rules: {
9
- 'jsonc/sort-array-values': [
10
- 'warn',
11
- {
12
- order: { type: 'asc' },
13
- pathPattern: String.raw `(eslint\.(probe|validate))|(npm\.exclude)`,
14
- },
15
- ],
16
- 'jsonc/sort-keys': ['warn', { order: { type: 'asc' }, pathPattern: '^' }],
17
- },
18
- },
19
- {
20
- files: ['.vscode/extensions.json'],
21
- name: namer('jsonc/vscode-extensions'),
22
- rules: {
23
- 'jsonc/sort-array-values': [
24
- 'warn',
25
- { order: { type: 'asc' }, pathPattern: '^recommendations$' },
26
- ],
27
- },
28
- },
29
- {
30
- files: ['.vscode/launch.json', '.vscode/tasks.json'],
31
- name: namer('jsonc/vscode-launch-tasks'),
32
- rules: {
33
- 'jsonc/sort-keys': [
34
- 'warn',
35
- { order: ['version', { order: { type: 'asc' } }], pathPattern: '^$' },
36
- {
37
- order: ['label', 'detail', 'command', 'args', { order: { type: 'asc' } }],
38
- pathPattern: String.raw `^tasks\[\d+\]`,
39
- },
40
- { order: { type: 'asc' }, pathPattern: '^' },
41
- ],
42
- },
43
- },
44
- {
45
- files: ['nx.json'],
46
- name: namer('jsonc/nx.json'),
47
- rules: {
48
- 'jsonc/sort-keys': [
49
- 'warn',
50
- { order: { type: 'asc' }, pathPattern: '^plugins.+options' },
51
- { order: ['plugin', 'options'], pathPattern: '^plugins' },
52
- { order: { type: 'asc' }, pathPattern: '^' },
53
- ],
54
- },
55
- },
56
- {
57
- files: ['executors.json', 'generators.json'],
58
- name: namer('jsonc/nx-plugin files'),
59
- rules: {
60
- 'jsonc/sort-keys': ['warn', { order: { type: 'asc' }, pathPattern: '^' }],
61
- },
62
- },
63
- {
64
- files: ['project.json', '**/project.json'],
65
- name: namer('jsonc/nx project.json'),
66
- rules: {
67
- 'jsonc/sort-array-values': [
68
- 'warn',
69
- { order: { type: 'asc' }, pathPattern: '^tags' },
70
- ],
71
- 'jsonc/sort-keys': [
72
- 'warn',
73
- {
74
- order: [
75
- 'executor',
76
- 'inputs',
77
- 'outputs',
78
- 'options',
79
- { order: { type: 'asc' } },
80
- ],
81
- pathPattern: 'targets.+',
82
- },
83
- {
84
- order: [
85
- 'name',
86
- '$schema',
87
- 'projectType',
88
- 'sourceRoot',
89
- 'tags',
90
- 'targets',
91
- { order: { type: 'asc' } },
92
- ],
93
- pathPattern: '^$',
94
- },
95
- { order: { type: 'asc' }, pathPattern: '^' },
96
- ],
97
- },
98
- },
99
- {
100
- files: ['tsconfig.json', 'tsconfig.*.json'],
101
- name: namer('jsonc/tsconfig'),
102
- rules: {
103
- 'jsonc/sort-keys': [
104
- 'warn',
105
- {
106
- order: [
107
- 'extends',
108
- 'compilerOptions',
109
- 'files',
110
- 'include',
111
- 'exclude',
112
- 'references',
113
- { order: { type: 'asc' } },
114
- ],
115
- pathPattern: '^$',
116
- },
117
- {
118
- order: ['paths', { order: { type: 'asc' } }],
119
- pathPattern: '^compilerOptions$',
120
- },
121
- {
122
- order: [{ order: { type: 'asc' } }],
123
- pathPattern: String.raw `^compilerOptions\.paths$`,
124
- },
125
- ],
126
- },
127
- },
128
- ];
@@ -1,4 +0,0 @@
1
- import type { Linter } from 'eslint';
2
- declare const _default: Linter.Config[];
3
- export default _default;
4
- //# sourceMappingURL=n.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"n.d.ts","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin/src/lib/configs/n.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;wBAyB/B,MAAM,CAAC,MAAM,EAAE;AApBpB,wBAoBoB"}
@@ -1,24 +0,0 @@
1
- import n from 'eslint-plugin-n';
2
- import { namer } from '../namer.js';
3
- import { FilePatterns, getFilePatterns } from '../patterns.js';
4
- export default [
5
- {
6
- files: getFilePatterns(FilePatterns.source),
7
- name: namer('n(ode)'),
8
- plugins: { n },
9
- rules: {
10
- 'n/exports-style': ['error', 'module.exports'],
11
- 'n/hashbang': 'error',
12
- 'n/no-deprecated-api': 'error',
13
- 'n/no-process-exit': 'error',
14
- 'n/prefer-global/buffer': ['error', 'always'],
15
- 'n/prefer-global/console': ['error', 'always'],
16
- 'n/prefer-global/process': ['error', 'always'],
17
- 'n/prefer-global/text-decoder': ['error', 'never'],
18
- 'n/prefer-global/text-encoder': ['error', 'never'],
19
- 'n/prefer-global/url': ['error', 'never'],
20
- 'n/prefer-global/url-search-params': ['error', 'never'],
21
- 'n/prefer-node-protocol': 'error',
22
- },
23
- },
24
- ];
@@ -1,6 +0,0 @@
1
- import type { Linter } from 'eslint';
2
- import { type Named } from '../namer.js';
3
- export declare const dependencyChecks: Named<Linter.Config>;
4
- declare const _default: Linter.Config[];
5
- export default _default;
6
- //# sourceMappingURL=nx.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nx.d.ts","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin/src/lib/configs/nx.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEpC,OAAO,EAAE,KAAK,KAAK,EAAS,MAAM,aAAa,CAAA;AAE/C,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAkBjD,CAAA;wBA0BI,MAAM,CAAC,MAAM,EAAE;AAxBpB,wBAwBoB"}
@@ -1,45 +0,0 @@
1
- import nx from '@nx/eslint-plugin';
2
- import { namer } from '../namer.js';
3
- export const dependencyChecks = {
4
- files: ['**/*.json'],
5
- languageOptions: {
6
- parser: await import('jsonc-eslint-parser'),
7
- },
8
- name: namer('nx-dependency-checks'),
9
- rules: {
10
- '@nx/dependency-checks': [
11
- 'error',
12
- {
13
- ignoredFiles: [
14
- '{projectRoot}/eslint.config.{js,cjs,mjs}',
15
- '{projectRoot}/vite.config.{js,ts,mjs,mts}',
16
- '{projectRoot}/src/**/*.spec.{ts,js,mjs,mts,tsx,jsx}',
17
- ],
18
- },
19
- ],
20
- },
21
- };
22
- export default [
23
- nx.configs['flat/base'],
24
- nx.configs['flat/javascript'],
25
- nx.configs['flat/typescript'],
26
- {
27
- files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
28
- name: namer('nx-module-boundaries'),
29
- rules: {
30
- '@nx/enforce-module-boundaries': [
31
- 'error',
32
- {
33
- allow: [],
34
- depConstraints: [
35
- {
36
- onlyDependOnLibsWithTags: ['*'],
37
- sourceTag: '*',
38
- },
39
- ],
40
- enforceBuildableLibDependency: true,
41
- },
42
- ],
43
- },
44
- },
45
- ];
@@ -1,4 +0,0 @@
1
- import type { Linter } from 'eslint';
2
- declare const _default: Linter.Config[];
3
- export default _default;
4
- //# sourceMappingURL=perfectionist.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"perfectionist.d.ts","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin/src/lib/configs/perfectionist.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;wBAqI/B,MAAM,CAAC,MAAM,EAAE;AA7HpB,wBA6HoB"}
@@ -1,129 +0,0 @@
1
- import perfectionist from 'eslint-plugin-perfectionist';
2
- import { namer, objectNamer } from '../namer.js';
3
- import { FilePatterns, getFilePatterns } from '../patterns.js';
4
- import { setRuleLevel } from '../severity.js';
5
- const configNatural = setRuleLevel('warn', perfectionist.configs['recommended-natural']);
6
- export default [
7
- objectNamer(configNatural, 'perfectionist-recommended-natural'),
8
- {
9
- files: getFilePatterns(FilePatterns.source),
10
- name: namer('perfectionist'),
11
- rules: {
12
- 'perfectionist/sort-classes': [
13
- 'warn',
14
- {
15
- groups: [
16
- 'constructor',
17
- 'index-signature',
18
- 'static-block',
19
- 'accessor-property',
20
- ['get-method', 'set-method'],
21
- 'method',
22
- 'override-method',
23
- 'static-method',
24
- 'protected-method',
25
- 'private-method',
26
- 'protected-accessor-property',
27
- 'private-accessor-property',
28
- ['private-get-method', 'private-set-method'],
29
- ],
30
- },
31
- ],
32
- 'perfectionist/sort-enums': [
33
- 'warn',
34
- {
35
- forceNumericSort: true,
36
- },
37
- ],
38
- 'perfectionist/sort-exports': [
39
- 'warn',
40
- {
41
- type: 'natural',
42
- },
43
- ],
44
- 'perfectionist/sort-imports': [
45
- 'warn',
46
- {
47
- groups: [
48
- ['side-effect', 'side-effect-style'],
49
- 'builtin',
50
- 'external',
51
- 'type',
52
- 'internal-type',
53
- 'internal',
54
- ['parent-type', 'sibling-type', 'index-type'],
55
- ['parent', 'sibling', 'index'],
56
- 'object',
57
- 'unknown',
58
- ],
59
- newlinesBetween: 'always',
60
- type: 'natural',
61
- },
62
- ],
63
- 'perfectionist/sort-interfaces': 'off',
64
- 'perfectionist/sort-modules': [
65
- 'warn',
66
- {
67
- groups: [
68
- 'unknown',
69
- 'export-class',
70
- 'export-function',
71
- 'export-enum',
72
- ['export-interface', 'export-type'],
73
- 'class',
74
- 'function',
75
- 'enum',
76
- ['interface', 'type'],
77
- [
78
- 'export-default-class',
79
- 'export-default-function',
80
- 'export-default-enum',
81
- 'export-default-type',
82
- 'export-default-interface',
83
- ],
84
- ],
85
- },
86
- ],
87
- 'perfectionist/sort-named-exports': [
88
- 'warn',
89
- {
90
- groupKind: 'values-first',
91
- type: 'natural',
92
- },
93
- ],
94
- 'perfectionist/sort-named-imports': [
95
- 'warn',
96
- {
97
- type: 'natural',
98
- },
99
- ],
100
- 'perfectionist/sort-union-types': [
101
- 'warn',
102
- {
103
- groups: [
104
- 'conditional',
105
- 'function',
106
- 'operator',
107
- 'literal',
108
- 'keyword',
109
- 'named',
110
- 'import',
111
- 'tuple',
112
- 'object',
113
- ['intersection', 'union'],
114
- 'nullish',
115
- 'unknown',
116
- ],
117
- ignoreCase: false,
118
- },
119
- ],
120
- },
121
- },
122
- {
123
- files: ['eslint.config.*', 'prettier.config.*', 'yarn.config.cjs'],
124
- name: namer('disable sort for configuration files'),
125
- rules: {
126
- 'perfectionist/sort-objects': 'off',
127
- },
128
- },
129
- ];
@@ -1,4 +0,0 @@
1
- import type { Linter } from 'eslint';
2
- declare const _default: Linter.Config[];
3
- export default _default;
4
- //# sourceMappingURL=promise.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin/src/lib/configs/promise.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;wBAkB/B,MAAM,CAAC,MAAM,EAAE;AAbpB,wBAaoB"}
@@ -1,16 +0,0 @@
1
- import promise from 'eslint-plugin-promise';
2
- import { namer } from '../namer.js';
3
- import { FilePatterns, getFilePatterns } from '../patterns.js';
4
- export default [
5
- promise.configs['flat/recommended'],
6
- {
7
- files: getFilePatterns(FilePatterns.source),
8
- name: namer('promise'),
9
- rules: {
10
- 'promise/no-multiple-resolved': 'warn',
11
- 'promise/prefer-await-to-callbacks': 'warn',
12
- 'promise/prefer-await-to-then': 'warn',
13
- 'promise/spec-only': 'error',
14
- },
15
- },
16
- ];
@@ -1,4 +0,0 @@
1
- import type { Linter } from 'eslint';
2
- declare const _default: Linter.Config[];
3
- export default _default;
4
- //# sourceMappingURL=regexp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"regexp.d.ts","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin/src/lib/configs/regexp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;wBAM/B,MAAM,CAAC,MAAM,EAAE;AAFpB,wBAEoB"}
@@ -1,5 +0,0 @@
1
- import re from 'eslint-plugin-regexp';
2
- import { objectNamer } from '../namer.js';
3
- export default [
4
- objectNamer(re.configs['flat/recommended'], 're-recommended'),
5
- ];
@@ -1,4 +0,0 @@
1
- import type { Linter } from 'eslint';
2
- declare const _default: Linter.Config[];
3
- export default _default;
4
- //# sourceMappingURL=toml.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toml.d.ts","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin/src/lib/configs/toml.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;wBAqC/B,MAAM,CAAC,MAAM,EAAE;AAjCpB,wBAiCoB"}
@@ -1,35 +0,0 @@
1
- import toml from 'eslint-plugin-toml';
2
- import { namer } from '../namer.js';
3
- export default [
4
- toml.configs['flat/recommended'],
5
- {
6
- files: ['**/*.toml'],
7
- name: namer('toml'),
8
- rules: {
9
- 'toml/array-bracket-newline': ['warn', 'consistent'],
10
- 'toml/array-bracket-spacing': [
11
- 'warn',
12
- 'always',
13
- {
14
- arraysInArrays: false,
15
- objectsInArrays: false,
16
- singleValue: true,
17
- },
18
- ],
19
- 'toml/array-element-newline': ['warn', 'consistent'],
20
- 'toml/comma-style': 'warn',
21
- 'toml/indent': ['warn', 2],
22
- 'toml/inline-table-curly-spacing': 'warn',
23
- 'toml/key-spacing': [
24
- 'warn',
25
- { afterEqual: true, beforeEqual: true, mode: 'strict' },
26
- ],
27
- 'toml/no-space-dots': 'warn',
28
- 'toml/no-unreadable-number-separator': 'warn',
29
- 'toml/precision-of-fractional-seconds': ['warn', { max: 3 }],
30
- 'toml/precision-of-integer': ['warn', { maxBit: 64 }],
31
- 'toml/spaced-comment': 'warn',
32
- 'toml/table-bracket-spacing': 'warn',
33
- },
34
- },
35
- ];
@@ -1,4 +0,0 @@
1
- import type { Linter } from 'eslint';
2
- declare const config: Linter.Config[];
3
- export default config;
4
- //# sourceMappingURL=typescript-eslint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript-eslint.d.ts","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin/src/lib/configs/typescript-eslint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAKpC,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAgB1B,CAAA;AAQD,eAAe,MAAM,CAAA"}
@@ -1,26 +0,0 @@
1
- import tseslint from 'typescript-eslint';
2
- import { namer } from '../namer.js';
3
- import { FilePatterns, getFilePatterns } from '../patterns.js';
4
- const config = [
5
- {
6
- files: getFilePatterns(FilePatterns.source),
7
- name: namer('unnecessary ts rules'),
8
- rules: {
9
- /** I do what I want ¯\\\_(ツ)\_/¯ */
10
- '@typescript-eslint/no-explicit-any': 'off',
11
- '@typescript-eslint/no-unused-vars': 'warn',
12
- },
13
- },
14
- {
15
- files: getFilePatterns(FilePatterns.test),
16
- name: namer('disable no-non-null in tests'),
17
- rules: { '@typescript-eslint/no-non-null-assertion': 'off' },
18
- },
19
- ];
20
- try {
21
- await import('@nx/eslint-plugin');
22
- }
23
- catch {
24
- config.unshift(...tseslint.configs.recommended);
25
- }
26
- export default config;
@@ -1,4 +0,0 @@
1
- import type { Linter } from 'eslint';
2
- declare const _default: Linter.Config[];
3
- export default _default;
4
- //# sourceMappingURL=unicorn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unicorn.d.ts","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin/src/lib/configs/unicorn.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;wBAgF/B,MAAM,CAAC,MAAM,EAAE;AA3EpB,wBA2EoB"}
@@ -1,66 +0,0 @@
1
- import unicorn from 'eslint-plugin-unicorn';
2
- import { defineConfig } from 'eslint/config';
3
- import { namer } from '../namer.js';
4
- import { FilePatterns, getFilePatterns } from '../patterns.js';
5
- export default defineConfig(unicorn.configs['recommended'], {
6
- files: ['**/*'],
7
- name: namer('unicorn/allow abbreviations'),
8
- rules: {
9
- 'unicorn/prevent-abbreviations': 'off',
10
- },
11
- }, {
12
- files: [getFilePatterns(FilePatterns.source)],
13
- name: namer('unicorn/base'),
14
- rules: {
15
- 'unicorn/custom-error-definition': 'warn',
16
- 'unicorn/import-style': 'off',
17
- 'unicorn/no-array-callback-reference': 'off',
18
- 'unicorn/no-array-reduce': 'off',
19
- 'unicorn/no-array-reverse': 'off',
20
- 'unicorn/no-array-sort': 'off',
21
- 'unicorn/no-keyword-prefix': 'error',
22
- 'unicorn/no-useless-undefined': ['error', { checkArrowFunctionBody: false }],
23
- 'unicorn/numeric-separators-style': ['warn', { number: { minimumDigits: 12 } }],
24
- 'unicorn/prefer-import-meta-properties': 'warn',
25
- 'unicorn/prefer-math-trunc': 'off',
26
- 'unicorn/prefer-node-protocol': 'off',
27
- },
28
- }, {
29
- files: getFilePatterns(FilePatterns.cjs),
30
- name: namer("unicorn/CJS files don't have to be modules"),
31
- rules: {
32
- 'unicorn/prefer-module': 'off',
33
- },
34
- }, {
35
- files: getFilePatterns(FilePatterns.react, FilePatterns.astro),
36
- name: namer('unicorn/allow pascal case for react files'),
37
- rules: {
38
- 'unicorn/filename-case': [
39
- 'error',
40
- {
41
- cases: {
42
- kebabCase: true,
43
- pascalCase: true,
44
- },
45
- },
46
- ],
47
- },
48
- }, {
49
- files: getFilePatterns(FilePatterns.test),
50
- name: namer('unicorn/test files'),
51
- rules: {
52
- 'unicorn/consistent-function-scoping': 'off',
53
- 'unicorn/no-nested-ternary': 'off',
54
- 'unicorn/no-null': 'off',
55
- 'unicorn/no-useless-undefined': [
56
- 'error',
57
- { checkArguments: false, checkArrowFunctionBody: false },
58
- ],
59
- },
60
- }, {
61
- files: getFilePatterns(FilePatterns.astroScript),
62
- name: 'ignore filename case for virtual files',
63
- rules: {
64
- 'unicorn/filename-case': 'off',
65
- },
66
- });
@@ -1,4 +0,0 @@
1
- import type { Linter } from 'eslint';
2
- declare const _default: Linter.Config[];
3
- export default _default;
4
- //# sourceMappingURL=vitest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin/src/lib/configs/vitest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;wBAiB/B,MAAM,CAAC,MAAM,EAAE;AAZpB,wBAYoB"}
@@ -1,15 +0,0 @@
1
- import vitest from '@vitest/eslint-plugin';
2
- import { namer } from '../namer.js';
3
- import { FilePatterns, getFilePatterns } from '../patterns.js';
4
- export default [
5
- vitest.configs['recommended'],
6
- {
7
- files: getFilePatterns(FilePatterns.test),
8
- name: namer('vitest'),
9
- rules: {
10
- 'vitest/consistent-test-it': ['error', { fn: 'it' }],
11
- 'vitest/prefer-hooks-in-order': 'warn',
12
- 'vitest/valid-title': ['warn', { disallowedWords: ['should'] }],
13
- },
14
- },
15
- ];
@@ -1,4 +0,0 @@
1
- import type { Linter } from 'eslint';
2
- declare const _default: Linter.Config[];
3
- export default _default;
4
- //# sourceMappingURL=yml.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yml.d.ts","sourceRoot":"","sources":["../../../../../../packages/eslint-plugin/src/lib/configs/yml.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;wBAwI/B,MAAM,CAAC,MAAM,EAAE;AAtGpB,wBAsGoB"}