@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 CHANGED
@@ -1,6 +1,5 @@
1
1
  <picture>
2
- <source media="(prefers-color-scheme: dark)" srcset="https://assets.rspack.dev/rspack/rspack-banner-plain-dark.png">
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
- if (error || (null == stats ? void 0 : stats.hasErrors())) errorHandler(error, stats);
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 === (_item_output = item.output) || void 0 === _item_output ? void 0 : _item_output.path) ?? external_node_path_default().join(item.context ?? process.cwd(), defaultRoot),
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 === (_item_devServer = item.devServer) || void 0 === _item_devServer ? void 0 : _item_devServer.proxy,
372
- host: options.host ?? (null === (_item_devServer1 = item.devServer) || void 0 === _item_devServer1 ? void 0 : _item_devServer1.host),
373
- open: options.open ?? (null === (_item_devServer2 = item.devServer) || void 0 === _item_devServer2 ? void 0 : _item_devServer2.open),
374
- server: options.server ?? (null === (_item_devServer3 = item.devServer) || void 0 === _item_devServer3 ? void 0 : _item_devServer3.server),
375
- historyApiFallback: null === (_item_devServer4 = item.devServer) || void 0 === _item_devServer4 ? void 0 : _item_devServer4.historyApiFallback
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
- var external_node_url_ = __webpack_require__("node:url");
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, external_node_url_.pathToFileURL)(path).href;
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 === (_options_argv = options.argv) || void 0 === _options_argv ? void 0 : _options_argv.env, options.argv);
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("977").then(__webpack_require__.bind(__webpack_require__, "./src/utils/profile.ts"));
706
- await applyProfile(process.env.RSPACK_PROFILE, item);
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 === (_options_argv = options.argv) || void 0 === _options_argv ? void 0 : _options_argv.env, options.argv);
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
- if (error || (null == stats ? void 0 : stats.hasErrors())) errorHandler(error, stats);
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 === (_item_output = item.output) || void 0 === _item_output ? void 0 : _item_output.path) ?? external_node_path_["default"].join(item.context ?? process.cwd(), defaultRoot),
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 === (_item_devServer = item.devServer) || void 0 === _item_devServer ? void 0 : _item_devServer.proxy,
350
- host: options.host ?? (null === (_item_devServer1 = item.devServer) || void 0 === _item_devServer1 ? void 0 : _item_devServer1.host),
351
- open: options.open ?? (null === (_item_devServer2 = item.devServer) || void 0 === _item_devServer2 ? void 0 : _item_devServer2.open),
352
- server: options.server ?? (null === (_item_devServer3 = item.devServer) || void 0 === _item_devServer3 ? void 0 : _item_devServer3.server),
353
- historyApiFallback: null === (_item_devServer4 = item.devServer) || void 0 === _item_devServer4 ? void 0 : _item_devServer4.historyApiFallback
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, external_node_url_.pathToFileURL)(path).href;
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 === (_options_argv = options.argv) || void 0 === _options_argv ? void 0 : _options_argv.env, options.argv);
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("977").then(__webpack_require__.bind(__webpack_require__, "./src/utils/profile.ts"));
684
- await applyProfile(process.env.RSPACK_PROFILE, item);
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 === (_options_argv = options.argv) || void 0 === _options_argv ? void 0 : _options_argv.env, options.argv);
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) {
@@ -1,2 +1 @@
1
- import { type RspackOptions } from "@rspack/core";
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.5",
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.1",
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.5",
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
- };