@kikiutils/eslint-config 1.0.0 → 1.0.2

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/README.md CHANGED
@@ -32,10 +32,10 @@ You can also use `yarn`, `npm`, or `bun`.
32
32
 
33
33
  <!-- Badges -->
34
34
  [npm-version-href]: https://npmjs.com/package/@kikiutils/eslint-config
35
- [npm-version-src]: https://img.shields.io/npm/v/@kikiutils/eslint-config/latest.svg?style=flat&colorA=18181B&colorB=28CF8D
35
+ [npm-version-src]: https://img.shields.io/npm/v/@kikiutils/eslint-config/latest.svg?colorA=18181b&colorB=28cf8d&style=flat
36
36
 
37
37
  [npm-downloads-href]: https://npmjs.com/package/@kikiutils/eslint-config
38
- [npm-downloads-src]: https://img.shields.io/npm/dm/@kikiutils/eslint-config.svg?style=flat&colorA=18181B&colorB=28CF8D
38
+ [npm-downloads-src]: https://img.shields.io/npm/dm/@kikiutils/eslint-config.svg?colorA=18181b&colorB=28cf8d&style=flat
39
39
 
40
40
  [license-href]: https://github.com/kikiutils/eslint-config/blob/main/LICENSE
41
- [license-src]: https://img.shields.io/npm/l/@kikiutils/eslint-config.svg?style=flat&colorA=18181B&colorB=28CF8D
41
+ [license-src]: https://img.shields.io/github/license/kikiutils/eslint-config?colorA=18181b&colorB=28cf8d&style=flat
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,KAAK,EACR,WAAW,EACX,mBAAmB,EACtB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAgCnE,wBAAgB,YAAY,CACxB,WAAW,GAAE,KAAK,GAAG,MAAe,EACpC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GACtC,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CA+UtD;AAED,eAAO,MAAM,GAAG,sDAAsB,CAAC;AACvC,eAAO,MAAM,IAAI,sDAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,KAAK,EACR,WAAW,EACX,mBAAmB,EACtB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAgCnE,wBAAgB,YAAY,CACxB,WAAW,GAAE,KAAK,GAAG,MAAe,EACpC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GACtC,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CA6VtD;AAED,eAAO,MAAM,GAAG,sDAAsB,CAAC;AACvC,eAAO,MAAM,IAAI,sDAAuB,CAAC"}
package/dist/index.mjs CHANGED
@@ -29,332 +29,343 @@ function createPrettierCssConfig(parser) {
29
29
  };
30
30
  }
