veryfront 0.1.1152 → 0.1.1154

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.
Files changed (43) hide show
  1. package/esm/deno.js +1 -1
  2. package/esm/src/cache/dependency-graph.d.ts.map +1 -1
  3. package/esm/src/cache/dependency-graph.js +11 -3
  4. package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.d.ts.map +1 -1
  5. package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.js +4 -3
  6. package/esm/src/modules/react-loader/ssr-module-loader/tmp-paths.js +1 -1
  7. package/esm/src/platform/adapters/base.d.ts +10 -0
  8. package/esm/src/platform/adapters/base.d.ts.map +1 -1
  9. package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts +15 -0
  10. package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts.map +1 -1
  11. package/esm/src/platform/adapters/fs/veryfront/adapter.js +181 -17
  12. package/esm/src/platform/adapters/fs/veryfront/default-invalidation-callbacks.d.ts.map +1 -1
  13. package/esm/src/platform/adapters/fs/veryfront/default-invalidation-callbacks.js +12 -7
  14. package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.d.ts +2 -0
  15. package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.d.ts.map +1 -1
  16. package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.js +28 -0
  17. package/esm/src/platform/adapters/fs/veryfront/types.d.ts +10 -7
  18. package/esm/src/platform/adapters/fs/veryfront/types.d.ts.map +1 -1
  19. package/esm/src/platform/adapters/fs/veryfront/websocket-manager.d.ts +3 -10
  20. package/esm/src/platform/adapters/fs/veryfront/websocket-manager.d.ts.map +1 -1
  21. package/esm/src/platform/adapters/fs/veryfront/websocket-manager.js +39 -17
  22. package/esm/src/platform/adapters/fs/wrapper.d.ts +2 -0
  23. package/esm/src/platform/adapters/fs/wrapper.d.ts.map +1 -1
  24. package/esm/src/platform/adapters/fs/wrapper.js +8 -0
  25. package/esm/src/rendering/app-route-resolver.js +17 -19
  26. package/esm/src/rendering/router-detection.js +41 -10
  27. package/esm/src/server/handlers/request/agent-stream.handler.d.ts.map +1 -1
  28. package/esm/src/server/handlers/request/agent-stream.handler.js +1 -0
  29. package/esm/src/server/handlers/request/api/api-handler-wrapper.d.ts +1 -0
  30. package/esm/src/server/handlers/request/api/api-handler-wrapper.d.ts.map +1 -1
  31. package/esm/src/server/handlers/request/api/api-handler-wrapper.js +37 -3
  32. package/esm/src/server/handlers/request/api/pages-api-handler.d.ts +7 -1
  33. package/esm/src/server/handlers/request/api/pages-api-handler.d.ts.map +1 -1
  34. package/esm/src/server/handlers/request/api/pages-api-handler.js +26 -10
  35. package/esm/src/server/handlers/request/api/project-discovery.d.ts +6 -0
  36. package/esm/src/server/handlers/request/api/project-discovery.d.ts.map +1 -1
  37. package/esm/src/server/handlers/request/api/project-discovery.js +43 -11
  38. package/esm/src/server/runtime-handler/adapter-factory.d.ts.map +1 -1
  39. package/esm/src/server/runtime-handler/adapter-factory.js +10 -8
  40. package/esm/src/types/entities/getEntityInfo.js +0 -15
  41. package/esm/src/utils/version-constant.d.ts +1 -1
  42. package/esm/src/utils/version-constant.js +1 -1
  43. package/package.json +5 -5
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.1152",
3
+ "version": "0.1.1154",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../../src/src/cache/dependency-graph.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,UAAU,CAAkC;IAEpD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI;IAwBzD,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAIjD,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAUrD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAUzC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAapC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;IAInD,KAAK,IAAI,IAAI;IAKb,aAAa,IAAI,MAAM,EAAE;IAIzB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,uBAAuB;IAsB/B,OAAO,CAAC,iBAAiB;CAgB1B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAgB,yBAAyB,IAAI,mBAAmB,CAQ/D;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,mBAAmB,EAC1B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC7B,MAAM,CAkBR;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAWjE;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,CAsBR;AAMD,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAC7C,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,mBAAiD,GACvD,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
1
+ {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../../src/src/cache/dependency-graph.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,qBAAa,eAAe;IAC1B,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,UAAU,CAAkC;IAEpD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI;IAwBzD,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAIjD,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAUrD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAUzC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAapC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;IAInD,KAAK,IAAI,IAAI;IAKb,aAAa,IAAI,MAAM,EAAE;IAIzB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,uBAAuB;IAsB/B,OAAO,CAAC,iBAAiB;CAgB1B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,eAAe,CAAC;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAgB,yBAAyB,IAAI,mBAAmB,CAQ/D;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,mBAAmB,EAC1B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC7B,MAAM,CAkBR;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAWjE;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,CAsBR;AAkBD,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAC7C,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,mBAAiD,GACvD,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
@@ -147,7 +147,7 @@ export function filterLocalImports(specifiers) {
147
147
  }
148
148
  export function normalizeSpecifierToPath(specifier, fromFile, projectDir) {
149
149
  if (specifier.startsWith("@/")) {
150
- return normalizeExtension(`${projectDir}/${specifier.slice(2)}`);
150
+ return normalizeDependencyPath(`${projectDir}/${specifier.slice(2)}`, fromFile);
151
151
  }
152
152
  if (specifier.startsWith("./") || specifier.startsWith("../")) {
153
153
  const fromDir = fromFile.substring(0, fromFile.lastIndexOf("/"));
@@ -158,13 +158,21 @@ export function normalizeSpecifierToPath(specifier, fromFile, projectDir) {
158
158
  else if (part !== ".")
159
159
  parts.push(part);
160
160
  }
161
- return normalizeExtension(`/${parts.join("/")}`);
161
+ return normalizeDependencyPath(`/${parts.join("/")}`, fromFile);
162
162
  }
163
163
  if (specifier.startsWith("file://")) {
164
- return normalizeExtension(specifier.slice(7));
164
+ return normalizeDependencyPath(specifier.slice(7), fromFile);
165
165
  }
166
166
  return specifier;
167
167
  }
168
+ function normalizeDependencyPath(path, fromFile) {
169
+ if (fromFile.endsWith(".src") &&
170
+ !path.endsWith(".src") &&
171
+ /\.(?:[cm]?[jt]sx?|mdx?)$/.test(path)) {
172
+ return `${path}.src`;
173
+ }
174
+ return normalizeExtension(path);
175
+ }
168
176
  function normalizeExtension(path) {
169
177
  return path.replace(/\.(tsx?|jsx)$/, ".js");
170
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http-bundle-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AA2BzD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC7E,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;GAGG;AACH,wBAAsB,kCAAkC,CACtD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAyBhD;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B1F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB1D;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBlF;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,wBAElC,CAAC"}
1
+ {"version":3,"file":"http-bundle-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AA2BzD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC7E,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;GAGG;AACH,wBAAsB,kCAAkC,CACtD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAyBhD;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B1F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB1D;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBlF;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,wBAElC,CAAC"}
@@ -124,13 +124,14 @@ export function extractHttpBundlePaths(code) {
124
124
  */
125
125
  export function extractAllFilePaths(code) {
126
126
  // Create regex per call to avoid shared lastIndex state across concurrent calls.
127
- const allFilePathsPattern = /file:\/\/([^"'\s]+\.(?:mjs|js|tsx|ts|jsx)(?:\?[^"'\s]*)?)/gi;
127
+ const allFilePathsPattern = /file:\/\/(\/[^"'\s]+)/gi;
128
+ const supportedPathPattern = /\.(?:mjs|js|tsx|ts|jsx)(?:\.src)?$/i;
128
129
  const paths = [];
129
130
  const seen = new Set();
130
131
  let match;
131
132
  while ((match = allFilePathsPattern.exec(code)) !== null) {
132
- const path = match[1]?.replace(/\?.*$/, "");
133
- if (!path || seen.has(path))
133
+ const path = match[1]?.replace(/[?#].*$/, "");
134
+ if (!path || !supportedPathPattern.test(path) || seen.has(path))
134
135
  continue;
135
136
  seen.add(path);
136
137
  paths.push(path);
@@ -26,6 +26,6 @@ export function buildTempModulePath(tmpDir, filePath, projectDir, version, conte
26
26
  const hashSuffix = contentHash
27
27
  ? `.v${versionPrefix}.${contentHash.slice(0, 8)}`
28
28
  : `.v${versionPrefix}`;
29
- const jsPath = relativePath.replace(/\.(tsx?|jsx|mdx)$/, `${hashSuffix}.js`);
29
+ const jsPath = relativePath.replace(/\.(tsx?|jsx|mdx)(?:\.src)?$/, `${hashSuffix}.js`);
30
30
  return join(tmpDir, jsPath);
31
31
  }
@@ -140,6 +140,16 @@ export interface FileSystemAdapter {
140
140
  resolveFile?(basePath: string, options?: ResolveFileOptions): Promise<string | null>;
141
141
  /** Refresh remote source snapshots when a preview render detects stale cached content. */
142
142
  refreshSourceSnapshot?(reason?: string): Promise<void>;
143
+ /**
144
+ * Confirm that a mutable remote source snapshot is within its freshness
145
+ * lease, coalescing the network check across concurrent requests.
146
+ */
147
+ ensureSourceSnapshotFresh?(reason?: string): Promise<void>;
148
+ /**
149
+ * Monotonic generation for the active source snapshot. Consumers can retain
150
+ * derived state while this value is unchanged.
151
+ */
152
+ getSourceSnapshotVersion?(): number | undefined | Promise<number | undefined>;
143
153
  }
144
154
  export interface ResolveFileOptions {
145
155
  allowPagesPrefix?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/src/platform/adapters/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/src/platform/adapters/base.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,13 @@ export declare class VeryfrontFSAdapter implements FSAdapter {
19
19
  private branchMissRecoveryPromise;
20
20
  private branchMissRecoveryGeneration;
21
21
  private readonly branchMissRecoveryFailures;
22
+ /** Last successful source check and generation of the materialized snapshot. */
23
+ private sourceSnapshotCheckedAt;
24
+ private sourceSnapshotVersion;
25
+ private sourceSnapshotIdentity;
26
+ private sourceSnapshotFiles;
27
+ private sourceSnapshotRefreshPromise;
28
+ private sourceSnapshotMutationTail;
22
29
  private projectData?;
23
30
  private apiBaseUrl;
24
31
  private apiToken;
@@ -35,6 +42,7 @@ export declare class VeryfrontFSAdapter implements FSAdapter {
35
42
  /** Whether running in proxy mode (shared adapter with per-request OAuth tokens) */
36
43
  private proxyMode;
37
44
  private getCurrentFileListCacheKey;
45
+ private getCurrentSourceSnapshotIdentity;
38
46
  private syncClientContext;
39
47
  private getCachedFileListSync;
40
48
  private getCachedFileListAsync;
@@ -49,7 +57,14 @@ export declare class VeryfrontFSAdapter implements FSAdapter {
49
57
  private refreshBranchSnapshotAfterMiss;
50
58
  private withBranchSnapshotRecovery;
51
59
  private scheduleFileListWarmup;
60
+ private markSourceSnapshotChanged;
61
+ private runSourceSnapshotMutation;
62
+ private replaceSourceSnapshot;
63
+ private invalidateDerivedSourceCaches;
64
+ private performSourceSnapshotRefresh;
52
65
  refreshSourceSnapshot(reason?: string): Promise<void>;
66
+ ensureSourceSnapshotFresh(reason?: string): Promise<void>;
67
+ getSourceSnapshotVersion(): number;
53
68
  getPokeMetrics(): {
54
69
  received: number;
55
70
  invalidationsTriggered: number;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/adapter.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,29 @@ import { clearCachedReleaseAssetManifests, registerManifestFetcherForRelease, un
16
16
  import { parseReleaseAssetManifest } from "../../../../release-assets/manifest-schema.js";
17
17
  const logger = baseLogger.component("veryfront-fs-adapter");
18
18
  const BRANCH_MISS_RECOVERY_FAILURE_TTL_MS = 5_000;
19
+ const BRANCH_SOURCE_SNAPSHOT_FRESHNESS_MS = 30_000;
20
+ // Process-wide uniqueness prevents a recreated adapter from matching stale
21
+ // derived-state generations left behind by its predecessor.
22
+ let sourceSnapshotGeneration = 0;
23
+ function nextSourceSnapshotGeneration() {
24
+ sourceSnapshotGeneration++;
25
+ return sourceSnapshotGeneration;
26
+ }
27
+ function sourceSnapshotsEqual(previous, next) {
28
+ if (!previous || previous.length !== next.length)
29
+ return false;
30
+ const previousByPath = new Map(previous.map((file) => [file.path, file]));
31
+ return next.every((file) => {
32
+ const prior = previousByPath.get(file.path);
33
+ return prior !== undefined &&
34
+ prior.id === file.id &&
35
+ prior.version_id === file.version_id &&
36
+ prior.content === file.content &&
37
+ prior.type === file.type &&
38
+ prior.size === file.size &&
39
+ prior.updated_at === file.updated_at;
40
+ });
41
+ }
19
42
  /**
20
43
  * Build a project-scoped manifest fetcher backed by the given API client.
21
44
  *
@@ -49,6 +72,13 @@ export class VeryfrontFSAdapter {
49
72
  branchMissRecoveryPromise = null;
50
73
  branchMissRecoveryGeneration = 0;
51
74
  branchMissRecoveryFailures = new Map();
75
+ /** Last successful source check and generation of the materialized snapshot. */
76
+ sourceSnapshotCheckedAt = 0;
77
+ sourceSnapshotVersion = 0;
78
+ sourceSnapshotIdentity;
79
+ sourceSnapshotFiles;
80
+ sourceSnapshotRefreshPromise = null;
81
+ sourceSnapshotMutationTail = Promise.resolve();
52
82
  projectData;
53
83
  apiBaseUrl;
54
84
  apiToken;
@@ -67,6 +97,19 @@ export class VeryfrontFSAdapter {
67
97
  getCurrentFileListCacheKey() {
68
98
  return this.contentContext ? buildFileListCacheKey(this.contentContext) : undefined;
69
99
  }
100
+ getCurrentSourceSnapshotIdentity() {
101
+ const context = this.contentContext;
102
+ if (!context)
103
+ return undefined;
104
+ switch (context.sourceType) {
105
+ case "branch":
106
+ return `branch:${context.projectSlug}:${this.requestBranch ?? context.branch ?? "main"}`;
107
+ case "environment":
108
+ return `environment:${context.projectSlug}:${context.environmentName ?? ""}:${context.releaseId ?? ""}`;
109
+ case "release":
110
+ return `release:${context.projectSlug}:${context.releaseId ?? ""}`;
111
+ }
112
+ }
70
113
  syncClientContext() {
71
114
  this.client.clearRequestBranch();
72
115
  if (this.contentContext) {
@@ -173,8 +216,7 @@ export class VeryfrontFSAdapter {
173
216
  this.statOps.clearIndex();
174
217
  this.dirOps.clearTree();
175
218
  },
176
- clearFileListIndex: () => this.readOps.clearFileListIndex(),
177
- setFileListCache: (cacheKey, files) => this.cache.setAsync(cacheKey, files),
219
+ replaceSourceSnapshot: (cacheKey, files) => this.replaceSourceSnapshot(cacheKey, files),
178
220
  pregenerateStyles: (files) => this.triggerCSSPregeneration(files),
179
221
  });
180
222
  logger.debug("Created", {
@@ -256,6 +298,7 @@ export class VeryfrontFSAdapter {
256
298
  const files = await fetchFileListForContext(this.client, contentContext);
257
299
  const fileSummary = summarizeFileList(files);
258
300
  await this.cache.setAsync(cacheKey, files);
301
+ this.markSourceSnapshotChanged(files);
259
302
  this.fileListReadyResolve?.();
260
303
  this.fileListReadyResolve = null;
261
304
  logger.debug("Fetched files during initialization", {
@@ -490,7 +533,53 @@ export class VeryfrontFSAdapter {
490
533
  this.fileListWarmupKey = effectiveCacheKey;
491
534
  this.readOps.setFileListReadyPromise(warmupPromise);
492
535
  }
493
- async refreshSourceSnapshot(reason = "manual-refresh") {
536
+ markSourceSnapshotChanged(files, identity = this.getCurrentSourceSnapshotIdentity()) {
537
+ this.sourceSnapshotFiles = files;
538
+ this.sourceSnapshotIdentity = identity;
539
+ this.sourceSnapshotVersion = nextSourceSnapshotGeneration();
540
+ this.sourceSnapshotCheckedAt = Date.now();
541
+ }
542
+ runSourceSnapshotMutation(operation) {
543
+ const mutation = this.sourceSnapshotMutationTail
544
+ .catch(() => undefined)
545
+ .then(operation);
546
+ this.sourceSnapshotMutationTail = mutation.then(() => undefined, () => undefined);
547
+ return mutation;
548
+ }
549
+ replaceSourceSnapshot(cacheKey, files) {
550
+ return this.runSourceSnapshotMutation(async () => {
551
+ const context = this.contentContext;
552
+ if (!context || buildFileListCacheKey(context) !== cacheKey) {
553
+ logger.debug("Discarding source snapshot for superseded content context", {
554
+ cacheKey,
555
+ projectSlug: this.projectSlug,
556
+ });
557
+ return;
558
+ }
559
+ await this.cache.setAsync(cacheKey, files);
560
+ this.readOps.clearFileListIndex();
561
+ this.markSourceSnapshotChanged(files);
562
+ });
563
+ }
564
+ async invalidateDerivedSourceCaches() {
565
+ const projectId = this.client.getProjectId();
566
+ const invalidations = [];
567
+ if (projectId) {
568
+ invalidations.push(this.invalidationCallbacks.clearSSRModuleCacheForProject?.(projectId), this.invalidationCallbacks.clearRouterDetectionCacheForProject?.(projectId), this.invalidationCallbacks.clearProjectDiscoveryCacheForProject?.(projectId), this.invalidationCallbacks.clearRendererCacheForProject?.(projectId));
569
+ }
570
+ else {
571
+ invalidations.push(this.invalidationCallbacks.clearSSRModuleCache?.());
572
+ }
573
+ invalidations.push(this.invalidationCallbacks.clearModulePathCache?.());
574
+ if (this.projectSlug) {
575
+ invalidations.push(this.invalidationCallbacks.clearSnippetCacheForProject?.(this.projectSlug), this.invalidationCallbacks.clearProjectCSSCache?.(this.projectSlug));
576
+ }
577
+ const pendingInvalidations = invalidations.filter((invalidation) => invalidation !== undefined);
578
+ if (pendingInvalidations.length > 0) {
579
+ await Promise.all(pendingInvalidations);
580
+ }
581
+ }
582
+ async performSourceSnapshotRefresh(reason) {
494
583
  await this.ensureInitialized();
495
584
  if (!this.contentContext) {
496
585
  logger.debug("Skipping source snapshot refresh without content context", {
@@ -501,22 +590,58 @@ export class VeryfrontFSAdapter {
501
590
  }
502
591
  const cacheKey = buildFileListCacheKey(this.contentContext);
503
592
  const refreshContext = this.contentContext;
504
- this.fileListWarmupPromise = null;
505
- this.fileListWarmupKey = null;
506
- this.readOps.clearFileListIndex();
507
- this.statOps.clearIndex();
508
- this.dirOps.clearTree();
509
- await Promise.all([
510
- this.cache.deleteByPrefixAsync(buildFileCacheKeyPrefix(refreshContext)),
511
- this.cache.deleteByPrefixAsync(buildStatCacheKeyPrefix(refreshContext)),
512
- this.cache.deleteByPrefixAsync(buildDirCacheKeyPrefix(refreshContext)),
513
- this.cache.deleteAsync(cacheKey),
514
- ]);
593
+ const refreshIdentity = this.getCurrentSourceSnapshotIdentity();
594
+ const previousFiles = this.sourceSnapshotFiles;
595
+ const previousVersion = this.sourceSnapshotVersion;
515
596
  const files = await fetchFileListForContext(this.client, refreshContext);
516
- await this.cache.setAsync(cacheKey, files);
597
+ const result = await this.runSourceSnapshotMutation(async () => {
598
+ if (this.contentContext !== refreshContext ||
599
+ this.getCurrentSourceSnapshotIdentity() !== refreshIdentity ||
600
+ this.sourceSnapshotVersion !== previousVersion) {
601
+ return { applied: false, sourceChanged: false };
602
+ }
603
+ const sourceChanged = !sourceSnapshotsEqual(previousFiles, files);
604
+ if (sourceChanged) {
605
+ this.fileListWarmupPromise = null;
606
+ this.fileListWarmupKey = null;
607
+ this.readOps.clearFileListIndex();
608
+ this.statOps.clearIndex();
609
+ this.dirOps.clearTree();
610
+ await Promise.all([
611
+ this.cache.deleteByPrefixAsync(buildFileCacheKeyPrefix(refreshContext)),
612
+ this.cache.deleteByPrefixAsync(buildStatCacheKeyPrefix(refreshContext)),
613
+ this.cache.deleteByPrefixAsync(buildDirCacheKeyPrefix(refreshContext)),
614
+ this.cache.deleteAsync(cacheKey),
615
+ ]);
616
+ }
617
+ await this.cache.setAsync(cacheKey, files);
618
+ this.branchMissRecoveryFailures.clear();
619
+ if (sourceChanged) {
620
+ await this.invalidateDerivedSourceCaches();
621
+ // Publish freshness only after every cache derived from the previous
622
+ // snapshot has been invalidated. Concurrent followers remain attached
623
+ // to the refresh singleflight until this point.
624
+ this.markSourceSnapshotChanged(files, refreshIdentity);
625
+ }
626
+ else {
627
+ this.sourceSnapshotFiles = files;
628
+ this.sourceSnapshotIdentity = refreshIdentity;
629
+ this.sourceSnapshotCheckedAt = Date.now();
630
+ }
631
+ return { applied: true, sourceChanged };
632
+ });
633
+ if (!result.applied) {
634
+ logger.debug("Discarding stale source snapshot refresh", {
635
+ reason,
636
+ cacheKey,
637
+ projectSlug: this.projectSlug,
638
+ });
639
+ return;
640
+ }
517
641
  const fileSummary = summarizeFileList(files);
518
- this.branchMissRecoveryFailures.clear();
519
- if (fileSummary.sourceFilesWithContent > 0 && this.shouldBackgroundPregenerateStyles()) {
642
+ if (result.sourceChanged &&
643
+ fileSummary.sourceFilesWithContent > 0 &&
644
+ this.shouldBackgroundPregenerateStyles()) {
520
645
  this.triggerCSSPregeneration(files).catch(() => {
521
646
  // Error already logged in triggerCSSPregeneration
522
647
  });
@@ -531,8 +656,42 @@ export class VeryfrontFSAdapter {
531
656
  releaseId: refreshContext.releaseId,
532
657
  totalFiles: fileSummary.totalFiles,
533
658
  filesWithContent: fileSummary.filesWithContent,
659
+ sourceChanged: result.sourceChanged,
660
+ sourceSnapshotVersion: this.sourceSnapshotVersion,
534
661
  });
535
662
  }
663
+ async refreshSourceSnapshot(reason = "manual-refresh") {
664
+ await this.ensureInitialized();
665
+ while (true) {
666
+ this.sourceSnapshotRefreshPromise ??= this.performSourceSnapshotRefresh(reason);
667
+ const refresh = this.sourceSnapshotRefreshPromise;
668
+ try {
669
+ await refresh;
670
+ }
671
+ finally {
672
+ if (this.sourceSnapshotRefreshPromise === refresh) {
673
+ this.sourceSnapshotRefreshPromise = null;
674
+ }
675
+ }
676
+ const currentIdentity = this.getCurrentSourceSnapshotIdentity();
677
+ if (currentIdentity === undefined ||
678
+ this.sourceSnapshotIdentity === currentIdentity)
679
+ return;
680
+ }
681
+ }
682
+ async ensureSourceSnapshotFresh(reason = "freshness-check") {
683
+ await this.ensureInitialized();
684
+ if (this.contentContext?.sourceType !== "branch")
685
+ return;
686
+ if (this.sourceSnapshotIdentity === this.getCurrentSourceSnapshotIdentity() &&
687
+ Date.now() - this.sourceSnapshotCheckedAt < BRANCH_SOURCE_SNAPSHOT_FRESHNESS_MS) {
688
+ return;
689
+ }
690
+ await this.refreshSourceSnapshot(reason);
691
+ }
692
+ getSourceSnapshotVersion() {
693
+ return this.sourceSnapshotVersion;
694
+ }
536
695
  getPokeMetrics() {
537
696
  return this.wsManager.getPokeMetrics();
538
697
  }
@@ -719,6 +878,11 @@ export class VeryfrontFSAdapter {
719
878
  this.branchMissRecoveryPromise = null;
720
879
  this.branchMissRecoveryGeneration++;
721
880
  this.branchMissRecoveryFailures.clear();
881
+ this.sourceSnapshotCheckedAt = 0;
882
+ this.sourceSnapshotVersion = 0;
883
+ this.sourceSnapshotIdentity = undefined;
884
+ this.sourceSnapshotFiles = undefined;
885
+ this.sourceSnapshotRefreshPromise = null;
722
886
  logger.debug("Cleared index and dirTree due to context change", {
723
887
  oldContext,
724
888
  newContext: context,
@@ -1 +1 @@
1
- {"version":3,"file":"default-invalidation-callbacks.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/default-invalidation-callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMxD,wBAAgB,kCAAkC,CAChD,SAAS,CAAC,EAAE,qBAAqB,GAChC,qBAAqB,CAwCvB"}
1
+ {"version":3,"file":"default-invalidation-callbacks.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/default-invalidation-callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAMxD,wBAAgB,kCAAkC,CAChD,SAAS,CAAC,EAAE,qBAAqB,GAChC,qBAAqB,CAmDvB"}
@@ -4,22 +4,27 @@ function loadModule(specifier) {
4
4
  export function createDefaultInvalidationCallbacks(callbacks) {
5
5
  return {
6
6
  clearSSRModuleCache: () => {
7
- void loadModule("#veryfront/modules/react-loader/ssr-module-loader/cache/index.ts").then((m) => m.clearSSRModuleCache());
7
+ return loadModule("#veryfront/modules/react-loader/ssr-module-loader/cache/index.ts").then((m) => m.clearSSRModuleCache());
8
8
  },
9
9
  clearModulePathCache: () => {
10
- void loadModule("#veryfront/transforms/mdx/esm-module-loader/cache/index.ts").then((m) => m.clearModulePathCache());
10
+ return loadModule("#veryfront/transforms/mdx/esm-module-loader/cache/index.ts").then((m) => m.clearModulePathCache());
11
11
  },
12
12
  invalidateModulePaths: (changedPaths) => {
13
- void loadModule("#veryfront/transforms/mdx/esm-module-loader/cache/index.ts").then((m) => m.invalidateModulePaths(changedPaths));
13
+ return loadModule("#veryfront/transforms/mdx/esm-module-loader/cache/index.ts").then((m) => m.invalidateModulePaths(changedPaths));
14
14
  },
15
15
  clearSSRModuleCacheForProject: (projectId) => {
16
- void loadModule("#veryfront/modules/react-loader/ssr-module-loader/cache/index.ts").then((m) => m.clearSSRModuleCacheForProject(projectId));
16
+ return loadModule("#veryfront/modules/react-loader/ssr-module-loader/cache/index.ts").then((m) => m.clearSSRModuleCacheForProject(projectId));
17
17
  },
18
- clearRouterDetectionCacheForProject: (projectId) => {
19
- void loadModule("#veryfront/rendering/router-detection.ts").then((m) => m.clearRouterDetectionCacheForProject(projectId));
18
+ clearRouterDetectionCacheForProject: async (projectId) => {
19
+ const module = await loadModule("#veryfront/rendering/router-detection.ts");
20
+ module.clearRouterDetectionCacheForProject(projectId);
21
+ },
22
+ clearProjectDiscoveryCacheForProject: async (projectId) => {
23
+ const module = await loadModule("#veryfront/server/handlers/request/api/project-discovery.ts");
24
+ module.clearProjectDiscoveryCacheForProject(projectId);
20
25
  },
21
26
  clearSnippetCacheForProject: (projectSlug) => {
22
- void loadModule("#veryfront/rendering/snippet-renderer.ts").then((m) => m.clearSnippetCacheForProject(projectSlug));
27
+ return loadModule("#veryfront/rendering/snippet-renderer.ts").then((m) => m.clearSnippetCacheForProject(projectSlug));
23
28
  },
24
29
  clearRendererCacheForProject: async (projectId) => {
25
30
  const { clearRendererCacheForProject } = await loadModule("#veryfront/rendering/renderer.ts");
@@ -32,6 +32,8 @@ export declare class MultiProjectFSAdapter implements FSAdapter {
32
32
  readDir(path: string): AsyncIterable<DirectoryEntry>;
33
33
  resolveFile(basePath: string, options?: ResolveFileOptions): Promise<string | null>;
34
34
  refreshSourceSnapshot(reason?: string): Promise<void>;
35
+ ensureSourceSnapshotFresh(reason?: string): Promise<void>;
36
+ getSourceSnapshotVersion(): Promise<number | undefined>;
35
37
  dispose(): void;
36
38
  getManagerStats(): ReturnType<ProxyFSAdapterManager["getStats"]>;
37
39
  getProjectData(): Promise<ReturnType<VeryfrontFSAdapter["getProjectData"]> | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"multi-project-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/multi-project-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-project-adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/multi-project-adapter.ts"],"names":[],"mappings":"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"}
@@ -163,6 +163,34 @@ export class MultiProjectFSAdapter {
163
163
  });
164
164
  }
165
165
  }
166
+ async ensureSourceSnapshotFresh(reason) {
167
+ const adapter = await this.getAdapter();
168
+ if (typeof adapter.ensureSourceSnapshotFresh !== "function")
169
+ return;
170
+ const previousVersion = await adapter.getSourceSnapshotVersion?.();
171
+ await adapter.ensureSourceSnapshotFresh(reason);
172
+ const currentVersion = await adapter.getSourceSnapshotVersion?.();
173
+ const sourceMayHaveChanged = previousVersion === undefined ||
174
+ currentVersion === undefined ||
175
+ previousVersion !== currentVersion;
176
+ if (!sourceMayHaveChanged)
177
+ return;
178
+ const cleared = clearRequestScopedFileCache();
179
+ if (cleared > 0) {
180
+ logger.debug("Cleared request-scoped file cache after source freshness changed", {
181
+ reason,
182
+ cleared,
183
+ previousVersion,
184
+ currentVersion,
185
+ });
186
+ }
187
+ }
188
+ async getSourceSnapshotVersion() {
189
+ const adapter = await this.getAdapter();
190
+ return typeof adapter.getSourceSnapshotVersion === "function"
191
+ ? await adapter.getSourceSnapshotVersion()
192
+ : undefined;
193
+ }
166
194
  dispose() {
167
195
  this.manager.dispose();
168
196
  this.defaultAdapter?.dispose();
@@ -28,6 +28,8 @@ export interface FSAdapter {
28
28
  shutdown?(): Promise<void>;
29
29
  resolveFile?(basePath: string, options?: ResolveFileOptions): Promise<string | null>;
30
30
  refreshSourceSnapshot?(reason?: string): Promise<void>;
31
+ ensureSourceSnapshotFresh?(reason?: string): Promise<void>;
32
+ getSourceSnapshotVersion?(): number | undefined | Promise<number | undefined>;
31
33
  }
32
34
  export interface ContextualFSAdapter extends FSAdapter {
33
35
  setRequestToken?(token: string): void;
@@ -133,16 +135,17 @@ export interface InvalidationProjectContext {
133
135
  styleAssetPath?: string;
134
136
  }
135
137
  export interface InvalidationCallbacks {
136
- clearSSRModuleCache?: () => void;
137
- clearSSRModuleCacheForProject?: (projectId: string) => void;
138
- clearRouterDetectionCacheForProject?: (projectId: string) => void;
139
- clearModulePathCache?: () => void;
140
- invalidateModulePaths?: (changedPaths: string[]) => void;
141
- clearSnippetCacheForProject?: (projectSlug: string) => void;
138
+ clearSSRModuleCache?: () => void | Promise<void>;
139
+ clearSSRModuleCacheForProject?: (projectId: string) => void | Promise<void>;
140
+ clearRouterDetectionCacheForProject?: (projectId: string) => void | Promise<void>;
141
+ clearProjectDiscoveryCacheForProject?: (projectId: string) => void | Promise<void>;
142
+ clearModulePathCache?: () => void | Promise<void>;
143
+ invalidateModulePaths?: (changedPaths: string[]) => void | Promise<void>;
144
+ clearSnippetCacheForProject?: (projectSlug: string) => void | Promise<void>;
142
145
  triggerReload?: (changedPaths?: string[], project?: InvalidationProjectContext) => void;
143
146
  clearRendererCacheForProject?: (projectId: string) => void | Promise<void>;
144
147
  /** Invalidate project-level CSS cache when source files change */
145
- clearProjectCSSCache?: (projectSlug: string) => void;
148
+ clearProjectCSSCache?: (projectSlug: string) => void | Promise<void>;
146
149
  /** Clear domain lookup cache to refresh release IDs after publishing */
147
150
  clearDomainCache?: () => void;
148
151
  /** Evict the current shared proxy adapter after successful invalidation */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/src/platform/adapters/fs/veryfront/types.ts"],"names":[],"mappings":"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"}