vinext 0.0.42 → 0.0.44

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 (35) hide show
  1. package/dist/client/vinext-next-data.d.ts +1 -3
  2. package/dist/deploy.js +21 -4
  3. package/dist/deploy.js.map +1 -1
  4. package/dist/entries/app-rsc-entry.js +39 -9
  5. package/dist/entries/app-rsc-entry.js.map +1 -1
  6. package/dist/index.js +3 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/routing/app-router.d.ts +2 -1
  9. package/dist/routing/app-router.js +28 -5
  10. package/dist/routing/app-router.js.map +1 -1
  11. package/dist/server/app-browser-entry.js +219 -96
  12. package/dist/server/app-browser-entry.js.map +1 -1
  13. package/dist/server/app-page-route-wiring.d.ts +1 -0
  14. package/dist/server/app-page-route-wiring.js +12 -2
  15. package/dist/server/app-page-route-wiring.js.map +1 -1
  16. package/dist/server/app-route-handler-policy.js +5 -3
  17. package/dist/server/app-route-handler-policy.js.map +1 -1
  18. package/dist/server/app-route-handler-response.js +2 -0
  19. package/dist/server/app-route-handler-response.js.map +1 -1
  20. package/dist/server/app-router-entry.js +8 -1
  21. package/dist/server/app-router-entry.js.map +1 -1
  22. package/dist/server/app-ssr-entry.js +2 -1
  23. package/dist/server/app-ssr-entry.js.map +1 -1
  24. package/dist/server/prod-server.js +16 -13
  25. package/dist/server/prod-server.js.map +1 -1
  26. package/dist/server/request-pipeline.d.ts +33 -1
  27. package/dist/server/request-pipeline.js +44 -2
  28. package/dist/server/request-pipeline.js.map +1 -1
  29. package/dist/shims/navigation.d.ts +1 -1
  30. package/dist/shims/navigation.js +32 -5
  31. package/dist/shims/navigation.js.map +1 -1
  32. package/package.json +1 -1
  33. package/dist/client/entry.d.ts +0 -1
  34. package/dist/client/entry.js +0 -60
  35. package/dist/client/entry.js.map +0 -1
package/dist/index.js CHANGED
@@ -23,6 +23,7 @@ import { buildGenerateBundleReplacement, buildReasonsReplacement, collectRouteCl
23
23
  import { classifyLayoutByModuleGraph, isStaticModuleGraphResult, moduleGraphReason } from "./build/layout-classification.js";
24
24
  import { PHASE_DEVELOPMENT_SERVER, PHASE_PRODUCTION_BUILD } from "./shims/constants.js";
25
25
  import { findNextConfigPath, loadNextConfig, resolveNextConfig, resolveNextConfigInput } from "./config/next-config.js";
26
+ import { isOpenRedirectShaped } from "./server/request-pipeline.js";
26
27
  import { precompressAssets } from "./build/precompress.js";
27
28
  import { scanMetadataFiles } from "./server/metadata-routes.js";
28
29
  import { manifestFileWithBase, manifestFilesWithBase } from "./utils/manifest-paths.js";
@@ -1028,12 +1029,12 @@ function vinext(options = {}) {
1028
1029
  else if (rawPathname.endsWith(".html")) url = url.replace(/\.html(?=\?|$)/, "");
1029
1030
  let pathname = url.split("?")[0];
1030
1031
  if (pathname.includes(".") && !pathname.endsWith(".html")) return next();
1031
- pathname = pathname.replaceAll("\\", "/");
1032
- if (pathname.startsWith("//")) {
1032
+ if (isOpenRedirectShaped(pathname)) {
1033
1033
  res.writeHead(404);
1034
1034
  res.end("404 Not Found");
1035
1035
  return;
1036
1036
  }
1037
+ pathname = pathname.replaceAll("\\", "/");
1037
1038
  try {
1038
1039
  pathname = normalizePath$1(normalizePathnameForRouteMatchStrict(pathname));
1039
1040
  } catch {