@rsdoctor/core 1.5.3 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/build-utils/build/chunks/assetsModules.js +1 -2
  2. package/dist/build-utils/build/chunks/chunkTransform.js +1 -2
  3. package/dist/build-utils/build/chunks/index.js +1 -2
  4. package/dist/build-utils/build/chunks/rspack/transform.js +1 -2
  5. package/dist/build-utils/build/index.js +1 -2
  6. package/dist/build-utils/build/loader/index.js +1 -2
  7. package/dist/build-utils/build/loader/probeLoader.js +3 -3
  8. package/dist/build-utils/build/loader/probeLoaderPlugin.js +1 -2
  9. package/dist/build-utils/build/module-graph/index.js +1 -2
  10. package/dist/build-utils/build/module-graph/parser.js +1 -2
  11. package/dist/build-utils/build/module-graph/rspack/transform.cjs +10 -0
  12. package/dist/build-utils/build/module-graph/rspack/transform.js +11 -2
  13. package/dist/build-utils/build/module-graph/transform.js +1 -2
  14. package/dist/build-utils/build/module-graph/treeShaking.js +1 -2
  15. package/dist/build-utils/build/module-graph/utils.js +1 -2
  16. package/dist/build-utils/build/module-graph/webpack/transform.js +1 -2
  17. package/dist/build-utils/build/utils/index.js +1 -2
  18. package/dist/build-utils/build/utils/loader.js +7 -16
  19. package/dist/build-utils/build/utils/parseBundle.js +1 -2
  20. package/dist/build-utils/build/utils/plugin.js +1 -2
  21. package/dist/build-utils/index.js +1 -2
  22. package/dist/index.js +1 -2
  23. package/dist/inner-plugins/constants.js +1 -2
  24. package/dist/inner-plugins/index.js +1 -2
  25. package/dist/inner-plugins/loaders/proxy.js +3 -3
  26. package/dist/inner-plugins/plugins/base.js +1 -2
  27. package/dist/inner-plugins/plugins/bundle.js +1 -2
  28. package/dist/inner-plugins/plugins/bundleTagPlugin.js +1 -2
  29. package/dist/inner-plugins/plugins/ensureModulesChunkGraph.js +1 -2
  30. package/dist/inner-plugins/plugins/errors.js +1 -2
  31. package/dist/inner-plugins/plugins/index.js +1 -2
  32. package/dist/inner-plugins/plugins/loader.js +2 -2
  33. package/dist/inner-plugins/plugins/plugins.js +1 -2
  34. package/dist/inner-plugins/plugins/progress.js +1 -2
  35. package/dist/inner-plugins/plugins/resolver.js +1 -2
  36. package/dist/inner-plugins/plugins/rspack.js +1 -2
  37. package/dist/inner-plugins/plugins/rules.js +1 -2
  38. package/dist/inner-plugins/plugins/sourcemapTool.js +1 -2
  39. package/dist/inner-plugins/plugins/summary.js +1 -2
  40. package/dist/inner-plugins/utils/circleDetect.js +1 -2
  41. package/dist/inner-plugins/utils/config.js +1 -2
  42. package/dist/inner-plugins/utils/index.js +1 -2
  43. package/dist/inner-plugins/utils/loader.js +1 -2
  44. package/dist/inner-plugins/utils/normalize-config.js +1 -2
  45. package/dist/inner-plugins/utils/plugin-common.js +1 -2
  46. package/dist/inner-plugins/utils/plugin.js +1 -2
  47. package/dist/inner-plugins/utils/sdk.js +1 -2
  48. package/dist/rslib-runtime.js +19 -0
  49. package/dist/rules/index.js +2 -4
  50. package/dist/rules/linter.js +2 -3
  51. package/dist/rules/rule.js +2 -3
  52. package/dist/rules/rules/cjs-require/index.cjs +82 -0
  53. package/dist/rules/rules/cjs-require/index.d.ts +4 -0
  54. package/dist/rules/rules/cjs-require/index.js +49 -0
  55. package/dist/rules/rules/cjs-require/types.cjs +18 -0
  56. package/dist/rules/rules/cjs-require/types.d.ts +4 -0
  57. package/dist/rules/rules/cjs-require/types.js +1 -0
  58. package/dist/rules/rules/cross-chunks-package/index.js +2 -3
  59. package/dist/rules/rules/cross-chunks-package/types.js +1 -2
  60. package/dist/rules/rules/cross-chunks-package/utils.js +1 -2
  61. package/dist/rules/rules/default-import-check/index.js +2 -3
  62. package/dist/rules/rules/default-import-check/types.js +1 -2
  63. package/dist/rules/rules/default-import-check/utils.js +1 -2
  64. package/dist/rules/rules/duplicate-package/index.js +2 -3
  65. package/dist/rules/rules/duplicate-package/types.js +1 -2
  66. package/dist/rules/rules/duplicate-package/utils.js +1 -2
  67. package/dist/rules/rules/ecma-version-check/index.js +2 -3
  68. package/dist/rules/rules/ecma-version-check/types.js +1 -2
  69. package/dist/rules/rules/ecma-version-check/utils.js +1 -2
  70. package/dist/rules/rules/index.cjs +5 -1
  71. package/dist/rules/rules/index.d.ts +1 -1
  72. package/dist/rules/rules/index.js +6 -3
  73. package/dist/rules/rules/loader-performance-optimization/index.js +2 -3
  74. package/dist/rules/rules/loader-performance-optimization/types.js +1 -2
  75. package/dist/rules/rules/loader-performance-optimization/utils.js +1 -2
  76. package/dist/rules/rules/module-mixed-chunks/index.js +2 -3
  77. package/dist/rules/rules/module-mixed-chunks/types.js +1 -2
  78. package/dist/rules/rules/side-effects-only-imports/index.cjs +114 -0
  79. package/dist/rules/rules/side-effects-only-imports/index.d.ts +4 -0
  80. package/dist/rules/rules/side-effects-only-imports/index.js +81 -0
  81. package/dist/rules/rules/side-effects-only-imports/types.cjs +18 -0
  82. package/dist/rules/rules/side-effects-only-imports/types.d.ts +9 -0
  83. package/dist/rules/rules/side-effects-only-imports/types.js +1 -0
  84. package/dist/rules/utils.js +1 -2
  85. package/dist/types/chunks.js +1 -2
  86. package/dist/types/index.js +1 -2
  87. package/dist/types/loader.js +1 -2
  88. package/dist/types/plugin.js +1 -2
  89. package/dist/types/rules.js +1 -2
  90. package/package.json +12 -12
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Chunks } from "@rsdoctor/graph";
4
3
  import { parseBundle } from "../utils/index.js";
