@modern-js/app-tools 2.63.5 → 2.63.7
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/commands/dev.js +1 -0
- package/dist/cjs/commands/serve.js +3 -2
- package/dist/cjs/compat/hooks.js +2 -5
- package/dist/cjs/compat/utils.js +3 -2
- package/dist/cjs/index.js +8 -2
- package/dist/cjs/plugins/analyze/index.js +10 -3
- package/dist/esm/commands/dev.js +1 -0
- package/dist/esm/commands/serve.js +4 -3
- package/dist/esm/compat/hooks.js +2 -10
- package/dist/esm/compat/utils.js +3 -2
- package/dist/esm/index.js +8 -3
- package/dist/esm/plugins/analyze/index.js +31 -4
- package/dist/esm-node/commands/dev.js +1 -0
- package/dist/esm-node/commands/serve.js +3 -2
- package/dist/esm-node/compat/hooks.js +2 -5
- package/dist/esm-node/compat/utils.js +3 -2
- package/dist/esm-node/index.js +7 -2
- package/dist/esm-node/plugins/analyze/index.js +10 -3
- package/dist/types/compat/utils.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/types/new.d.ts +1 -4
- package/package.json +18 -18
package/dist/cjs/commands/dev.js
CHANGED
@@ -115,6 +115,7 @@ const dev = async (api, options, devServerOptions) => {
|
|
115
115
|
}, () => {
|
116
116
|
(0, import_printInstructions.printInstructions)(hooks, appContext, normalizedConfig);
|
117
117
|
});
|
118
|
+
(0, import_createServer.setServer)(server);
|
118
119
|
} else {
|
119
120
|
const { server, afterListen } = await (0, import_server.createDevServer)({
|
120
121
|
...serverOptions,
|
@@ -42,6 +42,7 @@ const start = async (api) => {
|
|
42
42
|
const userConfig = api.getNormalizedConfig();
|
43
43
|
const hooks = api.getHooks();
|
44
44
|
const { distDirectory, appDirectory, internalDirectory, port, metaName, serverRoutes, serverConfigFile } = appContext;
|
45
|
+
const { isCrossProjectServer } = (userConfig === null || userConfig === void 0 ? void 0 : userConfig.bff) || {};
|
45
46
|
import_utils.logger.info(`Starting production server...`);
|
46
47
|
const apiOnly = await (0, import_utils.isApiOnly)(appContext.appDirectory, userConfig === null || userConfig === void 0 ? void 0 : (_userConfig_source = userConfig.source) === null || _userConfig_source === void 0 ? void 0 : _userConfig_source.entriesDir, appContext.apiDirectory);
|
47
48
|
let runMode;
|
@@ -71,8 +72,8 @@ const start = async (api) => {
|
|
71
72
|
appDirectory,
|
72
73
|
internalDirectory,
|
73
74
|
sharedDirectory: (0, import_utils.getTargetDir)(appContext.sharedDirectory, appContext.appDirectory, appContext.distDirectory),
|
74
|
-
apiDirectory: (0, import_utils.getTargetDir)(appContext.apiDirectory, appContext.appDirectory, appContext.distDirectory),
|
75
|
-
lambdaDirectory: (0, import_utils.getTargetDir)(appContext.lambdaDirectory, appContext.appDirectory, appContext.distDirectory)
|
75
|
+
apiDirectory: isCrossProjectServer ? appContext.apiDirectory : (0, import_utils.getTargetDir)(appContext.apiDirectory, appContext.appDirectory, appContext.distDirectory),
|
76
|
+
lambdaDirectory: isCrossProjectServer ? appContext.lambdaDirectory : (0, import_utils.getTargetDir)(appContext.lambdaDirectory, appContext.appDirectory, appContext.distDirectory)
|
76
77
|
},
|
77
78
|
runMode
|
78
79
|
});
|
package/dist/cjs/compat/hooks.js
CHANGED
@@ -30,9 +30,6 @@ function getHookRunners(context) {
|
|
30
30
|
/**
|
31
31
|
* app tools hooks
|
32
32
|
*/
|
33
|
-
beforeConfig: async () => {
|
34
|
-
return hooks.onBeforeConfig.call();
|
35
|
-
},
|
36
33
|
afterPrepare: async () => {
|
37
34
|
return hooks.onAfterPrepare.call();
|
38
35
|
},
|
@@ -125,7 +122,7 @@ function getHookRunners(context) {
|
|
125
122
|
return hooks.onBeforeDev.call();
|
126
123
|
},
|
127
124
|
afterDev: async (params) => {
|
128
|
-
return hooks.
|
125
|
+
return hooks.onDevCompileDone.call(params);
|
129
126
|
},
|
130
127
|
beforeDeploy: async (options) => {
|
131
128
|
return hooks.onBeforeDeploy.call(options);
|
@@ -167,7 +164,7 @@ function handleSetupResult(setupResult, api) {
|
|
167
164
|
const fn = setupResult[key];
|
168
165
|
if (typeof fn === "function") {
|
169
166
|
const newAPI = (0, import_utils.transformHookRunner)(key);
|
170
|
-
if (api[newAPI]) {
|
167
|
+
if (newAPI && api[newAPI]) {
|
171
168
|
api[newAPI](async (...params) => {
|
172
169
|
const { isMultiple, params: transformParams } = (0, import_utils.transformHookParams)(key, params);
|
173
170
|
if (isMultiple) {
|
package/dist/cjs/compat/utils.js
CHANGED
@@ -27,7 +27,8 @@ var import_getHtmlTemplate = require("../plugins/analyze/getHtmlTemplate");
|
|
27
27
|
function transformHookRunner(hookRunnerName) {
|
28
28
|
switch (hookRunnerName) {
|
29
29
|
case "beforeConfig":
|
30
|
-
|
30
|
+
console.error("The `beforeConfig` hook has been deprecated. Please define your code directly in the setup function instead.");
|
31
|
+
return void 0;
|
31
32
|
case "prepare":
|
32
33
|
return "onPrepare";
|
33
34
|
case "afterPrepare":
|
@@ -55,7 +56,7 @@ function transformHookRunner(hookRunnerName) {
|
|
55
56
|
case "beforeDev":
|
56
57
|
return "onBeforeDev";
|
57
58
|
case "afterDev":
|
58
|
-
return "
|
59
|
+
return "onDevCompileDone";
|
59
60
|
case "beforeDeploy":
|
60
61
|
return "onBeforeDeploy";
|
61
62
|
case "afterDeploy":
|
package/dist/cjs/index.js
CHANGED
@@ -34,10 +34,12 @@ __export(src_exports, {
|
|
34
34
|
defineConfig: () => import_defineConfig.defineConfig,
|
35
35
|
defineLegacyConfig: () => import_defineConfig.defineLegacyConfig,
|
36
36
|
dev: () => import_dev.dev,
|
37
|
+
generateWatchFiles: () => import_generateWatchFiles2.generateWatchFiles,
|
37
38
|
initAppContext: () => import_initAppContext.initAppContext,
|
38
39
|
mergeConfig: () => import_core.mergeConfig
|
39
40
|
});
|
40
41
|
module.exports = __toCommonJS(src_exports);
|
42
|
+
var import_path = __toESM(require("path"));
|
41
43
|
var import_language_detector = require("@modern-js/plugin-i18n/language-detector");
|
42
44
|
var import_plugin_v2 = require("@modern-js/plugin-v2");
|
43
45
|
var import_uni_builder = require("@modern-js/uni-builder");
|
@@ -57,6 +59,7 @@ __reExport(src_exports, require("./defineConfig"), module.exports);
|
|
57
59
|
var import_defineConfig = require("./defineConfig");
|
58
60
|
var import_core = require("@modern-js/core");
|
59
61
|
var import_dev = require("./commands/dev");
|
62
|
+
var import_generateWatchFiles2 = require("./utils/generateWatchFiles");
|
60
63
|
__reExport(src_exports, require("./types"), module.exports);
|
61
64
|
const appTools = (options = {
|
62
65
|
// default webpack to be compatible with original projects
|
@@ -91,7 +94,6 @@ const appTools = (options = {
|
|
91
94
|
"@modern-js/plugin-polyfill"
|
92
95
|
],
|
93
96
|
registryHooks: {
|
94
|
-
onBeforeConfig: (0, import_plugin_v2.createAsyncHook)(),
|
95
97
|
onAfterPrepare: (0, import_plugin_v2.createAsyncHook)(),
|
96
98
|
deploy: (0, import_plugin_v2.createAsyncHook)(),
|
97
99
|
_internalRuntimePlugins: (0, import_plugin_v2.createAsyncHook)(),
|
@@ -169,7 +171,10 @@ const appTools = (options = {
|
|
169
171
|
});
|
170
172
|
api.onFileChanged(async (e) => {
|
171
173
|
const { filename, eventType, isPrivate } = e;
|
172
|
-
|
174
|
+
const { appDirectory, apiDirectory } = api.getAppContext();
|
175
|
+
const relativeApiPath = import_path.default.relative(appDirectory, apiDirectory);
|
176
|
+
const isApiProject = filename.startsWith(`${relativeApiPath}/`);
|
177
|
+
if (!isPrivate && (eventType === "change" || eventType === "unlink") && !isApiProject) {
|
173
178
|
const { closeServer } = await import("./utils/createServer.js");
|
174
179
|
await closeServer();
|
175
180
|
await (0, import_restart.restart)(api.getHooks(), filename);
|
@@ -189,6 +194,7 @@ var src_default = appTools;
|
|
189
194
|
defineConfig,
|
190
195
|
defineLegacyConfig,
|
191
196
|
dev,
|
197
|
+
generateWatchFiles,
|
192
198
|
initAppContext,
|
193
199
|
mergeConfig,
|
194
200
|
...require("./defineConfig"),
|
@@ -166,9 +166,11 @@ var analyze_default = ({ bundler }) => ({
|
|
166
166
|
});
|
167
167
|
await (0, import_config2.emitResolvedConfig)(appContext.appDirectory, normalizedConfig);
|
168
168
|
});
|
169
|
-
builder.onDevCompileDone(async ({ isFirstCompile }) => {
|
170
|
-
hooks.
|
171
|
-
isFirstCompile
|
169
|
+
builder.onDevCompileDone(async ({ isFirstCompile, stats, environments }) => {
|
170
|
+
hooks.onDevCompileDone.call({
|
171
|
+
isFirstCompile,
|
172
|
+
stats,
|
173
|
+
environments
|
172
174
|
});
|
173
175
|
if (isFirstCompile) {
|
174
176
|
(0, import_printInstructions.printInstructions)(hooks, appContext, normalizedConfig);
|
@@ -186,6 +188,11 @@ var analyze_default = ({ bundler }) => ({
|
|
186
188
|
compiler
|
187
189
|
});
|
188
190
|
});
|
191
|
+
builder.onAfterStartDevServer(async ({ port }) => {
|
192
|
+
await hooks.onAfterDev.call({
|
193
|
+
port
|
194
|
+
});
|
195
|
+
});
|
189
196
|
builder.addPlugins(resolvedConfig.builderPlugins);
|
190
197
|
api.updateAppContext({
|
191
198
|
builder
|
package/dist/esm/commands/dev.js
CHANGED
@@ -9,7 +9,7 @@ import { loadServerPlugins } from "../utils/loadPlugins";
|
|
9
9
|
import { printInstructions } from "../utils/printInstructions";
|
10
10
|
var start = function() {
|
11
11
|
var _ref = _async_to_generator(function(api) {
|
12
|
-
var _userConfig_source, _userConfig_output_distPath, appContext, userConfig, hooks, distDirectory, appDirectory, internalDirectory, port, metaName, serverRoutes, serverConfigFile, apiOnly, runMode, meta, serverConfigPath, pluginInstances, app;
|
12
|
+
var _userConfig_source, _userConfig_output_distPath, appContext, userConfig, hooks, distDirectory, appDirectory, internalDirectory, port, metaName, serverRoutes, serverConfigFile, isCrossProjectServer, apiOnly, runMode, meta, serverConfigPath, pluginInstances, app;
|
13
13
|
return _ts_generator(this, function(_state) {
|
14
14
|
switch (_state.label) {
|
15
15
|
case 0:
|
@@ -17,6 +17,7 @@ var start = function() {
|
|
17
17
|
userConfig = api.getNormalizedConfig();
|
18
18
|
hooks = api.getHooks();
|
19
19
|
distDirectory = appContext.distDirectory, appDirectory = appContext.appDirectory, internalDirectory = appContext.internalDirectory, port = appContext.port, metaName = appContext.metaName, serverRoutes = appContext.serverRoutes, serverConfigFile = appContext.serverConfigFile;
|
20
|
+
isCrossProjectServer = ((userConfig === null || userConfig === void 0 ? void 0 : userConfig.bff) || {}).isCrossProjectServer;
|
20
21
|
logger.info("Starting production server...");
|
21
22
|
return [
|
22
23
|
4,
|
@@ -55,8 +56,8 @@ var start = function() {
|
|
55
56
|
appDirectory,
|
56
57
|
internalDirectory,
|
57
58
|
sharedDirectory: getTargetDir(appContext.sharedDirectory, appContext.appDirectory, appContext.distDirectory),
|
58
|
-
apiDirectory: getTargetDir(appContext.apiDirectory, appContext.appDirectory, appContext.distDirectory),
|
59
|
-
lambdaDirectory: getTargetDir(appContext.lambdaDirectory, appContext.appDirectory, appContext.distDirectory)
|
59
|
+
apiDirectory: isCrossProjectServer ? appContext.apiDirectory : getTargetDir(appContext.apiDirectory, appContext.appDirectory, appContext.distDirectory),
|
60
|
+
lambdaDirectory: isCrossProjectServer ? appContext.lambdaDirectory : getTargetDir(appContext.lambdaDirectory, appContext.appDirectory, appContext.distDirectory)
|
60
61
|
},
|
61
62
|
runMode
|
62
63
|
})
|
package/dist/esm/compat/hooks.js
CHANGED
@@ -9,14 +9,6 @@ function getHookRunners(context) {
|
|
9
9
|
/**
|
10
10
|
* app tools hooks
|
11
11
|
*/
|
12
|
-
beforeConfig: /* @__PURE__ */ _async_to_generator(function() {
|
13
|
-
return _ts_generator(this, function(_state) {
|
14
|
-
return [
|
15
|
-
2,
|
16
|
-
hooks.onBeforeConfig.call()
|
17
|
-
];
|
18
|
-
});
|
19
|
-
}),
|
20
12
|
afterPrepare: /* @__PURE__ */ _async_to_generator(function() {
|
21
13
|
return _ts_generator(this, function(_state) {
|
22
14
|
return [
|
@@ -356,7 +348,7 @@ function getHookRunners(context) {
|
|
356
348
|
return _ts_generator(this, function(_state) {
|
357
349
|
return [
|
358
350
|
2,
|
359
|
-
hooks.
|
351
|
+
hooks.onDevCompileDone.call(params)
|
360
352
|
];
|
361
353
|
});
|
362
354
|
});
|
@@ -449,7 +441,7 @@ function handleSetupResult(setupResult, api) {
|
|
449
441
|
var fn = setupResult[key];
|
450
442
|
if (typeof fn === "function") {
|
451
443
|
var newAPI = transformHookRunner(key);
|
452
|
-
if (api[newAPI]) {
|
444
|
+
if (newAPI && api[newAPI]) {
|
453
445
|
api[newAPI](/* @__PURE__ */ _async_to_generator(function() {
|
454
446
|
var _len, params, _key, _transformHookParams, isMultiple, transformParams, _tmp, _tmp1;
|
455
447
|
var _arguments = arguments;
|
package/dist/esm/compat/utils.js
CHANGED
@@ -2,7 +2,8 @@ import { getModifyHtmlPartials } from "../plugins/analyze/getHtmlTemplate";
|
|
2
2
|
function transformHookRunner(hookRunnerName) {
|
3
3
|
switch (hookRunnerName) {
|
4
4
|
case "beforeConfig":
|
5
|
-
|
5
|
+
console.error("The `beforeConfig` hook has been deprecated. Please define your code directly in the setup function instead.");
|
6
|
+
return void 0;
|
6
7
|
case "prepare":
|
7
8
|
return "onPrepare";
|
8
9
|
case "afterPrepare":
|
@@ -30,7 +31,7 @@ function transformHookRunner(hookRunnerName) {
|
|
30
31
|
case "beforeDev":
|
31
32
|
return "onBeforeDev";
|
32
33
|
case "afterDev":
|
33
|
-
return "
|
34
|
+
return "onDevCompileDone";
|
34
35
|
case "beforeDeploy":
|
35
36
|
return "onBeforeDeploy";
|
36
37
|
case "afterDeploy":
|
package/dist/esm/index.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
2
2
|
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
3
3
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
4
|
+
import path from "path";
|
4
5
|
import { getLocaleLanguage } from "@modern-js/plugin-i18n/language-detector";
|
5
6
|
import { createAsyncHook, createCollectAsyncHook } from "@modern-js/plugin-v2";
|
6
7
|
import { castArray } from "@modern-js/uni-builder";
|
@@ -52,7 +53,6 @@ var appTools = function() {
|
|
52
53
|
"@modern-js/plugin-polyfill"
|
53
54
|
],
|
54
55
|
registryHooks: {
|
55
|
-
onBeforeConfig: createAsyncHook(),
|
56
56
|
onAfterPrepare: createAsyncHook(),
|
57
57
|
deploy: createAsyncHook(),
|
58
58
|
_internalRuntimePlugins: createAsyncHook(),
|
@@ -195,12 +195,15 @@ var appTools = function() {
|
|
195
195
|
}));
|
196
196
|
api.onFileChanged(function() {
|
197
197
|
var _ref = _async_to_generator(function(e) {
|
198
|
-
var filename, eventType, isPrivate, closeServer;
|
198
|
+
var filename, eventType, isPrivate, _api_getAppContext, appDirectory, apiDirectory, relativeApiPath, isApiProject, closeServer;
|
199
199
|
return _ts_generator(this, function(_state) {
|
200
200
|
switch (_state.label) {
|
201
201
|
case 0:
|
202
202
|
filename = e.filename, eventType = e.eventType, isPrivate = e.isPrivate;
|
203
|
-
|
203
|
+
_api_getAppContext = api.getAppContext(), appDirectory = _api_getAppContext.appDirectory, apiDirectory = _api_getAppContext.apiDirectory;
|
204
|
+
relativeApiPath = path.relative(appDirectory, apiDirectory);
|
205
|
+
isApiProject = filename.startsWith("".concat(relativeApiPath, "/"));
|
206
|
+
if (!(!isPrivate && (eventType === "change" || eventType === "unlink") && !isApiProject))
|
204
207
|
return [
|
205
208
|
3,
|
206
209
|
4
|
@@ -246,6 +249,7 @@ var appTools = function() {
|
|
246
249
|
import { defineConfig, defineLegacyConfig } from "./defineConfig";
|
247
250
|
import { mergeConfig } from "@modern-js/core";
|
248
251
|
import { dev } from "./commands/dev";
|
252
|
+
import { generateWatchFiles as generateWatchFiles2 } from "./utils/generateWatchFiles";
|
249
253
|
export * from "./types";
|
250
254
|
var src_default = appTools;
|
251
255
|
export {
|
@@ -254,6 +258,7 @@ export {
|
|
254
258
|
defineConfig,
|
255
259
|
defineLegacyConfig,
|
256
260
|
dev,
|
261
|
+
generateWatchFiles2 as generateWatchFiles,
|
257
262
|
initAppContext,
|
258
263
|
mergeConfig
|
259
264
|
};
|
@@ -310,11 +310,13 @@ function analyze_default(param) {
|
|
310
310
|
}());
|
311
311
|
builder.onDevCompileDone(function() {
|
312
312
|
var _ref5 = _async_to_generator(function(param2) {
|
313
|
-
var isFirstCompile;
|
313
|
+
var isFirstCompile, stats, environments;
|
314
314
|
return _ts_generator(this, function(_state2) {
|
315
|
-
isFirstCompile = param2.isFirstCompile;
|
316
|
-
hooks.
|
317
|
-
isFirstCompile
|
315
|
+
isFirstCompile = param2.isFirstCompile, stats = param2.stats, environments = param2.environments;
|
316
|
+
hooks.onDevCompileDone.call({
|
317
|
+
isFirstCompile,
|
318
|
+
stats,
|
319
|
+
environments
|
318
320
|
});
|
319
321
|
if (isFirstCompile) {
|
320
322
|
printInstructions(hooks, appContext, normalizedConfig);
|
@@ -380,6 +382,31 @@ function analyze_default(param) {
|
|
380
382
|
return _ref5.apply(this, arguments);
|
381
383
|
};
|
382
384
|
}());
|
385
|
+
builder.onAfterStartDevServer(function() {
|
386
|
+
var _ref5 = _async_to_generator(function(param2) {
|
387
|
+
var port;
|
388
|
+
return _ts_generator(this, function(_state2) {
|
389
|
+
switch (_state2.label) {
|
390
|
+
case 0:
|
391
|
+
port = param2.port;
|
392
|
+
return [
|
393
|
+
4,
|
394
|
+
hooks.onAfterDev.call({
|
395
|
+
port
|
396
|
+
})
|
397
|
+
];
|
398
|
+
case 1:
|
399
|
+
_state2.sent();
|
400
|
+
return [
|
401
|
+
2
|
402
|
+
];
|
403
|
+
}
|
404
|
+
});
|
405
|
+
});
|
406
|
+
return function(_2) {
|
407
|
+
return _ref5.apply(this, arguments);
|
408
|
+
};
|
409
|
+
}());
|
383
410
|
builder.addPlugins(resolvedConfig.builderPlugins);
|
384
411
|
api.updateAppContext({
|
385
412
|
builder
|
@@ -9,6 +9,7 @@ const start = async (api) => {
|
|
9
9
|
const userConfig = api.getNormalizedConfig();
|
10
10
|
const hooks = api.getHooks();
|
11
11
|
const { distDirectory, appDirectory, internalDirectory, port, metaName, serverRoutes, serverConfigFile } = appContext;
|
12
|
+
const { isCrossProjectServer } = (userConfig === null || userConfig === void 0 ? void 0 : userConfig.bff) || {};
|
12
13
|
logger.info(`Starting production server...`);
|
13
14
|
const apiOnly = await isApiOnly(appContext.appDirectory, userConfig === null || userConfig === void 0 ? void 0 : (_userConfig_source = userConfig.source) === null || _userConfig_source === void 0 ? void 0 : _userConfig_source.entriesDir, appContext.apiDirectory);
|
14
15
|
let runMode;
|
@@ -38,8 +39,8 @@ const start = async (api) => {
|
|
38
39
|
appDirectory,
|
39
40
|
internalDirectory,
|
40
41
|
sharedDirectory: getTargetDir(appContext.sharedDirectory, appContext.appDirectory, appContext.distDirectory),
|
41
|
-
apiDirectory: getTargetDir(appContext.apiDirectory, appContext.appDirectory, appContext.distDirectory),
|
42
|
-
lambdaDirectory: getTargetDir(appContext.lambdaDirectory, appContext.appDirectory, appContext.distDirectory)
|
42
|
+
apiDirectory: isCrossProjectServer ? appContext.apiDirectory : getTargetDir(appContext.apiDirectory, appContext.appDirectory, appContext.distDirectory),
|
43
|
+
lambdaDirectory: isCrossProjectServer ? appContext.lambdaDirectory : getTargetDir(appContext.lambdaDirectory, appContext.appDirectory, appContext.distDirectory)
|
43
44
|
},
|
44
45
|
runMode
|
45
46
|
});
|
@@ -6,9 +6,6 @@ function getHookRunners(context) {
|
|
6
6
|
/**
|
7
7
|
* app tools hooks
|
8
8
|
*/
|
9
|
-
beforeConfig: async () => {
|
10
|
-
return hooks.onBeforeConfig.call();
|
11
|
-
},
|
12
9
|
afterPrepare: async () => {
|
13
10
|
return hooks.onAfterPrepare.call();
|
14
11
|
},
|
@@ -101,7 +98,7 @@ function getHookRunners(context) {
|
|
101
98
|
return hooks.onBeforeDev.call();
|
102
99
|
},
|
103
100
|
afterDev: async (params) => {
|
104
|
-
return hooks.
|
101
|
+
return hooks.onDevCompileDone.call(params);
|
105
102
|
},
|
106
103
|
beforeDeploy: async (options) => {
|
107
104
|
return hooks.onBeforeDeploy.call(options);
|
@@ -143,7 +140,7 @@ function handleSetupResult(setupResult, api) {
|
|
143
140
|
const fn = setupResult[key];
|
144
141
|
if (typeof fn === "function") {
|
145
142
|
const newAPI = transformHookRunner(key);
|
146
|
-
if (api[newAPI]) {
|
143
|
+
if (newAPI && api[newAPI]) {
|
147
144
|
api[newAPI](async (...params) => {
|
148
145
|
const { isMultiple, params: transformParams } = transformHookParams(key, params);
|
149
146
|
if (isMultiple) {
|
@@ -2,7 +2,8 @@ import { getModifyHtmlPartials } from "../plugins/analyze/getHtmlTemplate";
|
|
2
2
|
function transformHookRunner(hookRunnerName) {
|
3
3
|
switch (hookRunnerName) {
|
4
4
|
case "beforeConfig":
|
5
|
-
|
5
|
+
console.error("The `beforeConfig` hook has been deprecated. Please define your code directly in the setup function instead.");
|
6
|
+
return void 0;
|
6
7
|
case "prepare":
|
7
8
|
return "onPrepare";
|
8
9
|
case "afterPrepare":
|
@@ -30,7 +31,7 @@ function transformHookRunner(hookRunnerName) {
|
|
30
31
|
case "beforeDev":
|
31
32
|
return "onBeforeDev";
|
32
33
|
case "afterDev":
|
33
|
-
return "
|
34
|
+
return "onDevCompileDone";
|
34
35
|
case "beforeDeploy":
|
35
36
|
return "onBeforeDeploy";
|
36
37
|
case "afterDeploy":
|
package/dist/esm-node/index.js
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import path from "path";
|
1
2
|
import { getLocaleLanguage } from "@modern-js/plugin-i18n/language-detector";
|
2
3
|
import { createAsyncHook, createCollectAsyncHook } from "@modern-js/plugin-v2";
|
3
4
|
import { castArray } from "@modern-js/uni-builder";
|
@@ -47,7 +48,6 @@ const appTools = (options = {
|
|
47
48
|
"@modern-js/plugin-polyfill"
|
48
49
|
],
|
49
50
|
registryHooks: {
|
50
|
-
onBeforeConfig: createAsyncHook(),
|
51
51
|
onAfterPrepare: createAsyncHook(),
|
52
52
|
deploy: createAsyncHook(),
|
53
53
|
_internalRuntimePlugins: createAsyncHook(),
|
@@ -125,7 +125,10 @@ const appTools = (options = {
|
|
125
125
|
});
|
126
126
|
api.onFileChanged(async (e) => {
|
127
127
|
const { filename, eventType, isPrivate } = e;
|
128
|
-
|
128
|
+
const { appDirectory, apiDirectory } = api.getAppContext();
|
129
|
+
const relativeApiPath = path.relative(appDirectory, apiDirectory);
|
130
|
+
const isApiProject = filename.startsWith(`${relativeApiPath}/`);
|
131
|
+
if (!isPrivate && (eventType === "change" || eventType === "unlink") && !isApiProject) {
|
129
132
|
const { closeServer } = await import("./utils/createServer.js");
|
130
133
|
await closeServer();
|
131
134
|
await restart(api.getHooks(), filename);
|
@@ -141,6 +144,7 @@ const appTools = (options = {
|
|
141
144
|
import { defineConfig, defineLegacyConfig } from "./defineConfig";
|
142
145
|
import { mergeConfig } from "@modern-js/core";
|
143
146
|
import { dev } from "./commands/dev";
|
147
|
+
import { generateWatchFiles as generateWatchFiles2 } from "./utils/generateWatchFiles";
|
144
148
|
export * from "./types";
|
145
149
|
var src_default = appTools;
|
146
150
|
export {
|
@@ -149,6 +153,7 @@ export {
|
|
149
153
|
defineConfig,
|
150
154
|
defineLegacyConfig,
|
151
155
|
dev,
|
156
|
+
generateWatchFiles2 as generateWatchFiles,
|
152
157
|
initAppContext,
|
153
158
|
mergeConfig
|
154
159
|
};
|
@@ -133,9 +133,11 @@ var analyze_default = ({ bundler }) => ({
|
|
133
133
|
});
|
134
134
|
await emitResolvedConfig(appContext.appDirectory, normalizedConfig);
|
135
135
|
});
|
136
|
-
builder.onDevCompileDone(async ({ isFirstCompile }) => {
|
137
|
-
hooks.
|
138
|
-
isFirstCompile
|
136
|
+
builder.onDevCompileDone(async ({ isFirstCompile, stats, environments }) => {
|
137
|
+
hooks.onDevCompileDone.call({
|
138
|
+
isFirstCompile,
|
139
|
+
stats,
|
140
|
+
environments
|
139
141
|
});
|
140
142
|
if (isFirstCompile) {
|
141
143
|
printInstructions(hooks, appContext, normalizedConfig);
|
@@ -153,6 +155,11 @@ var analyze_default = ({ bundler }) => ({
|
|
153
155
|
compiler
|
154
156
|
});
|
155
157
|
});
|
158
|
+
builder.onAfterStartDevServer(async ({ port }) => {
|
159
|
+
await hooks.onAfterDev.call({
|
160
|
+
port
|
161
|
+
});
|
162
|
+
});
|
156
163
|
builder.addPlugins(resolvedConfig.builderPlugins);
|
157
164
|
api.updateAppContext({
|
158
165
|
builder
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/**
|
2
2
|
* Maps old plugin hook function names to new plugin API names
|
3
3
|
*/
|
4
|
-
export declare function transformHookRunner(hookRunnerName: string): string;
|
4
|
+
export declare function transformHookRunner(hookRunnerName: string): string | undefined;
|
5
5
|
/**
|
6
6
|
* Note:
|
7
7
|
* isMultiple Indicates whether the function parameter represents multiple values.
|
package/dist/types/index.d.ts
CHANGED
@@ -7,6 +7,7 @@ export { mergeConfig } from '@modern-js/core';
|
|
7
7
|
export type { RuntimeUserConfig } from './types/config';
|
8
8
|
export { dev } from './commands/dev';
|
9
9
|
export type { DevOptions } from './utils/types';
|
10
|
+
export { generateWatchFiles } from './utils/generateWatchFiles';
|
10
11
|
export * from './types';
|
11
12
|
export { initAppContext };
|
12
13
|
export default appTools;
|
@@ -7,7 +7,6 @@ import type { getHookRunners } from '../compat/hooks';
|
|
7
7
|
import type { AppToolsNormalizedConfig, AppToolsUserConfig } from './config';
|
8
8
|
import type { RuntimePlugin } from './hooks';
|
9
9
|
import type { Bundler } from './utils';
|
10
|
-
export type BeforeConfigFn = () => Promise<void> | void;
|
11
10
|
export type AfterPrepareFn = () => Promise<void> | void;
|
12
11
|
export type InternalRuntimePluginsFn = TransformFunction<{
|
13
12
|
entrypoint: Entrypoint;
|
@@ -45,7 +44,6 @@ export type RegisterDevFn = () => Promise<DevToolData> | DevToolData;
|
|
45
44
|
export type RegisterBuildPlatformFn = () => Promise<RegisterBuildPlatformResult> | RegisterBuildPlatformResult;
|
46
45
|
export type AddRuntimeExportsFn = () => Promise<void> | void;
|
47
46
|
export interface AppToolsExtendAPI<B extends Bundler = 'webpack'> {
|
48
|
-
onBeforeConfig: PluginHookTap<BeforeConfigFn>;
|
49
47
|
onAfterPrepare: PluginHookTap<AfterPrepareFn>;
|
50
48
|
deploy: PluginHookTap<DeplpoyFn>;
|
51
49
|
_internalRuntimePlugins: PluginHookTap<InternalRuntimePluginsFn>;
|
@@ -90,7 +88,6 @@ export interface AppToolsExtendAPI<B extends Bundler = 'webpack'> {
|
|
90
88
|
useHookRunners: () => ReturnType<typeof getHookRunners>;
|
91
89
|
}
|
92
90
|
export interface AppToolsExtendHooks extends Record<string, PluginHook<(...args: any[]) => any>> {
|
93
|
-
onBeforeConfig: AsyncHook<BeforeConfigFn>;
|
94
91
|
onAfterPrepare: AsyncHook<AfterPrepareFn>;
|
95
92
|
deploy: AsyncHook<DeplpoyFn>;
|
96
93
|
_internalRuntimePlugins: AsyncHook<InternalRuntimePluginsFn>;
|
@@ -155,4 +152,4 @@ export interface AppToolsExtendContext<B extends Bundler = 'webpack'> {
|
|
155
152
|
toolsType?: string;
|
156
153
|
}
|
157
154
|
export type AppToolsContext<B extends Bundler = 'webpack'> = AppContext<AppTools<B>> & AppToolsExtendContext<B>;
|
158
|
-
export type AppToolsHooks<B extends Bundler = 'webpack'> = Hooks<AppToolsUserConfig<B>, AppToolsNormalizedConfig> & AppToolsExtendHooks;
|
155
|
+
export type AppToolsHooks<B extends Bundler = 'webpack'> = Hooks<AppToolsUserConfig<B>, AppToolsNormalizedConfig, {}> & AppToolsExtendHooks;
|
package/package.json
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
"modern",
|
16
16
|
"modern.js"
|
17
17
|
],
|
18
|
-
"version": "2.63.
|
18
|
+
"version": "2.63.7",
|
19
19
|
"jsnext:source": "./src/index.ts",
|
20
20
|
"types": "./dist/types/index.d.ts",
|
21
21
|
"main": "./dist/cjs/index.js",
|
@@ -90,22 +90,22 @@
|
|
90
90
|
"flatted": "^3.2.9",
|
91
91
|
"mlly": "^1.6.1",
|
92
92
|
"pkg-types": "^1.1.0",
|
93
|
-
"ndepe": "0.1.
|
93
|
+
"ndepe": "0.1.5",
|
94
94
|
"std-env": "^3.7.0",
|
95
|
-
"@modern-js/core": "2.63.
|
96
|
-
"@modern-js/node-bundle-require": "2.63.
|
97
|
-
"@modern-js/plugin": "2.63.
|
98
|
-
"@modern-js/plugin-
|
99
|
-
"@modern-js/plugin-
|
100
|
-
"@modern-js/
|
101
|
-
"@modern-js/
|
102
|
-
"@modern-js/
|
103
|
-
"@modern-js/
|
104
|
-
"@modern-js/server-
|
105
|
-
"@modern-js/
|
106
|
-
"@modern-js/uni-builder": "2.63.
|
107
|
-
"@modern-js/
|
108
|
-
"@modern-js/
|
95
|
+
"@modern-js/core": "2.63.7",
|
96
|
+
"@modern-js/node-bundle-require": "2.63.7",
|
97
|
+
"@modern-js/plugin-data-loader": "2.63.7",
|
98
|
+
"@modern-js/plugin-i18n": "2.63.7",
|
99
|
+
"@modern-js/plugin-v2": "2.63.7",
|
100
|
+
"@modern-js/plugin": "2.63.7",
|
101
|
+
"@modern-js/prod-server": "2.63.7",
|
102
|
+
"@modern-js/rsbuild-plugin-esbuild": "2.63.7",
|
103
|
+
"@modern-js/server": "2.63.7",
|
104
|
+
"@modern-js/server-core": "2.63.7",
|
105
|
+
"@modern-js/server-utils": "2.63.7",
|
106
|
+
"@modern-js/uni-builder": "2.63.7",
|
107
|
+
"@modern-js/utils": "2.63.7",
|
108
|
+
"@modern-js/types": "2.63.7"
|
109
109
|
},
|
110
110
|
"devDependencies": {
|
111
111
|
"@rsbuild/plugin-webpack-swc": "1.0.9",
|
@@ -117,8 +117,8 @@
|
|
117
117
|
"tsconfig-paths": "^4.2.0",
|
118
118
|
"typescript": "^5",
|
119
119
|
"webpack": "^5.97.1",
|
120
|
-
"@scripts/build": "2.63.
|
121
|
-
"@scripts/jest-config": "2.63.
|
120
|
+
"@scripts/build": "2.63.7",
|
121
|
+
"@scripts/jest-config": "2.63.7"
|
122
122
|
},
|
123
123
|
"peerDependencies": {
|
124
124
|
"ts-node": "^10.7.0",
|