@duro-app/cli 5.1.0 → 5.2.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/README.md CHANGED
@@ -167,18 +167,22 @@ almost no padding while `@duro-app/ui`'s CSS is fine. `duro doctor` checks the
167
167
  app's wiring, statically, from its package root (or a repo root: it follows
168
168
  pnpm/npm workspaces, else looks one directory down):
169
169
 
170
- | Rule | Severity | What breaks |
171
- | -------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
172
- | `runtime-injection` | error | `runtimeInjection: true` in a vite/babel config. StyleX injects react-strict-dom's element reset into an unlayered `<style>`, and unlayered beats every layer. A warning in `vitest.*` (jsdom only). |
173
- | `layered-extraction` | error | `useCSSLayers: false` in postcss.config: the app's extracted rules — react-strict-dom's reset included — land unlayered. |
174
- | `css-imported` | error | The entry (`app/root.tsx`, `src/main.tsx`, …) never imports `@duro-app/ui/dist/index.css`. The JavaScript does not load it; components render unstyled. |
175
- | `css-load-order` | error | A stylesheet declares the `priority*` layers before `reset`. The first declaration fixes layer order for the page, which puts the reset on top. |
176
- | `unlayered-reset` | warn | `* { padding: 0 }` (or on `button`, `input`, `main`, …) outside any `@layer` in the app's own CSS. |
177
- | `version-skew` | warn | The installed `@duro-app/ui` is not the version this CLI checks. |
178
- | `tokens-compiled` | warn, or error | A vite/babel config compiles with StyleX but nothing routes `@duro-app/tokens` through `react-strict-dom/babel-preset` (or, in an SSR app, `ssr.noExternal` misses it). `css.create` then cannot import `@duro-app/tokens/tokens/*.css`: StyleX fails with "…ensure the theme file has a .stylex.js or .stylex.ts extension". An error once a `css.create` file in `app/`/`src/` deep-imports the tokens; until then a warning, since that is the import the design system prescribes. |
179
-
180
- It exits 1 on any error, so it gates. Two places run it, and a consuming repo
181
- wires both:
170
+ | Rule | Severity | What breaks |
171
+ | -------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
172
+ | `runtime-injection` | error | `runtimeInjection: true` in a vite/babel config. StyleX injects react-strict-dom's element reset into an unlayered `<style>`, and unlayered beats every layer. A warning in `vitest.*` (jsdom only). |
173
+ | `layered-extraction` | error | `useCSSLayers: false` in postcss.config: the app's extracted rules — react-strict-dom's reset included — land unlayered. |
174
+ | `css-imported` | error | The entry (`app/root.tsx`, `src/main.tsx`, …) never imports `@duro-app/ui/dist/index.css`. The JavaScript does not load it; components render unstyled. |
175
+ | `css-load-order` | error | A stylesheet declares the `priority*` layers before `reset`. The first declaration fixes layer order for the page, which puts the reset on top. |
176
+ | `unlayered-reset` | warn | `* { padding: 0 }` (or on `button`, `input`, `main`, …) outside any `@layer` in the app's own CSS. |
177
+ | `version-skew` | warn | The installed `@duro-app/ui` is not the version this CLI checks. |
178
+ | `tokens-compiled` | warn, or error | A vite/babel config compiles with StyleX but nothing routes `@duro-app/tokens` through `react-strict-dom/babel-preset` (or, in an SSR app, `ssr.noExternal` misses it). `css.create` then cannot import `@duro-app/tokens/tokens/*.css`: StyleX fails with "…ensure the theme file has a .stylex.js or .stylex.ts extension". An error once a `css.create` file in `app/`/`src/` deep-imports the tokens; until then a warning, since that is the import the design system prescribes. `noExternal` may be inline, a const in the config, the `{noExternal}` shorthand or a const a sibling module exports; a declared list never counts as routing. When the binding cannot be resolved, a warning names it. |
179
+ | `media-var` | error | Built CSS (`build/`, `dist/`) holds an `@media` whose condition reads a `var(--…)`: a media query cannot read a custom property, so it never matches. The breakpoint consts reached the CSS uncompiled. Reads only output newer than every config and source file (capped scan); with none, the check is reported as `skipped (no fresh build)` and left out of `--json` `checked`. A path it cannot read (anything but a missing one) is a warning that names it and the error code. |
180
+
181
+ **Exit codes:** `0` when there are no findings or only warnings, `1` when
182
+ there is at least one error, so it gates on errors only. `--session` always
183
+ exits 0. `--json` prints `{ok, findings, checked, skipped, packages}`.
184
+
185
+ Two places run it, and a consuming repo wires both:
182
186
 
