|
1 | 1 | import { describe, expect, test } from "vitest";
|
2 | 2 |
|
3 | 3 | import { computePatchDiff } from "../../utils/test-patch.js";
|
4 |
| -import { buildIdRule, createCacheHandlerRule, createComposableCacheHandlersRule } from "./next-server.js"; |
| 4 | +import { |
| 5 | + buildIdRule, |
| 6 | + createCacheHandlerRule, |
| 7 | + createComposableCacheHandlersRule, |
| 8 | + disableNodeMiddlewareRule, |
| 9 | +} from "./next-server.js"; |
5 | 10 |
|
6 | 11 | describe("Next Server", () => {
|
7 | 12 | const nextServerCode = `
|
@@ -85,6 +90,22 @@ class NextNodeServer extends _baseserver.default {
|
85 | 90 | pages: (0, _findpagesdir.findDir)(dir, "pages") ? true : false
|
86 | 91 | };
|
87 | 92 | }
|
| 93 | + async loadNodeMiddleware() { |
| 94 | + if (!process.env.NEXT_MINIMAL) { |
| 95 | + try { |
| 96 | + var _functionsConfig_functions; |
| 97 | + const functionsConfig = this.renderOpts.dev ? {} : require((0, _path.join)(this.distDir, 'server', _constants.FUNCTIONS_CONFIG_MANIFEST)); |
| 98 | + if (this.renderOpts.dev || (functionsConfig == null ? void 0 : (_functionsConfig_functions = functionsConfig.functions) == null ? void 0 : _functionsConfig_functions['/_middleware'])) { |
| 99 | + // if used with top level await, this will be a promise |
| 100 | + return require((0, _path.join)(this.distDir, 'server', 'middleware.js')); |
| 101 | + } |
| 102 | + } catch (err) { |
| 103 | + if ((0, _iserror.default)(err) && err.code !== 'ENOENT' && err.code !== 'MODULE_NOT_FOUND') { |
| 104 | + throw err; |
| 105 | + } |
| 106 | + } |
| 107 | + } |
| 108 | + } |
88 | 109 | // ...
|
89 | 110 | }`;
|
90 | 111 |
|
@@ -187,4 +208,46 @@ class NextNodeServer extends _baseserver.default {
|
187 | 208 | "
|
188 | 209 | `);
|
189 | 210 | });
|
| 211 | + |
| 212 | + test("disable node middleware", () => { |
| 213 | + expect(computePatchDiff("next-server.js", nextServerCode, disableNodeMiddlewareRule)) |
| 214 | + .toMatchInlineSnapshot(` |
| 215 | + "Index: next-server.js |
| 216 | + =================================================================== |
| 217 | + --- next-server.js |
| 218 | + +++ next-server.js |
| 219 | + @@ -1,5 +1,4 @@ |
| 220 | + - |
| 221 | + class NextNodeServer extends _baseserver.default { |
| 222 | + constructor(options){ |
| 223 | + // Initialize super class |
| 224 | + super(options); |
| 225 | + @@ -79,21 +78,8 @@ |
| 226 | + pages: (0, _findpagesdir.findDir)(dir, "pages") ? true : false |
| 227 | + }; |
| 228 | + } |
| 229 | + async loadNodeMiddleware() { |
| 230 | + - if (!process.env.NEXT_MINIMAL) { |
| 231 | + - try { |
| 232 | + - var _functionsConfig_functions; |
| 233 | + - const functionsConfig = this.renderOpts.dev ? {} : require((0, _path.join)(this.distDir, 'server', _constants.FUNCTIONS_CONFIG_MANIFEST)); |
| 234 | + - if (this.renderOpts.dev || (functionsConfig == null ? void 0 : (_functionsConfig_functions = functionsConfig.functions) == null ? void 0 : _functionsConfig_functions['/_middleware'])) { |
| 235 | + - // if used with top level await, this will be a promise |
| 236 | + - return require((0, _path.join)(this.distDir, 'server', 'middleware.js')); |
| 237 | + - } |
| 238 | + - } catch (err) { |
| 239 | + - if ((0, _iserror.default)(err) && err.code !== 'ENOENT' && err.code !== 'MODULE_NOT_FOUND') { |
| 240 | + - throw err; |
| 241 | + - } |
| 242 | + - } |
| 243 | + - } |
| 244 | + - } |
| 245 | + + // patched by open next |
| 246 | + +} |
| 247 | + // ... |
| 248 | + } |
| 249 | + \\ No newline at end of file |
| 250 | + " |
| 251 | + `); |
| 252 | + }); |
190 | 253 | });
|
0 commit comments