5
4
  async function getAssetsModulesData(moduleGraph, chunkGraph, bundleDir, sourceMapSets, hasParseBundle = true, assetsWithoutSourceMap) {
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Chunks } from "@rsdoctor/graph";
4
3
  function chunkTransform(assetMap, bundleStats) {
5
4
  return Chunks.chunkTransform(assetMap, bundleStats);
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  export * from "./assetsModules.js";
4
3
  export * from "./chunkTransform.js";
5
4
  export * from "./rspack/transform.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Asset, Chunk, EntryPoint } from "@rsdoctor/graph";
4
3
  function patchNativeChunkGraph(cg, rawChunkGraph) {
5
4
  const { chunks: rawChunks, entrypoints: rawEntrypoints } = rawChunkGraph;
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import * as __rspack_external__chunks_index_js_0dff7c47 from "./chunks/index.js";
4
3
  import * as __rspack_external__utils_index_js_1ffdce1c from "./utils/index.js";
5
4
  import * as __rspack_external__loader_index_js_7618f2f0 from "./loader/index.js";
@@ -1,4 +1,3 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  export * from "./probeLoaderPlugin.js";
4
3
  export * from "./probeLoader.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Build } from "../../index.js";
4
3
  import { getSDK } from "../../../inner-plugins/index.js";
5
4
  import { omit } from "es-toolkit/compat";
@@ -41,4 +40,5 @@ const loaderModule = function(...args) {
41
40
  this.callback(null, ...args);
42
41
  };
43
42
  const probeLoader = loaderModule;
44
- export { probeLoader as default, loaderModule };
43
+ export default probeLoader;
44
+ export { loaderModule };
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Loader } from "@rsdoctor/utils/common";
4
3
  import { Build } from "../../index.js";
5
4
  import { Utils } from "../index.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  export * from "./webpack/transform.js";
4
3
  export * from "./transform.js";
5
4
  export * from "./treeShaking.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { parser } from "@rsdoctor/utils/ruleUtils";
4
3
  const esmLabelStatement = parser.internal.parseExpressionAt('Object.defineProperty(exports, "__esModule", { value: true })', 0, {
5
4
  ecmaVersion: 6,
@@ -69,6 +69,7 @@ function patchNativeModuleGraph(mg, cg, rawModuleGraph) {
69
69
  const deppendencies = rawDependencies.map((dep)=>{
70
70
  const res = new graph_namespaceObject.Dependency(dep.request, mg.getModuleById(dep.module), mg.getModuleById(dep.dependency), createDependencyKind(dep.kind));
71
71
  res.setId(dep.ukey);
72
+ if (void 0 !== dep.kind) res.typeString = dep.kind;
72
73
  return res;
73
74
  });
74
75
  mg.setDependencies(deppendencies);
@@ -85,6 +86,8 @@ function patchNativeModuleGraph(mg, cg, rawModuleGraph) {
85
86
  });
86
87
  });
87
88
  }
