@eslinted/defaults 12.11.1 → 12.11.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.
Files changed (89) hide show
  1. package/.github/workflows/RELEASE.yml +36 -36
  2. package/.github/workflows/rc.yml +36 -36
  3. package/.markdownlint.jsonc +97 -97
  4. package/.mocharc.yml +15 -15
  5. package/LICENSE +20 -20
  6. package/README.md +4 -4
  7. package/eslint.config.js +3 -3
  8. package/package.json +56 -56
  9. package/src/files/_factory/index.ts +76 -76
  10. package/src/files/_factory/project/index.ts +2 -2
  11. package/src/files/_factory/project/roots.ts +4 -4
  12. package/src/files/_factory/project/subroots.ts +8 -8
  13. package/src/files/index.ts +23 -23
  14. package/src/files/scopes/css.ts +5 -5
  15. package/src/files/scopes/html.ts +5 -5
  16. package/src/files/scopes/js.ts +5 -5
  17. package/src/files/scopes/json.ts +5 -5
  18. package/src/files/scopes/jsonc.ts +5 -5
  19. package/src/files/scopes/jsoncc.ts +9 -9
  20. package/src/files/scopes/mocha.ts +5 -5
  21. package/src/files/scopes/svelte.ts +5 -5
  22. package/src/files/scopes/ts.ts +5 -5
  23. package/src/files/scopes/yml.ts +8 -8
  24. package/src/ignores/global.ts +5 -5
  25. package/src/ignores/index.ts +25 -25
  26. package/src/ignores/scopes/css.ts +1 -1
  27. package/src/ignores/scopes/html.ts +1 -1
  28. package/src/ignores/scopes/js.ts +1 -1
  29. package/src/ignores/scopes/json.ts +1 -1
  30. package/src/ignores/scopes/jsonc.ts +1 -1
  31. package/src/ignores/scopes/jsoncc.ts +1 -1
  32. package/src/ignores/scopes/mocha.ts +1 -1
  33. package/src/ignores/scopes/svelte.ts +1 -1
  34. package/src/ignores/scopes/ts.ts +1 -1
  35. package/src/ignores/scopes/yml.ts +1 -1
  36. package/src/index.ts +10 -10
  37. package/src/rules/_strings/id.ts +21 -21
  38. package/src/rules/_strings/index.ts +3 -3
  39. package/src/rules/_strings/option.ts +30 -30
  40. package/src/rules/_strings/state.spec.ts +64 -64
  41. package/src/rules/_strings/state.ts +4 -4
  42. package/src/rules/index.ts +23 -23
  43. package/src/rules/scopes/css/enable.ts +31 -31
  44. package/src/rules/scopes/css/index.ts +3 -3
  45. package/src/rules/scopes/enable.style.ts +507 -507
  46. package/src/rules/scopes/enable.ts +390 -390
  47. package/src/rules/scopes/html/index.ts +3 -3
  48. package/src/rules/scopes/html/plugin/index.ts +113 -113
  49. package/src/rules/scopes/index.ts +7 -7
  50. package/src/rules/scopes/json/enable.ts +18 -18
  51. package/src/rules/scopes/json/index.ts +9 -9
  52. package/src/rules/scopes/json/plugin/extension.ts +60 -60
  53. package/src/rules/scopes/json/plugin/index.ts +35 -35
  54. package/src/rules/scopes/jsonc/index.ts +3 -3
  55. package/src/rules/scopes/jsonc/plugin/index.ts +12 -12
  56. package/src/rules/scopes/jsoncc/index.ts +3 -3
  57. package/src/rules/scopes/jsoncc/plugin/index.ts +16 -16
  58. package/src/rules/scopes/mocha/chai/expect.ts +16 -16
  59. package/src/rules/scopes/mocha/chai/index.ts +18 -18
  60. package/src/rules/scopes/mocha/disable.ts +13 -13
  61. package/src/rules/scopes/mocha/enable.ts +36 -36
  62. package/src/rules/scopes/mocha/index.ts +11 -11
  63. package/src/rules/scopes/svelte/disable.ts +19 -19
  64. package/src/rules/scopes/svelte/enable.ts +157 -157
  65. package/src/rules/scopes/svelte/extension/disable.ts +14 -14
  66. package/src/rules/scopes/svelte/extension/index.ts +17 -17
  67. package/src/rules/scopes/svelte/index.ts +11 -11
  68. package/src/rules/scopes/ts/disable.ts +30 -30
  69. package/src/rules/scopes/ts/enable.ts +188 -188
  70. package/src/rules/scopes/ts/extension/disable.ts +35 -35
  71. package/src/rules/scopes/ts/extension/index.ts +62 -62
  72. package/src/rules/scopes/ts/index.ts +11 -11
  73. package/src/rules/scopes/yml/index.ts +7 -7
  74. package/src/rules/scopes/yml/plugin/extension.ts +55 -55
  75. package/src/rules/scopes/yml/plugin/index.ts +38 -38
  76. package/src/settings/global/index.ts +6 -6
  77. package/src/settings/index.ts +7 -7
  78. package/src/settings/registry/index.ts +23 -23
  79. package/src/settings/registry/manifests/css.ts +9 -9
  80. package/src/settings/registry/manifests/html.ts +10 -10
  81. package/src/settings/registry/manifests/js.ts +8 -8
  82. package/src/settings/registry/manifests/json.ts +7 -7
  83. package/src/settings/registry/manifests/jsonc.ts +9 -9
  84. package/src/settings/registry/manifests/jsoncc.ts +9 -9
  85. package/src/settings/registry/manifests/mocha.ts +8 -8
  86. package/src/settings/registry/manifests/svelte.ts +10 -10
  87. package/src/settings/registry/manifests/ts.ts +30 -30
  88. package/src/settings/registry/manifests/yml.ts +9 -9
  89. package/tsconfig.json +75 -75
