@celox-sim/vite-plugin 0.10.2-nightly.stable.20261013081102.ga36b01fcb4cd → 0.11.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/dist/cache.d.ts CHANGED
@@ -6,10 +6,16 @@ export declare class GenTsCache {
6
6
  private _sourceKey;
7
7
  private _configKey;
8
8
  private _lockfileKey;
9
+ private _generatedLockfileKey;
10
+ private _sourceFiles;
9
11
  constructor(_projectRoot: string, _testbenchComponents?: TestbenchComponentManifests | undefined);
10
12
  setTestbenchComponents(components: TestbenchComponentManifests): void;
11
13
  /** Refresh when a source or generator configuration file changes. */
12
14
  get(): GenTsJsonOutput;
15
+ /** A possible generator write still needs a conservative refresh in get(). */
16
+ get hasPendingLockfileWrite(): boolean;
17
+ /** Source paths captured during the most recent cache lookup. */
18
+ get sourceFiles(): readonly string[];
13
19
  /** Force invalidation — next `get()` will re-run the generator. */
14
20
  invalidate(): void;
15
21
  private computeConfigKey;
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE/E,qBAAa,UAAU;IAOrB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,oBAAoB,CAAC;IAP9B,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,YAAY,CAAM;IAE1B,YACkB,YAAY,EAAE,MAAM,EAC7B,oBAAoB,CAAC,EAAE,2BAA2B,YAAA,EACvD;IAEJ,sBAAsB,CAAC,UAAU,EAAE,2BAA2B,GAAG,IAAI,CAGpE;IAED,qEAAqE;IACrE,GAAG,IAAI,eAAe,CAoBrB;IAED,mEAAmE;IACnE,UAAU,IAAI,IAAI,CAGjB;IAED,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,iBAAiB;IAazB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,cAAc;CAiCtB"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE/E,qBAAa,UAAU;IASrB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,oBAAoB,CAAC;IAT9B,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,qBAAqB,CAAqB;IAClD,OAAO,CAAC,YAAY,CAAgB;IAEpC,YACkB,YAAY,EAAE,MAAM,EAC7B,oBAAoB,CAAC,EAAE,2BAA2B,YAAA,EACvD;IAEJ,sBAAsB,CAAC,UAAU,EAAE,2BAA2B,GAAG,IAAI,CAGpE;IAED,qEAAqE;IACrE,GAAG,IAAI,eAAe,CA8BrB;IAED,8EAA8E;IAC9E,IAAI,uBAAuB,IAAI,OAAO,CAKrC;IAED,iEAAiE;IACjE,IAAI,WAAW,IAAI,SAAS,MAAM,EAAE,CAEnC;IAED,mEAAmE;IACnE,UAAU,IAAI,IAAI,CAGjB;IAED,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,iBAAiB;IAazB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,cAAc;CAiCtB"}
package/dist/cache.js CHANGED
@@ -9,6 +9,8 @@ export class GenTsCache {
9
9
  _sourceKey = "";
10
10
  _configKey = "";
11
11
  _lockfileKey = "";
12
+ _generatedLockfileKey;
13
+ _sourceFiles = [];
12
14
  constructor(_projectRoot, _testbenchComponents) {
13
15
  this._projectRoot = _projectRoot;
14
16
  this._testbenchComponents = _testbenchComponents;
@@ -29,6 +31,14 @@ export class GenTsCache {
29
31
  return this._data;
30
32
  }
31
33
  this._data = runGenTs(this._projectRoot, this._testbenchComponents);
34
+ const generatedLockfileKey = this.computeContentKey("Veryl.lock");
35
+ if (generatedLockfileKey !== lockfileKey &&
36
+ generatedLockfileKey !== "missing")
37
+ this._generatedLockfileKey = generatedLockfileKey;
38
+ else if (generatedLockfileKey !== this._generatedLockfileKey)
39
+ this._generatedLockfileKey = undefined;
40
+ // Module loading may perform the conservative refresh before the watch
41
+ // event arrives. Retain its candidate while lockfile contents match.
32
42
  this._sourceKey = key;
33
43
  // Preserve every pre-generation fingerprint: an external process can
34
44
  // change even Veryl.lock after the generator has read it. A lockfile
@@ -37,6 +47,15 @@ export class GenTsCache {
37
47
  this._lockfileKey = lockfileKey;
38
48
  return this._data;
39
49
  }
50
+ /** A possible generator write still needs a conservative refresh in get(). */
51
+ get hasPendingLockfileWrite() {
52
+ return (this._generatedLockfileKey !== undefined &&
53
+ this.computeContentKey("Veryl.lock") === this._generatedLockfileKey);
54
+ }
55
+ /** Source paths captured during the most recent cache lookup. */
56
+ get sourceFiles() {
57
+ return this._sourceFiles;
58
+ }
40
59
  /** Force invalidation — next `get()` will re-run the generator. */
41
60
  invalidate() {
42
61
  this._sourceKey = "";
@@ -66,9 +85,12 @@ export class GenTsCache {
66
85
  */
67
86
  computeSourceKey() {
68
87
  const files = [];
88
+ const sourceFiles = [];
69
89
  this.walkVerylFiles(this._projectRoot, (path, mtimeMs, size) => {
70
90
  files.push([relative(this._projectRoot, path), mtimeMs, size]);
91
+ sourceFiles.push(path);
71
92
  });
93
+ this._sourceFiles = sourceFiles;
72
94
  files.sort(([a], [b]) => a.localeCompare(b));
73
95
  return JSON.stringify(files);
74
96
  }
package/dist/cache.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Plugin } from "vite";
1
+ import { type Plugin } from "vite";
2
2
  import type { CeloxPluginOptions } from "./types.js";
3
3
  export type { CeloxPluginOptions } from "./types.js";
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAC;AAQnD,OAAO,KAAK,EACX,kBAAkB,EAGlB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIrD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAqLxE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEN,KAAK,MAAM,EAGX,MAAM,MAAM,CAAC;AASd,OAAO,KAAK,EACX,kBAAkB,EAGlB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAQrD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAwgBxE"}
package/dist/index.js CHANGED
@@ -1,9 +1,14 @@
1
- import { existsSync } from "node:fs";
1
+ import { existsSync, readFileSync } from "node:fs";
2
2
  import { dirname, isAbsolute, resolve } from "node:path";
3
+ import { isDeepStrictEqual } from "node:util";
4
+ import { normalizePath, } from "vite";
3
5
  import { GenTsCache } from "./cache.js";
4
- import { cleanSidecars, generateSidecars } from "./sidecar.js";
6
+ import { cleanSidecars, generateSidecars, SIDECAR_DIR } from "./sidecar.js";
7
+ import { withSidecarLock } from "./sidecar-lock.js";
5
8
  import { loadTestbenchComponentModule, normalizeTestbenchComponentPath, writeTestbenchComponentSidecar, } from "./testbench-components.js";
6
- const VERYL_PREFIX = "\0veryl:";
9
+ const PROJECT_QUERY = "celox-project";
10
+ const WATCH_QUERY = "celox-watch";
11
+ const CONFIG_FILES = ["Veryl.toml", "celox.toml", "Veryl.lock"];
7
12
  /**
8
13
  * Vite plugin for importing `.veryl` files as typed `ModuleDefinition` objects.
9
14
  *
@@ -19,11 +24,122 @@ const VERYL_PREFIX = "\0veryl:";
19
24
  */
20
25
  export default function celoxPlugin(options) {
21
26
  let projectRoot;
27
+ let projectPrefix;
22
28
  let cache;
23
29
  let sidecarPaths = [];
30
+ let generatedData;
24
31
  let testbenchComponents;
25
32
  let testbenchComponentDependencies = new Set();
26
33
  let viteConfig;
34
+ let projectId;
35
+ const loadedIds = new Set();
36
+ const resolvedIds = new Set();
37
+ let devWatcher;
38
+ let pendingRegeneration;
39
+ let componentLoadFailed = false;
40
+ const projectNotifications = [];
41
+ // Vite shares one read callback across environments for each event. Unlike
42
+ // timestamps, its identity distinguishes rapid events and survives interleaving.
43
+ const updates = new WeakMap();
44
+ function projectFile(name) {
45
+ return normalizePath(resolve(projectRoot, name));
46
+ }
47
+ function projectContents() {
48
+ try {
49
+ return readFileSync(projectFile("Veryl.toml"), "utf8");
50
+ }
51
+ catch {
52
+ return undefined;
53
+ }
54
+ }
55
+ function regenerate(file, read, event, retryComponent = false) {
56
+ file = normalizePath(file);
57
+ const existing = event && updates.get(event);
58
+ if (existing)
59
+ return existing;
60
+ // Capture membership before an earlier load replaces its dependency set.
61
+ const wasComponent = testbenchComponentDependencies.has(normalizeTestbenchComponentPath(file));
62
+ const run = async () => {
63
+ // Earlier queued loads may discover this dependency or remove it.
64
+ const componentChanged = wasComponent ||
65
+ (retryComponent && componentLoadFailed) ||
66
+ testbenchComponentDependencies.has(normalizeTestbenchComponentPath(file));
67
+ if (!file.endsWith(".veryl") &&
68
+ !componentChanged &&
69
+ !CONFIG_FILES.some((name) => projectFile(name) === file))
70
+ return false;
71
+ // Vite waits for editor writes to stabilize before this read resolves.
72
+ if (read)
73
+ await read();
74
+ if (componentChanged && testbenchComponents) {
75
+ const loaded = await loadTestbenchComponentModule(testbenchComponents, projectRoot, viteConfig).catch((error) => {
76
+ componentLoadFailed = true;
77
+ throw error;
78
+ });
79
+ componentLoadFailed = false;
80
+ testbenchComponentDependencies = loaded.dependencies;
81
+ devWatcher?.add([...loaded.dependencies]);
82
+ writeTestbenchComponentSidecar(projectRoot, testbenchComponents, loaded.manifests);
83
+ cache.setTestbenchComponents(loaded.manifests);
84
+ }
85
+ // Watch events can detect edits that preserve both mtime and size.
86
+ // Keep fingerprint checks for generator-owned lockfile notifications.
87
+ if (file !== projectFile("Veryl.lock"))
88
+ cache.invalidate();
89
+ return withSidecarLock(projectRoot, () => {
90
+ const pendingLockfileWrite = cache.hasPendingLockfileWrite;
91
+ const data = cache.get();
92
+ if (file === projectFile("Veryl.lock") &&
93
+ (data === generatedData ||
94
+ (pendingLockfileWrite && isDeepStrictEqual(data, generatedData)))) {
95
+ // Preserve the conservative cache refresh without publishing a
96
+ // second update for equivalent output from a generation-time write.
97
+ generatedData = data;
98
+ return false;
99
+ }
100
+ if (data !== generatedData) {
101
+ const nextPaths = generateSidecars(data, projectRoot, {
102
+ removeOrphans: false,
103
+ });
104
+ cleanSidecars(sidecarPaths, nextPaths);
105
+ sidecarPaths = nextPaths;
106
+ generatedData = data;
107
+ }
108
+ return { componentChanged };
109
+ });
110
+ };
111
+ // Share one queue across raw watcher and HMR events. A failed edit must
112
+ // still allow the next edit to regenerate and recover.
113
+ const result = pendingRegeneration ? pendingRegeneration.then(run) : run();
114
+ const settled = () => {
115
+ if (pendingRegeneration === pending)
116
+ pendingRegeneration = undefined;
117
+ };
118
+ const pending = result.then(settled, settled);
119
+ pendingRegeneration = pending;
120
+ if (event)
121
+ updates.set(event, result);
122
+ return result;
123
+ }
124
+ function directLockfileConsumers(modules = []) {
125
+ // Suppress Celox's generated graph only; raw/custom lockfile imports
126
+ // still need Vite's ordinary invalidation and propagation.
127
+ return modules.filter(({ id }) => id === null ||
128
+ (id !== projectId &&
129
+ !loadedIds.has(id) &&
130
+ !id.endsWith(`?${WATCH_QUERY}`)));
131
+ }
132
+ function affectedModules(graph, changed = []) {
133
+ const modules = new Set(changed);
134
+ for (const id of [projectId, ...loadedIds]) {
135
+ const mod = graph.getModuleById(id);
136
+ if (mod)
137
+ modules.add(mod);
138
+ }
139
+ for (const mod of modules)
140
+ graph.invalidateModule(mod);
141
+ return [...modules];
142
+ }
27
143
  return {
28
144
  name: "vite-plugin-celox",
29
145
  enforce: "pre",
@@ -36,6 +152,29 @@ export default function celoxPlugin(options) {
36
152
  else {
37
153
  projectRoot = findVerylProjectRoot(config.root);
38
154
  }
155
+ projectRoot = normalizePath(projectRoot);
156
+ projectPrefix = projectRoot.endsWith("/")
157
+ ? projectRoot
158
+ : `${projectRoot}/`;
159
+ projectId = `${projectFile("Veryl.toml")}?${PROJECT_QUERY}`;
160
+ if (config.command === "build" && config.build.watch) {
161
+ const excluded = [SIDECAR_DIR, "target", "node_modules", ".git"].map((dir) => `${normalizePath(resolve(projectRoot, dir))}/**`);
162
+ if (config.build.outDir)
163
+ excluded.push(`${normalizePath(resolve(config.root, config.build.outDir))}/**`);
164
+ const watch = config.build.watch;
165
+ const append = (value) => [
166
+ ...(value == null ? [] : Array.isArray(value) ? value : [value]),
167
+ ...excluded,
168
+ ];
169
+ // Preserve user filters; discovery and output resolution use the final root.
170
+ Object.assign(watch, {
171
+ exclude: append(watch.exclude),
172
+ chokidar: {
173
+ ...watch.chokidar,
174
+ ignored: append(watch.chokidar?.ignored),
175
+ },
176
+ });
177
+ }
39
178
  if (options?.testbenchComponents) {
40
179
  const componentsModule = options.testbenchComponents;
41
180
  testbenchComponents = isAbsolute(componentsModule)
@@ -47,11 +186,28 @@ export default function celoxPlugin(options) {
47
186
  }
48
187
  },
49
188
  async buildStart() {
189
+ if (viteConfig.command === "build" && this.meta.watchMode) {
190
+ // Older Rolldown versions ignore exclusions below watched directories.
191
+ // Refuse that mode before registering the root to avoid output loops.
192
+ const version = this.meta.rolldownVersion;
193
+ if (version) {
194
+ const [major = 0, minor = 0, patch = 0] = version
195
+ .split(/[.-]/)
196
+ .map(Number);
197
+ if (major < 1 ||
198
+ (major === 1 && (minor < 2 || (minor === 2 && patch < 13))) ||
199
+ version.startsWith("1.2.13-")) {
200
+ throw new Error(`Celox build watch requires Rolldown >= 1.2.13 (found ${version}). Update Vite's Rolldown dependency to fix directory watch exclusions.`);
201
+ }
202
+ }
203
+ this.addWatchFile(projectRoot);
204
+ }
50
205
  let componentManifests;
51
206
  if (testbenchComponents) {
52
207
  const loaded = await loadTestbenchComponentModule(testbenchComponents, projectRoot, viteConfig);
53
208
  componentManifests = loaded.manifests;
54
209
  testbenchComponentDependencies = loaded.dependencies;
210
+ devWatcher?.add([...loaded.dependencies]);
55
211
  for (const dependency of testbenchComponentDependencies) {
56
212
  this.addWatchFile(dependency);
57
213
  }
@@ -59,13 +215,126 @@ export default function celoxPlugin(options) {
59
215
  }
60
216
  cache = new GenTsCache(projectRoot, componentManifests);
61
217
  // Run generator and create type sidecars
62
- const data = cache.get();
63
- cleanSidecars(sidecarPaths);
64
- sidecarPaths = generateSidecars(data, projectRoot);
218
+ await withSidecarLock(projectRoot, () => {
219
+ const data = cache.get();
220
+ const nextPaths = generateSidecars(data, projectRoot);
221
+ cleanSidecars(sidecarPaths, nextPaths);
222
+ sidecarPaths = nextPaths;
223
+ generatedData = data;
224
+ });
225
+ if (viteConfig.command === "build" && this.meta.watchMode) {
226
+ const inputs = [
227
+ ...cache.sourceFiles,
228
+ ...CONFIG_FILES.map(projectFile),
229
+ ...testbenchComponentDependencies,
230
+ ].filter(existsSync);
231
+ for (const file of inputs)
232
+ this.addWatchFile(file);
233
+ }
234
+ },
235
+ configureServer(server) {
236
+ devWatcher = server.watcher;
237
+ server.watcher.add([...testbenchComponentDependencies]);
238
+ server.httpServer?.once("close", () => {
239
+ if (devWatcher === server.watcher)
240
+ devWatcher = undefined;
241
+ });
242
+ server.watcher.add([projectRoot, ...CONFIG_FILES.map(projectFile)]);
243
+ const hmrDisabled = server.config.server.hmr === false;
244
+ let notifyingProject = false;
245
+ const notifyProject = (completed = true) => {
246
+ if (completed && !hmrDisabled && !server.environments)
247
+ projectNotifications.push(projectContents());
248
+ // Generation already completed before this project notification.
249
+ notifyingProject = true;
250
+ try {
251
+ server.watcher.emit("change", projectFile("Veryl.toml"));
252
+ }
253
+ finally {
254
+ notifyingProject = false;
255
+ }
256
+ };
257
+ const reportError = (file, error) => {
258
+ server.config.logger.error(String(error));
259
+ // Vitest must also rerun and report failed dependency resolution.
260
+ if (normalizePath(file) === projectFile("Veryl.lock") ||
261
+ testbenchComponentDependencies.has(normalizeTestbenchComponentPath(file)))
262
+ notifyProject(false);
263
+ };
264
+ // Vitest disables HMR, so its watcher also needs cache/sidecar updates.
265
+ const sourceChanged = (file, retryComponent = false) => {
266
+ if (notifyingProject &&
267
+ normalizePath(file) === projectFile("Veryl.toml"))
268
+ return;
269
+ // Raw events have no shared per-environment timestamp to deduplicate.
270
+ void regenerate(file, undefined, undefined, retryComponent === true)
271
+ .then((changed) => {
272
+ if (!changed)
273
+ return;
274
+ if (server.environments) {
275
+ for (const environment of Object.values(server.environments))
276
+ affectedModules(environment.moduleGraph);
277
+ }
278
+ else {
279
+ affectedModules(server.moduleGraph);
280
+ }
281
+ if (changed.componentChanged ||
282
+ normalizePath(file) === projectFile("Veryl.lock"))
283
+ notifyProject();
284
+ })
285
+ .catch((error) => reportError(file, error));
286
+ };
287
+ if (hmrDisabled)
288
+ server.watcher.on("change", sourceChanged);
289
+ // Vite 6+ with HMR invokes hotUpdate for create/delete itself.
290
+ if (server.environments && !hmrDisabled)
291
+ return;
292
+ // New/deleted sources have no existing module node. Notify through
293
+ // the shared project dependency on Vite 5 or with HMR disabled.
294
+ const catalogueChanged = (file) => {
295
+ file = normalizePath(file);
296
+ if (testbenchComponentDependencies.has(normalizeTestbenchComponentPath(file))) {
297
+ sourceChanged(file);
298
+ return;
299
+ }
300
+ if (file === projectFile("Veryl.lock")) {
301
+ void regenerate(file)
302
+ .then((changed) => {
303
+ if (changed)
304
+ notifyProject();
305
+ })
306
+ .catch((error) => reportError(file, error));
307
+ return;
308
+ }
309
+ if ((file.startsWith(projectPrefix) && file.endsWith(".veryl")) ||
310
+ CONFIG_FILES.some((name) => projectFile(name) === file)) {
311
+ server.watcher.emit("change", projectFile("Veryl.toml"));
312
+ }
313
+ else if (testbenchComponents && pendingRegeneration) {
314
+ // A preceding load may discover this file or fail because it
315
+ // did not exist yet. Recheck after that load settles.
316
+ sourceChanged(file, true);
317
+ }
318
+ };
319
+ server.watcher.on("add", catalogueChanged);
320
+ server.watcher.on("unlink", catalogueChanged);
321
+ server.httpServer?.once("close", () => {
322
+ projectNotifications.length = 0;
323
+ server.watcher.off("change", sourceChanged);
324
+ server.watcher.off("add", catalogueChanged);
325
+ server.watcher.off("unlink", catalogueChanged);
326
+ });
65
327
  },
66
328
  resolveId(source, importer) {
67
329
  // Split off query string (e.g. "?dse=preserveAllPorts")
68
330
  const [rawPath, queryStr] = source.split("?", 2);
331
+ if (source.startsWith("\0"))
332
+ return;
333
+ if (queryStr === PROJECT_QUERY || queryStr === WATCH_QUERY) {
334
+ const id = normalizePath(source);
335
+ resolvedIds.add(id);
336
+ return id;
337
+ }
69
338
  if (!rawPath.endsWith(".veryl"))
70
339
  return;
71
340
  // Resolve to absolute path
@@ -74,22 +343,48 @@ export default function celoxPlugin(options) {
74
343
  absPath = rawPath;
75
344
  }
76
345
  else if (importer) {
77
- absPath = resolve(dirname(importer), rawPath);
346
+ absPath = resolve(dirname(importer.split("?", 1)[0]), rawPath);
78
347
  }
79
348
  else {
80
349
  absPath = resolve(rawPath);
81
350
  }
351
+ absPath = normalizePath(absPath);
82
352
  // Only handle .veryl files that exist
83
353
  if (!existsSync(absPath))
84
354
  return;
85
- // Preserve query string in virtual ID
86
- return VERYL_PREFIX + absPath + (queryStr ? `?${queryStr}` : "");
355
+ // Preserve the real file identity so Vite/Vitest can trace changes.
356
+ const id = absPath + (queryStr ? `?${queryStr}` : "");
357
+ resolvedIds.add(id);
358
+ return id;
87
359
  },
88
360
  load(id) {
89
- if (!id.startsWith(VERYL_PREFIX))
361
+ if (!resolvedIds.has(id))
362
+ return;
363
+ const [absPath, queryStr] = id.split("?", 2);
364
+ if (queryStr === WATCH_QUERY) {
365
+ // Vite 5 also adds watch files to import analysis, which requires
366
+ // them to exist. configureServer watches optional configs separately.
367
+ if (existsSync(absPath))
368
+ this.addWatchFile(absPath);
369
+ return "export {};";
370
+ }
371
+ if (id === projectId) {
372
+ cache.get();
373
+ const files = new Set([
374
+ ...cache.sourceFiles.map(normalizePath),
375
+ // Lockfiles are watched directly. Only changed resolutions notify
376
+ // the project, avoiding no-op generator writes rerunning Vitest.
377
+ ...CONFIG_FILES.filter((name) => name !== "Veryl.lock").map(projectFile),
378
+ ...testbenchComponentDependencies,
379
+ ]);
380
+ return [...files]
381
+ .map((file) => `import ${JSON.stringify(`${file}?${WATCH_QUERY}`)};`)
382
+ .join("\n");
383
+ }
384
+ if (!absPath.endsWith(".veryl"))
90
385
  return;
91
- const rest = id.slice(VERYL_PREFIX.length);
92
- const [absPath, queryStr] = rest.split("?", 2);
386
+ loadedIds.add(id);
387
+ this.addWatchFile(absPath);
93
388
  const params = new URLSearchParams(queryStr ?? "");
94
389
  // Parse ?dse= query parameter
95
390
  let dsePolicy;
@@ -123,7 +418,7 @@ export default function celoxPlugin(options) {
123
418
  regularModules.push(name);
124
419
  }
125
420
  }
126
- const parts = [];
421
+ const parts = [`import ${JSON.stringify(projectId)};`];
127
422
  // Build ESM exports for regular (non-test) modules
128
423
  for (const name of regularModules) {
129
424
  const mod = data.modules.find((m) => m.moduleName === name);
@@ -140,24 +435,34 @@ export default function celoxPlugin(options) {
140
435
  }
141
436
  return parts.join("\n\n") || "export {};";
142
437
  },
143
- async handleHotUpdate({ file, server }) {
144
- const componentChanged = testbenchComponents !== undefined &&
145
- testbenchComponentDependencies.has(normalizeTestbenchComponentPath(file));
146
- if (!file.endsWith(".veryl") && !componentChanged)
147
- return;
148
- if (componentChanged && testbenchComponents) {
149
- const loaded = await loadTestbenchComponentModule(testbenchComponents, projectRoot, viteConfig);
150
- testbenchComponentDependencies = loaded.dependencies;
151
- server.watcher.add([...testbenchComponentDependencies]);
152
- writeTestbenchComponentSidecar(projectRoot, testbenchComponents, loaded.manifests);
153
- cache.setTestbenchComponents(loaded.manifests);
438
+ async hotUpdate({ file, modules, type, read }) {
439
+ if ((await regenerate(file, type === "update" ? read : undefined, read)) ===
440
+ false)
441
+ return normalizePath(file) === projectFile("Veryl.lock")
442
+ ? directLockfileConsumers(modules)
443
+ : undefined;
444
+ return affectedModules(this.environment.moduleGraph, modules);
445
+ },
446
+ // Vite 5 uses the server graph; newer Vite calls hotUpdate above.
447
+ async handleHotUpdate({ file, server, modules, read }) {
448
+ let stabilizedRead = read;
449
+ if (normalizePath(file) === projectFile("Veryl.toml") &&
450
+ projectNotifications.length) {
451
+ const expected = projectNotifications.shift();
452
+ // The Vite 5 listener awaits watch hooks after emit() returns.
453
+ // Consume the marker here; real intervening config edits still regenerate.
454
+ if (read) {
455
+ await read();
456
+ stabilizedRead = undefined;
457
+ }
458
+ if (expected !== undefined && expected === projectContents())
459
+ return affectedModules(server.moduleGraph, modules);
154
460
  }
155
- // Invalidate cache so next load re-runs the generator
156
- cache.invalidate();
157
- // Re-generate sidecars
158
- const data = cache.get();
159
- cleanSidecars(sidecarPaths);
160
- sidecarPaths = generateSidecars(data, projectRoot);
461
+ if ((await regenerate(file, stabilizedRead)) === false)
462
+ return normalizePath(file) === projectFile("Veryl.lock")
463
+ ? directLockfileConsumers(modules)
464
+ : undefined;
465
+ return affectedModules(server.moduleGraph, modules);
161
466
  },
162
467
  };
163
468
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Serialize catalogue reads and declaration writes across local processes. */
2
+ export declare function withSidecarLock<T>(projectRoot: string, run: () => T | Promise<T>): Promise<T>;
3
+ //# sourceMappingURL=sidecar-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidecar-lock.d.ts","sourceRoot":"","sources":["../src/sidecar-lock.ts"],"names":[],"mappings":"AA8DA,+EAA+E;AAC/E,wBAAsB,eAAe,CAAC,CAAC,EACtC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,OAAO,CAAC,CAAC,CAAC,CAiFZ"}