@modern-js/prod-server 1.21.6 → 2.0.0-alpha.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 (132) hide show
  1. package/CHANGELOG.md +274 -13
  2. package/dist/js/modern/constants.js +32 -27
  3. package/dist/js/modern/index.js +11 -7
  4. package/dist/js/modern/libs/context/context.js +54 -132
  5. package/dist/js/modern/libs/context/index.js +5 -2
  6. package/dist/js/modern/libs/hook-api/index.js +134 -0
  7. package/dist/js/modern/libs/hook-api/route.js +13 -37
  8. package/dist/js/modern/libs/hook-api/template.js +41 -32
  9. package/dist/js/modern/libs/loadConfig.js +46 -32
  10. package/dist/js/modern/libs/metrics.js +6 -7
  11. package/dist/js/modern/libs/proxy.js +70 -44
  12. package/dist/js/modern/libs/render/cache/__tests__/cache.fun.test.js +112 -68
  13. package/dist/js/modern/libs/render/cache/__tests__/cache.test.js +246 -225
  14. package/dist/js/modern/libs/render/cache/__tests__/cacheable.js +43 -49
  15. package/dist/js/modern/libs/render/cache/__tests__/error-configuration.js +36 -34
  16. package/dist/js/modern/libs/render/cache/__tests__/matched-cache.js +83 -113
  17. package/dist/js/modern/libs/render/cache/index.js +93 -50
  18. package/dist/js/modern/libs/render/cache/page-caches/index.js +31 -8
  19. package/dist/js/modern/libs/render/cache/page-caches/lru.js +6 -16
  20. package/dist/js/modern/libs/render/cache/spr.js +133 -167
  21. package/dist/js/modern/libs/render/cache/type.js +0 -1
  22. package/dist/js/modern/libs/render/cache/util.js +71 -45
  23. package/dist/js/modern/libs/render/index.js +76 -61
  24. package/dist/js/modern/libs/render/measure.js +42 -34
  25. package/dist/js/modern/libs/render/reader.js +68 -76
  26. package/dist/js/modern/libs/render/ssr.js +63 -33
  27. package/dist/js/modern/libs/render/static.js +51 -37
  28. package/dist/js/modern/libs/render/type.js +9 -7
  29. package/dist/js/modern/libs/route/index.js +12 -30
  30. package/dist/js/modern/libs/route/matcher.js +28 -50
  31. package/dist/js/modern/libs/route/route.js +9 -31
  32. package/dist/js/modern/libs/serve-file.js +40 -20
  33. package/dist/js/modern/server/index.js +152 -168
  34. package/dist/js/modern/server/modern-server-split.js +44 -60
  35. package/dist/js/modern/server/modern-server.js +416 -526
  36. package/dist/js/modern/type.js +0 -1
  37. package/dist/js/modern/utils.js +62 -58
  38. package/dist/js/modern/worker-server.js +54 -0
  39. package/dist/js/node/constants.js +53 -32
  40. package/dist/js/node/index.js +37 -67
  41. package/dist/js/node/libs/context/context.js +84 -150
  42. package/dist/js/node/libs/context/index.js +28 -16
  43. package/dist/js/node/libs/hook-api/index.js +164 -0
  44. package/dist/js/node/libs/hook-api/route.js +35 -45
  45. package/dist/js/node/libs/hook-api/template.js +64 -40
  46. package/dist/js/node/libs/loadConfig.js +74 -55
  47. package/dist/js/node/libs/metrics.js +28 -12
  48. package/dist/js/node/libs/proxy.js +90 -55
  49. package/dist/js/node/libs/render/cache/__tests__/cache.fun.test.js +99 -61
  50. package/dist/js/node/libs/render/cache/__tests__/cache.test.js +147 -140
  51. package/dist/js/node/libs/render/cache/__tests__/cacheable.js +65 -55
  52. package/dist/js/node/libs/render/cache/__tests__/error-configuration.js +58 -40
  53. package/dist/js/node/libs/render/cache/__tests__/matched-cache.js +105 -119
  54. package/dist/js/node/libs/render/cache/index.js +115 -65
  55. package/dist/js/node/libs/render/cache/page-caches/index.js +54 -16
  56. package/dist/js/node/libs/render/cache/page-caches/lru.js +33 -26
  57. package/dist/js/node/libs/render/cache/spr.js +161 -188
  58. package/dist/js/node/libs/render/cache/type.js +15 -5
  59. package/dist/js/node/libs/render/cache/util.js +99 -63
  60. package/dist/js/node/libs/render/index.js +106 -87
  61. package/dist/js/node/libs/render/measure.js +61 -44
  62. package/dist/js/node/libs/render/reader.js +98 -100
  63. package/dist/js/node/libs/render/ssr.js +92 -58
  64. package/dist/js/node/libs/render/static.js +80 -53
  65. package/dist/js/node/libs/render/type.js +31 -13
  66. package/dist/js/node/libs/route/index.js +35 -44
  67. package/dist/js/node/libs/route/matcher.js +48 -65
  68. package/dist/js/node/libs/route/route.js +29 -37
  69. package/dist/js/node/libs/serve-file.js +74 -37
  70. package/dist/js/node/server/index.js +170 -203
  71. package/dist/js/node/server/modern-server-split.js +70 -73
  72. package/dist/js/node/server/modern-server.js +432 -577
  73. package/dist/js/node/type.js +15 -3
  74. package/dist/js/node/utils.js +87 -93
  75. package/dist/js/node/worker-server.js +77 -0
  76. package/dist/js/treeshaking/constants.js +29 -0
  77. package/dist/js/treeshaking/index.js +13 -0
  78. package/dist/js/treeshaking/libs/context/context.js +274 -0
  79. package/dist/js/treeshaking/libs/context/index.js +5 -0
  80. package/dist/js/treeshaking/libs/hook-api/index.js +281 -0
  81. package/dist/js/treeshaking/libs/hook-api/route.js +68 -0
  82. package/dist/js/treeshaking/libs/hook-api/template.js +127 -0
  83. package/dist/js/treeshaking/libs/loadConfig.js +82 -0
  84. package/dist/js/treeshaking/libs/metrics.js +6 -0
  85. package/dist/js/treeshaking/libs/proxy.js +244 -0
  86. package/dist/js/treeshaking/libs/render/cache/__tests__/cache.fun.test.js +291 -0
  87. package/dist/js/treeshaking/libs/render/cache/__tests__/cache.test.js +781 -0
  88. package/dist/js/treeshaking/libs/render/cache/__tests__/cacheable.js +67 -0
  89. package/dist/js/treeshaking/libs/render/cache/__tests__/error-configuration.js +45 -0
  90. package/dist/js/treeshaking/libs/render/cache/__tests__/matched-cache.js +147 -0
  91. package/dist/js/treeshaking/libs/render/cache/index.js +346 -0
  92. package/dist/js/treeshaking/libs/render/cache/page-caches/index.js +154 -0
  93. package/dist/js/treeshaking/libs/render/cache/page-caches/lru.js +84 -0
  94. package/dist/js/treeshaking/libs/render/cache/spr.js +492 -0
  95. package/dist/js/treeshaking/libs/render/cache/type.js +1 -0
  96. package/dist/js/treeshaking/libs/render/cache/util.js +280 -0
  97. package/dist/js/treeshaking/libs/render/index.js +233 -0
  98. package/dist/js/treeshaking/libs/render/measure.js +146 -0
  99. package/dist/js/treeshaking/libs/render/reader.js +339 -0
  100. package/dist/js/treeshaking/libs/render/ssr.js +223 -0
  101. package/dist/js/treeshaking/libs/render/static.js +216 -0
  102. package/dist/js/treeshaking/libs/render/type.js +7 -0
  103. package/dist/js/treeshaking/libs/route/index.js +130 -0
  104. package/dist/js/treeshaking/libs/route/matcher.js +138 -0
  105. package/dist/js/treeshaking/libs/route/route.js +40 -0
  106. package/dist/js/treeshaking/libs/serve-file.js +184 -0
  107. package/dist/js/treeshaking/server/index.js +505 -0
  108. package/dist/js/treeshaking/server/modern-server-split.js +360 -0
  109. package/dist/js/treeshaking/server/modern-server.js +1083 -0
  110. package/dist/js/treeshaking/type.js +1 -0
  111. package/dist/js/treeshaking/utils.js +147 -0
  112. package/dist/js/treeshaking/worker-server.js +177 -0
  113. package/dist/types/libs/context/context.d.ts +1 -1
  114. package/dist/types/libs/hook-api/index.d.ts +5 -0
  115. package/dist/types/libs/hook-api/route.d.ts +9 -14
  116. package/dist/types/libs/hook-api/template.d.ts +19 -9
  117. package/dist/types/libs/render/cache/index.d.ts +4 -2
  118. package/dist/types/libs/render/type.d.ts +3 -1
  119. package/dist/types/libs/route/route.d.ts +0 -1
  120. package/dist/types/libs/serve-file.d.ts +2 -1
  121. package/dist/types/server/index.d.ts +2 -0
  122. package/dist/types/server/modern-server.d.ts +11 -11
  123. package/dist/types/type.d.ts +8 -10
  124. package/dist/types/utils.d.ts +3 -4
  125. package/dist/types/worker-server.d.ts +15 -0
  126. package/package.json +31 -45
  127. package/dist/js/modern/libs/render/modern/browser-list.js +0 -7
  128. package/dist/js/modern/libs/render/modern/index.js +0 -48
  129. package/dist/js/node/libs/render/modern/browser-list.js +0 -14
  130. package/dist/js/node/libs/render/modern/index.js +0 -64
  131. package/dist/types/libs/render/modern/browser-list.d.ts +0 -1
  132. package/dist/types/libs/render/modern/index.d.ts +0 -3
