vinext 0.2.1 → 1.0.0-beta.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.
Files changed (79) hide show
  1. package/README.md +50 -29
  2. package/dist/build/client-build-config.d.ts +13 -92
  3. package/dist/build/client-build-config.js +17 -95
  4. package/dist/build/prerender-paths.d.ts +23 -0
  5. package/dist/build/prerender-paths.js +296 -0
  6. package/dist/build/prerender.d.ts +12 -1
  7. package/dist/build/prerender.js +1 -1
  8. package/dist/cache/cache-adapters-virtual.d.ts +7 -1
  9. package/dist/cache/cache-adapters-virtual.js +26 -2
  10. package/dist/check.js +5 -0
  11. package/dist/cli.js +33 -53
  12. package/dist/config/next-config.js +1 -2
  13. package/dist/config/prerender.d.ts +11 -1
  14. package/dist/config/prerender.js +19 -1
  15. package/dist/config/tsconfig-paths.js +5 -1
  16. package/dist/image/image-adapters-virtual.js +1 -0
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.js +248 -146
  19. package/dist/init-cloudflare.js +12 -3
  20. package/dist/init-platform.d.ts +10 -1
  21. package/dist/init-platform.js +78 -12
  22. package/dist/init.d.ts +11 -3
  23. package/dist/init.js +129 -31
  24. package/dist/server/app-browser-entry.js +4 -6
  25. package/dist/server/app-browser-navigation-controller.js +6 -3
  26. package/dist/server/app-browser-state.js +1 -1
  27. package/dist/server/app-browser-visible-commit.js +1 -1
  28. package/dist/server/app-layout-param-observation.d.ts +1 -1
  29. package/dist/server/app-page-cache-render.d.ts +1 -1
  30. package/dist/server/app-page-dispatch.d.ts +1 -1
  31. package/dist/server/app-page-dispatch.js +3 -3
  32. package/dist/server/app-page-render.d.ts +1 -1
  33. package/dist/server/app-page-route-wiring.js +3 -3
  34. package/dist/server/app-route-handler-execution.d.ts +1 -1
  35. package/dist/server/app-route-handler-execution.js +1 -1
  36. package/dist/server/app-rsc-cache-busting.js +0 -1
  37. package/dist/server/app-rsc-handler.js +1 -1
  38. package/dist/server/app-rsc-render-mode.d.ts +2 -5
  39. package/dist/server/app-rsc-render-mode.js +2 -12
  40. package/dist/server/app-server-action-execution.js +4 -4
  41. package/dist/server/app-ssr-entry.js +2 -2
  42. package/dist/server/dev-module-runner.js +1 -1
  43. package/dist/server/dev-origin-check.d.ts +2 -2
  44. package/dist/server/dev-origin-check.js +2 -2
  45. package/dist/server/dev-server.js +4 -4
  46. package/dist/server/image-optimization.d.ts +12 -1
  47. package/dist/server/image-optimization.js +13 -1
  48. package/dist/server/isr-cache.d.ts +12 -4
  49. package/dist/server/isr-cache.js +2 -2
  50. package/dist/server/pages-page-data.js +1 -1
  51. package/dist/server/pages-page-response.js +2 -2
  52. package/dist/server/pages-request-pipeline.js +1 -1
  53. package/dist/server/prerender-manifest.d.ts +15 -1
  54. package/dist/server/prerender-manifest.js +29 -1
  55. package/dist/server/prod-server.d.ts +6 -5
  56. package/dist/server/prod-server.js +6 -7
  57. package/dist/server/static-file-cache.js +1 -1
  58. package/dist/shims/cache.d.ts +1 -1
  59. package/dist/shims/cdn-cache.d.ts +2 -7
  60. package/dist/shims/cdn-cache.js +2 -14
  61. package/dist/shims/form.d.ts +1 -1
  62. package/dist/shims/navigation.react-server.js +1 -1
  63. package/dist/shims/request-state-types.d.ts +2 -2
  64. package/dist/shims/unified-request-context.d.ts +1 -1
  65. package/dist/utils/project.d.ts +1 -1
  66. package/dist/utils/vite-version.d.ts +3 -13
  67. package/dist/utils/vite-version.js +38 -30
  68. package/package.json +31 -13
  69. package/dist/cloudflare/index.d.ts +0 -3
  70. package/dist/cloudflare/index.js +0 -3
  71. package/dist/packages/cloudflare/src/cache/cdn-adapter.runtime.js +0 -102
  72. package/dist/packages/cloudflare/src/cache/kv-data-adapter.runtime.d.ts +0 -126
  73. package/dist/packages/cloudflare/src/cache/kv-data-adapter.runtime.js +0 -442
  74. package/dist/packages/cloudflare/src/deploy-config.js +0 -150
  75. package/dist/packages/cloudflare/src/deploy-help.js +0 -55
  76. package/dist/packages/cloudflare/src/deploy.js +0 -272
  77. package/dist/packages/cloudflare/src/tpr.d.ts +0 -45
  78. package/dist/packages/cloudflare/src/tpr.js +0 -582
  79. package/dist/packages/cloudflare/src/utils/cache-control-metadata.js +0 -20
@@ -1,6 +1,8 @@
1
1
  import { isUnknownRecord } from "../utils/record.js";
