synthesisui 0.16.40 → 0.16.41
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/dist/commands/doctor.js +18 -1
- package/dist/doctor/scan.js +11 -1
- package/package.json +1 -1
package/dist/commands/doctor.js
CHANGED
|
@@ -38,6 +38,10 @@ const SKIP = new Set([
|
|
|
38
38
|
"build",
|
|
39
39
|
"out",
|
|
40
40
|
"coverage",
|
|
41
|
+
// Storybook's build output. Its bundled manager JS carries Storybook's OWN
|
|
42
|
+
// brand palette, and a census of a component library came back led by
|
|
43
|
+
// #1EA7FD and #FF4785 - Storybook's blue and pink, not the library's.
|
|
44
|
+
"storybook-static",
|
|
41
45
|
".turbo",
|
|
42
46
|
".vercel",
|
|
43
47
|
// Our own installed artifacts are the answer, not the problem.
|
|
@@ -359,7 +363,20 @@ export async function doctor(opts) {
|
|
|
359
363
|
// Nothing of ours here does not mean nothing to measure against. Fall back
|
|
360
364
|
// to whatever vocabulary the project already declares for itself.
|
|
361
365
|
if (table.byName.size === 0) {
|
|
362
|
-
|
|
366
|
+
/**
|
|
367
|
+
* THEIR VOCABULARY IS REPO-WIDE, even when the READING is scoped.
|
|
368
|
+
*
|
|
369
|
+
* A path argument scopes what gets measured; it must not scope what counts
|
|
370
|
+
* as named. Measured on a real monorepo (dono, 30/07):
|
|
371
|
+
* `doctor apps/web-dashboard` found 28 tokens and missed the 112 that live
|
|
372
|
+
* in `packages/ui` - the shared package that IS that company's design
|
|
373
|
+
* system. Every value the app borrows from it was reported as having no
|
|
374
|
+
* name, which inverts the one sentence this command exists to say.
|
|
375
|
+
*
|
|
376
|
+
* Same rule our own installed system already follows: found from the root,
|
|
377
|
+
* measured in the scope.
|
|
378
|
+
*/
|
|
379
|
+
table = await harvestOwnTokens([root]);
|
|
363
380
|
}
|
|
364
381
|
const hasSystem = table.byName.size > 0;
|
|
365
382
|
const reports = [];
|
package/dist/doctor/scan.js
CHANGED
|
@@ -235,7 +235,17 @@ const IDIOM = new Set(["0", "0px", "1px", "9999px", "100%", "50%"]);
|
|
|
235
235
|
* spec is the TEST, not drift. Every real project has these; accusing them
|
|
236
236
|
* buried the report's real findings under 99 phantom lines the first time
|
|
237
237
|
* the doctor ran on a repo with its own test suite (30/07). */
|
|
238
|
-
|
|
238
|
+
/**
|
|
239
|
+
* Files whose colours are not the product's.
|
|
240
|
+
*
|
|
241
|
+
* Tests and fixtures were always here. STORIES joined them after a component
|
|
242
|
+
* library was imported and its census came back describing demo content
|
|
243
|
+
* (dono, 30/07): a story paints a plausible article, a fake avatar, a swatch
|
|
244
|
+
* grid - values chosen to show the component off, never shipped to anyone.
|
|
245
|
+
* Counting them accuses the author of drift they did not write, and crediting
|
|
246
|
+
* them inflates a coverage number nobody can act on.
|
|
247
|
+
*/
|
|
248
|
+
const IS_FIXTURE = /(\.(spec|test|stories)\.[a-z]+$|__tests__\/|\/fixtures?\/|(^|\/)\.storybook\/)/;
|
|
239
249
|
export function scanSource(file, source, table) {
|
|
240
250
|
if (IS_FIXTURE.test(file)) {
|
|
241
251
|
const real = scanCore(file, source, table);
|
package/package.json
CHANGED