@@ -1,142 +1,140 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var reader_exports = {};
45
+ __export(reader_exports, {
46
+ LruReader: () => LruReader,
47
+ close: () => close,
48
+ init: () => init,
49
+ readFile: () => readFile,
50
+ updateFile: () => updateFile
5
51
  });
6
- exports.updateFile = exports.readFile = exports.init = exports.close = exports.LruReader = void 0;
7
-
8
- var _utils = require("@modern-js/utils");
9
-
10
- var _lruCache = _interopRequireDefault(require("lru-cache"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
-
52
+ module.exports = __toCommonJS(reader_exports);
53
+ var import_utils = require("@modern-js/utils");
54
+ var import_lru_cache = __toESM(require("lru-cache"));
16
55
  const Byte = 1;
17
56
  const KB = 1024 * Byte;
18
57
  const MB = 1024 * KB;
19
-
20
- const getContentLength = cache => cache.content.length;
21
-
22
- const createCacheItem = async (filepath, mtime) => {
23
- const content = await _utils.fs.readFile(filepath);
58
+ const getContentLength = (cache) => cache.content.length;
59
+ const createCacheItem = (filepath, mtime) => __async(void 0, null, function* () {
60
+ const content = yield import_utils.fs.readFile(filepath);
24
61
  return {
25
62
  content,
26
63
  mtime
27
64
  };
28
- };
29
-
65
+ });
30
66
  class LruReader {
31
- // private timer?: NodeJS.Timeout;
32
67
  constructor() {
33
- _defineProperty(this, "cache", void 0);
34
-
35
- this.cache = new _lruCache.default({
68
+ this.cache = new import_lru_cache.default({
36
69
  max: 256 * MB,
37
70
  length: getContentLength,
38
- maxAge: 5 * 60 * 5000 // 60s
39
-
71
+ maxAge: 5 * 60 * 5e3
40
72
  });
41
73
  }
42
-
43
- init() {// this.timeTask();
74
+ init() {
44
75
  }
45
-
46
- close() {// if (this.timer) {
47
- // clearInterval(this.timer);
48
- // }
76
+ close() {
49
77
  }
50
-
51
- async read(filepath) {
52
- if (this.cache.has(filepath)) {
53
- const {
54
- content
55
- } = this.cache.get(filepath);
56
- return {
57
- content
58
- };
59
- }
60
-
61
- if (!_utils.fs.existsSync(filepath)) {
62
- return null;
63
- }
64
-
65
- const stat = _utils.fs.statSync(filepath);
66
-
67
- if (stat.isDirectory()) {
68
- return null;
69
- } // if file more than 20 MB
70
-
71
-
72
- if (stat.size > 20 * MB) {
73
- return null;
74
- }
75
-
76
- const item = await createCacheItem(filepath, stat.mtime);
77
- this.cache.set(filepath, item);
78
- return item;
78
+ read(filepath) {
79
+ return __async(this, null, function* () {
80
+ if (this.cache.has(filepath)) {
81
+ const { content } = this.cache.get(filepath);
82
+ return { content };
83
+ }
84
+ if (!import_utils.fs.existsSync(filepath)) {
85
+ return null;
86
+ }
87
+ const stat = import_utils.fs.statSync(filepath);
88
+ if (stat.isDirectory()) {
89
+ return null;
90
+ }
91
+ if (stat.size > 20 * MB) {
92
+ return null;
93
+ }
94
+ const item = yield createCacheItem(filepath, stat.mtime);
95
+ this.cache.set(filepath, item);
96
+ return item;
97
+ });
79
98
  }
80
-
81
99
  update() {
82
- const {
83
- cache
84
- } = this;
100
+ const { cache } = this;
85
101
  const files = cache.keys();
86
-
87
102
  for (const filepath of files) {
88
- if (!_utils.fs.existsSync(filepath)) {
103
+ if (!import_utils.fs.existsSync(filepath)) {
89
104
  cache.del(filepath);
90
105
  }
91
-
92
106
  try {
93
107
  const item = cache.get(filepath);
94
-
95
- const stat = _utils.fs.statSync(filepath);
96
-
97
- const {
98
- mtime
99
- } = stat; // file is modify
100
-
108
+ const stat = import_utils.fs.statSync(filepath);
109
+ const { mtime } = stat;
101
110
  if (item.mtime < mtime) {
102
111
  cache.del(filepath);
103
112
  }
104
113
  } catch (e) {
105
- // for safe
106
114
  cache.del(filepath);
107
115
  }
108
116
  }
109
- } // private timeTask() {
110
- // this.timer = setInterval(() => this.update, 5 * 60 * 1000).unref();
111
- // }
112
-
113
-
117
+ }
114
118
  }
115
-
116
- exports.LruReader = LruReader;
117
119
  const reader = new LruReader();
118
-
119
- const readFile = async filepath => {
120
- const file = await reader.read(filepath);
121
- return file === null || file === void 0 ? void 0 : file.content;
122
- };
123
-
124
- exports.readFile = readFile;
125
-
120
+ const readFile = (filepath) => __async(void 0, null, function* () {
121
+ const file = yield reader.read(filepath);
122
+ return file == null ? void 0 : file.content;
123
+ });
126
124
  const updateFile = () => {
127
125
  reader.update();
128
126
  };
129
-
130
- exports.updateFile = updateFile;
131
-
132
127
  const init = () => {
133
128
  reader.init();
134
129
  };
135
-
136
- exports.init = init;
137
-
138
130
  const close = () => {
139
131
  reader.close();
140
132
  };
141
-
142
- exports.close = close;
133
+ // Annotate the CommonJS export names for ESM import in node:
134
+ 0 && (module.exports = {
135
+ LruReader,
136
+ close,
137
+ init,
138
+ readFile,
139
+ updateFile
140
+ });
@@ -1,37 +1,64 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var ssr_exports = {};
45
+ __export(ssr_exports, {
46
+ render: () => render
5
47
  });
6
- exports.render = void 0;
7
-
8
- var _path = _interopRequireDefault(require("path"));
9
-
10
- var _utils = require("@modern-js/utils");
11
-
12
- var _cookie = _interopRequireDefault(require("cookie"));
13
-
14
- var _cache = _interopRequireDefault(require("./cache"));
15
-
16
- var _measure = require("./measure");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- const render = async (ctx, renderOptions, runner) => {
21
- const {
22
- urlPath,
23
- bundle,
24
- distDir,
25
- template,
26
- entryName,
27
- staticGenerate
28
- } = renderOptions;
29
-
30
- const bundleJS = _path.default.join(distDir, bundle);
31
-
32
- const loadableUri = _path.default.join(distDir, _utils.LOADABLE_STATS_FILE);
33
-
34
- const loadableStats = _utils.fs.existsSync(loadableUri) ? require(loadableUri) : '';
48
+ module.exports = __toCommonJS(ssr_exports);
49
+ var import_path = __toESM(require("path"));
50
+ var import_utils = require("@modern-js/utils");
51
+ var import_cookie = __toESM(require("cookie"));
52
+ var import_cache = __toESM(require("./cache"));
53
+ var import_measure = require("./measure");
54
+ const render = (ctx, renderOptions, runner) => __async(void 0, null, function* () {
55
+ var _a;
56
+ const { urlPath, bundle, distDir, template, entryName, staticGenerate } = renderOptions;
57
+ const bundleJS = import_path.default.join(distDir, bundle);
58
+ const loadableUri = import_path.default.join(distDir, import_utils.LOADABLE_STATS_FILE);
59
+ const loadableStats = import_utils.fs.existsSync(loadableUri) ? require(loadableUri) : "";
60
+ const routesManifestUri = import_path.default.join(distDir, import_utils.ROUTE_MINIFEST_FILE);
61
+ const routeManifest = import_utils.fs.existsSync(routesManifestUri) ? require(routesManifestUri) : void 0;
35
62
  const context = {
36
63
  request: {
37
64
  baseUrl: urlPath,
@@ -40,50 +67,57 @@ const render = async (ctx, renderOptions, runner) => {
40
67
  host: ctx.host,
41
68
  query: ctx.query,
42
69
  url: ctx.href,
43
- cookieMap: _cookie.default.parse(ctx.headers.cookie || ''),
70
+ cookieMap: import_cookie.default.parse(ctx.headers.cookie || ""),
44
71
  headers: ctx.headers
45
72
  },
46
73
  response: {
47
74
  setHeader: (key, value) => {
48
75
  return ctx.res.setHeader(key, value);
49
76
  },
50
- status: code => {
77
+ status: (code) => {
51
78
  ctx.res.statusCode = code;
52
- }
79
+ },
80
+ locals: ((_a = ctx.res) == null ? void 0 : _a.locals) || {}
53
81
  },
54
82
  redirection: {},
55
83
  template,
56
84
  loadableStats,
85
+ routeManifest,
57
86
  entryName,
58
87
  staticGenerate,
59
- logger: undefined,
60
- metrics: undefined
88
+ logger: void 0,
89
+ metrics: void 0,
90
+ req: ctx.req,
91
+ res: ctx.res
61
92
  };
62
- context.logger = (0, _measure.createLogger)(context, ctx.logger);
63
- context.metrics = (0, _measure.createMetrics)(context, ctx.metrics);
93
+ context.logger = (0, import_measure.createLogger)(context, ctx.logger);
94
+ context.metrics = (0, import_measure.createMetrics)(context, ctx.metrics);
64
95
  runner.extendSSRContext(context);
65
-
66
- const serverRender = require(bundleJS)[_utils.SERVER_RENDER_FUNCTION_NAME];
67
-
68
- const html = await (0, _cache.default)(serverRender, ctx)(context);
69
- const {
70
- url,
71
- status = 302
72
- } = context.redirection;
73
-
96
+ const serverRender = require(bundleJS)[import_utils.SERVER_RENDER_FUNCTION_NAME];
97
+ const content = yield (0, import_cache.default)(serverRender, ctx)(context);
98
+ const { url, status = 302 } = context.redirection;
74
99
  if (url) {
75
100
  return {
76
101
  content: url,
77
- contentType: '',
102
+ contentType: "",
78
103
  statusCode: status,
79
104
  redirect: true
80
105
  };
81
106
  }
82
-
83
- return {
84
- content: html,
85
- contentType: _utils.mime.contentType('html')
86
- };
87
- };
88
-
89
- exports.render = render;
107
+ if (typeof content === "string") {
108
+ return {
109
+ content,
110
+ contentType: import_utils.mime.contentType("html")
111
+ };
112
+ } else {
113
+ return {
114
+ content: "",
115
+ contentStream: content,
116
+ contentType: import_utils.mime.contentType("html")
117
+ };
118
+ }
119
+ });
120
+ // Annotate the CommonJS export names for ESM import in node:
121
+ 0 && (module.exports = {
122
+ render
123
+ });
@@ -1,62 +1,89 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var static_exports = {};
45
+ __export(static_exports, {
46
+ handleDirectory: () => handleDirectory
5
47
  });
6
- exports.handleDirectory = handleDirectory;
7
-
8
- var _path = _interopRequireDefault(require("path"));
9
-
10
- var _utils = require("@modern-js/utils");
11
-
12
- var _reader = require("./reader");
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- async function handleDirectory(ctx, entryPath, urlPath) {
17
- const {
18
- path: pathname
19
- } = ctx;
20
-
21
- const filepath = _path.default.join(entryPath, trimLeft(pathname, urlPath)); // If can match accurately, always return the one that matches accurately
22
-
23
-
24
- let content = await (0, _reader.readFile)(filepath);
25
-
26
- let contentType = _utils.mime.contentType(_path.default.extname(filepath) || ''); // automatic addressing
27
-
28
-
29
- if (!content) {
30
- if (pathname.endsWith('/')) {
31
- content = await (0, _reader.readFile)(`${filepath}index.html`);
32
- } else if (!pathname.includes('.')) {
33
- content = await (0, _reader.readFile)(`${filepath}.html`);
34
-
35
- if (!content) {
36
- content = await (0, _reader.readFile)(`${filepath}/index.html`);
48
+ module.exports = __toCommonJS(static_exports);
49
+ var import_path = __toESM(require("path"));
50
+ var import_utils = require("@modern-js/utils");
51
+ var import_reader = require("./reader");
52
+ function handleDirectory(ctx, entryPath, urlPath) {
53
+ return __async(this, null, function* () {
54
+ const { path: pathname } = ctx;
55
+ const filepath = import_path.default.join(entryPath, trimLeft(pathname, urlPath));
56
+ let content = yield (0, import_reader.readFile)(filepath);
57
+ let contentType = import_utils.mime.contentType(import_path.default.extname(filepath) || "");
58
+ if (!content) {
59
+ if (pathname.endsWith("/")) {
60
+ content = yield (0, import_reader.readFile)(`${filepath}index.html`);
61
+ } else if (!pathname.includes(".")) {
62
+ content = yield (0, import_reader.readFile)(`${filepath}.html`);
63
+ if (!content) {
64
+ content = yield (0, import_reader.readFile)(`${filepath}/index.html`);
65
+ }
66
+ }
67
+ if (content) {
68
+ contentType = import_utils.mime.contentType("html");
37
69
  }
38
- } // set content-type as html
39
-
40
-
41
- if (content) {
42
- contentType = _utils.mime.contentType('html');
43
70
  }
44
- }
45
-
46
- if (!content) {
47
- return null;
48
- }
49
-
50
- return {
51
- content,
52
- contentType: contentType || ''
53
- };
71
+ if (!content) {
72
+ return null;
73
+ }
74
+ return {
75
+ content,
76
+ contentType: contentType || ""
77
+ };
78
+ });
54
79
  }
55
-
56
80
  const trimLeft = (str, prefix) => {
57
81
  if (str.startsWith(prefix)) {
58
82
  return str.substring(prefix.length);
59
83
  }
60
-
61
84
  return str;
62
- };
85
+ };
86
+ // Annotate the CommonJS export names for ESM import in node:
87
+ 0 && (module.exports = {
88
+ handleDirectory
89
+ });
@@ -1,14 +1,32 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var type_exports = {};
19
+ __export(type_exports, {
20
+ RenderLevel: () => RenderLevel
21
+ });
22
+ module.exports = __toCommonJS(type_exports);
23
+ var RenderLevel = /* @__PURE__ */ ((RenderLevel2) => {
24
+ RenderLevel2[RenderLevel2["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
25
+ RenderLevel2[RenderLevel2["SERVER_PREFETCH"] = 1] = "SERVER_PREFETCH";
26
+ RenderLevel2[RenderLevel2["SERVER_RENDER"] = 2] = "SERVER_RENDER";
27
+ return RenderLevel2;
28
+ })(RenderLevel || {});
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ RenderLevel
5
32
  });
6
- exports.RenderLevel = void 0;
7
- let RenderLevel;
8
- exports.RenderLevel = RenderLevel;
9
-
10
- (function (RenderLevel) {
11
- RenderLevel[RenderLevel["CLIENT_RENDER"] = 0] = "CLIENT_RENDER";
12
- RenderLevel[RenderLevel["SERVER_PREFETCH"] = 1] = "SERVER_PREFETCH";
13
- RenderLevel[RenderLevel["SERVER_RENDER"] = 2] = "SERVER_RENDER";
14
- })(RenderLevel || (exports.RenderLevel = RenderLevel = {}));