@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 +2 -0
- package/index.js +6 -1
- package/package.json +2 -1
- package/rules.js +136 -0
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.
|
|
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
|
+
};
|