@netlify/plugin-nextjs 4.40.0 → 4.40.2
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/lib/helpers/edge.js +4 -2
- package/lib/templates/getHandler.js +1 -2
- package/lib/templates/handlerUtils.js +14 -1
- package/lib/templates/server.js +9 -8
- package/lib/templates/vendor.js +20 -0
- package/package.json +7 -4
- package/src/templates/edge/next-dev.js +3 -3
- package/src/templates/edge/shims.js +6 -6
- package/src/templates/edge-shared/next-utils.ts +3 -3
- package/src/templates/edge-shared/utils.ts +1 -1
- package/src/templates/vendor/deno.land/std@0.134.0/fmt/colors.ts +536 -0
- package/src/templates/vendor/deno.land/std@0.134.0/testing/_diff.ts +360 -0
- package/src/templates/vendor/deno.land/std@0.134.0/testing/asserts.ts +866 -0
- package/src/templates/vendor/deno.land/std@0.175.0/_util/asserts.ts +25 -0
- package/src/templates/vendor/deno.land/std@0.175.0/_util/os.ts +23 -0
- package/src/templates/vendor/deno.land/std@0.175.0/async/abortable.ts +149 -0
- package/src/templates/vendor/deno.land/std@0.175.0/async/deadline.ts +30 -0
- package/src/templates/vendor/deno.land/std@0.175.0/async/debounce.ts +79 -0
- package/src/templates/vendor/deno.land/std@0.175.0/async/deferred.ts +48 -0
- package/src/templates/vendor/deno.land/std@0.175.0/async/delay.ts +67 -0
- package/src/templates/vendor/deno.land/std@0.175.0/async/mod.ts +18 -0
- package/src/templates/vendor/deno.land/std@0.175.0/async/mux_async_iterator.ts +97 -0
- package/src/templates/vendor/deno.land/std@0.175.0/async/pool.ts +95 -0
- package/src/templates/vendor/deno.land/std@0.175.0/async/retry.ts +81 -0
- package/src/templates/vendor/deno.land/std@0.175.0/async/tee.ts +100 -0
- package/src/templates/vendor/deno.land/std@0.175.0/bytes/index_of_needle.ts +49 -0
- package/src/templates/vendor/deno.land/std@0.175.0/crypto/timing_safe_equal.ts +29 -0
- package/src/templates/vendor/deno.land/std@0.175.0/datetime/to_imf.ts +45 -0
- package/src/templates/vendor/deno.land/std@0.175.0/encoding/base64.ts +144 -0
- package/src/templates/vendor/deno.land/std@0.175.0/encoding/base64url.ts +70 -0
- package/src/templates/vendor/deno.land/std@0.175.0/flags/mod.ts +785 -0
- package/src/templates/vendor/deno.land/std@0.175.0/fmt/colors.ts +569 -0
- package/src/templates/vendor/deno.land/std@0.175.0/fmt/printf.ts +939 -0
- package/src/templates/vendor/deno.land/std@0.175.0/http/cookie.ts +403 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_core.ts +77 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_events.d.ts +848 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_events.mjs +1033 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_global.d.ts +66 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_next_tick.ts +173 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_process/exiting.ts +4 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_process/process.ts +131 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_process/stdio.mjs +7 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_process/streams.mjs +146 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_stream.d.ts +1488 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_stream.mjs +746 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_util/_util_callbackify.ts +129 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/_utils.ts +206 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/assert.ts +940 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/assertion_error.ts +579 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/async_hooks.ts +331 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/buffer.ts +13 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/events.ts +14 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/buffer.d.ts +2074 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/buffer.mjs +2607 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/crypto/_keys.ts +16 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/crypto/constants.ts +5 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/error_codes.ts +7 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/errors.ts +2867 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/fixed_queue.ts +123 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/hide_stack_frames.ts +16 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/net.ts +95 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/normalize_encoding.mjs +72 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/options.ts +45 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/primordials.mjs +30 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/process/per_thread.mjs +272 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/readline/callbacks.mjs +137 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/readline/utils.mjs +580 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/streams/destroy.mjs +320 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/streams/end-of-stream.mjs +229 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/streams/utils.mjs +242 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/util/comparisons.ts +669 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/util/debuglog.ts +118 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/util/inspect.mjs +2237 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/util/types.ts +113 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/util.mjs +143 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal/validators.mjs +317 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/_libuv_winerror.ts +229 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/_listen.ts +16 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/_node.ts +18 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/_timingSafeEqual.ts +12 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/_utils.ts +86 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/_winerror.ts +16873 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/ares.ts +66 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/async_wrap.ts +152 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/buffer.ts +130 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/cares_wrap.ts +541 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/config.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/connection_wrap.ts +80 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/constants.ts +900 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/contextify.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/credentials.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/crypto.ts +14 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/errors.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/fs.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/fs_dir.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/fs_event_wrap.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/handle_wrap.ts +50 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/heap_utils.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/http_parser.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/icu.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/inspector.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/js_stream.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/messaging.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/mod.ts +108 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/module_wrap.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/native_module.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/natives.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/node_file.ts +84 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/node_options.ts +39 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/options.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/os.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/performance.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/pipe_wrap.ts +392 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/process_methods.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/report.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/serdes.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/signal_wrap.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/spawn_sync.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/stream_wrap.ts +354 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/string_decoder.ts +15 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/symbols.ts +27 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/task_queue.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/tcp_wrap.ts +488 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/timers.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/tls_wrap.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/trace_events.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/tty_wrap.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/types.ts +186 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/udp_wrap.ts +496 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/url.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/util.ts +126 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/uv.ts +437 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/v8.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/worker.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/internal_binding/zlib.ts +3 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/process.ts +705 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/stream.ts +37 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/string_decoder.ts +337 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/util/types.ts +4 -0
- package/src/templates/vendor/deno.land/std@0.175.0/node/util.ts +289 -0
- package/src/templates/vendor/deno.land/std@0.175.0/path/_constants.ts +49 -0
- package/src/templates/vendor/deno.land/std@0.175.0/path/_interface.ts +30 -0
- package/src/templates/vendor/deno.land/std@0.175.0/path/_util.ts +194 -0
- package/src/templates/vendor/deno.land/std@0.175.0/path/common.ts +40 -0
- package/src/templates/vendor/deno.land/std@0.175.0/path/glob.ts +418 -0
- package/src/templates/vendor/deno.land/std@0.175.0/path/mod.ts +53 -0
- package/src/templates/vendor/deno.land/std@0.175.0/path/posix.ts +487 -0
- package/src/templates/vendor/deno.land/std@0.175.0/path/separator.ts +7 -0
- package/src/templates/vendor/deno.land/std@0.175.0/path/win32.ts +962 -0
- package/src/templates/vendor/deno.land/std@0.175.0/streams/write_all.ts +64 -0
- package/src/templates/vendor/deno.land/std@0.175.0/testing/_diff.ts +440 -0
- package/src/templates/vendor/deno.land/std@0.175.0/testing/_format.ts +23 -0
- package/src/templates/vendor/deno.land/std@0.175.0/testing/asserts.ts +906 -0
- package/src/templates/vendor/deno.land/std@0.175.0/types.d.ts +89 -0
- package/src/templates/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/index.ts +133 -0
- package/src/templates/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/vendor/asyncify.js +112 -0
- package/src/templates/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/vendor/html_rewriter.d.ts +88 -0
- package/src/templates/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/vendor/html_rewriter.js +974 -0
- package/src/templates/vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts +621 -0
- package/src/templates/vendor/esm.sh/v91/next@12.2.5/deno/dist/compiled/cookie.js +13 -0
- package/src/templates/vendor/esm.sh/v91/next@12.2.5/deno/dist/server/web/spec-extension/request.js +12 -0
- package/src/templates/vendor/esm.sh/v91/next@12.2.5/deno/dist/server/web/spec-extension/response.js +5 -0
- package/src/templates/vendor/import_map.json +13 -0
- package/src/templates/vendor/raw.githubusercontent.com/worker-tools/resolvable-promise/master/index.ts +50 -0
package/lib/helpers/edge.js
CHANGED
|
@@ -138,7 +138,7 @@ exports.writeDevEdgeFunction = writeDevEdgeFunction;
|
|
|
138
138
|
/**
|
|
139
139
|
* Writes an edge function that routes RSC data requests to the `.rsc` route
|
|
140
140
|
*/
|
|
141
|
-
const generateRscDataEdgeManifest = async ({ prerenderManifest, appPathRoutesManifest, }) => {
|
|
141
|
+
const generateRscDataEdgeManifest = async ({ prerenderManifest, appPathRoutesManifest, packagePath = '', }) => {
|
|
142
142
|
const generator = await (0, functionsMetaData_1.getPluginVersion)();
|
|
143
143
|
if (!prerenderManifest || !appPathRoutesManifest) {
|
|
144
144
|
return [];
|
|
@@ -158,7 +158,7 @@ const generateRscDataEdgeManifest = async ({ prerenderManifest, appPathRoutesMan
|
|
|
158
158
|
if (staticAppdirRoutes.length === 0 && dynamicAppDirRoutes.length === 0) {
|
|
159
159
|
return [];
|
|
160
160
|
}
|
|
161
|
-
const edgeFunctionDir = (0, path_1.resolve)('.netlify', 'edge-functions', 'rsc-data');
|
|
161
|
+
const edgeFunctionDir = (0, path_1.resolve)(packagePath, '.netlify', 'edge-functions', 'rsc-data');
|
|
162
162
|
await (0, fs_extra_1.ensureDir)(edgeFunctionDir);
|
|
163
163
|
await copyEdgeSourceFile({ edgeFunctionDir, file: 'rsc-data.ts' });
|
|
164
164
|
return [
|
|
@@ -210,6 +210,7 @@ const writeEdgeFunctions = async ({ netlifyConfig, routesManifest, constants: {
|
|
|
210
210
|
const nextConfigFile = await (0, config_1.getRequiredServerFiles)(publish);
|
|
211
211
|
const nextConfig = nextConfigFile.config;
|
|
212
212
|
const usesAppDir = (_a = nextConfig.experimental) === null || _a === void 0 ? void 0 : _a.appDir;
|
|
213
|
+
await (0, fs_extra_1.copy)(getEdgeTemplatePath('../vendor'), (0, path_1.join)(edgeFunctionRoot, 'vendor'));
|
|
213
214
|
await (0, fs_extra_1.copy)(getEdgeTemplatePath('../edge-shared'), (0, path_1.join)(edgeFunctionRoot, 'edge-shared'));
|
|
214
215
|
await (0, fs_extra_1.writeJSON)((0, path_1.join)(edgeFunctionRoot, 'edge-shared', 'nextConfig.json'), nextConfig);
|
|
215
216
|
await (0, fs_extra_1.copy)((0, path_1.join)(publish, 'prerender-manifest.json'), (0, path_1.join)(edgeFunctionRoot, 'edge-shared', 'prerender-manifest.json'));
|
|
@@ -219,6 +220,7 @@ const writeEdgeFunctions = async ({ netlifyConfig, routesManifest, constants: {
|
|
|
219
220
|
return;
|
|
220
221
|
}
|
|
221
222
|
const rscFunctions = await (0, exports.generateRscDataEdgeManifest)({
|
|
223
|
+
packagePath: PACKAGE_PATH,
|
|
222
224
|
prerenderManifest: await (0, exports.loadPrerenderManifest)(netlifyConfig),
|
|
223
225
|
appPathRoutesManifest: await (0, exports.loadAppPathRoutesManifest)(netlifyConfig),
|
|
224
226
|
});
|
|
@@ -68,8 +68,7 @@ const makeHandler = ({ conf, app, pageRoot, NextServer, staticManifest = [], mod
|
|
|
68
68
|
try {
|
|
69
69
|
await requestHandler(req, res);
|
|
70
70
|
}
|
|
71
|
-
catch
|
|
72
|
-
console.error(error);
|
|
71
|
+
catch {
|
|
73
72
|
throw new Error('Error handling request. See function logs for details.');
|
|
74
73
|
}
|
|
75
74
|
});
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.localizeDataRoute = exports.localizeRoute = exports.unlocalizeRoute = exports.joinPaths = exports.normalizeRoute = exports.netlifyApiFetch = exports.normalizePath = exports.getPrefetchResponse = exports.augmentFsModule = exports.getMultiValueHeaders = exports.getMaxAge = exports.downloadFile = void 0;
|
|
6
|
+
exports.getMatchedRoute = exports.localizeDataRoute = exports.localizeRoute = exports.unlocalizeRoute = exports.joinPaths = exports.normalizeRoute = exports.netlifyApiFetch = exports.normalizePath = exports.getPrefetchResponse = exports.augmentFsModule = exports.getMultiValueHeaders = exports.getMaxAge = exports.downloadFile = void 0;
|
|
7
7
|
const fs_1 = require("fs");
|
|
8
8
|
const os_1 = require("os");
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
@@ -230,3 +230,16 @@ const localizeDataRoute = (dataRoute, localizedRoute) => {
|
|
|
230
230
|
.replace(/\/index\.json$/, '.json');
|
|
231
231
|
};
|
|
232
232
|
exports.localizeDataRoute = localizeDataRoute;
|
|
233
|
+
const getMatchedRoute = (paths, routesManifest, parsedUrl, basePath, trailingSlash) => routesManifest === null || routesManifest === void 0 ? void 0 : routesManifest.find((route) => {
|
|
234
|
+
// Some internationalized routes are automatically removing the locale prefix making the path not match the route
|
|
235
|
+
// we can use the parsedURL, which has the locale included and will match
|
|
236
|
+
const base = '/';
|
|
237
|
+
return new RegExp(route.regex).test(new URL(
|
|
238
|
+
// If using basepath config, we have to use the original path to match the route
|
|
239
|
+
// This seems to only be an issue on the index page when using group routes
|
|
240
|
+
parsedUrl ||
|
|
241
|
+
(basePath && paths === (trailingSlash && !(basePath === null || basePath === void 0 ? void 0 : basePath.endsWith('/')) ? `${basePath}/` : basePath)
|
|
242
|
+
? base
|
|
243
|
+
: paths), 'http://n').pathname);
|
|
244
|
+
});
|
|
245
|
+
exports.getMatchedRoute = getMatchedRoute;
|
package/lib/templates/server.js
CHANGED
|
@@ -7,6 +7,10 @@ const handlerUtils_1 = require("./handlerUtils");
|
|
|
7
7
|
// eslint-disable-next-line max-lines-per-function
|
|
8
8
|
const getNetlifyNextServer = (NextServer) => {
|
|
9
9
|
class NetlifyNextServer extends NextServer {
|
|
10
|
+
getAppRouterReactVersion() {
|
|
11
|
+
var _a;
|
|
12
|
+
return ((_a = this.nextConfig.experimental) === null || _a === void 0 ? void 0 : _a.serverActions) ? 'experimental' : 'next';
|
|
13
|
+
}
|
|
10
14
|
constructor(options, netlifyConfig) {
|
|
11
15
|
super(options);
|
|
12
16
|
this.netlifyConfig = netlifyConfig;
|
|
@@ -28,7 +32,7 @@ const getNetlifyNextServer = (NextServer) => {
|
|
|
28
32
|
// preserve the URL before Next.js mutates it for i18n
|
|
29
33
|
const { url, headers } = req;
|
|
30
34
|
// conditionally use the prebundled React module
|
|
31
|
-
this.netlifyPrebundleReact(url);
|
|
35
|
+
this.netlifyPrebundleReact(url, this.nextConfig, parsedUrl);
|
|
32
36
|
// intercept on-demand revalidation requests and handle with the Netlify API
|
|
33
37
|
if (headers['x-prerender-revalidate'] && this.netlifyConfig.revalidateToken) {
|
|
34
38
|
// handle on-demand revalidation by purging the ODB cache
|
|
@@ -52,22 +56,19 @@ const getNetlifyNextServer = (NextServer) => {
|
|
|
52
56
|
};
|
|
53
57
|
}
|
|
54
58
|
// doing what they do in https://github.com/vercel/vercel/blob/1663db7ca34d3dd99b57994f801fb30b72fbd2f3/packages/next/src/server-build.ts#L576-L580
|
|
55
|
-
netlifyPrebundleReact(path) {
|
|
56
|
-
var _a, _b
|
|
59
|
+
async netlifyPrebundleReact(path, { basePath, trailingSlash }, parsedUrl) {
|
|
60
|
+
var _a, _b;
|
|
57
61
|
const routesManifest = (_a = this.getRoutesManifest) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
58
62
|
const appPathsRoutes = (_b = this.getAppPathRoutes) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
59
63
|
const routes = routesManifest && [...routesManifest.staticRoutes, ...routesManifest.dynamicRoutes];
|
|
60
|
-
const matchedRoute =
|
|
64
|
+
const matchedRoute = await (0, handlerUtils_1.getMatchedRoute)(path, routes, parsedUrl, basePath, trailingSlash);
|
|
61
65
|
const isAppRoute = appPathsRoutes && matchedRoute ? appPathsRoutes[matchedRoute.page] : false;
|
|
62
66
|
if (isAppRoute) {
|
|
63
67
|
// app routes should use prebundled React
|
|
64
68
|
// eslint-disable-next-line no-underscore-dangle
|
|
65
|
-
process.env.__NEXT_PRIVATE_PREBUNDLED_REACT =
|
|
66
|
-
? 'experimental'
|
|
67
|
-
: 'next';
|
|
69
|
+
process.env.__NEXT_PRIVATE_PREBUNDLED_REACT = this.getAppRouterReactVersion();
|
|
68
70
|
return;
|
|
69
71
|
}
|
|
70
|
-
// pages routes should use use node_modules React
|
|
71
72
|
// eslint-disable-next-line no-underscore-dangle
|
|
72
73
|
process.env.__NEXT_PRIVATE_PREBUNDLED_REACT = '';
|
|
73
74
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// this file isn't meant to be imported.
|
|
3
|
+
// it's a list of all external modules that we use,
|
|
4
|
+
// and we vendor those into the `vendor/` directory
|
|
5
|
+
// for consumption in other files.
|
|
6
|
+
// Vendoring happens automatically as part of runtime `build` script.
|
|
7
|
+
// You can trigger just vendoring without full package build by running `build:vendor` script.
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
require("https://deno.land/std@0.175.0/encoding/base64.ts");
|
|
10
|
+
require("https://deno.land/std@0.175.0/http/cookie.ts");
|
|
11
|
+
require("https://deno.land/std@0.175.0/node/buffer.ts");
|
|
12
|
+
require("https://deno.land/std@0.175.0/node/events.ts");
|
|
13
|
+
require("https://deno.land/std@0.175.0/node/async_hooks.ts");
|
|
14
|
+
require("https://deno.land/std@0.175.0/node/assert.ts");
|
|
15
|
+
require("https://deno.land/std@0.175.0/node/util.ts");
|
|
16
|
+
require("https://deno.land/std@0.175.0/path/mod.ts");
|
|
17
|
+
require("https://deno.land/x/path_to_regexp@v6.2.1/index.ts");
|
|
18
|
+
require("https://deno.land/x/html_rewriter@v0.1.0-pre.17/index.ts");
|
|
19
|
+
require("https://esm.sh/v91/next@12.2.5/deno/dist/server/web/spec-extension/request.js");
|
|
20
|
+
require("https://esm.sh/v91/next@12.2.5/deno/dist/server/web/spec-extension/response.js");
|
package/package.json
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netlify/plugin-nextjs",
|
|
3
|
-
"version": "4.40.
|
|
3
|
+
"version": "4.40.2",
|
|
4
4
|
"description": "Run Next.js seamlessly on Netlify",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"lib/**/*",
|
|
8
8
|
"src/templates/edge/*",
|
|
9
9
|
"src/templates/edge-shared/*",
|
|
10
|
+
"src/templates/vendor/*",
|
|
10
11
|
"index.js",
|
|
11
12
|
"manifest.yml"
|
|
12
13
|
],
|
|
13
14
|
"dependencies": {
|
|
14
15
|
"@netlify/esbuild": "0.14.39",
|
|
15
16
|
"@netlify/functions": "^1.6.0",
|
|
16
|
-
"@netlify/ipx": "^1.4.
|
|
17
|
+
"@netlify/ipx": "^1.4.5",
|
|
17
18
|
"@vercel/node-bridge": "^2.1.0",
|
|
18
19
|
"chalk": "^4.1.2",
|
|
19
20
|
"chokidar": "^3.5.3",
|
|
@@ -37,7 +38,7 @@
|
|
|
37
38
|
},
|
|
38
39
|
"devDependencies": {
|
|
39
40
|
"@delucis/if-env": "^1.1.2",
|
|
40
|
-
"@netlify/build": "^29.
|
|
41
|
+
"@netlify/build": "^29.21.2",
|
|
41
42
|
"@types/fs-extra": "^9.0.13",
|
|
42
43
|
"@types/jest": "^27.4.1",
|
|
43
44
|
"@types/merge-stream": "^1.1.2",
|
|
@@ -52,7 +53,9 @@
|
|
|
52
53
|
"publish:install": "npm ci",
|
|
53
54
|
"publish:test": "cd .. && npm ci && npm test",
|
|
54
55
|
"clean": "rimraf lib dist-types",
|
|
55
|
-
"build": "
|
|
56
|
+
"build": "run-s build:*",
|
|
57
|
+
"build:vendor": "rimraf src/templates/vendor && deno vendor src/templates/vendor.ts --output=src/templates/vendor && patch src/templates/vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/index.ts html_rewriter.patch",
|
|
58
|
+
"build:tsc": "tsc",
|
|
56
59
|
"watch": "tsc --watch",
|
|
57
60
|
"prepare": "npm run build"
|
|
58
61
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { NextRequest } from '
|
|
2
|
-
import { NextResponse } from '
|
|
3
|
-
import { fromFileUrl } from '
|
|
1
|
+
import { NextRequest } from '../vendor/esm.sh/v91/next@12.2.5/deno/dist/server/web/spec-extension/request.js'
|
|
2
|
+
import { NextResponse } from '../vendor/esm.sh/v91/next@12.2.5/deno/dist/server/web/spec-extension/response.js'
|
|
3
|
+
import { fromFileUrl } from '../vendor/deno.land/std@0.175.0/path/mod.ts'
|
|
4
4
|
import { buildResponse, isFunction } from '../edge-shared/utils.ts'
|
|
5
5
|
|
|
6
6
|
globalThis.NFRequestContextMap ||= new Map()
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
// deno-lint-ignore-file prefer-const no-unused-vars
|
|
3
|
-
import { decode as _base64Decode } from '
|
|
4
|
-
import BufferCompat from '
|
|
5
|
-
import EventsCompat from '
|
|
6
|
-
import AsyncHooksCompat from '
|
|
7
|
-
import AssertCompat from '
|
|
8
|
-
import UtilCompat from '
|
|
3
|
+
import { decode as _base64Decode } from '../vendor/deno.land/std@0.175.0/encoding/base64.ts'
|
|
4
|
+
import BufferCompat from '../vendor/deno.land/std@0.175.0/node/buffer.ts'
|
|
5
|
+
import EventsCompat from '../vendor/deno.land/std@0.175.0/node/events.ts'
|
|
6
|
+
import AsyncHooksCompat from '../vendor/deno.land/std@0.175.0/node/async_hooks.ts'
|
|
7
|
+
import AssertCompat from '../vendor/deno.land/std@0.175.0/node/assert.ts'
|
|
8
|
+
import UtilCompat from '../vendor/deno.land/std@0.175.0/node/util.ts'
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* These are the shims, polyfills and other kludges to make Next.js work in standards-compliant runtime.
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
// Deno imports
|
|
10
|
-
import type { Key } from '
|
|
10
|
+
import type { Key } from '../vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts'
|
|
11
11
|
|
|
12
|
-
import { compile, pathToRegexp } from '
|
|
13
|
-
import { getCookies } from '
|
|
12
|
+
import { compile, pathToRegexp } from '../vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts'
|
|
13
|
+
import { getCookies } from '../vendor/deno.land/std@0.175.0/http/cookie.ts'
|
|
14
14
|
|
|
15
15
|
// Inlined/re-implemented types
|
|
16
16
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Context } from 'https://edge.netlify.com'
|
|
2
|
-
import { ElementHandlers, HTMLRewriter } from '
|
|
2
|
+
import { ElementHandlers, HTMLRewriter } from '../vendor/deno.land/x/html_rewriter@v0.1.0-pre.17/index.ts'
|
|
3
3
|
|
|
4
4
|
export interface FetchEventResult {
|
|
5
5
|
response: Response
|