@modern-js/server 2.48.6 → 2.49.1
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/dist/cjs/createDevServer.js +95 -0
- package/dist/cjs/{server/index.js → helpers/devOptions.js} +11 -28
- package/dist/cjs/helpers/fileReader.js +51 -0
- package/dist/cjs/helpers/index.js +107 -0
- package/dist/cjs/{server/workerSSRRender.js → helpers/repack.js} +27 -21
- package/dist/cjs/helpers/utils.js +29 -0
- package/dist/cjs/index.js +3 -13
- package/dist/esm/createDevServer.js +99 -0
- package/dist/esm/helpers/devOptions.js +10 -0
- package/dist/esm/helpers/fileReader.js +45 -0
- package/dist/esm/helpers/index.js +119 -0
- package/dist/esm/helpers/repack.js +31 -0
- package/dist/esm/helpers/utils.js +5 -0
- package/dist/esm/index.js +2 -12
- package/dist/esm-node/createDevServer.js +61 -0
- package/dist/esm-node/helpers/devOptions.js +10 -0
- package/dist/esm-node/helpers/fileReader.js +27 -0
- package/dist/esm-node/helpers/index.js +69 -0
- package/dist/esm-node/helpers/repack.js +27 -0
- package/dist/esm-node/helpers/utils.js +5 -0
- package/dist/esm-node/index.js +2 -11
- package/dist/types/createDevServer.d.ts +6 -0
- package/dist/types/{constants.d.ts → helpers/constants.d.ts} +1 -1
- package/dist/types/helpers/devOptions.d.ts +4 -0
- package/dist/types/helpers/fileReader.d.ts +2 -0
- package/dist/types/helpers/index.d.ts +14 -0
- package/dist/types/helpers/repack.d.ts +3 -0
- package/dist/types/helpers/utils.d.ts +1 -0
- package/dist/types/index.d.ts +2 -6
- package/dist/types/types.d.ts +4 -11
- package/package.json +10 -11
- package/dist/cjs/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -61
- package/dist/cjs/dev-tools/dev-middleware/hmr-client/index.js +0 -159
- package/dist/cjs/dev-tools/dev-middleware/index.js +0 -90
- package/dist/cjs/dev-tools/dev-middleware/socketServer.js +0 -173
- package/dist/cjs/dev-tools/https/index.js +0 -54
- package/dist/cjs/dev-tools/mock/getMockData.js +0 -104
- package/dist/cjs/dev-tools/mock/index.js +0 -85
- package/dist/cjs/dev-tools/register/index.js +0 -144
- package/dist/cjs/server/devServer.js +0 -267
- package/dist/cjs/server/devServerOld.js +0 -346
- package/dist/esm/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -54
- package/dist/esm/dev-tools/dev-middleware/hmr-client/index.js +0 -162
- package/dist/esm/dev-tools/dev-middleware/index.js +0 -82
- package/dist/esm/dev-tools/dev-middleware/socketServer.js +0 -149
- package/dist/esm/dev-tools/https/index.js +0 -74
- package/dist/esm/dev-tools/mock/getMockData.js +0 -102
- package/dist/esm/dev-tools/mock/index.js +0 -88
- package/dist/esm/dev-tools/register/index.js +0 -109
- package/dist/esm/server/devServer.js +0 -449
- package/dist/esm/server/devServerOld.js +0 -519
- package/dist/esm/server/index.js +0 -45
- package/dist/esm/server/workerSSRRender.js +0 -43
- package/dist/esm-node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -36
- package/dist/esm-node/dev-tools/dev-middleware/hmr-client/index.js +0 -145
- package/dist/esm-node/dev-tools/dev-middleware/index.js +0 -60
- package/dist/esm-node/dev-tools/dev-middleware/socketServer.js +0 -143
- package/dist/esm-node/dev-tools/https/index.js +0 -30
- package/dist/esm-node/dev-tools/mock/getMockData.js +0 -80
- package/dist/esm-node/dev-tools/mock/index.js +0 -51
- package/dist/esm-node/dev-tools/register/index.js +0 -110
- package/dist/esm-node/server/devServer.js +0 -233
- package/dist/esm-node/server/devServerOld.js +0 -312
- package/dist/esm-node/server/index.js +0 -26
- package/dist/esm-node/server/workerSSRRender.js +0 -21
- package/dist/types/dev-tools/dev-middleware/hmr-client/createSocketUrl.d.ts +0 -7
- package/dist/types/dev-tools/dev-middleware/hmr-client/index.d.ts +0 -1
- package/dist/types/dev-tools/dev-middleware/index.d.ts +0 -21
- package/dist/types/dev-tools/dev-middleware/socketServer.d.ts +0 -25
- package/dist/types/dev-tools/https/index.d.ts +0 -7
- package/dist/types/dev-tools/mock/getMockData.d.ts +0 -18
- package/dist/types/dev-tools/mock/index.d.ts +0 -4
- package/dist/types/dev-tools/register/index.d.ts +0 -2
- package/dist/types/server/devServer.d.ts +0 -38
- package/dist/types/server/devServerOld.d.ts +0 -37
- package/dist/types/server/index.d.ts +0 -8
- package/dist/types/server/workerSSRRender.d.ts +0 -10
- /package/dist/cjs/{constants.js → helpers/constants.js} +0 -0
- /package/dist/esm/{constants.js → helpers/constants.js} +0 -0
- /package/dist/esm-node/{constants.js → helpers/constants.js} +0 -0
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var register_exports = {};
|
|
30
|
-
__export(register_exports, {
|
|
31
|
-
enableRegister: () => enableRegister
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(register_exports);
|
|
34
|
-
var import_path = __toESM(require("path"));
|
|
35
|
-
var import_server_utils = require("@modern-js/server-utils");
|
|
36
|
-
var import_utils = require("@modern-js/utils");
|
|
37
|
-
const debug = (0, import_utils.createDebugger)("server");
|
|
38
|
-
const checkDep = (depName, paths) => {
|
|
39
|
-
let packagePath = "";
|
|
40
|
-
try {
|
|
41
|
-
packagePath = require.resolve(depName, {
|
|
42
|
-
paths
|
|
43
|
-
});
|
|
44
|
-
} catch (error) {
|
|
45
|
-
}
|
|
46
|
-
return Boolean(packagePath);
|
|
47
|
-
};
|
|
48
|
-
const enableRegister = (projectRoot, config) => {
|
|
49
|
-
const registerDirs = [
|
|
50
|
-
"./api",
|
|
51
|
-
"./server",
|
|
52
|
-
"./config/mock",
|
|
53
|
-
"./shared"
|
|
54
|
-
];
|
|
55
|
-
const TS_CONFIG_FILENAME = `tsconfig.json`;
|
|
56
|
-
const tsconfigPath = import_path.default.resolve(projectRoot, TS_CONFIG_FILENAME);
|
|
57
|
-
const isTsProject = import_utils.fs.existsSync(tsconfigPath);
|
|
58
|
-
const existTsNode = checkDep("ts-node", [
|
|
59
|
-
projectRoot
|
|
60
|
-
]);
|
|
61
|
-
const existTsConfigPaths = checkDep("tsconfig-paths", [
|
|
62
|
-
projectRoot
|
|
63
|
-
]);
|
|
64
|
-
if (isTsProject && existTsNode && existTsConfigPaths) {
|
|
65
|
-
var _config_output_distPath;
|
|
66
|
-
debug("use ts-node");
|
|
67
|
-
const distPath = ((_config_output_distPath = config.output.distPath) === null || _config_output_distPath === void 0 ? void 0 : _config_output_distPath.root) || "dist";
|
|
68
|
-
const tsNode = require("ts-node");
|
|
69
|
-
const tsConfigPaths = require("tsconfig-paths");
|
|
70
|
-
const { alias } = config.source;
|
|
71
|
-
const aliasConfig = (0, import_utils.getAliasConfig)(alias, {
|
|
72
|
-
appDirectory: projectRoot,
|
|
73
|
-
tsconfigPath
|
|
74
|
-
});
|
|
75
|
-
const { paths = {}, absoluteBaseUrl = "./" } = aliasConfig;
|
|
76
|
-
const tsPaths = Object.keys(paths).reduce((o, key) => {
|
|
77
|
-
let tsPath = paths[key];
|
|
78
|
-
if (typeof tsPath === "string" && import_path.default.isAbsolute(tsPath)) {
|
|
79
|
-
tsPath = import_path.default.relative(absoluteBaseUrl, tsPath);
|
|
80
|
-
}
|
|
81
|
-
if (typeof tsPath === "string") {
|
|
82
|
-
tsPath = [
|
|
83
|
-
tsPath
|
|
84
|
-
];
|
|
85
|
-
}
|
|
86
|
-
return {
|
|
87
|
-
...o,
|
|
88
|
-
[`${key}`]: tsPath
|
|
89
|
-
};
|
|
90
|
-
}, {});
|
|
91
|
-
tsConfigPaths.register({
|
|
92
|
-
baseUrl: absoluteBaseUrl || "./",
|
|
93
|
-
paths: tsPaths
|
|
94
|
-
});
|
|
95
|
-
const tsConfig = (0, import_utils.readTsConfigByFile)(tsconfigPath);
|
|
96
|
-
const tsNodeOptions = tsConfig["ts-node"];
|
|
97
|
-
tsNode.register({
|
|
98
|
-
project: tsconfigPath,
|
|
99
|
-
scope: true,
|
|
100
|
-
// for env.d.ts, https://www.npmjs.com/package/ts-node#missing-types
|
|
101
|
-
files: true,
|
|
102
|
-
transpileOnly: true,
|
|
103
|
-
ignore: [
|
|
104
|
-
"(?:^|/)node_modules/",
|
|
105
|
-
`(?:^|/)${distPath}/`
|
|
106
|
-
],
|
|
107
|
-
...tsNodeOptions
|
|
108
|
-
});
|
|
109
|
-
} else {
|
|
110
|
-
var _config_tools, _config_server;
|
|
111
|
-
debug("use @babel/register");
|
|
112
|
-
const babelConfig = (0, import_server_utils.resolveBabelConfig)(projectRoot, {
|
|
113
|
-
...config.source,
|
|
114
|
-
babelConfig: (_config_tools = config.tools) === null || _config_tools === void 0 ? void 0 : _config_tools.babel,
|
|
115
|
-
server: {
|
|
116
|
-
compiler: (_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.compiler
|
|
117
|
-
}
|
|
118
|
-
}, {
|
|
119
|
-
tsconfigPath
|
|
120
|
-
});
|
|
121
|
-
return require("@babel/register")({
|
|
122
|
-
...babelConfig,
|
|
123
|
-
only: [
|
|
124
|
-
function(filePath) {
|
|
125
|
-
if (filePath.includes(`node_modules${import_path.default.sep}.modern-js`)) {
|
|
126
|
-
return true;
|
|
127
|
-
}
|
|
128
|
-
return registerDirs.some((registerDir) => filePath.startsWith(import_path.default.join(projectRoot, registerDir)));
|
|
129
|
-
}
|
|
130
|
-
],
|
|
131
|
-
extensions: [
|
|
132
|
-
".js",
|
|
133
|
-
".ts"
|
|
134
|
-
],
|
|
135
|
-
babelrc: false,
|
|
136
|
-
configFile: false,
|
|
137
|
-
root: projectRoot
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
142
|
-
0 && (module.exports = {
|
|
143
|
-
enableRegister
|
|
144
|
-
});
|
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var devServer_exports = {};
|
|
30
|
-
__export(devServer_exports, {
|
|
31
|
-
ModernDevServer: () => ModernDevServer
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(devServer_exports);
|
|
34
|
-
var import_http = require("http");
|
|
35
|
-
var import_path = __toESM(require("path"));
|
|
36
|
-
var import_https = require("https");
|
|
37
|
-
var import_utils = require("@modern-js/utils");
|
|
38
|
-
var import_prod_server = require("@modern-js/prod-server");
|
|
39
|
-
var import_lodash = require("@modern-js/utils/lodash");
|
|
40
|
-
var import_fileReader = require("@modern-js/runtime-utils/fileReader");
|
|
41
|
-
var import_constants = require("../constants");
|
|
42
|
-
var import_mock = require("../dev-tools/mock");
|
|
43
|
-
var import_register = require("../dev-tools/register");
|
|
44
|
-
var import_watcher = __toESM(require("../dev-tools/watcher"));
|
|
45
|
-
var import_workerSSRRender = require("./workerSSRRender");
|
|
46
|
-
class ModernDevServer extends import_prod_server.ModernServer {
|
|
47
|
-
getDevOptions(options) {
|
|
48
|
-
const devOptions = options.dev;
|
|
49
|
-
const defaultOptions = (0, import_constants.getDefaultDevOptions)();
|
|
50
|
-
return (0, import_lodash.merge)(defaultOptions, devOptions);
|
|
51
|
-
}
|
|
52
|
-
// Complete the preparation of services
|
|
53
|
-
async onInit(runner, app) {
|
|
54
|
-
this.runner = runner;
|
|
55
|
-
const { dev } = this;
|
|
56
|
-
const { middlewares: rsbuildMiddlewares, close, onHTTPUpgrade } = this.getMiddlewares();
|
|
57
|
-
app.on("upgrade", onHTTPUpgrade);
|
|
58
|
-
this.rsbuild.onDevCompileDone(({ stats }) => {
|
|
59
|
-
if (stats.toJson({
|
|
60
|
-
all: false
|
|
61
|
-
}).name !== "server") {
|
|
62
|
-
this.onRepack({
|
|
63
|
-
routes: this.getRoutes()
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
await this.applyDefaultMiddlewares();
|
|
68
|
-
this.addHandler((ctx, next) => rsbuildMiddlewares(ctx.req, ctx.res, next));
|
|
69
|
-
this.closeCb.push(close);
|
|
70
|
-
this.initFileReader();
|
|
71
|
-
await super.onInit(runner, app);
|
|
72
|
-
if (dev.watch) {
|
|
73
|
-
this.startWatcher();
|
|
74
|
-
app.on("close", async () => {
|
|
75
|
-
var _this_watcher;
|
|
76
|
-
await ((_this_watcher = this.watcher) === null || _this_watcher === void 0 ? void 0 : _this_watcher.close());
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
initFileReader() {
|
|
81
|
-
var _this_dev;
|
|
82
|
-
let isInit = false;
|
|
83
|
-
if (((_this_dev = this.dev) === null || _this_dev === void 0 ? void 0 : _this_dev.writeToDisk) === false) {
|
|
84
|
-
this.addHandler((ctx, next) => {
|
|
85
|
-
var _ctx_res_locals;
|
|
86
|
-
if (isInit) {
|
|
87
|
-
return next();
|
|
88
|
-
}
|
|
89
|
-
isInit = true;
|
|
90
|
-
if (!((_ctx_res_locals = ctx.res.locals) === null || _ctx_res_locals === void 0 ? void 0 : _ctx_res_locals.webpack)) {
|
|
91
|
-
import_fileReader.fileReader.reset();
|
|
92
|
-
return next();
|
|
93
|
-
}
|
|
94
|
-
const { devMiddleware: webpackDevMid } = ctx.res.locals.webpack;
|
|
95
|
-
const { outputFileSystem } = webpackDevMid;
|
|
96
|
-
if (outputFileSystem) {
|
|
97
|
-
import_fileReader.fileReader.reset(outputFileSystem);
|
|
98
|
-
} else {
|
|
99
|
-
import_fileReader.fileReader.reset();
|
|
100
|
-
}
|
|
101
|
-
return next();
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
async close() {
|
|
106
|
-
for (const cb of this.closeCb) {
|
|
107
|
-
await cb();
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
// override the ModernServer renderHandler logic
|
|
111
|
-
getRenderHandler() {
|
|
112
|
-
if (this.useSSRWorker) {
|
|
113
|
-
var _this_conf_server, _conf_security;
|
|
114
|
-
const { distDir, staticGenerate, conf, metaName } = this;
|
|
115
|
-
const ssrConfig = (_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.ssr;
|
|
116
|
-
const forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
|
|
117
|
-
return (0, import_prod_server.createRenderHandler)({
|
|
118
|
-
ssrRender: import_workerSSRRender.workerSSRRender,
|
|
119
|
-
distDir,
|
|
120
|
-
staticGenerate,
|
|
121
|
-
conf,
|
|
122
|
-
forceCSR,
|
|
123
|
-
nonce: (_conf_security = conf.security) === null || _conf_security === void 0 ? void 0 : _conf_security.nonce,
|
|
124
|
-
metaName
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
return super.getRenderHandler();
|
|
128
|
-
}
|
|
129
|
-
async applyDefaultMiddlewares() {
|
|
130
|
-
const { pwd } = this;
|
|
131
|
-
this.mockHandler = (0, import_mock.createMockHandler)({
|
|
132
|
-
pwd
|
|
133
|
-
});
|
|
134
|
-
this.addHandler((ctx, next) => {
|
|
135
|
-
if (this.mockHandler) {
|
|
136
|
-
this.mockHandler(ctx, next);
|
|
137
|
-
} else {
|
|
138
|
-
next();
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
onRepack(options = {}) {
|
|
143
|
-
if (Array.isArray(options.routes)) {
|
|
144
|
-
this.router.reset(this.filterRoutes(options.routes));
|
|
145
|
-
}
|
|
146
|
-
this.cleanSSRCache();
|
|
147
|
-
import_fileReader.fileReader.reset();
|
|
148
|
-
this.runner.repack();
|
|
149
|
-
super.onRepack(options);
|
|
150
|
-
}
|
|
151
|
-
async createHTTPServer(handler) {
|
|
152
|
-
const { dev } = this;
|
|
153
|
-
const devHttpsOption = typeof dev === "object" && dev.https;
|
|
154
|
-
if (devHttpsOption) {
|
|
155
|
-
const { genHttpsOptions } = require("../dev-tools/https");
|
|
156
|
-
const httpsOptions = await genHttpsOptions(devHttpsOption, this.pwd);
|
|
157
|
-
return (0, import_https.createServer)(httpsOptions, handler);
|
|
158
|
-
} else {
|
|
159
|
-
return (0, import_http.createServer)(handler);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
warmupSSRBundle() {
|
|
163
|
-
}
|
|
164
|
-
async onServerChange({ filepath, event }) {
|
|
165
|
-
const { pwd } = this;
|
|
166
|
-
const { mock } = import_prod_server.AGGRED_DIR;
|
|
167
|
-
const mockPath = import_path.default.normalize(import_path.default.join(pwd, mock));
|
|
168
|
-
this.runner.reset();
|
|
169
|
-
if (filepath.startsWith(mockPath)) {
|
|
170
|
-
this.mockHandler = (0, import_mock.createMockHandler)({
|
|
171
|
-
pwd
|
|
172
|
-
});
|
|
173
|
-
} else {
|
|
174
|
-
try {
|
|
175
|
-
const success = this.runner.onApiChange([
|
|
176
|
-
{
|
|
177
|
-
filename: filepath,
|
|
178
|
-
event
|
|
179
|
-
}
|
|
180
|
-
]);
|
|
181
|
-
if (success !== true) {
|
|
182
|
-
await super.onServerChange({
|
|
183
|
-
filepath
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
} catch (e) {
|
|
187
|
-
this.logger.error(e);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
createContext(req, res) {
|
|
192
|
-
return super.createContext(req, res, {
|
|
193
|
-
etag: true,
|
|
194
|
-
metaName: this.metaName
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
setupStaticMiddleware(_) {
|
|
198
|
-
return async (_context, next) => {
|
|
199
|
-
return next();
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
cleanSSRCache() {
|
|
203
|
-
const { distDir } = this;
|
|
204
|
-
const bundles = this.router.getBundles();
|
|
205
|
-
bundles.forEach((bundle) => {
|
|
206
|
-
const filepath = import_path.default.join(distDir, bundle);
|
|
207
|
-
if (require.cache[filepath]) {
|
|
208
|
-
delete require.cache[filepath];
|
|
209
|
-
}
|
|
210
|
-
});
|
|
211
|
-
const loadable = import_path.default.join(distDir, import_utils.LOADABLE_STATS_FILE);
|
|
212
|
-
if (require.cache[loadable]) {
|
|
213
|
-
delete require.cache[loadable];
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
startWatcher() {
|
|
217
|
-
var _this_conf_server;
|
|
218
|
-
const { pwd, distDir, appContext } = this;
|
|
219
|
-
const { mock } = import_prod_server.AGGRED_DIR;
|
|
220
|
-
const apiDir = (appContext === null || appContext === void 0 ? void 0 : appContext.apiDirectory) || import_utils.API_DIR;
|
|
221
|
-
const sharedDir = (appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory) || import_utils.SHARED_DIR;
|
|
222
|
-
const defaultWatched = [
|
|
223
|
-
`${mock}/**/*`,
|
|
224
|
-
`${import_utils.SERVER_DIR}/**/*`,
|
|
225
|
-
`${apiDir}/**`,
|
|
226
|
-
`${sharedDir}/**/*`,
|
|
227
|
-
`${distDir}/${import_utils.SERVER_BUNDLE_DIRECTORY}/*-server-loaders.js`
|
|
228
|
-
];
|
|
229
|
-
const watchOptions = (0, import_watcher.mergeWatchOptions)((_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.watchOptions);
|
|
230
|
-
const defaultWatchedPaths = defaultWatched.map((p) => {
|
|
231
|
-
const finalPath = import_path.default.isAbsolute(p) ? p : import_path.default.join(pwd, p);
|
|
232
|
-
return import_path.default.normalize(finalPath);
|
|
233
|
-
});
|
|
234
|
-
const watcher = new import_watcher.default();
|
|
235
|
-
watcher.createDepTree();
|
|
236
|
-
watcher.listen(defaultWatchedPaths, watchOptions, (filepath, event) => {
|
|
237
|
-
if (filepath.includes("-server-loaders.js")) {
|
|
238
|
-
delete require.cache[filepath];
|
|
239
|
-
return;
|
|
240
|
-
} else {
|
|
241
|
-
watcher.updateDepTree();
|
|
242
|
-
watcher.cleanDepCache(filepath);
|
|
243
|
-
}
|
|
244
|
-
this.onServerChange({
|
|
245
|
-
filepath,
|
|
246
|
-
event
|
|
247
|
-
});
|
|
248
|
-
});
|
|
249
|
-
this.watcher = watcher;
|
|
250
|
-
}
|
|
251
|
-
constructor(options) {
|
|
252
|
-
super(options);
|
|
253
|
-
this.mockHandler = null;
|
|
254
|
-
this.closeCb = [];
|
|
255
|
-
this.appContext = options.appContext;
|
|
256
|
-
this.workDir = this.pwd;
|
|
257
|
-
this.useSSRWorker = Boolean(options.useSSRWorker);
|
|
258
|
-
this.dev = this.getDevOptions(options);
|
|
259
|
-
this.getMiddlewares = options.getMiddlewares;
|
|
260
|
-
this.rsbuild = options.rsbuild;
|
|
261
|
-
(0, import_register.enableRegister)(this.pwd, this.conf);
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
265
|
-
0 && (module.exports = {
|
|
266
|
-
ModernDevServer
|
|
267
|
-
});
|