@terrazzo/parser 0.3.5 → 0.5.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/CHANGELOG.md +41 -11
- package/dist/build/index.d.ts +1 -0
- package/dist/build/index.d.ts.map +1 -0
- package/dist/build/index.js +11 -10
- package/dist/build/index.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +42 -21
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/lib/code-frame.d.ts +1 -0
- package/dist/lib/code-frame.d.ts.map +1 -0
- package/dist/lint/index.d.ts +1 -0
- package/dist/lint/index.d.ts.map +1 -0
- package/dist/lint/index.js +8 -5
- package/dist/lint/index.js.map +1 -1
- package/dist/lint/plugin-core/index.d.ts +1 -0
- package/dist/lint/plugin-core/index.d.ts.map +1 -0
- package/dist/lint/plugin-core/lib/docs.d.ts +1 -0
- package/dist/lint/plugin-core/lib/docs.d.ts.map +1 -0
- package/dist/lint/plugin-core/rules/a11y-min-contrast.d.ts +1 -0
- package/dist/lint/plugin-core/rules/a11y-min-contrast.d.ts.map +1 -0
- package/dist/lint/plugin-core/rules/a11y-min-font-size.d.ts +1 -0
- package/dist/lint/plugin-core/rules/a11y-min-font-size.d.ts.map +1 -0
- package/dist/lint/plugin-core/rules/colorspace.d.ts +1 -0
- package/dist/lint/plugin-core/rules/colorspace.d.ts.map +1 -0
- package/dist/lint/plugin-core/rules/consistent-naming.d.ts +1 -0
- package/dist/lint/plugin-core/rules/consistent-naming.d.ts.map +1 -0
- package/dist/lint/plugin-core/rules/descriptions.d.ts +1 -0
- package/dist/lint/plugin-core/rules/descriptions.d.ts.map +1 -0
- package/dist/lint/plugin-core/rules/duplicate-values.d.ts +1 -0
- package/dist/lint/plugin-core/rules/duplicate-values.d.ts.map +1 -0
- package/dist/lint/plugin-core/rules/max-gamut.d.ts +1 -0
- package/dist/lint/plugin-core/rules/max-gamut.d.ts.map +1 -0
- package/dist/lint/plugin-core/rules/required-children.d.ts +1 -0
- package/dist/lint/plugin-core/rules/required-children.d.ts.map +1 -0
- package/dist/lint/plugin-core/rules/required-modes.d.ts +1 -0
- package/dist/lint/plugin-core/rules/required-modes.d.ts.map +1 -0
- package/dist/lint/plugin-core/rules/required-typography-properties.d.ts +1 -0
- package/dist/lint/plugin-core/rules/required-typography-properties.d.ts.map +1 -0
- package/dist/logger.d.ts +4 -3
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +25 -14
- package/dist/logger.js.map +1 -1
- package/dist/parse/alias.d.ts +13 -3
- package/dist/parse/alias.d.ts.map +1 -0
- package/dist/parse/alias.js +94 -43
- package/dist/parse/alias.js.map +1 -1
- package/dist/parse/index.d.ts +1 -0
- package/dist/parse/index.d.ts.map +1 -0
- package/dist/parse/index.js +58 -25
- package/dist/parse/index.js.map +1 -1
- package/dist/parse/json.d.ts +3 -3
- package/dist/parse/json.d.ts.map +1 -0
- package/dist/parse/json.js +5 -7
- package/dist/parse/json.js.map +1 -1
- package/dist/parse/normalize.d.ts +1 -0
- package/dist/parse/normalize.d.ts.map +1 -0
- package/dist/parse/normalize.js +8 -6
- package/dist/parse/normalize.js.map +1 -1
- package/dist/parse/validate.d.ts +1 -0
- package/dist/parse/validate.d.ts.map +1 -0
- package/dist/parse/validate.js +194 -110
- package/dist/parse/validate.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/build/index.ts +11 -10
- package/src/config.ts +42 -22
- package/src/lint/index.ts +8 -6
- package/src/logger.ts +30 -20
- package/src/parse/alias.ts +114 -45
- package/src/parse/index.ts +59 -28
- package/src/parse/json.ts +6 -8
- package/src/parse/normalize.ts +8 -6
- package/src/parse/validate.ts +204 -110
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/parse/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/parse/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@terrazzo/parser",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Parser/validator for the Design Tokens Community Group (DTCG) standard.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"scule": "^1.3.0",
|
|
41
41
|
"wildcard-match": "^5.1.4",
|
|
42
42
|
"yaml": "^2.7.0",
|
|
43
|
-
"@terrazzo/token-tools": "^0.
|
|
43
|
+
"@terrazzo/token-tools": "^0.5.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"esbuild": "^0.23.1",
|
package/src/build/index.ts
CHANGED
|
@@ -19,7 +19,7 @@ function validateTransformParams({
|
|
|
19
19
|
logger,
|
|
20
20
|
pluginName,
|
|
21
21
|
}: { params: TokenTransformed; logger: Logger; pluginName: string }) {
|
|
22
|
-
const
|
|
22
|
+
const baseMessage: LogEntry = { group: 'plugin', label: pluginName, message: '' };
|
|
23
23
|
|
|
24
24
|
// validate value is valid for SINGLE_VALUE or MULTI_VALUE
|
|
25
25
|
if (
|
|
@@ -28,7 +28,7 @@ function validateTransformParams({
|
|
|
28
28
|
Array.isArray(params.value)
|
|
29
29
|
) {
|
|
30
30
|
logger.error({
|
|
31
|
-
...
|
|
31
|
+
...baseMessage,
|
|
32
32
|
message: `setTransform() value expected string or object of strings, received ${
|
|
33
33
|
Array.isArray(params.value) ? 'Array' : typeof params.value
|
|
34
34
|
}`,
|
|
@@ -36,7 +36,7 @@ function validateTransformParams({
|
|
|
36
36
|
}
|
|
37
37
|
if (typeof params.value === 'object' && Object.values(params.value).some((v) => typeof v !== 'string')) {
|
|
38
38
|
logger.error({
|
|
39
|
-
...
|
|
39
|
+
...baseMessage,
|
|
40
40
|
message: 'setTransform() value expected object of strings, received some non-string values',
|
|
41
41
|
});
|
|
42
42
|
}
|
|
@@ -78,7 +78,6 @@ export default async function build(
|
|
|
78
78
|
// transform()
|
|
79
79
|
let transformsLocked = false; // prevent plugins from transforming after stage has ended
|
|
80
80
|
const startTransform = performance.now();
|
|
81
|
-
logger.debug({ group: 'parser', label: 'transform', message: 'Start transform' });
|
|
82
81
|
for (const plugin of config.plugins) {
|
|
83
82
|
if (typeof plugin.transform === 'function') {
|
|
84
83
|
await plugin.transform({
|
|
@@ -146,13 +145,12 @@ export default async function build(
|
|
|
146
145
|
logger.debug({
|
|
147
146
|
group: 'parser',
|
|
148
147
|
label: 'transform',
|
|
149
|
-
message: '
|
|
148
|
+
message: 'transform() step',
|
|
150
149
|
timing: performance.now() - startTransform,
|
|
151
150
|
});
|
|
152
151
|
|
|
153
152
|
// build()
|
|
154
153
|
const startBuild = performance.now();
|
|
155
|
-
logger.debug({ group: 'parser', label: 'build', message: 'Start build' });
|
|
156
154
|
for (const plugin of config.plugins) {
|
|
157
155
|
if (typeof plugin.build === 'function') {
|
|
158
156
|
const pluginBuildStart = performance.now();
|
|
@@ -163,7 +161,11 @@ export default async function build(
|
|
|
163
161
|
outputFile(filename, contents) {
|
|
164
162
|
const resolved = new URL(filename, config.outDir);
|
|
165
163
|
if (result.outputFiles.some((f) => new URL(f.filename, config.outDir).href === resolved.href)) {
|
|
166
|
-
logger.error({
|
|
164
|
+
logger.error({
|
|
165
|
+
group: 'plugin',
|
|
166
|
+
message: `Can’t overwrite file "${filename}"`,
|
|
167
|
+
label: plugin.name,
|
|
168
|
+
});
|
|
167
169
|
}
|
|
168
170
|
result.outputFiles.push({
|
|
169
171
|
filename,
|
|
@@ -178,13 +180,12 @@ export default async function build(
|
|
|
178
180
|
logger.debug({
|
|
179
181
|
group: 'parser',
|
|
180
182
|
label: 'build',
|
|
181
|
-
message: '
|
|
183
|
+
message: 'build() step',
|
|
182
184
|
timing: performance.now() - startBuild,
|
|
183
185
|
});
|
|
184
186
|
|
|
185
187
|
// buildEnd()
|
|
186
188
|
const startBuildEnd = performance.now();
|
|
187
|
-
logger.debug({ group: 'parser', label: 'build', message: 'Start buildEnd' });
|
|
188
189
|
for (const plugin of config.plugins) {
|
|
189
190
|
if (typeof plugin.buildEnd === 'function') {
|
|
190
191
|
await plugin.buildEnd({ outputFiles: structuredClone(result.outputFiles) });
|
|
@@ -193,7 +194,7 @@ export default async function build(
|
|
|
193
194
|
logger.debug({
|
|
194
195
|
group: 'parser',
|
|
195
196
|
label: 'build',
|
|
196
|
-
message: '
|
|
197
|
+
message: 'buildEnd() step',
|
|
197
198
|
timing: performance.now() - startBuildEnd,
|
|
198
199
|
});
|
|
199
200
|
|
package/src/config.ts
CHANGED
|
@@ -15,11 +15,9 @@ export default function defineConfig(
|
|
|
15
15
|
const configStart = performance.now();
|
|
16
16
|
|
|
17
17
|
if (!cwd) {
|
|
18
|
-
logger.error({ label: 'core', message: 'defineConfig() missing `cwd` for JS API' });
|
|
18
|
+
logger.error({ group: 'config', label: 'core', message: 'defineConfig() missing `cwd` for JS API' });
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
logger.debug({ group: 'parser', label: 'config', message: 'Start config validation' });
|
|
22
|
-
|
|
23
21
|
const config = merge({}, rawConfig) as unknown as ConfigInit;
|
|
24
22
|
|
|
25
23
|
// 1. normalize and init
|
|
@@ -71,14 +69,16 @@ function normalizeTokens({
|
|
|
71
69
|
);
|
|
72
70
|
} else {
|
|
73
71
|
logger.error({
|
|
74
|
-
|
|
72
|
+
group: 'config',
|
|
73
|
+
label: 'tokens',
|
|
75
74
|
message: `Expected array of strings, encountered ${JSON.stringify(file)}`,
|
|
76
75
|
});
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
78
|
} else {
|
|
80
79
|
logger.error({
|
|
81
|
-
|
|
80
|
+
group: 'config',
|
|
81
|
+
label: 'tokens',
|
|
82
82
|
message: `Expected string or array of strings, received ${typeof rawConfig.tokens}`,
|
|
83
83
|
});
|
|
84
84
|
}
|
|
@@ -90,7 +90,7 @@ function normalizeTokens({
|
|
|
90
90
|
try {
|
|
91
91
|
config.tokens[i] = new URL(filepath, cwd);
|
|
92
92
|
} catch (err) {
|
|
93
|
-
logger.error({
|
|
93
|
+
logger.error({ group: 'config', label: 'tokens', message: `Invalid URL ${filepath}` });
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
}
|
|
@@ -102,7 +102,11 @@ function normalizeOutDir({ config, cwd, logger }: { config: ConfigInit; logger:
|
|
|
102
102
|
} else if (typeof config.outDir === 'undefined') {
|
|
103
103
|
config.outDir = new URL('./tokens/', cwd);
|
|
104
104
|
} else if (typeof config.outDir !== 'string') {
|
|
105
|
-
logger.error({
|
|
105
|
+
logger.error({
|
|
106
|
+
group: 'config',
|
|
107
|
+
label: 'outDir',
|
|
108
|
+
message: `Expected string, received ${JSON.stringify(config.outDir)}`,
|
|
109
|
+
});
|
|
106
110
|
} else {
|
|
107
111
|
config.outDir = new URL(config.outDir, cwd);
|
|
108
112
|
// always add trailing slash so URL treats it as a directory.
|
|
@@ -118,7 +122,8 @@ function normalizePlugins({ config, logger }: { config: ConfigInit; logger: Logg
|
|
|
118
122
|
}
|
|
119
123
|
if (!Array.isArray(config.plugins)) {
|
|
120
124
|
logger.error({
|
|
121
|
-
|
|
125
|
+
group: 'config',
|
|
126
|
+
label: 'plugins',
|
|
122
127
|
message: `Expected array of plugins, received ${JSON.stringify(config.plugins)}`,
|
|
123
128
|
});
|
|
124
129
|
}
|
|
@@ -126,9 +131,13 @@ function normalizePlugins({ config, logger }: { config: ConfigInit; logger: Logg
|
|
|
126
131
|
for (let n = 0; n < config.plugins.length; n++) {
|
|
127
132
|
const plugin = config.plugins[n];
|
|
128
133
|
if (typeof plugin !== 'object') {
|
|
129
|
-
logger.error({
|
|
134
|
+
logger.error({
|
|
135
|
+
group: 'config',
|
|
136
|
+
label: `plugin[${n}]`,
|
|
137
|
+
message: `Expected output plugin, received ${JSON.stringify(plugin)}`,
|
|
138
|
+
});
|
|
130
139
|
} else if (!plugin.name) {
|
|
131
|
-
logger.error({ label: `plugin[${n}]`, message: `Missing "name"` });
|
|
140
|
+
logger.error({ group: 'config', label: `plugin[${n}]`, message: `Missing "name"` });
|
|
132
141
|
}
|
|
133
142
|
}
|
|
134
143
|
// order plugins with "enforce"
|
|
@@ -145,7 +154,7 @@ function normalizePlugins({ config, logger }: { config: ConfigInit; logger: Logg
|
|
|
145
154
|
function normalizeLint({ config, logger }: { config: ConfigInit; logger: Logger }) {
|
|
146
155
|
if (config.lint !== undefined) {
|
|
147
156
|
if (config.lint === null || typeof config.lint !== 'object' || Array.isArray(config.lint)) {
|
|
148
|
-
logger.error({
|
|
157
|
+
logger.error({ group: 'config', label: 'lint', message: 'Must be an object' });
|
|
149
158
|
}
|
|
150
159
|
if (!config.lint.build) {
|
|
151
160
|
config.lint.build = { enabled: true };
|
|
@@ -153,7 +162,8 @@ function normalizeLint({ config, logger }: { config: ConfigInit; logger: Logger
|
|
|
153
162
|
if (config.lint.build.enabled !== undefined) {
|
|
154
163
|
if (typeof config.lint.build.enabled !== 'boolean') {
|
|
155
164
|
logger.error({
|
|
156
|
-
|
|
165
|
+
group: 'config',
|
|
166
|
+
label: 'lint › build › enabled',
|
|
157
167
|
message: `Expected boolean, received ${JSON.stringify(config.lint.build)}`,
|
|
158
168
|
});
|
|
159
169
|
}
|
|
@@ -166,7 +176,8 @@ function normalizeLint({ config, logger }: { config: ConfigInit; logger: Logger
|
|
|
166
176
|
} else {
|
|
167
177
|
if (config.lint.rules === null || typeof config.lint.rules !== 'object' || Array.isArray(config.lint.rules)) {
|
|
168
178
|
logger.error({
|
|
169
|
-
|
|
179
|
+
group: 'config',
|
|
180
|
+
label: 'lint › rules',
|
|
170
181
|
message: `Expected object, received ${JSON.stringify(config.lint.rules)}`,
|
|
171
182
|
});
|
|
172
183
|
return;
|
|
@@ -180,7 +191,8 @@ function normalizeLint({ config, logger }: { config: ConfigInit; logger: Logger
|
|
|
180
191
|
const pluginRules = plugin.lint();
|
|
181
192
|
if (!pluginRules || Array.isArray(pluginRules) || typeof pluginRules !== 'object') {
|
|
182
193
|
logger.error({
|
|
183
|
-
|
|
194
|
+
group: 'config',
|
|
195
|
+
label: `plugin › ${plugin.name}`,
|
|
184
196
|
message: `Expected object for lint() received ${JSON.stringify(pluginRules)}`,
|
|
185
197
|
});
|
|
186
198
|
continue;
|
|
@@ -192,7 +204,8 @@ function normalizeLint({ config, logger }: { config: ConfigInit; logger: Logger
|
|
|
192
204
|
|
|
193
205
|
if (allRules.get(rule) && allRules.get(rule) !== plugin.name) {
|
|
194
206
|
logger.error({
|
|
195
|
-
|
|
207
|
+
group: 'config',
|
|
208
|
+
label: `plugin › ${plugin.name}`,
|
|
196
209
|
message: `Duplicate rule ${rule} already registered by plugin ${allRules.get(rule)}`,
|
|
197
210
|
});
|
|
198
211
|
}
|
|
@@ -203,7 +216,8 @@ function normalizeLint({ config, logger }: { config: ConfigInit; logger: Logger
|
|
|
203
216
|
for (const id of Object.keys(config.lint.rules)) {
|
|
204
217
|
if (!allRules.has(id)) {
|
|
205
218
|
logger.error({
|
|
206
|
-
|
|
219
|
+
group: 'config',
|
|
220
|
+
label: `lint › rule › ${id}`,
|
|
207
221
|
message: 'Unknown rule. Is the plugin installed?',
|
|
208
222
|
});
|
|
209
223
|
}
|
|
@@ -218,7 +232,8 @@ function normalizeLint({ config, logger }: { config: ConfigInit; logger: Logger
|
|
|
218
232
|
options = value[1];
|
|
219
233
|
} else if (value !== undefined) {
|
|
220
234
|
logger.error({
|
|
221
|
-
|
|
235
|
+
group: 'config',
|
|
236
|
+
label: `lint › rule › ${id}`,
|
|
222
237
|
message: `Invalid eyntax. Expected \`string | number | Array\`, received ${JSON.stringify(value)}}`,
|
|
223
238
|
});
|
|
224
239
|
}
|
|
@@ -226,7 +241,8 @@ function normalizeLint({ config, logger }: { config: ConfigInit; logger: Logger
|
|
|
226
241
|
if (typeof severity === 'number') {
|
|
227
242
|
if (severity !== 0 && severity !== 1 && severity !== 2) {
|
|
228
243
|
logger.error({
|
|
229
|
-
|
|
244
|
+
group: 'config',
|
|
245
|
+
label: `lint › rule › ${id}`,
|
|
230
246
|
message: `Invalid number ${severity}. Specify 0 (off), 1 (warn), or 2 (error).`,
|
|
231
247
|
});
|
|
232
248
|
}
|
|
@@ -234,13 +250,15 @@ function normalizeLint({ config, logger }: { config: ConfigInit; logger: Logger
|
|
|
234
250
|
} else if (typeof severity === 'string') {
|
|
235
251
|
if (severity !== 'off' && severity !== 'warn' && severity !== 'error') {
|
|
236
252
|
logger.error({
|
|
237
|
-
|
|
253
|
+
group: 'config',
|
|
254
|
+
label: `lint › rule › ${id}`,
|
|
238
255
|
message: `Invalid string ${JSON.stringify(severity)}. Specify "off", "warn", or "error".`,
|
|
239
256
|
});
|
|
240
257
|
}
|
|
241
258
|
} else if (value !== null) {
|
|
242
259
|
logger.error({
|
|
243
|
-
|
|
260
|
+
group: 'config',
|
|
261
|
+
label: `lint › rule › ${id}`,
|
|
244
262
|
message: `Expected string or number, received ${JSON.stringify(value)}`,
|
|
245
263
|
});
|
|
246
264
|
}
|
|
@@ -262,13 +280,15 @@ function normalizeIgnore({ config, logger }: { config: ConfigInit; logger: Logge
|
|
|
262
280
|
config.ignore.deprecated ??= false;
|
|
263
281
|
if (!Array.isArray(config.ignore.tokens) || config.ignore.tokens.some((x) => typeof x !== 'string')) {
|
|
264
282
|
logger.error({
|
|
265
|
-
|
|
283
|
+
group: 'config',
|
|
284
|
+
label: 'ignore › tokens',
|
|
266
285
|
message: `Expected array of strings, received ${JSON.stringify(config.ignore.tokens)}`,
|
|
267
286
|
});
|
|
268
287
|
}
|
|
269
288
|
if (typeof config.ignore.deprecated !== 'boolean') {
|
|
270
289
|
logger.error({
|
|
271
|
-
|
|
290
|
+
group: 'config',
|
|
291
|
+
label: 'ignore › deprecated',
|
|
272
292
|
message: `Expected boolean, received ${JSON.stringify(config.ignore.deprecated)}`,
|
|
273
293
|
});
|
|
274
294
|
}
|
package/src/lint/index.ts
CHANGED
|
@@ -27,8 +27,6 @@ export default async function lintRunner({
|
|
|
27
27
|
if (typeof plugin.lint === 'function') {
|
|
28
28
|
const s = performance.now();
|
|
29
29
|
|
|
30
|
-
logger.debug({ group: 'plugin', label: plugin.name, message: 'Start linting' });
|
|
31
|
-
|
|
32
30
|
const linter = plugin.lint();
|
|
33
31
|
const errors: LogEntry[] = [];
|
|
34
32
|
const warnings: LogEntry[] = [];
|
|
@@ -50,7 +48,8 @@ export default async function lintRunner({
|
|
|
50
48
|
let message = '';
|
|
51
49
|
if (!descriptor.message && !descriptor.messageId) {
|
|
52
50
|
logger.error({
|
|
53
|
-
|
|
51
|
+
group: 'lint',
|
|
52
|
+
label: `${plugin.name} › lint › ${id}`,
|
|
54
53
|
message: 'Unable to report error: missing message or messageId',
|
|
55
54
|
});
|
|
56
55
|
}
|
|
@@ -61,7 +60,8 @@ export default async function lintRunner({
|
|
|
61
60
|
} else {
|
|
62
61
|
if (!(descriptor.messageId! in (rule.meta?.messages ?? {}))) {
|
|
63
62
|
logger.error({
|
|
64
|
-
|
|
63
|
+
group: 'lint',
|
|
64
|
+
label: `${plugin.name} › lint › ${id}`,
|
|
65
65
|
message: `messageId "${descriptor.messageId}" does not exist`,
|
|
66
66
|
});
|
|
67
67
|
}
|
|
@@ -81,6 +81,7 @@ export default async function lintRunner({
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
(severity === 'error' ? errors : warnings).push({
|
|
84
|
+
group: 'lint',
|
|
84
85
|
label: id,
|
|
85
86
|
message,
|
|
86
87
|
filename,
|
|
@@ -112,7 +113,7 @@ export default async function lintRunner({
|
|
|
112
113
|
logger.warn(warning);
|
|
113
114
|
}
|
|
114
115
|
|
|
115
|
-
logger.debug({ group: '
|
|
116
|
+
logger.debug({ group: 'lint', label: plugin.name, message: 'Finished', timing: performance.now() - s });
|
|
116
117
|
|
|
117
118
|
if (errors.length) {
|
|
118
119
|
const counts = [pluralize(errors.length, 'error', 'errors')];
|
|
@@ -120,6 +121,7 @@ export default async function lintRunner({
|
|
|
120
121
|
counts.push(pluralize(warnings.length, 'warning', 'warnings'));
|
|
121
122
|
}
|
|
122
123
|
logger.error({
|
|
124
|
+
group: 'lint',
|
|
123
125
|
message: `Lint failed with ${listFormat.format(counts)}`,
|
|
124
126
|
label: plugin.name,
|
|
125
127
|
continueOnError: false,
|
|
@@ -130,6 +132,6 @@ export default async function lintRunner({
|
|
|
130
132
|
|
|
131
133
|
// warn user if they have unused lint rules (they might have meant to configure something!)
|
|
132
134
|
for (const unusedRule of unusedLintRules) {
|
|
133
|
-
logger.warn({ group: '
|
|
135
|
+
logger.warn({ group: 'lint', label: 'lint', message: `Unknown lint rule "${unusedRule}"` });
|
|
134
136
|
}
|
|
135
137
|
}
|
package/src/logger.ts
CHANGED
|
@@ -9,9 +9,11 @@ export type LogSeverity = 'error' | 'warn' | 'info' | 'debug';
|
|
|
9
9
|
|
|
10
10
|
export type LogLevel = LogSeverity | 'silent';
|
|
11
11
|
|
|
12
|
-
export type LogGroup = 'parser' | 'plugin';
|
|
12
|
+
export type LogGroup = 'config' | 'parser' | 'lint' | 'plugin';
|
|
13
13
|
|
|
14
14
|
export interface LogEntry {
|
|
15
|
+
/** Originator of log message */
|
|
16
|
+
group: LogGroup;
|
|
15
17
|
/** Error message to be logged */
|
|
16
18
|
message: string;
|
|
17
19
|
/** Prefix message with label */
|
|
@@ -25,8 +27,6 @@ export interface LogEntry {
|
|
|
25
27
|
continueOnError?: boolean;
|
|
26
28
|
/** Show a code frame for the erring node */
|
|
27
29
|
node?: AnyNode;
|
|
28
|
-
/** Originator of log message */
|
|
29
|
-
group?: LogGroup;
|
|
30
30
|
/** To show a code frame, provide the original source code */
|
|
31
31
|
src?: string;
|
|
32
32
|
}
|
|
@@ -43,11 +43,15 @@ export interface DebugEntry {
|
|
|
43
43
|
timing?: number;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
const DEBUG_GROUP_COLOR: Record<string, typeof pc.red | undefined> = { core: pc.green, plugin: pc.magenta };
|
|
47
|
-
|
|
48
46
|
const MESSAGE_COLOR: Record<string, typeof pc.red | undefined> = { error: pc.red, warn: pc.yellow };
|
|
49
47
|
|
|
50
|
-
const timeFormatter = new Intl.DateTimeFormat('en-
|
|
48
|
+
const timeFormatter = new Intl.DateTimeFormat('en-us', {
|
|
49
|
+
hour: 'numeric',
|
|
50
|
+
hour12: false,
|
|
51
|
+
minute: 'numeric',
|
|
52
|
+
second: 'numeric',
|
|
53
|
+
fractionalSecondDigits: 3,
|
|
54
|
+
});
|
|
51
55
|
|
|
52
56
|
/**
|
|
53
57
|
* @param {Entry} entry
|
|
@@ -56,9 +60,7 @@ const timeFormatter = new Intl.DateTimeFormat('en-gb', { timeStyle: 'medium' });
|
|
|
56
60
|
*/
|
|
57
61
|
export function formatMessage(entry: LogEntry, severity: LogSeverity) {
|
|
58
62
|
let message = entry.message;
|
|
59
|
-
|
|
60
|
-
message = `${pc.bold(`${entry.label}:`)} ${message}`;
|
|
61
|
-
}
|
|
63
|
+
message = `[${entry.group}${entry.label ? `:${entry.label}` : ''}] ${message}`;
|
|
62
64
|
if (severity in MESSAGE_COLOR) {
|
|
63
65
|
message = MESSAGE_COLOR[severity]!(message);
|
|
64
66
|
}
|
|
@@ -116,8 +118,9 @@ export default class Logger {
|
|
|
116
118
|
if (this.level === 'silent' || LOG_ORDER.indexOf(this.level) < LOG_ORDER.indexOf('info')) {
|
|
117
119
|
return;
|
|
118
120
|
}
|
|
121
|
+
const message = formatMessage(entry, 'info');
|
|
119
122
|
// biome-ignore lint/suspicious/noConsoleLog: this is its job
|
|
120
|
-
console.log(
|
|
123
|
+
console.log(message);
|
|
121
124
|
}
|
|
122
125
|
|
|
123
126
|
/** Log a warning message (if logging level permits) */
|
|
@@ -126,15 +129,16 @@ export default class Logger {
|
|
|
126
129
|
if (this.level === 'silent' || LOG_ORDER.indexOf(this.level) < LOG_ORDER.indexOf('warn')) {
|
|
127
130
|
return;
|
|
128
131
|
}
|
|
129
|
-
|
|
132
|
+
const message = formatMessage(entry, 'warn');
|
|
133
|
+
console.warn(message);
|
|
130
134
|
}
|
|
131
135
|
|
|
132
136
|
/** Log a diagnostics message (if logging level permits) */
|
|
133
137
|
debug(entry: DebugEntry) {
|
|
134
|
-
this.debugCount++;
|
|
135
138
|
if (this.level === 'silent' || LOG_ORDER.indexOf(this.level) < LOG_ORDER.indexOf('debug')) {
|
|
136
139
|
return;
|
|
137
140
|
}
|
|
141
|
+
this.debugCount++;
|
|
138
142
|
|
|
139
143
|
let message = formatMessage(entry, 'debug');
|
|
140
144
|
|
|
@@ -142,15 +146,21 @@ export default class Logger {
|
|
|
142
146
|
if (this.debugScope !== '*' && !wcmatch(this.debugScope)(debugPrefix)) {
|
|
143
147
|
return;
|
|
144
148
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
149
|
+
|
|
150
|
+
// debug color
|
|
151
|
+
message
|
|
152
|
+
.replace(/\[config[^\]]+\]/, (match) => pc.green(match))
|
|
153
|
+
.replace(/\[parser[^\]]+\]/, (match) => pc.magenta(match))
|
|
154
|
+
.replace(/\[lint[^\]]+\]/, (match) => pc.yellow(match))
|
|
155
|
+
.replace(/\[plugin[^\]]+\]/, (match) => pc.cyan(match));
|
|
156
|
+
|
|
157
|
+
message = `${pc.dim(timeFormatter.format(performance.now()))} ${message}`;
|
|
148
158
|
if (typeof entry.timing === 'number') {
|
|
149
|
-
let timing
|
|
150
|
-
if (timing < 1_000) {
|
|
151
|
-
timing = `${timing}ms`;
|
|
152
|
-
} else if (timing < 60_000) {
|
|
153
|
-
timing = `${Math.round(timing * 100) / 100_000}s`;
|
|
159
|
+
let timing = '';
|
|
160
|
+
if (entry.timing < 1_000) {
|
|
161
|
+
timing = `${Math.round(entry.timing * 100) / 100}ms`;
|
|
162
|
+
} else if (entry.timing < 60_000) {
|
|
163
|
+
timing = `${Math.round(entry.timing * 100) / 100_000}s`;
|
|
154
164
|
}
|
|
155
165
|
message = `${message} ${pc.dim(`[${timing}]`)}`;
|
|
156
166
|
}
|