eslint-plugin-toml 0.3.1 → 0.4.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/lib/rules/array-bracket-spacing.js +1 -4
- package/lib/rules/indent.js +5 -10
- package/lib/rules/inline-table-curly-spacing.js +1 -4
- package/lib/rules/key-spacing.js +2 -5
- package/lib/rules/keys-order.js +1 -3
- package/lib/rules/no-space-dots.js +2 -8
- package/lib/rules/no-unreadable-number-separator.js +2 -7
- package/lib/rules/padding-line-between-pairs.js +1 -3
- package/lib/rules/precision-of-fractional-seconds.js +2 -1
- package/lib/rules/precision-of-integer.d.ts +1 -1
- package/lib/rules/table-bracket-spacing.js +2 -8
- package/lib/rules/tables-order.js +2 -8
- package/lib/types.d.ts +10 -10
- package/lib/utils/casing.d.ts +1 -1
- package/lib/utils/index.d.ts +1 -1
- package/package.json +101 -101
|
@@ -17,10 +17,7 @@ exports.default = (0, utils_1.createRule)("array-bracket-spacing", {
|
|
|
17
17
|
},
|
|
18
18
|
create(context) {
|
|
19
19
|
return (0, utils_1.defineWrapperListener)(coreRule, context, {
|
|
20
|
-
options: [
|
|
21
|
-
context.options[0] || "always",
|
|
22
|
-
...context.options.slice(1),
|
|
23
|
-
],
|
|
20
|
+
options: [context.options[0] || "always", ...context.options.slice(1)],
|
|
24
21
|
createListenerProxy(listener) {
|
|
25
22
|
return {
|
|
26
23
|
TOMLArray(node) {
|
package/lib/rules/indent.js
CHANGED
|
@@ -219,8 +219,7 @@ exports.default = (0, utils_1.createRule)("indent", {
|
|
|
219
219
|
let tokensOnSameLine = [];
|
|
220
220
|
for (const token of sourceCode.getTokens(node, ITERATION_OPTS)) {
|
|
221
221
|
if (tokensOnSameLine.length === 0 ||
|
|
222
|
-
tokensOnSameLine[0].loc.start.line ===
|
|
223
|
-
token.loc.start.line) {
|
|
222
|
+
tokensOnSameLine[0].loc.start.line === token.loc.start.line) {
|
|
224
223
|
tokensOnSameLine.push(token);
|
|
225
224
|
}
|
|
226
225
|
else {
|
|
@@ -282,8 +281,7 @@ exports.default = (0, utils_1.createRule)("indent", {
|
|
|
282
281
|
return null;
|
|
283
282
|
}
|
|
284
283
|
const offsetIndent = offset.offset;
|
|
285
|
-
return (offset.expectedIndent =
|
|
286
|
-
baseIndent + getIndentText(offsetIndent));
|
|
284
|
+
return (offset.expectedIndent = baseIndent + getIndentText(offsetIndent));
|
|
287
285
|
}
|
|
288
286
|
function processMissingLines(lineIndents) {
|
|
289
287
|
const results = [];
|
|
@@ -366,15 +364,12 @@ exports.default = (0, utils_1.createRule)("indent", {
|
|
|
366
364
|
}
|
|
367
365
|
const indentCandidate = expectedIndents.find((indent, index) => {
|
|
368
366
|
var _a, _b;
|
|
369
|
-
if (indent.length <=
|
|
370
|
-
commentLineIndent.actualIndent.length) {
|
|
367
|
+
if (indent.length <= commentLineIndent.actualIndent.length) {
|
|
371
368
|
return true;
|
|
372
369
|
}
|
|
373
370
|
const prev = (_b = (_a = expectedIndents[index + 1]) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : -1;
|
|
374
|
-
return (prev <
|
|
375
|
-
commentLineIndent.actualIndent.length
|
|
376
|
-
commentLineIndent.actualIndent.length <
|
|
377
|
-
indent.length);
|
|
371
|
+
return (prev < commentLineIndent.actualIndent.length &&
|
|
372
|
+
commentLineIndent.actualIndent.length < indent.length);
|
|
378
373
|
});
|
|
379
374
|
if (indentCandidate != null &&
|
|
380
375
|
indentCandidate.length < expectedIndent.length) {
|
|
@@ -17,10 +17,7 @@ exports.default = (0, utils_1.createRule)("inline-table-curly-spacing", {
|
|
|
17
17
|
},
|
|
18
18
|
create(context) {
|
|
19
19
|
return (0, utils_1.defineWrapperListener)(coreRule, context, {
|
|
20
|
-
options: [
|
|
21
|
-
context.options[0] || "always",
|
|
22
|
-
...context.options.slice(1),
|
|
23
|
-
],
|
|
20
|
+
options: [context.options[0] || "always", ...context.options.slice(1)],
|
|
24
21
|
createListenerProxy(listener) {
|
|
25
22
|
return {
|
|
26
23
|
TOMLInlineTable(node) {
|
package/lib/rules/key-spacing.js
CHANGED
|
@@ -361,8 +361,7 @@ function create(context) {
|
|
|
361
361
|
function verifyAlignment(node) {
|
|
362
362
|
createGroups(node).forEach((group) => {
|
|
363
363
|
const properties = group;
|
|
364
|
-
if (properties.length > 0 &&
|
|
365
|
-
isSingleLineProperties(properties)) {
|
|
364
|
+
if (properties.length > 0 && isSingleLineProperties(properties)) {
|
|
366
365
|
verifyListSpacing(properties, multiLineOptions);
|
|
367
366
|
}
|
|
368
367
|
else {
|
|
@@ -376,9 +375,7 @@ function create(context) {
|
|
|
376
375
|
TOMLKeyValue(node) {
|
|
377
376
|
if (!isKeyValueProperty(node))
|
|
378
377
|
return;
|
|
379
|
-
verifySpacing(node, isSingleLine(node.parent)
|
|
380
|
-
? singleLineOptions
|
|
381
|
-
: multiLineOptions);
|
|
378
|
+
verifySpacing(node, isSingleLine(node.parent) ? singleLineOptions : multiLineOptions);
|
|
382
379
|
},
|
|
383
380
|
};
|
|
384
381
|
}
|
package/lib/rules/keys-order.js
CHANGED
|
@@ -72,9 +72,7 @@ exports.default = (0, utils_1.createRule)("keys-order", {
|
|
|
72
72
|
: startToken.range[1];
|
|
73
73
|
const code = sourceCode.text.slice(start, body.range[1]);
|
|
74
74
|
return [
|
|
75
|
-
fixer.insertTextAfter(before, node.type === "TOMLInlineTable"
|
|
76
|
-
? code
|
|
77
|
-
: `\n${code.trim()}`),
|
|
75
|
+
fixer.insertTextAfter(before, node.type === "TOMLInlineTable" ? code : `\n${code.trim()}`),
|
|
78
76
|
fixer.removeRange([start, body.range[1]]),
|
|
79
77
|
];
|
|
80
78
|
},
|
|
@@ -35,10 +35,7 @@ exports.default = (0, utils_1.createRule)("no-space-dots", {
|
|
|
35
35
|
},
|
|
36
36
|
messageId: "unexpectedBefore",
|
|
37
37
|
fix(fixer) {
|
|
38
|
-
return fixer.removeRange([
|
|
39
|
-
prev.range[1],
|
|
40
|
-
comma.range[0],
|
|
41
|
-
]);
|
|
38
|
+
return fixer.removeRange([prev.range[1], comma.range[0]]);
|
|
42
39
|
},
|
|
43
40
|
});
|
|
44
41
|
}
|
|
@@ -50,10 +47,7 @@ exports.default = (0, utils_1.createRule)("no-space-dots", {
|
|
|
50
47
|
},
|
|
51
48
|
messageId: "unexpectedAfter",
|
|
52
49
|
fix(fixer) {
|
|
53
|
-
return fixer.removeRange([
|
|
54
|
-
comma.range[1],
|
|
55
|
-
next.range[0],
|
|
56
|
-
]);
|
|
50
|
+
return fixer.removeRange([comma.range[1], next.range[0]]);
|
|
57
51
|
},
|
|
58
52
|
});
|
|
59
53
|
}
|
|
@@ -75,9 +75,7 @@ exports.default = (0, utils_1.createRule)("no-unreadable-number-separator", {
|
|
|
75
75
|
let integer = false;
|
|
76
76
|
if (text[index] === "0") {
|
|
77
77
|
const maybeMark = text[index + 1];
|
|
78
|
-
if (maybeMark === "x" ||
|
|
79
|
-
maybeMark === "o" ||
|
|
80
|
-
maybeMark === "b") {
|
|
78
|
+
if (maybeMark === "x" || maybeMark === "o" || maybeMark === "b") {
|
|
81
79
|
index += 2;
|
|
82
80
|
integer = true;
|
|
83
81
|
}
|
|
@@ -90,10 +88,7 @@ exports.default = (0, utils_1.createRule)("no-unreadable-number-separator", {
|
|
|
90
88
|
index = parsedInteger.index;
|
|
91
89
|
if (text[index] === ".") {
|
|
92
90
|
index++;
|
|
93
|
-
const parsedFractional = parseCharCounts(text, index, [
|
|
94
|
-
"E",
|
|
95
|
-
"e",
|
|
96
|
-
]);
|
|
91
|
+
const parsedFractional = parseCharCounts(text, index, ["E", "e"]);
|
|
97
92
|
fractionalCharCounts.push(...parsedFractional.charCounts);
|
|
98
93
|
index = parsedFractional.index;
|
|
99
94
|
}
|
|
@@ -24,9 +24,7 @@ exports.default = (0, utils_1.createRule)("padding-line-between-pairs", {
|
|
|
24
24
|
const sourceCode = context.getSourceCode();
|
|
25
25
|
function verifyPairs(prevNode, prevKeys, nextNode, nextKeys) {
|
|
26
26
|
const needPadding = nextKeys.length !== prevKeys.length ||
|
|
27
|
-
nextKeys
|
|
28
|
-
.slice(0, -1)
|
|
29
|
-
.some((key, index) => key !== prevKeys[index]);
|
|
27
|
+
nextKeys.slice(0, -1).some((key, index) => key !== prevKeys[index]);
|
|
30
28
|
const tokens = sourceCode.getTokensBetween(prevNode, nextNode, {
|
|
31
29
|
includeComments: true,
|
|
32
30
|
});
|
|
@@ -34,7 +34,8 @@ exports.default = (0, utils_1.createRule)("precision-of-fractional-seconds", {
|
|
|
34
34
|
function verifyText(node) {
|
|
35
35
|
var _a, _b;
|
|
36
36
|
const text = node.datetime;
|
|
37
|
-
const fractional = ((_a = /^\d{4}-\d{2}-\d{2}[ Tt]\d{2}:\d{2}:\d{2}.(\d+)/u.exec(text)) === null || _a === void 0 ? void 0 : _a[1]) ||
|
|
37
|
+
const fractional = ((_a = /^\d{4}-\d{2}-\d{2}[ Tt]\d{2}:\d{2}:\d{2}.(\d+)/u.exec(text)) === null || _a === void 0 ? void 0 : _a[1]) ||
|
|
38
|
+
((_b = /^\d{2}:\d{2}:\d{2}.(\d+)/u.exec(text)) === null || _b === void 0 ? void 0 : _b[1]);
|
|
38
39
|
if (!fractional) {
|
|
39
40
|
return;
|
|
40
41
|
}
|
|
@@ -51,10 +51,7 @@ exports.default = (0, utils_1.createRule)("table-bracket-spacing", {
|
|
|
51
51
|
tokenValue: token.value,
|
|
52
52
|
},
|
|
53
53
|
fix(fixer) {
|
|
54
|
-
return fixer.removeRange([
|
|
55
|
-
token.range[1],
|
|
56
|
-
nextToken.range[0],
|
|
57
|
-
]);
|
|
54
|
+
return fixer.removeRange([token.range[1], nextToken.range[0]]);
|
|
58
55
|
},
|
|
59
56
|
});
|
|
60
57
|
}
|
|
@@ -81,10 +78,7 @@ exports.default = (0, utils_1.createRule)("table-bracket-spacing", {
|
|
|
81
78
|
tokenValue: token.value,
|
|
82
79
|
},
|
|
83
80
|
fix(fixer) {
|
|
84
|
-
return fixer.removeRange([
|
|
85
|
-
previousToken.range[1],
|
|
86
|
-
token.range[0],
|
|
87
|
-
]);
|
|
81
|
+
return fixer.removeRange([previousToken.range[1], token.range[0]]);
|
|
88
82
|
},
|
|
89
83
|
});
|
|
90
84
|
}
|
|
@@ -99,10 +99,7 @@ exports.default = (0, utils_1.createRule)("tables-order", {
|
|
|
99
99
|
const code = sourceCode.text.slice(startToken.range[1], body.range[1]);
|
|
100
100
|
return [
|
|
101
101
|
fixer.insertTextBefore(after, `${code.trim()}\n`),
|
|
102
|
-
fixer.removeRange([
|
|
103
|
-
startToken.range[1],
|
|
104
|
-
body.range[1],
|
|
105
|
-
]),
|
|
102
|
+
fixer.removeRange([startToken.range[1], body.range[1]]),
|
|
106
103
|
];
|
|
107
104
|
},
|
|
108
105
|
});
|
|
@@ -120,10 +117,7 @@ exports.default = (0, utils_1.createRule)("tables-order", {
|
|
|
120
117
|
const code = sourceCode.text.slice(startToken.range[1], body.range[1]);
|
|
121
118
|
return [
|
|
122
119
|
fixer.insertTextAfter(before, `\n${code.trim()}`),
|
|
123
|
-
fixer.removeRange([
|
|
124
|
-
startToken.range[1],
|
|
125
|
-
body.range[1],
|
|
126
|
-
]),
|
|
120
|
+
fixer.removeRange([startToken.range[1], body.range[1]]),
|
|
127
121
|
];
|
|
128
122
|
},
|
|
129
123
|
});
|
package/lib/types.d.ts
CHANGED
|
@@ -87,8 +87,8 @@ export interface RuleContext {
|
|
|
87
87
|
export declare namespace SourceCode {
|
|
88
88
|
function splitLines(text: string): string[];
|
|
89
89
|
}
|
|
90
|
-
export
|
|
91
|
-
export
|
|
90
|
+
export type TOMLToken = AST.Token | AST.Comment;
|
|
91
|
+
export type TOMLNodeOrToken = AST.TOMLNode | TOMLToken;
|
|
92
92
|
export interface SourceCode {
|
|
93
93
|
text: string;
|
|
94
94
|
ast: AST.TOMLProgram;
|
|
@@ -138,13 +138,13 @@ export interface SourceCode {
|
|
|
138
138
|
getCommentsAfter(nodeOrToken: TOMLNodeOrToken): AST.Comment[];
|
|
139
139
|
getCommentsInside(node: AST.TOMLNode): AST.Comment[];
|
|
140
140
|
}
|
|
141
|
-
|
|
142
|
-
|
|
141
|
+
type FilterPredicate = (tokenOrComment: TOMLToken) => boolean;
|
|
142
|
+
type CursorWithSkipOptions = number | FilterPredicate | {
|
|
143
143
|
includeComments?: boolean;
|
|
144
144
|
filter?: FilterPredicate;
|
|
145
145
|
skip?: number;
|
|
146
146
|
};
|
|
147
|
-
|
|
147
|
+
type CursorWithCountOptions = number | FilterPredicate | {
|
|
148
148
|
includeComments?: boolean;
|
|
149
149
|
filter?: FilterPredicate;
|
|
150
150
|
count?: number;
|
|
@@ -155,22 +155,22 @@ interface ReportDescriptorOptionsBase {
|
|
|
155
155
|
};
|
|
156
156
|
fix?: null | ((fixer: RuleFixer) => null | Fix | IterableIterator<Fix> | Fix[]);
|
|
157
157
|
}
|
|
158
|
-
|
|
158
|
+
type SuggestionDescriptorMessage = {
|
|
159
159
|
desc: string;
|
|
160
160
|
} | {
|
|
161
161
|
messageId: string;
|
|
162
162
|
};
|
|
163
|
-
|
|
163
|
+
type SuggestionReportDescriptor = SuggestionDescriptorMessage & ReportDescriptorOptionsBase;
|
|
164
164
|
interface ReportDescriptorOptions extends ReportDescriptorOptionsBase {
|
|
165
165
|
suggest?: SuggestionReportDescriptor[] | null;
|
|
166
166
|
}
|
|
167
|
-
|
|
168
|
-
|
|
167
|
+
type ReportDescriptor = ReportDescriptorMessage & ReportDescriptorLocation & ReportDescriptorOptions;
|
|
168
|
+
type ReportDescriptorMessage = {
|
|
169
169
|
message: string;
|
|
170
170
|
} | {
|
|
171
171
|
messageId: string;
|
|
172
172
|
};
|
|
173
|
-
|
|
173
|
+
type ReportDescriptorLocation = {
|
|
174
174
|
node: TOMLNodeOrToken;
|
|
175
175
|
} | {
|
|
176
176
|
loc: SourceLocation | {
|
package/lib/utils/casing.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type CasingKind = "camelCase" | "kebab-case" | "PascalCase" | "snake_case" | "SCREAMING_SNAKE_CASE";
|
|
2
2
|
export declare const allowedCaseOptions: CasingKind[];
|
|
3
3
|
export declare function kebabCase(str: string): string;
|
|
4
4
|
export declare function isKebabCase(str: string): boolean;
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type * as ESTree from "estree";
|
|
|
3
3
|
import type { Rule } from "eslint";
|
|
4
4
|
import type { AST } from "toml-eslint-parser";
|
|
5
5
|
export declare function createRule(ruleName: string, rule: PartialRuleModule): RuleModule;
|
|
6
|
-
|
|
6
|
+
type CoreRuleListener = {
|
|
7
7
|
[key: string]: (node: any) => void;
|
|
8
8
|
};
|
|
9
9
|
export declare function defineWrapperListener(coreRule: Rule.RuleModule, context: RuleContext, proxyOptions: {
|
package/package.json
CHANGED
|
@@ -1,103 +1,103 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
2
|
+
"name": "eslint-plugin-toml",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "This ESLint plugin provides linting rules for TOML.",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"lib"
|
|
8
|
+
],
|
|
9
|
+
"engines": {
|
|
10
|
+
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
|
11
|
+
},
|
|
12
|
+
"scripts": {
|
|
13
|
+
"prebuild": "npm run -s clean",
|
|
14
|
+
"build": "npm run build:ts",
|
|
15
|
+
"build:ts": "tsc --project ./tsconfig.build.json",
|
|
16
|
+
"clean": "rimraf .nyc_output dist coverage",
|
|
17
|
+
"lint": "eslint . --ext .js,.vue,.ts,.json,.md,.toml,.yaml,.yml --ignore-pattern playground",
|
|
18
|
+
"eslint-fix": "eslint . --ext .js,.vue,.ts,.json,.md,.toml,.yaml,.yml --ignore-pattern playground --fix",
|
|
19
|
+
"pretest:base": "cross-env DEBUG=eslint-plugin-toml*",
|
|
20
|
+
"test:base": "mocha --require ts-node/register \"tests/src/**/*.ts\" --reporter dot --timeout 60000",
|
|
21
|
+
"test": "npm run test:base",
|
|
22
|
+
"cover": "nyc --reporter=lcov npm run test:base",
|
|
23
|
+
"test:debug": "mocha --require ts-node/register --inspect \"tests/src/**/*.ts\" --reporter dot",
|
|
24
|
+
"update": "node --require ts-node/register ./tools/update.ts && npm run eslint-fix",
|
|
25
|
+
"new": "ts-node ./tools/new-rule.ts",
|
|
26
|
+
"predocs:watch": "npm run build:ts",
|
|
27
|
+
"docs:watch": "vuepress dev --debug docs",
|
|
28
|
+
"docs:build": "npm run build:ts && vuepress build docs --no-cache",
|
|
29
|
+
"preversion": "npm test && git add .",
|
|
30
|
+
"version": "env-cmd -e version npm run update && git add ."
|
|
31
|
+
},
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "git+https://github.com/ota-meshi/eslint-plugin-toml.git"
|
|
35
|
+
},
|
|
36
|
+
"keywords": [
|
|
37
|
+
"eslint",
|
|
38
|
+
"eslintplugin",
|
|
39
|
+
"eslint-plugin",
|
|
40
|
+
"toml",
|
|
41
|
+
"lint",
|
|
42
|
+
"formatter"
|
|
43
|
+
],
|
|
44
|
+
"author": "Yosuke Ota",
|
|
45
|
+
"funding": "https://github.com/sponsors/ota-meshi",
|
|
46
|
+
"license": "MIT",
|
|
47
|
+
"bugs": {
|
|
48
|
+
"url": "https://github.com/ota-meshi/eslint-plugin-toml/issues"
|
|
49
|
+
},
|
|
50
|
+
"homepage": "https://ota-meshi.github.io/eslint-plugin-toml/",
|
|
51
|
+
"peerDependencies": {
|
|
52
|
+
"eslint": ">=6.0.0"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"debug": "^4.1.1",
|
|
56
|
+
"lodash": "^4.17.19",
|
|
57
|
+
"toml-eslint-parser": "^0.5.0"
|
|
58
|
+
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@ota-meshi/eslint-plugin": "^0.13.0",
|
|
61
|
+
"@types/debug": "^4.1.5",
|
|
62
|
+
"@types/eslint": "^8.0.0",
|
|
63
|
+
"@types/eslint-scope": "^3.7.0",
|
|
64
|
+
"@types/eslint-visitor-keys": "^1.0.0",
|
|
65
|
+
"@types/estree": "^1.0.0",
|
|
66
|
+
"@types/lodash": "^4.14.158",
|
|
67
|
+
"@types/mocha": "^10.0.0",
|
|
68
|
+
"@types/node": "^18.0.0",
|
|
69
|
+
"@types/semver": "^7.3.1",
|
|
70
|
+
"@typescript-eslint/eslint-plugin": "^5.0.0",
|
|
71
|
+
"@typescript-eslint/parser": "^5.0.0",
|
|
72
|
+
"cross-env": "^7.0.2",
|
|
73
|
+
"env-cmd": "^10.1.0",
|
|
74
|
+
"eslint": "^8.0.0",
|
|
75
|
+
"eslint-config-prettier": "^8.0.0",
|
|
76
|
+
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
77
|
+
"eslint-plugin-eslint-plugin": "^5.0.0",
|
|
78
|
+
"eslint-plugin-json-schema-validator": "^4.0.0",
|
|
79
|
+
"eslint-plugin-jsonc": "^2.0.0",
|
|
80
|
+
"eslint-plugin-markdown": "^3.0.0",
|
|
81
|
+
"eslint-plugin-node": "^11.1.0",
|
|
82
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
83
|
+
"eslint-plugin-regexp": "^1.0.0",
|
|
84
|
+
"eslint-plugin-vue": "^9.0.0",
|
|
85
|
+
"eslint-plugin-yml": "^1.0.0",
|
|
86
|
+
"eslint4b": "^7.3.1",
|
|
87
|
+
"espree": "^9.0.0",
|
|
88
|
+
"mocha": "^10.0.0",
|
|
89
|
+
"nyc": "^15.1.0",
|
|
90
|
+
"prettier": "^2.2.1",
|
|
91
|
+
"raw-loader": "^4.0.1",
|
|
92
|
+
"semver": "^7.3.2",
|
|
93
|
+
"stylelint": "^14.9.1",
|
|
94
|
+
"stylelint-config-recommended-vue": "^1.0.0",
|
|
95
|
+
"stylelint-config-standard": "^29.0.0",
|
|
96
|
+
"stylelint-stylus": "^0.17.0",
|
|
97
|
+
"ts-node": "^10.0.0",
|
|
98
|
+
"typescript": "~4.9.0",
|
|
99
|
+
"vue-eslint-editor": "^1.1.0",
|
|
100
|
+
"vue-eslint-parser": "^9.0.0",
|
|
101
|
+
"vuepress": "^1.5.2"
|
|
102
|
+
}
|
|
103
103
|
}
|