@lvce-editor/eslint-config 1.18.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  declare const config: readonly any[] & {}
2
2
  declare const recommendedNode: readonly any[] & {}
3
3
  declare const recommendedFolderStructure: readonly any[] & {}
4
+ declare const recommendedTsconfig: readonly any[] & {}
4
5
 
5
6
  export { recommendedNode }
6
7
  export { recommendedFolderStructure }
8
+ export { recommendedTsconfig }
7
9
 
8
10
  export default config
package/index.js CHANGED
@@ -9,6 +9,10 @@ import process from 'node:process'
9
9
  import tseslint from 'typescript-eslint'
10
10
  import packageJson from 'eslint-plugin-package-json/configs/recommended'
11
11
  import eslintPluginUnicorn from 'eslint-plugin-unicorn'
12
+ // @ts-ignore
13
+
14
+ const uri = './rules.js'
15
+ const tsconfigPlugin = (await import(uri)).default
12
16
 
13
17
  const root = process.cwd()
14
18
 
@@ -47,7 +51,6 @@ const fileCompositionConfig = createFileComposition({
47
51
  ],
48
52
  })
49
53
 
50
- tseslint.configs.recommendedTypeChecked
51
54
  /**
52
55
  * @type {any}
53
56
  */
@@ -200,4 +203,6 @@ export const recommendedFolderStructucture = [
200
203
  },
201
204
  ]
202
205
 
206
+ export const recommendedTsconfig = [...tsconfigPlugin]
207
+
203
208
  export default defaultConfig
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/eslint-config",
3
- "version": "1.18.0",
3
+ "version": "1.19.0",
4
4
  "main": "index.js",
5
5
  "type": "module",
6
6
  "types": "index.d.ts",
@@ -21,6 +21,7 @@
21
21
  "dependencies": {
22
22
  "@eslint/css": "^0.2.0",
23
23
  "@eslint/js": "^9.19.0",
24
+ "@eslint/json": "^0.10.0",
24
25
  "eslint-plugin-jest": "^28.11.0",
25
26
  "eslint-plugin-n": "^17.15.1",
26
27
  "eslint-plugin-package-json": "^0.21.1",
package/rules.js ADDED
@@ -0,0 +1,136 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ // src/tsconfig-no-unchecked-side-effect-imports.ts
8
+ var tsconfig_no_unchecked_side_effect_imports_exports = {};
9
+ __export(tsconfig_no_unchecked_side_effect_imports_exports, {
10
+ create: () => create2,
11
+ meta: () => meta
12
+ });
13
+
14
+ // src/tsconfig-compiler-option.ts
15
+ var create = (context, name) => {
16
+ return {
17
+ Member(node) {
18
+ if (node.name.type === "String" && node.name.value === "compilerOptions" && node.value.type === "Object") {
19
+ const members = node.value.members;
20
+ for (const member of members) {
21
+ if (member.name.type === "String" && member.name.value === name) {
22
+ if (member.value.value === true) {
23
+ return;
24
+ }
25
+ if (member.value.value === false) {
26
+ context.report({
27
+ loc: member.name.loc,
28
+ messageId: name
29
+ });
30
+ }
31
+ return;
32
+ }
33
+ }
34
+ context.report({
35
+ loc: node.name.loc,
36
+ messageId: name
37
+ });
38
+ }
39
+ }
40
+ };
41
+ };
42
+
43
+ // src/tsconfig-no-unchecked-side-effect-imports.ts
44
+ var meta = {
45
+ type: "problem",
46
+ docs: {
47
+ description: "Disallow not allowed keys in JSON objects"
48
+ },
49
+ messages: {
50
+ noUncheckedSideEffectImports: "noUncheckedSideEffectImports rule should be enabled"
51
+ }
52
+ };
53
+ var create2 = (context) => {
54
+ return create(context, "noUncheckedSideEffectImports");
55
+ };
56
+
57
+ // src/tsconfig-force-consistent-casing-in-file-names.ts
58
+ var tsconfig_force_consistent_casing_in_file_names_exports = {};
59
+ __export(tsconfig_force_consistent_casing_in_file_names_exports, {
60
+ create: () => create3,
61
+ meta: () => meta2
62
+ });
63
+ var meta2 = {
64
+ type: "problem",
65
+ docs: {
66
+ description: "Ensure that the forceConsistentCasingInFileNames rule is enabled"
67
+ },
68
+ messages: {
69
+ forceConsistentCasingInFileNames: "forceConsistentCasingInFileNames rule should be enabled"
70
+ }
71
+ };
72
+ var create3 = (context) => {
73
+ return create(context, "forceConsistentCasingInFileNames");
74
+ };
75
+
76
+ // src/tsconfig-strict.ts
77
+ var tsconfig_strict_exports = {};
78
+ __export(tsconfig_strict_exports, {
79
+ create: () => create4,
80
+ meta: () => meta3
81
+ });
82
+ var meta3 = {
83
+ type: "problem",
84
+ docs: {
85
+ description: "Ensure that the strict mode is enabled"
86
+ },
87
+ messages: {
88
+ strict: "strict mode should be enabled"
89
+ }
90
+ };
91
+ var create4 = (context) => {
92
+ return create(context, "strict");
93
+ };
94
+
95
+ // src/index.ts
96
+ import json from "@eslint/json";
97
+ var plugin = {
98
+ meta: {
99
+ name: "tsconfig",
100
+ version: "0.0.1"
101
+ },
102
+ rules: {
103
+ "no-unchecked-side-effect-imports": tsconfig_no_unchecked_side_effect_imports_exports,
104
+ "force-consistent-casing-in-file-names": tsconfig_force_consistent_casing_in_file_names_exports,
105
+ strict: tsconfig_strict_exports
106
+ },
107
+ configs: {}
108
+ };
109
+ var recommended = [
110
+ {
111
+ plugins: {
112
+ json
113
+ }
114
+ },
115
+ {
116
+ files: ["**/*.json"],
117
+ language: "json/json",
118
+ rules: {}
119
+ },
120
+ {
121
+ plugins: {
122
+ tsconfig: plugin
123
+ }
124
+ },
125
+ {
126
+ rules: {
127
+ "tsconfig/no-unchecked-side-effect-imports": "error",
128
+ "tsconfig/force-consistent-casing-in-file-names": "error",
129
+ "tsconfig/strict": "error"
130
+ }
131
+ }
132
+ ];
133
+ var index_default = recommended;
134
+ export {
135
+ index_default as default
136
+ };