@modern-js/prod-server 2.19.1 → 2.21.0

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 (79) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/cjs/index.js +3 -15
  3. package/dist/cjs/libs/context/context.js +10 -26
  4. package/dist/cjs/libs/hook-api/index.js +13 -29
  5. package/dist/cjs/libs/hook-api/route.js +4 -16
  6. package/dist/cjs/libs/hook-api/template.js +2 -14
  7. package/dist/cjs/libs/loadConfig.js +4 -47
  8. package/dist/cjs/libs/logger.js +5 -17
  9. package/dist/cjs/libs/render/cache/__tests__/cache.fun.test.js +2 -6
  10. package/dist/cjs/libs/render/cache/page-caches/lru.js +5 -21
  11. package/dist/cjs/libs/render/cache/spr.js +7 -23
  12. package/dist/cjs/libs/render/cache/util.js +2 -6
  13. package/dist/cjs/libs/render/index.js +7 -49
  14. package/dist/cjs/libs/render/reader.js +4 -20
  15. package/dist/cjs/libs/render/ssr.js +8 -10
  16. package/dist/cjs/libs/render/static.js +2 -6
  17. package/dist/cjs/libs/route/index.js +3 -15
  18. package/dist/cjs/libs/route/matcher.js +5 -17
  19. package/dist/cjs/libs/route/route.js +10 -22
  20. package/dist/cjs/libs/serveFile.js +2 -6
  21. package/dist/cjs/server/index.js +9 -25
  22. package/dist/cjs/server/modernServer.js +28 -82
  23. package/dist/cjs/workerServer.js +103 -48
  24. package/dist/esm/libs/context/context.js +4 -42
  25. package/dist/esm/libs/hook-api/index.js +6 -132
  26. package/dist/esm/libs/hook-api/route.js +3 -35
  27. package/dist/esm/libs/hook-api/template.js +3 -35
  28. package/dist/esm/libs/loadConfig.js +2 -52
  29. package/dist/esm/libs/logger.js +7 -101
  30. package/dist/esm/libs/proxy.js +5 -194
  31. package/dist/esm/libs/render/cache/__tests__/cache.fun.test.js +6 -192
  32. package/dist/esm/libs/render/cache/__tests__/cache.test.js +13 -202
  33. package/dist/esm/libs/render/cache/index.js +8 -164
  34. package/dist/esm/libs/render/cache/page-caches/index.js +3 -132
  35. package/dist/esm/libs/render/cache/page-caches/lru.js +3 -35
  36. package/dist/esm/libs/render/cache/spr.js +10 -171
  37. package/dist/esm/libs/render/cache/util.js +6 -211
  38. package/dist/esm/libs/render/index.js +6 -134
  39. package/dist/esm/libs/render/measure.js +4 -93
  40. package/dist/esm/libs/render/reader.js +8 -169
  41. package/dist/esm/libs/render/ssr.js +15 -137
  42. package/dist/esm/libs/render/static.js +3 -132
  43. package/dist/esm/libs/route/index.js +3 -35
  44. package/dist/esm/libs/route/matcher.js +3 -35
  45. package/dist/esm/libs/route/route.js +2 -18
  46. package/dist/esm/libs/serveFile.js +3 -132
  47. package/dist/esm/server/index.js +16 -247
  48. package/dist/esm/server/modernServer.js +24 -229
  49. package/dist/esm/server/modernServerSplit.js +12 -253
  50. package/dist/esm/utils.js +2 -62
  51. package/dist/esm/workerServer.js +134 -190
  52. package/dist/esm-node/libs/context/context.js +1 -13
  53. package/dist/esm-node/libs/hook-api/index.js +1 -13
  54. package/dist/esm-node/libs/hook-api/route.js +1 -13
  55. package/dist/esm-node/libs/hook-api/template.js +1 -13
  56. package/dist/esm-node/libs/logger.js +1 -13
  57. package/dist/esm-node/libs/render/cache/page-caches/lru.js +1 -13
  58. package/dist/esm-node/libs/render/cache/spr.js +1 -13
  59. package/dist/esm-node/libs/render/index.js +3 -2
  60. package/dist/esm-node/libs/render/reader.js +1 -13
  61. package/dist/esm-node/libs/render/ssr.js +5 -3
  62. package/dist/esm-node/libs/route/index.js +1 -13
  63. package/dist/esm-node/libs/route/matcher.js +1 -13
  64. package/dist/esm-node/libs/route/route.js +1 -13
  65. package/dist/esm-node/server/index.js +1 -13
  66. package/dist/esm-node/server/modernServer.js +4 -15
  67. package/dist/esm-node/workerServer.js +102 -47
  68. package/dist/types/index.d.ts +0 -2
  69. package/dist/types/libs/context/context.d.ts +1 -4
  70. package/dist/types/libs/loadConfig.d.ts +0 -1
  71. package/dist/types/libs/logger.d.ts +0 -2
  72. package/dist/types/libs/render/cache/index.d.ts +0 -2
  73. package/dist/types/libs/render/cache/spr.d.ts +0 -2
  74. package/dist/types/libs/render/index.d.ts +3 -1
  75. package/dist/types/libs/render/ssr.d.ts +1 -0
  76. package/dist/types/server/index.d.ts +0 -3
  77. package/dist/types/utils.d.ts +1 -1
  78. package/dist/types/workerServer.d.ts +33 -5
  79. package/package.json +9 -8
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # @modern-js/prod-server
2
2
 