183
187
  - **Every agent session** — the [session hook](#claude-code-session-hook)
184
188
  runs `doctor --session`, which prints nothing when the repo is healthy and
@@ -8,13 +8,15 @@ import type { CommandResult } from './lookup.js';
8
8
  * them in the wrong order, outranks it. Each app used to rediscover this
9
9
  * alone; the contract lives here now. One rule is about the tokens rather
10
10
  * than the cascade: an app whose build never compiles @duro-app/tokens'
11
- * sources cannot use them in css.create (`tokens-compiled`).
11
+ * sources cannot use them in css.create (`tokens-compiled`). And one reads
12
+ * fresh build output: a built `@media` that compares against a `var(--…)`
13
+ * never matches (`media-var`).
12
14
  *
13
15
  * Static and dependency-free on purpose: it runs under npx from the
14
16
  * SessionStart hook, so it reads files with regexes over comment-masked
15
17
  * source instead of loading a parser or executing the app's config.
16
18
  */
17
- export type DoctorRule = 'runtime-injection' | 'layered-extraction' | 'css-imported' | 'css-load-order' | 'unlayered-reset' | 'version-skew' | 'tokens-compiled';
19
+ export type DoctorRule = 'runtime-injection' | 'layered-extraction' | 'css-imported' | 'css-load-order' | 'unlayered-reset' | 'version-skew' | 'tokens-compiled' | 'media-var';
18
20
  export interface DoctorFinding {
19
21
  rule: DoctorRule;
20
22
  severity: 'error' | 'warn';
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAA;AAI9C;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,oBAAoB,GACpB,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,GACd,iBAAiB,CAAA;AAErB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAA;IAC1B,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAoED,wBAAgB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,aAAa,CAsBpE;AA0LD,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,CASlF"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAA;AAI9C;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,oBAAoB,GACpB,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,GACd,iBAAiB,GACjB,WAAW,CAAA;AAEf,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAA;IAC1B,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAoED,wBAAgB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,aAAa,CA0BpE;AAmMD,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,CASlF"}
@@ -1,4 +1,4 @@
1
- import { existsSync, readdirSync, readFileSync } from 'node:fs';
1
+ import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
2
2
  import { createRequire } from 'node:module';
3
3
  import { basename, dirname, join, relative, resolve } from 'node:path';
4
4
  import { cliVersion } from './manifest.js';
@@ -69,18 +69,20 @@ export function runDoctor(options = {}) {
69
69
  text: options.session
70
70
  ? ''
71
71
  : 'duro doctor: no package here uses @duro-app/ui — nothing to check',
72
- data: { ok: true, findings: [], checked: [], packages: [] },
72
+ data: { ok: true, findings: [], checked: [], skipped: [], packages: [] },
73
73
  };
74
74
  }
75
75
  const findings = [];
76
76
  const checked = [];
77
77
  const rel = (path) => relative(root, path) || '.';
78
- for (const { dir, pkg } of packages)
79
- findings.push(...checkPackage(dir, pkg, rel, checked));
80
- return report(findings, checked, packages.map(({ dir }) => rel(dir)), options.session === true);
78
+ const skipped = [];
79
+ for (const { dir, pkg } of packages) {
80
+ findings.push(...checkPackage(dir, pkg, rel, checked, skipped));
81
+ }
82
+ return report(findings, checked, packages.map(({ dir }) => rel(dir)), options.session === true, skipped);
81
83
  }
82
84
  /** Every check, for one package that depends on @duro-app/ui. */
