veryfront 0.1.1127 → 0.1.1128

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 (45) hide show
  1. package/esm/cli/templates/manifest.d.ts +1 -0
  2. package/esm/cli/templates/manifest.js +3 -2
  3. package/esm/deno.js +1 -1
  4. package/esm/src/html/hydration-script-builder/dev-client-renderer.js +1 -1
  5. package/esm/src/html/hydration-script-builder/prod-scripts.js +1 -1
  6. package/esm/src/html/hydration-script-builder/templates/router.d.ts.map +1 -1
  7. package/esm/src/html/hydration-script-builder/templates/router.js +35 -11
  8. package/esm/src/html/utils.d.ts.map +1 -1
  9. package/esm/src/html/utils.js +19 -45
  10. package/esm/src/index.client.d.ts +6 -21
  11. package/esm/src/index.client.d.ts.map +1 -1
  12. package/esm/src/index.client.js +6 -21
  13. package/esm/src/react/runtime/core.d.ts +22 -0
  14. package/esm/src/react/runtime/core.d.ts.map +1 -1
  15. package/esm/src/react/runtime/core.js +1 -1
  16. package/esm/src/rendering/orchestrator/module-collection.d.ts +8 -0
  17. package/esm/src/rendering/orchestrator/module-collection.d.ts.map +1 -1
  18. package/esm/src/rendering/orchestrator/module-collection.js +10 -0
  19. package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
  20. package/esm/src/rendering/orchestrator/pipeline.js +2 -2
  21. package/esm/src/routing/api/context-builder.d.ts +7 -0
  22. package/esm/src/routing/api/context-builder.d.ts.map +1 -1
  23. package/esm/src/routing/api/context-builder.js +20 -2
  24. package/esm/src/server/handlers/dev/files/esbuild-plugins.d.ts.map +1 -1
  25. package/esm/src/server/handlers/dev/files/esbuild-plugins.js +22 -0
  26. package/esm/src/server/handlers/request/module/page-data-endpoint-handler.js +24 -1
  27. package/esm/src/server/handlers/response/not-found.d.ts +0 -1
  28. package/esm/src/server/handlers/response/not-found.d.ts.map +1 -1
  29. package/esm/src/server/handlers/response/not-found.js +9 -110
  30. package/esm/src/server/services/rsc/orchestrators/handler.d.ts +3 -1
  31. package/esm/src/server/services/rsc/orchestrators/handler.d.ts.map +1 -1
  32. package/esm/src/server/services/rsc/orchestrators/handler.js +13 -8
  33. package/esm/src/server/services/rsc/orchestrators/render-handler.d.ts +1 -1
  34. package/esm/src/server/services/rsc/orchestrators/render-handler.d.ts.map +1 -1
  35. package/esm/src/server/services/rsc/orchestrators/render-handler.js +2 -2
  36. package/esm/src/transforms/esm/http-cache.d.ts.map +1 -1
  37. package/esm/src/transforms/esm/http-cache.js +132 -46
  38. package/esm/src/transforms/esm/in-flight-manager.d.ts +3 -2
  39. package/esm/src/transforms/esm/in-flight-manager.d.ts.map +1 -1
  40. package/esm/src/transforms/esm/in-flight-manager.js +6 -5
  41. package/esm/src/transforms/import-rewriter/strategies/bare-strategy.d.ts.map +1 -1
  42. package/esm/src/transforms/import-rewriter/strategies/bare-strategy.js +16 -2
  43. package/esm/src/utils/version-constant.d.ts +1 -1
  44. package/esm/src/utils/version-constant.js +1 -1
  45. package/package.json +5 -5
@@ -21,10 +21,11 @@ export declare const inFlightHttpFetches: Map<string, Promise<string | null>>;
21
21
  */
22
22
  export declare function __clearInFlightHttpFetches(): void;
23
23
  /**
24
- * Wait for an in-flight fetch with timeout + jitter.
24
+ * Wait for an in-flight fetch. The default timeout includes jitter; callers
25
+ * with a bounded owner operation can supply its complete wait window.
25
26
  * Returns undefined on timeout so caller can retry.
26
27
  */
27
- export declare function waitForInFlightFetch(promise: Promise<string | null>, cacheKey: string): Promise<string | null | undefined>;
28
+ export declare function waitForInFlightFetch(promise: Promise<string | null>, waitTimeoutMs?: number): Promise<string | null | undefined>;
28
29
  /**
29
30
  * Asynchronously refresh the distributed cache entry for a local bundle.
30
31
  * This is fire-and-forget to avoid blocking the hot path.
@@ -1 +1 @@
1
- {"version":3,"file":"in-flight-manager.d.ts","sourceRoot":"","sources":["../../../../src/src/transforms/esm/in-flight-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAOrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxF,kFAAkF;AAClF,eAAO,MAAM,wBAAwB,kCAAyC,CAAC;AAC/E,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,gCAAuC,CAAC;AAC3E,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,qCAA4C,CAAC;AAK7E;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAKD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAC/B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAoBpC;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,yBAAyB,EAC3C,yBAAyB,EAAE,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7D,IAAI,CAmCN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,IAAI,CAgBN"}
1
+ {"version":3,"file":"in-flight-manager.d.ts","sourceRoot":"","sources":["../../../../src/src/transforms/esm/in-flight-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAOrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxF,kFAAkF;AAClF,eAAO,MAAM,wBAAwB,kCAAyC,CAAC;AAC/E,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,gCAAuC,CAAC;AAC3E,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,qCAA4C,CAAC;AAK7E;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAKD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAC/B,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAoBpC;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,yBAAyB,EAC3C,yBAAyB,EAAE,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7D,IAAI,CAmCN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,IAAI,CAgBN"}
@@ -33,17 +33,18 @@ export function __clearInFlightHttpFetches() {
33
33
  /** Jitter to spread out timeout retries and prevent thundering herd (0-5s) */
