@animus-ui/extract 0.1.25 → 0.1.27
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/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 +101 -6
- package/dist/index.cjs +48 -5
- package/dist/index.mjs +2 -2
- package/dist/pipeline/alias-agreement.d.ts +107 -0
- package/dist/pipeline/alias-agreement.d.ts.map +1 -0
- package/dist/pipeline/analyze-project-args.d.ts +7 -2
- package/dist/pipeline/analyze-project-args.d.ts.map +1 -1
- package/dist/pipeline/asset-copies.d.ts +20 -0
- package/dist/pipeline/asset-copies.d.ts.map +1 -0
- package/dist/pipeline/built-in-asset-types.d.ts +9 -0
- package/dist/pipeline/built-in-asset-types.d.ts.map +1 -0
- package/dist/pipeline/core-options.d.ts +36 -7
- package/dist/pipeline/core-options.d.ts.map +1 -1
- package/dist/pipeline/discover-packages.d.ts +98 -12
- package/dist/pipeline/discover-packages.d.ts.map +1 -1
- package/dist/pipeline/engine-adapter.d.ts +41 -3
- package/dist/pipeline/engine-adapter.d.ts.map +1 -1
- package/dist/pipeline/engine-retirement.d.ts +7 -1
- package/dist/pipeline/engine-retirement.d.ts.map +1 -1
- package/dist/pipeline/extension-policy.d.ts +95 -0
- package/dist/pipeline/extension-policy.d.ts.map +1 -0
- package/dist/pipeline/host-assets.d.ts +32 -0
- package/dist/pipeline/host-assets.d.ts.map +1 -0
- package/dist/pipeline/host-expansions.d.ts +92 -0
- package/dist/pipeline/host-expansions.d.ts.map +1 -0
- package/dist/pipeline/host-extensions.d.ts +64 -0
- package/dist/pipeline/host-extensions.d.ts.map +1 -0
- package/dist/pipeline/host-package-resolver.d.ts +40 -0
- package/dist/pipeline/host-package-resolver.d.ts.map +1 -0
- package/dist/pipeline/index.d.ts +32 -8
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/kit-publication.d.ts.map +1 -1
- package/dist/pipeline/manifest-diagnostics.d.ts +25 -4
- package/dist/pipeline/manifest-diagnostics.d.ts.map +1 -1
- package/dist/pipeline/manifest-schema.d.ts +16 -0
- package/dist/pipeline/manifest-schema.d.ts.map +1 -1
- package/dist/pipeline/output-targets.d.ts +52 -0
- package/dist/pipeline/output-targets.d.ts.map +1 -0
- package/dist/pipeline/probe-evidence.d.ts +61 -0
- package/dist/pipeline/probe-evidence.d.ts.map +1 -0
- package/dist/pipeline/registry-packages.d.ts +27 -0
- package/dist/pipeline/registry-packages.d.ts.map +1 -0
- package/dist/pipeline/run-analysis.d.ts +26 -0
- package/dist/pipeline/run-analysis.d.ts.map +1 -1
- package/dist/pipeline/runtime-import.d.ts +10 -0
- package/dist/pipeline/runtime-import.d.ts.map +1 -0
- package/dist/pipeline/served-files.d.ts +16 -0
- package/dist/pipeline/served-files.d.ts.map +1 -0
- package/dist/pipeline/source-corpus.d.ts +4 -0
- package/dist/pipeline/source-corpus.d.ts.map +1 -1
- package/dist/pipeline/source-ingestion.d.ts +37 -5
- package/dist/pipeline/source-ingestion.d.ts.map +1 -1
- package/dist/pipeline/system-config.d.ts +18 -0
- package/dist/pipeline/system-config.d.ts.map +1 -1
- package/dist/pipeline/system-instances.d.ts +27 -0
- package/dist/pipeline/system-instances.d.ts.map +1 -0
- package/dist/pipeline/tsconfig-paths.d.ts +4 -0
- package/dist/pipeline/tsconfig-paths.d.ts.map +1 -1
- package/dist/pipeline/vite-expansions.d.ts +40 -0
- package/dist/pipeline/vite-expansions.d.ts.map +1 -0
- package/dist/pipeline/webpack-expansions.d.ts +55 -0
- package/dist/pipeline/webpack-expansions.d.ts.map +1 -0
- package/dist/pipeline/workspace-packages.d.ts +13 -0
- package/dist/pipeline/workspace-packages.d.ts.map +1 -0
- package/dist/{pipeline-YGWpNr_Z.mjs → pipeline-C0AcBXuQ.mjs} +4244 -2595
- package/dist/{pipeline-DOgKR4VZ.cjs → pipeline-CPSPw522.cjs} +4562 -2637
- package/dist/session/coalescing-window.d.ts +34 -0
- package/dist/session/coalescing-window.d.ts.map +1 -0
- package/dist/session/environment-builds.d.ts +26 -0
- package/dist/session/environment-builds.d.ts.map +1 -0
- package/dist/session/extraction-session.d.ts +338 -38
- package/dist/session/extraction-session.d.ts.map +1 -1
- package/dist/session/index.d.ts +9 -3
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/published-set.d.ts +6 -1
- package/dist/session/published-set.d.ts.map +1 -1
- package/dist/session/resolve-packages.d.ts +9 -5
- package/dist/session/resolve-packages.d.ts.map +1 -1
- package/dist/session/singleton.d.ts +216 -54
- package/dist/session/singleton.d.ts.map +1 -1
- package/dist/session/turbopack-orchestrator.d.ts.map +1 -1
- package/dist/session.cjs +1539 -525
- package/dist/session.mjs +1505 -504
- package/package.json +4 -4
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one coalescing window (SA19). It opens on the first pending event and
|
|
3
|
+
* fires a fixed interval later: a later event joins the open window and never
|
|
4
|
+
* pushes it back, so a steady stream of edits cannot starve the work it
|
|
5
|
+
* coalesces. Builds, startup and explicit flushes bypass it through `flush`.
|
|
6
|
+
* Hosts add no timers of their own.
|
|
7
|
+
*/
|
|
8
|
+
export declare const COALESCING_WINDOW_MS = 75;
|
|
9
|
+
export type WindowTimer = ReturnType<typeof setTimeout> | number;
|
|
10
|
+
/** The timer seam: tests drive a manual clock, since `vi.mock` on node
|
|
11
|
+
* builtins silently no-ops under vite-plus-test. */
|
|
12
|
+
export interface WindowClock {
|
|
13
|
+
schedule(fn: () => void | Promise<void>, ms: number): WindowTimer;
|
|
14
|
+
cancel(timer: WindowTimer): void;
|
|
15
|
+
}
|
|
16
|
+
export declare class CoalescingWindow {
|
|
17
|
+
/** A returned promise is the window's work; the clock hands it to its
|
|
18
|
+
* caller and nothing awaits it in production. */
|
|
19
|
+
private readonly fire;
|
|
20
|
+
private readonly windowMs;
|
|
21
|
+
private readonly clock;
|
|
22
|
+
private timer;
|
|
23
|
+
constructor(
|
|
24
|
+
/** A returned promise is the window's work; the clock hands it to its
|
|
25
|
+
* caller and nothing awaits it in production. */
|
|
26
|
+
fire: () => void | Promise<void>, windowMs?: number, clock?: WindowClock);
|
|
27
|
+
/** A pending event: opens the window, or joins the open one. */
|
|
28
|
+
note(): void;
|
|
29
|
+
/** Fires now, closing any open window: the bypass. */
|
|
30
|
+
flush(): void | Promise<void>;
|
|
31
|
+
/** Closes an open window without firing it. */
|
|
32
|
+
cancel(): void;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=coalescing-window.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coalescing-window.d.ts","sourceRoot":"","sources":["../../session/coalescing-window.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,MAAM,CAAC;AAEjE;qDACqD;AACrD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,CAAC;IAClE,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CAClC;AAYD,qBAAa,gBAAgB;IAIzB;sDACkD;IAClD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAPxB,OAAO,CAAC,KAAK,CAA4B;IAEzC;IACE;sDACkD;IACjC,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAChC,QAAQ,SAAuB,EAC/B,KAAK,GAAE,WAA0B,EAChD;IAEJ,gEAAgE;IAChE,IAAI,IAAI,IAAI,CAMX;IAED,sDAAsD;IACtD,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5B;IAED,+CAA+C;IAC/C,MAAM,IAAI,IAAI,CAIb;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** One environment's build, as a host hands it to a hook: the object is its
|
|
2
|
+
* identity, the name its key. */
|
|
3
|
+
export interface BuildingEnvironment {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Each environment build that started and has not ended, by name. A host
|
|
8
|
+
* that builds a shared plugin's environments in parallel (a Vite `buildApp`)
|
|
9
|
+
* shares one build among them, retired by the last to end. A build under a
|
|
10
|
+
* name whose build is open (a reused builder, or a second environment under
|
|
11
|
+
* one name) waits for that build's end, so each build ends only its own
|
|
12
|
+
* generation, once.
|
|
13
|
+
*/
|
|
14
|
+
export declare class EnvironmentBuilds {
|
|
15
|
+
/** What a host without environments builds as. */
|
|
16
|
+
readonly single: BuildingEnvironment;
|
|
17
|
+
private readonly builds;
|
|
18
|
+
/** Opens `environment`'s build once no build under its name is open;
|
|
19
|
+
* whether another environment's build is open beside it. */
|
|
20
|
+
open(environment: BuildingEnvironment): Promise<boolean>;
|
|
21
|
+
/** Ends `environment`'s build if this environment opened it; whether that
|
|
22
|
+
* left none open. A host can end an environment it never opened (a dev
|
|
23
|
+
* server ends every environment, started or not), which ends nothing. */
|
|
24
|
+
end(environment: BuildingEnvironment): boolean;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=environment-builds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-builds.d.ts","sourceRoot":"","sources":["../../session/environment-builds.ts"],"names":[],"mappings":"AAAA;kCACkC;AAClC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AASD;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAqB;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD;iEAC6D;IACvD,IAAI,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAY7D;IAED;;8EAE0E;IAC1E,GAAG,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAM7C;CACF"}
|
|
@@ -1,41 +1,163 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PackageReadRecord } from '../pipeline/alias-agreement';
|
|
2
|
+
import type { AnimusCoreOptions, ExternalPackageOutcome, HostAssetClassification, HostExtensionPolicy, HostLoadExpander, KitDescriptorRecord } from '../pipeline/index';
|
|
3
|
+
import type { SessionKey } from './singleton';
|
|
2
4
|
export type SessionOptions = AnimusCoreOptions;
|
|
3
5
|
/** What the hosting bundler does, which the user does not configure. */
|
|
4
6
|
export interface SessionHost {
|
|
7
|
+
/** The build this session takes part in, created once by the owning host
|
|
8
|
+
* wrapper and passed to every participant and worker. Omitted, the
|
|
9
|
+
* session is a build of its own. */
|
|
10
|
+
build?: string;
|
|
5
11
|
/** The bundler leaves an `import(expr)` it cannot read unbundled
|
|
6
12
|
* (Rollup, Vite, Turbopack), so the load reaches no analysed module.
|
|
7
13
|
* Omitted, it reaches the importer's directory, as a webpack context
|
|
8
14
|
* does. */
|
|
9
15
|
unbundledComputedImports?: boolean;
|
|
16
|
+
/** The engine this session's build uses; omitted, the build's handle in
|
|
17
|
+
* the shared engine store. A host with its own engine (a test, or a
|
|
18
|
+
* host that owns the handle) supplies it. */
|
|
19
|
+
engine?: () => EngineApi;
|
|
20
|
+
/** Where the session's lines go; omitted, the console. Each line already
|
|
21
|
+
* carries its `[animus]` mark. */
|
|
22
|
+
logger?: SessionLogger;
|
|
23
|
+
/** The session's output feeds no bundler (the CLI), so its path aliases
|
|
24
|
+
* have no host answer to agree with (spec §2.2 A7). */
|
|
25
|
+
noBundler?: boolean;
|
|
10
26
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
27
|
+
/** A host's sink for the session's human-facing lines. */
|
|
28
|
+
export interface SessionLogger {
|
|
29
|
+
info(line: string): void;
|
|
30
|
+
warn(line: string): void;
|
|
31
|
+
error(line: string): void;
|
|
32
|
+
}
|
|
33
|
+
import type { ExcludeMatcher, HostResolve } from '../pipeline/index';
|
|
34
|
+
import type { EngineApi, ProjectManifest, SourceCorpus, SourceEntryOwnership, SystemConfig } from '../pipeline/index';
|
|
15
35
|
export interface WatchChanges {
|
|
16
36
|
modifiedFiles?: ReadonlySet<string>;
|
|
17
37
|
removedFiles?: ReadonlySet<string>;
|
|
38
|
+
/** Bytes the host already read for some modified files, by path, read in
|
|
39
|
+
* place of the disk: a host that settles an atomic save hands over the
|
|
40
|
+
* settled text while the file on disk may still be empty. */
|
|
41
|
+
sources?: ReadonlyMap<string, string>;
|
|
42
|
+
}
|
|
43
|
+
/** The session's own system-props file, imported by absolute path: what a
|
|
44
|
+
* host that serves no system-props module (the CLI) delivers. */
|
|
45
|
+
export declare const SESSION_ARTIFACT: unique symbol;
|
|
46
|
+
/** The modules generated code imports, as the host delivers them (spec
|
|
47
|
+
* §12.2 row 2): each declared, the system-props one always explicitly. */
|
|
48
|
+
export interface DeliveryIds {
|
|
49
|
+
/** The stylesheet module. */
|
|
50
|
+
cssModuleId: string;
|
|
51
|
+
/** A system-props module id the host serves, or the session's own file. */
|
|
52
|
+
systemPropsModuleId: string | typeof SESSION_ARTIFACT;
|
|
53
|
+
}
|
|
54
|
+
/** What a host watches for a Session (see `ExtractionSession.watchPlan`). */
|
|
55
|
+
export interface WatchPlan {
|
|
56
|
+
files: string[];
|
|
57
|
+
missing: string[];
|
|
58
|
+
directories: string[];
|
|
59
|
+
}
|
|
60
|
+
/** One published generation, as a host serving from memory reads it. */
|
|
61
|
+
export interface SessionPublication {
|
|
62
|
+
manifest: ProjectManifest;
|
|
63
|
+
manifestJson: string;
|
|
64
|
+
/** The analysis sheets with asset() URLs substituted, before Lightning
|
|
65
|
+
* CSS: what a host assembling its own stylesheet reads. */
|
|
66
|
+
analysisGlobalCss: string;
|
|
67
|
+
analysisComponentCss: string;
|
|
68
|
+
/** The final stylesheet, post-processed: byte for byte the body a
|
|
69
|
+
* persisting host writes as `styles.css`. */
|
|
70
|
+
styles: string;
|
|
71
|
+
/** The system-props module source this generation serves. */
|
|
72
|
+
systemPropsModule: string;
|
|
73
|
+
system: SystemConfig;
|
|
74
|
+
packageMap: Record<string, string>;
|
|
75
|
+
ownership: Readonly<Record<string, SourceEntryOwnership>>;
|
|
76
|
+
/** Root-relative path → hash of the bytes the analysis read, including
|
|
77
|
+
* files that produced no entries: the loader's stale-input witness. */
|
|
78
|
+
analyzedHashes: ReadonlyMap<string, string>;
|
|
79
|
+
/** What the analysis read of the discovered packages (spec §2.2 A4). */
|
|
80
|
+
packageReadRecord: PackageReadRecord | null;
|
|
81
|
+
/** The generation's replacement epoch. */
|
|
82
|
+
replacementEpoch: string;
|
|
83
|
+
/** The external package state this generation analysed. */
|
|
84
|
+
externalPackageDirs: string[];
|
|
85
|
+
externalSourceEntries: Map<string, string>;
|
|
86
|
+
externalSourceSideEffects: Map<string, boolean>;
|
|
18
87
|
}
|
|
88
|
+
/** How an attempt ended, for a host that redelivers modules itself. */
|
|
89
|
+
export type SessionOutcome = {
|
|
90
|
+
kind: 'published';
|
|
91
|
+
publication: SessionPublication;
|
|
92
|
+
/** A full pass (startup, system reload, rescan) or an incremental one. */
|
|
93
|
+
pass: 'full' | 'incremental';
|
|
94
|
+
/** Files whose replacement plans differ from the last publication. */
|
|
95
|
+
planChanged: string[];
|
|
96
|
+
/** Whether this publication ended an aborted parse's hold. */
|
|
97
|
+
endedHold: boolean;
|
|
98
|
+
/** Originals whose admitted bytes changed while the hold stood. */
|
|
99
|
+
redeliver: string[];
|
|
100
|
+
} | {
|
|
101
|
+
kind: 'held';
|
|
102
|
+
/** Original path → hash of the bytes whose parse aborted. */
|
|
103
|
+
abortedOriginals: ReadonlyMap<string, string>;
|
|
104
|
+
};
|
|
19
105
|
/** Bundler-agnostic extraction pipeline: system load, source ingestion,
|
|
20
106
|
* analysis, emission, and watch-cycle diffing. Carries no bundler types. */
|
|
21
107
|
export declare class ExtractionSession {
|
|
22
108
|
private readonly host;
|
|
23
109
|
/** Set by the adapter before any pipeline run. */
|
|
24
110
|
rootDir: string | null;
|
|
111
|
+
/** A host that resolves imports itself (Vite's `this.resolve`): package
|
|
112
|
+
* discovery asks it first, the loader only for a declared workspace it
|
|
113
|
+
* cannot resolve. Null resolves through the loader alone. */
|
|
114
|
+
hostResolve: HostResolve | null;
|
|
115
|
+
/** Each file's alias comparison, kept by content hash across analyses. */
|
|
116
|
+
private readonly aliasCache;
|
|
25
117
|
/** Serialized path aliases, harvested by the adapter from bundler config. */
|
|
26
118
|
pathAliasesJson: string | null;
|
|
119
|
+
/** The host's aliases are the project's tsconfig `paths`: each full pass
|
|
120
|
+
* re-reads them, so a tsconfig edit takes effect. */
|
|
121
|
+
aliasesFromTsconfig: boolean;
|
|
122
|
+
/** The root package.json and the tsconfig chain, absent files included:
|
|
123
|
+
* a change to any is a configuration change, which runs the full pass. */
|
|
124
|
+
configInputPaths: string[];
|
|
125
|
+
private configInputKeys;
|
|
126
|
+
/** Each configuration input's content hash at the last full pass, ''
|
|
127
|
+
* for an absent one: the probe's basis when the host reports nothing. */
|
|
128
|
+
private configInputHashes;
|
|
27
129
|
/** The host's export conditions, in its order, for the system loader. */
|
|
28
130
|
conditions: readonly string[];
|
|
131
|
+
/** The host's extension order, as its adapter captured it; the built-in
|
|
132
|
+
* policy where no host resolves. */
|
|
133
|
+
extensionPolicy: HostExtensionPolicy;
|
|
134
|
+
/** Which files the host serves as assets (spec §2.2 A8); the built-in
|
|
135
|
+
* classification where no host's can be read. */
|
|
136
|
+
assetClassification: HostAssetClassification;
|
|
137
|
+
/** How the host's bundler expands computed loads (spec §6.3); without
|
|
138
|
+
* one, every computed load keeps its widest reading. */
|
|
139
|
+
loadExpander: HostLoadExpander | undefined;
|
|
29
140
|
private assetCopyCache;
|
|
30
141
|
/** Physical asset files registered with the host watcher. */
|
|
31
142
|
assetDependencyPaths: Set<string>;
|
|
32
143
|
private assetDependencyKeys;
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
|
|
144
|
+
/** What generated code imports; a host that serves its own modules
|
|
145
|
+
* declares them before planning. */
|
|
146
|
+
delivery: DeliveryIds;
|
|
36
147
|
/** Whether the analysis-inputs hydration corpus is written to disk. Only
|
|
37
148
|
* isolated loader workers replay it; an in-process loader reads memory. */
|
|
38
149
|
persistAnalysisInputs: boolean;
|
|
150
|
+
/** The host substitutes asset() URLs itself (Vite: dev copies, build
|
|
151
|
+
* emitFile markers): the published sheets keep their placeholders, and
|
|
152
|
+
* the session makes no copy and tracks no asset file. */
|
|
153
|
+
hostSubstitutesAssets: boolean;
|
|
154
|
+
/** Whether the session keeps its artifacts on disk: status, commit,
|
|
155
|
+
* manifest, styles, the epoch witness, asset copies and its directory
|
|
156
|
+
* claim, with the sibling reconciliation they need. A host that serves
|
|
157
|
+
* every result from memory (Vite) turns it off; the shared state still
|
|
158
|
+
* publishes. Such a host also substitutes assets (above): asset copies
|
|
159
|
+
* are artifacts. */
|
|
160
|
+
persistArtifacts: boolean;
|
|
39
161
|
/** Whether this session serves development (a watch), where an error-level
|
|
40
162
|
* diagnostic is reported and the session keeps running. Only a build
|
|
41
163
|
* fails on one. */
|
|
@@ -83,23 +205,64 @@ export declare class ExtractionSession {
|
|
|
83
205
|
/** Fires exactly once per settled `handleWatchUpdate` — the failure cause,
|
|
84
206
|
* or null when clean. Observation never alters delivery. */
|
|
85
207
|
onCycleSettled: ((cause: unknown) => void) | null;
|
|
208
|
+
/** Fires once per published generation, and per held attempt. */
|
|
209
|
+
onOutcome: ((outcome: SessionOutcome) => void) | null;
|
|
210
|
+
/** The last published generation; null before the first. */
|
|
211
|
+
publication: SessionPublication | null;
|
|
212
|
+
/** The original sources (raw, before adaptation) the session holds, by
|
|
213
|
+
* root-relative path: the published generation's, plus any that an
|
|
214
|
+
* attempt in flight or held by an aborted parse has read. */
|
|
215
|
+
get heldSources(): ReadonlyMap<string, {
|
|
216
|
+
hash: string;
|
|
217
|
+
source: string;
|
|
218
|
+
}>;
|
|
219
|
+
/** The generation an emit produced, until it commits with the
|
|
220
|
+
* ingestion's ownership and the external package state it analysed. */
|
|
221
|
+
private stagedPublication;
|
|
86
222
|
private readonly options;
|
|
87
223
|
private readonly staticCssJson;
|
|
88
224
|
private system;
|
|
89
|
-
/** Configured
|
|
90
|
-
*
|
|
225
|
+
/** Configured files that could not be read. Incremental passes replay
|
|
226
|
+
* these instead of passing strict, and add a watched change they cannot
|
|
227
|
+
* read. */
|
|
91
228
|
private ingestionFailureDiagnostics;
|
|
92
229
|
/** Whether the corpus being analyzed left a file out, whose renders the
|
|
93
230
|
* analysis cannot see. */
|
|
94
231
|
private skippedSources;
|
|
232
|
+
/** Resolver calls ingestion ended under another spelling. */
|
|
233
|
+
private ingestionOpenings;
|
|
234
|
+
/** The adapted originals of the ingestion being analysed: it publishes
|
|
235
|
+
* only after its analysis does. */
|
|
236
|
+
private ingestionAdapted;
|
|
95
237
|
/** Full package-resolution map from the last full pipeline — replayed by
|
|
96
238
|
* incremental passes (sourceEntries alone omits dist-resolved packages). */
|
|
97
239
|
private lastPackageMap;
|
|
98
240
|
private fileCache;
|
|
241
|
+
/** Held sources whose bytes the host supplied (WatchChanges.sources),
|
|
242
|
+
* by root-relative path; a read from disk drops the path. */
|
|
243
|
+
private hostSuppliedKeys;
|
|
99
244
|
readonly corpus: SourceCorpus;
|
|
245
|
+
/** The corpus reads the driver label when it reports, so a host that
|
|
246
|
+
* sets `driverLabel` after construction is named in its messages. */
|
|
247
|
+
private corpusHost;
|
|
100
248
|
private systemDependencyKeys;
|
|
249
|
+
/** What a host watches for this Session, one list for every host: the
|
|
250
|
+
* files whose change it acts on (the system module and the modules it
|
|
251
|
+
* read, asset() sources, the configuration inputs), the paths the system
|
|
252
|
+
* load found absent, whose creation reloads it, and the external package
|
|
253
|
+
* roots, watched recursively. An absent path inside `covered` (roots the
|
|
254
|
+
* host already watches recursively) is left out: a host's recursive
|
|
255
|
+
* watch reports its creation, and watching an absent file inside a
|
|
256
|
+
* watched directory can stop that directory's events (inotify). */
|
|
257
|
+
watchPlan(covered?: readonly string[]): WatchPlan;
|
|
258
|
+
/** Whether `path` is the system module, one of its dependencies, or a
|
|
259
|
+
* path its load found absent: a change to it reloads the system. */
|
|
260
|
+
isSystemDependency(path: string): boolean;
|
|
101
261
|
/** Loader-reported dependency paths for bundler watch registration. */
|
|
102
262
|
systemDependencyPaths: string[];
|
|
263
|
+
/** Paths the system load looked for and found absent: a host registers
|
|
264
|
+
* them for creation, which reloads the system. */
|
|
265
|
+
systemMissingPaths: string[];
|
|
103
266
|
private systemDependencyHashes;
|
|
104
267
|
private lastSystemPropsHash;
|
|
105
268
|
private artifactRecords;
|
|
@@ -109,9 +272,20 @@ export declare class ExtractionSession {
|
|
|
109
272
|
/** Release handle for the in-process owner slot AND the directory's
|
|
110
273
|
* on-disk owner record, taken and released as one; null when unheld. */
|
|
111
274
|
private releasePublicationClaim;
|
|
112
|
-
/**
|
|
113
|
-
*
|
|
275
|
+
/** The build this session takes part in: every participant of one build
|
|
276
|
+
* shares its artifact tree and state; another build of the root never
|
|
277
|
+
* does. */
|
|
114
278
|
readonly sessionId: string;
|
|
279
|
+
/** The log tier, from the option and `ANIMUS_DEBUG` at construction. */
|
|
280
|
+
private readonly verbosity;
|
|
281
|
+
/** The emission mode at construction: explicit, else `NODE_ENV`'s. It
|
|
282
|
+
* defaults minify. */
|
|
283
|
+
private readonly startupMode;
|
|
284
|
+
private joinedKey;
|
|
285
|
+
/** This instance as a participant of its build, once joined. */
|
|
286
|
+
private participant;
|
|
287
|
+
/** Closed: it left its build and starts no attempt until it reattaches. */
|
|
288
|
+
private detached;
|
|
115
289
|
/** Epoch of the last published analysis; null seeds from disk so a
|
|
116
290
|
* same-session restart with unchanged plans rewrites no bytes. */
|
|
117
291
|
private lastEpochValue;
|
|
@@ -126,10 +300,18 @@ export declare class ExtractionSession {
|
|
|
126
300
|
* the cache keeps every observed source so the repair publishes them in
|
|
127
301
|
* one generation; a successful publication clears it. */
|
|
128
302
|
private heldRejection;
|
|
129
|
-
/**
|
|
130
|
-
*
|
|
131
|
-
*
|
|
303
|
+
/** Reload debt: a full pass that failed with a committed system to
|
|
304
|
+
* hold, in development or under an aborted parse, owed until one
|
|
305
|
+
* succeeds. runFullPipeline alone sets and clears it. While it stands, every batch retries the full reload and
|
|
306
|
+
* nothing publishes against the stale system. Under an aborted parse's
|
|
307
|
+
* hold, the first batch that passes the parse check pays it instead. */
|
|
132
308
|
private systemReloadOwed;
|
|
309
|
+
/** The system dependencies the last committed full pass recorded: a
|
|
310
|
+
* failed reload watches these and its own, never an earlier failure's. */
|
|
311
|
+
private lastGoodSystemDependencies;
|
|
312
|
+
/** Whether the current full pass's system load recorded its
|
|
313
|
+
* dependencies. */
|
|
314
|
+
private attemptRecordedSystemDependencies;
|
|
133
315
|
/** Monotonic readiness witness: flips true on the first complete
|
|
134
316
|
* publication and never regresses; every later status write carries it. */
|
|
135
317
|
private firstEmissionComplete;
|
|
@@ -139,16 +321,28 @@ export declare class ExtractionSession {
|
|
|
139
321
|
private lcssTargets;
|
|
140
322
|
constructor(options: SessionOptions, host?: SessionHost);
|
|
141
323
|
/** Forgets that `relPath` could not be read once an incremental pass reads
|
|
142
|
-
* or deletes it, so its cost stops holding pruning off.
|
|
324
|
+
* or deletes it, so its cost stops holding pruning off. Whether one was
|
|
325
|
+
* recorded. */
|
|
143
326
|
private clearIngestionFailure;
|
|
327
|
+
/** The module extracted terminals import their factories from. */
|
|
328
|
+
private get runtimeImport();
|
|
144
329
|
get sessionDir(): string;
|
|
330
|
+
/** This session's build of its root, joined on first use: a participant
|
|
331
|
+
* whose options differ from the build's fails with
|
|
332
|
+
* `SessionConfigurationConflict`. */
|
|
333
|
+
get key(): SessionKey;
|
|
145
334
|
get verbose(): boolean;
|
|
335
|
+
/** The engine of this session's build. */
|
|
336
|
+
private engine;
|
|
337
|
+
private get logger();
|
|
146
338
|
private log;
|
|
147
339
|
private warn;
|
|
148
340
|
private reportErrors;
|
|
149
341
|
/** A build-strictness check that failed: a build throws `message`, and
|
|
150
342
|
* development reports it at error level and takes the non-strict path. */
|
|
151
343
|
private strictFailure;
|
|
344
|
+
/** A finding `strict` turns into a strict failure; otherwise a warning. */
|
|
345
|
+
private strictOrWarn;
|
|
152
346
|
private now;
|
|
153
347
|
private elapsed;
|
|
154
348
|
/** Diagnostic prefix label — drivers set their own so one host's errors
|
|
@@ -159,6 +353,11 @@ export declare class ExtractionSession {
|
|
|
159
353
|
lastExternalOutcomes: ExternalPackageOutcome[];
|
|
160
354
|
/** The analysed kits' descriptors, from the last discovery. */
|
|
161
355
|
kitDescriptors: KitDescriptorRecord[];
|
|
356
|
+
/** Package name → the real root of the instance discovery read. */
|
|
357
|
+
private packageInstances;
|
|
358
|
+
/** What this attempt's analysis read of the discovered packages; the
|
|
359
|
+
* build's shared record once the analysis publishes. */
|
|
360
|
+
private packageReadRecord;
|
|
162
361
|
/** Component count of the last published analysis, null before the first —
|
|
163
362
|
* read by drivers instead of re-parsing the manifest JSON every cycle. */
|
|
164
363
|
lastComponentCount: number | null;
|
|
@@ -167,40 +366,120 @@ export declare class ExtractionSession {
|
|
|
167
366
|
/** When superseded asset copies leave `assets/`: `'full-pipeline'` suits a
|
|
168
367
|
* driver serving the dir in place, `'every-cycle'` one republishing it. */
|
|
169
368
|
staleAssetPruning: 'full-pipeline' | 'every-cycle';
|
|
170
|
-
/**
|
|
171
|
-
*
|
|
369
|
+
/** The host's output directories (`outputExclusion`): root-relative,
|
|
370
|
+
* excluded as literal path prefixes from discovery and from package
|
|
371
|
+
* collection, whatever the user's list. */
|
|
172
372
|
structuralExclude: string[];
|
|
173
373
|
private scanConfigMemo;
|
|
174
|
-
/** Per-pattern exclusion hit counts from this session's matcher —
|
|
175
|
-
* driver-consumed reporting surface (dead-pattern visibility). */
|
|
176
|
-
getExcludeStats(): ReadonlyMap<string, number>;
|
|
177
374
|
/** Resolve the scan configuration from options — the single source of the
|
|
178
|
-
* exclude/extension policy shared by the full and incremental pipelines
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
375
|
+
* exclude/extension policy shared by the full and incremental pipelines,
|
|
376
|
+
* and by a host classifying its own file events. */
|
|
377
|
+
get scanConfig(): {
|
|
378
|
+
excludeMatcher: ExcludeMatcher;
|
|
379
|
+
extensionsSet: ReadonlySet<string>;
|
|
380
|
+
};
|
|
381
|
+
/** Records the batch before any await, so an attempt that rejects never
|
|
382
|
+
* erases it, and settles with the attempt that takes it (SA20). */
|
|
182
383
|
handleWatchUpdate(changes: WatchChanges): Promise<void>;
|
|
183
384
|
private routeWatchUpdate;
|
|
184
|
-
/**
|
|
185
|
-
*
|
|
186
|
-
|
|
385
|
+
/** Queues the batch's observations under a new revision, synchronously.
|
|
386
|
+
* A batch equivalent to what the active attempt took joins that attempt:
|
|
387
|
+
* a second compiler's report of the same edit never analyzes it twice. */
|
|
388
|
+
private recordObservation;
|
|
389
|
+
/** Settles with the attempt that takes `revision`. Another attempt's
|
|
390
|
+
* rejection is its own callers': this observation runs after it. */
|
|
391
|
+
private awaitObservation;
|
|
392
|
+
/** Starts one attempt over every untaken observation of the build. */
|
|
393
|
+
startObservedAttempt(): boolean;
|
|
394
|
+
/** Every untaken observation of the build, and whether a full rescan is
|
|
395
|
+
* requested, which the caller's attempt now covers. */
|
|
396
|
+
private takeObservations;
|
|
397
|
+
/** `transaction` settles every waiting revision, and is the active
|
|
398
|
+
* attempt equivalent observations join until it settles. */
|
|
399
|
+
private settleTaken;
|
|
400
|
+
/** Registers one attempt in the build's single-flight slot before it
|
|
401
|
+
* processes, so a nested full system reload inherits the gate rather
|
|
402
|
+
* than clear it, and clears the slot when it settles either way. */
|
|
403
|
+
private runWatchAttempt;
|
|
187
404
|
private processWatchUpdate;
|
|
188
405
|
/** An aborted parse fails the attempt in every mode with a terminal
|
|
189
406
|
* `failed` status, so the last commit stays current, and holds publication
|
|
190
407
|
* until an attempt without one publishes. */
|
|
191
408
|
private throwOnAbortedParse;
|
|
409
|
+
/** Holds a held full read's entries: what it read stays the held bytes,
|
|
410
|
+
* never overwriting held host bytes with the disk's (a key the host
|
|
411
|
+
* supplied before that this read took from disk keeps its bytes). */
|
|
412
|
+
private holdObservedEntries;
|
|
413
|
+
/** Held sources whose bytes the host supplied and which the disk no
|
|
414
|
+
* longer matches: a full read not carrying them (`carried`) would
|
|
415
|
+
* publish the disk's bytes in their place. */
|
|
416
|
+
private staleHostSuppliedSources;
|
|
417
|
+
/** `raw` is the attempt's input by original path, from which a
|
|
418
|
+
* quarantined original stays held: every later pass re-ingests it, so it
|
|
419
|
+
* keeps counting as skipped (nothing it renders is pruned) and its fix
|
|
420
|
+
* edit compares against its bytes. */
|
|
192
421
|
private publishSourceIngestion;
|
|
193
422
|
/** Full analysis + publication, registered in the one in-flight
|
|
194
|
-
* transaction slot; a nested reload leaves the enclosing registration.
|
|
195
|
-
|
|
423
|
+
* transaction slot; a nested reload leaves the enclosing registration.
|
|
424
|
+
* `sources` are bytes a host already read (see WatchChanges.sources):
|
|
425
|
+
* the full read uses them, and those of the observations it takes, in
|
|
426
|
+
* place of the disk. */
|
|
427
|
+
runFullPipeline(pending?: Array<[string, string]>, sources?: ReadonlyMap<string, string>): Promise<void>;
|
|
428
|
+
/** This attempt's system dependencies: the files its load read, and the
|
|
429
|
+
* paths it found absent, whose creation is a system change. */
|
|
430
|
+
private recordSystemDependencies;
|
|
431
|
+
/** Records the configuration inputs and, for a tsconfig-aliased host,
|
|
432
|
+
* re-reads its aliases. */
|
|
433
|
+
private readConfigInputs;
|
|
434
|
+
/** What hosts watch for assets, and what the last-good generation
|
|
435
|
+
* reported about its kits and packages, which a failed full pass must
|
|
436
|
+
* leave in place. */
|
|
437
|
+
private snapshotWatchRegistration;
|
|
438
|
+
/** Restores the last-good registration. The system dependencies are the
|
|
439
|
+
* last committed pass's and, when its load got that far, this failed
|
|
440
|
+
* attempt's (spec §2.3): a fix to any of them must reach the owed reload,
|
|
441
|
+
* and an earlier failure's are replaced, never accumulated. */
|
|
442
|
+
private restoreWatchRegistration;
|
|
443
|
+
/** The build's authority becomes the system this session committed, with
|
|
444
|
+
* it and never before: a failed reload leaves the committed one, and the
|
|
445
|
+
* context proofs made against it. A committed reload discards every
|
|
446
|
+
* other context's proof, even for an unchanged system: the reload may
|
|
447
|
+
* have changed what another context resolves, so each loads again. */
|
|
448
|
+
private commitSystemAuthority;
|
|
196
449
|
private runPipelineTransaction;
|
|
450
|
+
/** The full pass's analysis inputs, less any file whose real path lies in
|
|
451
|
+
* an output directory, each reported. */
|
|
452
|
+
private withoutOutputSources;
|
|
197
453
|
/** Per-generation source state captured as ONE object so the restore
|
|
198
454
|
* cannot omit a member; deep-copied fields are mutated in place. */
|
|
199
455
|
private snapshotSourceState;
|
|
200
456
|
private restoreSourceState;
|
|
201
|
-
/**
|
|
202
|
-
*
|
|
457
|
+
/** The system under `context`: the one load path for the build's
|
|
458
|
+
* authority and for a participant checking its own context. */
|
|
459
|
+
private loadSystemUnder;
|
|
460
|
+
/** What the system loader reads of this participant besides the root, as
|
|
461
|
+
* stable text: its conditions and extension order. */
|
|
462
|
+
private resolutionContextText;
|
|
463
|
+
private resolutionContextLabel;
|
|
464
|
+
/** One agreed system authority (SA5): a participant whose resolution
|
|
465
|
+
* context differs from the one the build's system was loaded under loads
|
|
466
|
+
* it once under its own, and proceeds only on the same system. Otherwise
|
|
467
|
+
* it throws, naming both contexts, whichever participant came first. */
|
|
468
|
+
agreeWithSystemAuthority(): void;
|
|
469
|
+
/** Release this session's publication claim so a successor may publish,
|
|
470
|
+
* and leave the build, which retires with its last participant.
|
|
471
|
+
* Idempotent; `reattach` joins the build again. */
|
|
203
472
|
close(): void;
|
|
473
|
+
/** A closed participant attaching again: its private analysis is stale,
|
|
474
|
+
* so it is discarded, and it joins its build again. Idempotent. */
|
|
475
|
+
reattach(): void;
|
|
476
|
+
/** Brings a reattached participant up to date with a full rescan of a
|
|
477
|
+
* live build, which reconciles deletions too; true then. A retired build
|
|
478
|
+
* is false: the host starts it as at first. */
|
|
479
|
+
catchUp(): Promise<boolean>;
|
|
480
|
+
/** Queues a full rescan under a new revision. It is never equivalent to
|
|
481
|
+
* an active attempt: only a full read covers it. */
|
|
482
|
+
private recordRescan;
|
|
204
483
|
/** Reset analysis state for a system reload: write guards go back to null
|
|
205
484
|
* and reseed from the disk envelopes on the next publication. */
|
|
206
485
|
resetForHmr(): void;
|
|
@@ -226,6 +505,22 @@ export declare class ExtractionSession {
|
|
|
226
505
|
private beginStatusAttempt;
|
|
227
506
|
/** Write the session's analysis-status artifact. Terminal states
|
|
228
507
|
* (idle/failed) close the attempt. */
|
|
508
|
+
/** Where the host resolves a path alias the analysis reads to another
|
|
509
|
+
* file (spec §2.2 A7, report only), and how the two were compared. */
|
|
510
|
+
private compareAliasesWithHost;
|
|
511
|
+
/** Whether the file at a real path declares builder chains, by the
|
|
512
|
+
* engine's own parse: a module that does, served unread, renders with
|
|
513
|
+
* empty classes. One the engine cannot read counts as one that does. */
|
|
514
|
+
private rendersBuilder;
|
|
515
|
+
/**
|
|
516
|
+
* An import the host resolved while bundling (spec §2.2 A4), reported as
|
|
517
|
+
* the comparison reports it: webpack resolves each module's requests with
|
|
518
|
+
* the resolve options of the rules that module matches, which its
|
|
519
|
+
* resolver, asked outside a compilation, does not apply. `importer` and
|
|
520
|
+
* `resolved` are absolute. A finding the comparison already reported is
|
|
521
|
+
* not repeated; an error-level one throws in a build.
|
|
522
|
+
*/
|
|
523
|
+
reportHostResolution(importer: string, request: string, resolved: string): void;
|
|
229
524
|
private writeAnalysisStatus;
|
|
230
525
|
/** Record watch events observed during the debounce window so a loader
|
|
231
526
|
* running ahead of the analysis has evidence to wait on. */
|
|
@@ -255,9 +550,12 @@ export declare class ExtractionSession {
|
|
|
255
550
|
* warm restores keep working; a sibling with a live owner is exempt. */
|
|
256
551
|
private reconcileSiblingEpochs;
|
|
257
552
|
/** The pid of `siblingDir`'s live owner, or null when nothing proves one.
|
|
258
|
-
*
|
|
259
|
-
*
|
|
260
|
-
*
|
|
553
|
+
* A tree whose build is registered in this process is ours and live,
|
|
554
|
+
* claim or no claim: a publisher's close() releases the claim while the
|
|
555
|
+
* build's other participants still serve from it. Otherwise a missing,
|
|
556
|
+
* undecodable or unreadable claim, or one naming our own pid, means no
|
|
557
|
+
* owner: the opposite default from the CLI lock check on purpose, so do
|
|
558
|
+
* not unify the two. */
|
|
261
559
|
private liveSiblingOwnerPid;
|
|
262
560
|
/** Epoch value held by this session's on-disk artifact, or null when
|
|
263
561
|
* absent, unreadable, or not the expected schema. */
|
|
@@ -271,16 +569,18 @@ export declare class ExtractionSession {
|
|
|
271
569
|
/** Write one artifact write-then-rename, so a cross-process reader never
|
|
272
570
|
* sees a torn file; the tmp name carries the pid to keep writers apart. */
|
|
273
571
|
private writeSessionArtifact;
|
|
572
|
+
/** How an asset's bytes are fingerprinted, of a file or of bytes read:
|
|
573
|
+
* the engine's fast fingerprint where it has both, the content hash
|
|
574
|
+
* otherwise, so the two always agree. */
|
|
575
|
+
private assetFingerprints;
|
|
274
576
|
/** Copy each asset() specifier's bytes, from every sheet, into `assets/`
|
|
275
577
|
* under a content-hashed name and substitute a url relative to
|
|
276
578
|
* styles.css. */
|
|
277
579
|
private substituteAssetReferences;
|
|
580
|
+
private reportUnresolvableAsset;
|
|
278
581
|
private trackAssetDependency;
|
|
279
582
|
/** Resolve an asset specifier through the shared resolver, with one
|
|
280
583
|
* last resort: a discovered source entry's package root. */
|
|
281
584
|
private resolveAssetSpecifier;
|
|
282
585
|
}
|
|
283
|
-
/** Sync `assets/` to the current build's file set; per-entry failures are
|
|
284
|
-
* tolerated — a concurrent session may have removed the same file. */
|
|
285
|
-
export declare function pruneStaleAssets(assetsDir: string, expected: ReadonlySet<string>): void;
|
|
286
586
|
//# sourceMappingURL=extraction-session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraction-session.d.ts","sourceRoot":"","sources":["../../session/extraction-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extraction-session.d.ts","sourceRoot":"","sources":["../../session/extraction-session.ts"],"names":[],"mappings":"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"}
|