@shibanet0/datamitsu-config 0.0.1-alpha-21 → 0.0.1-alpha-23
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/.oxlintrc.json +5 -4
- package/datamitsu.js +107 -46
- package/dist/arrow-return-style-QXEK7JRB.js +8 -0
- package/dist/boundaries-7E4X4KF5.js +19 -0
- package/dist/clsx-M6OKU3PA.js +8 -0
- package/dist/clsx-S7LTRDUJ.js +8 -0
- package/dist/command-3BA63SHO.js +8 -0
- package/dist/command-DSHZBIFC.js +10 -0
- package/dist/compat-6O7XHMYR.js +8 -0
- package/dist/cspell-NJAMCYWA.js +8 -0
- package/dist/cspell-TO7G3MKP.js +10 -0
- package/dist/depend-4TLGRJ4A.js +8 -0
- package/dist/dist-HY4C5Z2A.js +145 -0
- package/dist/escompat-2HZB2VKK.js +8 -0
- package/dist/escompat-4SQ3LROQ.js +11 -0
- package/dist/escompat-LOSSJ2E4.js +11 -0
- package/dist/escompat-TAO52CFN.js +10 -0
- package/dist/eslint/index.js +59 -59
- package/dist/eslint/plugins/clsx.d.ts +2 -0
- package/dist/eslint/plugins/command.d.ts +2 -0
- package/dist/eslint/plugins/cspell.d.ts +2 -0
- package/dist/eslint/plugins/escompat.d.ts +2 -0
- package/dist/eslint/plugins/fsecond.d.ts +2 -0
- package/dist/eslint/plugins/html.d.ts +2 -0
- package/dist/eslint/plugins/i18next.d.ts +2 -0
- package/dist/eslint/plugins/jsonc.d.ts +2 -0
- package/dist/eslint/plugins/oxlint.d.ts +5 -0
- package/dist/eslint/plugins/pnpm.d.ts +2 -0
- package/dist/eslint/plugins/react.d.ts +4 -1
- package/dist/eslint/plugins/stylistic.d.ts +2 -0
- package/dist/eslint/plugins/vitest.d.ts +2 -0
- package/dist/eslint/types.d.ts +35 -0
- package/dist/fsecond-3RU4GC2P.js +8 -0
- package/dist/fsecond-L3WD5A5A.js +13 -0
- package/dist/fsecond-T4KZEO22.js +12 -0
- package/dist/fsecond-U7QFID4J.js +16 -0
- package/dist/html-Q7HLWKMH.js +17 -0
- package/dist/i18next-QAQGS665.js +10 -0
- package/dist/i18next-XPRQSLOK.js +8 -0
- package/dist/jsdoc-T3RUTVU2.js +8 -0
- package/dist/jsonc-4Q5WZVF3.js +12 -0
- package/dist/jsonc-5WI2LEKI.js +11 -0
- package/dist/jsonc-C4HCFU4B.js +10 -0
- package/dist/no-unsanitized-2CVGQCKY.js +8 -0
- package/dist/oxlint-5VSAV63M.js +58 -0
- package/dist/oxlint-ESXR6S2H.js +55 -0
- package/dist/oxlint-SQKVSEWV.js +58 -0
- package/dist/oxlint-UN6IGLH6.js +55 -0
- package/dist/pnpm-KEJEST6B.js +15 -0
- package/dist/pnpm-KXXRNMOS.js +10 -0
- package/dist/react-QYLHZO2Q.js +66 -0
- package/dist/react-ZSFMBR63.js +66 -0
- package/dist/react-you-might-not-need-an-effect-7LQCVBLO.js +8 -0
- package/dist/regexp-D6CKMCXH.js +8 -0
- package/dist/s0/__tests__/helpers/mockCrypto.d.ts +1 -1
- package/dist/s0/index.js +30 -51
- package/dist/s0/utils/encryption.d.ts +8 -6
- package/dist/stylistic-ID5P6T22.js +18 -0
- package/dist/stylistic-XPSWOXE5.js +18 -0
- package/dist/unused-imports-B24FSXNB.js +29 -0
- package/dist/vitest-OL2AMOGF.js +20 -0
- package/oxlint_configuration_schema.json +14 -2
- package/package.json +30 -14
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// package.json
|
|
2
|
+
var name = "@shibanet0/datamitsu-config";
|
|
3
|
+
|
|
4
|
+
// src/oxlint/index.ts
|
|
5
|
+
var oxlintConfig = {
|
|
6
|
+
$schema: `./node_modules/${name}/oxlint_configuration_schema.json`,
|
|
7
|
+
categories: {
|
|
8
|
+
correctness: "error",
|
|
9
|
+
pedantic: "error",
|
|
10
|
+
perf: "error",
|
|
11
|
+
style: "warn",
|
|
12
|
+
suspicious: "error"
|
|
13
|
+
},
|
|
14
|
+
rules: {
|
|
15
|
+
"array-type": "off",
|
|
16
|
+
"arrow-body-style": "off",
|
|
17
|
+
"capitalized-comments": "off",
|
|
18
|
+
"func-style": "off",
|
|
19
|
+
"id-length": "off",
|
|
20
|
+
"init-declarations": "off",
|
|
21
|
+
"max-lines": "off",
|
|
22
|
+
"max-lines-per-function": "off",
|
|
23
|
+
"no-await-in-loop": "off",
|
|
24
|
+
"no-inline-comments": "off",
|
|
25
|
+
"no-magic-numbers": "off",
|
|
26
|
+
"no-ternary": "off",
|
|
27
|
+
"no-warning-comments": "off",
|
|
28
|
+
"prefer-destructuring": "off",
|
|
29
|
+
"prefer-template": "off",
|
|
30
|
+
"require-await": "off",
|
|
31
|
+
"sort-imports": "off",
|
|
32
|
+
"triple-slash-reference": "off",
|
|
33
|
+
"unicorn/filename-case": "off",
|
|
34
|
+
"unicorn/no-array-sort": "off",
|
|
35
|
+
"unicorn/no-null": "off",
|
|
36
|
+
"unicorn/no-object-as-default-parameter": "off",
|
|
37
|
+
"unicorn/require-module-specifiers": "off"
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// src/eslint/plugins/oxlint.ts
|
|
42
|
+
async function oxlint(options) {
|
|
43
|
+
const plugin = await import("eslint-plugin-oxlint");
|
|
44
|
+
console.log(options?.configPath);
|
|
45
|
+
if (!options?.configPath) {
|
|
46
|
+
const oxlintRules2 = plugin.default.buildFromOxlintConfig(
|
|
47
|
+
oxlintConfig
|
|
48
|
+
);
|
|
49
|
+
console.log(1);
|
|
50
|
+
return [...oxlintRules2];
|
|
51
|
+
}
|
|
52
|
+
console.log(2);
|
|
53
|
+
const oxlintRules = plugin.default.buildFromOxlintConfigFile(options.configPath);
|
|
54
|
+
return [...oxlintRules];
|
|
55
|
+
}
|
|
56
|
+
export {
|
|
57
|
+
oxlint
|
|
58
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// package.json
|
|
2
|
+
var name = "@shibanet0/datamitsu-config";
|
|
3
|
+
|
|
4
|
+
// src/oxlint/index.ts
|
|
5
|
+
var oxlintConfig = {
|
|
6
|
+
$schema: `./node_modules/${name}/oxlint_configuration_schema.json`,
|
|
7
|
+
categories: {
|
|
8
|
+
correctness: "error",
|
|
9
|
+
pedantic: "error",
|
|
10
|
+
perf: "error",
|
|
11
|
+
style: "warn",
|
|
12
|
+
suspicious: "error"
|
|
13
|
+
},
|
|
14
|
+
rules: {
|
|
15
|
+
"array-type": "off",
|
|
16
|
+
"arrow-body-style": "off",
|
|
17
|
+
"capitalized-comments": "off",
|
|
18
|
+
"func-style": "off",
|
|
19
|
+
"id-length": "off",
|
|
20
|
+
"init-declarations": "off",
|
|
21
|
+
"max-lines": "off",
|
|
22
|
+
"max-lines-per-function": "off",
|
|
23
|
+
"no-await-in-loop": "off",
|
|
24
|
+
"no-inline-comments": "off",
|
|
25
|
+
"no-magic-numbers": "off",
|
|
26
|
+
"no-ternary": "off",
|
|
27
|
+
"no-warning-comments": "off",
|
|
28
|
+
"prefer-destructuring": "off",
|
|
29
|
+
"prefer-template": "off",
|
|
30
|
+
"require-await": "off",
|
|
31
|
+
"sort-imports": "off",
|
|
32
|
+
"triple-slash-reference": "off",
|
|
33
|
+
"unicorn/filename-case": "off",
|
|
34
|
+
"unicorn/no-array-sort": "off",
|
|
35
|
+
"unicorn/no-null": "off",
|
|
36
|
+
"unicorn/no-object-as-default-parameter": "off",
|
|
37
|
+
"unicorn/require-module-specifiers": "off"
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// src/eslint/plugins/oxlint.ts
|
|
42
|
+
async function oxlint(options) {
|
|
43
|
+
const plugin = await import("eslint-plugin-oxlint");
|
|
44
|
+
if (!options?.configPath) {
|
|
45
|
+
const oxlintRules2 = plugin.default.buildFromOxlintConfig(
|
|
46
|
+
oxlintConfig
|
|
47
|
+
);
|
|
48
|
+
return [...oxlintRules2];
|
|
49
|
+
}
|
|
50
|
+
const oxlintRules = plugin.default.buildFromOxlintConfigFile(options.configPath);
|
|
51
|
+
return [...oxlintRules];
|
|
52
|
+
}
|
|
53
|
+
export {
|
|
54
|
+
oxlint
|
|
55
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// src/eslint/plugins/react.ts
|
|
2
|
+
async function react(version) {
|
|
3
|
+
const plugin = await import("eslint-plugin-react");
|
|
4
|
+
return [
|
|
5
|
+
{
|
|
6
|
+
name: "shibanet0/react/rules",
|
|
7
|
+
plugins: {
|
|
8
|
+
react: plugin.default
|
|
9
|
+
},
|
|
10
|
+
rules: {
|
|
11
|
+
...plugin.default.configs["jsx-runtime"].rules,
|
|
12
|
+
...plugin.default.configs.recommended.rules,
|
|
13
|
+
"react/destructuring-assignment": "off",
|
|
14
|
+
// TODO
|
|
15
|
+
"react/display-name": "off",
|
|
16
|
+
"react/forbid-component-props": "off",
|
|
17
|
+
// TODO
|
|
18
|
+
"react/forward-ref-uses-ref": "off",
|
|
19
|
+
"react/function-component-definition": "off",
|
|
20
|
+
"react/iframe-missing-sandbox": "off",
|
|
21
|
+
"react/jsx-child-element-spacing": "off",
|
|
22
|
+
"react/jsx-closing-tag-location": "off",
|
|
23
|
+
// TODO
|
|
24
|
+
"react/jsx-curly-newline": "off",
|
|
25
|
+
// TODO
|
|
26
|
+
"react/jsx-filename-extension": "off",
|
|
27
|
+
"react/jsx-handler-names": "off",
|
|
28
|
+
"react/jsx-indent": "off",
|
|
29
|
+
// TODO
|
|
30
|
+
// "react/jsx-max-depth": "off", // TODO
|
|
31
|
+
"react/jsx-max-props-per-line": "off",
|
|
32
|
+
// TODO
|
|
33
|
+
"react/jsx-newline": "off",
|
|
34
|
+
// TODO
|
|
35
|
+
"react/jsx-no-bind": "off",
|
|
36
|
+
// TODO
|
|
37
|
+
"react/jsx-no-literals": "off",
|
|
38
|
+
// TODO
|
|
39
|
+
"react/jsx-no-useless-fragment": "off",
|
|
40
|
+
"react/jsx-one-expression-per-line": "off",
|
|
41
|
+
// TODO
|
|
42
|
+
"react/jsx-pascal-case": "off",
|
|
43
|
+
"react/jsx-props-no-spreading": "off",
|
|
44
|
+
"react/jsx-sort-props": "off",
|
|
45
|
+
// TODO
|
|
46
|
+
"react/no-array-index-key": "off",
|
|
47
|
+
// TODO
|
|
48
|
+
"react/no-unknown-property": "off",
|
|
49
|
+
"react/no-unused-prop-types": "warn",
|
|
50
|
+
"react/prefer-read-only-props": "off",
|
|
51
|
+
// TODO
|
|
52
|
+
"react/prop-types": "off",
|
|
53
|
+
"react/react-in-jsx-scope": "off",
|
|
54
|
+
"react/require-default-props": "off"
|
|
55
|
+
},
|
|
56
|
+
settings: {
|
|
57
|
+
react: {
|
|
58
|
+
version: version || "16.3"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
];
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
react
|
|
66
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// src/eslint/plugins/react.ts
|
|
2
|
+
async function react(options) {
|
|
3
|
+
const plugin = await import("eslint-plugin-react");
|
|
4
|
+
return [
|
|
5
|
+
{
|
|
6
|
+
name: "shibanet0/react/rules",
|
|
7
|
+
plugins: {
|
|
8
|
+
react: plugin.default
|
|
9
|
+
},
|
|
10
|
+
rules: {
|
|
11
|
+
...plugin.default.configs["jsx-runtime"].rules,
|
|
12
|
+
...plugin.default.configs.recommended.rules,
|
|
13
|
+
"react/destructuring-assignment": "off",
|
|
14
|
+
// TODO
|
|
15
|
+
"react/display-name": "off",
|
|
16
|
+
"react/forbid-component-props": "off",
|
|
17
|
+
// TODO
|
|
18
|
+
"react/forward-ref-uses-ref": "off",
|
|
19
|
+
"react/function-component-definition": "off",
|
|
20
|
+
"react/iframe-missing-sandbox": "off",
|
|
21
|
+
"react/jsx-child-element-spacing": "off",
|
|
22
|
+
"react/jsx-closing-tag-location": "off",
|
|
23
|
+
// TODO
|
|
24
|
+
"react/jsx-curly-newline": "off",
|
|
25
|
+
// TODO
|
|
26
|
+
"react/jsx-filename-extension": "off",
|
|
27
|
+
"react/jsx-handler-names": "off",
|
|
28
|
+
"react/jsx-indent": "off",
|
|
29
|
+
// TODO
|
|
30
|
+
// "react/jsx-max-depth": "off", // TODO
|
|
31
|
+
"react/jsx-max-props-per-line": "off",
|
|
32
|
+
// TODO
|
|
33
|
+
"react/jsx-newline": "off",
|
|
34
|
+
// TODO
|
|
35
|
+
"react/jsx-no-bind": "off",
|
|
36
|
+
// TODO
|
|
37
|
+
"react/jsx-no-literals": "off",
|
|
38
|
+
// TODO
|
|
39
|
+
"react/jsx-no-useless-fragment": "off",
|
|
40
|
+
"react/jsx-one-expression-per-line": "off",
|
|
41
|
+
// TODO
|
|
42
|
+
"react/jsx-pascal-case": "off",
|
|
43
|
+
"react/jsx-props-no-spreading": "off",
|
|
44
|
+
"react/jsx-sort-props": "off",
|
|
45
|
+
// TODO
|
|
46
|
+
"react/no-array-index-key": "off",
|
|
47
|
+
// TODO
|
|
48
|
+
"react/no-unknown-property": "off",
|
|
49
|
+
"react/no-unused-prop-types": "warn",
|
|
50
|
+
"react/prefer-read-only-props": "off",
|
|
51
|
+
// TODO
|
|
52
|
+
"react/prop-types": "off",
|
|
53
|
+
"react/react-in-jsx-scope": "off",
|
|
54
|
+
"react/require-default-props": "off"
|
|
55
|
+
},
|
|
56
|
+
settings: {
|
|
57
|
+
react: {
|
|
58
|
+
version: options?.version || "latest"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
];
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
react
|
|
66
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// src/eslint/plugins/react-you-might-not-need-an-effect.ts
|
|
2
|
+
async function reactYouMightNotNeedAnEffect() {
|
|
3
|
+
const plugin = await import("eslint-plugin-react-you-might-not-need-an-effect");
|
|
4
|
+
return [plugin.default.configs.recommended];
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
reactYouMightNotNeedAnEffect
|
|
8
|
+
};
|
package/dist/s0/index.js
CHANGED
|
@@ -87,15 +87,11 @@ async function checkGitSafety() {
|
|
|
87
87
|
try {
|
|
88
88
|
await execa3("git", ["rev-parse", "--git-dir"], { cwd: process.cwd() });
|
|
89
89
|
} catch {
|
|
90
|
-
throw new Error(
|
|
91
|
-
"\u274C Not in a git repository. Cleanup requires git for safety."
|
|
92
|
-
);
|
|
90
|
+
throw new Error("\u274C Not in a git repository. Cleanup requires git for safety.");
|
|
93
91
|
}
|
|
94
|
-
const { stdout: gitRoot } = await execa3(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
{ cwd: process.cwd() }
|
|
98
|
-
);
|
|
92
|
+
const { stdout: gitRoot } = await execa3("git", ["rev-parse", "--show-toplevel"], {
|
|
93
|
+
cwd: process.cwd()
|
|
94
|
+
});
|
|
99
95
|
const currentDir = process.cwd();
|
|
100
96
|
if (gitRoot !== currentDir) {
|
|
101
97
|
throw new Error(
|
|
@@ -114,21 +110,15 @@ async function checkGitSafety() {
|
|
|
114
110
|
);
|
|
115
111
|
}
|
|
116
112
|
try {
|
|
117
|
-
const { stdout: unpushed } = await execa3(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
{ cwd: process.cwd() }
|
|
121
|
-
);
|
|
113
|
+
const { stdout: unpushed } = await execa3("git", ["log", "@{u}..", "--oneline"], {
|
|
114
|
+
cwd: process.cwd()
|
|
115
|
+
});
|
|
122
116
|
if (unpushed.trim()) {
|
|
123
|
-
throw new Error(
|
|
124
|
-
"\u274C Unpushed commits detected. Please push commits before cleanup."
|
|
125
|
-
);
|
|
117
|
+
throw new Error("\u274C Unpushed commits detected. Please push commits before cleanup.");
|
|
126
118
|
}
|
|
127
119
|
} catch (error) {
|
|
128
120
|
if (error.message?.includes("no upstream")) {
|
|
129
|
-
console.warn(
|
|
130
|
-
"\u26A0\uFE0F Warning: No upstream branch configured. Proceeding with caution...\n"
|
|
131
|
-
);
|
|
121
|
+
console.warn("\u26A0\uFE0F Warning: No upstream branch configured. Proceeding with caution...\n");
|
|
132
122
|
} else {
|
|
133
123
|
throw error;
|
|
134
124
|
}
|
|
@@ -188,10 +178,8 @@ var pulumiCleanup = async () => {
|
|
|
188
178
|
`);
|
|
189
179
|
return;
|
|
190
180
|
}
|
|
191
|
-
console.log(
|
|
192
|
-
|
|
193
|
-
`
|
|
194
|
-
);
|
|
181
|
+
console.log(`\u{1F5D1}\uFE0F Found ${filesToRemove.length} unencrypted file(s) to remove:
|
|
182
|
+
`);
|
|
195
183
|
for (const file of filesToRemove) {
|
|
196
184
|
console.log(` - ${path.relative(process.cwd(), file)}`);
|
|
197
185
|
}
|
|
@@ -205,17 +193,12 @@ var pulumiCleanup = async () => {
|
|
|
205
193
|
console.log(` \u2705 Removed: ${path.relative(process.cwd(), file)}`);
|
|
206
194
|
removed++;
|
|
207
195
|
} catch (error) {
|
|
208
|
-
console.error(
|
|
209
|
-
` \u274C Failed to remove: ${path.relative(process.cwd(), file)}`,
|
|
210
|
-
error
|
|
211
|
-
);
|
|
196
|
+
console.error(` \u274C Failed to remove: ${path.relative(process.cwd(), file)}`, error);
|
|
212
197
|
}
|
|
213
198
|
}
|
|
214
|
-
console.log(
|
|
215
|
-
`
|
|
199
|
+
console.log(`
|
|
216
200
|
\u2728 Cleanup complete! (${removed}/${filesToRemove.length} removed)
|
|
217
|
-
`
|
|
218
|
-
);
|
|
201
|
+
`);
|
|
219
202
|
};
|
|
220
203
|
|
|
221
204
|
// src/s0/cmd/pulumi/decryptState.ts
|
|
@@ -274,11 +257,9 @@ var pulumiDecrypt = async () => {
|
|
|
274
257
|
processed++;
|
|
275
258
|
}
|
|
276
259
|
}
|
|
277
|
-
console.log(
|
|
278
|
-
`
|
|
260
|
+
console.log(`
|
|
279
261
|
\u2728 Decryption complete! (${processed - errors}/${processed} succeeded)
|
|
280
|
-
`
|
|
281
|
-
);
|
|
262
|
+
`);
|
|
282
263
|
if (errors > 0) {
|
|
283
264
|
process.exit(1);
|
|
284
265
|
}
|
|
@@ -536,24 +517,22 @@ var pulumiCommand = new Command("pulumi-sops").addArgument(
|
|
|
536
517
|
"decrypt-all-state",
|
|
537
518
|
"cleanup-all-state"
|
|
538
519
|
])
|
|
539
|
-
).action(
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
break;
|
|
553
|
-
}
|
|
520
|
+
).action(async (type) => {
|
|
521
|
+
switch (type) {
|
|
522
|
+
case "cleanup-all-state": {
|
|
523
|
+
await pulumiCleanup();
|
|
524
|
+
break;
|
|
525
|
+
}
|
|
526
|
+
case "decrypt-all-state": {
|
|
527
|
+
await pulumiDecrypt();
|
|
528
|
+
break;
|
|
529
|
+
}
|
|
530
|
+
case "encrypt-all-state": {
|
|
531
|
+
await pulumiEncrypt();
|
|
532
|
+
break;
|
|
554
533
|
}
|
|
555
534
|
}
|
|
556
|
-
);
|
|
535
|
+
});
|
|
557
536
|
|
|
558
537
|
// src/s0/index.ts
|
|
559
538
|
program.addCommand(pulumiCommand).parse();
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
export type
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import type { CipherGCMTypes } from "node:crypto";
|
|
2
|
+
export type { CipherGCMTypes } from "node:crypto";
|
|
3
|
+
import type util from "node:util";
|
|
4
|
+
export type CryptoModule = typeof crypto;
|
|
5
|
+
import type crypto from "node:crypto";
|
|
6
|
+
export interface UtilModule {
|
|
7
|
+
promisify: typeof util.promisify;
|
|
8
|
+
}
|
|
6
9
|
interface EncryptorConfig {
|
|
7
10
|
algorithm?: CipherGCMTypes;
|
|
8
11
|
authTagLength?: number;
|
|
@@ -23,4 +26,3 @@ export declare class Encryptor {
|
|
|
23
26
|
encrypt(buffer: Buffer, key: Buffer): Promise<Buffer>;
|
|
24
27
|
generateKey(): Buffer;
|
|
25
28
|
}
|
|
26
|
-
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/eslint/plugins/stylistic.ts
|
|
2
|
+
async function stylistic() {
|
|
3
|
+
const plugin = await import("@stylistic/eslint-plugin");
|
|
4
|
+
return [
|
|
5
|
+
{
|
|
6
|
+
plugins: {
|
|
7
|
+
"@stylistic": plugin.default
|
|
8
|
+
},
|
|
9
|
+
rules: {
|
|
10
|
+
// "@stylistic/indent": ["error", 2],
|
|
11
|
+
// indent: ["error", 2],
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
];
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
stylistic
|
|
18
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/eslint/plugins/stylistic.ts
|
|
2
|
+
async function stylistic() {
|
|
3
|
+
const plugin = await import("@stylistic/eslint-plugin");
|
|
4
|
+
return [
|
|
5
|
+
{
|
|
6
|
+
plugins: {
|
|
7
|
+
"@stylistic": plugin.default
|
|
8
|
+
},
|
|
9
|
+
rules: {
|
|
10
|
+
"@stylistic/indent": ["error", 2],
|
|
11
|
+
indent: ["error", 2]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
];
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
stylistic
|
|
18
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// src/eslint/plugins/unused-imports.ts
|
|
2
|
+
async function unusedImports() {
|
|
3
|
+
const plugin = await import("./dist-HY4C5Z2A.js");
|
|
4
|
+
return [
|
|
5
|
+
{
|
|
6
|
+
name: "shibanet0/unused-imports/rules",
|
|
7
|
+
plugins: {
|
|
8
|
+
"unused-imports": plugin.default
|
|
9
|
+
},
|
|
10
|
+
rules: {
|
|
11
|
+
"no-unused-vars": "off",
|
|
12
|
+
// or "@typescript-eslint/no-unused-vars": "off",
|
|
13
|
+
"unused-imports/no-unused-imports": "error",
|
|
14
|
+
"unused-imports/no-unused-vars": [
|
|
15
|
+
"warn",
|
|
16
|
+
{
|
|
17
|
+
args: "after-used",
|
|
18
|
+
argsIgnorePattern: "^_",
|
|
19
|
+
vars: "all",
|
|
20
|
+
varsIgnorePattern: "^_"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
unusedImports
|
|
29
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// src/eslint/plugins/vitest.ts
|
|
2
|
+
async function vitest() {
|
|
3
|
+
const plugin = await import("@vitest/eslint-plugin");
|
|
4
|
+
return [
|
|
5
|
+
{
|
|
6
|
+
files: ["tests/**"],
|
|
7
|
+
plugins: {
|
|
8
|
+
vitest
|
|
9
|
+
},
|
|
10
|
+
rules: {
|
|
11
|
+
...plugin.default.configs.recommended.rules
|
|
12
|
+
// you can also use vitest.configs.all.rules to enable all rules
|
|
13
|
+
// 'vitest/max-nested-describe': ['error', { max: 3 }], // you can also modify rules' behavior using option like this
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
];
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
vitest
|
|
20
|
+
};
|
|
@@ -119,7 +119,8 @@
|
|
|
119
119
|
},
|
|
120
120
|
"react": {
|
|
121
121
|
"formComponents": [],
|
|
122
|
-
"linkComponents": []
|
|
122
|
+
"linkComponents": [],
|
|
123
|
+
"version": null
|
|
123
124
|
},
|
|
124
125
|
"jsdoc": {
|
|
125
126
|
"ignorePrivate": false,
|
|
@@ -612,7 +613,8 @@
|
|
|
612
613
|
"react": {
|
|
613
614
|
"default": {
|
|
614
615
|
"formComponents": [],
|
|
615
|
-
"linkComponents": []
|
|
616
|
+
"linkComponents": [],
|
|
617
|
+
"version": null
|
|
616
618
|
},
|
|
617
619
|
"allOf": [
|
|
618
620
|
{
|
|
@@ -654,6 +656,16 @@
|
|
|
654
656
|
"$ref": "#/definitions/CustomComponent"
|
|
655
657
|
},
|
|
656
658
|
"markdownDescription": "Components used as alternatives to `<a>` for linking, such as `<Link>`.\n\nExample:\n\n```jsonc\n{\n\"settings\": {\n\"react\": {\n\"linkComponents\": [\n\"HyperLink\",\n// Use `linkAttribute` for components that use a different prop name\n// than `href`.\n{ \"name\": \"MyLink\", \"linkAttribute\": \"to\" },\n// allows specifying multiple properties if necessary\n{ \"name\": \"Link\", \"linkAttribute\": [\"to\", \"href\"] }\n]\n}\n}\n}\n```"
|
|
659
|
+
},
|
|
660
|
+
"version": {
|
|
661
|
+
"description": "React version to use for version-specific rules.\n\nAccepts semver versions (e.g., \"18.2.0\", \"17.0\").\n\nExample:\n\n```jsonc\n{\n\"settings\": {\n\"react\": {\n\"version\": \"18.2.0\"\n}\n}\n}\n```",
|
|
662
|
+
"default": null,
|
|
663
|
+
"type": [
|
|
664
|
+
"string",
|
|
665
|
+
"null"
|
|
666
|
+
],
|
|
667
|
+
"pattern": "^[1-9]\\d*(\\.(0|[1-9]\\d*))?(\\.(0|[1-9]\\d*))?$",
|
|
668
|
+
"markdownDescription": "React version to use for version-specific rules.\n\nAccepts semver versions (e.g., \"18.2.0\", \"17.0\").\n\nExample:\n\n```jsonc\n{\n\"settings\": {\n\"react\": {\n\"version\": \"18.2.0\"\n}\n}\n}\n```"
|
|
657
669
|
}
|
|
658
670
|
},
|
|
659
671
|
"markdownDescription": "Configure React plugin rules.\n\nDerived from [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react#configuration-legacy-eslintrc-)"
|