34
34
  const IN_FLIGHT_JITTER_MS = 5_000;
35
35
  /**
36
- * Wait for an in-flight fetch with timeout + jitter.
36
+ * Wait for an in-flight fetch. The default timeout includes jitter; callers
37
+ * with a bounded owner operation can supply its complete wait window.
37
38
  * Returns undefined on timeout so caller can retry.
38
39
  */
39
- export async function waitForInFlightFetch(promise, cacheKey) {
40
- const jitter = Math.floor(Math.random() * IN_FLIGHT_JITTER_MS);
41
- const timeoutMs = IN_FLIGHT_WAIT_TIMEOUT_MS + jitter;
40
+ export async function waitForInFlightFetch(promise, waitTimeoutMs) {
41
+ const timeoutMs = waitTimeoutMs === undefined
42
+ ? IN_FLIGHT_WAIT_TIMEOUT_MS + Math.floor(Math.random() * IN_FLIGHT_JITTER_MS)
43
+ : waitTimeoutMs;
42
44
  let timeoutId;
43
45
  const timeoutPromise = new Promise((resolve) => {
44
46
  timeoutId = setTimeout(() => {
45
47
  logger.warn("In-flight fetch wait timed out, will retry", {
46
- cacheKey,
47
48
  timeoutMs,
48
49
  });
49
50
  resolve(undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"bare-strategy.d.ts","sourceRoot":"","sources":["../../../../../src/src/transforms/import-rewriter/strategies/bare-strategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAC;AA+BrB,qBAAa,YAAa,YAAW,qBAAqB;IACxD,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,KAAK;IAEtB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO;IAsBzD,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,cAAc,GAAG,aAAa;CAyCvE;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
1
+ {"version":3,"file":"bare-strategy.d.ts","sourceRoot":"","sources":["../../../../../src/src/transforms/import-rewriter/strategies/bare-strategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAC;AAgCrB,qBAAa,YAAa,YAAW,qBAAqB;IACxD,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,KAAK;IAEtB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO;IAuBzD,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,cAAc,GAAG,aAAa;CAsDvE;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -8,6 +8,7 @@ import { rendererLogger } from "../../../utils/index.js";
8
8
  import { buildEsmShUrl, TAILWIND_VERSION } from "../url-builder.js";
9
9
  import { parseBarePackageSpecifier } from "../../shared/package-specifier.js";
10
10
  import { isServerOnlyPackage } from "../../shared/server-only-packages.js";
11
+ import { isCrossProjectImport } from "../../shared/cross-project-import.js";
11
12
  const logger = rendererLogger.component("esm");
12
13
  const unversionedImportsWarned = new Set();
13
14
  function hasVersionSpecifier(specifier) {
@@ -44,7 +45,8 @@ export class BareStrategy {
44
45
  specifier === "react-dom" ||
45
46
  specifier.startsWith("react/") ||
46
47
  specifier.startsWith("react-dom/") ||
47
- specifier.startsWith("node:")) {
48
+ specifier.startsWith("node:") ||
49
+ isCrossProjectImport(specifier)) {
48
50
  return false;
49
51
  }
50
52
  return true;
@@ -66,8 +68,20 @@ export class BareStrategy {
66
68
  if (parsed && isServerOnlyPackage(parsed.packageName)) {
67
69
  return { specifier: null };
68
70
  }
69
- if (ctx.target === "ssr")
71
+ if (ctx.target === "ssr") {
72
+ // On the server an installed package is resolved by name from node_modules
73
+ // (Node) — a bare specifier carrying an explicit version, e.g.
74
+ // `next-themes@0.4.6`, has no matching `node_modules/next-themes@0.4.6`
75
+ // entry, so `import()` never resolves it and the cold module load stalls
76
+ // to a timeout/500. The version is only meaningful for the browser's
77
+ // esm.sh URL, so strip it here and resolve the installed package by name
78
+ // (preserving any subpath). `npm:` specifiers keep their version — the
79
+ // Deno npm resolver understands them.
80
+ if (!isNpmScheme && parsed?.version) {
81
+ return { specifier: `${parsed.packageName}${parsed.subpath ?? ""}` };
82
+ }
70
83
  return { specifier: null };
84
+ }
71
85
  if (parsed == null) {
72
86
  return { specifier: null };
73
87
  }
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.1127";
2
+ export declare const VERSION = "0.1.1128";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.1127";
4
+ export const VERSION = "0.1.1128";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.1127",
3
+ "version": "0.1.1128",
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.1127",
336
- "@veryfront/ext-content-mdx": "0.1.1127",
337
- "@veryfront/ext-css-tailwind": "0.1.1127",
338
- "@veryfront/ext-parser-babel": "0.1.1127"
335
+ "@veryfront/ext-bundler-esbuild": "0.1.1128",
336
+ "@veryfront/ext-content-mdx": "0.1.1128",
337
+ "@veryfront/ext-css-tailwind": "0.1.1128",
338
+ "@veryfront/ext-parser-babel": "0.1.1128"
339
339
  },
340
340
  "devDependencies": {
341
341
  "@types/node": "20.9.0"