@edgeone/opennextjs-pages 0.2.2-beta.3 → 0.2.3

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.
@@ -250,10 +250,6 @@ var copyPrerenderedContent = async (ctx) => {
250
250
  ...Object.entries(manifest.routes).map(
251
251
  ([route, meta]) => limitConcurrentPrerenderContentHandling(async () => {
252
252
  const key = routeToFilePath(route);
253
- const isPPR = meta.experimentalPPR === true || meta.renderingMode === "PARTIALLY_STATIC";
254
- if (isPPR) {
255
- return;
256
- }
257
253
  switch (true) {
258
254
  // Parallel route default layout has no prerendered page
259
255
  case (meta.dataRoute?.endsWith("/default.rsc") && !existsSync(
@@ -2935,6 +2935,43 @@ function getExternalMock(id) {
2935
2935
  return result;
2936
2936
  }
2937
2937
 
2938
+ // shared-cache-controls mock - must be matched before the general incremental-cache mock
2939
+ // Next.js 16+ uses SharedCacheControls from this module in IncrementalCache constructor
2940
+ if (id.includes('shared-cache-controls')) {
2941
+ class SharedCacheControls {
2942
+ constructor(prerenderManifest) {
2943
+ this.prerenderManifest = prerenderManifest;
2944
+ this.controls = new Map();
2945
+ }
2946
+ get(key) { return this.controls.get(key); }
2947
+ set(key, value) { this.controls.set(key, value); }
2948
+ }
2949
+ const result = {
2950
+ SharedCacheControls,
2951
+ default: { SharedCacheControls }
2952
+ };
2953
+ Object.defineProperty(result, '__esModule', { value: true });
2954
+ return result;
2955
+ }
2956
+
2957
+ // shared-revalidate-timings mock - similarly used by IncrementalCache in older versions
2958
+ if (id.includes('shared-revalidate-timings')) {
2959
+ class SharedRevalidateTimings {
2960
+ constructor(prerenderManifest) {
2961
+ this.prerenderManifest = prerenderManifest;
2962
+ this.timings = new Map();
2963
+ }
2964
+ get(key) { return this.timings.get(key); }
2965
+ set(key, value) { this.timings.set(key, value); }
2966
+ }
2967
+ const result = {
2968
+ SharedRevalidateTimings,
2969
+ default: { SharedRevalidateTimings }
2970
+ };
2971
+ Object.defineProperty(result, '__esModule', { value: true });
2972
+ return result;
2973
+ }
2974
+
2938
2975
  // incremental-cache/tags-manifest mock
2939
2976
  if (id.includes('incremental-cache') || id.includes('tags-manifest')) {
2940
2977
  const result = {
@@ -89,10 +89,6 @@ function getDataRoutes(dataRoutes, basePath = "") {
89
89
  }
90
90
  return routes;
91
91
  }
92
- function isPPRRoute(prerenderInfo) {
93
- if (!prerenderInfo) return false;
94
- return prerenderInfo.experimentalPPR === true || prerenderInfo.renderingMode === "PARTIALLY_STATIC";
95
- }
96
92
  function getServerRoutes(staticRoutes, prerenderManifest, basePath = "") {
97
93
  const routes = [];
98
94
  const prerenderRoutes = prerenderManifest?.routes || {};
@@ -101,7 +97,7 @@ function getServerRoutes(staticRoutes, prerenderManifest, basePath = "") {
101
97
  continue;
102
98
  }
103
99
  const prerenderInfo = prerenderRoutes[route.page];
104
- if (prerenderInfo && prerenderInfo.initialRevalidateSeconds === false && !isPPRRoute(prerenderInfo)) {
100
+ if (prerenderInfo && prerenderInfo.initialRevalidateSeconds === false) {
105
101
  continue;
106
102
  }
107
103
  if (route.namedRegex) {
@@ -141,21 +141,32 @@ var EdgeoneCacheHandler = class {
141
141
  const prerenderManifest = await this.getPrerenderManifest(this.options.serverDistDir);
142
142
  if (typeof cacheControl !== "undefined") {
143
143
  try {
144
- const { SharedCacheControls } = await import(
144
+ const sharedCacheControlsModule = await import(
145
145
  // @ts-expect-error supporting multiple next version, this module is not resolvable with currently used dev dependency
146
146
  // eslint-disable-next-line import/no-unresolved, n/no-missing-import
147
147
  "next/dist/server/lib/incremental-cache/shared-cache-controls.external.js"
148
148
  );
149
+ const SharedCacheControls = sharedCacheControlsModule.SharedCacheControls || sharedCacheControlsModule.default?.SharedCacheControls || sharedCacheControlsModule.default;
150
+ if (typeof SharedCacheControls !== "function") {
151
+ throw new Error("SharedCacheControls is not a constructor in .external.js module");
152
+ }
149
153
  const sharedCacheControls = new SharedCacheControls(prerenderManifest);
150
154
  sharedCacheControls.set(key, cacheControl);
151
155
  } catch {
152
- const { SharedCacheControls } = await import(
153
- // @ts-expect-error supporting multiple next version, this module is not resolvable with currently used dev dependency
154
- // eslint-disable-next-line import/no-unresolved, n/no-missing-import
155
- "next/dist/server/lib/incremental-cache/shared-cache-controls.js"
156
- );
157
- const sharedCacheControls = new SharedCacheControls(prerenderManifest);
158
- sharedCacheControls.set(key, cacheControl);
156
+ try {
157
+ const sharedCacheControlsModule = await import(
158
+ // @ts-expect-error supporting multiple next version, this module is not resolvable with currently used dev dependency
159
+ // eslint-disable-next-line import/no-unresolved, n/no-missing-import
160
+ "next/dist/server/lib/incremental-cache/shared-cache-controls.js"
161
+ );
162
+ const SharedCacheControls = sharedCacheControlsModule.SharedCacheControls || sharedCacheControlsModule.default?.SharedCacheControls || sharedCacheControlsModule.default;
163
+ if (typeof SharedCacheControls !== "function") {
164
+ throw new Error("SharedCacheControls is not a constructor in .js module");
165
+ }
166
+ const sharedCacheControls = new SharedCacheControls(prerenderManifest);
167
+ sharedCacheControls.set(key, cacheControl);
168
+ } catch {
169
+ }
159
170
  }
160
171
  } else if (typeof revalidate === "number" || revalidate === false) {
161
172
  try {
@@ -28,7 +28,7 @@ module.exports = __toCommonJS(tags_handler_exports);
28
28
 
29
29
  // package.json
30
30
  var name = "@edgeone/opennextjs-pages";
31
- var version = "0.2.2-beta.3";
31
+ var version = "0.2.3";
32
32
 
33
33
  // src/run/handlers/tags-handler.cts
34
34
  var import_request_context = require("./request-context.cjs");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgeone/opennextjs-pages",
3
- "version": "0.2.2-beta.3",
3
+ "version": "0.2.3",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",