89
+ const rawConnectionsOnlyImports = rawModuleGraph.connectionsOnlyImports;
90
+ if (rawConnectionsOnlyImports?.length) mg.setConnectionsOnlyImports(rawConnectionsOnlyImports);
88
91
  }
89
92
  function patchNativeModuleIds(mg, rawModuleIdsPatch) {
90
93
  const { moduleIds: rawModuleIds } = rawModuleIdsPatch;
@@ -106,6 +109,13 @@ function patchNativeModuleSources(mg, rawModuleSourcesPatch) {
106
109
  });
107
110
  }
108
111
  }
112
+ const jsonModuleSizes = rawModuleSourcesPatch.jsonModuleSizes;
113
+ if (jsonModuleSizes && jsonModuleSizes.length > 0) for (const jsonModuleSize of jsonModuleSizes){
114
+ const module = mg.getModuleByWebpackId(jsonModuleSize.identifier);
115
+ if (module) module.setSize({
116
+ parsedSize: jsonModuleSize.size
117
+ });
118
+ }
109
119
  }
110
120
  function extractSideEffectCodes(mg) {
111
121
  const modules = mg.getModules();
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Dependency, Module, extractCodeFromLocation, parseLocation } from "@rsdoctor/graph";
4
3
  import { SDK } from "@rsdoctor/types";
5
4
  const createDependencyKind = (type)=>{
@@ -40,6 +39,7 @@ function patchNativeModuleGraph(mg, cg, rawModuleGraph) {
40
39
  const deppendencies = rawDependencies.map((dep)=>{
41
40
  const res = new Dependency(dep.request, mg.getModuleById(dep.module), mg.getModuleById(dep.dependency), createDependencyKind(dep.kind));
42
41
  res.setId(dep.ukey);
42
+ if (void 0 !== dep.kind) res.typeString = dep.kind;
43
43
  return res;
44
44
  });
45
45
  mg.setDependencies(deppendencies);
@@ -56,6 +56,8 @@ function patchNativeModuleGraph(mg, cg, rawModuleGraph) {
56
56
  });
57
57
  });