31
31
  function createConfig(environment = 'node', options) {
32
- return antfu({
33
- typescript: true,
34
- ...options,
35
- }, {
36
- files: ['**/*.{cjs,js,mjs,ts,vue}'],
37
- plugins: { promise },
38
- rules: {
39
- 'antfu/consistent-list-newline': [
40
- 'error',
41
- {
42
- ArrayExpression: false,
43
- ArrayPattern: false,
44
- },
45
- ],
46
- 'antfu/curly': 'off',
47
- 'antfu/if-newline': 'off',
48
- 'antfu/no-top-level-await': 'off',
49
- 'curly': [
50
- 'error',
51
- 'multi-line',
52
- ],
53
- 'max-classes-per-file': [
54
- 'error',
55
- 1,
56
- ],
57
- 'no-promise-executor-return': 'error',
58
- 'node/prefer-global/process': [
59
- 'error',
60
- 'always',
61
- ],
62
- 'perfectionist/sort-array-includes': [
63
- 'error',
64
- commonPerfectionistSortOptions,
65
- ],
66
- 'perfectionist/sort-enums': [
67
- 'error',
68
- commonPerfectionistSortOptions,
69
- ],
70
- 'perfectionist/sort-heritage-clauses': [
71
- 'error',
72
- {
73
- ignoreCase: false,
74
- type: 'natural',
75
- },
76
- ],
77
- 'perfectionist/sort-imports': [
78
- 'error',
79
- {
80
- environment,
81
- groups: [
82
- 'side-effect',
83
- 'side-effect-style',
84
- 'style',
85
- [
86
- 'builtin',
87
- 'builtin-type',
88
- ],
89
- [
90
- 'external',
91
- 'external-type',
92
- ],
93
- [
94
- 'internal',
95
- 'internal-type',
96
- ],
97
- [
98
- 'parent',
99
- 'parent-type',
100
- ],
101
- [
102
- 'sibling',
103
- 'sibling-type',
32
+ const userConfigs = [
33
+ {
34
+ files: ['**/*.{cjs,js,mjs,ts,vue}'],
35
+ plugins: { promise },
36
+ rules: {
37
+ 'antfu/consistent-list-newline': [
38
+ 'error',
39
+ {
40
+ ArrayExpression: false,
41
+ ArrayPattern: false,
42
+ },
43
+ ],
44
+ 'antfu/curly': 'off',
45
+ 'antfu/if-newline': 'off',
46
+ 'antfu/no-top-level-await': 'off',
47
+ 'curly': [
48
+ 'error',
49
+ 'multi-line',
50
+ ],
51
+ 'max-classes-per-file': [
52
+ 'error',
53
+ 1,
54
+ ],
55
+ 'no-promise-executor-return': [
56
+ 'error',
57
+ { allowVoid: true },
58
+ ],
59
+ 'node/prefer-global/process': [
60
+ 'error',
61
+ 'always',
62
+ ],
63
+ 'perfectionist/sort-array-includes': [
64
+ 'error',
65
+ commonPerfectionistSortOptions,
66
+ ],
67
+ 'perfectionist/sort-enums': [
68
+ 'error',
69
+ commonPerfectionistSortOptions,
70
+ ],
71
+ 'perfectionist/sort-heritage-clauses': [
72
+ 'error',
73
+ {
74
+ ignoreCase: false,
75
+ type: 'natural',
76
+ },
77
+ ],
78
+ 'perfectionist/sort-imports': [
79
+ 'error',
80
+ {
81
+ environment,
82
+ groups: [
83
+ 'side-effect',
84
+ 'side-effect-style',
85
+ 'style',
86
+ [
87
+ 'builtin',
88
+ 'builtin-type',
89
+ ],
90
+ [
91
+ 'external',
92
+ 'external-type',
93
+ ],
94
+ [
95
+ 'internal',
96
+ 'internal-type',
97
+ ],
98
+ [
99
+ 'parent',
100
+ 'parent-type',
101
+ ],
102
+ [
103
+ 'sibling',
104
+ 'sibling-type',
105
+ ],
106
+ [
107
+ 'index',
108
+ 'index-type',
109
+ ],
110
+ 'object',
111
+ 'unknown',
104
112
  ],
105
- [
106
- 'index',
107
- 'index-type',
113
+ ignoreCase: false,
114
+ internalPattern: [
115
+ '^#.*',
116
+ '^@/.*',
117
+ '^~/.*',
108
118
  ],
109
- 'object',
110
- 'unknown',
111
- ],
112
- ignoreCase: false,
113
- internalPattern: [
114
- '^#.*',
115
- '^@/.*',
116
- '^~/.*',
117
- ],
118
- type: 'natural',
119
- },
120
- ],
121
- 'perfectionist/sort-interfaces': [
122
- 'error',
123
- commonPerfectionistSortOptions,
124
- ],
125
- 'perfectionist/sort-intersection-types': [
126
- 'error',
127
- commonPerfectionistSortOptions,
128
- ],
129
- 'perfectionist/sort-maps': [
130
- 'error',
131
- commonPerfectionistSortOptions,
132
- ],
133
- 'perfectionist/sort-object-types': [
134
- 'error',
135
- commonPerfectionistSortOptions,
136
- ],
137
- 'perfectionist/sort-objects': [
138
- 'error',
139
- commonPerfectionistSortOptions,
140
- ],
141
- 'perfectionist/sort-sets': [
142
- 'error',
143
- commonPerfectionistSortOptions,
144
- ],
145
- 'perfectionist/sort-switch-case': [
146
- 'error',
147
- {
148
- ignoreCase: false,
149
- type: 'natural',
150
- },
151
- ],
152
- 'perfectionist/sort-union-types': [
153
- 'error',
154
- commonPerfectionistSortOptions,
155
- ],
156
- 'perfectionist/sort-variable-declarations': [
157
- 'error',
158
- commonPerfectionistSortOptions,
159
- ],
160
- 'promise/no-multiple-resolved': 'error',
161
- 'promise/no-return-in-finally': 'error',
162
- 'promise/no-return-wrap': 'error',
163
- 'require-await': 'error',
164
- 'style/array-bracket-newline': [
165
- 'error',
166
- { multiline: true },
167
- ],
168
- 'style/array-element-newline': [
169
- 'error',
170
- {
171
- ArrayExpression: {
172
- consistent: true,
173
- minItems: 2,
119
+ type: 'natural',
174
120
  },
175
- ArrayPattern: { minItems: 3 },
176
- },
177
- ],
178
- 'style/arrow-parens': [
179
- 'error',
180
- 'always',
181
- ],
182
- 'style/brace-style': [
183
- 'error',
184
- '1tbs',
185
- { allowSingleLine: false },
186
- ],
187
- 'style/function-call-spacing': [
188
- 'error',
189
- 'never',
190
- ],
191
- 'style/indent': [
192
- 'error',
193
- 4,
194
- ],
195
- 'style/max-len': [
196
- 'warn',
197
- {
198
- code: 120,
199
- comments: 120,
200
- },
201
- ],
202
- 'style/member-delimiter-style': [
203
- 'error',
204
- {
205
- multiline: {
206
- delimiter: 'semi',
207
- requireLast: true,
121
+ ],
122
+ 'perfectionist/sort-interfaces': [
123
+ 'error',
124
+ commonPerfectionistSortOptions,
125
+ ],
126
+ 'perfectionist/sort-intersection-types': [
127
+ 'error',
128
+ commonPerfectionistSortOptions,
129
+ ],
130
+ 'perfectionist/sort-maps': [
131
+ 'error',
132
+ commonPerfectionistSortOptions,
133
+ ],
134
+ 'perfectionist/sort-object-types': [
135
+ 'error',
136
+ commonPerfectionistSortOptions,
137
+ ],
138
+ 'perfectionist/sort-objects': [
139
+ 'error',
140
+ commonPerfectionistSortOptions,
141
+ ],
142
+ 'perfectionist/sort-sets': [
143
+ 'error',
144
+ commonPerfectionistSortOptions,
145
+ ],
146
+ 'perfectionist/sort-switch-case': [
147
+ 'error',
148
+ {
149
+ ignoreCase: false,
150
+ type: 'natural',
208
151
  },
209
- },
210
- ],
211
- 'style/no-extra-parens': [
212
- 'error',
213
- 'all',
214
- { nestedBinaryExpressions: false },
215
- ],
216
- 'style/no-extra-semi': 'error',
217
- 'style/object-curly-newline': [
218
- 'error',
219
- {
220
- ExportDeclaration: {
221
- minProperties: 2,
222
- multiline: true,
152
+ ],
153
+ 'perfectionist/sort-union-types': [
154
+ 'error',
155
+ commonPerfectionistSortOptions,
156
+ ],
157
+ 'perfectionist/sort-variable-declarations': [
158
+ 'error',
159
+ commonPerfectionistSortOptions,
160
+ ],
161
+ 'promise/no-multiple-resolved': 'error',
162
+ 'promise/no-return-in-finally': 'error',
163
+ 'promise/no-return-wrap': 'error',
164
+ 'require-await': 'error',
165
+ 'style/array-bracket-newline': [
166
+ 'error',
167
+ { multiline: true },
168
+ ],
169
+ 'style/array-element-newline': [
170
+ 'error',
171
+ {
172
+ ArrayExpression: {
173
+ consistent: true,
174
+ minItems: 2,
175
+ },
176
+ ArrayPattern: { minItems: 3 },
223
177
  },
224
- ImportDeclaration: {
225
- minProperties: 2,
226
- multiline: true,
178
+ ],
179
+ 'style/arrow-parens': [
180
+ 'error',
181
+ 'always',
182
+ ],
183
+ 'style/brace-style': [
184
+ 'error',
185
+ '1tbs',
186
+ { allowSingleLine: false },
187
+ ],
188
+ 'style/function-call-spacing': [
189
+ 'error',
190
+ 'never',
191
+ ],
192
+ 'style/indent': [
193
+ 'error',
194
+ 4,
195
+ ],
196
+ 'style/max-len': [
197
+ 'warn',
198
+ {
199
+ code: 120,
200
+ comments: 120,
227
201
  },
228
- ObjectExpression: {
229
- minProperties: 2,
230
- multiline: true,
202
+ ],
203
+ 'style/member-delimiter-style': [
204
+ 'error',
205
+ {
206
+ multiline: {
207
+ delimiter: 'semi',
208
+ requireLast: true,
209
+ },
231
210
  },
232
- ObjectPattern: {
233
- minProperties: 3,
234
- multiline: true,
211
+ ],
212
+ 'style/no-extra-parens': [
213
+ 'error',
214
+ 'all',
215
+ { nestedBinaryExpressions: false },
216
+ ],
217
+ 'style/no-extra-semi': 'error',
218
+ 'style/object-curly-newline': [
219
+ 'error',
220
+ {
221
+ ExportDeclaration: {
222
+ minProperties: 2,
223
+ multiline: true,
224
+ },
225
+ ImportDeclaration: {
226
+ minProperties: 2,
227
+ multiline: true,
228
+ },
229
+ ObjectExpression: {
230
+ minProperties: 2,
231
+ multiline: true,
232
+ },
233
+ ObjectPattern: {
234
+ minProperties: 3,
235
+ multiline: true,
236
+ },
235
237
  },
236
- },
237
- ],
238
- 'style/padding-line-between-statements': [
239
- 'error',
240
- {
241
- blankLine: 'always',
242
- next: [
243
- 'class',
244
- 'enum',
245
- 'function',
246
- ],
247
- prev: '*',
248
- },
249
- {
250
- blankLine: 'always',
251
- next: '*',
252
- prev: [
253
- 'class',
254
- 'function',
255
- ],
256
- },
257
- ],
258
- 'style/semi': [
259
- 'error',
260
- 'always',
261
- ],
262
- 'ts/consistent-generic-constructors': [
263
- 'error',
264
- 'constructor',
265
- ],
266
- 'ts/no-redeclare': 'off',
267
- },
268
- }, createPrettierCssConfig('css'), createPrettierCssConfig('sass'), createPrettierCssConfig('scss'), {
269
- files: ['**/*.vue'],
270
- plugins: {
271
- '@kikiutils/tailwindcss': kikiutilsTailwindcss,
272
- '@kikiutils/vue': kikiutilsEslintPluginVue,
273
- tailwindcss,
238
+ ],
239
+ 'style/padding-line-between-statements': [
240
+ 'error',
241
+ {
242
+ blankLine: 'always',
243
+ next: [
244
+ 'class',
245
+ 'enum',
246
+ 'function',
247
+ ],
248
+ prev: '*',
249
+ },
250
+ {
251
+ blankLine: 'always',
252
+ next: '*',
253
+ prev: [
254
+ 'class',
255
+ 'function',
256
+ ],
257
+ },
258
+ ],
259
+ 'style/semi': [
260
+ 'error',
261
+ 'always',
262
+ ],
263
+ 'ts/consistent-generic-constructors': [
264
+ 'error',
265
+ 'constructor',
266
+ ],
267
+ 'ts/no-redeclare': 'off',
268
+ },
274
269
  },
275
- rules: {
276
- '@kikiutils/tailwindcss/classnames-order': 'error',
277
- '@kikiutils/vue/attributes-order': [
278
- 'error',
279
- { alphabetical: true },
280
- ],
281
- 'style/max-len': 'off',
282
- 'tailwindcss/classnames-order': 'off',
283
- 'tailwindcss/enforces-negative-arbitrary-values': 'error',
284
- 'tailwindcss/enforces-shorthand': 'error',
285
- 'tailwindcss/no-unnecessary-arbitrary-value': 'error',
286
- 'vue/attribute-hyphenation': 'error',
287
- 'vue/attributes-order': 'off',
288
- 'vue/block-order': [
289
- 'error',
290
- {
291
- order: [
292
- 'template',
293
- 'script',
294
- 'style',
295
- ],
296
- },
297
- ],
298
- 'vue/component-api-style': 'error',
299
- 'vue/define-emits-declaration': 'error',
300
- 'vue/define-props-declaration': 'error',
301
- 'vue/enforce-style-attribute': 'error',
302
- 'vue/html-closing-bracket-newline': 'error',
303
- 'vue/html-closing-bracket-spacing': 'error',
304
- 'vue/html-indent': [
305
- 'error',
306
- 4,
307
- ],
308
- 'vue/max-attributes-per-line': [
309
- 'error',
310
- {
311
- multiline: 1,
312
- singleline: 1,
313
- },
314
- ],
315
- 'vue/max-len': [
316
- 'warn',
317
- {
318
- code: 120,
319
- comments: 120,
320
- template: 120,
321
- },
322
- ],
323
- 'vue/no-dupe-keys': 'error',
324
- 'vue/no-lone-template': 'error',
325
- 'vue/no-multi-spaces': 'error',
326
- 'vue/no-multiple-objects-in-class': 'error',
327
- 'vue/no-root-v-if': 'error',
328
- 'vue/no-template-target-blank': 'error',
329
- 'vue/no-v-html': 'error',
330
- 'vue/prefer-define-options': 'error',
331
- 'vue/prefer-separate-static-class': 'error',
332
- 'vue/require-explicit-emits': 'error',
333
- 'vue/require-typed-ref': 'error',
270
+ {
271
+ files: ['**/*.vue'],
272
+ plugins: {
273
+ '@kikiutils/tailwindcss': kikiutilsTailwindcss,
274
+ '@kikiutils/vue': kikiutilsEslintPluginVue,
275
+ tailwindcss,
276
+ },
277
+ rules: {
278
+ '@kikiutils/tailwindcss/classnames-order': 'error',
279
+ '@kikiutils/vue/attributes-order': [
280
+ 'error',
281
+ { alphabetical: true },
282
+ ],
283
+ 'style/max-len': 'off',
284
+ 'tailwindcss/classnames-order': 'off',
285
+ 'tailwindcss/enforces-negative-arbitrary-values': 'error',
286
+ 'tailwindcss/enforces-shorthand': 'error',
287
+ 'tailwindcss/no-unnecessary-arbitrary-value': 'error',
288
+ 'vue/attribute-hyphenation': 'error',
289
+ 'vue/attributes-order': 'off',
290
+ 'vue/block-order': [
291
+ 'error',
292
+ {
293
+ order: [
294
+ 'template',
295
+ 'script',
296
+ 'style',
297
+ ],
298
+ },
299
+ ],
300
+ 'vue/component-api-style': 'error',
301
+ 'vue/define-emits-declaration': 'error',
302
+ 'vue/define-props-declaration': 'error',
303
+ 'vue/enforce-style-attribute': 'error',
304
+ 'vue/html-closing-bracket-newline': 'error',
305
+ 'vue/html-closing-bracket-spacing': 'error',
306
+ 'vue/html-indent': [
307
+ 'error',
308
+ 4,
309
+ ],
310
+ 'vue/max-attributes-per-line': [
311
+ 'error',
312
+ {
313
+ multiline: 1,
314
+ singleline: 1,
315
+ },
316
+ ],
317
+ 'vue/max-len': [
318
+ 'warn',
319
+ {
320
+ code: 120,
321
+ comments: 120,
322
+ template: 120,
323
+ },
324
+ ],
325
+ 'vue/no-dupe-keys': 'error',
326
+ 'vue/no-lone-template': 'error',
327
+ 'vue/no-multi-spaces': 'error',
328
+ 'vue/no-multiple-objects-in-class': 'error',
329
+ 'vue/no-root-v-if': 'error',
330
+ 'vue/no-template-target-blank': 'error',
331
+ 'vue/no-v-html': 'error',
332
+ 'vue/prefer-define-options': 'error',
333
+ 'vue/prefer-separate-static-class': 'error',
334
+ 'vue/require-explicit-emits': 'error',
335
+ 'vue/require-typed-ref': 'error',
336
+ },
334
337
  },
335
- }, {
336
- files: ['**/.vscode/*.json'],
337
- rules: {
338
- 'jsonc/sort-array-values': [
339
- 'error',
340
- {
341
- order: {
338
+ {
339
+ files: ['**/.vscode/*.json'],
340
+ rules: {
341
+ 'jsonc/sort-array-values': [
342
+ 'error',
343
+ {
344
+ order: {
345
+ natural: true,
346
+ type: 'asc',
347
+ },
348
+ pathPattern: '^.*$',
349
+ },
350
+ ],
351
+ 'jsonc/sort-keys': [
352
+ 'error',
353
+ 'asc',
354
+ {
355
+ caseSensitive: true,
342
356
  natural: true,
343
- type: 'asc',
344
357
  },
345
- pathPattern: '^.*$',
346
- },
347
- ],
348
- 'jsonc/sort-keys': [
349
- 'error',
350
- 'asc',
351
- {
352
- caseSensitive: true,
353
- natural: true,
354
- },
355
- ],
358
+ ],
359
+ },
356
360
  },
357
- });
361
+ ];
362
+ if (options?.formatters && (typeof options.formatters === 'boolean' || options.formatters.css)) {
363
+ userConfigs.splice(1, 0, createPrettierCssConfig('css'), createPrettierCssConfig('sass'), createPrettierCssConfig('scss'));
364
+ }
365
+ return antfu({
366
+ typescript: true,
367
+ ...options,
368
+ }, ...userConfigs);
358
369
  }
359
370
  const bun = createConfig('bun');
360
371
  const node = createConfig('node');
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import { antfu } from '@antfu/eslint-config';\nimport type {\n ConfigNames,\n TypedFlatConfigItem,\n} from '@antfu/eslint-config';\n// @ts-expect-error No declare file.\nimport kikiutilsTailwindcss from '@kikiutils/eslint-plugin-tailwindcss';\n// @ts-expect-error Ignore this error.\nimport kikiutilsEslintPluginVue from '@kikiutils/eslint-plugin-vue';\nimport type { FlatConfigComposer } from 'eslint-flat-config-utils';\nimport format from 'eslint-plugin-format';\n// @ts-expect-error No declare file.\nimport promise from 'eslint-plugin-promise';\n// @ts-expect-error No declare file.\nimport tailwindcss from 'eslint-plugin-tailwindcss';\n\nconst commonPerfectionistSortOptions = {\n ignoreCase: false,\n partitionByNewLine: true,\n type: 'natural',\n} as const;\n\nfunction createPrettierCssConfig(parser: 'css' | 'sass' | 'scss'): TypedFlatConfigItem {\n return {\n files: [`**/*.${parser}`],\n languageOptions: { parser: format.parserPlain },\n plugins: { format },\n rules: {\n 'format/prettier': [\n 'error',\n {\n parser,\n printWidth: 120,\n singleQuote: true,\n tabWidth: 4,\n },\n ],\n },\n };\n}\n\nexport function createConfig(\n environment: 'bun' | 'node' = 'node',\n options?: Parameters<typeof antfu>[0],\n): FlatConfigComposer<TypedFlatConfigItem, ConfigNames> {\n return antfu(\n {\n typescript: true,\n ...options,\n },\n {\n files: ['**/*.{cjs,js,mjs,ts,vue}'],\n plugins: { promise },\n rules: {\n 'antfu/consistent-list-newline': [\n 'error',\n {\n ArrayExpression: false,\n ArrayPattern: false,\n },\n ],\n 'antfu/curly': 'off',\n 'antfu/if-newline': 'off',\n 'antfu/no-top-level-await': 'off',\n 'curly': [\n 'error',\n 'multi-line',\n ],\n 'max-classes-per-file': [\n 'error',\n 1,\n ],\n 'no-promise-executor-return': 'error',\n 'node/prefer-global/process': [\n 'error',\n 'always',\n ],\n 'perfectionist/sort-array-includes': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-enums': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-heritage-clauses': [\n 'error',\n {\n ignoreCase: false,\n type: 'natural',\n },\n ],\n 'perfectionist/sort-imports': [\n 'error',\n {\n environment,\n groups: [\n 'side-effect',\n 'side-effect-style',\n 'style',\n [\n 'builtin',\n 'builtin-type',\n ],\n [\n 'external',\n 'external-type',\n ],\n [\n 'internal',\n 'internal-type',\n ],\n [\n 'parent',\n 'parent-type',\n ],\n [\n 'sibling',\n 'sibling-type',\n ],\n [\n 'index',\n 'index-type',\n ],\n 'object',\n 'unknown',\n ],\n ignoreCase: false,\n internalPattern: [\n '^#.*',\n '^@/.*',\n '^~/.*',\n ],\n type: 'natural',\n },\n ],\n 'perfectionist/sort-interfaces': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-intersection-types': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-maps': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-object-types': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-objects': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-sets': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-switch-case': [\n 'error',\n {\n ignoreCase: false,\n type: 'natural',\n },\n ],\n 'perfectionist/sort-union-types': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-variable-declarations': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'promise/no-multiple-resolved': 'error',\n 'promise/no-return-in-finally': 'error',\n 'promise/no-return-wrap': 'error',\n 'require-await': 'error',\n 'style/array-bracket-newline': [\n 'error',\n { multiline: true },\n ],\n 'style/array-element-newline': [\n 'error',\n {\n ArrayExpression: {\n consistent: true,\n minItems: 2,\n },\n ArrayPattern: { minItems: 3 },\n },\n ],\n 'style/arrow-parens': [\n 'error',\n 'always',\n ],\n 'style/brace-style': [\n 'error',\n '1tbs',\n { allowSingleLine: false },\n ],\n 'style/function-call-spacing': [\n 'error',\n 'never',\n ],\n 'style/indent': [\n 'error',\n 4,\n ],\n 'style/max-len': [\n 'warn',\n {\n code: 120,\n comments: 120,\n },\n ],\n 'style/member-delimiter-style': [\n 'error',\n {\n multiline: {\n delimiter: 'semi',\n requireLast: true,\n },\n },\n ],\n 'style/no-extra-parens': [\n 'error',\n 'all',\n { nestedBinaryExpressions: false },\n ],\n 'style/no-extra-semi': 'error',\n 'style/object-curly-newline': [\n 'error',\n {\n ExportDeclaration: {\n minProperties: 2,\n multiline: true,\n },\n ImportDeclaration: {\n minProperties: 2,\n multiline: true,\n },\n ObjectExpression: {\n minProperties: 2,\n multiline: true,\n },\n ObjectPattern: {\n minProperties: 3,\n multiline: true,\n },\n },\n ],\n 'style/padding-line-between-statements': [\n 'error',\n {\n blankLine: 'always',\n next: [\n 'class',\n 'enum',\n 'function',\n ],\n prev: '*',\n },\n {\n blankLine: 'always',\n next: '*',\n prev: [\n 'class',\n 'function',\n ],\n },\n ],\n 'style/semi': [\n 'error',\n 'always',\n ],\n 'ts/consistent-generic-constructors': [\n 'error',\n 'constructor',\n ],\n 'ts/no-redeclare': 'off',\n },\n },\n createPrettierCssConfig('css'),\n createPrettierCssConfig('sass'),\n createPrettierCssConfig('scss'),\n {\n files: ['**/*.vue'],\n plugins: {\n '@kikiutils/tailwindcss': kikiutilsTailwindcss,\n '@kikiutils/vue': kikiutilsEslintPluginVue,\n tailwindcss,\n },\n rules: {\n '@kikiutils/tailwindcss/classnames-order': 'error',\n '@kikiutils/vue/attributes-order': [\n 'error',\n { alphabetical: true },\n ],\n 'style/max-len': 'off',\n 'tailwindcss/classnames-order': 'off',\n 'tailwindcss/enforces-negative-arbitrary-values': 'error',\n 'tailwindcss/enforces-shorthand': 'error',\n 'tailwindcss/no-unnecessary-arbitrary-value': 'error',\n 'vue/attribute-hyphenation': 'error',\n 'vue/attributes-order': 'off',\n 'vue/block-order': [\n 'error',\n {\n order: [\n 'template',\n 'script',\n 'style',\n ],\n },\n ],\n 'vue/component-api-style': 'error',\n 'vue/define-emits-declaration': 'error',\n 'vue/define-props-declaration': 'error',\n 'vue/enforce-style-attribute': 'error',\n 'vue/html-closing-bracket-newline': 'error',\n 'vue/html-closing-bracket-spacing': 'error',\n 'vue/html-indent': [\n 'error',\n 4,\n ],\n 'vue/max-attributes-per-line': [\n 'error',\n {\n multiline: 1,\n singleline: 1,\n },\n ],\n 'vue/max-len': [\n 'warn',\n {\n code: 120,\n comments: 120,\n template: 120,\n },\n ],\n 'vue/no-dupe-keys': 'error',\n 'vue/no-lone-template': 'error',\n 'vue/no-multi-spaces': 'error',\n 'vue/no-multiple-objects-in-class': 'error',\n 'vue/no-root-v-if': 'error',\n 'vue/no-template-target-blank': 'error',\n 'vue/no-v-html': 'error',\n 'vue/prefer-define-options': 'error',\n 'vue/prefer-separate-static-class': 'error',\n 'vue/require-explicit-emits': 'error',\n 'vue/require-typed-ref': 'error',\n },\n },\n {\n files: ['**/.vscode/*.json'],\n rules: {\n 'jsonc/sort-array-values': [\n 'error',\n {\n order: {\n natural: true,\n type: 'asc',\n },\n pathPattern: '^.*$',\n },\n ],\n 'jsonc/sort-keys': [\n 'error',\n 'asc',\n {\n caseSensitive: true,\n natural: true,\n },\n ],\n },\n },\n );\n}\n\nexport const bun = createConfig('bun');\nexport const node = createConfig('node');\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import { antfu } from '@antfu/eslint-config';\nimport type {\n ConfigNames,\n TypedFlatConfigItem,\n} from '@antfu/eslint-config';\n// @ts-expect-error No declare file.\nimport kikiutilsTailwindcss from '@kikiutils/eslint-plugin-tailwindcss';\n// @ts-expect-error Ignore this error.\nimport kikiutilsEslintPluginVue from '@kikiutils/eslint-plugin-vue';\nimport type { FlatConfigComposer } from 'eslint-flat-config-utils';\nimport format from 'eslint-plugin-format';\n// @ts-expect-error No declare file.\nimport promise from 'eslint-plugin-promise';\n// @ts-expect-error No declare file.\nimport tailwindcss from 'eslint-plugin-tailwindcss';\n\nconst commonPerfectionistSortOptions = {\n ignoreCase: false,\n partitionByNewLine: true,\n type: 'natural',\n} as const;\n\nfunction createPrettierCssConfig(parser: 'css' | 'sass' | 'scss'): TypedFlatConfigItem {\n return {\n files: [`**/*.${parser}`],\n languageOptions: { parser: format.parserPlain },\n plugins: { format },\n rules: {\n 'format/prettier': [\n 'error',\n {\n parser,\n printWidth: 120,\n singleQuote: true,\n tabWidth: 4,\n },\n ],\n },\n };\n}\n\nexport function createConfig(\n environment: 'bun' | 'node' = 'node',\n options?: Parameters<typeof antfu>[0],\n): FlatConfigComposer<TypedFlatConfigItem, ConfigNames> {\n const userConfigs: Parameters<typeof antfu>[1] = [\n {\n files: ['**/*.{cjs,js,mjs,ts,vue}'],\n plugins: { promise },\n rules: {\n 'antfu/consistent-list-newline': [\n 'error',\n {\n ArrayExpression: false,\n ArrayPattern: false,\n },\n ],\n 'antfu/curly': 'off',\n 'antfu/if-newline': 'off',\n 'antfu/no-top-level-await': 'off',\n 'curly': [\n 'error',\n 'multi-line',\n ],\n 'max-classes-per-file': [\n 'error',\n 1,\n ],\n 'no-promise-executor-return': [\n 'error',\n { allowVoid: true },\n ],\n 'node/prefer-global/process': [\n 'error',\n 'always',\n ],\n 'perfectionist/sort-array-includes': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-enums': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-heritage-clauses': [\n 'error',\n {\n ignoreCase: false,\n type: 'natural',\n },\n ],\n 'perfectionist/sort-imports': [\n 'error',\n {\n environment,\n groups: [\n 'side-effect',\n 'side-effect-style',\n 'style',\n [\n 'builtin',\n 'builtin-type',\n ],\n [\n 'external',\n 'external-type',\n ],\n [\n 'internal',\n 'internal-type',\n ],\n [\n 'parent',\n 'parent-type',\n ],\n [\n 'sibling',\n 'sibling-type',\n ],\n [\n 'index',\n 'index-type',\n ],\n 'object',\n 'unknown',\n ],\n ignoreCase: false,\n internalPattern: [\n '^#.*',\n '^@/.*',\n '^~/.*',\n ],\n type: 'natural',\n },\n ],\n 'perfectionist/sort-interfaces': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-intersection-types': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-maps': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-object-types': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-objects': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-sets': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-switch-case': [\n 'error',\n {\n ignoreCase: false,\n type: 'natural',\n },\n ],\n 'perfectionist/sort-union-types': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'perfectionist/sort-variable-declarations': [\n 'error',\n commonPerfectionistSortOptions,\n ],\n 'promise/no-multiple-resolved': 'error',\n 'promise/no-return-in-finally': 'error',\n 'promise/no-return-wrap': 'error',\n 'require-await': 'error',\n 'style/array-bracket-newline': [\n 'error',\n { multiline: true },\n ],\n 'style/array-element-newline': [\n 'error',\n {\n ArrayExpression: {\n consistent: true,\n minItems: 2,\n },\n ArrayPattern: { minItems: 3 },\n },\n ],\n 'style/arrow-parens': [\n 'error',\n 'always',\n ],\n 'style/brace-style': [\n 'error',\n '1tbs',\n { allowSingleLine: false },\n ],\n 'style/function-call-spacing': [\n 'error',\n 'never',\n ],\n 'style/indent': [\n 'error',\n 4,\n ],\n 'style/max-len': [\n 'warn',\n {\n code: 120,\n comments: 120,\n },\n ],\n 'style/member-delimiter-style': [\n 'error',\n {\n multiline: {\n delimiter: 'semi',\n requireLast: true,\n },\n },\n ],\n 'style/no-extra-parens': [\n 'error',\n 'all',\n { nestedBinaryExpressions: false },\n ],\n 'style/no-extra-semi': 'error',\n 'style/object-curly-newline': [\n 'error',\n {\n ExportDeclaration: {\n minProperties: 2,\n multiline: true,\n },\n ImportDeclaration: {\n minProperties: 2,\n multiline: true,\n },\n ObjectExpression: {\n minProperties: 2,\n multiline: true,\n },\n ObjectPattern: {\n minProperties: 3,\n multiline: true,\n },\n },\n ],\n 'style/padding-line-between-statements': [\n 'error',\n {\n blankLine: 'always',\n next: [\n 'class',\n 'enum',\n 'function',\n ],\n prev: '*',\n },\n {\n blankLine: 'always',\n next: '*',\n prev: [\n 'class',\n 'function',\n ],\n },\n ],\n 'style/semi': [\n 'error',\n 'always',\n ],\n 'ts/consistent-generic-constructors': [\n 'error',\n 'constructor',\n ],\n 'ts/no-redeclare': 'off',\n },\n },\n {\n files: ['**/*.vue'],\n plugins: {\n '@kikiutils/tailwindcss': kikiutilsTailwindcss,\n '@kikiutils/vue': kikiutilsEslintPluginVue,\n tailwindcss,\n },\n rules: {\n '@kikiutils/tailwindcss/classnames-order': 'error',\n '@kikiutils/vue/attributes-order': [\n 'error',\n { alphabetical: true },\n ],\n 'style/max-len': 'off',\n 'tailwindcss/classnames-order': 'off',\n 'tailwindcss/enforces-negative-arbitrary-values': 'error',\n 'tailwindcss/enforces-shorthand': 'error',\n 'tailwindcss/no-unnecessary-arbitrary-value': 'error',\n 'vue/attribute-hyphenation': 'error',\n 'vue/attributes-order': 'off',\n 'vue/block-order': [\n 'error',\n {\n order: [\n 'template',\n 'script',\n 'style',\n ],\n },\n ],\n 'vue/component-api-style': 'error',\n 'vue/define-emits-declaration': 'error',\n 'vue/define-props-declaration': 'error',\n 'vue/enforce-style-attribute': 'error',\n 'vue/html-closing-bracket-newline': 'error',\n 'vue/html-closing-bracket-spacing': 'error',\n 'vue/html-indent': [\n 'error',\n 4,\n ],\n 'vue/max-attributes-per-line': [\n 'error',\n {\n multiline: 1,\n singleline: 1,\n },\n ],\n 'vue/max-len': [\n 'warn',\n {\n code: 120,\n comments: 120,\n template: 120,\n },\n ],\n 'vue/no-dupe-keys': 'error',\n 'vue/no-lone-template': 'error',\n 'vue/no-multi-spaces': 'error',\n 'vue/no-multiple-objects-in-class': 'error',\n 'vue/no-root-v-if': 'error',\n 'vue/no-template-target-blank': 'error',\n 'vue/no-v-html': 'error',\n 'vue/prefer-define-options': 'error',\n 'vue/prefer-separate-static-class': 'error',\n 'vue/require-explicit-emits': 'error',\n 'vue/require-typed-ref': 'error',\n },\n },\n {\n files: ['**/.vscode/*.json'],\n rules: {\n 'jsonc/sort-array-values': [\n 'error',\n {\n order: {\n natural: true,\n type: 'asc',\n },\n pathPattern: '^.*$',\n },\n ],\n 'jsonc/sort-keys': [\n 'error',\n 'asc',\n {\n caseSensitive: true,\n natural: true,\n },\n ],\n },\n },\n ];\n\n if (options?.formatters && (typeof options.formatters === 'boolean' || options.formatters.css)) {\n userConfigs.splice(\n 1,\n 0,\n createPrettierCssConfig('css'),\n createPrettierCssConfig('sass'),\n createPrettierCssConfig('scss'),\n );\n }\n\n return antfu(\n {\n typescript: true,\n ...options,\n },\n ...userConfigs,\n );\n}\n\nexport const bun = createConfig('bun');\nexport const node = createConfig('node');\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kikiutils/eslint-config",
3
3
  "type": "module",
4
- "version": "1.0.0",
4
+ "version": "1.0.2",
5
5
  "description": "Using antfu/eslint-config as a base for eslint-config, slightly modified the settings and added additional plugins, mainly for my own use.",
6
6
  "author": "kiki-kanri",
7
7
  "license": "MIT",
@@ -9,6 +9,7 @@
9
9
  "type": "git",
10
10
  "url": "git+https://github.com/kikiutils/eslint-config.git"
11
11
  },
12
+ "keywords": [],
12
13
  "sideEffects": false,
13
14
  "exports": {
14
15
  ".": {
@@ -34,10 +35,10 @@
34
35
  "typecheck": "tsc --noEmit"
35
36
  },
36
37
  "dependencies": {
37
- "@antfu/eslint-config": "^4.12.0",
38
+ "@antfu/eslint-config": "^4.13.0",
38
39
  "@kikiutils/eslint-plugin-tailwindcss": "^3.19.0",
39
40
  "@kikiutils/eslint-plugin-vue": "^10.1.2",
40
- "eslint": "^9.25.1",
41
+ "eslint": "^9.26.0",
41
42
  "eslint-plugin-format": "^1.0.1",
42
43
  "eslint-plugin-promise": "^7.2.1",
43
44
  "eslint-plugin-tailwindcss": "^3.18.0"
@@ -46,7 +47,7 @@
46
47
  "@kikiutils/changelogen": "^0.8.0",
47
48
  "@kikiutils/tsconfigs": "^5.0.1",
48
49
  "eslint-flat-config-utils": "^2.0.1",
49
- "ts-project-builder": "^5.0.0",
50
+ "ts-project-builder": "^5.0.1",
50
51
  "typescript": "^5.8.3"
51
52
  },
52
53
  "pnpm": {
package/src/index.ts CHANGED
@@ -43,11 +43,7 @@ export function createConfig(
43
43
  environment: 'bun' | 'node' = 'node',
44
44
  options?: Parameters<typeof antfu>[0],
45
45
  ): FlatConfigComposer<TypedFlatConfigItem, ConfigNames> {
46
- return antfu(
47
- {
48
- typescript: true,
49
- ...options,
50
- },
46
+ const userConfigs: Parameters<typeof antfu>[1] = [
51
47
  {
52
48
  files: ['**/*.{cjs,js,mjs,ts,vue}'],
53
49
  plugins: { promise },
@@ -70,7 +66,10 @@ export function createConfig(
70
66
  'error',
71
67
  1,
72
68
  ],
73
- 'no-promise-executor-return': 'error',
69
+ 'no-promise-executor-return': [
70
+ 'error',
71
+ { allowVoid: true },
72
+ ],
74
73
  'node/prefer-global/process': [
75
74
  'error',
76
75
  'always',
@@ -282,9 +281,6 @@ export function createConfig(
282
281
  'ts/no-redeclare': 'off',
283
282
  },
284
283
  },
285
- createPrettierCssConfig('css'),
286
- createPrettierCssConfig('sass'),
287
- createPrettierCssConfig('scss'),
288
284
  {
289
285
  files: ['**/*.vue'],
290
286
  plugins: {
@@ -376,6 +372,24 @@ export function createConfig(
376
372
  ],
377
373
  },
378
374
  },
375
+ ];
376
+
377
+ if (options?.formatters && (typeof options.formatters === 'boolean' || options.formatters.css)) {
378
+ userConfigs.splice(
379
+ 1,
380
+ 0,
381
+ createPrettierCssConfig('css'),
382
+ createPrettierCssConfig('sass'),
383
+ createPrettierCssConfig('scss'),
384
+ );
385
+ }
386
+
387
+ return antfu(
388
+ {
389
+ typescript: true,
390
+ ...options,
391
+ },
392
+ ...userConfigs,
379
393
  );
380
394
  }
381
395