@lichthagel/eslint-config 1.0.29 → 1.0.31

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/index.cjs CHANGED
@@ -1,572 +1,525 @@
1
- "use strict";
1
+ Object.defineProperty(exports, '__esModule', { value: true });
2
+ //#region rolldown:runtime
2
3
  var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
7
  var __getProtoOf = Object.getPrototypeOf;
7
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
9
  var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
10
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
+ key = keys[i];
12
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
+ get: ((k) => from[k]).bind(null, key),
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ }
17
+ return to;
19
18
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
20
+ value: mod,
21
+ enumerable: true
22
+ }) : target, mod));
29
23
 
30
- // src/index.ts
31
- var index_exports = {};
32
- __export(index_exports, {
33
- browser: () => browser_default,
34
- default: () => factory_default,
35
- javascript: () => javascript_default,
36
- node: () => node_default,
37
- perfectionist: () => perfectionist_default,
38
- solid: () => solid_default,
39
- stylistic: () => stylistic_default,
40
- svelte: () => svelte_default,
41
- tailwindcss: () => tailwindcss_default,
42
- typescript: () => typescript_default,
43
- unicorn: () => unicorn_default
44
- });
45
- module.exports = __toCommonJS(index_exports);
24
+ //#endregion
25
+ let globals = require("globals");
26
+ globals = __toESM(globals);
27
+ let __eslint_js = require("@eslint/js");
28
+ __eslint_js = __toESM(__eslint_js);
29
+ let eslint_plugin_perfectionist = require("eslint-plugin-perfectionist");
30
+ eslint_plugin_perfectionist = __toESM(eslint_plugin_perfectionist);
31
+ let __stylistic_eslint_plugin = require("@stylistic/eslint-plugin");
32
+ __stylistic_eslint_plugin = __toESM(__stylistic_eslint_plugin);
33
+ let typescript_eslint = require("typescript-eslint");
34
+ typescript_eslint = __toESM(typescript_eslint);
35
+ let eslint_plugin_unicorn = require("eslint-plugin-unicorn");
36
+ eslint_plugin_unicorn = __toESM(eslint_plugin_unicorn);
46
37
 
47
- // src/configs/browser.ts
48
- var import_globals = __toESM(require("globals"), 1);
49
- var browser_default = [
50
- {
51
- name: "lichthagel/browser",
52
- languageOptions: {
53
- globals: {
54
- ...import_globals.default.browser,
55
- document: "readonly",
56
- navigator: "readonly",
57
- window: "readonly"
58
- }
59
- }
60
- }
61
- ];
38
+ //#region src/configs/browser.ts
39
+ var browser_default = [{
40
+ name: "lichthagel/browser",
41
+ languageOptions: { globals: {
42
+ ...globals.default.browser,
43
+ document: "readonly",
44
+ navigator: "readonly",
45
+ window: "readonly"
46
+ } }
47
+ }];
62
48
 