@@ -1,3 +1,3 @@
1
- import { HtmlEnablePlugin } from "./plugin";
2
-
3
- export default [HtmlEnablePlugin];
1
+ import { HtmlEnablePlugin } from "./plugin";
2
+
3
+ export default [HtmlEnablePlugin];
@@ -1,113 +1,113 @@
1
- import {
2
- ID,
3
- // OFF,
4
- ON,
5
- } from "../../../_strings";
6
-
7
- export const HtmlEnablePlugin = {
8
- id: ID.Enable.Plugin.Plugin,
9
- rules: {
10
- // #region BEST PRACTICE
11
- // DOC: https://html-eslint.org/docs/rules#best-practice
12
- // "@html-eslint/max-element-depth": OFF /* @preference: simply do not care */,
13
- "@html-eslint/no-duplicate-attrs": ON,
14
- "@html-eslint/no-duplicate-class": ON,
15
- "@html-eslint/no-duplicate-id": ON,
16
- "@html-eslint/no-duplicate-in-head": ON,
17
- // "@html-eslint/no-inline-styles": OFF /* @CONFLICT: breaks Svelte app.html */,
18
- "@html-eslint/no-invalid-entity": ON,
19
- "@html-eslint/no-nested-interactive": ON,
20
- "@html-eslint/no-obsolete-tags": ON,
21
- // "@html-eslint/no-restricted-attr-values": OFF,
22
- // "@html-eslint/no-restricted-attrs": OFF,
23
- // "@html-eslint/no-script-style-type": OFF,
24
- "@html-eslint/no-target-blank": ON,
25
- // "@html-eslint/prefer-https": OFF /* @CONFLICT: not everything is https */,
26
- // "@html-eslint/require-attrs": OFF,
27
- "@html-eslint/require-button-type": ON,
28
- "@html-eslint/require-closing-tags": ON,
29
- "@html-eslint/require-doctype": ON,
30
- // "@html-eslint/require-explicit-size": OFF /* preference, prefer using css */,
31
- "@html-eslint/require-li-container": ON,
32
- "@html-eslint/require-meta-charset": ON,
33
- "@html-eslint/use-baseline": ON,
34
- // #endregion
35
-
36
- // #region SEO
37
- // DOC: https://html-eslint.org/docs/rules#seo
38
- "@html-eslint/no-multiple-h1": ON,
39
- "@html-eslint/require-lang": ON,
40
- // "@html-eslint/require-meta-description": OFF /* @CONFLICT: breaks Svelte which leaves meta descriptions to route leaves */,
41
- // "@html-eslint/require-open-graph-protocol": OFF /* idk what this is, also it probably breaks Svelte */,
42
- // "@html-eslint/require-title": OFF /* @CONFLICT: breaks Svelte which leaves title to route leaves */,
43
- // #endregion
44
-
45
- // #region ACCESSIBILITY
46
- // DOC: https://html-eslint.org/docs/rules#accessibility
47
- "@html-eslint/no-abstract-roles": ON,
48
- "@html-eslint/no-accesskey-attrs": ON,
49
- "@html-eslint/no-aria-hidden-body": ON,
50
- "@html-eslint/no-aria-hidden-on-focusable": ON,
51
- "@html-eslint/no-empty-headings": ON,
52
- "@html-eslint/no-heading-inside-button": ON,
53
- "@html-eslint/no-invalid-role": ON,
54
- "@html-eslint/no-non-scalable-viewport": ON,
55
- "@html-eslint/no-positive-tabindex": ON,
56
- "@html-eslint/no-skip-heading-levels": ON,
57
- "@html-eslint/require-form-method": ON,
58
- "@html-eslint/require-frame-title": ON,
59
- "@html-eslint/require-img-alt": ON,
60
- "@html-eslint/require-input-label": ON,
61
- "@html-eslint/require-meta-viewport": ON,
62
- // #endregion
63
-
64
- // #region STYLE
65
- // DOC: https://html-eslint.org/docs/rules#style
66
- "@html-eslint/attrs-newline": [
67
- ON,
68
- {
69
- ifAttrsMoreThan: 0,
70
- // closeStyle: "newline" /* sameline | @default newline */,
71
- },
72
- ],
73
- "@html-eslint/element-newline": [
74
- ON,
75
- {
76
- skip: ["head"],
77
- inline: ["$inline"],
78
- },
79
- ],
80
- // "@html-eslint/id-naming-convention": OFF,
81
- "@html-eslint/indent": [
82
- ON,
83
- 2 /* tab | number | @default 4 */,
84
- // {
85
- // Attribute: 1 /* number | @default 1 */,
86
- // tagChildrenIndent: {
87
- // html: 0 /* number */,
88
- // } /* @default {} */,
89
- // },
90
- ] /* TBD: @CONFIGURE: indents for specific child tags: https://html-eslint.org/docs/rules/indent */,
91
- "@html-eslint/lowercase": ON,
92
- "@html-eslint/no-extra-spacing-attrs": [
93
- ON,
94
- {
95
- // enforceBeforeSelfClose: false /* @default false */,
96
- disallowMissing: true /* @default false */,
97
- disallowTabs: true /* @default false */,
98
- disallowInAssignment: true /* @default false */,
99
- },
100
- ],
101
- "@html-eslint/no-extra-spacing-text": ON,
102
- "@html-eslint/no-multiple-empty-lines": [
103
- ON,
104
- {
105
- max: 1 /* number | @default 2 */,
106
- },
107
- ],
108
- "@html-eslint/no-trailing-spaces": ON,
109
- "@html-eslint/quotes": ON,
110
- // "@html-eslint/sort-attrs": OFF,
111
- // #endregion
112
- } as const,
113
- };
1
+ import {
2
+ ID,
3
+ // OFF,
4
+ ON,
5
+ } from "../../../_strings";
6
+
7
+ export const HtmlEnablePlugin = {
8
+ id: ID.Enable.Plugin.Plugin,
9
+ rules: {
10
+ // #region BEST PRACTICE
11
+ // DOC: https://html-eslint.org/docs/rules#best-practice
12
+ // "@html-eslint/max-element-depth": OFF /* @preference: simply do not care */,
13
+ "@html-eslint/no-duplicate-attrs": ON,
14
+ "@html-eslint/no-duplicate-class": ON,
15
+ "@html-eslint/no-duplicate-id": ON,
16
+ "@html-eslint/no-duplicate-in-head": ON,
17
+ // "@html-eslint/no-inline-styles": OFF /* @CONFLICT: breaks Svelte app.html */,
18
+ "@html-eslint/no-invalid-entity": ON,
19
+ "@html-eslint/no-nested-interactive": ON,
20
+ "@html-eslint/no-obsolete-tags": ON,
21
+ // "@html-eslint/no-restricted-attr-values": OFF,
22
+ // "@html-eslint/no-restricted-attrs": OFF,
23
+ // "@html-eslint/no-script-style-type": OFF,
24
+ "@html-eslint/no-target-blank": ON,
25
+ // "@html-eslint/prefer-https": OFF /* @CONFLICT: not everything is https */,
26
+ // "@html-eslint/require-attrs": OFF,
27
+ "@html-eslint/require-button-type": ON,
28
+ "@html-eslint/require-closing-tags": ON,
29
+ "@html-eslint/require-doctype": ON,
30
+ // "@html-eslint/require-explicit-size": OFF /* preference, prefer using css */,
31
+ "@html-eslint/require-li-container": ON,
32
+ "@html-eslint/require-meta-charset": ON,
33
+ "@html-eslint/use-baseline": ON,
34
+ // #endregion
35
+
36
+ // #region SEO
37
+ // DOC: https://html-eslint.org/docs/rules#seo
38
+ "@html-eslint/no-multiple-h1": ON,
39
+ "@html-eslint/require-lang": ON,
40
+ // "@html-eslint/require-meta-description": OFF /* @CONFLICT: breaks Svelte which leaves meta descriptions to route leaves */,
41
+ // "@html-eslint/require-open-graph-protocol": OFF /* idk what this is, also it probably breaks Svelte */,
42
+ // "@html-eslint/require-title": OFF /* @CONFLICT: breaks Svelte which leaves title to route leaves */,
43
+ // #endregion
44
+
45
+ // #region ACCESSIBILITY
46
+ // DOC: https://html-eslint.org/docs/rules#accessibility
47
+ "@html-eslint/no-abstract-roles": ON,
48
+ "@html-eslint/no-accesskey-attrs": ON,
49
+ "@html-eslint/no-aria-hidden-body": ON,
50
+ "@html-eslint/no-aria-hidden-on-focusable": ON,
51
+ "@html-eslint/no-empty-headings": ON,
52
+ "@html-eslint/no-heading-inside-button": ON,
53
+ "@html-eslint/no-invalid-role": ON,
54
+ "@html-eslint/no-non-scalable-viewport": ON,
55
+ "@html-eslint/no-positive-tabindex": ON,
56
+ "@html-eslint/no-skip-heading-levels": ON,
57
+ "@html-eslint/require-form-method": ON,
58
+ "@html-eslint/require-frame-title": ON,
59
+ "@html-eslint/require-img-alt": ON,
60
+ "@html-eslint/require-input-label": ON,
61
+ "@html-eslint/require-meta-viewport": ON,
62
+ // #endregion
63
+
64
+ // #region STYLE
65
+ // DOC: https://html-eslint.org/docs/rules#style
66
+ "@html-eslint/attrs-newline": [
67
+ ON,
68
+ {
69
+ ifAttrsMoreThan: 0,
70
+ // closeStyle: "newline" /* sameline | @default newline */,
71
+ },
72
+ ],
73
+ "@html-eslint/element-newline": [
74
+ ON,
75
+ {
76
+ skip: ["head"],
77
+ inline: ["$inline"],
78
+ },
79
+ ],
80
+ // "@html-eslint/id-naming-convention": OFF,
81
+ "@html-eslint/indent": [
82
+ ON,
83
+ 2 /* tab | number | @default 4 */,
84
+ // {
85
+ // Attribute: 1 /* number | @default 1 */,
86
+ // tagChildrenIndent: {
87
+ // html: 0 /* number */,
88
+ // } /* @default {} */,
89
+ // },
90
+ ] /* TBD: @CONFIGURE: indents for specific child tags: https://html-eslint.org/docs/rules/indent */,
91
+ "@html-eslint/lowercase": ON,
92
+ "@html-eslint/no-extra-spacing-attrs": [
93
+ ON,
94
+ {
95
+ // enforceBeforeSelfClose: false /* @default false */,
96
+ disallowMissing: true /* @default false */,
97
+ disallowTabs: true /* @default false */,
98
+ disallowInAssignment: true /* @default false */,
99
+ },
100
+ ],
101
+ "@html-eslint/no-extra-spacing-text": ON,
102
+ "@html-eslint/no-multiple-empty-lines": [
103
+ ON,
104
+ {
105
+ max: 1 /* number | @default 2 */,
106
+ },
107
+ ],
108
+ "@html-eslint/no-trailing-spaces": ON,
109
+ "@html-eslint/quotes": ON,
110
+ // "@html-eslint/sort-attrs": OFF,
111
+ // #endregion
112
+ } as const,
113
+ };
@@ -1,7 +1,7 @@
1
- import { Enable } from "./enable";
2
- import { EnableStyle } from "./enable.style";
3
-
4
- export default [
5
- Enable,
6
- EnableStyle,
7
- ];
1
+ import { Enable } from "./enable";
2
+ import { EnableStyle } from "./enable.style";
3
+
4
+ export default [
5
+ Enable,
6
+ EnableStyle,
7
+ ];
@@ -1,18 +1,18 @@
1
- import {
2
- ID,
3
- // OFF,
4
- ON,
5
- } from "../../_strings";
6
-
7
- export const JsonEnable = {
8
- id: ID.Enable.Enable,
9
- rules: {
10
- // DOC: https://github.com/eslint/json?tab=readme-ov-file#rules
11
- "json/no-duplicate-keys": ON /* replaces jsonc/no-dupe-keys */,
12
- // "json/no-empty-keys": OFF /* preference: I use empty keys or keys with only whitespace sometimes, as does `package-lock.json` per DOC: "jsonc/no-dupe-keys": ON /* ESLint: json/no-duplicate-keys */,
13
- "json/no-unsafe-values": ON,
14
- "json/no-unnormalized-keys": ON,
15
- // "json/sort-keys": OFF /* replaces jsonc/sort-keys BUT preference: I don't like sorting keys, it makes diffs harder to read, and I don't see the point of it in JSON */,
16
- "json/top-level-interop": ON,
17
- } as const,
18
- };
1
+ import {
2
+ ID,
3
+ // OFF,
4
+ ON,
5
+ } from "../../_strings";
6
+
7
+ export const JsonEnable = {
8
+ id: ID.Enable.Enable,
9
+ rules: {
10
+ // DOC: https://github.com/eslint/json?tab=readme-ov-file#rules
11
+ "json/no-duplicate-keys": ON /* replaces jsonc/no-dupe-keys */,
12
+ // "json/no-empty-keys": OFF /* preference: I use empty keys or keys with only whitespace sometimes, as does `package-lock.json` per DOC: "jsonc/no-dupe-keys": ON /* ESLint: json/no-duplicate-keys */,
13
+ "json/no-unsafe-values": ON,
14
+ "json/no-unnormalized-keys": ON,
15
+ // "json/sort-keys": OFF /* replaces jsonc/sort-keys BUT preference: I don't like sorting keys, it makes diffs harder to read, and I don't see the point of it in JSON */,
16
+ "json/top-level-interop": ON,
17
+ } as const,
18
+ };
@@ -1,9 +1,9 @@
1
- import { JsonEnable } from "./enable";
2
- import { JsonEnablePlugin } from "./plugin";
3
- import { JsonEnablePluginExtension } from "./plugin/extension";
4
-
5
- export default [
6
- JsonEnable,
7
- JsonEnablePlugin,
8
- JsonEnablePluginExtension,
9
- ];
1
+ import { JsonEnable } from "./enable";
2
+ import { JsonEnablePlugin } from "./plugin";
3
+ import { JsonEnablePluginExtension } from "./plugin/extension";
4
+
5
+ export default [
6
+ JsonEnable,
7
+ JsonEnablePlugin,
8
+ JsonEnablePluginExtension,
9
+ ];
@@ -1,60 +1,60 @@
1
- import {
2
- ID,
3
- // OFF,
4
- ON,
5
- always,
6
- consistent,
7
- } from "../../../_strings";
8
-
9
- export const JsonEnablePluginExtension = {
10
- id: ID.Enable.Plugin.Extension,
11
- rules: {
12
- // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#extension-rules
13
- // "jsonc/array-bracket-newline": OFF /* @OVERRIDE: BIGGER BUG: i mean this basically just doesn't work, even with multiple lines it will still fail| BUG: the spec says: `requires line breaks if the number of elements is at least the given integer. If this is 0, this condition will act the same as the option "always". If this is null (the default), this condition is disabled`. However, when null, the jsonc plugin actually errors when there are linebreaks with a single item | (was: MUST match @stylistic/array-bracket-newline) */,
14
- "jsonc/array-bracket-spacing": ON /* MUST match @stylistic/array-bracket-spacing */,
15
- "jsonc/array-element-newline": [
16
- ON,
17
- consistent,
18
- ] /* WOULD match @stylistic/array-element-newline, but jsonc plugin has slightly different options */,
19
- "jsonc/comma-dangle": ON /* trailing commas are NOT allowed in JSON */,
20
- "jsonc/comma-style": ON,
21
- "jsonc/indent": [
22
- ON,
23
- 2,
24
- ],
25
- "jsonc/key-spacing": ON /* MUST match @stylistic/key-spacing */,
26
- // "jsonc/no-dupe-keys": OFF /* ESLint: json/no-duplicate-keys */,
27
- "jsonc/no-floating-decimal": ON,
28
- "jsonc/no-irregular-whitespace": [
29
- ON,
30
- {
31
- skipStrings: true,
32
- skipComments: true,
33
- skipRegExps: true,
34
- skipTemplates: true,
35
- skipJSXText: true,
36
- },
37
- ],
38
- "jsonc/no-multi-str": ON,
39
- "jsonc/no-octal-escape": ON,
40
- "jsonc/no-octal": ON,
41
- "jsonc/no-sparse-arrays": ON,
42
- "jsonc/no-useless-escape": ON,
43
- "jsonc/object-curly-newline": [
44
- ON,
45
- {
46
- consistent: true,
47
- multiline: true,
48
- minProperties: 2 /* instead of 3 in stylistic */,
49
- },
50
- ] /* @OVERRIDE @stylistic/object-curly-newline */,
51
- "jsonc/object-curly-spacing": [
52
- ON,
53
- always,
54
- ] /* MUST match @stylistic/object-curly-spacing */,
55
- "jsonc/object-property-newline": ON /* MUST match @stylistic/object-property-newline */,
56
- "jsonc/quote-props": ON,
57
- "jsonc/quotes": ON,
58
- "jsonc/space-unary-ops": ON,
59
- } as const,
60
- };
1
+ import {
2
+ ID,
3
+ // OFF,
4
+ ON,
5
+ always,
6
+ consistent,
7
+ } from "../../../_strings";
8
+
9
+ export const JsonEnablePluginExtension = {
10
+ id: ID.Enable.Plugin.Extension,
11
+ rules: {
12
+ // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#extension-rules
13
+ // "jsonc/array-bracket-newline": OFF /* @OVERRIDE: BIGGER BUG: i mean this basically just doesn't work, even with multiple lines it will still fail| BUG: the spec says: `requires line breaks if the number of elements is at least the given integer. If this is 0, this condition will act the same as the option "always". If this is null (the default), this condition is disabled`. However, when null, the jsonc plugin actually errors when there are linebreaks with a single item | (was: MUST match @stylistic/array-bracket-newline) */,
14
+ "jsonc/array-bracket-spacing": ON /* MUST match @stylistic/array-bracket-spacing */,
15
+ "jsonc/array-element-newline": [
16
+ ON,
17
+ consistent,
18
+ ] /* WOULD match @stylistic/array-element-newline, but jsonc plugin has slightly different options */,
19
+ "jsonc/comma-dangle": ON /* trailing commas are NOT allowed in JSON */,
20
+ "jsonc/comma-style": ON,
21
+ "jsonc/indent": [
22
+ ON,
23
+ 2,
24
+ ],
25
+ "jsonc/key-spacing": ON /* MUST match @stylistic/key-spacing */,
26
+ // "jsonc/no-dupe-keys": OFF /* ESLint: json/no-duplicate-keys */,
27
+ "jsonc/no-floating-decimal": ON,
28
+ "jsonc/no-irregular-whitespace": [
29
+ ON,
30
+ {
31
+ skipStrings: true,
32
+ skipComments: true,
33
+ skipRegExps: true,
34
+ skipTemplates: true,
35
+ skipJSXText: true,
36
+ },
37
+ ],
38
+ "jsonc/no-multi-str": ON,
39
+ "jsonc/no-octal-escape": ON,
40
+ "jsonc/no-octal": ON,
41
+ "jsonc/no-sparse-arrays": ON,
42
+ "jsonc/no-useless-escape": ON,
43
+ "jsonc/object-curly-newline": [
44
+ ON,
45
+ {
46
+ consistent: true,
47
+ multiline: true,
48
+ minProperties: 2 /* instead of 3 in stylistic */,
49
+ },
50
+ ] /* @OVERRIDE @stylistic/object-curly-newline */,
51
+ "jsonc/object-curly-spacing": [
52
+ ON,
53
+ always,
54
+ ] /* MUST match @stylistic/object-curly-spacing */,
55
+ "jsonc/object-property-newline": ON /* MUST match @stylistic/object-property-newline */,
56
+ "jsonc/quote-props": ON,
57
+ "jsonc/quotes": ON,
58
+ "jsonc/space-unary-ops": ON,
59
+ } as const,
60
+ };
@@ -1,35 +1,35 @@
1
- import {
2
- ID,
3
- // OFF,
4
- ON,
5
- } from "../../../_strings";
6
-
7
- export const JsonEnablePlugin = {
8
- id: ID.Enable.Plugin.Plugin,
9
- rules: {
10
- // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#jsonc-rules
11
- // "jsonc/auto": OFF,
12
- // "jsonc/key-name-casing": OFF,
13
- "jsonc/no-bigint-literals": ON,
14
- "jsonc/no-binary-expression": ON,
15
- "jsonc/no-binary-numeric-literals": ON,
16
- "jsonc/no-comments": ON /* comments are NOT allowed in JSON */,
17
- "jsonc/no-escape-sequence-in-identifier": ON,
18
- "jsonc/no-hexadecimal-numeric-literals": ON,
19
- "jsonc/no-infinity": ON,
20
- "jsonc/no-nan": ON,
21
- "jsonc/no-number-props": ON,
22
- "jsonc/no-numeric-separators": ON,
23
- "jsonc/no-octal-numeric-literals": ON,
24
- "jsonc/no-parenthesized": ON,
25
- "jsonc/no-plus-sign": ON,
26
- "jsonc/no-regexp-literals": ON,
27
- "jsonc/no-template-literals": ON,
28
- "jsonc/no-undefined-value": ON,
29
- "jsonc/no-unicode-codepoint-escapes": ON,
30
- // "jsonc/sort-array-values": OFF /* preference: this makes no sense, arrays can be ordered */,
31
- // "jsonc/sort-keys": OFF /* ESLint: json/sort-keys BUT preference: only sort keys manually when I'd like */,
32
- "jsonc/valid-json-number": ON,
33
- "jsonc/vue-custom-block/no-parsing-error": ON,
34
- } as const,
35
- };
1
+ import {
2
+ ID,
3
+ // OFF,
4
+ ON,
5
+ } from "../../../_strings";
6
+
7
+ export const JsonEnablePlugin = {
8
+ id: ID.Enable.Plugin.Plugin,
9
+ rules: {
10
+ // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#jsonc-rules
11
+ // "jsonc/auto": OFF,
12
+ // "jsonc/key-name-casing": OFF,
13
+ "jsonc/no-bigint-literals": ON,
14
+ "jsonc/no-binary-expression": ON,
15
+ "jsonc/no-binary-numeric-literals": ON,
16
+ "jsonc/no-comments": ON /* comments are NOT allowed in JSON */,
17
+ "jsonc/no-escape-sequence-in-identifier": ON,
18
+ "jsonc/no-hexadecimal-numeric-literals": ON,
19
+ "jsonc/no-infinity": ON,
20
+ "jsonc/no-nan": ON,
21
+ "jsonc/no-number-props": ON,
22
+ "jsonc/no-numeric-separators": ON,
23
+ "jsonc/no-octal-numeric-literals": ON,
24
+ "jsonc/no-parenthesized": ON,
25
+ "jsonc/no-plus-sign": ON,
26
+ "jsonc/no-regexp-literals": ON,
27
+ "jsonc/no-template-literals": ON,
28
+ "jsonc/no-undefined-value": ON,
29
+ "jsonc/no-unicode-codepoint-escapes": ON,
30
+ // "jsonc/sort-array-values": OFF /* preference: this makes no sense, arrays can be ordered */,
31
+ // "jsonc/sort-keys": OFF /* ESLint: json/sort-keys BUT preference: only sort keys manually when I'd like */,
32
+ "jsonc/valid-json-number": ON,
33
+ "jsonc/vue-custom-block/no-parsing-error": ON,
34
+ } as const,
35
+ };
@@ -1,3 +1,3 @@
1
- import { JsoncPluginDisable } from "./plugin";
2
-
3
- export default [JsoncPluginDisable];
1
+ import { JsoncPluginDisable } from "./plugin";
2
+
3
+ export default [JsoncPluginDisable];
@@ -1,12 +1,12 @@
1
- import {
2
- ID,
3
- OFF,
4
- } from "../../../_strings";
5
-
6
- export const JsoncPluginDisable = {
7
- id: ID.Disable.Plugin.Plugin,
8
- rules: {
9
- // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#jsonc-rules
10
- "jsonc/no-comments": OFF /* comments ARE allowed in JSONC */,
11
- } as const,
12
- };
1
+ import {
2
+ ID,
3
+ OFF,
4
+ } from "../../../_strings";
5
+
6
+ export const JsoncPluginDisable = {
7
+ id: ID.Disable.Plugin.Plugin,
8
+ rules: {
9
+ // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#jsonc-rules
10
+ "jsonc/no-comments": OFF /* comments ARE allowed in JSONC */,
11
+ } as const,
12
+ };
@@ -1,3 +1,3 @@
1
- import { JsoncCommaPluginDisable } from "./plugin";
2
-
3
- export default [JsoncCommaPluginDisable];
1
+ import { JsoncCommaPluginDisable } from "./plugin";
2
+
3
+ export default [JsoncCommaPluginDisable];
@@ -1,16 +1,16 @@
1
- import {
2
- ID,
3
- ON,
4
- always_multiline,
5
- } from "../../../_strings";
6
-
7
- export const JsoncCommaPluginDisable = {
8
- id: ID.Disable.Plugin.Plugin,
9
- rules: {
10
- // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#jsonc-rules
11
- "jsonc/comma-dangle": [
12
- ON,
13
- always_multiline,
14
- ] /* trailing commas ARE allowed in JSONC */,
15
- } as const,
16
- };
1
+ import {
2
+ ID,
3
+ ON,
4
+ always_multiline,
5
+ } from "../../../_strings";
6
+
7
+ export const JsoncCommaPluginDisable = {
8
+ id: ID.Disable.Plugin.Plugin,
9
+ rules: {
10
+ // DOC: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/#jsonc-rules
11
+ "jsonc/comma-dangle": [
12
+ ON,
13
+ always_multiline,
14
+ ] /* trailing commas ARE allowed in JSONC */,
15
+ } as const,
16
+ };
@@ -1,16 +1,16 @@
1
- import {
2
- ID,
3
- // OFF,
4
- ON,
5
- } from "../../../_strings";
6
-
7
- export const MochaEnablePluginChaiExpect = {
8
- id: `${ID.Enable.Plugin.Plugin}/chai/expect`,
9
- rules: {
10
- // DOC: https://github.com/turbo87/eslint-plugin-chai-expect?tab=readme-ov-file#rules
11
- "chai-expect/no-inner-compare": ON,
12
- "chai-expect/no-inner-literal": ON,
13
- "chai-expect/missing-assertion": ON,
14
- // "chai-expect/terminating-properties": OFF,
15
- } as const,
16
- };
1
+ import {
2
+ ID,
3
+ // OFF,
4
+ ON,
5
+ } from "../../../_strings";
6
+
7
+ export const MochaEnablePluginChaiExpect = {
8
+ id: `${ID.Enable.Plugin.Plugin}/chai/expect`,
9
+ rules: {
10
+ // DOC: https://github.com/turbo87/eslint-plugin-chai-expect?tab=readme-ov-file#rules
11
+ "chai-expect/no-inner-compare": ON,
12
+ "chai-expect/no-inner-literal": ON,
13
+ "chai-expect/missing-assertion": ON,
14
+ // "chai-expect/terminating-properties": OFF,
15
+ } as const,
16
+ };
@@ -1,18 +1,18 @@
1
- import {
2
- ID,
3
- ON,
4
- } from "../../../_strings";
5
-
6
- export const MochaEnablePluginChai = {
7
- id: `${ID.Enable.Plugin.Plugin}/chai`,
8
- rules: {
9
- // DOC: https://github.com/ihordiachenko/eslint-plugin-chai-friendly?tab=readme-ov-file#usage
10
- "chai-friendly/no-unused-expressions": [
11
- ON,
12
- {
13
- allowShortCircuit: true,
14
- allowTernary: true,
15
- },
16
- ] /* TSLint */,
17
- } as const,
18
- };
1
+ import {
2
+ ID,
3
+ ON,
4
+ } from "../../../_strings";
5
+
6
+ export const MochaEnablePluginChai = {
7
+ id: `${ID.Enable.Plugin.Plugin}/chai`,
8
+ rules: {
9
+ // DOC: https://github.com/ihordiachenko/eslint-plugin-chai-friendly?tab=readme-ov-file#usage
10
+ "chai-friendly/no-unused-expressions": [
11
+ ON,
12
+ {
13
+ allowShortCircuit: true,
14
+ allowTernary: true,
15
+ },
16
+ ] /* TSLint */,
17
+ } as const,
18
+ };