@origin-1/eslint-config 0.22.1 → 1.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/index.d.ts +1 -0
- package/index.js +1 -0
- package/lib/create-config.d.ts +0 -10
- package/lib/create-config.js +1 -67
- package/lib/no-parser-config.d.ts +8 -0
- package/lib/no-parser-config.js +6 -0
- package/lib/rules.js +7 -3
- package/package.json +5 -6
- package/no-parser.js +0 -7
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./lib/create-config.js"), exports);
|
|
18
|
+
__exportStar(require("./lib/no-parser-config.js"), exports);
|
|
18
19
|
__exportStar(require("./lib/normalize-version.js"), exports);
|
package/lib/create-config.d.ts
CHANGED
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
import { type JSVersion, type TSVersion } from './normalize-version.js';
|
|
2
2
|
import type { Linter } from 'eslint';
|
|
3
|
-
export interface BaseConfigData extends Linter.HasRules, LanguageConfigData {
|
|
4
|
-
env?: Linter.BaseConfig['env'];
|
|
5
|
-
extends?: string | string[] | undefined;
|
|
6
|
-
globals?: Linter.BaseConfig['globals'];
|
|
7
|
-
parser?: string | undefined;
|
|
8
|
-
parserOptions?: Linter.ParserOptions | undefined;
|
|
9
|
-
plugins?: string[] | undefined;
|
|
10
|
-
processor?: string | undefined;
|
|
11
|
-
}
|
|
12
3
|
export type ConfigData = Linter.FlatConfig & LanguageConfigData;
|
|
13
4
|
export interface LanguageConfigData {
|
|
14
5
|
jsVersion?: JSVersion | undefined;
|
|
15
6
|
tsVersion?: TSVersion | undefined;
|
|
16
7
|
}
|
|
17
|
-
export declare function createBaseConfig(configData: BaseConfigData): Linter.BaseConfig;
|
|
18
8
|
export declare function createConfig(...configDataList: ConfigData[]): Promise<Linter.FlatConfig[]>;
|
|
19
9
|
export { createConfig as createFlatConfig };
|
package/lib/create-config.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.createFlatConfig = exports.createConfig =
|
|
29
|
+
exports.createFlatConfig = exports.createConfig = void 0;
|
|
30
30
|
const normalize_version_js_1 = require("./normalize-version.js");
|
|
31
31
|
const rules_js_1 = require("./rules.js");
|
|
32
32
|
const semver_1 = __importDefault(require("semver"));
|
|
@@ -88,72 +88,6 @@ function addLanguageRules(lang, jsVersion, tsVersion, rules, rulePrefixes) {
|
|
|
88
88
|
function cloneRuleEntry(ruleEntry) {
|
|
89
89
|
return structuredClone(ruleEntry);
|
|
90
90
|
}
|
|
91
|
-
function createBaseConfig(configData) {
|
|
92
|
-
let plugins;
|
|
93
|
-
let rules;
|
|
94
|
-
const lang = getLanguage(configData);
|
|
95
|
-
if (lang != null)
|
|
96
|
-
({ plugins, rules } = createCommonEntries());
|
|
97
|
-
else {
|
|
98
|
-
plugins = [];
|
|
99
|
-
rules = {};
|
|
100
|
-
}
|
|
101
|
-
const { env, parser, parserOptions, plugins: overridePlugins, rules: overrideRules } = createBaseOverride(configData);
|
|
102
|
-
plugins.push(...overridePlugins);
|
|
103
|
-
Object.assign(rules, overrideRules);
|
|
104
|
-
const { extends: extends_, globals, processor } = configData;
|
|
105
|
-
const baseConfig = {
|
|
106
|
-
env,
|
|
107
|
-
extends: extends_,
|
|
108
|
-
globals,
|
|
109
|
-
parserOptions,
|
|
110
|
-
plugins,
|
|
111
|
-
processor,
|
|
112
|
-
reportUnusedDisableDirectives: true,
|
|
113
|
-
rules,
|
|
114
|
-
};
|
|
115
|
-
if (parser != null)
|
|
116
|
-
baseConfig.parser = parser;
|
|
117
|
-
return baseConfig;
|
|
118
|
-
}
|
|
119
|
-
exports.createBaseConfig = createBaseConfig;
|
|
120
|
-
function createBaseOverride(configData) {
|
|
121
|
-
const configPlugins = configData.plugins;
|
|
122
|
-
const plugins = configPlugins == null ? [] : [...configPlugins];
|
|
123
|
-
const lang = getLanguage(configData);
|
|
124
|
-
let ecmaVersion;
|
|
125
|
-
let { parser } = configData;
|
|
126
|
-
let envKey;
|
|
127
|
-
const jsVersion = (0, normalize_version_js_1.normalizeJSVersion)(configData.jsVersion);
|
|
128
|
-
if (jsVersion === 2015)
|
|
129
|
-
envKey = 'es6';
|
|
130
|
-
else if (jsVersion > 2015)
|
|
131
|
-
envKey = `es${jsVersion}`;
|
|
132
|
-
const tsVersion = (0, normalize_version_js_1.normalizeTSVersion)(configData.tsVersion);
|
|
133
|
-
switch (lang) {
|
|
134
|
-
case 'js':
|
|
135
|
-
ecmaVersion = jsVersion;
|
|
136
|
-
parser ??= 'espree';
|
|
137
|
-
break;
|
|
138
|
-
case 'ts':
|
|
139
|
-
ecmaVersion = 'latest';
|
|
140
|
-
parser ??= '@typescript-eslint/parser';
|
|
141
|
-
break;
|
|
142
|
-
default:
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
const env = envKey ? { [envKey]: true } : {};
|
|
146
|
-
Object.assign(env, configData.env);
|
|
147
|
-
const parserOptions = { ecmaVersion, ...configData.parserOptions };
|
|
148
|
-
const rules = {};
|
|
149
|
-
if (lang != null)
|
|
150
|
-
addLanguageRules(lang, jsVersion, tsVersion, rules, plugins);
|
|
151
|
-
const baseOverride = { env, parserOptions, plugins, rules };
|
|
152
|
-
if (parser != null)
|
|
153
|
-
baseOverride.parser = parser;
|
|
154
|
-
Object.assign(rules, configData.rules);
|
|
155
|
-
return baseOverride;
|
|
156
|
-
}
|
|
157
91
|
function createCommonEntries() {
|
|
158
92
|
const plugins = [];
|
|
159
93
|
const rules = {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.noParserConfig = void 0;
|
|
4
|
+
const parser = Object.freeze({ parse() { throw Error('missing configuration for this file'); } });
|
|
5
|
+
const noParserConfig = Object.freeze({ languageOptions: Object.freeze({ parser }) });
|
|
6
|
+
exports.noParserConfig = noParserConfig;
|
package/lib/rules.js
CHANGED
|
@@ -59,7 +59,6 @@ exports.RULES = {
|
|
|
59
59
|
'no-irregular-whitespace': ['error'],
|
|
60
60
|
'no-misleading-character-class': ['error'],
|
|
61
61
|
'no-new-native-nonconstructor': ['error'],
|
|
62
|
-
'no-new-symbol': 'off',
|
|
63
62
|
'no-obj-calls': ['error'],
|
|
64
63
|
'no-promise-executor-return': ['error'],
|
|
65
64
|
'no-prototype-builtins': 'off',
|
|
@@ -78,6 +77,7 @@ exports.RULES = {
|
|
|
78
77
|
'no-unsafe-negation': ['error'],
|
|
79
78
|
'no-unsafe-optional-chaining': ['error'],
|
|
80
79
|
'no-unused-private-class-members': ['error'],
|
|
80
|
+
'no-useless-assignment': ['error'],
|
|
81
81
|
'no-useless-backreference': ['error'],
|
|
82
82
|
'require-atomic-updates': 'off',
|
|
83
83
|
'use-isnan': ['error', { enforceForSwitchCase: true }],
|
|
@@ -88,7 +88,6 @@ exports.RULES = {
|
|
|
88
88
|
'camelcase': 'off',
|
|
89
89
|
'capitalized-comments': 'off',
|
|
90
90
|
'complexity': 'off',
|
|
91
|
-
'consistent-return': 'off',
|
|
92
91
|
'consistent-this': 'off',
|
|
93
92
|
'curly': ['error', 'multi-or-nest'],
|
|
94
93
|
'default-case': 'off',
|
|
@@ -161,6 +160,7 @@ exports.RULES = {
|
|
|
161
160
|
'no-sequences': ['error'],
|
|
162
161
|
'no-shadow-restricted-names': ['error'],
|
|
163
162
|
'no-ternary': 'off',
|
|
163
|
+
'no-throw-literal': jsts(['error'], 'off'),
|
|
164
164
|
'no-undef-init': ['error'],
|
|
165
165
|
'no-undefined': 'off',
|
|
166
166
|
'no-underscore-dangle': 'off',
|
|
@@ -210,6 +210,7 @@ exports.RULES = {
|
|
|
210
210
|
'no-unused-vars': beforeJSOrElse(2019, ['error', { ignoreRestSiblings: true, vars: 'local' }], ['error', { caughtErrors: 'all', ignoreRestSiblings: true, vars: 'local' }]),
|
|
211
211
|
'no-use-before-define': 'off',
|
|
212
212
|
'class-methods-use-this': 'off',
|
|
213
|
+
'consistent-return': 'off',
|
|
213
214
|
'default-param-last': 'off',
|
|
214
215
|
'dot-notation': ['error'],
|
|
215
216
|
'init-declarations': 'off',
|
|
@@ -223,7 +224,6 @@ exports.RULES = {
|
|
|
223
224
|
'no-redeclare': jsts(['error', { builtinGlobals: true }], 'off'),
|
|
224
225
|
'no-restricted-imports': 'off',
|
|
225
226
|
'no-shadow': 'off',
|
|
226
|
-
'no-throw-literal': ['error'],
|
|
227
227
|
'no-unused-expressions': ['error'],
|
|
228
228
|
'no-useless-constructor': ['error'],
|
|
229
229
|
'prefer-destructuring': beforeJSOrElse(2015, 'off', ['error']),
|
|
@@ -262,6 +262,7 @@ exports.RULES = {
|
|
|
262
262
|
'no-unsafe-return': ['error'],
|
|
263
263
|
'no-unsafe-unary-minus': 'off',
|
|
264
264
|
'no-var-requires': ['error'],
|
|
265
|
+
'only-throw-error': ['error'],
|
|
265
266
|
'parameter-properties': ['error', { prefer: 'parameter-property' }],
|
|
266
267
|
'prefer-reduce-type-parameter': ['error'],
|
|
267
268
|
'prefer-ts-expect-error': ['error'],
|
|
@@ -306,6 +307,7 @@ exports.RULES = {
|
|
|
306
307
|
'non-nullable-type-assertion-style': ['error'],
|
|
307
308
|
'prefer-as-const': ['error'],
|
|
308
309
|
'prefer-enum-initializers': 'off',
|
|
310
|
+
'prefer-find': 'off',
|
|
309
311
|
'prefer-for-of': ['error'],
|
|
310
312
|
'prefer-function-type': 'off',
|
|
311
313
|
'prefer-includes': 'off',
|
|
@@ -325,6 +327,7 @@ exports.RULES = {
|
|
|
325
327
|
'triple-slash-reference': ['error', { lib: 'never' }],
|
|
326
328
|
'typedef': ['error'],
|
|
327
329
|
'unified-signatures': ['error', { ignoreDifferentlyNamedParameters: true }],
|
|
330
|
+
'use-unknown-in-catch-callback-variable': ['error'],
|
|
328
331
|
},
|
|
329
332
|
'@origin-1/eslint-plugin': {
|
|
330
333
|
'no-extra-new': ['error'],
|
|
@@ -347,6 +350,7 @@ exports.RULES = {
|
|
|
347
350
|
'require-description': 'off',
|
|
348
351
|
},
|
|
349
352
|
'@stylistic/eslint-plugin': {
|
|
353
|
+
'jsx-pascal-case': 'off',
|
|
350
354
|
'array-bracket-newline': 'off',
|
|
351
355
|
'array-bracket-spacing': ['error'],
|
|
352
356
|
'array-element-newline': 'off',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@origin-1/eslint-config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "ESLint configuration generator with Origin₁ presets",
|
|
5
5
|
"homepage": "https://github.com/origin-1/eslint-config#readme",
|
|
6
6
|
"license": "ISC",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@eslint-community/eslint-plugin-eslint-comments": ">=4.1",
|
|
18
18
|
"@origin-1/eslint-plugin": ">=0.14",
|
|
19
|
-
"@stylistic/eslint-plugin": "^1.
|
|
20
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
21
|
-
"@typescript-eslint/parser": "^
|
|
22
|
-
"eslint": "^
|
|
19
|
+
"@stylistic/eslint-plugin": "^1.7",
|
|
20
|
+
"@typescript-eslint/eslint-plugin": "^7.5",
|
|
21
|
+
"@typescript-eslint/parser": "^7.5",
|
|
22
|
+
"eslint": "^9.0",
|
|
23
23
|
"eslint-plugin-n": "16"
|
|
24
24
|
},
|
|
25
25
|
"engines": {
|
|
@@ -27,7 +27,6 @@
|
|
|
27
27
|
},
|
|
28
28
|
"exports": {
|
|
29
29
|
".": "./index.js",
|
|
30
|
-
"./no-parser": "./no-parser.js",
|
|
31
30
|
"./package.json": "./package.json"
|
|
32
31
|
}
|
|
33
32
|
}
|