83
- function checkPackage(dir, pkg, rel, checked) {
85
+ function checkPackage(dir, pkg, rel, checked, skipped) {
84
86
  const findings = [];
85
87
  let unlayeredExtraction = false;
86
88
  const configs = [];
@@ -116,6 +118,14 @@ function checkPackage(dir, pkg, rel, checked) {
116
118
  const tokens = checkTokensCompiled(dir, configs, rel);
117
119
  if (tokens)
118
120
  findings.push(tokens);
121
+ const media = checkMediaVar(dir, names, rel);
122
+ findings.push(...media.findings);
123
+ if (media.skipped) {
124
+ skipped.push(`${rel(dir) === '.' ? '' : `${rel(dir)}: `}media-var (no fresh build)`);
125
+ }
126
+ else {
127
+ checked.push(...media.checked);
128
+ }
119
129
  const entry = ENTRIES.map((path) => join(dir, path)).find((path) => existsSync(path));
120
130
  if (entry !== undefined) {
121
131
  checked.push(rel(entry));
@@ -308,7 +318,54 @@ const STYLEX_COMPILER = /(['"])(?:@stylexjs\/(?:babel-plugin|unplugin|rollup-plu
308
318
  const TOKENS_MENTION = /@duro-app\\?\/tokens\b/;
309
319
  /** `noExternal: [...]`, `: true`, `: /re/` or `: 'pkg'`. */
310
320
  const NO_EXTERNAL = /\bnoExternal\s*:\s*(?:\[[^\]]*\]|true\b|\/(?:\\.|[^/\n])+\/[a-z]*|(['"`])[^'"`\n]*\1)/g;
311
- /** Vite configs that render on the server: an `ssr` block or an SSR framework plugin. */
321
+ /** `noExternal: someList` — the list is declared elsewhere. */
322
+ const NO_EXTERNAL_IDENT = /\bnoExternal\s*:\s*([A-Za-z_$][\w$]*)\b(?!\s*[.([])/g;
323
+ /** The shorthand `{noExternal}` / `{…, noExternal, …}`: a binding named noExternal. */
324
+ const NO_EXTERNAL_SHORTHAND = /[{,]\s*(noExternal)\s*(?=[,}])/g;
325
+ /** A value a noExternal binding can hold that doctor can read. */
326
+ const LIST_VALUE = String.raw `(\[[^\]]*\]|true\b|false\b|\/(?:\\.|[^/\n])+\/[a-z]*|(['"\x60])[^'"\x60\n]*\3)`;
327
+ const NAMED_IMPORT = /\bimport\s*(?:type\s+)?\{([^}]*)\}\s*from\s*(['"])([^'"\n]+)\2/g;
328
+ function declarationOf(name, file, masked) {
329
+ const decl = new RegExp(String.raw `\b(?:const|let|var)\s+(${name.replace(/\$/g, '\\$')})\b[^=;\n]*=\s*` + LIST_VALUE);
330
+ const match = decl.exec(masked);
331
+ if (!match)
332
+ return null;
333
+ return { file, index: match.index, length: match[0].length, value: match[2] };
334
+ }
335
+ /**
336
+ * Resolve the binding a `noExternal` refers to: a const in the same config, or
337
+ * one a sibling module exports and the config imports by name.
338
+ */
339
+ function resolveList(name, config, dir, maskedOf) {
340
+ const local = declarationOf(name, config.file, config.masked);
341
+ if (local)
342
+ return local;
343
+ for (const match of config.masked.matchAll(NAMED_IMPORT)) {
344
+ const specifier = match[3];
345
+ if (!specifier.startsWith('./') && !specifier.startsWith('../'))
346
+ continue;
347
+ for (const part of match[1].split(',')) {
348
+ const [imported, as] = part
349
+ .trim()
350
+ .replace(/^type\s+/, '')
351
+ .split(/\s+as\s+/);
352
+ if ((as ?? imported)?.trim() !== name || !imported)
353
+ continue;
354
+ const base = join(dirname(config.file), specifier);
355
+ const candidates = MODULE_EXT.some((ext) => base.endsWith(ext))
356
+ ? [base, ...MODULE_EXT.map((ext) => base.replace(/\.[cm]?js$/, ext))]
357
+ : MODULE_EXT.map((ext) => base + ext);
358
+ for (const candidate of candidates) {
359
+ const masked = maskedOf(candidate);
360
+ if (masked === null)
361
+ continue;
362
+ return declarationOf(imported.trim(), candidate, masked);
363
+ }
364
+ return null;
365
+ }
366
+ }
367
+ return null;
368
+ }
312
369
  const SSR_CONFIG = /\bssr\s*:|['"]@react-router\/dev\/vite['"]|['"]@remix-run\/dev['"]/;
313
370
  const TOKENS_DEEP_IMPORT = /\bfrom\s*(['"])@duro-app\/tokens\/tokens\/[^'"\n]+\1/;
314
371
  const STYLEX_CREATE = /\b(?:css|stylex)\.create\s*\(/;
@@ -331,35 +388,78 @@ function checkTokensCompiled(dir, configs, rel) {
331
388
  // extraction `include` that names the tokens (duro-app's does) collects
332
389
  // their rules without compiling the module the bundle imports.
333
390
  const build = configs.filter(({ file }) => !/^(?:vitest|postcss)\./.test(basename(file)));
391
+ // Comment-masked text per config; `outside` is the same with every
392
+ // noExternal list (inline or declared) blanked, so naming the tokens in a
393
+ // list never counts as routing them through Babel.
394
+ const masked = new Map(build.map(({ file, source }) => [file, maskComments(source, { line: true })]));
395
+ const outside = new Map(masked);
396
+ const blankOut = (file, index, length) => {
397
+ const text = outside.get(file);
398
+ if (text === undefined)
399
+ return;
400
+ outside.set(file, text.slice(0, index) + ' '.repeat(length) + text.slice(index + length));
401
+ };
402
+ const maskedOf = (file) => {
403
+ const known = masked.get(file);
404
+ if (known !== undefined)
405
+ return known;
406
+ // `file` is relative to the checked root, like every config's name.
407
+ const source = readText(join(dir, relative(rel(dir), file)));
408
+ return source === null ? null : maskComments(source, { line: true });
409
+ };
410
+ const listsTokens = (value) => value === 'true' || TOKENS_MENTION.test(value);
334
411
  let stylex = null;
335
- let routed = false;
336
412
  let ssr = false;
337
413
  let ssrExternal = false;
414
+ const unresolved = [];
338
415
  for (const { file, source } of build) {
339
- const masked = maskComments(source, { line: true });
340
- const lists = [...masked.matchAll(NO_EXTERNAL)];
341
- let outside = masked;
342
- for (const list of lists) {
343
- if (list[0].endsWith('true') || TOKENS_MENTION.test(list[0]))
416
+ const text = masked.get(file);
417
+ for (const list of text.matchAll(NO_EXTERNAL)) {
418
+ if (listsTokens(list[0].replace(/^\bnoExternal\s*:\s*/, '')))
344
419
  ssrExternal = true;
345
- outside =
346
- outside.slice(0, list.index) +
347
- ' '.repeat(list[0].length) +
348
- outside.slice(list.index + list[0].length);
420
+ blankOut(file, list.index, list[0].length);
349
421
  }
350
- if (TOKENS_MENTION.test(outside))
351
- routed = true;
352
- if (/^vite\./.test(basename(file)) && SSR_CONFIG.test(masked))
422
+ // `import {noExternal} from …` is a binding, not a use of one.
423
+ const uses = text.replace(NAMED_IMPORT, (statement) => ' '.repeat(statement.length));
424
+ const refs = [
425
+ ...[...uses.matchAll(NO_EXTERNAL_IDENT)].map((m) => ({ name: m[1], index: m.index })),
426
+ ...[...uses.matchAll(NO_EXTERNAL_SHORTHAND)].map((m) => ({ name: m[1], index: m.index })),
427
+ ].filter(({ name }) => !['true', 'false', 'undefined', 'null'].includes(name));
428
+ for (const { name, index } of refs) {
429
+ const declared = resolveList(name, { file, masked: text }, dir, maskedOf);
430
+ if (!declared) {
431
+ unresolved.push({ name, file, line: lineOf(source, index) });
432
+ continue;
433
+ }
434
+ if (listsTokens(declared.value))
435
+ ssrExternal = true;
436
+ blankOut(declared.file, declared.index, declared.length);
437
+ }
438
+ if (/^vite\./.test(basename(file)) && SSR_CONFIG.test(text))
353
439
  ssr = true;
354
- const compiler = STYLEX_COMPILER.exec(masked);
440
+ const compiler = STYLEX_COMPILER.exec(text);
355
441
  if (compiler && !stylex)
356
442
  stylex = { file, line: lineOf(source, compiler.index) };
357
443
  }
358
444
  if (!stylex)
359
445
  return null;
446
+ const routed = [...outside.values()].some((text) => TOKENS_MENTION.test(text));
360
447
  const ssrGap = ssr && !ssrExternal;
361
448
  if (routed && !ssrGap)
362
449
  return null;
450
+ // The only gap is SSR inlining, and a list doctor could not read may close
451
+ // it: say what could not be verified instead of failing.
452
+ const opaque = unresolved[0];
453
+ if (routed && opaque) {
454
+ return {
455
+ rule: 'tokens-compiled',
456
+ severity: 'warn',
457
+ file: opaque.file,
458
+ line: opaque.line,
459
+ message: `ssr.noExternal is \`${opaque.name}\` in ${opaque.file}:${opaque.line}, which doctor cannot resolve to a list, so it cannot verify that SSR inlines @duro-app/tokens (without it, css.defineVars throws at runtime).`,
460
+ fix: `Make sure '@duro-app/tokens' is in \`${opaque.name}\`, or declare noExternal inline in ${opaque.file}.`,
461
+ };
462
+ }
363
463
  const evidence = tokensInCreate(dir);
364
464
  const where = evidence ? `${rel(evidence.path)}:${evidence.line}` : null;
365
465
  const cause = routed
@@ -419,6 +519,131 @@ function tokensInCreate(dir) {
419
519
  }
420
520
  return null;
421
521
  }
522
+ /** Build output directories `media-var` reads. */
523
+ const BUILD_DIRS = ['build', 'dist'];
524
+ /** An `@media` prelude, up to its block. */
525
+ const MEDIA_RULE = /@media\b([^{;]*)\{/g;
526
+ /** Text cut to about `max` characters, for one-line minified CSS. */
527
+ const clip = (text, max = 80) => text.length > max ? `${text.slice(0, max - 1).trimEnd()}…` : text;
528
+ const errorCode = (error) => error?.code ?? 'unknown';
529
+ /**
530
+ * `statSync(path).mtimeMs`, or null when the path is gone (ENOENT: it
531
+ * vanished between listing and stat). Any other failure is recorded in
532
+ * `unreadable` and also returns null.
533
+ */
534
+ function mtimeOf(path, unreadable) {
535
+ try {
536
+ return statSync(path).mtimeMs;
537
+ }
538
+ catch (error) {
539
+ if (errorCode(error) !== 'ENOENT')
540
+ unreadable.push({ path, code: errorCode(error) });
541
+ return null;
542
+ }
543
+ }
544
+ /**
545
+ * The newest modification time among the package's build config and its
546
+ * sources (app/, src/), scanned up to SOURCE_SCAN_LIMIT files.
547
+ */
548
+ function newestInput(dir, configs, unreadable) {
549
+ let newest = 0;
550
+ const seen = (path) => {
551
+ const mtime = mtimeOf(path, unreadable);
552
+ if (mtime !== null)
553
+ newest = Math.max(newest, mtime);
554
+ };
555
+ for (const name of [...configs, 'package.json'])
556
+ seen(join(dir, name));
557
+ walkFiles(['src', 'app'].map((name) => join(dir, name)), (name) => /\.[cm]?[jt]sx?$|\.css$/.test(name), seen, unreadable);
558
+ return newest;
559
+ }
560
+ /**
561
+ * Depth-first over `roots`, calling `visit` on each matching file, capped. A
562
+ * root that does not exist (ENOENT) or is not a directory (ENOTDIR) is
563
+ * skipped; a directory that cannot be read for any other reason is recorded
564
+ * in `unreadable`.
565
+ */
566
+ function walkFiles(roots, matches, visit, unreadable) {
567
+ const stack = [...roots].reverse();
568
+ let budget = SOURCE_SCAN_LIMIT;
569
+ while (stack.length > 0 && budget > 0) {
570
+ const current = stack.pop();
571
+ let entries;
572
+ try {
573
+ entries = readdirSync(current, { withFileTypes: true });
574
+ }
575
+ catch (error) {
576
+ const code = errorCode(error);
577
+ if (code !== 'ENOENT' && code !== 'ENOTDIR')
578
+ unreadable.push({ path: current, code });
579
+ continue;
580
+ }
581
+ const dirs = [];
582
+ for (const entry of entries.sort((a, b) => a.name.localeCompare(b.name))) {
583
+ if (entry.name.startsWith('.') || entry.name === 'node_modules')
584
+ continue;
585
+ const path = join(current, entry.name);
586
+ if (entry.isDirectory())
587
+ dirs.push(path);
588
+ else if (matches(entry.name)) {
589
+ if (--budget < 0)
590
+ return;
591
+ visit(path);
592
+ }
593
+ }
594
+ stack.push(...dirs.reverse());
595
+ }
596
+ }
597
+ /**
598
+ * A media query cannot read a custom property: `@media (max-width:
599
+ * var(--x))` never matches, so the rules inside never apply. It happens when
600
+ * `@duro-app/tokens/tokens/breakpoints.css.ts` reaches the CSS without the
601
+ * StyleX/RSD compile that turns its consts into px. Reads built CSS only, and
602
+ * only output newer than every config and source file: stale output says
603
+ * nothing about the code as it is. `skipped` when there is no fresh build;
604
+ * a path it could not read is a warning, never silently left out.
605
+ */
606
+ function checkMediaVar(dir, configs, rel) {
607
+ const unreadable = [];
608
+ const newest = newestInput(dir, configs, unreadable);
609
+ const fresh = [];
610
+ walkFiles(BUILD_DIRS.map((name) => join(dir, name)), (name) => name.endsWith('.css'), (path) => {
611
+ const mtime = mtimeOf(path, unreadable);
612
+ if (mtime !== null && mtime > newest)
613
+ fresh.push(path);
614
+ }, unreadable);
615
+ // What could not be read is said, not silently left out of the check.
616
+ const findings = unreadable.map(({ path, code }) => ({
617
+ rule: 'media-var',
618
+ severity: 'warn',
619
+ file: rel(path),
620
+ message: `${rel(path)} could not be read (${code}), so media-var did not check it or what it holds.`,
621
+ fix: `Make ${rel(path)} readable by the user running doctor, or remove it.`,
622
+ }));
623
+ if (fresh.length === 0)
624
+ return { checked: [], findings, skipped: true };
625
+ for (const path of fresh) {
626
+ const source = readText(path);
627
+ if (source === null)
628
+ continue;
629
+ const css = maskComments(source, { line: false });
630
+ const broken = [...css.matchAll(MEDIA_RULE)].filter((m) => m[1].includes('var(--'));
631
+ const first = broken[0];
632
+ if (!first)
633
+ continue;
634
+ const query = clip(`@media${first[1].replace(/\s+/g, ' ').trimEnd()}`);
635
+ const more = broken.length > 1 ? ` (and ${broken.length - 1} more)` : '';
636
+ findings.push({
637
+ rule: 'media-var',
638
+ severity: 'error',
639
+ file: rel(path),
640
+ line: lineOf(source, first.index),
641
+ message: `${query}${more} compares against a CSS variable, which a media query cannot read: it never matches, so the rules inside never apply.`,
642
+ fix: 'compile `@duro-app/tokens/tokens/breakpoints.css.ts` through the StyleX/RSD babel step, rebuild, re-run `npx -y @duro-app/cli doctor`',
643
+ });
644
+ }
645
+ return { checked: fresh.map(rel), findings, skipped: false };
646
+ }
422
647
  function checkStylesheets(root, entry, rel, checked, unlayeredExtraction) {
423
648
  const walk = {
424
649
  root,
@@ -595,28 +820,45 @@ function targetsComponents(selectorList) {
595
820
  return bare === '*' || COMPONENT_ELEMENTS.has(bare);
596
821
  });
597
822
  }
598
- function report(findings, checked, packages, session) {
823
+ /** What each kind of error does to the app, for the session block's first line. */
824
+ const CONSEQUENCE = {
825
+ 'runtime-injection': 'components render with their spacing flattened',
826
+ 'layered-extraction': 'components render with their spacing flattened',
827
+ 'css-imported': 'components render with their spacing flattened',
828
+ 'css-load-order': 'components render with their spacing flattened',
829
+ 'unlayered-reset': 'components render with their spacing flattened',
830
+ 'version-skew': 'the CLI checks a different version than the one installed',
831
+ 'tokens-compiled': 'css.create cannot use the design tokens',
832
+ 'media-var': 'breakpoint media queries never match',
833
+ };
834
+ function report(findings, checked, packages, session, skipped = []) {
599
835
  const errors = findings.filter((finding) => finding.severity === 'error');
600
836
  const warnings = findings.filter((finding) => finding.severity === 'warn');
601
- const data = { ok: errors.length === 0, findings, checked, packages };
837
+ const data = { ok: errors.length === 0, findings, checked, skipped, packages };
602
838
  const where = (finding) => finding.line ? `${finding.file}:${finding.line}` : finding.file;
839
+ const plural = (n, word) => `${n} ${word}${n === 1 ? '' : 's'}`;
603
840
  if (session) {
604
841
  if (findings.length === 0)
605
842
  return { text: '', data };
843
+ const effects = [...new Set(errors.map((finding) => CONSEQUENCE[finding.rule]))];
606
844
  return {
607
845
  text: [
608
846
  errors.length > 0
609
- ? "DURO DOCTOR — this repo's @duro-app/ui wiring is broken: components render with their spacing flattened until it is fixed. Fix it before any styling work:"
610
- : "DURO DOCTOR — warnings about this repo's @duro-app/ui wiring:",
847
+ ? `DURO DOCTOR — ${plural(errors.length, 'error')} in this repo's @duro-app/ui setup: ${effects.join('; ')} until fixed. Fix before any styling work:`
848
+ : `DURO DOCTOR — ${plural(warnings.length, 'warning')} about this repo's @duro-app/ui setup:`,
611
849
  ...findings.map((finding) => `- [${finding.severity}] ${finding.rule} at ${where(finding)}: ${finding.message} Fix: ${finding.fix}`),
612
850
  'Re-check with: npx -y @duro-app/cli doctor',
613
851
  ].join('\n'),
614
852
  data,
615
853
  };
616
854
  }
855
+ const tail = [
856
+ ` checked: ${checked.join(', ')}`,
857
+ ...(skipped.length > 0 ? [` skipped: ${skipped.join(', ')}`] : []),
858
+ ];
617
859
  if (findings.length === 0) {
618
860
  return {
619
- text: `duro doctor: no problems found\n checked: ${checked.join(', ')}`,
861
+ text: ['duro doctor: no problems found', ...tail].join('\n'),
620
862
  data,
621
863
  };
622
864
  }
@@ -628,7 +870,7 @@ function report(findings, checked, packages, session) {
628
870
  ` ${finding.message}`,
629
871
  ` fix: ${finding.fix}`,
630
872
  ]),
631
- ` checked: ${checked.join(', ')}`,
873
+ ...tail,
632
874
  ].join('\n'),
633
875
  data,
634
876
  exitCode: errors.length > 0 ? 1 : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
package/dist/manifest.js CHANGED
@@ -134,7 +134,7 @@ export const COMMANDS = [
134
134
  },
135
135
  {
136
136
  name: 'doctor',
137
- summary: "Check how the app in the cwd wires @duro-app/ui into its build: runtimeInjection left on, unlayered StyleX extraction, the stylesheet missing from the entry, layers declared out of order, unlayered resets. Each one flattens component spacing while the design system's own CSS is fine. It also flags a StyleX build that never compiles @duro-app/tokens, so css.create cannot import the tokens",
137
+ summary: "Check how the app in the cwd wires @duro-app/ui into its build: runtimeInjection left on, unlayered StyleX extraction, the stylesheet missing from the entry, layers declared out of order, unlayered resets. Each one flattens component spacing while the design system's own CSS is fine. It also flags a StyleX build that never compiles @duro-app/tokens, so css.create cannot import the tokens, and fresh built CSS whose @media reads a var() (media-var). Exits 1 on an error, 0 on warnings",
138
138
  args: [],
139
139
  flags: [
140
140
  {