@animus-ui/extract 0.1.9 → 0.1.12
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 +48 -1
- package/crates/extract-v2/animus-extract-v2.darwin-arm64.node +0 -0
- package/crates/extract-v2/animus-extract-v2.linux-arm64-gnu.node +0 -0
- package/crates/extract-v2/animus-extract-v2.linux-x64-gnu.node +0 -0
- package/crates/extract-v2/index.d.ts +17 -98
- package/dist/index.cjs +78 -2101
- package/dist/index.mjs +2 -2026
- package/dist/{analyze-project-args.d.ts → pipeline/analyze-project-args.d.ts} +0 -12
- package/dist/pipeline/analyze-project-args.d.ts.map +1 -0
- package/dist/pipeline/assemble-stylesheet.d.ts +23 -0
- package/dist/pipeline/assemble-stylesheet.d.ts.map +1 -0
- package/dist/pipeline/asset-placeholders.d.ts +4 -0
- package/dist/pipeline/asset-placeholders.d.ts.map +1 -0
- package/dist/pipeline/content-hash.d.ts +2 -0
- package/dist/pipeline/content-hash.d.ts.map +1 -0
- package/dist/pipeline/core-options.d.ts +96 -0
- package/dist/pipeline/core-options.d.ts.map +1 -0
- package/dist/pipeline/correlate-external-tokens.d.ts +38 -0
- package/dist/pipeline/correlate-external-tokens.d.ts.map +1 -0
- package/dist/pipeline/discover-files.d.ts +4 -0
- package/dist/pipeline/discover-files.d.ts.map +1 -0
- package/dist/pipeline/discover-packages.d.ts +55 -0
- package/dist/pipeline/discover-packages.d.ts.map +1 -0
- package/dist/pipeline/dynamic-prop-config.d.ts +22 -0
- package/dist/pipeline/dynamic-prop-config.d.ts.map +1 -0
- package/dist/pipeline/engine-adapter.d.ts +63 -0
- package/dist/pipeline/engine-adapter.d.ts.map +1 -0
- package/dist/pipeline/engine-retirement.d.ts +3 -0
- package/dist/pipeline/engine-retirement.d.ts.map +1 -0
- package/dist/pipeline/error-diagnostics.d.ts +8 -0
- package/dist/pipeline/error-diagnostics.d.ts.map +1 -0
- package/dist/{index.d.ts → pipeline/index.d.ts} +16 -6
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline/internal-wire.d.ts +2 -0
- package/dist/pipeline/internal-wire.d.ts.map +1 -0
- package/dist/pipeline/manifest-diagnostics.d.ts +57 -0
- package/dist/pipeline/manifest-diagnostics.d.ts.map +1 -0
- package/dist/pipeline/manifest-schema.d.ts +117 -0
- package/dist/pipeline/manifest-schema.d.ts.map +1 -0
- package/dist/pipeline/mdx-preprocessor.d.ts +25 -0
- package/dist/pipeline/mdx-preprocessor.d.ts.map +1 -0
- package/dist/pipeline/path-aliases.d.ts +15 -0
- package/dist/pipeline/path-aliases.d.ts.map +1 -0
- package/dist/{post-process-css.d.ts → pipeline/post-process-css.d.ts} +0 -8
- package/dist/pipeline/post-process-css.d.ts.map +1 -0
- package/dist/pipeline/prefix.d.ts +8 -0
- package/dist/pipeline/prefix.d.ts.map +1 -0
- package/dist/pipeline/replacement-plans.d.ts +22 -0
- package/dist/pipeline/replacement-plans.d.ts.map +1 -0
- package/dist/pipeline/resolve-asset.d.ts +11 -0
- package/dist/pipeline/resolve-asset.d.ts.map +1 -0
- package/dist/pipeline/run-analysis.d.ts +62 -0
- package/dist/pipeline/run-analysis.d.ts.map +1 -0
- package/dist/pipeline/source-corpus.d.ts +25 -0
- package/dist/pipeline/source-corpus.d.ts.map +1 -0
- package/dist/pipeline/source-identity.d.ts +63 -0
- package/dist/pipeline/source-identity.d.ts.map +1 -0
- package/dist/pipeline/source-ingestion.d.ts +168 -0
- package/dist/pipeline/source-ingestion.d.ts.map +1 -0
- package/dist/pipeline/static-css.d.ts +16 -0
- package/dist/pipeline/static-css.d.ts.map +1 -0
- package/dist/pipeline/structural-self-check.d.ts +12 -0
- package/dist/pipeline/structural-self-check.d.ts.map +1 -0
- package/dist/pipeline/svelte-source-adapter.d.ts +81 -0
- package/dist/pipeline/svelte-source-adapter.d.ts.map +1 -0
- package/dist/pipeline/system-config.d.ts +40 -0
- package/dist/pipeline/system-config.d.ts.map +1 -0
- package/dist/pipeline/system-props-module.d.ts +8 -0
- package/dist/pipeline/system-props-module.d.ts.map +1 -0
- package/dist/pipeline/timing-waterfall.d.ts +6 -0
- package/dist/pipeline/timing-waterfall.d.ts.map +1 -0
- package/dist/pipeline/tsconfig-paths.d.ts +7 -0
- package/dist/pipeline/tsconfig-paths.d.ts.map +1 -0
- package/dist/pipeline/unit-fallback.d.ts +2 -0
- package/dist/pipeline/unit-fallback.d.ts.map +1 -0
- package/dist/pipeline/utils.d.ts +3 -0
- package/dist/pipeline/utils.d.ts.map +1 -0
- package/dist/pipeline/watch-keys.d.ts +2 -0
- package/dist/pipeline/watch-keys.d.ts.map +1 -0
- package/dist/pipeline-DeEENy5C.mjs +2905 -0
- package/dist/pipeline-x1yBZ2UP.cjs +3386 -0
- package/dist/session/extraction-session.d.ts +240 -0
- package/dist/session/extraction-session.d.ts.map +1 -0
- package/dist/session/index.d.ts +10 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/published-set.d.ts +52 -0
- package/dist/session/published-set.d.ts.map +1 -0
- package/dist/session/resolve-packages.d.ts +7 -0
- package/dist/session/resolve-packages.d.ts.map +1 -0
- package/dist/session/session-paths.d.ts +97 -0
- package/dist/session/session-paths.d.ts.map +1 -0
- package/dist/session/singleton.d.ts +85 -0
- package/dist/session/singleton.d.ts.map +1 -0
- package/dist/session/timing.d.ts +2 -0
- package/dist/session/timing.d.ts.map +1 -0
- package/dist/session/turbopack-orchestrator.d.ts +27 -0
- package/dist/session/turbopack-orchestrator.d.ts.map +1 -0
- package/dist/session.cjs +1999 -0
- package/dist/session.mjs +1955 -0
- package/index-v2.js +0 -9
- package/package.json +22 -9
- package/dist/analyze-project-args.d.ts.map +0 -1
- package/dist/assemble-stylesheet.d.ts +0 -58
- package/dist/assemble-stylesheet.d.ts.map +0 -1
- package/dist/asset-placeholders.d.ts +0 -29
- package/dist/asset-placeholders.d.ts.map +0 -1
- package/dist/content-hash.d.ts +0 -9
- package/dist/content-hash.d.ts.map +0 -1
- package/dist/correlate-external-tokens.d.ts +0 -46
- package/dist/correlate-external-tokens.d.ts.map +0 -1
- package/dist/discover-files.d.ts +0 -10
- package/dist/discover-files.d.ts.map +0 -1
- package/dist/discover-packages.d.ts +0 -192
- package/dist/discover-packages.d.ts.map +0 -1
- package/dist/dynamic-prop-config.d.ts +0 -37
- package/dist/dynamic-prop-config.d.ts.map +0 -1
- package/dist/engine-adapter.d.ts +0 -97
- package/dist/engine-adapter.d.ts.map +0 -1
- package/dist/engine-retirement.d.ts +0 -22
- package/dist/engine-retirement.d.ts.map +0 -1
- package/dist/error-diagnostics.d.ts +0 -32
- package/dist/error-diagnostics.d.ts.map +0 -1
- package/dist/external-keyframes.d.ts +0 -23
- package/dist/external-keyframes.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/manifest-diagnostics.d.ts +0 -62
- package/dist/manifest-diagnostics.d.ts.map +0 -1
- package/dist/mdx-preprocessor.d.ts +0 -39
- package/dist/mdx-preprocessor.d.ts.map +0 -1
- package/dist/path-aliases.d.ts +0 -34
- package/dist/path-aliases.d.ts.map +0 -1
- package/dist/post-process-css.d.ts.map +0 -1
- package/dist/prefix.d.ts +0 -15
- package/dist/prefix.d.ts.map +0 -1
- package/dist/replacement-plans.d.ts +0 -46
- package/dist/replacement-plans.d.ts.map +0 -1
- package/dist/resolve-asset.d.ts +0 -14
- package/dist/resolve-asset.d.ts.map +0 -1
- package/dist/run-analysis.d.ts +0 -74
- package/dist/run-analysis.d.ts.map +0 -1
- package/dist/source-identity.d.ts +0 -93
- package/dist/source-identity.d.ts.map +0 -1
- package/dist/static-css.d.ts +0 -25
- package/dist/static-css.d.ts.map +0 -1
- package/dist/system-config.d.ts +0 -57
- package/dist/system-config.d.ts.map +0 -1
- package/dist/system-props-module.d.ts +0 -22
- package/dist/system-props-module.d.ts.map +0 -1
- package/dist/timing-waterfall.d.ts +0 -17
- package/dist/timing-waterfall.d.ts.map +0 -1
- package/dist/tsconfig-paths.d.ts +0 -8
- package/dist/tsconfig-paths.d.ts.map +0 -1
- package/dist/unit-fallback.d.ts +0 -7
- package/dist/unit-fallback.d.ts.map +0 -1
- package/dist/utils.d.ts +0 -3
- package/dist/utils.d.ts.map +0 -1
- package/dist/watch-keys.d.ts +0 -12
- package/dist/watch-keys.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Rust/NAPI static CSS extraction pipeline for Animus. Analyzes TypeScript source files using OXC, resolves builder chains against serialized system config, and emits layered CSS.
|
|
4
4
|
|
|
5
|
-
This package is consumed by [`@animus-ui/vite-plugin`](../vite-plugin)
|
|
5
|
+
This package is the shared home of extraction: the `./session` subpath exports the one `ExtractionSession` that every driver drives, and `./pipeline` exports the shared config/option core. It is consumed by [`@animus-ui/vite-plugin`](../vite-plugin), [`@animus-ui/next-plugin`](../next-plugin), the [`@animus-ui/unplugin`](../unplugin) transform host, and the [`animus` CLI](../cli). You typically don't install it directly — the drivers depend on it. For the consumer-facing contract of the standalone drivers (module ids, artifact set, exit codes), see the [standalone extraction contract](https://github.com/codecaaron/animus/blob/main/docs/standalone-extraction.md).
|
|
6
6
|
|
|
7
7
|
## Platforms
|
|
8
8
|
|
|
@@ -31,6 +31,53 @@ const manifest = engine.analyze(fileEntriesJson);
|
|
|
31
31
|
const { code, hasComponents } = JSON.parse(engine.transformFile(path));
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
+
### Source corpus
|
|
35
|
+
|
|
36
|
+
Every driver (the Vite plugin, the extraction session behind the Next
|
|
37
|
+
plugin, the CLI, and unplugin) analyzes one source corpus, owned by
|
|
38
|
+
`createSourceCorpus` in `@animus-ui/extract/pipeline` (`prepare` →
|
|
39
|
+
analyze → `publish`; `published` is the parser-ready projection of the last
|
|
40
|
+
successful pass — see the module's own doc comments for the contract).
|
|
41
|
+
|
|
42
|
+
The Vite plugin and the extraction session are two drivers, not one driver
|
|
43
|
+
holding a copy of the other: the session publishes artifacts to disk for
|
|
44
|
+
cross-process readers, the Vite context answers virtual modules from memory.
|
|
45
|
+
The raw file cache stays with each driver: the Vite context mutates its
|
|
46
|
+
cache incrementally under its analysis lock, the session rebinds its cache
|
|
47
|
+
wholesale on publish. The ingestion policy point (`createSourceIngestor`) is
|
|
48
|
+
not exported from the pipeline barrel; its one production call site is
|
|
49
|
+
inside the corpus, asserted by `tests/source-corpus.test.ts`.
|
|
50
|
+
|
|
51
|
+
## Driver and host obligations
|
|
52
|
+
|
|
53
|
+
Obligations a driver or host carries that no exported type expresses.
|
|
54
|
+
|
|
55
|
+
### Hosts and sessions
|
|
56
|
+
|
|
57
|
+
- `onExternalRootResolved` fires for each admitted root during collection, before that root is walked, so a watching host can open its handle with no blind gap between scan and watch. `onExternalRootsCommitted` fires once after a successful publication with the complete admitted root set; a failed pipeline never fires it, so the host rolls back whatever it opened.
|
|
58
|
+
- Every host projects ownership at the same point — after ingestion and before the analysis result is enforced — so that two hosts cannot raise different diagnostics for the same external package. An original that leaves the corpus takes its projected children with it, so no owner outlives the file it described.
|
|
59
|
+
- Integrations consume the published replacement epoch rather than deriving their own; pass the served system-props artifact's content as `servedDependencyWitness` so an offline change to that artifact moves the epoch and invalidates persistent-cache snapshots referencing the old one. Absence and an empty string are distinct witness values.
|
|
60
|
+
|
|
61
|
+
### Ingestion
|
|
62
|
+
|
|
63
|
+
- A payload that is not a corpus throws, naming the refusing reader, because an empty corpus is indistinguishable from "no files" and would publish an empty stylesheet. Callers with their own documented failure channel translate the throw into it; none may swallow it.
|
|
64
|
+
- Keyframes collections are keyed by export name, and a `name.property` reference resolves against whatever local name binds that collection. The binding may arrive either through a cross-file import or through an export in the same file.
|
|
65
|
+
|
|
66
|
+
### Options
|
|
67
|
+
|
|
68
|
+
- The `exclude` dialect — globs versus substrings, and the structural exclusions that always apply and cannot be re-admitted — is defined in the [standalone extraction contract](https://github.com/codecaaron/animus/blob/main/docs/standalone-extraction.md#changed-plugin-behavior-release-notes-callout), which every driver shares.
|
|
69
|
+
|
|
70
|
+
### Assets
|
|
71
|
+
|
|
72
|
+
- Asset copies are content-addressed and never overwritten, so a revised asset leaves its previous revision in `assets/` until pruning removes it. Choose `staleAssetPruning: 'full-pipeline'` when the driver serves the directory in place (an already-loaded page still requests the old url) and `'every-cycle'` when it republishes the whole directory each cycle.
|
|
73
|
+
- Asset urls are emitted relative to the session's `styles.css`, which sits beside `assets/`, so the host's own CSS pipeline applies its publicPath and output hashing to them. A specifier that cannot be substituted warns and is emitted literally, and fails the build in strict mode.
|
|
74
|
+
|
|
75
|
+
### Engine
|
|
76
|
+
|
|
77
|
+
- `transformSourcesJson` is the only channel for transforms that ship inside an installed package: `configJson` names each prop's transform but cannot carry its body, and the extractor's other seed is `createTransform()` calls parsed out of project files. Without it, props using a package-shipped transform emit the raw value.
|
|
78
|
+
- In dev mode the manifest reports what reconciliation would have eliminated instead of eliminating it, as `report.eliminated_details` entries carrying `kind: "prospective_component"`. That turns a JSX-scanner blind spot into an authoring-time diagnostic rather than missing CSS in a production build.
|
|
79
|
+
- `build:extract-v2` checks rustc against `rust-toolchain.toml` before building the shipped binary; `build:v2:debug` skips the check on purpose because it builds a developer-profile binary.
|
|
80
|
+
|
|
34
81
|
## License
|
|
35
82
|
|
|
36
83
|
MIT
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -2,116 +2,46 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export declare class ExtractEngine {
|
|
4
4
|
constructor(options?: EngineOptions | undefined | null)
|
|
5
|
-
/**
|
|
6
|
-
* Parse-once fact extraction over the file set; facts and sources are
|
|
7
|
-
* RETAINED on the handle for subsequent per-file calls. Returns the
|
|
8
|
-
* fact manifest (files + parseCount) as JSON.
|
|
9
|
-
*/
|
|
10
5
|
analyze(fileEntriesJson: string): string
|
|
11
|
-
/** Reset all retained build state. */
|
|
12
6
|
clearCache(): void
|
|
13
7
|
get parseCount(): number
|
|
14
|
-
/**
|
|
15
|
-
* Per-file transformation from retained source + facts (no-config
|
|
16
|
-
* subset: variants/compounds/states; system/custom payloads need the
|
|
17
|
-
* row-07 config inputs and FAIL LOUD). Returns {code, hasComponents}
|
|
18
|
-
* JSON. Import decisions come from surviving chain/payload metadata;
|
|
19
|
-
* consumed-import stripping and directive handling are the ported v1
|
|
20
|
-
* semantics.
|
|
21
|
-
*/
|
|
22
8
|
transformFile(path: string): string
|
|
23
9
|
}
|
|
24
10
|
|
|
25
11
|
/**
|
|
26
|
-
* Chain discovery over a file set: parse
|
|
27
|
-
*
|
|
28
|
-
* consumed by the parity comparison tooling.
|
|
12
|
+
* Chain discovery over a file set: one parse per file, then one walk per
|
|
13
|
+
* stored AST.
|
|
29
14
|
*/
|
|
30
15
|
export declare function discoverChains(fileEntriesJson: string): string
|
|
31
16
|
|
|
32
|
-
/**
|
|
33
|
-
* Engine options (row 07 Task 07.3 — replaces the RF-53 hardcodes).
|
|
34
|
-
* All fields optional; absent = v1 defaults.
|
|
35
|
-
*/
|
|
36
17
|
export interface EngineOptions {
|
|
37
|
-
/** Class-identity prefix (v1 default "animus"). */
|
|
38
18
|
prefix?: string
|
|
39
|
-
/** Runtime import source (v1 default "@animus-ui/system"). */
|
|
40
19
|
runtimeImport?: string
|
|
41
|
-
/** CSS virtual module id (v1 default "virtual:animus/styles.css"). */
|
|
42
20
|
cssModuleId?: string
|
|
43
|
-
/**
|
|
44
|
-
* System-props virtual module id (v1 EmitterConfig default
|
|
45
|
-
* "virtual:animus/system-props").
|
|
46
|
-
*/
|
|
47
21
|
systemPropsModuleId?: string
|
|
48
|
-
/** Flat theme scales JSON (v1 analyzeProject `theme_json`). */
|
|
49
22
|
themeJson?: string
|
|
50
|
-
/** Token-alias variable map JSON (v1 `variable_map_json`). */
|
|
51
23
|
variableMapJson?: string
|
|
52
|
-
/** Contextual vars JSON (v1 `contextual_vars_json`). */
|
|
53
24
|
contextualVarsJson?: string
|
|
54
|
-
/** Prop config map JSON (v1 `config_json`). */
|
|
55
25
|
configJson?: string
|
|
56
|
-
/** Group registry JSON (v1 `group_registry_json`). */
|
|
57
26
|
groupRegistryJson?: string
|
|
58
|
-
/**
|
|
59
|
-
* Transform source texts (`{ transformName: sourceText }` JSON) from the
|
|
60
|
-
* system evaluation. `config_json` names each prop's transform but cannot
|
|
61
|
-
* carry its body, and the extractor's other seed is `createTransform()`
|
|
62
|
-
* calls parsed out of project files — so without this, transforms shipped
|
|
63
|
-
* inside a package are unresolvable at build time and their props fall
|
|
64
|
-
* back to the raw value.
|
|
65
|
-
*/
|
|
66
27
|
transformSourcesJson?: string
|
|
67
|
-
/** Selector aliases JSON (v1 `selector_aliases_json`). */
|
|
68
28
|
selectorAliasesJson?: string
|
|
69
|
-
/**
|
|
70
|
-
* Condition aliases JSON (the `conditionAliases` manifest field):
|
|
71
|
-
* `{ "_motionReduce": { "value": "@media …", "order": 500, "kind":
|
|
72
|
-
* "media" } }`. Absent = no registrations.
|
|
73
|
-
*/
|
|
74
29
|
conditionAliasesJson?: string
|
|
75
|
-
/** Global style blocks JSON (v1 `global_style_blocks_json`). */
|
|
76
30
|
globalStyleBlocksJson?: string
|
|
77
|
-
/**
|
|
78
|
-
* Keyframes blocks JSON (v1 `keyframes_blocks_json` — feeds BOTH the
|
|
79
|
-
* global sheet and the static keyframes registry, v1 Phase 2a).
|
|
80
|
-
*/
|
|
81
31
|
keyframesJson?: string
|
|
82
|
-
/** Package resolution JSON (v1 `package_resolution_json`). */
|
|
83
32
|
packageResolutionJson?: string
|
|
84
|
-
/** Path aliases JSON (`{aliases: [...]}` wrapper, v1 shape). */
|
|
85
33
|
pathAliasesJson?: string
|
|
86
|
-
/**
|
|
87
|
-
* Forced-emission declarations (spec: static-emission-overrides) —
|
|
88
|
-
* the serialized `staticCss` plugin option.
|
|
89
|
-
*/
|
|
90
34
|
staticCssJson?: string
|
|
91
|
-
/**
|
|
92
|
-
* rootDir-relative directory prefixes of discovered external packages
|
|
93
|
-
* (JSON string array). Files under these dirs get the external-token
|
|
94
|
-
* candidate walk (extraction-diagnostics: cross-source correlation);
|
|
95
|
-
* absent = no candidates recorded.
|
|
96
|
-
*/
|
|
97
35
|
externalDirsJson?: string
|
|
98
|
-
/** v1 `dev_mode`: retain all components (skip reconciliation pruning). */
|
|
99
36
|
devMode?: boolean
|
|
100
37
|
}
|
|
101
38
|
|
|
102
|
-
/**
|
|
103
|
-
* Build/probe identity: proves the v2 binary loads and its oxc linkage
|
|
104
|
-
* parses. Consumed by the dual-build verification and the parity harness
|
|
105
|
-
* engine registry.
|
|
106
|
-
*/
|
|
39
|
+
/** Probe identity: proves the binary loads and its oxc linkage parses. */
|
|
107
40
|
export declare function engineVersion(): string
|
|
108
41
|
|
|
109
42
|
/**
|
|
110
|
-
* Full per-file fact extraction
|
|
111
|
-
*
|
|
112
|
-
* file. The store (and every AST) is dropped when this call returns; the
|
|
113
|
-
* invariant is that no program() read happens after
|
|
114
|
-
* cross-file facts resolve.
|
|
43
|
+
* Full per-file fact extraction, one parse per file. The store and its
|
|
44
|
+
* ASTs drop on return: no `program()` read survives cross-file resolve.
|
|
115
45
|
*/
|
|
116
46
|
export declare function extractFacts(fileEntriesJson: string): string
|
|
117
47
|
|
|
@@ -128,40 +58,29 @@ export interface NapiSystemConfig {
|
|
|
128
58
|
selectorOrder?: string
|
|
129
59
|
/**
|
|
130
60
|
* Condition alias map JSON (the `conditionAliases` manifest field):
|
|
131
|
-
* alias → `{ value, order, kind }`. Absent when
|
|
61
|
+
* alias → `{ value, order, kind }`. Absent when none are registered.
|
|
132
62
|
*/
|
|
133
63
|
conditionAliases?: string
|
|
134
64
|
/**
|
|
135
|
-
* Transform source texts (`{ transformName: sourceText }` JSON)
|
|
136
|
-
*
|
|
137
|
-
* inside a package reach the build-time evaluator. Absent against a system
|
|
138
|
-
* built by an older @animus-ui/system.
|
|
65
|
+
* Transform source texts (`{ transformName: sourceText }` JSON): the
|
|
66
|
+
* only channel by which transforms shipped in a package reach evaluation.
|
|
139
67
|
*/
|
|
140
68
|
transformSources?: string
|
|
141
69
|
globalStyleBlocks?: string
|
|
142
70
|
keyframesBlocks?: string
|
|
143
71
|
/**
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
|
|
72
|
+
* Vocabulary witnesses as a JSON array of coded entries; hosts surface
|
|
73
|
+
* each as a diagnostic keyed by its `code`. Absent when there are none.
|
|
74
|
+
*/
|
|
75
|
+
vocabularyWitnesses?: string
|
|
76
|
+
/**
|
|
77
|
+
* Canonical absolute paths of every module evaluated for the system,
|
|
78
|
+
* sorted; the entry is included, runtime stubs are not.
|
|
147
79
|
*/
|
|
148
80
|
dependencies: Array<string>
|
|
149
81
|
/**
|
|
150
|
-
* Per-module built-theme token manifests
|
|
151
|
-
*
|
|
152
|
-
* witness for the cross-source correlation diagnostic. Absent when no
|
|
153
|
-
* evaluated module exports a built theme.
|
|
82
|
+
* Per-module built-theme token manifests, shaped
|
|
83
|
+
* `{ modulePath: { exportName: [token paths] } }`. Absent when none exist.
|
|
154
84
|
*/
|
|
155
85
|
sourceThemeManifests?: string
|
|
156
86
|
}
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* Scan one module entry for named `Keyframes` collection exports — the
|
|
160
|
-
* keyframes-only carve-out for external package entries. The
|
|
161
|
-
* entry evaluates through the same loader pipeline as a system module, but
|
|
162
|
-
* nothing except `__brand === 'Keyframes'` exports is read from it; the
|
|
163
|
-
* consumer's configured system remains the singular config authority.
|
|
164
|
-
* Returns the `{ exportName: { keyName: { name, frames } } }` JSON, or None
|
|
165
|
-
* when the entry exports no collections.
|
|
166
|
-
*/
|
|
167
|
-
export declare function scanKeyframesExports(entryPath: string, rootDir: string): string | null
|