@rspack/cli 1.3.5 → 1.3.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/README.md +1 -2
- package/dist/556.js +51 -0
- package/dist/556.mjs +48 -0
- package/dist/index.js +31 -26
- package/dist/index.mjs +13 -22
- package/dist/utils/profile.d.ts +1 -2
- package/package.json +4 -11
- package/dist/977.js +0 -181
- package/dist/977.mjs +0 -177
package/README.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<picture>
|
|
2
|
-
<
|
|
3
|
-
<img alt="Rspack Banner" src="https://assets.rspack.dev/rspack/rspack-banner-plain-light.png">
|
|
2
|
+
<img alt="Rspack Banner" src="https://assets.rspack.dev/rspack/rspack-banner.png">
|
|
4
3
|
</picture>
|
|
5
4
|
|
|
6
5
|
# @rspack/cli
|
package/dist/556.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.ids = [
|
|
3
|
+
'556'
|
|
4
|
+
];
|
|
5
|
+
exports.modules = {
|
|
6
|
+
"./src/utils/profile.ts": function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
7
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
8
|
+
applyProfile: ()=>applyProfile
|
|
9
|
+
});
|
|
10
|
+
var node_fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("node:fs");
|
|
11
|
+
var node_fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(node_fs__WEBPACK_IMPORTED_MODULE_0__);
|
|
12
|
+
var node_path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("node:path");
|
|
13
|
+
var node_path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(node_path__WEBPACK_IMPORTED_MODULE_1__);
|
|
14
|
+
var _rspack_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("@rspack/core");
|
|
15
|
+
const timestamp = Date.now();
|
|
16
|
+
const defaultOutputDirname = node_path__WEBPACK_IMPORTED_MODULE_1___default().resolve(`.rspack-profile-${timestamp}-${process.pid}`);
|
|
17
|
+
const defaultRustTraceChromeOutput = node_path__WEBPACK_IMPORTED_MODULE_1___default().join(defaultOutputDirname, "./trace.json");
|
|
18
|
+
const defaultRustTraceLoggerOutput = "stdout";
|
|
19
|
+
const overviewTraceFilter = "info";
|
|
20
|
+
const allTraceFilter = "trace";
|
|
21
|
+
const defaultRustTraceLayer = "chrome";
|
|
22
|
+
function resolveLayer(value) {
|
|
23
|
+
if ("OVERVIEW" === value) return overviewTraceFilter;
|
|
24
|
+
if ("ALL" === value) return allTraceFilter;
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
async function applyProfile(filterValue, traceLayer = defaultRustTraceLayer, traceOutput) {
|
|
28
|
+
const { asyncExitHook } = await Promise.resolve().then(__webpack_require__.bind(__webpack_require__, "exit-hook"));
|
|
29
|
+
if ("chrome" !== traceLayer && "logger" !== traceLayer) throw new Error(`unsupported trace layer: ${traceLayer}`);
|
|
30
|
+
let defaultTraceOutput;
|
|
31
|
+
defaultTraceOutput = "chrome" === traceLayer ? defaultRustTraceChromeOutput : defaultRustTraceLoggerOutput;
|
|
32
|
+
if (!traceOutput) traceOutput = defaultTraceOutput;
|
|
33
|
+
const filter = resolveLayer(filterValue);
|
|
34
|
+
const entries = Object.entries(resolveLayer(filterValue));
|
|
35
|
+
if (entries.length <= 0) return;
|
|
36
|
+
await node_fs__WEBPACK_IMPORTED_MODULE_0___default().promises.mkdir(defaultOutputDirname);
|
|
37
|
+
await ensureFileDir(traceOutput);
|
|
38
|
+
await _rspack_core__WEBPACK_IMPORTED_MODULE_2__.rspack.experiments.globalTrace.register(filter, traceLayer, traceOutput);
|
|
39
|
+
asyncExitHook(_rspack_core__WEBPACK_IMPORTED_MODULE_2__.rspack.experiments.globalTrace.cleanup, {
|
|
40
|
+
wait: 500
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
async function ensureFileDir(outputFilePath) {
|
|
44
|
+
const dir = node_path__WEBPACK_IMPORTED_MODULE_1___default().dirname(outputFilePath);
|
|
45
|
+
await node_fs__WEBPACK_IMPORTED_MODULE_0___default().promises.mkdir(dir, {
|
|
46
|
+
recursive: true
|
|
47
|
+
});
|
|
48
|
+
return dir;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
package/dist/556.mjs
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export const __webpack_ids__ = [
|
|
2
|
+
'556'
|
|
3
|
+
];
|
|
4
|
+
export const __webpack_modules__ = {
|
|
5
|
+
"./src/utils/profile.ts": function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
6
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
7
|
+
applyProfile: ()=>applyProfile
|
|
8
|
+
});
|
|
9
|
+
var node_fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("node:fs");
|
|
10
|
+
var node_path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("node:path");
|
|
11
|
+
var _rspack_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("@rspack/core");
|
|
12
|
+
const timestamp = Date.now();
|
|
13
|
+
const defaultOutputDirname = node_path__WEBPACK_IMPORTED_MODULE_1__["default"].resolve(`.rspack-profile-${timestamp}-${process.pid}`);
|
|
14
|
+
const defaultRustTraceChromeOutput = node_path__WEBPACK_IMPORTED_MODULE_1__["default"].join(defaultOutputDirname, "./trace.json");
|
|
15
|
+
const defaultRustTraceLoggerOutput = "stdout";
|
|
16
|
+
const overviewTraceFilter = "info";
|
|
17
|
+
const allTraceFilter = "trace";
|
|
18
|
+
const defaultRustTraceLayer = "chrome";
|
|
19
|
+
function resolveLayer(value) {
|
|
20
|
+
if ("OVERVIEW" === value) return overviewTraceFilter;
|
|
21
|
+
if ("ALL" === value) return allTraceFilter;
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
async function applyProfile(filterValue, traceLayer = defaultRustTraceLayer, traceOutput) {
|
|
25
|
+
const { asyncExitHook } = await import("exit-hook");
|
|
26
|
+
if ("chrome" !== traceLayer && "logger" !== traceLayer) throw new Error(`unsupported trace layer: ${traceLayer}`);
|
|
27
|
+
let defaultTraceOutput;
|
|
28
|
+
defaultTraceOutput = "chrome" === traceLayer ? defaultRustTraceChromeOutput : defaultRustTraceLoggerOutput;
|
|
29
|
+
if (!traceOutput) traceOutput = defaultTraceOutput;
|
|
30
|
+
const filter = resolveLayer(filterValue);
|
|
31
|
+
const entries = Object.entries(resolveLayer(filterValue));
|
|
32
|
+
if (entries.length <= 0) return;
|
|
33
|
+
await node_fs__WEBPACK_IMPORTED_MODULE_0__["default"].promises.mkdir(defaultOutputDirname);
|
|
34
|
+
await ensureFileDir(traceOutput);
|
|
35
|
+
await _rspack_core__WEBPACK_IMPORTED_MODULE_2__.rspack.experiments.globalTrace.register(filter, traceLayer, traceOutput);
|
|
36
|
+
asyncExitHook(_rspack_core__WEBPACK_IMPORTED_MODULE_2__.rspack.experiments.globalTrace.cleanup, {
|
|
37
|
+
wait: 500
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async function ensureFileDir(outputFilePath) {
|
|
41
|
+
const dir = node_path__WEBPACK_IMPORTED_MODULE_1__["default"].dirname(outputFilePath);
|
|
42
|
+
await node_fs__WEBPACK_IMPORTED_MODULE_0__["default"].promises.mkdir(dir, {
|
|
43
|
+
recursive: true
|
|
44
|
+
});
|
|
45
|
+
return dir;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
package/dist/index.js
CHANGED
|
@@ -6,32 +6,38 @@ var __webpack_modules__ = {
|
|
|
6
6
|
"node:fs": function(module) {
|
|
7
7
|
module.exports = require("node:fs");
|
|
8
8
|
},
|
|
9
|
-
"node:inspector": function(module) {
|
|
10
|
-
module.exports = require("node:inspector");
|
|
11
|
-
},
|
|
12
9
|
"node:path": function(module) {
|
|
13
10
|
module.exports = require("node:path");
|
|
14
11
|
},
|
|
15
|
-
"node:url": function(module) {
|
|
16
|
-
module.exports = require("node:url");
|
|
17
|
-
},
|
|
18
12
|
"@discoveryjs/json-ext": function(module) {
|
|
19
|
-
module.exports = import("@discoveryjs/json-ext")
|
|
13
|
+
module.exports = import("@discoveryjs/json-ext").then(function(module) {
|
|
14
|
+
return module;
|
|
15
|
+
});
|
|
20
16
|
},
|
|
21
17
|
"@rspack/dev-server": function(module) {
|
|
22
|
-
module.exports = import("@rspack/dev-server")
|
|
18
|
+
module.exports = import("@rspack/dev-server").then(function(module) {
|
|
19
|
+
return module;
|
|
20
|
+
});
|
|
23
21
|
},
|
|
24
22
|
"exit-hook": function(module) {
|
|
25
|
-
module.exports = import("exit-hook")
|
|
23
|
+
module.exports = import("exit-hook").then(function(module) {
|
|
24
|
+
return module;
|
|
25
|
+
});
|
|
26
26
|
},
|
|
27
27
|
interpret: function(module) {
|
|
28
|
-
module.exports = import("interpret")
|
|
28
|
+
module.exports = import("interpret").then(function(module) {
|
|
29
|
+
return module;
|
|
30
|
+
});
|
|
29
31
|
},
|
|
30
32
|
rechoir: function(module) {
|
|
31
|
-
module.exports = import("rechoir")
|
|
33
|
+
module.exports = import("rechoir").then(function(module) {
|
|
34
|
+
return module;
|
|
35
|
+
});
|
|
32
36
|
},
|
|
33
37
|
"webpack-bundle-analyzer": function(module) {
|
|
34
|
-
module.exports = import("webpack-bundle-analyzer")
|
|
38
|
+
module.exports = import("webpack-bundle-analyzer").then(function(module) {
|
|
39
|
+
return module;
|
|
40
|
+
});
|
|
35
41
|
}
|
|
36
42
|
};
|
|
37
43
|
var __webpack_module_cache__ = {};
|
|
@@ -284,8 +290,7 @@ var __webpack_exports__ = {};
|
|
|
284
290
|
const compiler = await cli.createCompiler(rspackOptions, "build", errorHandler);
|
|
285
291
|
if (!compiler || cli.isWatch(compiler)) return;
|
|
286
292
|
compiler.run((error, stats)=>{
|
|
287
|
-
|
|
288
|
-
else compiler.close((closeErr)=>{
|
|
293
|
+
compiler.close((closeErr)=>{
|
|
289
294
|
if (closeErr) logger.error(closeErr);
|
|
290
295
|
errorHandler(error, stats);
|
|
291
296
|
});
|
|
@@ -364,15 +369,15 @@ var __webpack_exports__ = {};
|
|
|
364
369
|
var _item_output, _item_devServer, _item_devServer1, _item_devServer2, _item_devServer3, _item_devServer4;
|
|
365
370
|
item.devServer = {
|
|
366
371
|
static: {
|
|
367
|
-
directory: options.dir ? external_node_path_default().join(item.context ?? process.cwd(), options.dir) : (null
|
|
372
|
+
directory: options.dir ? external_node_path_default().join(item.context ?? process.cwd(), options.dir) : (null == (_item_output = item.output) ? void 0 : _item_output.path) ?? external_node_path_default().join(item.context ?? process.cwd(), defaultRoot),
|
|
368
373
|
publicPath: options.publicPath ?? "/"
|
|
369
374
|
},
|
|
370
375
|
port: options.port ?? 8080,
|
|
371
|
-
proxy: null
|
|
372
|
-
host: options.host ?? (null
|
|
373
|
-
open: options.open ?? (null
|
|
374
|
-
server: options.server ?? (null
|
|
375
|
-
historyApiFallback: null
|
|
376
|
+
proxy: null == (_item_devServer = item.devServer) ? void 0 : _item_devServer.proxy,
|
|
377
|
+
host: options.host ?? (null == (_item_devServer1 = item.devServer) ? void 0 : _item_devServer1.host),
|
|
378
|
+
open: options.open ?? (null == (_item_devServer2 = item.devServer) ? void 0 : _item_devServer2.open),
|
|
379
|
+
server: options.server ?? (null == (_item_devServer3 = item.devServer) ? void 0 : _item_devServer3.server),
|
|
380
|
+
historyApiFallback: null == (_item_devServer4 = item.devServer) ? void 0 : _item_devServer4.historyApiFallback
|
|
376
381
|
};
|
|
377
382
|
return item;
|
|
378
383
|
};
|
|
@@ -484,7 +489,7 @@ var __webpack_exports__ = {};
|
|
|
484
489
|
});
|
|
485
490
|
}
|
|
486
491
|
}
|
|
487
|
-
|
|
492
|
+
const external_node_url_namespaceObject = require("node:url");
|
|
488
493
|
const readPackageUp_readPackageUp = (cwd = process.cwd())=>{
|
|
489
494
|
let currentDir = external_node_path_default().resolve(cwd);
|
|
490
495
|
let packageJsonPath = external_node_path_default().join(currentDir, "package.json");
|
|
@@ -511,7 +516,7 @@ var __webpack_exports__ = {};
|
|
|
511
516
|
const utils_isEsmFile = isEsmFile;
|
|
512
517
|
const crossImport = async (path, cwd = process.cwd())=>{
|
|
513
518
|
if (utils_isEsmFile(path, cwd)) {
|
|
514
|
-
const url = (0,
|
|
519
|
+
const url = (0, external_node_url_namespaceObject.pathToFileURL)(path).href;
|
|
515
520
|
const { default: config } = await import(url);
|
|
516
521
|
return config;
|
|
517
522
|
}
|
|
@@ -585,7 +590,7 @@ var __webpack_exports__ = {};
|
|
|
585
590
|
let extendedConfig = await crossImport(resolvedPath, cwd);
|
|
586
591
|
if ("function" == typeof extendedConfig) {
|
|
587
592
|
var _options_argv;
|
|
588
|
-
extendedConfig = extendedConfig(null
|
|
593
|
+
extendedConfig = extendedConfig(null == (_options_argv = options.argv) ? void 0 : _options_argv.env, options.argv);
|
|
589
594
|
if ("function" == typeof extendedConfig.then) extendedConfig = await extendedConfig;
|
|
590
595
|
}
|
|
591
596
|
extendedConfig = await loadExtendedConfig(extendedConfig, resolvedPath, cwd, options);
|
|
@@ -702,8 +707,8 @@ var __webpack_exports__ = {};
|
|
|
702
707
|
}
|
|
703
708
|
if (options.profile) item.profile = true;
|
|
704
709
|
if (process.env.RSPACK_PROFILE) {
|
|
705
|
-
const { applyProfile } = await __webpack_require__.e("
|
|
706
|
-
await applyProfile(process.env.RSPACK_PROFILE,
|
|
710
|
+
const { applyProfile } = await __webpack_require__.e("556").then(__webpack_require__.bind(__webpack_require__, "./src/utils/profile.ts"));
|
|
711
|
+
await applyProfile(process.env.RSPACK_PROFILE, process.env.RSPACK_TRACE_LAYER, process.env.RSPACK_TRACE_OUTPUT);
|
|
707
712
|
}
|
|
708
713
|
if (options.watch) item.watch = options.watch;
|
|
709
714
|
if (!item.mode) item.mode = isBuild ? "production" : "development";
|
|
@@ -735,7 +740,7 @@ var __webpack_exports__ = {};
|
|
|
735
740
|
let loadedConfig = await loadRspackConfig(options);
|
|
736
741
|
if ("function" == typeof loadedConfig) {
|
|
737
742
|
var _options_argv;
|
|
738
|
-
let functionResult = loadedConfig(null
|
|
743
|
+
let functionResult = loadedConfig(null == (_options_argv = options.argv) ? void 0 : _options_argv.env, options.argv);
|
|
739
744
|
if ("function" == typeof functionResult.then) functionResult = await functionResult;
|
|
740
745
|
loadedConfig = functionResult;
|
|
741
746
|
if ("extends" in loadedConfig && loadedConfig.extends) {
|
package/dist/index.mjs
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import * as __WEBPACK_EXTERNAL_MODULE__rspack_core_e0096ff7__ from "@rspack/core";
|
|
2
2
|
import * as __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__ from "node:fs";
|
|
3
|
-
import * as __WEBPACK_EXTERNAL_MODULE_node_inspector_dd9822d6__ from "node:inspector";
|
|
4
3
|
import * as __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__ from "node:path";
|
|
5
|
-
import * as __WEBPACK_EXTERNAL_MODULE_node_url_e96de089__ from "node:url";
|
|
6
4
|
import * as __WEBPACK_EXTERNAL_MODULE_node_util_1b29d436__ from "node:util";
|
|
7
5
|
import * as __WEBPACK_EXTERNAL_MODULE_colorette__ from "colorette";
|
|
8
6
|
import * as __WEBPACK_EXTERNAL_MODULE_yargs__ from "yargs";
|
|
9
7
|
import * as __WEBPACK_EXTERNAL_MODULE_yargs_helpers_525217b7__ from "yargs/helpers";
|
|
8
|
+
import * as __WEBPACK_EXTERNAL_MODULE_node_url_e96de089__ from "node:url";
|
|
10
9
|
var __webpack_modules__ = {
|
|
11
10
|
"@rspack/core": function(module) {
|
|
12
11
|
module.exports = __WEBPACK_EXTERNAL_MODULE__rspack_core_e0096ff7__;
|
|
@@ -14,14 +13,8 @@ var __webpack_modules__ = {
|
|
|
14
13
|
"node:fs": function(module) {
|
|
15
14
|
module.exports = __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__;
|
|
16
15
|
},
|
|
17
|
-
"node:inspector": function(module) {
|
|
18
|
-
module.exports = __WEBPACK_EXTERNAL_MODULE_node_inspector_dd9822d6__;
|
|
19
|
-
},
|
|
20
16
|
"node:path": function(module) {
|
|
21
17
|
module.exports = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__;
|
|
22
|
-
},
|
|
23
|
-
"node:url": function(module) {
|
|
24
|
-
module.exports = __WEBPACK_EXTERNAL_MODULE_node_url_e96de089__;
|
|
25
18
|
}
|
|
26
19
|
};
|
|
27
20
|
var __webpack_module_cache__ = {};
|
|
@@ -262,8 +255,7 @@ class BuildCommand {
|
|
|
262
255
|
const compiler = await cli.createCompiler(rspackOptions, "build", errorHandler);
|
|
263
256
|
if (!compiler || cli.isWatch(compiler)) return;
|
|
264
257
|
compiler.run((error, stats)=>{
|
|
265
|
-
|
|
266
|
-
else compiler.close((closeErr)=>{
|
|
258
|
+
compiler.close((closeErr)=>{
|
|
267
259
|
if (closeErr) logger.error(closeErr);
|
|
268
260
|
errorHandler(error, stats);
|
|
269
261
|
});
|
|
@@ -342,15 +334,15 @@ async function getPreviewConfig(item, options) {
|
|
|
342
334
|
var _item_output, _item_devServer, _item_devServer1, _item_devServer2, _item_devServer3, _item_devServer4;
|
|
343
335
|
item.devServer = {
|
|
344
336
|
static: {
|
|
345
|
-
directory: options.dir ? external_node_path_["default"].join(item.context ?? process.cwd(), options.dir) : (null
|
|
337
|
+
directory: options.dir ? external_node_path_["default"].join(item.context ?? process.cwd(), options.dir) : (null == (_item_output = item.output) ? void 0 : _item_output.path) ?? external_node_path_["default"].join(item.context ?? process.cwd(), defaultRoot),
|
|
346
338
|
publicPath: options.publicPath ?? "/"
|
|
347
339
|
},
|
|
348
340
|
port: options.port ?? 8080,
|
|
349
|
-
proxy: null
|
|
350
|
-
host: options.host ?? (null
|
|
351
|
-
open: options.open ?? (null
|
|
352
|
-
server: options.server ?? (null
|
|
353
|
-
historyApiFallback: null
|
|
341
|
+
proxy: null == (_item_devServer = item.devServer) ? void 0 : _item_devServer.proxy,
|
|
342
|
+
host: options.host ?? (null == (_item_devServer1 = item.devServer) ? void 0 : _item_devServer1.host),
|
|
343
|
+
open: options.open ?? (null == (_item_devServer2 = item.devServer) ? void 0 : _item_devServer2.open),
|
|
344
|
+
server: options.server ?? (null == (_item_devServer3 = item.devServer) ? void 0 : _item_devServer3.server),
|
|
345
|
+
historyApiFallback: null == (_item_devServer4 = item.devServer) ? void 0 : _item_devServer4.historyApiFallback
|
|
354
346
|
};
|
|
355
347
|
return item;
|
|
356
348
|
};
|
|
@@ -462,7 +454,6 @@ class ServeCommand {
|
|
|
462
454
|
});
|
|
463
455
|
}
|
|
464
456
|
}
|
|
465
|
-
var external_node_url_ = __webpack_require__("node:url");
|
|
466
457
|
const readPackageUp_readPackageUp = (cwd = process.cwd())=>{
|
|
467
458
|
let currentDir = external_node_path_["default"].resolve(cwd);
|
|
468
459
|
let packageJsonPath = external_node_path_["default"].join(currentDir, "package.json");
|
|
@@ -489,7 +480,7 @@ const isEsmFile = (filePath, cwd = process.cwd())=>{
|
|
|
489
480
|
const utils_isEsmFile = isEsmFile;
|
|
490
481
|
const crossImport = async (path, cwd = process.cwd())=>{
|
|
491
482
|
if (utils_isEsmFile(path, cwd)) {
|
|
492
|
-
const url = (0,
|
|
483
|
+
const url = (0, __WEBPACK_EXTERNAL_MODULE_node_url_e96de089__.pathToFileURL)(path).href;
|
|
493
484
|
const { default: config } = await import(url);
|
|
494
485
|
return config;
|
|
495
486
|
}
|
|
@@ -563,7 +554,7 @@ async function loadExtendedConfig(config, configPath, cwd, options) {
|
|
|
563
554
|
let extendedConfig = await crossImport(resolvedPath, cwd);
|
|
564
555
|
if ("function" == typeof extendedConfig) {
|
|
565
556
|
var _options_argv;
|
|
566
|
-
extendedConfig = extendedConfig(null
|
|
557
|
+
extendedConfig = extendedConfig(null == (_options_argv = options.argv) ? void 0 : _options_argv.env, options.argv);
|
|
567
558
|
if ("function" == typeof extendedConfig.then) extendedConfig = await extendedConfig;
|
|
568
559
|
}
|
|
569
560
|
extendedConfig = await loadExtendedConfig(extendedConfig, resolvedPath, cwd, options);
|
|
@@ -680,8 +671,8 @@ class RspackCLI {
|
|
|
680
671
|
}
|
|
681
672
|
if (options.profile) item.profile = true;
|
|
682
673
|
if (process.env.RSPACK_PROFILE) {
|
|
683
|
-
const { applyProfile } = await __webpack_require__.e("
|
|
684
|
-
await applyProfile(process.env.RSPACK_PROFILE,
|
|
674
|
+
const { applyProfile } = await __webpack_require__.e("556").then(__webpack_require__.bind(__webpack_require__, "./src/utils/profile.ts"));
|
|
675
|
+
await applyProfile(process.env.RSPACK_PROFILE, process.env.RSPACK_TRACE_LAYER, process.env.RSPACK_TRACE_OUTPUT);
|
|
685
676
|
}
|
|
686
677
|
if (options.watch) item.watch = options.watch;
|
|
687
678
|
if (!item.mode) item.mode = isBuild ? "production" : "development";
|
|
@@ -713,7 +704,7 @@ class RspackCLI {
|
|
|
713
704
|
let loadedConfig = await loadRspackConfig(options);
|
|
714
705
|
if ("function" == typeof loadedConfig) {
|
|
715
706
|
var _options_argv;
|
|
716
|
-
let functionResult = loadedConfig(null
|
|
707
|
+
let functionResult = loadedConfig(null == (_options_argv = options.argv) ? void 0 : _options_argv.env, options.argv);
|
|
717
708
|
if ("function" == typeof functionResult.then) functionResult = await functionResult;
|
|
718
709
|
loadedConfig = functionResult;
|
|
719
710
|
if ("extends" in loadedConfig && loadedConfig.extends) {
|
package/dist/utils/profile.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function applyProfile(profileValue: string, item: RspackOptions): Promise<void>;
|
|
1
|
+
export declare function applyProfile(filterValue: string, traceLayer?: string, traceOutput?: string): Promise<void>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rspack/cli",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.7",
|
|
4
4
|
"description": "CLI for rspack",
|
|
5
5
|
"homepage": "https://rspack.dev",
|
|
6
6
|
"bugs": "https://github.com/web-infra-dev/rspack/issues",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"yargs": "17.7.2"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@rslib/core": "0.6.
|
|
41
|
+
"@rslib/core": "0.6.7",
|
|
42
42
|
"@types/interpret": "^1.1.3",
|
|
43
43
|
"@types/rechoir": "^0.6.4",
|
|
44
44
|
"@types/webpack-bundle-analyzer": "^4.7.0",
|
|
@@ -48,17 +48,10 @@
|
|
|
48
48
|
"execa": "^5.1.1",
|
|
49
49
|
"ts-node": "^10.9.2",
|
|
50
50
|
"typescript": "^5.7.3",
|
|
51
|
-
"@rspack/core": "1.3.
|
|
52
|
-
"@rspack/tracing": "1.3.5"
|
|
51
|
+
"@rspack/core": "1.3.7"
|
|
53
52
|
},
|
|
54
53
|
"peerDependencies": {
|
|
55
|
-
"@rspack/core": "^1.0.0-alpha || ^1.x"
|
|
56
|
-
"@rspack/tracing": "^1.x"
|
|
57
|
-
},
|
|
58
|
-
"peerDependenciesMeta": {
|
|
59
|
-
"@rspack/tracing": {
|
|
60
|
-
"optional": true
|
|
61
|
-
}
|
|
54
|
+
"@rspack/core": "^1.0.0-alpha || ^1.x"
|
|
62
55
|
},
|
|
63
56
|
"publishConfig": {
|
|
64
57
|
"access": "public",
|
package/dist/977.js
DELETED
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.ids = [
|
|
3
|
-
'977'
|
|
4
|
-
];
|
|
5
|
-
exports.modules = {
|
|
6
|
-
"./src/utils/profile.ts": function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
7
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
8
|
-
applyProfile: ()=>applyProfile
|
|
9
|
-
});
|
|
10
|
-
var node_fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("node:fs");
|
|
11
|
-
var node_fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(node_fs__WEBPACK_IMPORTED_MODULE_0__);
|
|
12
|
-
var node_inspector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("node:inspector");
|
|
13
|
-
var node_inspector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(node_inspector__WEBPACK_IMPORTED_MODULE_1__);
|
|
14
|
-
var node_path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("node:path");
|
|
15
|
-
var node_path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/ __webpack_require__.n(node_path__WEBPACK_IMPORTED_MODULE_2__);
|
|
16
|
-
var node_url__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("node:url");
|
|
17
|
-
var _rspack_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("@rspack/core");
|
|
18
|
-
function _define_property(obj, key, value) {
|
|
19
|
-
if (key in obj) Object.defineProperty(obj, key, {
|
|
20
|
-
value: value,
|
|
21
|
-
enumerable: true,
|
|
22
|
-
configurable: true,
|
|
23
|
-
writable: true
|
|
24
|
-
});
|
|
25
|
-
else obj[key] = value;
|
|
26
|
-
return obj;
|
|
27
|
-
}
|
|
28
|
-
const timestamp = Date.now();
|
|
29
|
-
const defaultOutputDirname = node_path__WEBPACK_IMPORTED_MODULE_2___default().resolve(`.rspack-profile-${timestamp}-${process.pid}`);
|
|
30
|
-
const defaultJSCPUProfileOutput = node_path__WEBPACK_IMPORTED_MODULE_2___default().join(defaultOutputDirname, "./jscpuprofile.json");
|
|
31
|
-
const defaultRustTraceChromeOutput = node_path__WEBPACK_IMPORTED_MODULE_2___default().join(defaultOutputDirname, "./trace.json");
|
|
32
|
-
const defaultRustTraceLoggerOutput = "stdout";
|
|
33
|
-
const defaultRustTraceFilter = "info";
|
|
34
|
-
const defaultRustTraceLayer = "chrome";
|
|
35
|
-
const defaultLoggingOutput = node_path__WEBPACK_IMPORTED_MODULE_2___default().join(defaultOutputDirname, "./logging.json");
|
|
36
|
-
function resolveProfile(value) {
|
|
37
|
-
if ("ALL" === value.toUpperCase()) return {
|
|
38
|
-
TRACE: {
|
|
39
|
-
filter: defaultRustTraceFilter,
|
|
40
|
-
layer: defaultRustTraceLayer,
|
|
41
|
-
output: defaultRustTraceChromeOutput
|
|
42
|
-
},
|
|
43
|
-
JSCPU: {
|
|
44
|
-
output: defaultJSCPUProfileOutput
|
|
45
|
-
},
|
|
46
|
-
LOGGING: {
|
|
47
|
-
output: defaultLoggingOutput
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
if (value.startsWith("[") && value.endsWith("]")) return {
|
|
51
|
-
TRACE: resolveRustTraceOptions(value.slice(1, value.length - 1)),
|
|
52
|
-
JSCPU: {
|
|
53
|
-
output: defaultJSCPUProfileOutput
|
|
54
|
-
},
|
|
55
|
-
LOGGING: {
|
|
56
|
-
output: defaultLoggingOutput
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
return value.split("|").reduce((acc, cur)=>{
|
|
60
|
-
const upperCur = cur.toUpperCase();
|
|
61
|
-
if (upperCur.startsWith("TRACE")) acc.TRACE = resolveRustTraceOptions(cur.slice(6));
|
|
62
|
-
else if (upperCur.startsWith("JSCPU")) acc.JSCPU = resolveJSCPUProfileOptions(cur.slice(6));
|
|
63
|
-
else if (upperCur.startsWith("LOGGING")) acc.LOGGING = resolveLoggingOptions(cur.slice(8));
|
|
64
|
-
return acc;
|
|
65
|
-
}, {});
|
|
66
|
-
}
|
|
67
|
-
function resolveJSCPUProfileOptions(value) {
|
|
68
|
-
if (value.includes("=")) {
|
|
69
|
-
const parsed = new node_url__WEBPACK_IMPORTED_MODULE_3__.URLSearchParams(value);
|
|
70
|
-
return {
|
|
71
|
-
output: parsed.get("output") || defaultJSCPUProfileOutput
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
return {
|
|
75
|
-
output: value || defaultJSCPUProfileOutput
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
function isSupportedLayer(layer) {
|
|
79
|
-
const SUPPORTED_LAYERS = [
|
|
80
|
-
"chrome",
|
|
81
|
-
"logger",
|
|
82
|
-
"otel"
|
|
83
|
-
];
|
|
84
|
-
return SUPPORTED_LAYERS.includes(layer);
|
|
85
|
-
}
|
|
86
|
-
function resolveRustTraceOptions(value) {
|
|
87
|
-
if (value.includes("=")) {
|
|
88
|
-
const parsed = new node_url__WEBPACK_IMPORTED_MODULE_3__.URLSearchParams(value);
|
|
89
|
-
const filter = parsed.get("filter") || defaultRustTraceFilter;
|
|
90
|
-
const layer = parsed.get("layer") || defaultRustTraceLayer;
|
|
91
|
-
const output = "chrome" === layer ? parsed.get("output") || defaultRustTraceChromeOutput : parsed.get("output") || defaultRustTraceLoggerOutput;
|
|
92
|
-
if (!isSupportedLayer(layer)) throw new Error(`${layer} is not a valid layer, should be chrome or logger`);
|
|
93
|
-
return {
|
|
94
|
-
filter,
|
|
95
|
-
layer,
|
|
96
|
-
output
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
return {
|
|
100
|
-
filter: value || defaultRustTraceFilter,
|
|
101
|
-
layer: defaultRustTraceLayer,
|
|
102
|
-
output: defaultRustTraceChromeOutput
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
function resolveLoggingOptions(value) {
|
|
106
|
-
if (value.includes("=")) {
|
|
107
|
-
const parsed = new node_url__WEBPACK_IMPORTED_MODULE_3__.URLSearchParams(value);
|
|
108
|
-
return {
|
|
109
|
-
output: parsed.get("output") || defaultLoggingOutput
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
return {
|
|
113
|
-
output: value || defaultLoggingOutput
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
class RspackProfileJSCPUProfilePlugin {
|
|
117
|
-
apply(compiler) {
|
|
118
|
-
const session = new (node_inspector__WEBPACK_IMPORTED_MODULE_1___default()).Session();
|
|
119
|
-
session.connect();
|
|
120
|
-
session.post("Profiler.enable");
|
|
121
|
-
session.post("Profiler.start");
|
|
122
|
-
compiler.hooks.done.tapAsync(RspackProfileJSCPUProfilePlugin.name, (_stats, callback)=>{
|
|
123
|
-
if (compiler.watchMode) return callback();
|
|
124
|
-
session.post("Profiler.stop", (error, param)=>{
|
|
125
|
-
if (error) {
|
|
126
|
-
console.error("Failed to generate JS CPU profile:", error);
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
node_fs__WEBPACK_IMPORTED_MODULE_0___default().writeFileSync(this.output, JSON.stringify(param.profile));
|
|
130
|
-
});
|
|
131
|
-
return callback();
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
constructor(output){
|
|
135
|
-
_define_property(this, "output", void 0);
|
|
136
|
-
this.output = output;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
class RspackProfileLoggingPlugin {
|
|
140
|
-
apply(compiler) {
|
|
141
|
-
compiler.hooks.done.tapAsync(RspackProfileLoggingPlugin.name, (stats, callback)=>{
|
|
142
|
-
if (compiler.watchMode) return callback();
|
|
143
|
-
const logging = stats.toJson({
|
|
144
|
-
all: false,
|
|
145
|
-
logging: "verbose",
|
|
146
|
-
loggingTrace: true
|
|
147
|
-
});
|
|
148
|
-
node_fs__WEBPACK_IMPORTED_MODULE_0___default().writeFileSync(this.output, JSON.stringify(logging));
|
|
149
|
-
return callback();
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
constructor(output){
|
|
153
|
-
_define_property(this, "output", void 0);
|
|
154
|
-
this.output = output;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
async function applyProfile(profileValue, item) {
|
|
158
|
-
const { asyncExitHook } = await Promise.resolve().then(__webpack_require__.bind(__webpack_require__, "exit-hook"));
|
|
159
|
-
const entries = Object.entries(resolveProfile(profileValue));
|
|
160
|
-
if (entries.length <= 0) return;
|
|
161
|
-
await node_fs__WEBPACK_IMPORTED_MODULE_0___default().promises.mkdir(defaultOutputDirname);
|
|
162
|
-
for (const [kind, value] of entries){
|
|
163
|
-
await ensureFileDir(value.output);
|
|
164
|
-
if ("TRACE" === kind && "filter" in value) {
|
|
165
|
-
await _rspack_core__WEBPACK_IMPORTED_MODULE_4__.rspack.experiments.globalTrace.register(value.filter, value.layer, value.output);
|
|
166
|
-
asyncExitHook(_rspack_core__WEBPACK_IMPORTED_MODULE_4__.rspack.experiments.globalTrace.cleanup, {
|
|
167
|
-
wait: 500
|
|
168
|
-
});
|
|
169
|
-
} else if ("JSCPU" === kind) (item.plugins ??= []).push(new RspackProfileJSCPUProfilePlugin(value.output));
|
|
170
|
-
else if ("LOGGING" === kind) (item.plugins ??= []).push(new RspackProfileLoggingPlugin(value.output));
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
async function ensureFileDir(outputFilePath) {
|
|
174
|
-
const dir = node_path__WEBPACK_IMPORTED_MODULE_2___default().dirname(outputFilePath);
|
|
175
|
-
await node_fs__WEBPACK_IMPORTED_MODULE_0___default().promises.mkdir(dir, {
|
|
176
|
-
recursive: true
|
|
177
|
-
});
|
|
178
|
-
return dir;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
};
|
package/dist/977.mjs
DELETED
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
export const __webpack_ids__ = [
|
|
2
|
-
'977'
|
|
3
|
-
];
|
|
4
|
-
export const __webpack_modules__ = {
|
|
5
|
-
"./src/utils/profile.ts": function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
6
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
7
|
-
applyProfile: ()=>applyProfile
|
|
8
|
-
});
|
|
9
|
-
var node_fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("node:fs");
|
|
10
|
-
var node_inspector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("node:inspector");
|
|
11
|
-
var node_path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("node:path");
|
|
12
|
-
var node_url__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("node:url");
|
|
13
|
-
var _rspack_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("@rspack/core");
|
|
14
|
-
function _define_property(obj, key, value) {
|
|
15
|
-
if (key in obj) Object.defineProperty(obj, key, {
|
|
16
|
-
value: value,
|
|
17
|
-
enumerable: true,
|
|
18
|
-
configurable: true,
|
|
19
|
-
writable: true
|
|
20
|
-
});
|
|
21
|
-
else obj[key] = value;
|
|
22
|
-
return obj;
|
|
23
|
-
}
|
|
24
|
-
const timestamp = Date.now();
|
|
25
|
-
const defaultOutputDirname = node_path__WEBPACK_IMPORTED_MODULE_2__["default"].resolve(`.rspack-profile-${timestamp}-${process.pid}`);
|
|
26
|
-
const defaultJSCPUProfileOutput = node_path__WEBPACK_IMPORTED_MODULE_2__["default"].join(defaultOutputDirname, "./jscpuprofile.json");
|
|
27
|
-
const defaultRustTraceChromeOutput = node_path__WEBPACK_IMPORTED_MODULE_2__["default"].join(defaultOutputDirname, "./trace.json");
|
|
28
|
-
const defaultRustTraceLoggerOutput = "stdout";
|
|
29
|
-
const defaultRustTraceFilter = "info";
|
|
30
|
-
const defaultRustTraceLayer = "chrome";
|
|
31
|
-
const defaultLoggingOutput = node_path__WEBPACK_IMPORTED_MODULE_2__["default"].join(defaultOutputDirname, "./logging.json");
|
|
32
|
-
function resolveProfile(value) {
|
|
33
|
-
if ("ALL" === value.toUpperCase()) return {
|
|
34
|
-
TRACE: {
|
|
35
|
-
filter: defaultRustTraceFilter,
|
|
36
|
-
layer: defaultRustTraceLayer,
|
|
37
|
-
output: defaultRustTraceChromeOutput
|
|
38
|
-
},
|
|
39
|
-
JSCPU: {
|
|
40
|
-
output: defaultJSCPUProfileOutput
|
|
41
|
-
},
|
|
42
|
-
LOGGING: {
|
|
43
|
-
output: defaultLoggingOutput
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
if (value.startsWith("[") && value.endsWith("]")) return {
|
|
47
|
-
TRACE: resolveRustTraceOptions(value.slice(1, value.length - 1)),
|
|
48
|
-
JSCPU: {
|
|
49
|
-
output: defaultJSCPUProfileOutput
|
|
50
|
-
},
|
|
51
|
-
LOGGING: {
|
|
52
|
-
output: defaultLoggingOutput
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
return value.split("|").reduce((acc, cur)=>{
|
|
56
|
-
const upperCur = cur.toUpperCase();
|
|
57
|
-
if (upperCur.startsWith("TRACE")) acc.TRACE = resolveRustTraceOptions(cur.slice(6));
|
|
58
|
-
else if (upperCur.startsWith("JSCPU")) acc.JSCPU = resolveJSCPUProfileOptions(cur.slice(6));
|
|
59
|
-
else if (upperCur.startsWith("LOGGING")) acc.LOGGING = resolveLoggingOptions(cur.slice(8));
|
|
60
|
-
return acc;
|
|
61
|
-
}, {});
|
|
62
|
-
}
|
|
63
|
-
function resolveJSCPUProfileOptions(value) {
|
|
64
|
-
if (value.includes("=")) {
|
|
65
|
-
const parsed = new node_url__WEBPACK_IMPORTED_MODULE_3__.URLSearchParams(value);
|
|
66
|
-
return {
|
|
67
|
-
output: parsed.get("output") || defaultJSCPUProfileOutput
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
return {
|
|
71
|
-
output: value || defaultJSCPUProfileOutput
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
function isSupportedLayer(layer) {
|
|
75
|
-
const SUPPORTED_LAYERS = [
|
|
76
|
-
"chrome",
|
|
77
|
-
"logger",
|
|
78
|
-
"otel"
|
|
79
|
-
];
|
|
80
|
-
return SUPPORTED_LAYERS.includes(layer);
|
|
81
|
-
}
|
|
82
|
-
function resolveRustTraceOptions(value) {
|
|
83
|
-
if (value.includes("=")) {
|
|
84
|
-
const parsed = new node_url__WEBPACK_IMPORTED_MODULE_3__.URLSearchParams(value);
|
|
85
|
-
const filter = parsed.get("filter") || defaultRustTraceFilter;
|
|
86
|
-
const layer = parsed.get("layer") || defaultRustTraceLayer;
|
|
87
|
-
const output = "chrome" === layer ? parsed.get("output") || defaultRustTraceChromeOutput : parsed.get("output") || defaultRustTraceLoggerOutput;
|
|
88
|
-
if (!isSupportedLayer(layer)) throw new Error(`${layer} is not a valid layer, should be chrome or logger`);
|
|
89
|
-
return {
|
|
90
|
-
filter,
|
|
91
|
-
layer,
|
|
92
|
-
output
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
return {
|
|
96
|
-
filter: value || defaultRustTraceFilter,
|
|
97
|
-
layer: defaultRustTraceLayer,
|
|
98
|
-
output: defaultRustTraceChromeOutput
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
function resolveLoggingOptions(value) {
|
|
102
|
-
if (value.includes("=")) {
|
|
103
|
-
const parsed = new node_url__WEBPACK_IMPORTED_MODULE_3__.URLSearchParams(value);
|
|
104
|
-
return {
|
|
105
|
-
output: parsed.get("output") || defaultLoggingOutput
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
return {
|
|
109
|
-
output: value || defaultLoggingOutput
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
class RspackProfileJSCPUProfilePlugin {
|
|
113
|
-
apply(compiler) {
|
|
114
|
-
const session = new node_inspector__WEBPACK_IMPORTED_MODULE_1__["default"].Session();
|
|
115
|
-
session.connect();
|
|
116
|
-
session.post("Profiler.enable");
|
|
117
|
-
session.post("Profiler.start");
|
|
118
|
-
compiler.hooks.done.tapAsync(RspackProfileJSCPUProfilePlugin.name, (_stats, callback)=>{
|
|
119
|
-
if (compiler.watchMode) return callback();
|
|
120
|
-
session.post("Profiler.stop", (error, param)=>{
|
|
121
|
-
if (error) {
|
|
122
|
-
console.error("Failed to generate JS CPU profile:", error);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
node_fs__WEBPACK_IMPORTED_MODULE_0__["default"].writeFileSync(this.output, JSON.stringify(param.profile));
|
|
126
|
-
});
|
|
127
|
-
return callback();
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
constructor(output){
|
|
131
|
-
_define_property(this, "output", void 0);
|
|
132
|
-
this.output = output;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
class RspackProfileLoggingPlugin {
|
|
136
|
-
apply(compiler) {
|
|
137
|
-
compiler.hooks.done.tapAsync(RspackProfileLoggingPlugin.name, (stats, callback)=>{
|
|
138
|
-
if (compiler.watchMode) return callback();
|
|
139
|
-
const logging = stats.toJson({
|
|
140
|
-
all: false,
|
|
141
|
-
logging: "verbose",
|
|
142
|
-
loggingTrace: true
|
|
143
|
-
});
|
|
144
|
-
node_fs__WEBPACK_IMPORTED_MODULE_0__["default"].writeFileSync(this.output, JSON.stringify(logging));
|
|
145
|
-
return callback();
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
constructor(output){
|
|
149
|
-
_define_property(this, "output", void 0);
|
|
150
|
-
this.output = output;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
async function applyProfile(profileValue, item) {
|
|
154
|
-
const { asyncExitHook } = await import("exit-hook");
|
|
155
|
-
const entries = Object.entries(resolveProfile(profileValue));
|
|
156
|
-
if (entries.length <= 0) return;
|
|
157
|
-
await node_fs__WEBPACK_IMPORTED_MODULE_0__["default"].promises.mkdir(defaultOutputDirname);
|
|
158
|
-
for (const [kind, value] of entries){
|
|
159
|
-
await ensureFileDir(value.output);
|
|
160
|
-
if ("TRACE" === kind && "filter" in value) {
|
|
161
|
-
await _rspack_core__WEBPACK_IMPORTED_MODULE_4__.rspack.experiments.globalTrace.register(value.filter, value.layer, value.output);
|
|
162
|
-
asyncExitHook(_rspack_core__WEBPACK_IMPORTED_MODULE_4__.rspack.experiments.globalTrace.cleanup, {
|
|
163
|
-
wait: 500
|
|
164
|
-
});
|
|
165
|
-
} else if ("JSCPU" === kind) (item.plugins ??= []).push(new RspackProfileJSCPUProfilePlugin(value.output));
|
|
166
|
-
else if ("LOGGING" === kind) (item.plugins ??= []).push(new RspackProfileLoggingPlugin(value.output));
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
async function ensureFileDir(outputFilePath) {
|
|
170
|
-
const dir = node_path__WEBPACK_IMPORTED_MODULE_2__["default"].dirname(outputFilePath);
|
|
171
|
-
await node_fs__WEBPACK_IMPORTED_MODULE_0__["default"].promises.mkdir(dir, {
|
|
172
|
-
recursive: true
|
|
173
|
-
});
|
|
174
|
-
return dir;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
};
|