@curev/eslint-config 0.3.6 → 0.3.7

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
@@ -9,7 +9,6 @@ const pluginCurev = require('@curev/eslint-plugin');
9
9
  const pluginComments = require('eslint-plugin-eslint-comments');
10
10
  const pluginImport = require('eslint-plugin-i');
11
11
  const pluginNode = require('eslint-plugin-n');
12
- const pluginPerfectionist = require('eslint-plugin-perfectionist');
13
12
  const pluginUnicorn = require('eslint-plugin-unicorn');
14
13
  const pluginUnusedImports = require('eslint-plugin-unused-imports');
15
14
  const globals = require('globals');
@@ -35,7 +34,6 @@ const pluginCurev__default = /*#__PURE__*/_interopDefaultCompat(pluginCurev);
35
34
  const pluginComments__default = /*#__PURE__*/_interopDefaultCompat(pluginComments);
36
35
  const pluginImport__namespace = /*#__PURE__*/_interopNamespaceCompat(pluginImport);
37
36
  const pluginNode__default = /*#__PURE__*/_interopDefaultCompat(pluginNode);
38
- const pluginPerfectionist__default = /*#__PURE__*/_interopDefaultCompat(pluginPerfectionist);
39
37
  const pluginUnicorn__default = /*#__PURE__*/_interopDefaultCompat(pluginUnicorn);
40
38
  const pluginUnusedImports__default = /*#__PURE__*/_interopDefaultCompat(pluginUnusedImports);
41
39
  const globals__default = /*#__PURE__*/_interopDefaultCompat(globals);
@@ -223,20 +221,14 @@ async function javascript(options = {}) {
223
221
  }],
224
222
  "constructor-super": "error",
225
223
  "default-case-last": "error",
226
- "eol-last": "error",
227
224
  "eqeqeq": ["error", "always", { null: "ignore" }],
228
- "func-call-spacing": ["error", "never"],
229
- "generator-star-spacing": ["error", { after: true, before: true }],
230
225
  "import/export": "error",
231
226
  "import/first": "error",
232
227
  "import/no-absolute-path": ["error", { amd: false, commonjs: true, esmodule: true }],
233
228
  "import/no-duplicates": "error",
234
229
  "import/no-named-default": "error",
235
230
  "import/no-webpack-loader-syntax": "error",
236
- "lines-between-class-members": ["error", "always", { exceptAfterSingleLine: true }],
237
- "multiline-ternary": ["error", "always-multiline"],
238
231
  "new-cap": ["error", { capIsNew: false, newIsCap: true, properties: true }],
239
- "new-parens": "error",
240
232
  "no-alert": "error",
241
233
  "no-array-constructor": "error",
242
234
  "no-async-promise-executor": "error",
