veryfront 0.1.1110 → 0.1.1111
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/esm/deno.js +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/cache/index.d.ts +1 -0
- package/esm/src/modules/react-loader/ssr-module-loader/cache/index.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/cache/memory.d.ts +10 -1
- package/esm/src/modules/react-loader/ssr-module-loader/cache/memory.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/cache/memory.js +14 -8
- package/esm/src/modules/react-loader/ssr-module-loader/index.d.ts +1 -0
- package/esm/src/modules/react-loader/ssr-module-loader/index.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/pipeline.js +2 -2
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +5 -5
package/esm/deno.js
CHANGED
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
* @module modules/react-loader/ssr-module-loader/cache
|
|
5
5
|
*/
|
|
6
6
|
export { acquireTransformSlot, clearSSRModuleCache, clearSSRModuleCacheForProject, failedComponents, getTransformSemaphore, getTransformStats, globalCrossProjectCache, globalInProgress, globalModuleCache, globalTmpDirs, releaseTransformSlot, tryAcquireTransformSlot, } from "./memory.js";
|
|
7
|
+
export type { ClearSSRModuleCacheForProjectOptions } from "./memory.js";
|
|
7
8
|
export { getFromRedis, initializeSSRDistributedCache, isSSRDistributedCacheEnabled, setInRedis, } from "./redis.js";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/src/modules/react-loader/ssr-module-loader/cache/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,6BAA6B,EAC7B,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,6BAA6B,EAC7B,4BAA4B,EAC5B,UAAU,GACX,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/src/modules/react-loader/ssr-module-loader/cache/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,6BAA6B,EAC7B,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EACL,YAAY,EACZ,6BAA6B,EAC7B,4BAA4B,EAC5B,UAAU,GACX,MAAM,YAAY,CAAC"}
|
|
@@ -20,6 +20,15 @@ export declare const globalCrossProjectCache: LRUCache<string, ModuleCacheEntry>
|
|
|
20
20
|
export declare const globalInProgress: Map<string, Promise<void>>;
|
|
21
21
|
export declare const globalTmpDirs: LRUCache<string, string>;
|
|
22
22
|
export declare const failedComponents: Map<string, FailureRecord>;
|
|
23
|
+
export interface ClearSSRModuleCacheForProjectOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Preserve live transform ownership and per-project capacity waiters while
|
|
26
|
+
* clearing request-visible cache entries. Dev SSR request starts use this so
|
|
27
|
+
* concurrent cold requests do not delete another request's transform leader
|
|
28
|
+
* before it can publish its completed cache entry.
|
|
29
|
+
*/
|
|
30
|
+
preserveActiveTransforms?: boolean;
|
|
31
|
+
}
|
|
23
32
|
export declare function getTransformSemaphore(): Semaphore;
|
|
24
33
|
/**
|
|
25
34
|
* Attempt to acquire a project-level transform slot immediately.
|
|
@@ -55,5 +64,5 @@ export declare function getTransformStats(): {
|
|
|
55
64
|
activeProjects: Map<string, number>;
|
|
56
65
|
};
|
|
57
66
|
export declare function clearSSRModuleCache(): void;
|
|
58
|
-
export declare function clearSSRModuleCacheForProject(projectId: string): void;
|
|
67
|
+
export declare function clearSSRModuleCacheForProject(projectId: string, options?: ClearSSRModuleCacheForProjectOptions): void;
|
|
59
68
|
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../../../src/src/modules/react-loader/ssr-module-loader/cache/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAO5D,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOnE,eAAO,MAAM,iBAAiB,oCAE5B,CAAC;AAEH,eAAO,MAAM,uBAAuB,oCAElC,CAAC;AAEH,eAAO,MAAM,gBAAgB,4BAAmC,CAAC;AAEjE,eAAO,MAAM,aAAa,0BAExB,CAAC;AAEH,eAAO,MAAM,gBAAgB,4BAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../../../src/src/modules/react-loader/ssr-module-loader/cache/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAO5D,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOnE,eAAO,MAAM,iBAAiB,oCAE5B,CAAC;AAEH,eAAO,MAAM,uBAAuB,oCAElC,CAAC;AAEH,eAAO,MAAM,gBAAgB,4BAAmC,CAAC;AAEjE,eAAO,MAAM,aAAa,0BAExB,CAAC;AAEH,eAAO,MAAM,gBAAgB,4BAAmC,CAAC;AAEjE,MAAM,WAAW,oCAAoC;IACnD;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAGD,wBAAgB,qBAAqB,IAAI,SAAS,CAKjD;AA+BD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,OAAO,CAY/E;AA2DD;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,UAAQ,GACb,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,IAAI,CAY5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CAOA;AAkDD,wBAAgB,mBAAmB,IAAI,IAAI,CAsB1C;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,oCAAyC,GACjD,IAAI,CAwDN"}
|
|
@@ -248,9 +248,10 @@ export function clearSSRModuleCache() {
|
|
|
248
248
|
transformSlotsCleared: transformSlotsCount,
|
|
249
249
|
});
|
|
250
250
|
}
|
|
251
|
-
export function clearSSRModuleCacheForProject(projectId) {
|
|
251
|
+
export function clearSSRModuleCacheForProject(projectId, options = {}) {
|
|
252
252
|
let cleared = 0;
|
|
253
253
|
const encodedProjectId = hashCodeHex(projectId);
|
|
254
|
+
const preserveActiveTransforms = options.preserveActiveTransforms === true;
|
|
254
255
|
for (const key of globalModuleCache.keys()) {
|
|
255
256
|
if (!isKeyForProject(key, projectId))
|
|
256
257
|
continue;
|
|
@@ -262,10 +263,12 @@ export function clearSSRModuleCacheForProject(projectId) {
|
|
|
262
263
|
continue;
|
|
263
264
|
globalCrossProjectCache.delete(key);
|
|
264
265
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
266
|
+
if (!preserveActiveTransforms) {
|
|
267
|
+
for (const key of globalInProgress.keys()) {
|
|
268
|
+
if (!isKeyForProject(key, projectId))
|
|
269
|
+
continue;
|
|
270
|
+
globalInProgress.delete(key);
|
|
271
|
+
}
|
|
269
272
|
}
|
|
270
273
|
for (const key of failedComponents.keys()) {
|
|
271
274
|
if (!isKeyForProject(key, projectId))
|
|
@@ -274,7 +277,7 @@ export function clearSSRModuleCacheForProject(projectId) {
|
|
|
274
277
|
}
|
|
275
278
|
for (const key of globalTmpDirs.keys()) {
|
|
276
279
|
const parts = key.split("|");
|
|
277
|
-
if (parts
|
|
280
|
+
if (parts[2] === encodedProjectId || parts[1] === encodedProjectId) {
|
|
278
281
|
globalTmpDirs.delete(key);
|
|
279
282
|
continue;
|
|
280
283
|
}
|
|
@@ -283,14 +286,17 @@ export function clearSSRModuleCacheForProject(projectId) {
|
|
|
283
286
|
globalTmpDirs.delete(key);
|
|
284
287
|
}
|
|
285
288
|
}
|
|
286
|
-
|
|
287
|
-
|
|
289
|
+
if (!preserveActiveTransforms) {
|
|
290
|
+
projectTransformCounts.delete(projectId);
|
|
291
|
+
rejectProjectTransformWaiters(projectId);
|
|
292
|
+
}
|
|
288
293
|
// Clear verified HTTP bundle paths — keys are tempPath:contentHash (not project-scoped),
|
|
289
294
|
// so full clear is needed. This just forces re-verification on next access.
|
|
290
295
|
verifiedHttpBundlePaths.clear();
|
|
291
296
|
logger.debug("✓ Project cache cleared", {
|
|
292
297
|
projectId,
|
|
293
298
|
entriesCleared: cleared,
|
|
299
|
+
activeTransformsPreserved: preserveActiveTransforms,
|
|
294
300
|
remainingModules: globalModuleCache.size,
|
|
295
301
|
});
|
|
296
302
|
}
|
|
@@ -7,6 +7,7 @@ export { SSRModuleLoader } from "./loader.js";
|
|
|
7
7
|
export type { FailureRecord, ModuleCacheEntry, SSRModuleCacheStats, SSRModuleLoaderOptions, } from "./types.js";
|
|
8
8
|
export { CIRCUIT_BREAKER_RESET_MS, CIRCUIT_BREAKER_THRESHOLD, getMaxConcurrentTransforms, getTransformPerProjectLimit, REDIS_KEY_PREFIX, SSR_MODULE_CACHE_MAX_ENTRIES, SSR_MODULE_CACHE_TTL_MS, SSR_TMP_DIRS_MAX_ENTRIES, } from "./constants.js";
|
|
9
9
|
export { clearSSRModuleCache, clearSSRModuleCacheForProject, globalModuleCache, initializeSSRDistributedCache, isSSRDistributedCacheEnabled, } from "./cache/index.js";
|
|
10
|
+
export type { ClearSSRModuleCacheForProjectOptions } from "./cache/index.js";
|
|
10
11
|
export { Semaphore } from "./concurrency/index.js";
|
|
11
12
|
import type { SSRModuleCacheStats } from "./types.js";
|
|
12
13
|
export declare function getSSRModuleCacheStats(): SSRModuleCacheStats;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/src/modules/react-loader/ssr-module-loader/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,6BAA6B,EAC7B,iBAAiB,EACjB,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,sBAAsB,IAAI,mBAAmB,CAO5D"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/src/modules/react-loader/ssr-module-loader/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,6BAA6B,EAC7B,iBAAiB,EACjB,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,sBAAsB,IAAI,mBAAmB,CAO5D"}
|
|
@@ -314,7 +314,7 @@ export class RenderPipeline {
|
|
|
314
314
|
}
|
|
315
315
|
setupSSRGlobals();
|
|
316
316
|
if (this.config.mode === "development") {
|
|
317
|
-
clearSSRModuleCacheForProject(projectId);
|
|
317
|
+
clearSSRModuleCacheForProject(projectId, { preserveActiveTransforms: true });
|
|
318
318
|
}
|
|
319
319
|
const renderOnce = () => withSpan("render.page", async () => {
|
|
320
320
|
const { result } = await runWithCSSCollector(async () => {
|
|
@@ -488,7 +488,7 @@ export class RenderPipeline {
|
|
|
488
488
|
setupSSRGlobals();
|
|
489
489
|
const projectId = options?.projectId ?? this.config.projectId ?? this.config.projectDir;
|
|
490
490
|
if (this.config.mode === "development") {
|
|
491
|
-
clearSSRModuleCacheForProject(projectId);
|
|
491
|
+
clearSSRModuleCacheForProject(projectId, { preserveActiveTransforms: true });
|
|
492
492
|
}
|
|
493
493
|
const pageInfo = await profilePhase("page_data.resolve_page", () => this.config.pageResolver.resolvePage(slug));
|
|
494
494
|
const skipLayouts = isDotPath(slug, pageInfo.entity.path);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1111",
|
|
4
4
|
"description": "The simplest way to build AI-powered apps",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -332,10 +332,10 @@
|
|
|
332
332
|
"@types/react": "19.2.14",
|
|
333
333
|
"@types/react-dom": "19.2.3",
|
|
334
334
|
"ws": "8.21.0",
|
|
335
|
-
"@veryfront/ext-bundler-esbuild": "0.1.
|
|
336
|
-
"@veryfront/ext-content-mdx": "0.1.
|
|
337
|
-
"@veryfront/ext-css-tailwind": "0.1.
|
|
338
|
-
"@veryfront/ext-parser-babel": "0.1.
|
|
335
|
+
"@veryfront/ext-bundler-esbuild": "0.1.1111",
|
|
336
|
+
"@veryfront/ext-content-mdx": "0.1.1111",
|
|
337
|
+
"@veryfront/ext-css-tailwind": "0.1.1111",
|
|
338
|
+
"@veryfront/ext-parser-babel": "0.1.1111"
|
|
339
339
|
},
|
|
340
340
|
"devDependencies": {
|
|
341
341
|
"@types/node": "20.9.0"
|