63
- // src/configs/javascript.ts
64
- var import_js = __toESM(require("@eslint/js"), 1);
65
- var import_globals2 = __toESM(require("globals"), 1);
66
- var javascript_default = [
67
- { name: "js/recommended", ...import_js.default.configs.recommended },
68
- {
69
- name: "lichthagel/javascript",
70
- languageOptions: {
71
- ecmaVersion: 2022,
72
- globals: {
73
- ...import_globals2.default.es2022
74
- },
75
- parserOptions: {
76
- ecmaVersion: 2022,
77
- sourceType: "module"
78
- },
79
- sourceType: "module"
80
- },
81
- rules: {
82
- "accessor-pairs": "error",
83
- "array-callback-return": "error",
84
- "arrow-body-style": "error",
85
- "block-scoped-var": "error",
86
- "curly": ["error", "all"],
87
- "default-case-last": "error",
88
- "dot-notation": "error",
89
- "eqeqeq": ["error", "smart"],
90
- "new-cap": [
91
- "error",
92
- {
93
- capIsNew: false,
94
- newIsCap: true,
95
- properties: true
96
- }
97
- ],
98
- "no-alert": "error",
99
- "no-array-constructor": "error",
100
- "no-await-in-loop": "error",
101
- "no-bitwise": "error",
102
- "no-caller": "error",
103
- "no-cond-assign": ["error", "always"],
104
- "no-console": ["error", { allow: ["warn", "error"] }],
105
- "no-duplicate-imports": "error",
106
- "no-eval": "error",
107
- "no-extend-native": "error",
108
- "no-extra-bind": "error",
109
- "no-implied-eval": "error",
110
- "no-iterator": "error",
111
- "no-label-var": "error",
112
- "no-labels": "error",
113
- "no-lone-blocks": "error",
114
- "no-multi-assign": "error",
115
- "no-multi-str": "error",
116
- "no-new": "error",
117
- "no-new-func": "error",
118
- "no-new-wrappers": "error",
119
- "no-octal-escape": "error",
120
- "no-promise-executor-return": ["error", { allowVoid: true }],
121
- "no-proto": "error",
122
- "no-restricted-globals": ["error", { name: "global", message: "Use `globalThis` instead." }, { name: "self", message: "Use `globalThis` instead." }],
123
- "no-restricted-properties": [
124
- "error",
125
- { message: "Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.", property: "__proto__" },
126
- { message: "Use `Object.defineProperty` instead.", property: "__defineGetter__" },
127
- { message: "Use `Object.defineProperty` instead.", property: "__defineSetter__" },
128
- { message: "Use `Object.getOwnPropertyDescriptor` instead.", property: "__lookupGetter__" },
129
- { message: "Use `Object.getOwnPropertyDescriptor` instead.", property: "__lookupSetter__" }
130
- ],
131
- "no-restricted-syntax": [
132
- "error",
133
- "DebuggerStatement",
134
- "LabeledStatement",
135
- "WithStatement",
136
- "TSEnumDeclaration[const=true]",
137
- "TSExportAssignment"
138
- ],
139
- "no-self-compare": "error",
140
- "no-sequences": "error",
141
- "no-template-curly-in-string": "error",
142
- "no-throw-literal": "error",
143
- "no-undef-init": "error",
144
- "no-unmodified-loop-condition": "error",
145
- "no-unneeded-ternary": "error",
146
- "no-unreachable-loop": "error",
147
- "no-unused-expressions": ["error", { allowShortCircuit: true, allowTaggedTemplates: true, allowTernary: true }],
148
- "no-useless-call": "error",
149
- "no-useless-computed-key": "error",
150
- "no-useless-concat": "error",
151
- "no-useless-constructor": "error",
152
- "no-useless-rename": "error",
153
- "no-useless-return": "error",
154
- "no-var": "error",
155
- "object-shorthand": ["error", "always", { ignoreConstructors: false }],
156
- "prefer-arrow-callback": "error",
157
- "prefer-const": "error",
158
- "prefer-destructuring": ["error", { AssignmentExpression: { array: false, object: false } }],
159
- "prefer-exponentiation-operator": "error",
160
- "prefer-object-spread": "error",
161
- "prefer-promise-reject-errors": "error",
162
- "prefer-regex-literals": ["error", { disallowRedundantWrapping: true }],
163
- "prefer-rest-params": "error",
164
- "prefer-spread": "error",
165
- "prefer-template": "error",
166
- "require-await": "error",
167
- "sort-imports": [
168
- "error",
169
- {
170
- allowSeparatedGroups: true,
171
- ignoreCase: false,
172
- ignoreDeclarationSort: true
173
- }
174
- ],
175
- "symbol-description": "error",
176
- "use-isnan": ["error", { enforceForIndexOf: true, enforceForSwitchCase: true }],
177
- "valid-typeof": ["error", { requireStringLiterals: true }],
178
- "yoda": "error"
179
- }
180
- }
181
- ];
49
+ //#endregion
50
+ //#region src/configs/javascript.ts
51
+ var javascript_default = [{
52
+ name: "js/recommended",
53
+ ...__eslint_js.default.configs.recommended
54
+ }, {
55
+ name: "lichthagel/javascript",
56
+ languageOptions: {
57
+ ecmaVersion: 2022,
58
+ globals: { ...globals.default.es2022 },
59
+ parserOptions: {
60
+ ecmaVersion: 2022,
61
+ sourceType: "module"
62
+ },
63
+ sourceType: "module"
64
+ },
65
+ rules: {
66
+ "accessor-pairs": "error",
67
+ "array-callback-return": "error",
68
+ "arrow-body-style": "error",
69
+ "block-scoped-var": "error",
70
+ "curly": ["error", "all"],
71
+ "default-case-last": "error",
72
+ "dot-notation": "error",
73
+ "eqeqeq": ["error", "smart"],
74
+ "new-cap": ["error", {
75
+ capIsNew: false,
76
+ newIsCap: true,
77
+ properties: true
78
+ }],
79
+ "no-alert": "error",
80
+ "no-array-constructor": "error",
81
+ "no-await-in-loop": "error",
82
+ "no-bitwise": "error",
83
+ "no-caller": "error",
84
+ "no-cond-assign": ["error", "always"],
85
+ "no-console": ["error", { allow: ["warn", "error"] }],
86
+ "no-duplicate-imports": "error",
87
+ "no-eval": "error",
88
+ "no-extend-native": "error",
89
+ "no-extra-bind": "error",
90
+ "no-implied-eval": "error",
91
+ "no-iterator": "error",
92
+ "no-label-var": "error",
93
+ "no-labels": "error",
94
+ "no-lone-blocks": "error",
95
+ "no-multi-assign": "error",
96
+ "no-multi-str": "error",
97
+ "no-new": "error",
98
+ "no-new-func": "error",
99
+ "no-new-wrappers": "error",
100
+ "no-octal-escape": "error",
101
+ "no-promise-executor-return": ["error", { allowVoid: true }],
102
+ "no-proto": "error",
103
+ "no-restricted-globals": [
104
+ "error",
105
+ {
106
+ name: "global",
107
+ message: "Use `globalThis` instead."
108
+ },
109
+ {
110
+ name: "self",
111
+ message: "Use `globalThis` instead."
112
+ }
113
+ ],
114
+ "no-restricted-properties": [
115
+ "error",
116
+ {
117
+ message: "Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",
118
+ property: "__proto__"
119
+ },
120
+ {
121
+ message: "Use `Object.defineProperty` instead.",
122
+ property: "__defineGetter__"
123
+ },
124
+ {
125
+ message: "Use `Object.defineProperty` instead.",
126
+ property: "__defineSetter__"
127
+ },
128
+ {
129
+ message: "Use `Object.getOwnPropertyDescriptor` instead.",
130
+ property: "__lookupGetter__"
131
+ },
132
+ {
133
+ message: "Use `Object.getOwnPropertyDescriptor` instead.",
134
+ property: "__lookupSetter__"
135
+ }
136
+ ],
137
+ "no-restricted-syntax": [
138
+ "error",
139
+ "DebuggerStatement",
140
+ "LabeledStatement",
141
+ "WithStatement",
142
+ "TSEnumDeclaration[const=true]",
143
+ "TSExportAssignment"
144
+ ],
145
+ "no-self-compare": "error",
146
+ "no-sequences": "error",
147
+ "no-template-curly-in-string": "error",
148
+ "no-throw-literal": "error",
149
+ "no-undef-init": "error",
150
+ "no-unmodified-loop-condition": "error",
151
+ "no-unneeded-ternary": "error",
152
+ "no-unreachable-loop": "error",
153
+ "no-unused-expressions": ["error", {
154
+ allowShortCircuit: true,
155
+ allowTaggedTemplates: true,
156
+ allowTernary: true
157
+ }],
158
+ "no-useless-call": "error",
159
+ "no-useless-computed-key": "error",
160
+ "no-useless-concat": "error",
161
+ "no-useless-constructor": "error",
162
+ "no-useless-rename": "error",
163
+ "no-useless-return": "error",
164
+ "no-var": "error",
165
+ "object-shorthand": [
166
+ "error",
167
+ "always",
168
+ { ignoreConstructors: false }
169
+ ],
170
+ "prefer-arrow-callback": "error",
171
+ "prefer-const": "error",
172
+ "prefer-destructuring": ["error", { AssignmentExpression: {
173
+ array: false,
174
+ object: false
175
+ } }],
176
+ "prefer-exponentiation-operator": "error",
177
+ "prefer-object-spread": "error",
178
+ "prefer-promise-reject-errors": "error",
179
+ "prefer-regex-literals": ["error", { disallowRedundantWrapping: true }],
180
+ "prefer-rest-params": "error",
181
+ "prefer-spread": "error",
182
+ "prefer-template": "error",
183
+ "require-await": "error",
184
+ "sort-imports": ["error", {
185
+ allowSeparatedGroups: true,
186
+ ignoreCase: false,
187
+ ignoreDeclarationSort: true
188
+ }],
189
+ "symbol-description": "error",
190
+ "use-isnan": ["error", {
191
+ enforceForIndexOf: true,
192
+ enforceForSwitchCase: true
193
+ }],
194
+ "valid-typeof": ["error", { requireStringLiterals: true }],
195
+ "yoda": "error"
196
+ }
197
+ }];
182
198
 
