@animus-ui/vite-plugin 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/dist/asset-copy-dirs.d.ts +10 -0
- package/dist/asset-copy-dirs.d.ts.map +1 -0
- package/dist/build-start.d.ts +2 -1
- package/dist/build-start.d.ts.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/context.d.ts +126 -149
- package/dist/context.d.ts.map +1 -1
- package/dist/hmr.d.ts +8 -2
- package/dist/hmr.d.ts.map +1 -1
- package/dist/index.cjs +718 -913
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/rediscovery.d.ts +11 -15
- package/dist/rediscovery.d.ts.map +1 -1
- package/dist/session-outcomes.d.ts +23 -0
- package/dist/session-outcomes.d.ts.map +1 -0
- package/dist/transform.d.ts +1 -1
- package/dist/transform.d.ts.map +1 -1
- package/dist/virtual-modules.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/reset-coalescer.d.ts +0 -21
- package/dist/reset-coalescer.d.ts.map +0 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Each process's dev asset copies live in their own directory, named by its
|
|
3
|
+
* pid and start time, so a sweep can tell an abandoned directory from a
|
|
4
|
+
* live server's even when the pid has been reused.
|
|
5
|
+
*/
|
|
6
|
+
/** This process's copy directory name: `<pid>-<start ms>`. */
|
|
7
|
+
export declare function processCopyDir(): string;
|
|
8
|
+
/** Removes every other process's copy directory whose owner is not live. */
|
|
9
|
+
export declare function sweepAbandonedCopyDirs(copyRoot: string): void;
|
|
10
|
+
//# sourceMappingURL=asset-copy-dirs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-copy-dirs.d.ts","sourceRoot":"","sources":["../src/asset-copy-dirs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,8DAA8D;AAC9D,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAoDD,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAa7D"}
|
package/dist/build-start.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { PluginContext } from './context';
|
|
2
|
+
import type { HostResolve } from '@animus-ui/extract/pipeline';
|
|
2
3
|
/**
|
|
3
4
|
* `resolveSpecifier` maps a specifier to an absolute id. `emitAsset` is
|
|
4
5
|
* present in build only, where `asset()` files become Rollup assets.
|
|
5
6
|
*/
|
|
6
|
-
export declare function runBuildStart(ctx: PluginContext, resolveSpecifier:
|
|
7
|
+
export declare function runBuildStart(ctx: PluginContext, resolveSpecifier: HostResolve, emitAsset?: (fileName: string, source: Uint8Array) => string): Promise<void>;
|
|
7
8
|
//# sourceMappingURL=build-start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-start.d.ts","sourceRoot":"","sources":["../src/build-start.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-start.d.ts","sourceRoot":"","sources":["../src/build-start.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;;GAGG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,aAAa,EAClB,gBAAgB,EAAE,WAAW,EAC7B,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,MAAM,GAC3D,OAAO,CAAC,IAAI,CAAC,CAgJf"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE3C,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,cAAc,GACrB,IAAI,CAsEN"}
|
package/dist/context.d.ts
CHANGED
|
@@ -1,32 +1,21 @@
|
|
|
1
|
+
import { EnvironmentBuilds, ExtractionSession } from '@animus-ui/extract/session';
|
|
1
2
|
import { HotUpdateEvents } from './hot-update-events';
|
|
2
3
|
import type { LightningTargets } from './css';
|
|
3
4
|
import type { AnimusExtractOptions } from './index';
|
|
4
|
-
import type { ExcludeMatcher, ExternalPackageOutcome,
|
|
5
|
+
import type { ExcludeMatcher, ExternalPackageOutcome, HostAssetClassification, HostExtensionPolicy, HostLoadExpander, ProjectManifest, SystemConfig } from '@animus-ui/extract/pipeline';
|
|
6
|
+
import type { SessionOutcome, SessionPublication, WatchChanges } from '@animus-ui/extract/session';
|
|
5
7
|
import type { Logger } from 'vite';
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/** Drop a deleted or renamed-away raw original from the dev file cache.
|
|
13
|
-
* Generated MDX/Svelte children live only in the published corpus. */
|
|
14
|
-
export declare function pruneFileCache(cache: Map<string, {
|
|
15
|
-
hash: string;
|
|
16
|
-
source: string;
|
|
17
|
-
}>, rootDir: string, absPath: string): boolean;
|
|
18
|
-
/** A discovery's analysis input: its entries, and the file-cache seeding
|
|
19
|
-
* that follows their ingestion. */
|
|
20
|
-
export type DiscoveredSources = {
|
|
21
|
-
rawEntries: readonly RawSourceEntry[];
|
|
22
|
-
afterIngestion: (accepted: SourceIngestionResult) => void;
|
|
23
|
-
};
|
|
8
|
+
/** A Session outcome, and whether its publication changed the served
|
|
9
|
+
* system-props module. */
|
|
10
|
+
export interface ObservedOutcome {
|
|
11
|
+
outcome: SessionOutcome;
|
|
12
|
+
systemPropsChanged: boolean;
|
|
13
|
+
}
|
|
24
14
|
export declare class PluginContext {
|
|
25
15
|
readonly options: AnimusExtractOptions;
|
|
26
16
|
readonly verbose: boolean;
|
|
27
17
|
/** The higher tier: `verbose: 'trace'` or `ANIMUS_DEBUG=trace`. */
|
|
28
18
|
readonly tracing: boolean;
|
|
29
|
-
readonly staticCssJson: string | null;
|
|
30
19
|
isProd: boolean;
|
|
31
20
|
/** Serving or watching: an error-level diagnostic reports, and only a
|
|
32
21
|
* one-shot build fails on one. */
|
|
@@ -36,97 +25,127 @@ export declare class PluginContext {
|
|
|
36
25
|
emissionProd: boolean;
|
|
37
26
|
rootDir: string;
|
|
38
27
|
logger: Logger | null;
|
|
39
|
-
system: SystemConfig;
|
|
40
|
-
/** Whether a system has loaded, so a failed reload has one to keep. */
|
|
41
|
-
private systemLoaded;
|
|
42
28
|
lcssTargets: LightningTargets;
|
|
43
29
|
pathAliasesJson: string | null;
|
|
44
30
|
/** Vite's export conditions, so the loader reads the files Vite serves. */
|
|
45
31
|
resolveConditions: string[];
|
|
46
|
-
/**
|
|
47
|
-
|
|
32
|
+
/** Vite's resolved extension order; the built-in policy until
|
|
33
|
+
* `configResolved`. */
|
|
34
|
+
extensionPolicy: HostExtensionPolicy;
|
|
35
|
+
/** Vite's asset classification, captured at `configResolved`. */
|
|
36
|
+
assetClassification: HostAssetClassification;
|
|
37
|
+
/** How Vite's build expands computed loads, captured at
|
|
38
|
+
* `configResolved`; none where it cannot be reproduced exactly. */
|
|
39
|
+
loadExpander: HostLoadExpander | undefined;
|
|
48
40
|
extensionsSet: ReadonlySet<string>;
|
|
41
|
+
/** Built once per buildStart, before any discovery, from the user's
|
|
42
|
+
* exclude list and the output directory. */
|
|
49
43
|
excludeMatcher: ExcludeMatcher;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
44
|
+
/** Where Vite writes, every environment's output directories and files,
|
|
45
|
+
* as structural exclusions; none outside the root. Set in
|
|
46
|
+
* `configResolved`. */
|
|
47
|
+
outputExcludes: string[];
|
|
48
|
+
/** The Session publication this context serves, adopted whole as the
|
|
49
|
+
* Session commits it; null until one commits, and a failed analysis
|
|
50
|
+
* leaves the previous one served. Every view below reads it. */
|
|
51
|
+
served: SessionPublication | null;
|
|
52
|
+
/** What a context serves before a first publication. */
|
|
53
|
+
private readonly unpublishedSystem;
|
|
54
|
+
get storedManifest(): ProjectManifest | null;
|
|
55
|
+
get storedManifestJson(): string;
|
|
56
|
+
get system(): SystemConfig;
|
|
57
|
+
get reverseProvenance(): Record<string, string[]>;
|
|
58
|
+
/** The exact source `virtual:animus/system-props` serves: the served
|
|
59
|
+
* publication's, so the served bytes and the HMR change decision cannot
|
|
60
|
+
* diverge. */
|
|
61
|
+
get systemPropsModule(): string;
|
|
62
|
+
get externalPackageDirs(): string[];
|
|
63
|
+
/** specifier → whether its redirected source entry has side effects, from
|
|
64
|
+
* the owning package's `sideEffects`; absent leaves Vite's default. */
|
|
65
|
+
get externalSourceSideEffects(): ReadonlyMap<string, boolean>;
|
|
66
|
+
get externalSourceEntries(): ReadonlyMap<string, string>;
|
|
67
|
+
/** The analysis sheets keep their asset() placeholders; these views
|
|
68
|
+
* substitute the current asset URLs, so an edited asset changes its URL
|
|
69
|
+
* without re-analysis. */
|
|
70
|
+
get globalCss(): string;
|
|
71
|
+
get resolvedComponentCss(): string;
|
|
72
|
+
private analysisSheets;
|
|
73
|
+
private substitutedSheets;
|
|
55
74
|
layerDeclaration: string;
|
|
56
75
|
transformOutputHashes: Map<string, string>;
|
|
57
76
|
recordTransformOutput(relativePath: string, code: string): void;
|
|
58
|
-
reverseProvenance: Record<string, string[]>;
|
|
59
|
-
storedSystemPropMapJson: string;
|
|
60
|
-
storedDynamicPropsJson: string;
|
|
61
|
-
storedAdmittedTransformsJson: string;
|
|
62
|
-
storedTypedSystemPropsJson: string;
|
|
63
|
-
readonly fileCache: ReadonlyMap<string, {
|
|
64
|
-
hash: string;
|
|
65
|
-
source: string;
|
|
66
|
-
}>;
|
|
67
|
-
/** Mutation attempts against `fileCache`, for memos that must not key on
|
|
68
|
-
* `size` — a delete plus an unrelated create leaves it unchanged. */
|
|
69
|
-
fileCacheGeneration: number;
|
|
70
|
-
/** The one mutator of the raw-source cache: every add, replacement and
|
|
71
|
-
* deletion goes through here so no write escapes the counter above. */
|
|
72
|
-
mutateFileCache<T>(mutate: (cache: Map<string, {
|
|
73
|
-
hash: string;
|
|
74
|
-
source: string;
|
|
75
|
-
}>) => T): T;
|
|
76
|
-
/** Generated MDX/Svelte paths never enter `fileCache` — they live only in
|
|
77
|
-
* this corpus's published projection. */
|
|
78
|
-
readonly corpus: SourceCorpus;
|
|
79
|
-
rawExtensionFallbacks: Set<string>;
|
|
80
77
|
/** Original path → hash of bytes whose parse aborted in a rejected attempt;
|
|
81
78
|
* non-empty while that rejection holds publication. Those bytes are served
|
|
82
79
|
* raw so the host reports its own syntax error instead of receiving the
|
|
83
80
|
* previous module from the retained engine. */
|
|
84
81
|
readonly abortedParseHashes: Map<string, string>;
|
|
85
|
-
/** A system reload is pending: the next analysis attempt loads the latest
|
|
86
|
-
* system. A parse hold keeps it pending and the published system served;
|
|
87
|
-
* new dependency watch keys stay registered meanwhile. */
|
|
88
|
-
systemReloadOwed: boolean;
|
|
89
|
-
/** The one mutator of a file's fallback state — every raw-serve exit of the
|
|
90
|
-
* transform hook reports here, except aborted bytes, which never execute.
|
|
91
|
-
* Production keeps the set empty. The
|
|
92
|
-
* barrier's one-shot withhold release must not route through here: it
|
|
93
|
-
* retires other files' records, no claim about their current serve. */
|
|
94
|
-
recordFallbackState(relativePath: string, isFallback: boolean): void;
|
|
95
82
|
readonly hotUpdateEvents: HotUpdateEvents;
|
|
96
|
-
|
|
97
|
-
|
|
83
|
+
/** Coalesces a burst of invalidations into one full reload. */
|
|
84
|
+
private readonly reloadWindow;
|
|
98
85
|
base: string;
|
|
99
86
|
assetUrlBySpecifier: Map<string, string>;
|
|
87
|
+
/** Where dev asset() copies live, immutable and content-named; null in a
|
|
88
|
+
* build, or when the dev server does not serve the directory, which
|
|
89
|
+
* serves the live files instead. Set in `configResolved`. */
|
|
90
|
+
assetCopyDir: string | null;
|
|
91
|
+
/** specifier → the source file its dev copy was made from. */
|
|
92
|
+
assetSourceBySpecifier: Map<string, string>;
|
|
93
|
+
/** source → its copies, oldest first: the current and the previous. */
|
|
94
|
+
private assetCopyHistory;
|
|
95
|
+
/** Specifiers whose copy the dev server does not serve, warned once. */
|
|
96
|
+
private unservedAssetCopies;
|
|
97
|
+
/** Whether the dev server serves `path`, by Vite's `server.fs` rule;
|
|
98
|
+
* set in `configResolved`. */
|
|
99
|
+
servesFile: (path: string) => boolean;
|
|
100
100
|
assetResolutionFailures: Set<string>;
|
|
101
101
|
assetPassComplete: boolean;
|
|
102
|
-
|
|
103
|
-
/** Those whose package is linked rather than installed. */
|
|
104
|
-
externalLinkedDirs: string[];
|
|
105
|
-
/** Those read from their package's compiled output. */
|
|
106
|
-
externalOutputDirs: string[];
|
|
107
|
-
externalDirOwners: Record<string, string>;
|
|
108
|
-
/** specifier → whether its redirected source entry has side effects, from
|
|
109
|
-
* the owning package's `sideEffects`; absent leaves Vite's default. */
|
|
110
|
-
externalSourceSideEffects: Map<string, boolean>;
|
|
111
|
-
externalFileOwners: Record<string, string>;
|
|
112
|
-
externalSourceEntries: Map<string, string>;
|
|
102
|
+
/** The Session's last external package outcomes, for the self-verify. */
|
|
113
103
|
externalPackageOutcomes: ExternalPackageOutcome[];
|
|
114
|
-
/** The analysed kits' descriptors, from the last discovery. */
|
|
115
|
-
kitDescriptors: KitDescriptorRecord[];
|
|
116
|
-
/** Configured files buildStart or a late rediscovery could not read.
|
|
117
|
-
* Later analyses read no files themselves, so they replay these until the
|
|
118
|
-
* file is read into the cache or deleted. */
|
|
119
|
-
ingestionFailureDiagnostics: ManifestDiagnostic[];
|
|
120
104
|
devServer: any;
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
private v2Engine;
|
|
125
|
-
private v2SentSources;
|
|
126
|
-
private v2DriftWarned;
|
|
105
|
+
/** The paths already registered, per watcher: a reused plugin instance
|
|
106
|
+
* whose dev server is replaced registers everything with the new one. */
|
|
107
|
+
private readonly watchedPaths;
|
|
127
108
|
/** Every native extraction call goes through this one accessor. */
|
|
128
109
|
readonly engineApi: () => any;
|
|
110
|
+
/** The native module's stateless lookups, before the root resolves: the
|
|
111
|
+
* shared factory, which registers no handle. */
|
|
112
|
+
readonly kitEngine: () => any;
|
|
113
|
+
private engineKey;
|
|
114
|
+
/** This context's build: one Vite config instance, one build. */
|
|
115
|
+
readonly build: string;
|
|
116
|
+
/** The build's Session, created once the Vite root resolves. */
|
|
117
|
+
session: ExtractionSession | null;
|
|
118
|
+
/** The outcomes each in-flight `submitChanges` collects. */
|
|
119
|
+
private readonly outcomeCollectors;
|
|
129
120
|
constructor(options: AnimusExtractOptions, engineApiOverride?: () => any);
|
|
121
|
+
/** Creates the build's Session from the resolved config: Vite's engine,
|
|
122
|
+
* logger and core options, kept in memory. */
|
|
123
|
+
createSession(): ExtractionSession;
|
|
124
|
+
/** Serves each publication as the Session makes it, so every reader in
|
|
125
|
+
* between sees one generation. */
|
|
126
|
+
private observeOutcome;
|
|
127
|
+
/** Submits a dev change set to the Session. Until a first publication
|
|
128
|
+
* there is no generation to update: the full read covers the change. */
|
|
129
|
+
submitChanges(changes: WatchChanges): Promise<ObservedOutcome[]>;
|
|
130
|
+
/** Runs one Session attempt and returns the outcomes that settle it. A
|
|
131
|
+
* hold warns and resolves with its outcome (Vite reports the syntax
|
|
132
|
+
* error itself); any other failure rejects. Either way the watcher
|
|
133
|
+
* learns the paths the attempt's system load named. */
|
|
134
|
+
runAttempt(attempt: (session: ExtractionSession) => Promise<void>): Promise<ObservedOutcome[]>;
|
|
135
|
+
/** Serves the Session's last publication whole (asset placeholders
|
|
136
|
+
* kept; Vite substitutes them). */
|
|
137
|
+
adoptPublication(session: ExtractionSession): void;
|
|
138
|
+
/** The context's environment builds: a custom `buildApp` builds a shared
|
|
139
|
+
* plugin's environments in parallel, so the context's build retires with
|
|
140
|
+
* the last of them, not the first. */
|
|
141
|
+
readonly builds: EnvironmentBuilds;
|
|
142
|
+
/** Retires this context's build when Vite closes it: the Session leaves
|
|
143
|
+
* the registry (with its manifest and watch state) and the engine handle
|
|
144
|
+
* is released, injected engine or not. The next build start rejoins. */
|
|
145
|
+
close(): void;
|
|
146
|
+
/** Releases this context's engine handle: a standalone one, which no
|
|
147
|
+
* joined build retires. The next use makes a fresh one. */
|
|
148
|
+
releaseEngine(): void;
|
|
130
149
|
log(msg: string): void;
|
|
131
150
|
/** One line per item — a pruned option, a transformed file, an HMR
|
|
132
151
|
* decision — printed only at the trace tier. */
|
|
@@ -141,53 +160,19 @@ export declare class PluginContext {
|
|
|
141
160
|
/** A build-strictness check that failed: a build throws `message`, and
|
|
142
161
|
* development reports it at error level and takes the non-strict path. */
|
|
143
162
|
strictFailure(message: string, cause?: unknown): void;
|
|
144
|
-
/** Load the system into `this.system`. On failure the previous config is
|
|
145
|
-
* kept; strict mode throws instead, and strict development reports the
|
|
146
|
-
* failure once a system has loaded, since there is one to keep. */
|
|
147
|
-
loadSystem(): void;
|
|
148
|
-
/** The read failures still standing: a file stops counting once the cache
|
|
149
|
-
* holds a read of it or it is gone, as in the shared session, so it stops
|
|
150
|
-
* warning and stops holding pruning off. */
|
|
151
|
-
private unsettledIngestionFailures;
|
|
152
|
-
/** Runs project analysis and updates every manifest-derived state. Returns
|
|
153
|
-
* false when nothing published, and the caller must roll its cache back.
|
|
154
|
-
* While a source is skipped or unreadable, its renders are unseen, so
|
|
155
|
-
* nothing is pruned. */
|
|
156
|
-
runAnalysis(fileEntries: Array<{
|
|
157
|
-
path: string;
|
|
158
|
-
source: string;
|
|
159
|
-
hash?: string;
|
|
160
|
-
}>, skippedOriginals?: readonly string[]): boolean;
|
|
161
|
-
private assertRuntimeImportSuppliesTerminals;
|
|
162
|
-
/** The one ingest → quarantine → analyze → publish transaction. The corpus
|
|
163
|
-
* publishes only on success. `afterIngestion` runs after quarantine even
|
|
164
|
-
* when an aborted parse rejects the attempt; `beforeAnalysis` runs only
|
|
165
|
-
* once the attempt will analyze. A rejection names its aborted originals
|
|
166
|
-
* and holds publication: development callers keep their cache's latest
|
|
167
|
-
* sources, valid edits included, for the repair to publish together. In
|
|
168
|
-
* every strictness mode it fails a production build, which has no
|
|
169
|
-
* generation to keep, and only warns in development: the host reports the
|
|
170
|
-
* syntax error itself, and a throw would leave its client on the failed
|
|
171
|
-
* module. The publication that ends a hold invalidates the modules of
|
|
172
|
-
* every original whose admitted bytes changed meanwhile and returns them
|
|
173
|
-
* as `redeliver`, for a hot update to push to the client. An owed system
|
|
174
|
-
* reload loads the latest system for the attempt: a hold restores the
|
|
175
|
-
* published one and keeps the reload owed, any other outcome completes
|
|
176
|
-
* the reload's invalidation. */
|
|
177
|
-
analyzeIngested(options?: {
|
|
178
|
-
rawEntries?: readonly RawSourceEntry[];
|
|
179
|
-
afterIngestion?: (ingested: SourceIngestionResult) => void;
|
|
180
|
-
beforeAnalysis?: (accepted: SourceIngestionResult) => void;
|
|
181
|
-
}): Promise<{
|
|
182
|
-
ok: boolean;
|
|
183
|
-
accepted: SourceIngestionResult;
|
|
184
|
-
/** Original path → hash of the bytes whose parse aborted. */
|
|
185
|
-
abortedOriginals?: ReadonlyMap<string, string>;
|
|
186
|
-
endedHold: boolean;
|
|
187
|
-
redeliver: string[];
|
|
188
|
-
}>;
|
|
189
|
-
publishSourceIngestion(result: SourceIngestionResult): void;
|
|
190
163
|
devFsUrl(absPath: string): string;
|
|
164
|
+
/** A dev asset() URL: an immutable content-named copy of `absPath`, so an
|
|
165
|
+
* edit gets a new URL, or the live file where copies are not served. */
|
|
166
|
+
devAssetUrl(specifier: string, absPath: string): string;
|
|
167
|
+
/** Keeps each source's current copy and the one before it; an asset
|
|
168
|
+
* edit reloads the page, so an older URL is never fetched again. A copy
|
|
169
|
+
* another source still keeps is never removed. */
|
|
170
|
+
private retainAssetCopy;
|
|
171
|
+
/** Whether `absFile` is the source of a dev asset copy. */
|
|
172
|
+
isAssetSource(absFile: string): boolean;
|
|
173
|
+
/** Copies an edited asset under its new content name and redelivers the
|
|
174
|
+
* stylesheet that names it. */
|
|
175
|
+
refreshAssetCopies(absFile: string): void;
|
|
191
176
|
assetFallback(specifier: string, message: string, cause?: unknown): void;
|
|
192
177
|
/** Every asset() specifier in the sheets the plugin emits. */
|
|
193
178
|
sheetAssetSpecifiers(): string[];
|
|
@@ -196,32 +181,24 @@ export declare class PluginContext {
|
|
|
196
181
|
* `system`, however and whenever that was assigned; `system` keeps the
|
|
197
182
|
* placeholders for the next asset pass. */
|
|
198
183
|
get variableCss(): string;
|
|
199
|
-
/** Substitutes the analysis sheets in place, through the same step as the
|
|
200
|
-
* session; the theme's variable CSS is substituted on read
|
|
201
|
-
* (`variableCss`). */
|
|
202
|
-
substituteSheets(): void;
|
|
203
184
|
/** Resolves asset specifiers a system reload introduced. Node-side only —
|
|
204
185
|
* the plugin hook context is unavailable here, so results can differ. */
|
|
205
186
|
private applyAssetSubstitutions;
|
|
206
|
-
|
|
207
|
-
requestSystemReload(trigger: string): void;
|
|
208
|
-
performSystemReload(): Promise<void>;
|
|
209
|
-
private performSystemReloadExclusive;
|
|
210
|
-
private invalidateSystemReloadModules;
|
|
187
|
+
invalidateSystemReloadModules(reloadClient: boolean): void;
|
|
211
188
|
isSystemDependency(absFile: string): boolean;
|
|
212
|
-
/**
|
|
213
|
-
*
|
|
189
|
+
/** Registers the Session's watch plan with Vite's watcher, each path
|
|
190
|
+
* once per watcher. Vite also watches its packages' own directories beside the
|
|
191
|
+
* plan's canonical roots, and an absent path either covers (or the root
|
|
192
|
+
* does) is left to their watch: a watch on an absent file inside a
|
|
193
|
+
* watched directory stops that directory's events under inotify
|
|
194
|
+
* (chokidar's non-fsevents handler). Vite hard-ignores node_modules, so
|
|
195
|
+
* dependencies installed there produce no events. */
|
|
214
196
|
registerSystemWatchPaths(): void;
|
|
215
197
|
/** Invalidate the component CSS and system-props modules, then reload. The
|
|
216
198
|
* reload alone rescues nothing: Vite keeps serving its cached transform.
|
|
217
199
|
* `devServer.moduleGraph` is the mixed back-compat graph on purpose — it
|
|
218
200
|
* reaches client and ssr at once; per-environment graphs do not. */
|
|
219
201
|
invalidateExtractedModules(): void;
|
|
220
|
-
/** An unresolvable `.includes()` specifier or a stale dist entry under an
|
|
221
|
-
* extended package warns, and fails the build under `strict` (strict
|
|
222
|
-
* development reports it). */
|
|
223
|
-
enforceIncludeResolution(): void;
|
|
224
|
-
enforceExternalTokenContracts(): void;
|
|
225
202
|
runSelfVerify(): void;
|
|
226
203
|
}
|
|
227
204
|
//# sourceMappingURL=context.d.ts.map
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/hmr.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { PluginContext } from './context';
|
|
2
2
|
import type { DevEnvironment, EnvironmentModuleNode, HotUpdateOptions } from 'vite';
|
|
3
3
|
/** Vite dispatches this hook once per environment for one file event: the
|
|
4
|
-
*
|
|
5
|
-
|
|
4
|
+
* dispatch that claims it submits the file to the Session, and invalidation
|
|
5
|
+
* runs in each. */
|
|
6
|
+
export declare function handleHotUpdate(ctx: PluginContext, environment: DevEnvironment, { type, file, timestamp, modules, read }: HotUpdateOptions): Promise<EnvironmentModuleNode[] | void>;
|
|
7
|
+
/** Runs a pending system reload now, closing its window (the window's
|
|
8
|
+
* bypass), and settles with it. */
|
|
9
|
+
export declare function flushSystemReload(ctx: PluginContext): Promise<void>;
|
|
10
|
+
/** Drops a pending system reload: the context is closing. */
|
|
11
|
+
export declare function cancelSystemReload(ctx: PluginContext): void;
|
|
6
12
|
//# sourceMappingURL=hmr.d.ts.map
|
package/dist/hmr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../src/hmr.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../src/hmr.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,MAAM,CAAC;AAEd;;oBAEoB;AACpB,wBAAsB,eAAe,CACnC,GAAG,EAAE,aAAa,EAClB,WAAW,EAAE,cAAc,EAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,gBAAgB,GACzD,OAAO,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,CAqDzC;AAwCD;oCACoC;AACpC,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAI3D"}
|