@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.
Files changed (77) hide show
  1. package/CHANGELOG.md +41 -11
  2. package/dist/build/index.d.ts +1 -0
  3. package/dist/build/index.d.ts.map +1 -0
  4. package/dist/build/index.js +11 -10
  5. package/dist/build/index.js.map +1 -1
  6. package/dist/config.d.ts +1 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +42 -21
  9. package/dist/config.js.map +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/lib/code-frame.d.ts +1 -0
  13. package/dist/lib/code-frame.d.ts.map +1 -0
  14. package/dist/lint/index.d.ts +1 -0
  15. package/dist/lint/index.d.ts.map +1 -0
  16. package/dist/lint/index.js +8 -5
  17. package/dist/lint/index.js.map +1 -1
  18. package/dist/lint/plugin-core/index.d.ts +1 -0
  19. package/dist/lint/plugin-core/index.d.ts.map +1 -0
  20. package/dist/lint/plugin-core/lib/docs.d.ts +1 -0
  21. package/dist/lint/plugin-core/lib/docs.d.ts.map +1 -0
  22. package/dist/lint/plugin-core/rules/a11y-min-contrast.d.ts +1 -0
  23. package/dist/lint/plugin-core/rules/a11y-min-contrast.d.ts.map +1 -0
  24. package/dist/lint/plugin-core/rules/a11y-min-font-size.d.ts +1 -0
  25. package/dist/lint/plugin-core/rules/a11y-min-font-size.d.ts.map +1 -0
  26. package/dist/lint/plugin-core/rules/colorspace.d.ts +1 -0
  27. package/dist/lint/plugin-core/rules/colorspace.d.ts.map +1 -0
  28. package/dist/lint/plugin-core/rules/consistent-naming.d.ts +1 -0
  29. package/dist/lint/plugin-core/rules/consistent-naming.d.ts.map +1 -0
  30. package/dist/lint/plugin-core/rules/descriptions.d.ts +1 -0
  31. package/dist/lint/plugin-core/rules/descriptions.d.ts.map +1 -0
  32. package/dist/lint/plugin-core/rules/duplicate-values.d.ts +1 -0
  33. package/dist/lint/plugin-core/rules/duplicate-values.d.ts.map +1 -0
  34. package/dist/lint/plugin-core/rules/max-gamut.d.ts +1 -0
  35. package/dist/lint/plugin-core/rules/max-gamut.d.ts.map +1 -0
  36. package/dist/lint/plugin-core/rules/required-children.d.ts +1 -0
  37. package/dist/lint/plugin-core/rules/required-children.d.ts.map +1 -0
  38. package/dist/lint/plugin-core/rules/required-modes.d.ts +1 -0
  39. package/dist/lint/plugin-core/rules/required-modes.d.ts.map +1 -0
  40. package/dist/lint/plugin-core/rules/required-typography-properties.d.ts +1 -0
  41. package/dist/lint/plugin-core/rules/required-typography-properties.d.ts.map +1 -0
  42. package/dist/logger.d.ts +4 -3
  43. package/dist/logger.d.ts.map +1 -0
  44. package/dist/logger.js +25 -14
  45. package/dist/logger.js.map +1 -1
  46. package/dist/parse/alias.d.ts +13 -3
  47. package/dist/parse/alias.d.ts.map +1 -0
  48. package/dist/parse/alias.js +94 -43
  49. package/dist/parse/alias.js.map +1 -1
  50. package/dist/parse/index.d.ts +1 -0
  51. package/dist/parse/index.d.ts.map +1 -0
  52. package/dist/parse/index.js +58 -25
  53. package/dist/parse/index.js.map +1 -1
  54. package/dist/parse/json.d.ts +3 -3
  55. package/dist/parse/json.d.ts.map +1 -0
  56. package/dist/parse/json.js +5 -7
  57. package/dist/parse/json.js.map +1 -1
  58. package/dist/parse/normalize.d.ts +1 -0
  59. package/dist/parse/normalize.d.ts.map +1 -0
  60. package/dist/parse/normalize.js +8 -6
  61. package/dist/parse/normalize.js.map +1 -1
  62. package/dist/parse/validate.d.ts +1 -0
  63. package/dist/parse/validate.d.ts.map +1 -0
  64. package/dist/parse/validate.js +194 -110
  65. package/dist/parse/validate.js.map +1 -1
  66. package/dist/types.d.ts +1 -0
  67. package/dist/types.d.ts.map +1 -0
  68. package/package.json +2 -2
  69. package/src/build/index.ts +11 -10
  70. package/src/config.ts +42 -22
  71. package/src/lint/index.ts +8 -6
  72. package/src/logger.ts +30 -20
  73. package/src/parse/alias.ts +114 -45
  74. package/src/parse/index.ts +59 -28
  75. package/src/parse/json.ts +6 -8
  76. package/src/parse/normalize.ts +8 -6
  77. 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
@@ -262,3 +262,4 @@ export interface TransformHookOptions {
262
262
  /** Momoa documents */
263
263
  sources: InputSource[];
264
264
  }
265
+ //# sourceMappingURL=types.d.ts.map
@@ -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.5",
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.3.5"
43
+ "@terrazzo/token-tools": "^0.5.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "esbuild": "^0.23.1",
@@ -19,7 +19,7 @@ function validateTransformParams({
19
19
  logger,
20
20
  pluginName,
21
21
  }: { params: TokenTransformed; logger: Logger; pluginName: string }) {
22
- const baseEntry: LogEntry = { group: 'plugin', label: pluginName, message: '' };
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
- ...baseEntry,
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
- ...baseEntry,
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: 'Finish transform',
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({ message: `Can’t overwrite file "${filename}"`, label: plugin.name });
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: 'Finish build',
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: 'Finish buildEnd',
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
- label: '[config] tokens',
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
- label: '[config] tokens',
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({ label: '[config] tokens', message: `Invalid URL ${filepath}` });
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({ label: '[config] outDir', message: `Expected string, received ${JSON.stringify(config.outDir)}` });
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
- label: '[config] plugins',
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({ label: `plugin[${n}]`, message: `Expected output plugin, received ${JSON.stringify(plugin)}` });
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({ label: '[config] lint', message: 'Must be an object' });
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
- label: '[config] lint › build › enabled',
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
- label: '[config] lint › rules',
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
- label: `[config] plugin › ${plugin.name}`,
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
- label: `[config] plugin › ${plugin.name}`,
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
- label: `[config] lint › rule › ${id}`,
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
- label: `[config] lint › rule › ${id}`,
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
- label: `[config] lint › rule › ${id}`,
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
- label: `[config] lint › rule › ${id}`,
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
- label: `[config] lint › rule › ${id}`,
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
- label: '[config] ignore › tokens',
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
- label: '[config] ignore › deprecated',
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
- label: `[plugin] ${plugin.name} › lint › ${id}`,
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
- label: `[plugin] ${plugin.name} › lint › ${id}`,
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: 'plugin', label: plugin.name, message: 'Finish linting', timing: performance.now() - s });
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: 'parser', label: 'lint', message: `Unknown lint rule "${unusedRule}"` });
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-gb', { timeStyle: 'medium' });
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
- if (entry.label) {
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(formatMessage(entry, 'info'));
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
- console.warn(formatMessage(entry, 'warn'));
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
- message = `${(DEBUG_GROUP_COLOR[entry.group] || pc.white)(debugPrefix)} ${pc.dim(
146
- timeFormatter.format(new Date()),
147
- )} ${message}`;
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: string | number = Math.round(entry.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
  }