@origin-1/eslint-config 0.22.2 → 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 CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './lib/create-config.js';
2
+ export * from './lib/no-parser-config.js';
2
3
  export * from './lib/normalize-version.js';
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);
@@ -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 };
@@ -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 = exports.createBaseConfig = void 0;
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,8 @@
1
+ declare const noParserConfig: Readonly<{
2
+ languageOptions: Readonly<{
3
+ parser: Readonly<{
4
+ parse(): never;
5
+ }>;
6
+ }>;
7
+ }>;
8
+ export { noParserConfig };
@@ -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 }],
@@ -160,6 +160,7 @@ exports.RULES = {
160
160
  'no-sequences': ['error'],
161
161
  'no-shadow-restricted-names': ['error'],
162
162
  'no-ternary': 'off',
163
+ 'no-throw-literal': jsts(['error'], 'off'),
163
164
  'no-undef-init': ['error'],
164
165
  'no-undefined': 'off',
165
166
  'no-underscore-dangle': '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'],
@@ -326,6 +327,7 @@ exports.RULES = {
326
327
  'triple-slash-reference': ['error', { lib: 'never' }],
327
328
  'typedef': ['error'],
328
329
  'unified-signatures': ['error', { ignoreDifferentlyNamedParameters: true }],
330
+ 'use-unknown-in-catch-callback-variable': ['error'],
329
331
  },
330
332
  '@origin-1/eslint-plugin': {
331
333
  'no-extra-new': ['error'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origin-1/eslint-config",
3
- "version": "0.22.2",
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.6",
20
- "@typescript-eslint/eslint-plugin": "^7.1",
21
- "@typescript-eslint/parser": "^7.1",
22
- "eslint": "^8.56",
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
  }
package/no-parser.js DELETED
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parse = void 0;
4
- function parse() {
5
- throw Error('missing configuration for this file');
6
- }
7
- exports.parse = parse;