2
+ import { VINEXT_CACHE_CONFIG_PLUGIN_PROPERTY, findVinextCacheConfigInPlugins, loadVinextCacheConfigFromViteConfig } from "../cache/cache-adapters-virtual.js";
2
3
  //#region src/config/prerender.ts
3
4
  const VINEXT_PRERENDER_CONFIG_PLUGIN_PROPERTY = "__vinextPrerenderConfig";
5
+ const VINEXT_ROUTE_ROOT_CONFIG_PLUGIN_PROPERTY = "__vinextRouteRootConfig";
4
6
  function normalizeVinextPrerenderConfig(config) {
5
7
  if (config === void 0) return null;
6
8
  if (config === true) return { routes: "*" };
@@ -25,12 +27,28 @@ function findVinextPrerenderConfigInPlugins(plugins) {
25
27
  }
26
28
  return null;
27
29
  }
30
+ function findVinextRouteRootConfigInPlugins(plugins) {
31
+ const flattened = [];
32
+ flattenPluginOptions(plugins, flattened);
33
+ for (const plugin of flattened) {
34
+ if (!isUnknownRecord(plugin)) continue;
35
+ const routeRootConfig = plugin[VINEXT_ROUTE_ROOT_CONFIG_PLUGIN_PROPERTY];
36
+ if (routeRootConfig) return routeRootConfig;
37
+ }
38
+ return null;
39
+ }
28
40
  async function loadVinextPrerenderConfigFromViteConfig(vite, root) {
29
41
  return findVinextPrerenderConfigInPlugins((await vite.loadConfigFromFile({
30
42
  command: "build",
31
43
  mode: "production"
32
44
  }, void 0, root))?.config.plugins);
33
45
  }
46
+ async function loadVinextRouteRootConfigFromViteConfig(vite, root) {
47
+ return findVinextRouteRootConfigInPlugins((await vite.loadConfigFromFile({
48
+ command: "build",
49
+ mode: "production"
50
+ }, void 0, root))?.config.plugins);
51
+ }
34
52
  function resolveVinextPrerenderDecision(options) {
35
53
  if (options.prerenderAllFlag) return {
36
54
  routes: "*",
@@ -52,4 +70,4 @@ function formatVinextPrerenderLabel(decision) {
52
70
  return "Pre-rendering all routes...";
53
71
  }
54
72
  //#endregion
55
- export { VINEXT_PRERENDER_CONFIG_PLUGIN_PROPERTY, findVinextPrerenderConfigInPlugins, formatVinextPrerenderLabel, loadVinextPrerenderConfigFromViteConfig, normalizeVinextPrerenderConfig, resolveVinextPrerenderDecision };
73
+ export { VINEXT_CACHE_CONFIG_PLUGIN_PROPERTY, VINEXT_PRERENDER_CONFIG_PLUGIN_PROPERTY, VINEXT_ROUTE_ROOT_CONFIG_PLUGIN_PROPERTY, findVinextCacheConfigInPlugins, findVinextPrerenderConfigInPlugins, findVinextRouteRootConfigInPlugins, formatVinextPrerenderLabel, loadVinextCacheConfigFromViteConfig, loadVinextPrerenderConfigFromViteConfig, loadVinextRouteRootConfigFromViteConfig, normalizeVinextPrerenderConfig, resolveVinextPrerenderDecision };
@@ -143,7 +143,11 @@ function loadTsconfigResolutionForRoot(projectRoot) {
143
143
  for (const name of TSCONFIG_FILES) {
144
144
  const candidate = path.join(projectRoot, name);
145
145
  if (!fs.existsSync(candidate)) continue;
146
- return loadResolutionFromTsconfigFile(candidate, /* @__PURE__ */ new Set());
146
+ const resolution = loadResolutionFromTsconfigFile(candidate, /* @__PURE__ */ new Set());
147
+ return {
148
+ aliases: Object.fromEntries(Object.entries(resolution.aliases).sort((a, b) => b[0].length - a[0].length)),
149
+ baseUrl: resolution.baseUrl
150
+ };
147
151
  }
148
152
  return emptyResolution();
149
153
  }
@@ -44,6 +44,7 @@ function generateImageAdaptersModule(images) {
44
44
  "let __vinextImageOptimizerRegistered = false;",
45
45
  "",
46
46
  "export function registerConfiguredImageOptimizer(env) {",
47
+ " if (typeof process !== 'undefined' && process.env?.__VINEXT_PRERENDER_PATH_DISCOVERY === '1') return;",
47
48
  " if (__vinextImageOptimizerRegistered) return;",
48
49
  " __vinextImageOptimizerRegistered = true;",
49
50
  " try {",
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { NextConfig, NextConfigInput } from "./config/next-config.js";
2
- import { AppStaticExportOptions, StaticExportOptions, StaticExportResult, staticExportApp, staticExportPages } from "./build/static-export.js";
3
2
  import { VinextCacheConfig } from "./cache/cache-adapters-virtual.js";
4
3
  import { VinextPrerenderConfig } from "./config/prerender.js";
4
+ import { AppStaticExportOptions, StaticExportOptions, StaticExportResult, staticExportApp, staticExportPages } from "./build/static-export.js";
5
5
  import { VinextImageConfig } from "./image/image-adapters-virtual.js";
6
6
  import { PluginOption } from "vite";
7
7
  import { Options } from "@vitejs/plugin-react";