3
+ ## 2.21.0
4
+
5
+ ### Patch Changes
6
+
7
+ - cfc5bda: feat: ssr mode support async entry
8
+ feat: ssr 模式支持异步入口
9
+ - 26dcf3a: chore: bump typescript to v5 in devDependencies
10
+
11
+ chore: 升级 devDependencies 中的 typescript 版本到 v5
12
+
13
+ - 43b4e83: feat: support security.nonce for add nonce attribute on script tag
14
+ feat: 支持 security.nonce 配置,为 script 标签添加 nonce 属性
15
+ - Updated dependencies [e81eeaf]
16
+ - Updated dependencies [26dcf3a]
17
+ - Updated dependencies [056627f]
18
+ - Updated dependencies [0fc15ca]
19
+ - Updated dependencies [43b4e83]
20
+ - Updated dependencies [ad78387]
21
+ - @modern-js/utils@2.21.0
22
+ - @modern-js/server-core@2.21.0
23
+
24
+ ## 2.20.0
25
+
26
+ ### Patch Changes
27
+
28
+ - 6b9d90a: chore: remove @babel/runtime. add @swc/helper and enable `externalHelper` config.
29
+ chore: 移除 @babel/runtime 依赖. 增加 @swc/helpers 依赖并且开启 `externalHelpers` 配置
30
+ - 4425fd6: fix: worker ssr context lack some fields & worker ssr must have routerManifest.json
31
+ fix: worker ssr 上下文缺少一些字段,worker ssr 必须有 routerManifest.json 文件
32
+ - Updated dependencies [3c4e0a5]
33
+ - Updated dependencies [6b9d90a]
34
+ - @modern-js/utils@2.20.0
35
+ - @modern-js/server-core@2.20.0
36
+
3
37
  ## 2.19.1
4
38
 
5
39
  ### Patch Changes
package/dist/cjs/index.js CHANGED
@@ -15,24 +15,12 @@ _export(exports, {
15
15
  createProxyHandler: () => _proxy.createProxyHandler,
16
16
  default: () => _default
17
17
  });
18
+ const _export_star = require("@swc/helpers/_/_export_star");
18
19
  const _server = require("./server");
19
20
  const _modernServer = require("./server/modernServer");
20
21
  const _proxy = require("./libs/proxy");
