@netlify/plugin-nextjs 4.30.1 → 4.30.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/config.js +3 -1
- package/lib/helpers/edge.js +11 -4
- package/lib/helpers/utils.js +6 -1
- package/package.json +2 -2
package/lib/helpers/config.js
CHANGED
|
@@ -9,6 +9,7 @@ const fs_extra_1 = require("fs-extra");
|
|
|
9
9
|
const pathe_1 = require("pathe");
|
|
10
10
|
const slash_1 = __importDefault(require("slash"));
|
|
11
11
|
const constants_1 = require("../constants");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
12
13
|
const ROUTES_MANIFEST_FILE = 'routes-manifest.json';
|
|
13
14
|
const defaultFailBuild = (message, { error }) => {
|
|
14
15
|
throw new Error(`${message}\n${error && error.stack}`);
|
|
@@ -133,7 +134,8 @@ const generateCustomHeaders = (nextConfig, netlifyHeaders = []) => {
|
|
|
133
134
|
const useLocale = ((_a = i18n === null || i18n === void 0 ? void 0 : i18n.locales) === null || _a === void 0 ? void 0 : _a.length) > 0 && localeEnabled !== false;
|
|
134
135
|
if (useLocale) {
|
|
135
136
|
const { locales } = i18n;
|
|
136
|
-
|
|
137
|
+
// escape the locale strings to match the way Next writes the routes-manifest.json file
|
|
138
|
+
const joinedLocales = locales.map((locale) => (0, utils_1.escapeStringRegexp)(locale)).join('|');
|
|
137
139
|
/**
|
|
138
140
|
* converts e.g.
|
|
139
141
|
* /:nextInternalLocale(en|fr)/some-path
|
package/lib/helpers/edge.js
CHANGED
|
@@ -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.writeEdgeFunctions = exports.writeRscDataEdgeFunction = exports.writeDevEdgeFunction = exports.cleanupEdgeFunctions = exports.loadPrerenderManifest = exports.loadAppPathRoutesManifest = exports.loadMiddlewareManifest = exports.isAppDirRoute = void 0;
|
|
6
|
+
exports.writeEdgeFunctions = exports.getEdgeFunctionPatternForPage = exports.writeRscDataEdgeFunction = exports.writeDevEdgeFunction = exports.cleanupEdgeFunctions = exports.loadPrerenderManifest = exports.loadAppPathRoutesManifest = exports.loadMiddlewareManifest = exports.isAppDirRoute = void 0;
|
|
7
7
|
const fs_1 = require("fs");
|
|
8
8
|
const path_1 = require("path");
|
|
9
9
|
const chalk_1 = require("chalk");
|
|
@@ -212,12 +212,19 @@ const writeRscDataEdgeFunction = async ({ prerenderManifest, appPathRoutesManife
|
|
|
212
212
|
exports.writeRscDataEdgeFunction = writeRscDataEdgeFunction;
|
|
213
213
|
const getEdgeFunctionPatternForPage = ({ edgeFunctionDefinition, pageRegexMap, appPathRoutesManifest, }) => {
|
|
214
214
|
// We don't just use the matcher from the edge function definition, because it doesn't handle trailing slashes
|
|
215
|
-
var _a;
|
|
215
|
+
var _a, _b;
|
|
216
216
|
// appDir functions have a name that _isn't_ the route name, but rather the route with `/page` appended
|
|
217
217
|
const regexp = pageRegexMap.get((_a = appPathRoutesManifest === null || appPathRoutesManifest === void 0 ? void 0 : appPathRoutesManifest[edgeFunctionDefinition.page]) !== null && _a !== void 0 ? _a : edgeFunctionDefinition.page);
|
|
218
|
+
if (regexp) {
|
|
219
|
+
return regexp;
|
|
220
|
+
}
|
|
221
|
+
if ('regexp' in edgeFunctionDefinition) {
|
|
222
|
+
return edgeFunctionDefinition.regexp.replace(/([^/])\$$/, '$1/?$');
|
|
223
|
+
}
|
|
218
224
|
// If we need to fall back to the matcher, we need to add an optional trailing slash
|
|
219
|
-
return
|
|
225
|
+
return (_b = edgeFunctionDefinition.matchers) === null || _b === void 0 ? void 0 : _b[0].regexp.replace(/([^/])\$$/, '$1/?$');
|
|
220
226
|
};
|
|
227
|
+
exports.getEdgeFunctionPatternForPage = getEdgeFunctionPatternForPage;
|
|
221
228
|
/**
|
|
222
229
|
* Writes Edge Functions for the Next middleware
|
|
223
230
|
*/
|
|
@@ -298,7 +305,7 @@ const writeEdgeFunctions = async ({ netlifyConfig, routesManifest, }) => {
|
|
|
298
305
|
netlifyConfig,
|
|
299
306
|
functionName,
|
|
300
307
|
});
|
|
301
|
-
const pattern = getEdgeFunctionPatternForPage({
|
|
308
|
+
const pattern = (0, exports.getEdgeFunctionPatternForPage)({
|
|
302
309
|
edgeFunctionDefinition,
|
|
303
310
|
pageRegexMap,
|
|
304
311
|
appPathRoutesManifest,
|
package/lib/helpers/utils.js
CHANGED
|
@@ -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.getRemotePatterns = exports.isBundleSizeCheckDisabled = exports.getCustomImageResponseHeaders = exports.isNextAuthInstalled = exports.findModuleFromBase = exports.shouldSkip = exports.getPreviewRewrites = exports.getApiRewrites = exports.redirectsForNextRouteWithData = exports.redirectsForNext404Route = exports.redirectsForNextRoute = exports.is404Route = exports.isApiRoute = exports.localizeRoute = exports.routeToDataRoute = exports.generateNetlifyRoutes = exports.toNetlifyRoute = exports.getFunctionNameForPage = void 0;
|
|
6
|
+
exports.escapeStringRegexp = exports.getRemotePatterns = exports.isBundleSizeCheckDisabled = exports.getCustomImageResponseHeaders = exports.isNextAuthInstalled = exports.findModuleFromBase = exports.shouldSkip = exports.getPreviewRewrites = exports.getApiRewrites = exports.redirectsForNextRouteWithData = exports.redirectsForNext404Route = exports.redirectsForNextRoute = exports.is404Route = exports.isApiRoute = exports.localizeRoute = exports.routeToDataRoute = exports.generateNetlifyRoutes = exports.toNetlifyRoute = exports.getFunctionNameForPage = void 0;
|
|
7
7
|
const globby_1 = __importDefault(require("globby"));
|
|
8
8
|
const pathe_1 = require("pathe");
|
|
9
9
|
const constants_1 = require("../constants");
|
|
@@ -207,3 +207,8 @@ const getRemotePatterns = (experimental, images) => {
|
|
|
207
207
|
return [];
|
|
208
208
|
};
|
|
209
209
|
exports.getRemotePatterns = getRemotePatterns;
|
|
210
|
+
// Taken from next/src/shared/lib/escape-regexp.ts
|
|
211
|
+
const reHasRegExp = /[|\\{}()[\]^$+*?.-]/;
|
|
212
|
+
const reReplaceRegExp = /[|\\{}()[\]^$+*?.-]/g;
|
|
213
|
+
const escapeStringRegexp = (str) => (reHasRegExp.test(str) ? str.replace(reReplaceRegExp, '\\$&') : str);
|
|
214
|
+
exports.escapeStringRegexp = escapeStringRegexp;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netlify/plugin-nextjs",
|
|
3
|
-
"version": "4.30.
|
|
3
|
+
"version": "4.30.2",
|
|
4
4
|
"description": "Run Next.js seamlessly on Netlify",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@delucis/if-env": "^1.1.2",
|
|
39
|
-
"@netlify/build": "^29.5.
|
|
39
|
+
"@netlify/build": "^29.5.2",
|
|
40
40
|
"@types/fs-extra": "^9.0.13",
|
|
41
41
|
"@types/jest": "^27.4.1",
|
|
42
42
|
"@types/merge-stream": "^1.1.2",
|