@@ -263,9 +255,7 @@ async function javascript(options = {}) {
263
255
  "no-extend-native": "error",
264
256
  "no-extra-bind": "error",
265
257
  "no-extra-boolean-cast": "error",
266
- "no-extra-parens": ["error", "functions"],
267
258
  "no-fallthrough": "error",
268
- "no-floating-decimal": "error",
269
259
  "no-func-assign": "error",
270
260
  "no-global-assign": "error",
271
261
  "no-implied-eval": "error",
@@ -277,29 +267,9 @@ async function javascript(options = {}) {
277
267
  "no-lone-blocks": "error",
278
268
  "no-loss-of-precision": "error",
279
269
  "no-misleading-character-class": "error",
280
- "no-mixed-operators": ["error", {
281
- allowSamePrecedence: true,
282
- groups: [
283
- ["==", "!=", "===", "!==", ">", ">=", "<", "<="],
284
- ["&&", "||"],
285
- ["in", "instanceof"]
286
- ]
287
- }],
288
- "no-mixed-spaces-and-tabs": "error",
289
- "no-multi-spaces": "error",
290
270
  "no-multi-str": "error",
291
- "no-multiple-empty-lines": [
292
- "error",
293
- {
294
- max: 3,
295
- maxBOF: 0,
296
- maxEOF: 1
297
- }
298
- ],
299
271
  "no-new": "error",
300
272
  "no-new-func": "error",
301
- "no-new-object": "error",
302
- "no-new-symbol": "error",
303
273
  "no-new-wrappers": "error",
304
274
  "no-obj-calls": "error",
305
275
  "no-octal": "error",
@@ -335,16 +305,9 @@ async function javascript(options = {}) {
335
305
  "no-sequences": "error",
336
306
  "no-shadow-restricted-names": "error",
337
307
  "no-sparse-arrays": "error",
338
- "no-tabs": "error",
339
308
  "no-template-curly-in-string": "error",
340
309
  "no-this-before-super": "error",
341
310
  "no-throw-literal": "error",
342
- "no-trailing-spaces": [
343
- "error",
344
- {
345
- skipBlankLines: true
346
- }
347
- ],
348
311
  "no-undef": "error",
349
312
  "no-undef-init": "error",
350
313
  "no-unexpected-multiline": "error",
@@ -377,12 +340,8 @@ async function javascript(options = {}) {
377
340
  "no-var": "warn",
378
341
  "no-void": "error",
379
342
  "no-with": "error",
380
- "object-curly-newline": ["error", { consistent: true, multiline: true }],
381
- "object-curly-spacing": ["error", "always"],
382
- "object-property-newline": ["error", { allowMultiplePropertiesPerLine: true }],
383
343
  "object-shorthand": ["warn", "properties"],
384
344
  "one-var": ["error", { initialized: "never" }],
385
- "padded-blocks": ["error", { blocks: "never", classes: "never", switches: "never" }],
386
345
  "prefer-arrow-callback": [
387
346
  "error",
388
347
  {
@@ -397,7 +356,6 @@ async function javascript(options = {}) {
397
356
  "prefer-rest-params": "error",
398
357
  "prefer-spread": "error",
399
358
  "prefer-template": "error",
400
- "rest-spread-spacing": ["error", "never"],
401
359
  "sort-imports": [
402
360
  "error",
403
361
  {
@@ -409,8 +367,6 @@ async function javascript(options = {}) {
409
367
  }
410
368
  ],
411
369
  "symbol-description": "error",
412
- "template-curly-spacing": ["error", "never"],
413
- "template-tag-spacing": ["error", "never"],
414
370
  "unicode-bom": ["error", "never"],
415
371
  "unused-imports/no-unused-imports": isInEditor ? "off" : "error",
416
372
  "unused-imports/no-unused-vars": [
@@ -423,8 +379,6 @@ async function javascript(options = {}) {
423
379
  }],
424
380
  "valid-typeof": ["error", { requireStringLiterals: true }],
425
381
  "vars-on-top": "error",
426
- "wrap-iife": ["error", "any", { functionPrototypeMethods: true }],
427
- "yield-star-spacing": ["error", "both"],
428
382
  "yoda": ["error", "never"],
429
383
  ...overrides
430
384
  },
@@ -734,54 +688,6 @@ async function node() {
734
688
  ];
735
689
  }
736
690
 
737
- async function perfectionist() {
738
- return [
739
- {
740
- plugins: {
741
- perfectionist: pluginPerfectionist__default
742
- },
743
- rules: {
744
- "perfectionist/sort-named-exports": [
745
- "error",
746
- {
747
- order: "asc",
748
- type: "natural"
749
- }
750
- ],
751
- "perfectionist/sort-named-imports": [
752
- "error",
753
- {
754
- order: "asc",
755
- type: "natural"
756
- }
757
- ],
758
- "perfectionist/sort-object-types": [
759
- "error",
760
- {
761
- order: "asc",
762
- type: "natural"
763
- }
764
- ],
765
- "perfectionist/sort-objects": [
766
- "error",
767
- {
768
- order: "asc",
769
- type: "natural"
770
- }
771
- ],
772
- "perfectionist/sort-union-types": [
773
- "error",
774
- {
775
- order: "asc",
776
- type: "natural"
777
- }
778
- ],
779
- "sort-keys": "off"
780
- }
781
- }
782
- ];
783
- }
784
-
785
691
  const StylisticConfigDefaults = {
786
692
  arrowParens: true,
787
693
  braceStyle: "1tbs",
@@ -817,9 +723,37 @@ async function stylistic(options = {}) {
817
723
  "curev/max-statements-per-line": ["error", { max: 1 }],
818
724
  "curev/top-level-function": "error",
819
725
  "curly": ["error", "all"],
820
- "semi-spacing": ["error", { after: true, before: false }],
821
726
  "style/brace-style": ["error", "1tbs", { allowSingleLine: true }],
727
+ "style/lines-between-class-members": ["error", "always", { exceptAfterSingleLine: true }],
822
728
  "style/max-statements-per-line": ["off"],
729
+ "style/multiline-ternary": ["error", "always-multiline"],
730
+ "style/no-extra-parens": ["error", "functions"],
731
+ "style/no-mixed-operators": ["error", {
732
+ allowSamePrecedence: true,
733
+ groups: [
734
+ ["==", "!=", "===", "!==", ">", ">=", "<", "<="],
735
+ ["&&", "||"],
736
+ ["in", "instanceof"]
737
+ ]
738
+ }],
739
+ "style/no-multiple-empty-lines": [
740
+ "error",
741
+ {
742
+ max: 3,
743
+ maxBOF: 0,
744
+ maxEOF: 1
745
+ }
746
+ ],
747
+ "style/object-curly-newline": ["error", { consistent: true, multiline: true }],
748
+ "style/object-curly-spacing": ["error", "always"],
749
+ "style/object-property-newline": ["error", { allowMultiplePropertiesPerLine: true }],
750
+ "style/padded-blocks": ["error", { blocks: "never", classes: "never", switches: "never" }],
751
+ "style/rest-spread-spacing": ["error", "never"],
752
+ "style/semi-spacing": ["error", { after: true, before: false }],
753
+ "style/template-curly-spacing": ["error", "never"],
754
+ "style/template-tag-spacing": ["error", "never"],
755
+ "style/wrap-iife": ["error", "any", { functionPrototypeMethods: true }],
756
+ "style/yield-star-spacing": ["error", "both"],
823
757
  ...overrides
824
758
  }
825
759
  }
@@ -1722,8 +1656,6 @@ async function vue(options = {}) {
1722
1656
  }],
1723
1657
  "vue/component-name-in-template-casing": ["error", "PascalCase"],
1724
1658
  "vue/component-options-name-casing": ["error", "PascalCase"],
1725
- // this is deprecated
1726
- "vue/component-tags-order": "off",
1727
1659
  "vue/custom-event-name-casing": ["error", "camelCase"],
1728
1660
  "vue/define-macros-order": ["error", {
1729
1661
  order: ["defineOptions", "defineProps", "defineEmits", "defineSlots"]
@@ -1970,9 +1902,7 @@ async function curev(options = {}, ...userConfigs) {
1970
1902
  imports({
1971
1903
  stylistic: stylisticOptions
1972
1904
  }),
1973
- unicorn(),
1974
- // Optional plugins (installed but not enabled by default)
1975
- perfectionist()
1905
+ unicorn()
1976
1906
  );
1977
1907
  if (enableVue) {
1978
1908
  componentExts.push("vue");
@@ -2129,7 +2059,6 @@ exports.jsonc = jsonc;
2129
2059
  exports.markdown = markdown;
2130
2060
  exports.node = node;
2131
2061
  exports.parserPlain = parserPlain;
2132
- exports.perfectionist = perfectionist;
2133
2062
  exports.react = react;
2134
2063
  exports.renameRules = renameRules;
2135
2064
  exports.resolveSubOptions = resolveSubOptions;
package/dist/index.d.cts CHANGED
@@ -406,13 +406,6 @@ declare function markdown(options?: OptionsFiles & OptionsComponentExts & Option
406
406
 
407
407
  declare function node(): Promise<FlatConfigItem[]>;
408
408
 
409
- /**
410
- * Optional perfectionist plugin for props and items sorting.
411
- *
412
- * @see https://github.com/azat-io/eslint-plugin-perfectionist
413
- */
414
- declare function perfectionist(): Promise<FlatConfigItem[]>;
415
-
416
409
  declare function formatters(options?: OptionsFormatters | true, stylistic?: StylisticConfig): Promise<FlatConfigItem[]>;
417
410
 
418
411
  declare function react(options?: OptionsHasTypeScript & OptionsOverrides & OptionsFiles): Promise<FlatConfigItem[]>;
@@ -513,4 +506,4 @@ declare function interopDefault<T>(m: Awaitable<T>): Promise<T extends {
513
506
  } ? U : T>;
514
507
  declare function ensurePackages(packages: string[]): Promise<void>;
515
508
 
516
- export { type Awaitable, type FlatConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type UserConfigItem, type WrapRuleConfig, combine, comments, curev, curev as default, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, javascript, jsdoc, jsonc, markdown, node, parserPlain, perfectionist, react, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
509
+ export { type Awaitable, type FlatConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type UserConfigItem, type WrapRuleConfig, combine, comments, curev, curev as default, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, javascript, jsdoc, jsonc, markdown, node, parserPlain, react, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
package/dist/index.d.mts CHANGED
@@ -406,13 +406,6 @@ declare function markdown(options?: OptionsFiles & OptionsComponentExts & Option
406
406
 
407
407
  declare function node(): Promise<FlatConfigItem[]>;
408
408
 
409
- /**
410
- * Optional perfectionist plugin for props and items sorting.
411
- *
412
- * @see https://github.com/azat-io/eslint-plugin-perfectionist
413
- */
414
- declare function perfectionist(): Promise<FlatConfigItem[]>;
415
-
416
409
  declare function formatters(options?: OptionsFormatters | true, stylistic?: StylisticConfig): Promise<FlatConfigItem[]>;
417
410
 
418
411
  declare function react(options?: OptionsHasTypeScript & OptionsOverrides & OptionsFiles): Promise<FlatConfigItem[]>;
@@ -513,4 +506,4 @@ declare function interopDefault<T>(m: Awaitable<T>): Promise<T extends {
513
506
  } ? U : T>;
514
507
  declare function ensurePackages(packages: string[]): Promise<void>;
515
508
 
516
- export { type Awaitable, type FlatConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type UserConfigItem, type WrapRuleConfig, combine, comments, curev, curev as default, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, javascript, jsdoc, jsonc, markdown, node, parserPlain, perfectionist, react, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
509
+ export { type Awaitable, type FlatConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type UserConfigItem, type WrapRuleConfig, combine, comments, curev, curev as default, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, javascript, jsdoc, jsonc, markdown, node, parserPlain, react, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
package/dist/index.d.ts CHANGED
@@ -406,13 +406,6 @@ declare function markdown(options?: OptionsFiles & OptionsComponentExts & Option
406
406
 
407
407
  declare function node(): Promise<FlatConfigItem[]>;
408
408
 
409
- /**
410
- * Optional perfectionist plugin for props and items sorting.
411
- *
412
- * @see https://github.com/azat-io/eslint-plugin-perfectionist
413
- */
414
- declare function perfectionist(): Promise<FlatConfigItem[]>;
415
-
416
409
  declare function formatters(options?: OptionsFormatters | true, stylistic?: StylisticConfig): Promise<FlatConfigItem[]>;
417
410
 
418
411
  declare function react(options?: OptionsHasTypeScript & OptionsOverrides & OptionsFiles): Promise<FlatConfigItem[]>;
@@ -513,4 +506,4 @@ declare function interopDefault<T>(m: Awaitable<T>): Promise<T extends {
513
506
  } ? U : T>;
514
507
  declare function ensurePackages(packages: string[]): Promise<void>;
515
508
 
516
- export { type Awaitable, type FlatConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type UserConfigItem, type WrapRuleConfig, combine, comments, curev, curev as default, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, javascript, jsdoc, jsonc, markdown, node, parserPlain, perfectionist, react, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
509
+ export { type Awaitable, type FlatConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type UserConfigItem, type WrapRuleConfig, combine, comments, curev, curev as default, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, javascript, jsdoc, jsonc, markdown, node, parserPlain, react, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
package/dist/index.mjs CHANGED
@@ -5,7 +5,6 @@ import pluginCurev from '@curev/eslint-plugin';
5
5
  import pluginComments from 'eslint-plugin-eslint-comments';
6
6
  import * as pluginImport from 'eslint-plugin-i';
7
7
  import pluginNode from 'eslint-plugin-n';
8
- import pluginPerfectionist from 'eslint-plugin-perfectionist';
9
8
  import pluginUnicorn from 'eslint-plugin-unicorn';
10
9
  import pluginUnusedImports from 'eslint-plugin-unused-imports';
11
10
  import globals from 'globals';
@@ -194,20 +193,14 @@ async function javascript(options = {}) {
194
193
  }],
195
194
  "constructor-super": "error",
196
195
  "default-case-last": "error",
197
- "eol-last": "error",
198
196
  "eqeqeq": ["error", "always", { null: "ignore" }],
199
- "func-call-spacing": ["error", "never"],
200
- "generator-star-spacing": ["error", { after: true, before: true }],
201
197
  "import/export": "error",
202
198
  "import/first": "error",
203
199
  "import/no-absolute-path": ["error", { amd: false, commonjs: true, esmodule: true }],
204
200
  "import/no-duplicates": "error",
205
201
  "import/no-named-default": "error",
206
202
  "import/no-webpack-loader-syntax": "error",
207
- "lines-between-class-members": ["error", "always", { exceptAfterSingleLine: true }],
208
- "multiline-ternary": ["error", "always-multiline"],
209
203
  "new-cap": ["error", { capIsNew: false, newIsCap: true, properties: true }],
210
- "new-parens": "error",
211
204
  "no-alert": "error",
212
205
  "no-array-constructor": "error",
213
206
  "no-async-promise-executor": "error",
@@ -234,9 +227,7 @@ async function javascript(options = {}) {
234
227
  "no-extend-native": "error",
235
228
  "no-extra-bind": "error",
236
229
  "no-extra-boolean-cast": "error",
237
- "no-extra-parens": ["error", "functions"],
238
230
  "no-fallthrough": "error",
239
- "no-floating-decimal": "error",
240
231
  "no-func-assign": "error",
241
232
  "no-global-assign": "error",
242
233
  "no-implied-eval": "error",
@@ -248,29 +239,9 @@ async function javascript(options = {}) {
248
239
  "no-lone-blocks": "error",
249
240
  "no-loss-of-precision": "error",
250
241
  "no-misleading-character-class": "error",
251
- "no-mixed-operators": ["error", {
252
- allowSamePrecedence: true,
253
- groups: [
254
- ["==", "!=", "===", "!==", ">", ">=", "<", "<="],
255
- ["&&", "||"],
256
- ["in", "instanceof"]
257
- ]
258
- }],
259
- "no-mixed-spaces-and-tabs": "error",
260
- "no-multi-spaces": "error",
261
242
  "no-multi-str": "error",
262
- "no-multiple-empty-lines": [
263
- "error",
264
- {
265
- max: 3,
266
- maxBOF: 0,
267
- maxEOF: 1
268
- }
269
- ],
270
243
  "no-new": "error",
271
244
  "no-new-func": "error",
272
- "no-new-object": "error",
273
- "no-new-symbol": "error",
274
245
  "no-new-wrappers": "error",
275
246
  "no-obj-calls": "error",
276
247
  "no-octal": "error",
@@ -306,16 +277,9 @@ async function javascript(options = {}) {
306
277
  "no-sequences": "error",
307
278
  "no-shadow-restricted-names": "error",
308
279
  "no-sparse-arrays": "error",
309
- "no-tabs": "error",
310
280
  "no-template-curly-in-string": "error",
311
281
  "no-this-before-super": "error",
312
282
  "no-throw-literal": "error",
313
- "no-trailing-spaces": [
314
- "error",
315
- {
316
- skipBlankLines: true
317
- }
318
- ],
319
283
  "no-undef": "error",
320
284
  "no-undef-init": "error",
321
285
  "no-unexpected-multiline": "error",
@@ -348,12 +312,8 @@ async function javascript(options = {}) {
348
312
  "no-var": "warn",
349
313
  "no-void": "error",
350
314
  "no-with": "error",
351
- "object-curly-newline": ["error", { consistent: true, multiline: true }],
352
- "object-curly-spacing": ["error", "always"],
353
- "object-property-newline": ["error", { allowMultiplePropertiesPerLine: true }],
354
315
  "object-shorthand": ["warn", "properties"],
355
316
  "one-var": ["error", { initialized: "never" }],
356
- "padded-blocks": ["error", { blocks: "never", classes: "never", switches: "never" }],
357
317
  "prefer-arrow-callback": [
358
318
  "error",
359
319
  {
@@ -368,7 +328,6 @@ async function javascript(options = {}) {
368
328
  "prefer-rest-params": "error",
369
329
  "prefer-spread": "error",
370
330
  "prefer-template": "error",
371
- "rest-spread-spacing": ["error", "never"],
372
331
  "sort-imports": [
373
332
  "error",
374
333
  {
@@ -380,8 +339,6 @@ async function javascript(options = {}) {
380
339
  }
381
340
  ],
382
341
  "symbol-description": "error",
383
- "template-curly-spacing": ["error", "never"],
384
- "template-tag-spacing": ["error", "never"],
385
342
  "unicode-bom": ["error", "never"],
386
343
  "unused-imports/no-unused-imports": isInEditor ? "off" : "error",
387
344
  "unused-imports/no-unused-vars": [
@@ -394,8 +351,6 @@ async function javascript(options = {}) {
394
351
  }],
395
352
  "valid-typeof": ["error", { requireStringLiterals: true }],
396
353
  "vars-on-top": "error",
397
- "wrap-iife": ["error", "any", { functionPrototypeMethods: true }],
398
- "yield-star-spacing": ["error", "both"],
399
354
  "yoda": ["error", "never"],
400
355
  ...overrides
401
356
  },
@@ -705,54 +660,6 @@ async function node() {
705
660
  ];
706
661
  }
707
662
 
708
- async function perfectionist() {
709
- return [
710
- {
711
- plugins: {
712
- perfectionist: pluginPerfectionist
713
- },
714
- rules: {
715
- "perfectionist/sort-named-exports": [
716
- "error",
717
- {
718
- order: "asc",
719
- type: "natural"
720
- }
721
- ],
722
- "perfectionist/sort-named-imports": [
723
- "error",
724
- {
725
- order: "asc",
726
- type: "natural"
727
- }
728
- ],
729
- "perfectionist/sort-object-types": [
730
- "error",
731
- {
732
- order: "asc",
733
- type: "natural"
734
- }
735
- ],
736
- "perfectionist/sort-objects": [
737
- "error",
738
- {
739
- order: "asc",
740
- type: "natural"
741
- }
742
- ],
743
- "perfectionist/sort-union-types": [
744
- "error",
745
- {
746
- order: "asc",
747
- type: "natural"
748
- }
749
- ],
750
- "sort-keys": "off"
751
- }
752
- }
753
- ];
754
- }
755
-
756
663
  const StylisticConfigDefaults = {
757
664
  arrowParens: true,
758
665
  braceStyle: "1tbs",
@@ -788,9 +695,37 @@ async function stylistic(options = {}) {
788
695
  "curev/max-statements-per-line": ["error", { max: 1 }],
789
696
  "curev/top-level-function": "error",
790
697
  "curly": ["error", "all"],
791
- "semi-spacing": ["error", { after: true, before: false }],
792
698
  "style/brace-style": ["error", "1tbs", { allowSingleLine: true }],
699
+ "style/lines-between-class-members": ["error", "always", { exceptAfterSingleLine: true }],
793
700
  "style/max-statements-per-line": ["off"],
701
+ "style/multiline-ternary": ["error", "always-multiline"],
702
+ "style/no-extra-parens": ["error", "functions"],
703
+ "style/no-mixed-operators": ["error", {
704
+ allowSamePrecedence: true,
705
+ groups: [
706
+ ["==", "!=", "===", "!==", ">", ">=", "<", "<="],
707
+ ["&&", "||"],
708
+ ["in", "instanceof"]
709
+ ]
710
+ }],
711
+ "style/no-multiple-empty-lines": [
712
+ "error",
713
+ {
714
+ max: 3,
715
+ maxBOF: 0,
716
+ maxEOF: 1
717
+ }
718
+ ],
719
+ "style/object-curly-newline": ["error", { consistent: true, multiline: true }],
720
+ "style/object-curly-spacing": ["error", "always"],
721
+ "style/object-property-newline": ["error", { allowMultiplePropertiesPerLine: true }],
722
+ "style/padded-blocks": ["error", { blocks: "never", classes: "never", switches: "never" }],
723
+ "style/rest-spread-spacing": ["error", "never"],
724
+ "style/semi-spacing": ["error", { after: true, before: false }],
725
+ "style/template-curly-spacing": ["error", "never"],
726
+ "style/template-tag-spacing": ["error", "never"],
727
+ "style/wrap-iife": ["error", "any", { functionPrototypeMethods: true }],
728
+ "style/yield-star-spacing": ["error", "both"],
794
729
  ...overrides
795
730
  }
796
731
  }
@@ -1693,8 +1628,6 @@ async function vue(options = {}) {
1693
1628
  }],
1694
1629
  "vue/component-name-in-template-casing": ["error", "PascalCase"],
1695
1630
  "vue/component-options-name-casing": ["error", "PascalCase"],
1696
- // this is deprecated
1697
- "vue/component-tags-order": "off",
1698
1631
  "vue/custom-event-name-casing": ["error", "camelCase"],
1699
1632
  "vue/define-macros-order": ["error", {
1700
1633
  order: ["defineOptions", "defineProps", "defineEmits", "defineSlots"]
@@ -1941,9 +1874,7 @@ async function curev(options = {}, ...userConfigs) {
1941
1874
  imports({
1942
1875
  stylistic: stylisticOptions
1943
1876
  }),
1944
- unicorn(),
1945
- // Optional plugins (installed but not enabled by default)
1946
- perfectionist()
1877
+ unicorn()
1947
1878
  );
1948
1879
  if (enableVue) {
1949
1880
  componentExts.push("vue");
@@ -2058,4 +1989,4 @@ function getOverrides(options, key) {
2058
1989
  };
2059
1990
  }
2060
1991
 
2061
- export { GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, StylisticConfigDefaults, combine, comments, curev, curev as default, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, javascript, jsdoc, jsonc, markdown, node, parserPlain, perfectionist, react, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
1992
+ export { GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, StylisticConfigDefaults, combine, comments, curev, curev as default, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, javascript, jsdoc, jsonc, markdown, node, parserPlain, react, renameRules, resolveSubOptions, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@curev/eslint-config",
3
3
  "type": "module",
4
- "version": "0.3.6",
4
+ "version": "0.3.7",
5
5
  "packageManager": "pnpm@8.6.9",
6
6
  "author": "Chizuki<chizukicn@outlook.com> (https://github.com/chizukicn/)",
7
7
  "license": "MIT",
@@ -71,7 +71,6 @@
71
71
  "eslint-plugin-markdown": "^3.0.1",
72
72
  "eslint-plugin-n": "^16.6.2",
73
73
  "eslint-plugin-no-only-tests": "^3.1.0",
74
- "eslint-plugin-perfectionist": "^2.5.0",
75
74
  "eslint-plugin-toml": "^0.9.2",
76
75
  "eslint-plugin-unicorn": "^50.0.1",
77
76
  "eslint-plugin-unused-imports": "^3.0.0",
@@ -93,6 +92,7 @@
93
92
  "devDependencies": {
94
93
  "@antfu/eslint-plugin-prettier": "^5.0.1-1",
95
94
  "@antfu/ni": "^0.21.12",
95
+ "@eslint/config-inspector": "^0.4.1",
96
96
  "@stylistic/eslint-plugin-migrate": "^1.5.4",
97
97
  "@types/eslint": "^8.56.2",
98
98
  "@types/fs-extra": "^11.0.4",
@@ -137,6 +137,7 @@
137
137
  "stub": "unbuild --stub",
138
138
  "lint": "eslint --cache .",
139
139
  "test": "vitest",
140
- "bump": "bumpp --commit --push --tag"
140
+ "bump": "bumpp --commit --push --tag",
141
+ "inspect": "npx @eslint/config-inspector"
141
142
  }
142
143
  }