58
58
  }
59
+ const rawConnectionsOnlyImports = rawModuleGraph.connectionsOnlyImports;
60
+ if (rawConnectionsOnlyImports?.length) mg.setConnectionsOnlyImports(rawConnectionsOnlyImports);
59
61
  }
60
62
  function patchNativeModuleIds(mg, rawModuleIdsPatch) {
61
63
  const { moduleIds: rawModuleIds } = rawModuleIdsPatch;
@@ -77,6 +79,13 @@ function patchNativeModuleSources(mg, rawModuleSourcesPatch) {
77
79
  });
78
80
  }
79
81
  }
82
+ const jsonModuleSizes = rawModuleSourcesPatch.jsonModuleSizes;
83
+ if (jsonModuleSizes && jsonModuleSizes.length > 0) for (const jsonModuleSize of jsonModuleSizes){
84
+ const module = mg.getModuleByWebpackId(jsonModuleSize.identifier);
85
+ if (module) module.setSize({
86
+ parsedSize: jsonModuleSize.size
87
+ });
88
+ }
80
89
  }
81
90
  function extractSideEffectCodes(mg) {
82
91
  const modules = mg.getModules();
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { ModuleGraphTrans } from "@rsdoctor/graph";
4
3
  import { appendModuleGraphByCompilation } from "./index.js";
5
4
  function getModuleGraphByStats(compilation, stats, root, chunkGraph, features, context) {
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { ExportInfo, ModuleGraphModule, ModuleGraphTrans, SideEffect, Statement, Variable, Webpack } from "@rsdoctor/graph";
4
3
  import { getDeclarationIdentifier, getExportIdentifierStatement } from "./utils.js";
5
4
  function transformMgm(origin, webpackGraph, graph, cache) {
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { isNumber } from "es-toolkit/compat";
4
3
  import { parser } from "@rsdoctor/utils/ruleUtils";
5
4
  function getDefaultExportIdentifier(node, module, searchId) {
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import node_fs from "node:fs";
4
3
  import { ModuleGraphTrans, Webpack } from "@rsdoctor/graph";
5
4
  import { hasSetEsModuleStatement } from "../parser.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  export * from "./loader.js";
4
3
  export * from "./plugin.js";
5
4
  export * from "./parseBundle.js";
@@ -1,6 +1,7 @@
1
- import __rslib_shim_module__ from 'module';
2
- const require = /*#__PURE__*/ __rslib_shim_module__.createRequire(import.meta.url);
1
+ import __rslib_shim_module__ from "node:module";
2
+ const require = /*#__PURE__*/ __rslib_shim_module__.createRequire(/*#__PURE__*/ (()=>import.meta.url)());
3
3
  import * as __rspack_external_module from "module";
4
+ import { __webpack_require__ } from "../../../rslib-runtime.js";
4
5
  import node_path from "node:path";
5
6
  import { fileURLToPath } from "node:url";
6
7
  import fs_extra from "fs-extra";
@@ -8,21 +9,11 @@ import { omit } from "es-toolkit/compat";
8
9
  import { Loader } from "@rsdoctor/utils/common";
9
10
  import { readPackageJson } from "@rsdoctor/graph";
10
11
  import { logger } from "@rsdoctor/utils/logger";
11
- var __webpack_modules__ = {
12
- module (module) {
12
+ __webpack_require__.add({
13
+ "module?8471" (module) {
13
14
  module.exports = __rspack_external_module;
14
15
  }
15
- };
16
- var __webpack_module_cache__ = {};
17
- function __webpack_require__(moduleId) {
18
- var cachedModule = __webpack_module_cache__[moduleId];
19
- if (void 0 !== cachedModule) return cachedModule.exports;
20
- var module = __webpack_module_cache__[moduleId] = {
21
- exports: {}
22
- };
23
- __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
24
- return module.exports;
25
- }
16
+ });
26
17
  const loader_filename = fileURLToPath(import.meta.url);
27
18
  const loader_dirname = node_path.dirname(loader_filename);
28
19
  const PATH_QUERY_FRAGMENT_REGEXP = /^((?:\0.|[^?#\0])*)(\?(?:\0.|[^#\0])*)?(#.*)?$/;
@@ -36,7 +27,7 @@ function parsePathQueryFragment(str) {
36
27
  }
37
28
  function loadLoaderModule(loaderPath, cwd = process.cwd()) {
38
29
  const cleanLoaderPath = parsePathQueryFragment(loaderPath).path;
39
- const { createRequire } = __webpack_require__("module");
30
+ const { createRequire } = __webpack_require__("module?8471");
40
31
  const requireFn = createRequire(import.meta.url);
41
32
  const mod = requireFn(process.env.DOCTOR_TEST ? node_path.resolve(cwd, cleanLoaderPath) : requireFn.resolve(cleanLoaderPath, {
42
33
  paths: [
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import fs from "fs";
4
3
  import { find, mapValues } from "es-toolkit/compat";
5
4
  import { filesize } from "filesize";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { ModuleGraphTrans } from "@rsdoctor/graph";
4
3
  function shouldInterceptPluginHook(hook) {
5
4
  if (hook && hook._fakeHook) return false;
@@ -1,4 +1,3 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import * as __rspack_external__build_index_js_0bf6183b from "./build/index.js";
4
3
  export { __rspack_external__build_index_js_0bf6183b as Build };
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  export * from "./build-utils/index.js";
4
3
  export * from "./types/index.js";
5
4
  import * as __rspack_external__inner_plugins_index_js_1dbd01aa from "./inner-plugins/index.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  const pluginTapName = 'RsdoctorWebpackPlugin';
4
3
  const pluginTapPostOptions = {
5
4
  name: pluginTapName,
@@ -1,4 +1,3 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  export * from "./plugins/index.js";
4
3
  export * from "./utils/index.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Utils } from "../../build-utils/build/index.js";
4
3
  import { getOriginLoaderModule, reportLoader, shouldSkipLoader } from "../utils/index.js";
5
4
  const loaderModule = function(...args) {
@@ -56,4 +55,5 @@ loaderModule.raw = true;
56
55
  loaderModule.pitch = pitch;
57
56
  const raw = true;
58
57
  const proxy = loaderModule;
59
- export { proxy as default, pitch, raw };
58
+ export default proxy;
59
+ export { pitch, raw };
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { internalPluginTapPostOptions, internalPluginTapPreOptions } from "../constants.js";
4
3
  class InternalBasePlugin {
5
4
  get options() {
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Manifest } from "@rsdoctor/types";
4
3
  import { InternalBasePlugin } from "./base.js";
5
4
  import { Chunks } from "@rsdoctor/graph";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { extname } from "path";
4
3
  import { InternalBasePlugin } from "./base.js";
5
4
  import { chalk, logger, time, timeEnd } from "@rsdoctor/utils/logger";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Manifest } from "@rsdoctor/types";
4
3
  import { Process } from "@rsdoctor/utils/build";
5
4
  import { chalk, logger } from "@rsdoctor/utils/logger";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Rule } from "@rsdoctor/types";
4
3
  import { InternalBasePlugin } from "./base.js";
5
4
  import { DevToolError } from "@rsdoctor/utils/error";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  export * from "./loader.js";
4
3
  export * from "./plugins.js";
5
4
  export * from "./errors.js";
@@ -1,5 +1,5 @@
1
- import __rslib_shim_module__ from 'module';
2
- const require = /*#__PURE__*/ __rslib_shim_module__.createRequire(import.meta.url);
1
+ import __rslib_shim_module__ from "node:module";
2
+ const require = /*#__PURE__*/ __rslib_shim_module__.createRequire(/*#__PURE__*/ (()=>import.meta.url)());
3
3
  import { Manifest } from "@rsdoctor/types";
4
4
  import { Loader } from "@rsdoctor/utils/common";
5
5
  import { isEqual, omit } from "es-toolkit/compat";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Manifest } from "@rsdoctor/types";
4
3
  import { Utils } from "../../build-utils/build/index.js";
5
4
  import { interceptPluginHook } from "../utils/index.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { SDK } from "@rsdoctor/types";
4
3
  import { InternalBasePlugin } from "./base.js";
5
4
  import { logger } from "@rsdoctor/utils/logger";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Manifest } from "@rsdoctor/types";
4
3
  import { Time } from "@rsdoctor/utils/common";
5
4
  import { InternalBasePlugin } from "./base.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { ChunkGraph } from "@rsdoctor/graph";
4
3
  import { Chunks, ModuleGraph } from "../../build-utils/build/index.js";
5
4
  import { internalPluginTapPreOptions } from "../constants.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { InternalBasePlugin } from "./base.js";
4
3
  import { Linter } from "../../rules/index.js";
5
4
  import { DevToolError } from "@rsdoctor/utils/error";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Graph } from "@rsdoctor/utils/common";
4
3
  import { logger, time, timeEnd } from "@rsdoctor/utils/logger";
5
4
  import { dirname, isAbsolute, resolve } from "path";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Summary } from "@rsdoctor/utils/common";
4
3
  import { minBy, sumBy } from "es-toolkit/compat";
5
4
  import { InternalBasePlugin } from "./base.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  const checkCirclePath = (obj, record, res, level, maxLevel = 3)=>{
4
3
  const idx = record.slice(0, record.length - 1).findIndex((v)=>v.ref === obj);
5
4
  if (-1 !== idx) {
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { SDK } from "@rsdoctor/types";
4
3
  import { chalk, logger } from "@rsdoctor/utils/logger";
5
4
  import assert from "assert";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  export * from "./loader.js";
4
3
  export * from "./plugin.js";
5
4
  export * from "./sdk.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import axios from "../../../compiled/axios/index.js";
4
3
  import { ResolverFactory } from "@rspack/resolver";
5
4
  import { omit } from "es-toolkit/compat";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  function processModeConfigurations(finalMode, output, brief) {
4
3
  let finalBrief = {};
5
4
  let finalNormalOptions = {};
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { openBrowser } from "@rsdoctor/sdk";
4
3
  import { makeRulesSerializable } from "@rsdoctor/core/plugins";
5
4
  import { SDK } from "@rsdoctor/types";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { DevToolError } from "@rsdoctor/utils/error";
4
3
  function reportPluginData(sdk, hook, tapName, start, type, _res, err) {
5
4
  const end = Date.now();
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  const globalKey = '__rsdoctor_sdks__';
4
3
  function setSDK(t) {
5
4
  if (!globalThis.__rsdoctor_sdks__) globalThis.__rsdoctor_sdks__ = [];
@@ -0,0 +1,19 @@
1
+ import "node:module";
2
+ var __webpack_modules__ = {};
3
+ var __webpack_module_cache__ = {};
4
+ function __webpack_require__(moduleId) {
5
+ var cachedModule = __webpack_module_cache__[moduleId];
6
+ if (void 0 !== cachedModule) return cachedModule.exports;
7
+ var module = __webpack_module_cache__[moduleId] = {
8
+ exports: {}
9
+ };
10
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
11
+ return module.exports;
12
+ }
13
+ __webpack_require__.m = __webpack_modules__;
14
+ (()=>{
15
+ __webpack_require__.add = function(modules) {
16
+ Object.assign(__webpack_require__.m, modules);
17
+ };
18
+ })();
19
+ export { __webpack_require__ };
@@ -1,6 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
3
- import { rules } from "./rules/index.js";
1
+ import "node:module";
4
2
  export * from "./linter.js";
5
3
  export * from "./rule.js";
6
- export { rules };
4
+ export { rules } from "./rules/index.js";
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Linter } from "@rsdoctor/types";
4
3
  import { Rule } from "./rule.js";
5
4
  import { rules as index_js_rules } from "./rules/index.js";
@@ -33,4 +32,4 @@ class linter_Linter {
33
32
  this.rules = this.getRules(rules ?? {}, extendRules ?? [], toSeverity(level ?? 'Error', Linter.Severity.Error));
34
33
  }
35
34
  }
36
- export { linter_Linter as Linter, Linter as LinterType };
35
+ export { Linter as LinterType, linter_Linter as Linter };
@@ -1,5 +1,4 @@
1
- import 'module';
2
- /*#__PURE__*/ import.meta.url;
1
+ import "node:module";
3
2
  import { Linter, Rule } from "@rsdoctor/types";
4
3
  import { Lodash } from "@rsdoctor/utils/common";
5
4
  import { noop, toSeverity } from "./utils.js";
@@ -99,4 +98,4 @@ class rule_Rule {
99
98
  function defineRule(ruleCreator) {
100
99
  return ruleCreator();
101
100
  }
102
- export { rule_Rule as Rule, defineRule };
101
+ export { defineRule, rule_Rule as Rule };
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ rule: ()=>rule
28
+ });
29
+ const types_namespaceObject = require("@rsdoctor/types");
30
+ const external_rule_cjs_namespaceObject = require("../../rule.cjs");
31
+ const title = 'cjs-require';
32
+ const CJS_REQUIRE_TYPE = 'cjs require';
33
+ function isNodeModulesPath(modulePath) {
34
+ return modulePath.includes('/node_modules/');
35
+ }
36
+ const rule = (0, external_rule_cjs_namespaceObject.defineRule)(()=>({
37
+ meta: {
38
+ code: 'E1008',
39
+ title,
40
+ category: 'bundle',
41
+ severity: types_namespaceObject.Linter.Severity.Warn,
42
+ defaultConfig: {
43
+ ignore: []
44
+ }
45
+ },
46
+ check ({ moduleGraph, report, ruleConfig }) {
47
+ const dependencies = moduleGraph.getDependencies();
48
+ for (const dep of dependencies){
49
+ if (dep.typeString !== CJS_REQUIRE_TYPE) continue;
50
+ const issuerPath = dep.module.path;
51
+ if (isNodeModulesPath(issuerPath)) continue;
52
+ const requiredModule = dep.dependency;
53
+ if (ruleConfig.ignore.some((pattern)=>issuerPath.includes(pattern) || requiredModule.path.includes(pattern))) continue;
54
+ const detail = {
55
+ type: title,
56
+ issuerModule: {
57
+ id: dep.module.id,
58
+ path: dep.module.path,
59
+ webpackId: dep.module.webpackId
60
+ },
61
+ requiredModule: {
62
+ id: requiredModule.id,
63
+ path: requiredModule.path,
64
+ webpackId: requiredModule.webpackId
65
+ },
66
+ request: dep.request
67
+ };
68
+ const message = `"${issuerPath}" uses \`require('${dep.request}')\` (CJS require) which prevents tree-shaking of the entire module "${requiredModule.path}". Consider using \`require('${dep.request}').property\` or ESM \`import\` instead.`;
69
+ report({
70
+ message,
71
+ detail
72
+ });
73
+ }
74
+ }
75
+ }));
76
+ exports.rule = __webpack_exports__.rule;
77
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
78
+ "rule"
79
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
80
+ Object.defineProperty(exports, '__esModule', {
81
+ value: true
82
+ });
@@ -0,0 +1,4 @@
1
+ import { Linter } from '@rsdoctor/types';
2
+ import type { Config } from './types.js';
3
+ export type { Config } from './types.js';
4
+ export declare const rule: Linter.RuleData<Config, "cjs-require">;