183
- // src/configs/node.ts
184
- var import_globals3 = __toESM(require("globals"), 1);
185
- var node = async () => {
186
- const pluginN = await import("eslint-plugin-n").then((mod) => mod.default);
187
- return [
188
- pluginN.configs["flat/recommended-module"],
189
- {
190
- name: "lichthagel/node",
191
- languageOptions: {
192
- globals: {
193
- ...import_globals3.default.node
194
- }
195
- },
196
- rules: {
197
- "n/handle-callback-err": ["error", "^.*(e|E)rr(or)?$"],
198
- "n/no-new-require": "error",
199
- "n/no-path-concat": "error",
200
- "n/no-process-env": "error",
201
- "n/no-missing-import": "off",
202
- "n/no-missing-require": "off"
203
- }
204
- }
205
- ];
199
+ //#endregion
200
+ //#region src/configs/node.ts
201
+ const node = async () => {
202
+ return [(await import("eslint-plugin-n").then((mod) => mod.default)).configs["flat/recommended-module"], {
203
+ name: "lichthagel/node",
204
+ languageOptions: { globals: { ...globals.default.node } },
205
+ rules: {
206
+ "n/handle-callback-err": ["error", "^.*(e|E)rr(or)?$"],
207
+ "n/no-new-require": "error",
208
+ "n/no-path-concat": "error",
209
+ "n/no-process-env": "error",
210
+ "n/no-missing-import": "off",
211
+ "n/no-missing-require": "off"
212
+ }
213
+ }];
206
214
  };
207
215
  var node_default = node;
208
216
 
209
- // src/configs/perfectionist.ts
210
- var import_eslint_plugin_perfectionist = __toESM(require("eslint-plugin-perfectionist"), 1);
211
- var perfectionist_default = [
212
- {
213
- name: "perfectionist/recommended-natural",
214
- ...import_eslint_plugin_perfectionist.default.configs["recommended-natural"]
215
- },
216
- {
217
- name: "lichthagel/perfectionist",
218
- rules: {
219
- "perfectionist/sort-imports": [
220
- "error",
221
- {
222
- type: "natural",
223
- internalPattern: [
224
- "^@/.*",
225
- "^~.*",
226
- "^$.*",
227
- "^#.*"
228
- ]
229
- }
230
- ],
231
- "perfectionist/sort-object-types": "off",
232
- "perfectionist/sort-objects": [
233
- "off",
234
- {
235
- customGroups: [
236
- {
237
- groupName: "id",
238
- elementNamePattern: "^(?:id|uuid|key|index|slug)$"
239
- },
240
- {
241
- groupName: "name",
242
- elementNamePattern: "^(?:name|title|label)$"
243
- }
244
- ],
245
- groups: ["id", "unknown"],
246
- partitionByComment: true,
247
- partitionByNewLine: true
248
- }
249
- ],
250
- "perfectionist/sort-union-types": [
251
- "error",
252
- {
253
- groups: [
254
- "named",
255
- ["intersection", "union"],
256
- "unknown",
257
- "nullish"
258
- ]
259
- }
260
- ],
261
- "sort-imports": "off"
262
- }
263
- }
264
- ];
217
+ //#endregion
218
+ //#region src/configs/perfectionist.ts
219
+ var perfectionist_default = [{
220
+ name: "perfectionist/recommended-natural",
221
+ ...eslint_plugin_perfectionist.default.configs["recommended-natural"]
222
+ }, {
223
+ name: "lichthagel/perfectionist",
224
+ rules: {
225
+ "perfectionist/sort-imports": ["error", {
226
+ type: "natural",
227
+ internalPattern: [
228
+ "^@/.*",
229
+ "^~.*",
230
+ "^$.*",
231
+ "^#.*"
232
+ ]
233
+ }],
234
+ "perfectionist/sort-object-types": "off",
235
+ "perfectionist/sort-objects": ["off", {
236
+ customGroups: [{
237
+ groupName: "id",
238
+ elementNamePattern: "^(?:id|uuid|key|index|slug)$"
239
+ }, {
240
+ groupName: "name",
241
+ elementNamePattern: "^(?:name|title|label)$"
242
+ }],
243
+ groups: ["id", "unknown"],
244
+ partitionByComment: true,
245
+ partitionByNewLine: true
246
+ }],
247
+ "perfectionist/sort-union-types": ["error", { groups: [
248
+ "named",
249
+ ["intersection", "union"],
250
+ "unknown",
251
+ "nullish"
252
+ ] }],
253
+ "sort-imports": "off"
254
+ }
255
+ }];
265
256
 
266
- // src/configs/solid.ts
267
- var solid = async (options = {}) => {
268
- const {
269
- withTypescript = false
270
- } = options;
271
- const configSolid = await import("eslint-plugin-solid/configs/recommended").then((mod) => mod.default);
272
- return [
273
- {
274
- name: "solid/recommended",
275
- files: ["**/*.jsx", ...withTypescript ? ["**/*.tsx"] : []],
276
- ...configSolid
277
- }
278
- ];
257
+ //#endregion
258
+ //#region src/configs/solid.ts
259
+ const solid = async (options = {}) => {
260
+ const { withTypescript = false } = options;
261
+ const configSolid = await import("eslint-plugin-solid/configs/recommended").then((mod) => mod.default);
262
+ return [{
263
+ name: "solid/recommended",
264
+ files: ["**/*.jsx", ...withTypescript ? ["**/*.tsx"] : []],
265
+ ...configSolid
266
+ }];
279
267
  };
280
268
  var solid_default = solid;
281
269
 
282
- // src/configs/stylistic.ts
283
- var import_eslint_plugin = __toESM(require("@stylistic/eslint-plugin"), 1);
284
- var stylistic_default = [
285
- {
286
- name: "stylistic/custom",
287
- ...import_eslint_plugin.default.configs.customize({
288
- arrowParens: true,
289
- braceStyle: "1tbs",
290
- commaDangle: "always-multiline",
291
- indent: 2,
292
- jsx: true,
293
- quoteProps: "consistent-as-needed",
294
- quotes: "double",
295
- semi: true
296
- })
297
- },
298
- {
299
- name: "lichthagel/stylistic",
300
- rules: {
301
- // JavaScript
302
- "@stylistic/array-bracket-newline": ["error", { minItems: 4, multiline: true }],
303
- "@stylistic/array-element-newline": ["error", { minItems: 4, multiline: true }],
304
- "@stylistic/curly-newline": ["error", { consistent: true }],
305
- "@stylistic/function-call-argument-newline": ["error", "consistent"],
306
- "@stylistic/function-call-spacing": ["error", "never"],
307
- "@stylistic/function-paren-newline": ["error", "multiline-arguments"],
308
- "@stylistic/generator-star-spacing": ["error", { after: false, before: true }],
309
- "@stylistic/implicit-arrow-linebreak": ["off", "beside"],
310
- "@stylistic/lines-around-comment": [
311
- "error",
312
- {
313
- afterHashbangComment: true,
314
- allowArrayStart: true,
315
- allowBlockStart: true,
316
- allowClassStart: true,
317
- allowEnumStart: true,
318
- allowInterfaceStart: true,
319
- allowModuleStart: true,
320
- allowObjectStart: true,
321
- allowTypeStart: true,
322
- applyDefaultIgnorePatterns: true,
323
- beforeBlockComment: true
324
- }
325
- ],
326
- "@stylistic/lines-between-class-members": ["error", "always", { exceptAfterSingleLine: false }],
327
- "@stylistic/multiline-ternary": ["error", "always-multiline"],
328
- "@stylistic/newline-per-chained-call": ["error", { ignoreChainWithDepth: 2 }],
329
- "@stylistic/no-extra-semi": "error",
330
- "@stylistic/nonblock-statement-body-position": ["error", "beside"],
331
- "@stylistic/object-curly-newline": ["error", { consistent: true, minProperties: 4, multiline: true }],
332
- "@stylistic/object-property-newline": ["error", { allowAllPropertiesOnSameLine: true }],
333
- "@stylistic/one-var-declaration-per-line": ["error", "always"],
334
- "@stylistic/operator-linebreak": ["error", "before"],
335
- "@stylistic/semi-style": ["error", "last"],
336
- "@stylistic/switch-colon-spacing": ["error", { after: true, before: false }],
337
- // JSX
338
- "@stylistic/jsx-closing-bracket-location": ["error", "line-aligned"],
339
- "@stylistic/jsx-curly-brace-presence": ["error", { children: "never", propElementValues: "always", props: "never" }],
340
- "@stylistic/jsx-pascal-case": "error",
341
- "@stylistic/jsx-props-no-multi-spaces": "error",
342
- "@stylistic/jsx-self-closing-comp": "error"
343
- }
344
- }
345
- ];
270
+ //#endregion
271
+ //#region src/configs/stylistic.ts
272
+ var stylistic_default = [{
273
+ name: "stylistic/custom",
274
+ ...__stylistic_eslint_plugin.default.configs.customize({
275
+ arrowParens: true,
276
+ braceStyle: "1tbs",
277
+ commaDangle: "always-multiline",
278
+ indent: 2,
279
+ jsx: true,
280
+ quoteProps: "consistent-as-needed",
281
+ quotes: "double",
282
+ semi: true
283
+ })
284
+ }, {
285
+ name: "lichthagel/stylistic",
286
+ rules: {
287
+ "@stylistic/array-bracket-newline": ["error", {
288
+ minItems: 4,
289
+ multiline: true
290
+ }],
291
+ "@stylistic/array-element-newline": ["error", {
292
+ minItems: 4,
293
+ multiline: true
294
+ }],
295
+ "@stylistic/curly-newline": ["error", { consistent: true }],
296
+ "@stylistic/function-call-argument-newline": ["error", "consistent"],
297
+ "@stylistic/function-call-spacing": ["error", "never"],
298
+ "@stylistic/function-paren-newline": ["error", "multiline-arguments"],
299
+ "@stylistic/generator-star-spacing": ["error", {
300
+ after: false,
301
+ before: true
302
+ }],
303
+ "@stylistic/implicit-arrow-linebreak": ["off", "beside"],
304
+ "@stylistic/lines-around-comment": ["error", {
305
+ afterHashbangComment: true,
306
+ allowArrayStart: true,
307
+ allowBlockStart: true,
308
+ allowClassStart: true,
309
+ allowEnumStart: true,
310
+ allowInterfaceStart: true,
311
+ allowModuleStart: true,
312
+ allowObjectStart: true,
313
+ allowTypeStart: true,
314
+ applyDefaultIgnorePatterns: true,
315
+ beforeBlockComment: true
316
+ }],
317
+ "@stylistic/lines-between-class-members": [
318
+ "error",
319
+ "always",
320
+ { exceptAfterSingleLine: false }
321
+ ],
322
+ "@stylistic/multiline-ternary": ["error", "always-multiline"],
323
+ "@stylistic/newline-per-chained-call": ["error", { ignoreChainWithDepth: 2 }],
324
+ "@stylistic/no-extra-semi": "error",
325
+ "@stylistic/no-multi-spaces": "error",
326
+ "@stylistic/nonblock-statement-body-position": ["error", "beside"],
327
+ "@stylistic/object-curly-newline": ["error", {
328
+ consistent: true,
329
+ minProperties: 4,
330
+ multiline: true
331
+ }],
332
+ "@stylistic/object-property-newline": ["error", { allowAllPropertiesOnSameLine: true }],
333
+ "@stylistic/one-var-declaration-per-line": ["error", "always"],
334
+ "@stylistic/operator-linebreak": ["error", "before"],
335
+ "@stylistic/semi-style": ["error", "last"],
336
+ "@stylistic/switch-colon-spacing": ["error", {
337
+ after: true,
338
+ before: false
339
+ }],
340
+ "@stylistic/jsx-closing-bracket-location": ["error", "line-aligned"],
341
+ "@stylistic/jsx-curly-brace-presence": ["error", {
342
+ children: "never",
343
+ propElementValues: "always",
344
+ props: "never"
345
+ }],
346
+ "@stylistic/jsx-pascal-case": "error",
347
+ "@stylistic/jsx-self-closing-comp": "error"
348
+ }
349
+ }];
346
350
 
347
- // src/configs/svelte.ts
348
- var SVELTE_FILES = ["**/*.svelte"];
349
- var svelte = async (options = {}) => {
350
- const {
351
- disableStylistic = false,
352
- withTypescript = false
353
- } = options;
354
- const pluginSvelte = await import("eslint-plugin-svelte").then((mod) => mod.default);
355
- const configs = [
356
- ...pluginSvelte.configs["flat/recommended"].map((configItem) => ({
357
- name: "svelte/recommended",
358
- ...configItem
359
- })),
360
- {
361
- name: "lichthagel/svelte",
362
- files: SVELTE_FILES,
363
- languageOptions: {
364
- parserOptions: {
365
- extraFileExtensions: [".svelte"],
366
- parser: withTypescript ? "@typescript-eslint/parser" : null,
367
- project: true
368
- }
369
- },
370
- rules: {
371
- "svelte/block-lang": [
372
- "error",
373
- {
374
- enforceScriptPresent: false,
375
- enforceStylePresent: false,
376
- script: [withTypescript ? "ts" : null]
377
- }
378
- ],
379
- "svelte/first-attribute-linebreak": [
380
- "error",
381
- {
382
- multiline: "below",
383
- singleline: "beside"
384
- }
385
- ],
386
- "svelte/html-closing-bracket-spacing": [
387
- "error",
388
- {
389
- endTag: "never",
390
- selfClosingTag: "always",
391
- startTag: "never"
392
- }
393
- ],
394
- "svelte/html-quotes": [
395
- "error",
396
- {
397
- prefer: "double"
398
- }
399
- ],
400
- "svelte/indent": [
401
- "error",
402
- {
403
- alignAttributesVertically: true,
404
- indent: 2
405
- }
406
- ],
407
- "svelte/infinite-reactive-loop": "error",
408
- "svelte/max-attributes-per-line": [
409
- "error",
410
- {
411
- multiline: 1,
412
- singleline: 3
413
- }
414
- ],
415
- "svelte/mustache-spacing": "error",
416
- "svelte/no-dupe-on-directives": "error",
417
- "svelte/no-dupe-use-directives": "error",
418
- "svelte/no-export-load-in-svelte-module-in-kit-pages": "error",
419
- "svelte/no-goto-without-base": "error",
420
- "svelte/no-ignored-unsubscribe": "error",
421
- "svelte/no-immutable-reactive-statements": "error",
422
- "svelte/no-reactive-functions": "error",
423
- "svelte/no-reactive-literals": "error",
424
- "svelte/no-spaces-around-equal-signs-in-attribute": "error",
425
- "svelte/no-target-blank": "error",
426
- "svelte/no-trailing-spaces": "error",
427
- "svelte/no-useless-mustaches": "error",
428
- "svelte/require-store-callbacks-use-set-param": "error",
429
- "svelte/spaced-html-comment": ["error", "always"],
430
- "svelte/valid-each-key": "error",
431
- ...disableStylistic ? {
432
- "@stylistic/indent": "off",
433
- // superseded by svelte/indent
434
- "@stylistic/indent-binary-ops": "off",
435
- // superseded by svelte/indent
436
- "@stylistic/no-trailing-spaces": "off"
437
- // superseded by svelte/no-trailing-spaces
438
- } : {}
439
- }
440
- }
441
- ];
442
- return configs;
351
+ //#endregion
352
+ //#region src/configs/svelte.ts
353
+ const SVELTE_FILES = ["**/*.svelte"];
354
+ const svelte = async (options = {}) => {
355
+ const { disableStylistic = false, withTypescript = false } = options;
356
+ return [...(await import("eslint-plugin-svelte").then((mod) => mod.default)).configs["flat/recommended"].map((configItem) => ({
357
+ name: "svelte/recommended",
358
+ ...configItem
359
+ })), {
360
+ name: "lichthagel/svelte",
361
+ files: SVELTE_FILES,
362
+ languageOptions: { parserOptions: {
363
+ extraFileExtensions: [".svelte"],
364
+ parser: withTypescript ? "@typescript-eslint/parser" : null,
365
+ project: true
366
+ } },
367
+ rules: {
368
+ "svelte/block-lang": ["error", {
369
+ enforceScriptPresent: false,
370
+ enforceStylePresent: false,
371
+ script: [withTypescript ? "ts" : null]
372
+ }],
373
+ "svelte/first-attribute-linebreak": ["error", {
374
+ multiline: "below",
375
+ singleline: "beside"
376
+ }],
377
+ "svelte/html-closing-bracket-spacing": ["error", {
378
+ endTag: "never",
379
+ selfClosingTag: "always",
380
+ startTag: "never"
381
+ }],
382
+ "svelte/html-quotes": ["error", { prefer: "double" }],
383
+ "svelte/indent": ["error", {
384
+ alignAttributesVertically: true,
385
+ indent: 2
386
+ }],
387
+ "svelte/infinite-reactive-loop": "error",
388
+ "svelte/max-attributes-per-line": ["error", {
389
+ multiline: 1,
390
+ singleline: 3
391
+ }],
392
+ "svelte/mustache-spacing": "error",
393
+ "svelte/no-dupe-on-directives": "error",
394
+ "svelte/no-dupe-use-directives": "error",
395
+ "svelte/no-export-load-in-svelte-module-in-kit-pages": "error",
396
+ "svelte/no-goto-without-base": "error",
397
+ "svelte/no-ignored-unsubscribe": "error",
398
+ "svelte/no-immutable-reactive-statements": "error",
399
+ "svelte/no-reactive-functions": "error",
400
+ "svelte/no-reactive-literals": "error",
401
+ "svelte/no-spaces-around-equal-signs-in-attribute": "error",
402
+ "svelte/no-target-blank": "error",
403
+ "svelte/no-trailing-spaces": "error",
404
+ "svelte/no-useless-mustaches": "error",
405
+ "svelte/require-store-callbacks-use-set-param": "error",
406
+ "svelte/spaced-html-comment": ["error", "always"],
407
+ "svelte/valid-each-key": "error",
408
+ ...disableStylistic ? {
409
+ "@stylistic/indent": "off",
410
+ "@stylistic/indent-binary-ops": "off",
411
+ "@stylistic/no-trailing-spaces": "off"
412
+ } : {}
413
+ }
414
+ }];
443
415
  };
444
416
  var svelte_default = svelte;
445
417
 
446
- // src/configs/tailwindcss.ts
447
- var tailwindcss = async () => {
448
- const pluginTailwind = await import("eslint-plugin-tailwindcss").then((mod) => mod.default);
449
- return [
450
- ...pluginTailwind.configs["flat/recommended"].map((config) => ({
451
- ...config,
452
- name: config.name?.replaceAll(":", "/")
453
- })),
454
- {
455
- name: "lichthagel/tailwindcss",
456
- rules: {
457
- "tailwindcss/classnames-order": "error",
458
- "tailwindcss/enforces-negative-arbitrary-values": "error",
459
- "tailwindcss/enforces-shorthand": "error",
460
- "tailwindcss/no-contradicting-classname": "error",
461
- "tailwindcss/no-unnecessary-arbitrary-value": "error"
462
- }
463
- }
464
- ];
418
+ //#endregion
419
+ //#region src/configs/tailwindcss.ts
420
+ const tailwindcss = async () => {
421
+ return [...(await import("eslint-plugin-tailwindcss").then((mod) => mod.default)).configs["flat/recommended"].map((config) => {
422
+ var _config$name;
423
+ return {
424
+ ...config,
425
+ name: (_config$name = config.name) === null || _config$name === void 0 ? void 0 : _config$name.replaceAll(":", "/")
426
+ };
427
+ }), {
428
+ name: "lichthagel/tailwindcss",
429
+ rules: {
430
+ "tailwindcss/classnames-order": "error",
431
+ "tailwindcss/enforces-negative-arbitrary-values": "error",
432
+ "tailwindcss/enforces-shorthand": "error",
433
+ "tailwindcss/no-contradicting-classname": "error",
434
+ "tailwindcss/no-unnecessary-arbitrary-value": "error"
435
+ }
436
+ }];
465
437
  };
466
438
  var tailwindcss_default = tailwindcss;
467
439
 
468
- // src/configs/typescript.ts
469
- var import_typescript_eslint = __toESM(require("typescript-eslint"), 1);
470
- var typescript_default = [
471
- ...import_typescript_eslint.default.configs.recommendedTypeChecked,
472
- {
473
- name: "lichthagel/typescript",
474
- rules: {
475
- "@typescript-eslint/array-type": "error",
476
- "@typescript-eslint/consistent-indexed-object-style": ["warn", "index-signature"],
477
- "@typescript-eslint/consistent-type-assertions": ["warn", { assertionStyle: "as", objectLiteralTypeAssertions: "allow" }],
478
- "@typescript-eslint/consistent-type-definitions": ["warn", "type"],
479
- "@typescript-eslint/consistent-type-exports": "error",
480
- "@typescript-eslint/consistent-type-imports": ["error", { fixStyle: "inline-type-imports" }],
481
- "@typescript-eslint/default-param-last": "warn",
482
- "@typescript-eslint/explicit-member-accessibility": "error",
483
- "@typescript-eslint/method-signature-style": "warn",
484
- "@typescript-eslint/no-array-constructor": "error",
485
- "@typescript-eslint/no-useless-empty-export": "error",
486
- "default-param-last": "off"
487
- }
488
- }
489
- ];
440
+ //#endregion
441
+ //#region src/configs/typescript.ts
442
+ var typescript_default = [...typescript_eslint.default.configs.recommendedTypeChecked, {
443
+ name: "lichthagel/typescript",
444
+ rules: {
445
+ "@typescript-eslint/array-type": "error",
446
+ "@typescript-eslint/consistent-indexed-object-style": ["warn", "index-signature"],
447
+ "@typescript-eslint/consistent-type-assertions": ["warn", {
448
+ assertionStyle: "as",
449
+ objectLiteralTypeAssertions: "allow"
450
+ }],
451
+ "@typescript-eslint/consistent-type-definitions": ["warn", "type"],
452
+ "@typescript-eslint/consistent-type-exports": "error",
453
+ "@typescript-eslint/consistent-type-imports": ["error", { fixStyle: "inline-type-imports" }],
454
+ "@typescript-eslint/default-param-last": "warn",
455
+ "@typescript-eslint/explicit-member-accessibility": "error",
456
+ "@typescript-eslint/method-signature-style": "warn",
457
+ "@typescript-eslint/no-array-constructor": "error",
458
+ "@typescript-eslint/no-useless-empty-export": "error",
459
+ "default-param-last": "off"
460
+ }
461
+ }];
490
462
 
491
- // src/configs/unicorn.ts
492
- var import_eslint_plugin_unicorn = __toESM(require("eslint-plugin-unicorn"), 1);
493
- var unicorn_default = [
494
- {
495
- name: "unicorn/flat/recommended",
496
- ...import_eslint_plugin_unicorn.default.configs["flat/recommended"]
497
- },
498
- {
499
- name: "lichthagel/unicorn",
500
- rules: {
501
- "unicorn/consistent-destructuring": "error",
502
- "unicorn/filename-case": [
503
- "error",
504
- {
505
- cases: {
506
- camelCase: true,
507
- kebabCase: true,
508
- pascalCase: true
509
- }
510
- }
511
- ],
512
- "unicorn/import-style": "off",
513
- "unicorn/no-null": "off",
514
- "unicorn/no-useless-undefined": ["error", { checkArguments: false }],
515
- "unicorn/prevent-abbreviations": "off"
516
- }
517
- }
518
- ];
463
+ //#endregion
464
+ //#region src/configs/unicorn.ts
465
+ var unicorn_default = [{
466
+ name: "unicorn/flat/recommended",
467
+ ...eslint_plugin_unicorn.default.configs["flat/recommended"]
468
+ }, {
469
+ name: "lichthagel/unicorn",
470
+ rules: {
471
+ "unicorn/consistent-destructuring": "error",
472
+ "unicorn/filename-case": ["error", { cases: {
473
+ camelCase: true,
474
+ kebabCase: true,
475
+ pascalCase: true
476
+ } }],
477
+ "unicorn/import-style": "off",
478
+ "unicorn/no-null": "off",
479
+ "unicorn/no-useless-undefined": ["error", { checkArguments: false }],
480
+ "unicorn/prevent-abbreviations": "off"
481
+ }
482
+ }];
519
483
 
520
- // src/factory.ts
521
- var lichthagel = async (options = {}) => {
522
- const {
523
- browser = false,
524
- node: node2 = false,
525
- solid: solid2 = false,
526
- stylistic: stylistic2 = true,
527
- svelte: svelte2 = false,
528
- tailwindcss: tailwindcss2 = false,
529
- typescript = true,
530
- ...rest
531
- } = options;
532
- if (Object.keys(rest).length > 0) {
533
- throw new Error(`Unknown options: ${Object.keys(rest).join(", ")}`);
534
- }
535
- const config = [...javascript_default, ...unicorn_default, ...perfectionist_default];
536
- if (stylistic2) {
537
- config.push(...stylistic_default);
538
- }
539
- if (browser) {
540
- config.push(...browser_default);
541
- }
542
- if (node2) {
543
- config.push(...await node_default());
544
- }
545
- if (typescript) {
546
- config.push(...typescript_default);
547
- }
548
- if (solid2) {
549
- config.push(...await solid_default({ withTypescript: typescript }));
550
- }
551
- if (svelte2) {
552
- config.push(...await svelte_default({ disableStylistic: stylistic2, withTypescript: typescript }));
553
- }
554
- if (tailwindcss2) {
555
- config.push(...await tailwindcss_default());
556
- }
557
- return config;
484
+ //#endregion
485
+ //#region src/factory.ts
486
+ /**
487
+ * Constructs an array of ESLint flat config items based on the provided options.
488
+ *
489
+ * @param options The options for generating the ESLint configurations. See {@linkcode OptionsConfig}.
490
+ * @returns An array of ESLint flat config items.
491
+ */
492
+ const lichthagel = async (options = {}) => {
493
+ const { browser = false, node: node$1 = false, solid: solid$1 = false, stylistic: stylistic$1 = true, svelte: svelte$1 = false, tailwindcss: tailwindcss$1 = false, typescript = true,...rest } = options;
494
+ if (Object.keys(rest).length > 0) throw new Error(`Unknown options: ${Object.keys(rest).join(", ")}`);
495
+ const config = [
496
+ ...javascript_default,
497
+ ...unicorn_default,
498
+ ...perfectionist_default
499
+ ];
500
+ if (stylistic$1) config.push(...stylistic_default);
501
+ if (browser) config.push(...browser_default);
502
+ if (node$1) config.push(...await node_default());
503
+ if (typescript) config.push(...typescript_default);
504
+ if (solid$1) config.push(...await solid_default({ withTypescript: typescript }));
505
+ if (svelte$1) config.push(...await svelte_default({
506
+ disableStylistic: stylistic$1,
507
+ withTypescript: typescript
508
+ }));
509
+ if (tailwindcss$1) config.push(...await tailwindcss_default());
510
+ return config;
558
511
  };
559
512
  var factory_default = lichthagel;
560
- // Annotate the CommonJS export names for ESM import in node:
561
- 0 && (module.exports = {
562
- browser,
563
- javascript,
564
- node,
565
- perfectionist,
566
- solid,
567
- stylistic,
568
- svelte,
569
- tailwindcss,
570
- typescript,
571
- unicorn
572
- });
513
+
514
+ //#endregion
515
+ exports.browser = browser_default;
516
+ exports.default = factory_default;
517
+ exports.javascript = javascript_default;
518
+ exports.node = node_default;
519
+ exports.perfectionist = perfectionist_default;
520
+ exports.solid = solid_default;
521
+ exports.stylistic = stylistic_default;
522
+ exports.svelte = svelte_default;
523
+ exports.tailwindcss = tailwindcss_default;
524
+ exports.typescript = typescript_default;
525
+ exports.unicorn = unicorn_default;