21
- _export_star(require("./type"), exports);
22
- _export_star(require("./constants"), exports);
23
- function _export_star(from, to) {
24
- Object.keys(from).forEach(function(k) {
25
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
26
- Object.defineProperty(to, k, {
27
- enumerable: true,
28
- get: function() {
29
- return from[k];
30
- }
31
- });
32
- }
33
- });
34
- return from;
35
- }
22
+ _export_star._(require("./type"), exports);
23
+ _export_star._(require("./constants"), exports);
36
24
  const _default = (options) => {
37
25
  if (options == null) {
38
26
  throw new Error("can not start mserver without options");
@@ -6,30 +6,14 @@ Object.defineProperty(exports, "ModernServerContext", {
6
6
  enumerable: true,
7
7
  get: () => ModernServerContext
8
8
  });
9
+ const _define_property = require("@swc/helpers/_/_define_property");
10
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
9
11
  const _url = require("url");
10
- const _querystring = /* @__PURE__ */ _interop_require_default(require("querystring"));
12
+ const _querystring = /* @__PURE__ */ _interop_require_default._(require("querystring"));
11
13
  const _buffer = require("buffer");
12
- const _etag = /* @__PURE__ */ _interop_require_default(require("etag"));
13
- const _fresh = /* @__PURE__ */ _interop_require_default(require("fresh"));
14
+ const _etag = /* @__PURE__ */ _interop_require_default._(require("etag"));
15
+ const _fresh = /* @__PURE__ */ _interop_require_default._(require("fresh"));
14
16
  const _utils = require("../../utils");
15
- function _define_property(obj, key, value) {
16
- if (key in obj) {
17
- Object.defineProperty(obj, key, {
18
- value,
19
- enumerable: true,
20
- configurable: true,
21
- writable: true
22
- });
23
- } else {
24
- obj[key] = value;
25
- }
26
- return obj;
27
- }
28
- function _interop_require_default(obj) {
29
- return obj && obj.__esModule ? obj : {
30
- default: obj
31
- };
32
- }
33
17
  const MOCK_URL_BASE = "https://modernjs.dev/";
34
18
  class ModernServerContext {
35
19
  get logger() {
@@ -174,11 +158,11 @@ class ModernServerContext {
174
158
  this.logger.error(`Web Server Error - ${dig}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, this.path, (0, _utils.headersWithoutCookie)(this.headers));
175
159
  }
176
160
  constructor(req, res, options) {
177
- _define_property(this, "req", void 0);
178
- _define_property(this, "res", void 0);
179
- _define_property(this, "params", {});
180
- _define_property(this, "serverData", void 0);
181
- _define_property(this, "options", {});
161
+ _define_property._(this, "req", void 0);
162
+ _define_property._(this, "res", void 0);
163
+ _define_property._(this, "params", {});
164
+ _define_property._(this, "serverData", void 0);
165
+ _define_property._(this, "options", {});
182
166
  this.req = req;
183
167
  this.res = res;
184
168
  this.options = options || {};
@@ -15,27 +15,11 @@ _export(exports, {
15
15
  createAfterRenderContext: () => createAfterRenderContext,
16
16
  createMiddlewareContext: () => createMiddlewareContext
17
17
  });
18
- const _cookie = /* @__PURE__ */ _interop_require_default(require("cookie"));
18
+ const _define_property = require("@swc/helpers/_/_define_property");
19
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
20
+ const _cookie = /* @__PURE__ */ _interop_require_default._(require("cookie"));
19
21
  const _route = require("./route");
20
22
  const _template = require("./template");
21
- function _define_property(obj, key, value) {
22
- if (key in obj) {
23
- Object.defineProperty(obj, key, {
24
- value,
25
- enumerable: true,
26
- configurable: true,
27
- writable: true
28
- });
29
- } else {
30
- obj[key] = value;
31
- }
32
- return obj;
33
- }
34
- function _interop_require_default(obj) {
35
- return obj && obj.__esModule ? obj : {
36
- default: obj
37
- };
38
- }
39
23
  class Response {
40
24
  get(key) {
41
25
  return this.res.getHeader(key);
@@ -68,8 +52,8 @@ class Response {
68
52
  this.res.end(body);
69
53
  }
70
54
  constructor(res) {
71
- _define_property(this, "cookies", void 0);
72
- _define_property(this, "res", void 0);
55
+ _define_property._(this, "cookies", void 0);
56
+ _define_property._(this, "res", void 0);
73
57
  this.res = res;
74
58
  this.cookies = {
75
59
  set: this.setCookie.bind(this),
@@ -82,14 +66,14 @@ class Request {
82
66
  return this._cookie[key];
83
67
  }
84
68
  constructor(ctx) {
85
- _define_property(this, "url", void 0);
86
- _define_property(this, "host", void 0);
87
- _define_property(this, "pathname", void 0);
88
- _define_property(this, "query", void 0);
89
- _define_property(this, "headers", void 0);
90
- _define_property(this, "cookie", void 0);
91
- _define_property(this, "cookies", void 0);
92
- _define_property(this, "_cookie", void 0);
69
+ _define_property._(this, "url", void 0);
70
+ _define_property._(this, "host", void 0);
71
+ _define_property._(this, "pathname", void 0);
72
+ _define_property._(this, "query", void 0);
73
+ _define_property._(this, "headers", void 0);
74
+ _define_property._(this, "cookie", void 0);
75
+ _define_property._(this, "cookies", void 0);
76
+ _define_property._(this, "_cookie", void 0);
93
77
  this.url = ctx.url;
94
78
  this.host = ctx.host;
95
79
  this.pathname = ctx.path;
@@ -6,19 +6,7 @@ Object.defineProperty(exports, "RouteAPI", {
6
6
  enumerable: true,
7
7
  get: () => RouteAPI
8
8
  });
9
- function _define_property(obj, key, value) {
10
- if (key in obj) {
11
- Object.defineProperty(obj, key, {
12
- value,
13
- enumerable: true,
14
- configurable: true,
15
- writable: true
16
- });
17
- } else {
18
- obj[key] = value;
19
- }
20
- return obj;
21
- }
9
+ const _define_property = require("@swc/helpers/_/_define_property");
22
10
  class RouteAPI {
23
11
  redirect(url, status = 302) {
24
12
  this.url = url;
@@ -31,9 +19,9 @@ class RouteAPI {
31
19
  this.rewrite(entryName);
32
20
  }
33
21
  constructor(entryName) {
34
- _define_property(this, "current", void 0);
35
- _define_property(this, "status", void 0);
36
- _define_property(this, "url", void 0);
22
+ _define_property._(this, "current", void 0);
23
+ _define_property._(this, "status", void 0);
24
+ _define_property._(this, "url", void 0);
37
25
  this.current = entryName;
38
26
  this.status = 200;
39
27
  this.url = "";
@@ -13,20 +13,8 @@ _export(exports, {
13
13
  TemplateAPI: () => TemplateAPI,
14
14
  templateInjectableStream: () => templateInjectableStream
15
15
  });
16
+ const _define_property = require("@swc/helpers/_/_define_property");
16
17
  const _stream = require("stream");
17
- function _define_property(obj, key, value) {
18
- if (key in obj) {
19
- Object.defineProperty(obj, key, {
20
- value,
21
- enumerable: true,
22
- configurable: true,
23
- writable: true
24
- });
25
- } else {
26
- obj[key] = value;
27
- }
28
- return obj;
29
- }
30
18
  const RegList = {
31
19
  before: {
32
20
  head: "<head>",
@@ -64,7 +52,7 @@ class TemplateAPI {
64
52
  this.content = this.content.replace(reg, text);
65
53
  }
66
54
  constructor(content) {
67
- _define_property(this, "content", void 0);
55
+ _define_property._(this, "content", void 0);
68
56
  this.content = content;
69
57
  }
70
58
  }
@@ -14,54 +14,11 @@ _export(exports, {
14
14
  requireConfig: () => requireConfig,
15
15
  loadConfig: () => loadConfig
16
16
  });
17
- const _path = /* @__PURE__ */ _interop_require_wildcard(require("path"));
17
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
18
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
19
+ const _path = /* @__PURE__ */ _interop_require_wildcard._(require("path"));
18
20
  const _utils = require("@modern-js/utils");
19
- const _mergedeep = /* @__PURE__ */ _interop_require_default(require("merge-deep"));
20
- function _interop_require_default(obj) {
21
- return obj && obj.__esModule ? obj : {
22
- default: obj
23
- };
24
- }
25
- function _getRequireWildcardCache(nodeInterop) {
26
- if (typeof WeakMap !== "function")
27
- return null;
28
- var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
29
- var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
30
- return (_getRequireWildcardCache = function(nodeInterop2) {
31
- return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
32
- })(nodeInterop);
33
- }
34
- function _interop_require_wildcard(obj, nodeInterop) {
35
- if (!nodeInterop && obj && obj.__esModule) {
36
- return obj;
37
- }
38
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
39
- return {
40
- default: obj
41
- };
42
- }
43
- var cache = _getRequireWildcardCache(nodeInterop);
44
- if (cache && cache.has(obj)) {
45
- return cache.get(obj);
46
- }
47
- var newObj = {};
48
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
49
- for (var key in obj) {
50
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
51
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
52
- if (desc && (desc.get || desc.set)) {
53
- Object.defineProperty(newObj, key, desc);
54
- } else {
55
- newObj[key] = obj[key];
56
- }
57
- }
58
- }
59
- newObj.default = obj;
60
- if (cache) {
61
- cache.set(obj, newObj);
62
- }
63
- return newObj;
64
- }
21
+ const _mergedeep = /* @__PURE__ */ _interop_require_default._(require("merge-deep"));
65
22
  const getServerConfigPath = (distDirectory, serverConfigFile = _utils.DEFAULT_SERVER_CONFIG) => {
66
23
  const serverConfigPath = _path.join(distDirectory, serverConfigFile);
67
24
  return `${serverConfigPath}.js`;
@@ -13,19 +13,7 @@ _export(exports, {
13
13
  Logger: () => Logger,
14
14
  logger: () => logger
15
15
  });
16
- function _define_property(obj, key, value) {
17
- if (key in obj) {
18
- Object.defineProperty(obj, key, {
19
- value,
20
- enumerable: true,
21
- configurable: true,
22
- writable: true
23
- });
24
- } else {
25
- obj[key] = value;
26
- }
27
- return obj;
28
- }
16
+ const _define_property = require("@swc/helpers/_/_define_property");
29
17
  const LOG_LEVEL = {
30
18
  error: 0,
31
19
  warn: 1,
@@ -108,10 +96,10 @@ ${rest.join("\n")}`;
108
96
  return longestLabel;
109
97
  }
110
98
  constructor(options = {}) {
111
- _define_property(this, "level", void 0);
112
- _define_property(this, "config", void 0);
113
- _define_property(this, "types", void 0);
114
- _define_property(this, "longestLabel", void 0);
99
+ _define_property._(this, "level", void 0);
100
+ _define_property._(this, "config", void 0);
101
+ _define_property._(this, "types", void 0);
102
+ _define_property._(this, "longestLabel", void 0);
115
103
  this.level = options.level || LOG_TYPES.log.level;
116
104
  this.config = {
117
105
  ...DEFAULT_CONFIG,
@@ -2,14 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- const _url = /* @__PURE__ */ _interop_require_default(require("url"));
5
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
6
+ const _url = /* @__PURE__ */ _interop_require_default._(require("url"));
6
7
  const _spr = require("../spr");
7
8
  const _util = require("../util");
8
- function _interop_require_default(obj) {
9
- return obj && obj.__esModule ? obj : {
10
- default: obj
11
- };
12
- }
13
9
  describe("test spr util functions", () => {
14
10
  it("should return value correctly", () => {
15
11
  expect((0, _util.connectFactor)("bar", "foo")).toBe("bar-foo");
@@ -6,25 +6,9 @@ Object.defineProperty(exports, "LRUCaches", {
6
6
  enumerable: true,
7
7
  get: () => LRUCaches
8
8
  });
9
- const _lrucache = /* @__PURE__ */ _interop_require_default(require("lru-cache"));
10
- function _define_property(obj, key, value) {
11
- if (key in obj) {
12
- Object.defineProperty(obj, key, {
13
- value,
14
- enumerable: true,
15
- configurable: true,
16
- writable: true
17
- });
18
- } else {
19
- obj[key] = value;
20
- }
21
- return obj;
22
- }
23
- function _interop_require_default(obj) {
24
- return obj && obj.__esModule ? obj : {
25
- default: obj
26
- };
27
- }
9
+ const _define_property = require("@swc/helpers/_/_define_property");
10
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
11
+ const _lrucache = /* @__PURE__ */ _interop_require_default._(require("lru-cache"));
28
12
  class LRUCaches {
29
13
  init() {
30
14
  return Promise.resolve();
@@ -46,8 +30,8 @@ class LRUCaches {
46
30
  this.caches.del(key);
47
31
  }
48
32
  constructor(options) {
49
- _define_property(this, "caches", void 0);
50
- _define_property(this, "max", void 0);
33
+ _define_property._(this, "caches", void 0);
34
+ _define_property._(this, "max", void 0);
51
35
  this.max = options.max;
52
36
  this.caches = new _lrucache.default(this.max);
53
37
  }
@@ -13,29 +13,13 @@ _export(exports, {
13
13
  createCache: () => createCache,
14
14
  destroyCache: () => destroyCache
15
15
  });
16
- const _crypto = /* @__PURE__ */ _interop_require_default(require("crypto"));
17
- const _lrucache = /* @__PURE__ */ _interop_require_default(require("lru-cache"));
16
+ const _define_property = require("@swc/helpers/_/_define_property");
17
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
18
+ const _crypto = /* @__PURE__ */ _interop_require_default._(require("crypto"));
19
+ const _lrucache = /* @__PURE__ */ _interop_require_default._(require("lru-cache"));
18
20
  const _utils = require("@modern-js/utils");
19
21
  const _util = require("./util");
20
22
  const _pagecaches = require("./page-caches");
21
- function _define_property(obj, key, value) {
22
- if (key in obj) {
23
- Object.defineProperty(obj, key, {
24
- value,
25
- enumerable: true,
26
- configurable: true,
27
- writable: true
28
- });
29
- } else {
30
- obj[key] = value;
31
- }
32
- return obj;
33
- }
34
- function _interop_require_default(obj) {
35
- return obj && obj.__esModule ? obj : {
36
- default: obj
37
- };
38
- }
39
23
  const MAX_CACHE_EACH_REQ = Number(process.env.ROUTE_CACHE_LIMIT) || 10;
40
24
  const MAX_SIZE_EACH_CLUSTER = Number(process.env.CLUSTER_CACHE_LIMIT) || 100;
41
25
  const BASE_LEVEL = 0;
@@ -178,9 +162,9 @@ class CacheManager {
178
162
  data === null || data === void 0 ? void 0 : data.caches.del(cacheHash);
179
163
  }
180
164
  constructor(cacheOptions) {
181
- _define_property(this, "cache", void 0);
182
- _define_property(this, "cacheOptions", void 0);
183
- _define_property(this, "find", (() => {
165
+ _define_property._(this, "cache", void 0);
166
+ _define_property._(this, "cacheOptions", void 0);
167
+ _define_property._(this, "find", (() => {
184
168
  {
185
169
  const _this = this;
186
170
  return {
@@ -19,12 +19,8 @@ _export(exports, {
19
19
  withCoalescedInvoke: () => withCoalescedInvoke,
20
20
  maybeSync: () => maybeSync
21
21
  });
22
- const _url = /* @__PURE__ */ _interop_require_default(require("url"));
23
- function _interop_require_default(obj) {
24
- return obj && obj.__esModule ? obj : {
25
- default: obj
26
- };
27
- }
22
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
23
+ const _url = /* @__PURE__ */ _interop_require_default._(require("url"));
28
24
  function namespaceHash(namespace, hash) {
29
25
  return `${namespace}/${hash}`;
30
26
  }
@@ -6,59 +6,16 @@ Object.defineProperty(exports, "createRenderHandler", {
6
6
  enumerable: true,
7
7
  get: () => createRenderHandler
8
8
  });
9
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
9
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
11
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
10
12
  const _utils = require("@modern-js/utils");
11
13
  const _constants = require("../../constants");
12
14
  const _static = require("./static");
13
15
  const _reader = require("./reader");
14
- const _ssr = /* @__PURE__ */ _interop_require_wildcard(require("./ssr"));
16
+ const _ssr = /* @__PURE__ */ _interop_require_wildcard._(require("./ssr"));
15
17
  const _utils1 = require("./utils");
16
- function _interop_require_default(obj) {
17
- return obj && obj.__esModule ? obj : {
18
- default: obj
19
- };
20
- }
21
- function _getRequireWildcardCache(nodeInterop) {
22
- if (typeof WeakMap !== "function")
23
- return null;
24
- var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
25
- var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
26
- return (_getRequireWildcardCache = function(nodeInterop2) {
27
- return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
28
- })(nodeInterop);
29
- }
30
- function _interop_require_wildcard(obj, nodeInterop) {
31
- if (!nodeInterop && obj && obj.__esModule) {
32
- return obj;
33
- }
34
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
35
- return {
36
- default: obj
37
- };
38
- }
39
- var cache = _getRequireWildcardCache(nodeInterop);
40
- if (cache && cache.has(obj)) {
41
- return cache.get(obj);
42
- }
43
- var newObj = {};
44
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
45
- for (var key in obj) {
46
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
47
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
48
- if (desc && (desc.get || desc.set)) {
49
- Object.defineProperty(newObj, key, desc);
50
- } else {
51
- newObj[key] = obj[key];
52
- }
53
- }
54
- }
55
- newObj.default = obj;
56
- if (cache) {
57
- cache.set(obj, newObj);
58
- }
59
- return newObj;
60
- }
61
- const createRenderHandler = ({ distDir, staticGenerate, forceCSR }) => async function render({ ctx, route, runner }) {
18
+ const createRenderHandler = ({ distDir, staticGenerate, forceCSR, nonce }) => async function render({ ctx, route, runner }) {
62
19
  if (ctx.resHasHandled()) {
63
20
  return null;
64
21
  }
@@ -85,7 +42,8 @@ const createRenderHandler = ({ distDir, staticGenerate, forceCSR }) => async fun
85
42
  urlPath: route.urlPath,
86
43
  bundle: route.bundle,
87
44
  template: content.toString(),
88
- staticGenerate
45
+ staticGenerate,
46
+ nonce
89
47
  }, runner);
90
48
  return result;
91
49
  } catch (err) {
@@ -16,26 +16,10 @@ _export(exports, {
16
16
  init: () => init,
17
17
  close: () => close
18
18
  });
19
+ const _define_property = require("@swc/helpers/_/_define_property");
20
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
19
21
  const _utils = require("@modern-js/utils");
20
- const _lrucache = /* @__PURE__ */ _interop_require_default(require("lru-cache"));
21
- function _define_property(obj, key, value) {
22
- if (key in obj) {
23
- Object.defineProperty(obj, key, {
24
- value,
25
- enumerable: true,
26
- configurable: true,
27
- writable: true
28
- });
29
- } else {
30
- obj[key] = value;
31
- }
32
- return obj;
33
- }
34
- function _interop_require_default(obj) {
35
- return obj && obj.__esModule ? obj : {
36
- default: obj
37
- };
38
- }
22
+ const _lrucache = /* @__PURE__ */ _interop_require_default._(require("lru-cache"));
39
23
  const Byte = 1;
40
24
  const KB = 1024 * Byte;
41
25
  const MB = 1024 * KB;
@@ -94,7 +78,7 @@ class LruReader {
94
78
  }
95
79
  // private timer?: NodeJS.Timeout;
96
80
  constructor() {
97
- _define_property(this, "cache", void 0);
81
+ _define_property._(this, "cache", void 0);
98
82
  this.cache = new _lrucache.default({
99
83
  max: 256 * MB,
100
84
  length: getContentLength,
@@ -6,19 +6,15 @@ Object.defineProperty(exports, "render", {
6
6
  enumerable: true,
7
7
  get: () => render
8
8
  });
9
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
9
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
10
11
  const _utils = require("@modern-js/utils");
11
- const _cache = /* @__PURE__ */ _interop_require_default(require("./cache"));
12
+ const _cache = /* @__PURE__ */ _interop_require_default._(require("./cache"));
12
13
  const _measure = require("./measure");
13
14
  const _utils1 = require("./utils");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
15
  const render = async (ctx, renderOptions, runner) => {
20
16
  var _ctx_res;
21
- const { urlPath, bundle, distDir, template, entryName, staticGenerate, enableUnsafeCtx = false } = renderOptions;
17
+ const { urlPath, bundle, distDir, template, entryName, staticGenerate, enableUnsafeCtx = false, nonce } = renderOptions;
22
18
  const bundleJS = _path.default.join(distDir, bundle);
23
19
  const loadableUri = _path.default.join(distDir, _utils.LOADABLE_STATS_FILE);
24
20
  const loadableStats = _utils.fs.existsSync(loadableUri) ? require(loadableUri) : "";
@@ -53,12 +49,14 @@ const render = async (ctx, renderOptions, runner) => {
53
49
  metrics: void 0,
54
50
  req: ctx.req,
55
51
  res: ctx.res,
56
- enableUnsafeCtx
52
+ enableUnsafeCtx,
53
+ nonce
57
54
  };
58
55
  context.logger = (0, _measure.createLogger)(context, ctx.logger);
59
56
  context.metrics = (0, _measure.createMetrics)(context, ctx.metrics);
60
57
  runner.extendSSRContext(context);
61
- const serverRender = require(bundleJS)[_utils.SERVER_RENDER_FUNCTION_NAME];
58
+ const bundleJSContent = await Promise.resolve(require(bundleJS));
59
+ const serverRender = bundleJSContent[_utils.SERVER_RENDER_FUNCTION_NAME];
62
60
  const content = await (0, _cache.default)(serverRender, ctx)(context);
63
61
  const { url, status = 302 } = context.redirection;
64
62
  if (url) {
@@ -6,14 +6,10 @@ Object.defineProperty(exports, "handleDirectory", {
6
6
  enumerable: true,
7
7
  get: () => handleDirectory
8
8
  });
9
- const _path = /* @__PURE__ */ _interop_require_default(require("path"));
9
+ const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
10
+ const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
10
11
  const _utils = require("@modern-js/utils");
11
12
  const _reader = require("./reader");
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
13
  async function handleDirectory(ctx, entryPath, urlPath) {
18
14
  const { path: pathname } = ctx;
19
15
  const filepath = _path.default.join(entryPath, trimLeft(pathname, urlPath));