@epilot/zenith-react 0.1.0-next.0 → 0.1.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 +95 -15
- package/dist/components/appearance-boundary/appearance-boundary.js +32 -34
- package/dist/components/appearance-boundary/appearance-boundary.js.map +1 -1
- package/dist/components/badge/badge.js +1 -1
- package/dist/components/badge/badge.js.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.js +10 -10
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/components/button/button.js +28 -28
- package/dist/components/button/button.js.map +1 -1
- package/dist/components/button-group/button-group.js.map +1 -1
- package/dist/components/callout/callout.js +13 -13
- package/dist/components/callout/callout.js.map +1 -1
- package/dist/components/card/card.js.map +1 -1
- package/dist/components/checkbox/checkbox.js +13 -13
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/code-block/code-block.js +6 -6
- package/dist/components/code-block/code-block.js.map +1 -1
- package/dist/components/code-editor/code-editor.js +1 -1
- package/dist/components/code-editor/code-editor.js.map +1 -1
- package/dist/components/code-editor/indent.js.map +1 -1
- package/dist/components/command/command.js +7 -13
- package/dist/components/command/command.js.map +1 -1
- package/dist/components/data-table/data-table-body.js +120 -66
- package/dist/components/data-table/data-table-body.js.map +1 -1
- package/dist/components/data-table/data-table-column-header.js +7 -7
- package/dist/components/data-table/data-table-column-header.js.map +1 -1
- package/dist/components/data-table/data-table-column-order.js +277 -0
- package/dist/components/data-table/data-table-column-order.js.map +1 -0
- package/dist/components/data-table/data-table-content.js +72 -58
- package/dist/components/data-table/data-table-content.js.map +1 -1
- package/dist/components/data-table/data-table-context.js +8 -4
- package/dist/components/data-table/data-table-context.js.map +1 -1
- package/dist/components/data-table/data-table-footer.js +31 -0
- package/dist/components/data-table/data-table-footer.js.map +1 -0
- package/dist/components/data-table/data-table-header-draggable.js +151 -0
- package/dist/components/data-table/data-table-header-draggable.js.map +1 -0
- package/dist/components/data-table/data-table-header.js +130 -57
- package/dist/components/data-table/data-table-header.js.map +1 -1
- package/dist/components/data-table/data-table-resize-handle.js +137 -0
- package/dist/components/data-table/data-table-resize-handle.js.map +1 -0
- package/dist/components/data-table/data-table.js +184 -156
- package/dist/components/data-table/data-table.js.map +1 -1
- package/dist/components/data-table/hooks/use-data-table-virtualizer.js +9 -0
- package/dist/components/data-table/hooks/use-data-table-virtualizer.js.map +1 -0
- package/dist/components/date-range-picker/date-range-picker.js +197 -195
- package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
- package/dist/components/date-time-picker/calendar.js +29 -29
- package/dist/components/date-time-picker/calendar.js.map +1 -1
- package/dist/components/date-time-picker/time-picker.js +55 -55
- package/dist/components/date-time-picker/time-picker.js.map +1 -1
- package/dist/components/density-provider/density-provider.js.map +1 -1
- package/dist/components/dialog/dialog.js +1 -1
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/drawer/drawer.js +5 -5
- package/dist/components/drawer/drawer.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +36 -36
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/field/field-combobox.js +4 -4
- package/dist/components/field/field-combobox.js.map +1 -1
- package/dist/components/field/field.js +40 -40
- package/dist/components/field/field.js.map +1 -1
- package/dist/components/label/label.js +0 -28
- package/dist/components/label/label.js.map +1 -1
- package/dist/components/list/list.js +42 -52
- package/dist/components/list/list.js.map +1 -1
- package/dist/components/option-card/option-card.js +27 -25
- package/dist/components/option-card/option-card.js.map +1 -1
- package/dist/components/pill/pill.js +9 -9
- package/dist/components/pill/pill.js.map +1 -1
- package/dist/components/radio/radio.js +14 -14
- package/dist/components/radio/radio.js.map +1 -1
- package/dist/components/scroll-area/scroll-area.js +9 -9
- package/dist/components/scroll-area/scroll-area.js.map +1 -1
- package/dist/components/segmented-control/segmented-control.js +1 -1
- package/dist/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/components/select/select.js +11 -11
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/separator/separator.js.map +1 -1
- package/dist/components/skeleton/skeleton.js.map +1 -1
- package/dist/components/slot/compose-as-child.js.map +1 -1
- package/dist/components/spinner/spinner.js.map +1 -1
- package/dist/components/switch/switch.js +11 -11
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/table/table-pagination.js +1 -1
- package/dist/components/table/table-pagination.js.map +1 -1
- package/dist/components/table/table.js +15 -15
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/text/text.js +10 -1
- package/dist/components/text/text.js.map +1 -1
- package/dist/components/toast/toast.js +30 -32
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/toggle/toggle.js +20 -20
- package/dist/components/toggle/toggle.js.map +1 -1
- package/dist/delivery/index.d.ts +10 -44
- package/dist/delivery/index.js +5 -9
- package/dist/index.d.ts +1994 -2272
- package/dist/index.js +133 -121
- package/dist/index.js.map +1 -1
- package/dist/lib/clear-button.js.map +1 -1
- package/dist/lib/code-highlight.js.map +1 -1
- package/dist/lib/code-tokens.js.map +1 -1
- package/dist/lib/pagination.js.map +1 -1
- package/dist/packages/tokens/dist/delivery/index.js +18 -48
- package/dist/packages/tokens/dist/delivery/index.js.map +1 -1
- package/dist/packages/tokens/dist/generated/core.generated.js +18 -0
- package/dist/packages/tokens/dist/generated/core.generated.js.map +1 -0
- package/dist/packages/tokens/dist/generated/palette.generated.js +5 -5
- package/dist/packages/tokens/dist/generated/palette.generated.js.map +1 -1
- package/dist/packages/tokens/dist/install.js +9 -9
- package/dist/packages/tokens/dist/install.js.map +1 -1
- package/dist/styles/document-context.js.map +1 -1
- package/dist/styles/make-styles.js.map +1 -1
- package/dist/tokens/core.meta.generated.js +2 -2
- package/dist/tokens/core.meta.generated.js.map +1 -1
- package/dist/tokens/index.d.ts +1029 -1104
- package/dist/tokens/index.js +1031 -1106
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/palette.generated.js +2 -2
- package/dist/tokens/palette.generated.js.map +1 -1
- package/dist/tokens/use-palette-tokens.js.map +1 -1
- package/dist/tokens.json +605 -755
- package/dist/vendor/.bun/@dnd-kit_core@6.3.1_6f4b9a1cfb20c0ae/vendor/@dnd-kit/core/dist/core.esm.js +385 -340
- package/dist/vendor/.bun/@dnd-kit_core@6.3.1_6f4b9a1cfb20c0ae/vendor/@dnd-kit/core/dist/core.esm.js.map +1 -1
- package/dist/vendor/.bun/@dnd-kit_sortable@10.0.0_1d291640e1250bbe/vendor/@dnd-kit/sortable/dist/sortable.esm.js +344 -229
- package/dist/vendor/.bun/@dnd-kit_sortable@10.0.0_1d291640e1250bbe/vendor/@dnd-kit/sortable/dist/sortable.esm.js.map +1 -1
- package/dist/vendor/.bun/@dnd-kit_utilities@3.2.2_62547eec5a2188e3/vendor/@dnd-kit/utilities/dist/utilities.esm.js +1 -1
- package/dist/vendor/.bun/@tanstack_react-virtual@3.11.2_6f4b9a1cfb20c0ae/vendor/@tanstack/react-virtual/dist/esm/index.js +36 -0
- package/dist/vendor/.bun/@tanstack_react-virtual@3.11.2_6f4b9a1cfb20c0ae/vendor/@tanstack/react-virtual/dist/esm/index.js.map +1 -0
- package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/index.js +450 -0
- package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/index.js.map +1 -0
- package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/utils.js +50 -0
- package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/utils.js.map +1 -0
- package/package.json +5 -4
- package/scripts/migration-diagnostics-core.mjs +19 -90
- package/scripts/migration-diagnostics.mjs +1 -16
- package/scripts/migration-sweep.mjs +2 -12
- package/ADOPTING.md +0 -73
- package/dist/packages/tokens/dist/delivery/internal.js +0 -181
- package/dist/packages/tokens/dist/delivery/internal.js.map +0 -1
- package/dist/packages/tokens/dist/generated/core.meta.generated.js +0 -10
- package/dist/packages/tokens/dist/generated/core.meta.generated.js.map +0 -1
- package/dist/token-assets/core/5cd4072decf5df2a664f0b1d5f2ec250a3309101ded3056c1f87c8bbe3738d50.css +0 -22
|
@@ -1,50 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure, fs-free migration-diagnostics rule core (WP6B-2 extraction). Every rule in this file
|
|
3
|
-
* is a straight-line function of its
|
|
4
|
-
* arguments: no `node:fs`/`node:path`/`node:module`/`node:process`/`node:child_process`/network
|
|
5
|
-
* access, no dynamic `import()`, no `eval`/`new Function`, no ambient DOM/global mutation, no
|
|
6
|
-
* module-load side effects. TypeScript is INJECTED by the caller (a `ts` parameter) — this module
|
|
7
|
-
* never imports, requires, or resolves `typescript` itself. `identity` (package name/version/
|
|
8
|
-
* generatedInputHash and the `core`/`palette` token-family `Set`s) is likewise always supplied by
|
|
9
|
-
* the caller; this module never reads a `dist/tokens/*` file or a `package.json` to derive it.
|
|
10
|
-
*
|
|
11
|
-
* `migration-diagnostics.mjs` (the sibling fs-bound orchestration module — file/directory walking,
|
|
12
|
-
* symlink boundary checks, hashing, `resolvePackageIdentity`, `resolveConsumerTypeScript`) is the
|
|
13
|
-
* CLI's entrypoint and delegates every file it reads to this module's `analyzeSource`. A future
|
|
14
|
-
* remote MCP tool would call `analyzeSource` directly with a caller-submitted string and a
|
|
15
|
-
* build-time-embedded identity — no path ever reaches this file. This module is not itself a
|
|
16
|
-
* "complete scan" API: it analyzes exactly the one string it is given, and callers remain
|
|
17
|
-
* responsible for their own completeness/incompleteness accounting (e.g. the CLI's
|
|
18
|
-
* `analysisIncomplete`/`toolingWarning` contract when TypeScript could not be resolved at all).
|
|
19
|
-
*
|
|
20
|
-
* Three rules, deliberately bounded to what survived every other gate on the four pilot
|
|
21
|
-
* migrations (see the outer module's original header for the incident history):
|
|
22
|
-
*
|
|
23
|
-
* legacy-volt-class — a v1-only `volt-*` utility class left in a className string.
|
|
24
|
-
* hand-written-volt-css-var — a raw `var(--volt-*)` (v1) or a hand-typed, hash-inlined
|
|
25
|
-
* `var(--zenith-<hash>-*)` (v2) custom property, instead of
|
|
26
|
-
* importing the token.
|
|
27
|
-
* unestablished-palette-install — a decorative (non-core) token family is used, but no
|
|
28
|
-
* correctly-scoped install call was found for it.
|
|
29
|
-
*
|
|
30
|
-
* `unestablished-palette-install` uses TypeScript's parser (syntax only — no type checker, no
|
|
31
|
-
* cross-module resolution) to do real lexical binding resolution: a name only counts as "the
|
|
32
|
-
* installer" or "a decorative token" if it resolves, through actual scope/shadowing, to an import
|
|
33
|
-
* from this package's own public specifiers, is not a type-only import, and is not shadowed by a
|
|
34
|
-
* closer local declaration. Certification is evaluated per DECORATIVE USAGE (not merely its
|
|
35
|
-
* enclosing scope), scoped to that usage's own consuming function plus at most one hop into a
|
|
36
|
-
* locally-declared helper the consuming scope calls directly, unconditionally, and BEFORE the
|
|
37
|
-
* usage in document order — never "this name is exported/called somewhere in the file".
|
|
38
|
-
*
|
|
39
|
-
* Supported analysis boundary: single-source, syntax-aware static analysis. It can prove a call
|
|
40
|
-
* exists, is unconditional relative to its own enclosing function, is reachable (not dead code
|
|
41
|
-
* after an unconditional return/throw), and precedes a given usage in straight-line document
|
|
42
|
-
* order. It cannot prove a *conditional* or *deferred* (callback/event) call's path always runs
|
|
43
|
-
* before the usage renders, and it cannot trace an install performed in a genuinely different
|
|
44
|
-
* source (e.g. a shared bootstrap/provider component) or through a relative (non-public-specifier)
|
|
45
|
-
* import — both get an explicit warning/uncertain finding, never a silent pass or a hard "error"
|
|
46
|
-
* (this rule never asserts a definite defect — see `RULES` below).
|
|
47
|
-
*/
|
|
1
|
+
/** Pure, fs-free migration-diagnostics rule core (WP6B-2 extraction). */
|
|
48
2
|
|
|
49
3
|
// ---------------------------------------------------------------------------
|
|
50
4
|
// Rule catalogue (also the "rule-support matrix" source of truth)
|
|
@@ -495,21 +449,18 @@ function collectBindings(sf, ts, identity) {
|
|
|
495
449
|
return { installerNames, namespaceNames, tokenBindings }
|
|
496
450
|
}
|
|
497
451
|
|
|
498
|
-
/**
|
|
452
|
+
/**
|
|
499
453
|
* `ensurePaletteTokens()` form, or an `ensurePaletteTokensFor(<literal>)` argument that is not a
|
|
500
|
-
* known core family — matching the REAL runtime contract in `tokens/install.ts`:
|
|
501
|
-
*
|
|
454
|
+
* known core family — matching the REAL runtime contract in `tokens/install.ts`: `if
|
|
455
|
+
* (CORE_FAMILIES.has(family)) return false; return ensurePaletteTokens(doc)` — an
|
|
502
456
|
* unrecognized/unknown literal still reaches installation; only a KNOWN CORE family is rejected),
|
|
503
|
-
* "uncertain" (a non-literal/dynamic argument to `-For` — cannot be resolved statically), or
|
|
504
|
-
*
|
|
505
|
-
*
|
|
506
|
-
*
|
|
507
|
-
*
|
|
508
|
-
*
|
|
509
|
-
|
|
510
|
-
* "confirmed" call installs the WHOLE decorative sheet, not just one family — this does not
|
|
511
|
-
* require matching the specific family a usage reads. Resolves the callee through `bindings` to
|
|
512
|
-
* its ORIGINAL imported symbol, never the local (possibly aliased) spelling. */
|
|
457
|
+
* "uncertain" (a non-literal/dynamic argument to `-For` — cannot be resolved statically), or "not-
|
|
458
|
+
* decorative": either a known core family literal argument (a real, provable runtime no-op per the
|
|
459
|
+
* contract above), OR a call to `ensurePaletteTokensFor` with NO argument at all — `family` is a
|
|
460
|
+
* required, non-optional parameter, so a genuinely zero-argument call is not a valid typed call in
|
|
461
|
+
* the first place (it would fail `tsc` with "Expected 1-2 arguments, but got 0"), not a proven
|
|
462
|
+
* runtime no-op the way the core-family case is.
|
|
463
|
+
*/
|
|
513
464
|
function installDecorativeStatus(call, ts, identity, bindings) {
|
|
514
465
|
const callee = call.expression
|
|
515
466
|
let canonicalName = null
|
|
@@ -650,17 +601,7 @@ function directStatementContaining(block, node, _ts) {
|
|
|
650
601
|
/**
|
|
651
602
|
* Bounded, order-sensitive coverage check (straight-line document order — no loop/goto modelling):
|
|
652
603
|
* true if `call` is guaranteed to run before `usageNode` can be evaluated, within the same
|
|
653
|
-
* consuming scope `F`.
|
|
654
|
-
* `isWithinConditional`/`isDeadCode` alone say a call is "unconditional in F", but that does not
|
|
655
|
-
* mean it precedes every usage in F: a guard clause can return an EARLIER usage before the call
|
|
656
|
-
* ever runs.
|
|
657
|
-
*
|
|
658
|
-
* Walks the block-ancestor chain of both `call` and `usageNode` up to `F`, finds their lowest
|
|
659
|
-
* shared block (outermost-first), and at the first level where they sit in DIFFERENT direct
|
|
660
|
-
* statements of that block, compares statement index — the call covers the usage only if its
|
|
661
|
-
* statement comes first. If they share the exact same direct statement at every checked level
|
|
662
|
-
* (e.g. both nested in the same `if` body), the deeper shared block is checked next. No shared
|
|
663
|
-
* block, or no resolvable statement, is conservatively "not covered".
|
|
604
|
+
* consuming scope `F`.
|
|
664
605
|
*/
|
|
665
606
|
function callCoversUsage(call, usageNode, F, ts) {
|
|
666
607
|
const blockChain = (node) => {
|
|
@@ -694,12 +635,11 @@ function callCoversUsage(call, usageNode, F, ts) {
|
|
|
694
635
|
|
|
695
636
|
/**
|
|
696
637
|
* Classifies one decorative USAGE (not merely its enclosing scope — see `callCoversUsage`):
|
|
697
|
-
* "confirmed" if a reachable, unconditional, correctly-scoped install call precedes it;
|
|
698
|
-
* with a `reason` if the best (or only) evidence is conditional, dead/unreachable,
|
|
699
|
-
* callback, dynamic, positioned after the usage, or reached through an
|
|
700
|
-
* conditionally-called helper; "absent" if no relevant candidate exists at
|
|
701
|
-
*
|
|
702
|
-
* confidence and the reported reason, never an "error".
|
|
638
|
+
* "confirmed" if a reachable, unconditional, correctly-scoped install call precedes it;
|
|
639
|
+
* "uncertain" with a `reason` if the best (or only) evidence is conditional, dead/unreachable,
|
|
640
|
+
* deferred into a callback, dynamic, positioned after the usage, or reached through an
|
|
641
|
+
* ambiguously-named or conditionally-called helper; "absent" if no relevant candidate exists at
|
|
642
|
+
* all.
|
|
703
643
|
*/
|
|
704
644
|
function classifyScope(F, sf, ts, scope, bindings, identity, usageNode) {
|
|
705
645
|
const isInstaller = (n) =>
|
|
@@ -958,19 +898,8 @@ function analyzePaletteInstallation(ts, identity, fileLabel, raw) {
|
|
|
958
898
|
|
|
959
899
|
/**
|
|
960
900
|
* Analyzes one already-in-memory source string — no fs, no path resolution, nothing derived from
|
|
961
|
-
* `sourceText` is ever used as a filesystem path or executed. Runs `legacy-volt-class` and
|
|
962
|
-
*
|
|
963
|
-
* `unestablished-palette-install` only if BOTH `ts` is supplied (injected by the caller — this
|
|
964
|
-
* module never resolves it) AND `fileNameHint` looks like a script file (`.ts`/`.tsx`/`.js`/`.jsx`)
|
|
965
|
-
* — a `.css`/`.scss` hint (or any non-script hint) only ever produces the two textual rules'
|
|
966
|
-
* findings, same as the CLI's file-based behavior for a stylesheet. `fileNameHint` is a LABEL for
|
|
967
|
-
* output only (the `file` field on findings, and which parse mode to use) — never treated as a
|
|
968
|
-
* path to read.
|
|
969
|
-
*
|
|
970
|
-
* Returns the same finding array shape `migration-diagnostics.mjs` (via its `analyzeFile`) has
|
|
971
|
-
* always returned, in the same order (textual findings first, then palette findings). Calling this
|
|
972
|
-
* twice with the same inputs returns equivalent findings and does not mutate `identity` (its
|
|
973
|
-
* `core`/`palette` `Set`s are only ever read, never written).
|
|
901
|
+
* `sourceText` is ever used as a filesystem path or executed. Runs `legacy-volt-class` and `hand-
|
|
902
|
+
* written-volt-css-var` unconditionally (pure text, no TypeScript needed).
|
|
974
903
|
*/
|
|
975
904
|
export function analyzeSource(
|
|
976
905
|
sourceText,
|
|
@@ -1,22 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* fs-bound migration-diagnostics ORCHESTRATION for a migrated (v1 -> Griffel) consumer tree —
|
|
3
3
|
* directory/file walking, symlink boundary checks, hashing, package identity resolution, and
|
|
4
|
-
* TypeScript resolution from the local filesystem.
|
|
5
|
-
* defect) lives in the sibling `migration-diagnostics-core.mjs`, which this module delegates every
|
|
6
|
-
* read file to via `analyzeSource` — see that module for the rule catalogue and the
|
|
7
|
-
* supported-analysis-boundary documentation. This split exists so a future non-fs caller (e.g. a
|
|
8
|
-
* remote tool analyzing a submitted string) can reuse the identical rule implementation without
|
|
9
|
-
* pulling in any of this module's filesystem/process access (WP6B-2 extraction; no such
|
|
10
|
-
* caller is wired up yet).
|
|
11
|
-
*
|
|
12
|
-
* Used by the CLI wrapper (`migration-sweep.mjs`) and by tests. Importing this module has no
|
|
13
|
-
* side effects (no process.exit, no argv parsing, no eager TypeScript import — see below).
|
|
14
|
-
*
|
|
15
|
-
* TypeScript itself is resolved LAZILY from the consumer's own installation (see
|
|
16
|
-
* `resolveConsumerTypeScript`) — this package does not depend on or bundle `typescript` at
|
|
17
|
-
* runtime. If it cannot be resolved, rules `legacy-volt-class` and `hand-written-volt-css-var`
|
|
18
|
-
* (pure text, no TypeScript needed) still run; `unestablished-palette-install` is skipped with an
|
|
19
|
-
* explicit, actionable note rather than crashing the whole scan.
|
|
4
|
+
* TypeScript resolution from the local filesystem.
|
|
20
5
|
*/
|
|
21
6
|
import { createHash } from "node:crypto"
|
|
22
7
|
import { createRequire } from "node:module"
|
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLI for the migration-diagnostics engine — checks a migrated consumer for the defects that
|
|
3
|
-
* survive every other gate (see migration-diagnostics.mjs for the rule catalogue and the
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* bun scripts/migration-sweep.mjs [--json] [--package <dir>] [--exclude <path>]... <path> [...]
|
|
7
|
-
*
|
|
8
|
-
* Exit code: 2 if any target has a hard input/argument error OR the requested analysis was
|
|
9
|
-
* INCOMPLETE (a script-file target whose TypeScript could not be resolved — a required rule did
|
|
10
|
-
* not run, which is not the same as "it ran and found nothing"); else 1 if any finding has
|
|
11
|
-
* severity "error" (legacy-volt-class / hand-written-volt-css-var — definite, unconditional textual
|
|
12
|
-
* defects); else 0. unestablished-palette-install never reports severity "error" — single-file
|
|
13
|
-
* analysis cannot prove a defect it might be wrong about (a bootstrap/provider elsewhere), so its
|
|
14
|
-
* findings are always "warning" and never independently produce a nonzero exit.
|
|
3
|
+
* survive every other gate (see migration-diagnostics.mjs for the rule catalogue and the analysis-
|
|
4
|
+
* boundary documentation; this file is argv parsing and output formatting only).
|
|
15
5
|
*/
|
|
16
6
|
import { resolve } from "node:path"
|
|
17
7
|
import {
|
package/ADOPTING.md
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# Adopting Zenith in a micro-frontend
|
|
2
|
-
|
|
3
|
-
Zenith is an ordinary per-application dependency. It is not loaded through the
|
|
4
|
-
existing shared component-library import map.
|
|
5
|
-
|
|
6
|
-
## 1. Install exact matching packages
|
|
7
|
-
|
|
8
|
-
Install `@epilot/zenith-react`. Its manifest pins matching versions of
|
|
9
|
-
`@epilot/zenith-runtime` and `@epilot/zenith-react/tokens`; do not override the runtime
|
|
10
|
-
unless the host already serves the identical `/v1` ABI.
|
|
11
|
-
|
|
12
|
-
React and React DOM 18 or newer remain peer dependencies.
|
|
13
|
-
|
|
14
|
-
## 2. Prepare tokens before rendering
|
|
15
|
-
|
|
16
|
-
```ts
|
|
17
|
-
import { prepareCoreTokens } from "@epilot/zenith-react/delivery"
|
|
18
|
-
|
|
19
|
-
await prepareCoreTokens()
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Treat rejection as an application-startup failure and expose a retry path. Do
|
|
23
|
-
not render Zenith components first and do not add the asset as a second manual
|
|
24
|
-
stylesheet. Tokens-only browser consumers have the same preparation requirement.
|
|
25
|
-
|
|
26
|
-
The loader resolves the content-addressed asset described by the installed
|
|
27
|
-
package. If your CSP blocks it, explicitly allow the Zenith docs asset origin or
|
|
28
|
-
serve the same immutable file from an approved origin.
|
|
29
|
-
|
|
30
|
-
## 3. Render normally
|
|
31
|
-
|
|
32
|
-
Import components and token bindings from public exports only:
|
|
33
|
-
|
|
34
|
-
```tsx
|
|
35
|
-
import { Button } from "@epilot/zenith-react"
|
|
36
|
-
import { gray11 } from "@epilot/zenith-react/tokens"
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Use `AppearanceBoundary` for a scoped appearance that must also reach portalled
|
|
40
|
-
content. A raw theme/surface attribute on an application subtree does not follow
|
|
41
|
-
a Dialog, Popover, Select, Tooltip, or menu into `document.body`.
|
|
42
|
-
|
|
43
|
-
## 4. Validate the host
|
|
44
|
-
|
|
45
|
-
- Exercise the application under its real content-security policy.
|
|
46
|
-
- Open and close every portalled component.
|
|
47
|
-
- Test keyboard order, focus restoration, screen-reader names, and error states.
|
|
48
|
-
- Test a page with two independently bundled Zenith consumers when that is a
|
|
49
|
-
supported host scenario.
|
|
50
|
-
- Measure the actual entry and lazy chunks; do not rely on historical prototype
|
|
51
|
-
measurements.
|
|
52
|
-
|
|
53
|
-
## 5. Migrate deliberately
|
|
54
|
-
|
|
55
|
-
Move one surface at a time. Do not reuse generated custom-property names,
|
|
56
|
-
styling selectors, or internal DOM structure from another component system.
|
|
57
|
-
Where APIs differ, adapt at the application boundary and remove the adapter once
|
|
58
|
-
the surface is fully on Zenith.
|
|
59
|
-
|
|
60
|
-
## Which version you get
|
|
61
|
-
|
|
62
|
-
`npm install @epilot/zenith-react` resolves the `latest` dist-tag, which only ever points at a
|
|
63
|
-
version that has been deliberately promoted. Until a first promotion happens, `latest` does not
|
|
64
|
-
exist.
|
|
65
|
-
|
|
66
|
-
Unproven builds are published to `next` with a prerelease version:
|
|
67
|
-
|
|
68
|
-
```sh
|
|
69
|
-
npm install @epilot/zenith-react@next # e.g. 0.1.0-next.0
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
These are opt-in twice over — you name the tag, and a range such as `^0.1.0` never resolves a
|
|
73
|
-
prerelease. Pin an exact version if you adopt one.
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
import { ensureSheet as y } from "@epilot/zenith-runtime/v1";
|
|
2
|
-
import { CORE_TOKEN_ASSET as A } from "../generated/core.meta.generated.js";
|
|
3
|
-
import { CoreTokensNotPreparedError as S, CoreTokensFetchError as b, CoreTokensTimeoutError as R, CoreTokensIntegrityError as _ } from "./index.js";
|
|
4
|
-
const C = Symbol.for(
|
|
5
|
-
"@epilot/zenith-delivery:loader:v1"
|
|
6
|
-
), M = "data-zenith-tokens";
|
|
7
|
-
function E(t) {
|
|
8
|
-
var o;
|
|
9
|
-
const e = t && t.defaultView || (typeof window < "u" ? window : globalThis);
|
|
10
|
-
return (o = e[C]) != null && o.documents || (e[C] = {
|
|
11
|
-
documents: /* @__PURE__ */ new WeakMap(),
|
|
12
|
-
verifiedTexts: /* @__PURE__ */ new Map()
|
|
13
|
-
}), e[C];
|
|
14
|
-
}
|
|
15
|
-
function P(t) {
|
|
16
|
-
const o = E(t);
|
|
17
|
-
let e = o.documents.get(t);
|
|
18
|
-
return e || (e = /* @__PURE__ */ new Map(), o.documents.set(t, e)), e;
|
|
19
|
-
}
|
|
20
|
-
function I(t) {
|
|
21
|
-
return `${t.namespace}:${t.sheetHash}:${t.url}:${t.integrity}`;
|
|
22
|
-
}
|
|
23
|
-
async function F(t) {
|
|
24
|
-
var o;
|
|
25
|
-
const e = typeof crypto < "u" && crypto.subtle ? crypto.subtle : (o = globalThis.crypto) == null ? void 0 : o.subtle;
|
|
26
|
-
if (e) {
|
|
27
|
-
const n = new TextEncoder().encode(t), a = await e.digest("SHA-256", n), u = Array.from(new Uint8Array(a)).map((l) => l.toString(16).padStart(2, "0")).join("");
|
|
28
|
-
let s = "";
|
|
29
|
-
const i = new Uint8Array(a);
|
|
30
|
-
for (let l = 0; l < i.byteLength; l++)
|
|
31
|
-
s += String.fromCharCode(i[l]);
|
|
32
|
-
const r = typeof btoa == "function" ? btoa(s) : Buffer.from(s, "binary").toString("base64");
|
|
33
|
-
return { hex: u, sri: `sha256-${r}` };
|
|
34
|
-
}
|
|
35
|
-
return { hex: "", sri: "" };
|
|
36
|
-
}
|
|
37
|
-
async function k(t, o, e) {
|
|
38
|
-
if (!o.integrity) return;
|
|
39
|
-
const { hex: n, sri: a } = await F(t), u = o.integrity.trim(), s = a === u, i = n === u || `sha256-${n}` === u;
|
|
40
|
-
if (!s && !i)
|
|
41
|
-
throw new _(e, u, a || n);
|
|
42
|
-
}
|
|
43
|
-
function D(t, o) {
|
|
44
|
-
const e = t.querySelector(
|
|
45
|
-
`style[${M}="${o}"]`
|
|
46
|
-
);
|
|
47
|
-
return e && e.isConnected && t.contains(e) ? e : null;
|
|
48
|
-
}
|
|
49
|
-
function j(t = {}) {
|
|
50
|
-
try {
|
|
51
|
-
return K(t);
|
|
52
|
-
} catch (o) {
|
|
53
|
-
return Promise.reject(o);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
function K(t) {
|
|
57
|
-
var o;
|
|
58
|
-
const e = t.document !== void 0 ? t.document : typeof document < "u" ? document : void 0;
|
|
59
|
-
if (!e)
|
|
60
|
-
return Promise.resolve();
|
|
61
|
-
const n = t.descriptor ?? A, { assetBaseUrl: a, timeoutMs: u = 1e4 } = t;
|
|
62
|
-
if (!n || !n.url || !n.sheetHash || !n.namespace)
|
|
63
|
-
return Promise.reject(
|
|
64
|
-
new Error("Invalid descriptor provided to prepareCoreTokens")
|
|
65
|
-
);
|
|
66
|
-
const s = P(e), i = I(n);
|
|
67
|
-
let r = s.get(i);
|
|
68
|
-
r || (r = { installed: !1 }, s.set(i, r));
|
|
69
|
-
const l = E(e), p = D(e, n.sheetHash);
|
|
70
|
-
if (p) {
|
|
71
|
-
if (r.promise) return r.promise;
|
|
72
|
-
const T = p.textContent || "", h = (async () => {
|
|
73
|
-
try {
|
|
74
|
-
await k(T, n, n.url), r.fulfilledText = T, l.verifiedTexts.set(i, T), r.installed = !0, r.adoptedFromDom = !0;
|
|
75
|
-
} catch (f) {
|
|
76
|
-
throw delete r.fulfilledText, l.verifiedTexts.delete(i), r.installed = !1, r.adoptedFromDom = !1, f;
|
|
77
|
-
}
|
|
78
|
-
})();
|
|
79
|
-
r.promise = h;
|
|
80
|
-
const m = () => {
|
|
81
|
-
r.promise === h && delete r.promise;
|
|
82
|
-
};
|
|
83
|
-
return h.then(m, m), h;
|
|
84
|
-
}
|
|
85
|
-
if (r.installed && r.fulfilledText)
|
|
86
|
-
return y(e, n.sheetHash, r.fulfilledText), Promise.resolve();
|
|
87
|
-
const g = l.verifiedTexts.get(i);
|
|
88
|
-
if (g)
|
|
89
|
-
return y(e, n.sheetHash, g), r.fulfilledText = g, r.installed = !0, Promise.resolve();
|
|
90
|
-
if (r.promise)
|
|
91
|
-
return r.promise;
|
|
92
|
-
let c = n.url;
|
|
93
|
-
a ? c = `${a.replace(/\/$/, "")}/${n.url.replace(/^\//, "")}` : n.url.startsWith("/") && (o = e.location) != null && o.origin && (c = `${e.location.origin}${n.url}`);
|
|
94
|
-
const d = r;
|
|
95
|
-
let $;
|
|
96
|
-
const v = (async () => {
|
|
97
|
-
var T;
|
|
98
|
-
const h = ((T = e.defaultView) == null ? void 0 : T.fetch) || globalThis.fetch;
|
|
99
|
-
if (typeof h != "function")
|
|
100
|
-
throw new b(
|
|
101
|
-
c,
|
|
102
|
-
"fetch is not available in environment"
|
|
103
|
-
);
|
|
104
|
-
const m = typeof AbortController < "u" ? new AbortController() : null;
|
|
105
|
-
m && u > 0 && ($ = setTimeout(() => {
|
|
106
|
-
m.abort();
|
|
107
|
-
}, u));
|
|
108
|
-
try {
|
|
109
|
-
let f;
|
|
110
|
-
try {
|
|
111
|
-
f = await h(c, {
|
|
112
|
-
credentials: "omit",
|
|
113
|
-
signal: m == null ? void 0 : m.signal
|
|
114
|
-
});
|
|
115
|
-
} catch (w) {
|
|
116
|
-
throw (w == null ? void 0 : w.name) === "AbortError" ? new R(c, u) : new b(
|
|
117
|
-
c,
|
|
118
|
-
(w == null ? void 0 : w.message) || String(w)
|
|
119
|
-
);
|
|
120
|
-
}
|
|
121
|
-
if (!f.ok)
|
|
122
|
-
throw new b(
|
|
123
|
-
c,
|
|
124
|
-
`HTTP ${f.status} ${f.statusText}`
|
|
125
|
-
);
|
|
126
|
-
const x = await f.text();
|
|
127
|
-
await k(x, n, c), d.fulfilledText = x, l.verifiedTexts.set(i, x), y(e, n.sheetHash, x), d.installed = !0;
|
|
128
|
-
} catch (f) {
|
|
129
|
-
throw delete d.fulfilledText, l.verifiedTexts.delete(i), d.installed = !1, f;
|
|
130
|
-
} finally {
|
|
131
|
-
$ && clearTimeout($);
|
|
132
|
-
}
|
|
133
|
-
})();
|
|
134
|
-
d.promise = v;
|
|
135
|
-
const H = () => {
|
|
136
|
-
d.promise === v && delete d.promise;
|
|
137
|
-
};
|
|
138
|
-
return v.then(H, H), v;
|
|
139
|
-
}
|
|
140
|
-
function B(t, o = A) {
|
|
141
|
-
const e = t !== void 0 ? t : typeof document < "u" ? document : void 0;
|
|
142
|
-
if (!e)
|
|
143
|
-
return !1;
|
|
144
|
-
const n = E(e), a = I(o), u = P(e), s = u.get(a), i = (s == null ? void 0 : s.fulfilledText) ?? n.verifiedTexts.get(a), r = D(e, o.sheetHash);
|
|
145
|
-
if (r) {
|
|
146
|
-
if (i !== void 0 && r.textContent === i)
|
|
147
|
-
return y(e, o.sheetHash, i), !1;
|
|
148
|
-
throw new S(o.sheetHash);
|
|
149
|
-
}
|
|
150
|
-
if (s != null && s.fulfilledText) {
|
|
151
|
-
const p = y(
|
|
152
|
-
e,
|
|
153
|
-
o.sheetHash,
|
|
154
|
-
s.fulfilledText
|
|
155
|
-
);
|
|
156
|
-
return s.installed = !0, p;
|
|
157
|
-
}
|
|
158
|
-
const l = n.verifiedTexts.get(a);
|
|
159
|
-
if (l) {
|
|
160
|
-
const p = y(
|
|
161
|
-
e,
|
|
162
|
-
o.sheetHash,
|
|
163
|
-
l
|
|
164
|
-
);
|
|
165
|
-
return s ? (s.installed = !0, s.fulfilledText = l) : u.set(a, {
|
|
166
|
-
installed: !0,
|
|
167
|
-
fulfilledText: l
|
|
168
|
-
}), p;
|
|
169
|
-
}
|
|
170
|
-
throw new S(o.sheetHash);
|
|
171
|
-
}
|
|
172
|
-
export {
|
|
173
|
-
C as DELIVERY_LOADER_KEY,
|
|
174
|
-
M as TOKENS_ATTR,
|
|
175
|
-
I as descriptorIdentityKey,
|
|
176
|
-
B as ensureCoreTokensInternal,
|
|
177
|
-
P as getDocumentStateMap,
|
|
178
|
-
E as getRealmRegistry,
|
|
179
|
-
j as prepareCoreTokensInternal
|
|
180
|
-
};
|
|
181
|
-
//# sourceMappingURL=internal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sources":["../../../../../../tokens/dist/delivery/internal.js"],"sourcesContent":["import { ensureSheet as p } from \"@epilot/zenith-runtime/v1\";\nimport { CORE_TOKEN_ASSET as k } from \"../generated/core.meta.generated.js\";\nimport { CoreTokensNotPreparedError as $, CoreTokensFetchError as b, CoreTokensTimeoutError as M, CoreTokensIntegrityError as R } from \"./index.js\";\nconst S = Symbol.for(\n \"@epilot/zenith-delivery:loader:v1\"\n), F = \"data-zenith-tokens\";\nfunction C(n) {\n var e;\n const t = n && n.defaultView || (typeof window < \"u\" ? window : globalThis);\n return (e = t[S]) != null && e.documents || (t[S] = {\n documents: /* @__PURE__ */ new WeakMap(),\n verifiedTexts: /* @__PURE__ */ new Map()\n }), t[S];\n}\nfunction I(n) {\n const t = C(n);\n let e = t.documents.get(n);\n return e || (e = /* @__PURE__ */ new Map(), t.documents.set(n, e)), e;\n}\nfunction P(n) {\n return `${n.namespace}:${n.sheetHash}:${n.url}:${n.integrity}`;\n}\nasync function V(n) {\n var e;\n const t = typeof crypto < \"u\" && crypto.subtle ? crypto.subtle : (e = globalThis.crypto) == null ? void 0 : e.subtle;\n if (t) {\n const s = new TextEncoder().encode(n), l = await t.digest(\"SHA-256\", s), r = Array.from(new Uint8Array(l)).map((i) => i.toString(16).padStart(2, \"0\")).join(\"\");\n let a = \"\";\n const c = new Uint8Array(l);\n for (let i = 0; i < c.byteLength; i++)\n a += String.fromCharCode(c[i]);\n const d = typeof btoa == \"function\" ? btoa(a) : Buffer.from(a, \"binary\").toString(\"base64\");\n return { hex: r, sri: `sha256-${d}` };\n }\n return { hex: \"\", sri: \"\" };\n}\nasync function E(n, t, e) {\n if (!t.integrity) return;\n const { hex: f, sri: s } = await V(n), l = t.integrity.trim(), o = s === l, r = f === l || `sha256-${f}` === l;\n if (!o && !r)\n throw new R(e, l, s || f);\n}\nfunction D(n, t) {\n const e = n.querySelector(\n `style[${F}=\"${t}\"]`\n );\n return e && e.isConnected && n.contains(e) ? e : null;\n}\nfunction B(n = {}) {\n try {\n return _(n);\n } catch (t) {\n return Promise.reject(t);\n }\n}\nfunction _(n) {\n var H;\n const t = n.document !== void 0 ? n.document : typeof document < \"u\" ? document : void 0;\n if (!t)\n return Promise.resolve();\n const e = n.descriptor ?? k, { assetBaseUrl: f, timeoutMs: s = 1e4 } = n;\n if (!e || !e.url || !e.sheetHash || !e.namespace)\n return Promise.reject(\n new Error(\"Invalid descriptor provided to prepareCoreTokens\")\n );\n const l = I(t), o = P(e);\n let r = l.get(o);\n r || (r = { installed: !1 }, l.set(o, r));\n const a = C(t), c = D(t, e.sheetHash);\n if (c) {\n if (r.promise) return r.promise;\n const T = c.textContent || \"\", u = (async () => {\n try {\n await E(T, e, e.url), r.fulfilledText = T, a.verifiedTexts.set(o, T), r.installed = !0, r.adoptedFromDom = !0;\n } catch (h) {\n throw delete r.fulfilledText, a.verifiedTexts.delete(o), r.installed = !1, r.adoptedFromDom = !1, h;\n }\n })();\n r.promise = u;\n const x = () => {\n r.promise === u && delete r.promise;\n };\n return u.then(x, x), u;\n }\n if (r.installed && r.fulfilledText)\n return p(t, e.sheetHash, r.fulfilledText), Promise.resolve();\n const d = a.verifiedTexts.get(o);\n if (d)\n return p(t, e.sheetHash, d), r.fulfilledText = d, r.installed = !0, Promise.resolve();\n if (r.promise)\n return r.promise;\n let i = e.url;\n f ? i = `${f.replace(/\\/$/, \"\")}/${e.url.replace(/^\\//, \"\")}` : e.url.startsWith(\"/\") && ((H = t.location) != null && H.origin) && (i = `${t.location.origin}${e.url}`);\n const m = r;\n let v;\n const w = (async () => {\n var x;\n const T = ((x = t.defaultView) == null ? void 0 : x.fetch) || globalThis.fetch;\n if (typeof T != \"function\")\n throw new b(\n i,\n \"fetch is not available in environment\"\n );\n const u = typeof AbortController < \"u\" ? new AbortController() : null;\n u && s > 0 && (v = setTimeout(() => {\n u.abort();\n }, s));\n try {\n let h;\n try {\n h = await T(i, {\n credentials: \"omit\",\n signal: u == null ? void 0 : u.signal\n });\n } catch (y) {\n throw (y == null ? void 0 : y.name) === \"AbortError\" ? new M(i, s) : new b(\n i,\n (y == null ? void 0 : y.message) || String(y)\n );\n }\n if (!h.ok)\n throw new b(\n i,\n `HTTP ${h.status} ${h.statusText}`\n );\n const g = await h.text();\n await E(g, e, i), m.fulfilledText = g, a.verifiedTexts.set(o, g), p(t, e.sheetHash, g), m.installed = !0;\n } catch (h) {\n throw delete m.fulfilledText, a.verifiedTexts.delete(o), m.installed = !1, h;\n } finally {\n v && clearTimeout(v);\n }\n })();\n m.promise = w;\n const A = () => {\n m.promise === w && delete m.promise;\n };\n return w.then(A, A), w;\n}\nfunction L(n, t = k) {\n const e = n !== void 0 ? n : typeof document < \"u\" ? document : void 0;\n if (!e)\n return !1;\n const f = C(e), s = P(t), l = I(e), o = l.get(s), r = (o == null ? void 0 : o.fulfilledText) ?? f.verifiedTexts.get(s), a = D(e, t.sheetHash);\n if (a) {\n if (r !== void 0 && a.textContent === r)\n return p(e, t.sheetHash, r), !1;\n throw new $(t.sheetHash);\n }\n if (o != null && o.fulfilledText) {\n const d = p(\n e,\n t.sheetHash,\n o.fulfilledText\n );\n return o.installed = !0, d;\n }\n const c = f.verifiedTexts.get(s);\n if (c) {\n const d = p(\n e,\n t.sheetHash,\n c\n );\n return o ? (o.installed = !0, o.fulfilledText = c) : l.set(s, {\n installed: !0,\n fulfilledText: c\n }), d;\n }\n throw new $(t.sheetHash);\n}\nexport {\n S as DELIVERY_LOADER_KEY,\n F as TOKENS_ATTR,\n P as descriptorIdentityKey,\n L as ensureCoreTokensInternal,\n I as getDocumentStateMap,\n C as getRealmRegistry,\n B as prepareCoreTokensInternal\n};\n//# sourceMappingURL=internal.js.map\n"],"names":["S","F","C","n","e","t","I","P","V","s","l","r","i","a","c","d","E","f","o","R","B","_","H","k","u","h","x","p","m","v","w","T","b","y","M","g","A","L","$"],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
const e = {
|
|
2
|
-
url: "/zenith/token-assets/core/5cd4072decf5df2a664f0b1d5f2ec250a3309101ded3056c1f87c8bbe3738d50.css",
|
|
3
|
-
integrity: "sha256-XNQHLez13ypmTwsdXy7CUKMwkQHe0wVsH4fIu+NzjVA=",
|
|
4
|
-
namespace: "ccfa55f882e79499",
|
|
5
|
-
sheetHash: "a779e71d2fb6b1f3"
|
|
6
|
-
};
|
|
7
|
-
export {
|
|
8
|
-
e as CORE_TOKEN_ASSET
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=core.meta.generated.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core.meta.generated.js","sources":["../../../../../../tokens/dist/generated/core.meta.generated.js"],"sourcesContent":["const e = \"ccfa55f882e79499\", c = \"a779e71d2fb6b1f3\", f = {\n url: \"/zenith/token-assets/core/5cd4072decf5df2a664f0b1d5f2ec250a3309101ded3056c1f87c8bbe3738d50.css\",\n integrity: \"sha256-XNQHLez13ypmTwsdXy7CUKMwkQHe0wVsH4fIu+NzjVA=\",\n namespace: \"ccfa55f882e79499\",\n sheetHash: \"a779e71d2fb6b1f3\"\n};\nexport {\n f as CORE_TOKEN_ASSET,\n e as NS,\n c as SHEET_HASH\n};\n//# sourceMappingURL=core.meta.generated.js.map\n"],"names":["f"],"mappings":"AAAK,MAAiDA,IAAI;AAAA,EACxD,KAAK;AAAA,EACL,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AACb;"}
|