@rsdoctor/core 0.0.0-next-20240620044732

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 (219) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +22 -0
  3. package/dist/build-utils/build/chunks/assetsModules.d.ts +4 -0
  4. package/dist/build-utils/build/chunks/assetsModules.d.ts.map +1 -0
  5. package/dist/build-utils/build/chunks/assetsModules.js +36 -0
  6. package/dist/build-utils/build/chunks/chunkTransform.d.ts +5 -0
  7. package/dist/build-utils/build/chunks/chunkTransform.d.ts.map +1 -0
  8. package/dist/build-utils/build/chunks/chunkTransform.js +31 -0
  9. package/dist/build-utils/build/chunks/generateTileGraph.d.ts +11 -0
  10. package/dist/build-utils/build/chunks/generateTileGraph.d.ts.map +1 -0
  11. package/dist/build-utils/build/chunks/generateTileGraph.js +71 -0
  12. package/dist/build-utils/build/chunks/index.d.ts +4 -0
  13. package/dist/build-utils/build/chunks/index.d.ts.map +1 -0
  14. package/dist/build-utils/build/chunks/index.js +26 -0
  15. package/dist/build-utils/build/index.d.ts +5 -0
  16. package/dist/build-utils/build/index.d.ts.map +1 -0
  17. package/dist/build-utils/build/index.js +47 -0
  18. package/dist/build-utils/build/module-graph/index.d.ts +4 -0
  19. package/dist/build-utils/build/module-graph/index.d.ts.map +1 -0
  20. package/dist/build-utils/build/module-graph/index.js +26 -0
  21. package/dist/build-utils/build/module-graph/parser.d.ts +3 -0
  22. package/dist/build-utils/build/module-graph/parser.d.ts.map +1 -0
  23. package/dist/build-utils/build/module-graph/parser.js +44 -0
  24. package/dist/build-utils/build/module-graph/transform.d.ts +5 -0
  25. package/dist/build-utils/build/module-graph/transform.d.ts.map +1 -0
  26. package/dist/build-utils/build/module-graph/transform.js +37 -0
  27. package/dist/build-utils/build/module-graph/treeShaking.d.ts +4 -0
  28. package/dist/build-utils/build/module-graph/treeShaking.d.ts.map +1 -0
  29. package/dist/build-utils/build/module-graph/treeShaking.js +132 -0
  30. package/dist/build-utils/build/module-graph/utils.d.ts +4 -0
  31. package/dist/build-utils/build/module-graph/utils.d.ts.map +1 -0
  32. package/dist/build-utils/build/module-graph/utils.js +113 -0
  33. package/dist/build-utils/build/module-graph/webpack/transform.d.ts +12 -0
  34. package/dist/build-utils/build/module-graph/webpack/transform.d.ts.map +1 -0
  35. package/dist/build-utils/build/module-graph/webpack/transform.js +195 -0
  36. package/dist/build-utils/build/utils/index.d.ts +4 -0
  37. package/dist/build-utils/build/utils/index.d.ts.map +1 -0
  38. package/dist/build-utils/build/utils/index.js +26 -0
  39. package/dist/build-utils/build/utils/loader.d.ts +19 -0
  40. package/dist/build-utils/build/utils/loader.d.ts.map +1 -0
  41. package/dist/build-utils/build/utils/loader.js +299 -0
  42. package/dist/build-utils/build/utils/parseBundle.d.ts +13 -0
  43. package/dist/build-utils/build/utils/parseBundle.d.ts.map +1 -0
  44. package/dist/build-utils/build/utils/parseBundle.js +367 -0
  45. package/dist/build-utils/build/utils/plugin.d.ts +6 -0
  46. package/dist/build-utils/build/utils/plugin.d.ts.map +1 -0
  47. package/dist/build-utils/build/utils/plugin.js +63 -0
  48. package/dist/build-utils/common/chunks/assetsContent.d.ts +5 -0
  49. package/dist/build-utils/common/chunks/assetsContent.d.ts.map +1 -0
  50. package/dist/build-utils/common/chunks/assetsContent.js +34 -0
  51. package/dist/build-utils/common/chunks/assetsModules.d.ts +24 -0
  52. package/dist/build-utils/common/chunks/assetsModules.d.ts.map +1 -0
  53. package/dist/build-utils/common/chunks/assetsModules.js +107 -0
  54. package/dist/build-utils/common/chunks/chunkTransform.d.ts +6 -0
  55. package/dist/build-utils/common/chunks/chunkTransform.d.ts.map +1 -0
  56. package/dist/build-utils/common/chunks/chunkTransform.js +73 -0
  57. package/dist/build-utils/common/chunks/index.d.ts +4 -0
  58. package/dist/build-utils/common/chunks/index.d.ts.map +1 -0
  59. package/dist/build-utils/common/chunks/index.js +26 -0
  60. package/dist/build-utils/common/index.d.ts +6 -0
  61. package/dist/build-utils/common/index.d.ts.map +1 -0
  62. package/dist/build-utils/common/index.js +50 -0
  63. package/dist/build-utils/common/module-graph/compatible.d.ts +10 -0
  64. package/dist/build-utils/common/module-graph/compatible.d.ts.map +1 -0
  65. package/dist/build-utils/common/module-graph/compatible.js +63 -0
  66. package/dist/build-utils/common/module-graph/index.d.ts +4 -0
  67. package/dist/build-utils/common/module-graph/index.d.ts.map +1 -0
  68. package/dist/build-utils/common/module-graph/index.js +26 -0
  69. package/dist/build-utils/common/module-graph/transform.d.ts +8 -0
  70. package/dist/build-utils/common/module-graph/transform.d.ts.map +1 -0
  71. package/dist/build-utils/common/module-graph/transform.js +200 -0
  72. package/dist/build-utils/common/module-graph/utils.d.ts +16 -0
  73. package/dist/build-utils/common/module-graph/utils.d.ts.map +1 -0
  74. package/dist/build-utils/common/module-graph/utils.js +62 -0
  75. package/dist/build-utils/common/trans-utils/index.d.ts +2 -0
  76. package/dist/build-utils/common/trans-utils/index.d.ts.map +1 -0
  77. package/dist/build-utils/common/trans-utils/index.js +22 -0
  78. package/dist/build-utils/common/trans-utils/transStats.d.ts +7 -0
  79. package/dist/build-utils/common/trans-utils/transStats.d.ts.map +1 -0
  80. package/dist/build-utils/common/trans-utils/transStats.js +35 -0
  81. package/dist/build-utils/common/webpack/compatible.d.ts +27 -0
  82. package/dist/build-utils/common/webpack/compatible.d.ts.map +1 -0
  83. package/dist/build-utils/common/webpack/compatible.js +181 -0
  84. package/dist/build-utils/index.d.ts +3 -0
  85. package/dist/build-utils/index.d.ts.map +1 -0
  86. package/dist/build-utils/index.js +41 -0
  87. package/dist/index.d.ts +4 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +43 -0
  90. package/dist/inner-plugins/constants.d.ts +7 -0
  91. package/dist/inner-plugins/constants.d.ts.map +1 -0
  92. package/dist/inner-plugins/constants.js +52 -0
  93. package/dist/inner-plugins/index.d.ts +3 -0
  94. package/dist/inner-plugins/index.d.ts.map +1 -0
  95. package/dist/inner-plugins/index.js +24 -0
  96. package/dist/inner-plugins/loaders/proxy.d.ts +5 -0
  97. package/dist/inner-plugins/loaders/proxy.d.ts.map +1 -0
  98. package/dist/inner-plugins/loaders/proxy.js +115 -0
  99. package/dist/inner-plugins/plugins/base.d.ts +14 -0
  100. package/dist/inner-plugins/plugins/base.d.ts.map +1 -0
  101. package/dist/inner-plugins/plugins/base.js +45 -0
  102. package/dist/inner-plugins/plugins/bundle.d.ts +15 -0
  103. package/dist/inner-plugins/plugins/bundle.d.ts.map +1 -0
  104. package/dist/inner-plugins/plugins/bundle.js +92 -0
  105. package/dist/inner-plugins/plugins/bundleTagPlugin.d.ts +7 -0
  106. package/dist/inner-plugins/plugins/bundleTagPlugin.d.ts.map +1 -0
  107. package/dist/inner-plugins/plugins/bundleTagPlugin.js +81 -0
  108. package/dist/inner-plugins/plugins/ensureModulesChunkGraph.d.ts +10 -0
  109. package/dist/inner-plugins/plugins/ensureModulesChunkGraph.d.ts.map +1 -0
  110. package/dist/inner-plugins/plugins/ensureModulesChunkGraph.js +126 -0
  111. package/dist/inner-plugins/plugins/errors.d.ts +12 -0
  112. package/dist/inner-plugins/plugins/errors.d.ts.map +1 -0
  113. package/dist/inner-plugins/plugins/errors.js +85 -0
  114. package/dist/inner-plugins/plugins/index.d.ts +11 -0
  115. package/dist/inner-plugins/plugins/index.d.ts.map +1 -0
  116. package/dist/inner-plugins/plugins/index.js +40 -0
  117. package/dist/inner-plugins/plugins/loader.d.ts +12 -0
  118. package/dist/inner-plugins/plugins/loader.d.ts.map +1 -0
  119. package/dist/inner-plugins/plugins/loader.js +161 -0
  120. package/dist/inner-plugins/plugins/plugins.d.ts +9 -0
  121. package/dist/inner-plugins/plugins/plugins.d.ts.map +1 -0
  122. package/dist/inner-plugins/plugins/plugins.js +60 -0
  123. package/dist/inner-plugins/plugins/progress.d.ts +9 -0
  124. package/dist/inner-plugins/plugins/progress.d.ts.map +1 -0
  125. package/dist/inner-plugins/plugins/progress.js +59 -0
  126. package/dist/inner-plugins/plugins/rules.d.ts +9 -0
  127. package/dist/inner-plugins/plugins/rules.d.ts.map +1 -0
  128. package/dist/inner-plugins/plugins/rules.js +85 -0
  129. package/dist/inner-plugins/plugins/summary.d.ts +15 -0
  130. package/dist/inner-plugins/plugins/summary.d.ts.map +1 -0
  131. package/dist/inner-plugins/plugins/summary.js +115 -0
  132. package/dist/inner-plugins/utils/circleDetect.d.ts +5 -0
  133. package/dist/inner-plugins/utils/circleDetect.d.ts.map +1 -0
  134. package/dist/inner-plugins/utils/circleDetect.js +42 -0
  135. package/dist/inner-plugins/utils/config.d.ts +8 -0
  136. package/dist/inner-plugins/utils/config.d.ts.map +1 -0
  137. package/dist/inner-plugins/utils/config.js +151 -0
  138. package/dist/inner-plugins/utils/index.d.ts +6 -0
  139. package/dist/inner-plugins/utils/index.d.ts.map +1 -0
  140. package/dist/inner-plugins/utils/index.js +30 -0
  141. package/dist/inner-plugins/utils/loader.d.ts +12 -0
  142. package/dist/inner-plugins/utils/loader.d.ts.map +1 -0
  143. package/dist/inner-plugins/utils/loader.js +201 -0
  144. package/dist/inner-plugins/utils/plugin.d.ts +6 -0
  145. package/dist/inner-plugins/utils/plugin.d.ts.map +1 -0
  146. package/dist/inner-plugins/utils/plugin.js +126 -0
  147. package/dist/inner-plugins/utils/sdk.d.ts +4 -0
  148. package/dist/inner-plugins/utils/sdk.d.ts.map +1 -0
  149. package/dist/inner-plugins/utils/sdk.js +43 -0
  150. package/dist/rules/index.d.ts +4 -0
  151. package/dist/rules/index.d.ts.map +1 -0
  152. package/dist/rules/index.js +33 -0
  153. package/dist/rules/linter.d.ts +10 -0
  154. package/dist/rules/linter.d.ts.map +1 -0
  155. package/dist/rules/linter.js +74 -0
  156. package/dist/rules/rule.d.ts +28 -0
  157. package/dist/rules/rule.d.ts.map +1 -0
  158. package/dist/rules/rule.js +143 -0
  159. package/dist/rules/rules/default-import-check/index.d.ts +5 -0
  160. package/dist/rules/rules/default-import-check/index.d.ts.map +1 -0
  161. package/dist/rules/rules/default-import-check/index.js +124 -0
  162. package/dist/rules/rules/default-import-check/types.d.ts +5 -0
  163. package/dist/rules/rules/default-import-check/types.d.ts.map +1 -0
  164. package/dist/rules/rules/default-import-check/types.js +16 -0
  165. package/dist/rules/rules/default-import-check/utils.d.ts +11 -0
  166. package/dist/rules/rules/default-import-check/utils.d.ts.map +1 -0
  167. package/dist/rules/rules/default-import-check/utils.js +93 -0
  168. package/dist/rules/rules/duplicate-package/index.d.ts +5 -0
  169. package/dist/rules/rules/duplicate-package/index.d.ts.map +1 -0
  170. package/dist/rules/rules/duplicate-package/index.js +71 -0
  171. package/dist/rules/rules/duplicate-package/types.d.ts +25 -0
  172. package/dist/rules/rules/duplicate-package/types.d.ts.map +1 -0
  173. package/dist/rules/rules/duplicate-package/types.js +51 -0
  174. package/dist/rules/rules/duplicate-package/utils.d.ts +4 -0
  175. package/dist/rules/rules/duplicate-package/utils.d.ts.map +1 -0
  176. package/dist/rules/rules/duplicate-package/utils.js +89 -0
  177. package/dist/rules/rules/ecma-version-check/index.d.ts +5 -0
  178. package/dist/rules/rules/ecma-version-check/index.d.ts.map +1 -0
  179. package/dist/rules/rules/ecma-version-check/index.js +82 -0
  180. package/dist/rules/rules/ecma-version-check/types.d.ts +8 -0
  181. package/dist/rules/rules/ecma-version-check/types.d.ts.map +1 -0
  182. package/dist/rules/rules/ecma-version-check/types.js +16 -0
  183. package/dist/rules/rules/ecma-version-check/utils.d.ts +3 -0
  184. package/dist/rules/rules/ecma-version-check/utils.d.ts.map +1 -0
  185. package/dist/rules/rules/ecma-version-check/utils.js +31 -0
  186. package/dist/rules/rules/index.d.ts +2 -0
  187. package/dist/rules/rules/index.d.ts.map +1 -0
  188. package/dist/rules/rules/index.js +37 -0
  189. package/dist/rules/rules/loader-performance-optimization/index.d.ts +5 -0
  190. package/dist/rules/rules/loader-performance-optimization/index.d.ts.map +1 -0
  191. package/dist/rules/rules/loader-performance-optimization/index.js +124 -0
  192. package/dist/rules/rules/loader-performance-optimization/types.d.ts +23 -0
  193. package/dist/rules/rules/loader-performance-optimization/types.d.ts.map +1 -0
  194. package/dist/rules/rules/loader-performance-optimization/types.js +16 -0
  195. package/dist/rules/rules/loader-performance-optimization/utils.d.ts +2 -0
  196. package/dist/rules/rules/loader-performance-optimization/utils.d.ts.map +1 -0
  197. package/dist/rules/rules/loader-performance-optimization/utils.js +38 -0
  198. package/dist/rules/utils.d.ts +4 -0
  199. package/dist/rules/utils.d.ts.map +1 -0
  200. package/dist/rules/utils.js +44 -0
  201. package/dist/types/chunks.d.ts +12 -0
  202. package/dist/types/chunks.d.ts.map +1 -0
  203. package/dist/types/chunks.js +16 -0
  204. package/dist/types/index.d.ts +6 -0
  205. package/dist/types/index.d.ts.map +1 -0
  206. package/dist/types/index.js +30 -0
  207. package/dist/types/loader.d.ts +20 -0
  208. package/dist/types/loader.d.ts.map +1 -0
  209. package/dist/types/loader.js +16 -0
  210. package/dist/types/plugin.d.ts +96 -0
  211. package/dist/types/plugin.d.ts.map +1 -0
  212. package/dist/types/plugin.js +16 -0
  213. package/dist/types/rules.d.ts +8 -0
  214. package/dist/types/rules.d.ts.map +1 -0
  215. package/dist/types/rules.js +16 -0
  216. package/dist/types/webpack.d.ts +15 -0
  217. package/dist/types/webpack.d.ts.map +1 -0
  218. package/dist/types/webpack.js +16 -0
  219. package/package.json +112 -0
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var utils_exports = {};
20
+ __export(utils_exports, {
21
+ getDeclarationIdentifier: () => getDeclarationIdentifier,
22
+ getExportIdentifierStatement: () => getExportIdentifierStatement
23
+ });
24
+ module.exports = __toCommonJS(utils_exports);
25
+ var import_lodash = require("lodash");
26
+ var import_ruleUtils = require("@rsdoctor/utils/ruleUtils");
27
+ function getDefaultExportIdentifier(node, module2, searchId) {
28
+ const { declaration } = node;
29
+ if (import_ruleUtils.parser.asserts.isLiteral(declaration) && declaration.loc) {
30
+ return module2.getStatement(declaration.loc);
31
+ }
32
+ if (import_ruleUtils.parser.asserts.isIdentifier(declaration)) {
33
+ if (searchId) {
34
+ const result = getDeclarationIdentifier(declaration.name, module2);
35
+ if (result) {
36
+ return result;
37
+ }
38
+ } else if (declaration.loc) {
39
+ return module2.getStatement(declaration.loc);
40
+ }
41
+ }
42
+ if (import_ruleUtils.parser.asserts.isClassDeclaration(declaration) || import_ruleUtils.parser.asserts.isFunctionDeclaration(declaration)) {
43
+ if (declaration.id?.loc) {
44
+ return module2.getStatement(declaration.id.loc);
45
+ }
46
+ }
47
+ const startLine = node.declaration.loc?.start.line;
48
+ if (!(0, import_lodash.isNumber)(startLine)) {
49
+ return;
50
+ }
51
+ const { transformed } = module2.getSource();
52
+ const endColumn = transformed.split("\n")[startLine - 1].length - 1;
53
+ return module2.getStatement({
54
+ start: {
55
+ line: startLine,
56
+ column: 0
57
+ },
58
+ end: {
59
+ line: startLine,
60
+ column: endColumn
61
+ }
62
+ });
63
+ }
64
+ function getExportIdentifierStatement(name, module2) {
65
+ const ast = module2.getProgram();
66
+ if (!ast) {
67
+ return;
68
+ }
69
+ for (const node of ast.body) {
70
+ if (import_ruleUtils.parser.asserts.isExportDefaultDeclaration(node)) {
71
+ const result = getDefaultExportIdentifier(node, module2, false);
72
+ if (result) {
73
+ return result;
74
+ }
75
+ }
76
+ const id = import_ruleUtils.parser.utils.getIdentifierInExport(name, node);
77
+ if (id?.loc) {
78
+ return module2.getStatement(id.loc);
79
+ }
80
+ }
81
+ }
82
+ function getDeclarationIdentifier(name, module2) {
83
+ const ast = module2.getProgram();
84
+ if (!ast) {
85
+ return;
86
+ }
87
+ for (const node of ast.body) {
88
+ const id = import_ruleUtils.parser.utils.getIdentifierInDeclaration(name, node);
89
+ if (id?.loc) {
90
+ return module2.getStatement(id.loc);
91
+ }
92
+ if (import_ruleUtils.parser.asserts.isExportNamedDeclaration(node) && node.declaration) {
93
+ const id2 = import_ruleUtils.parser.utils.getIdentifierInDeclaration(
94
+ name,
95
+ node.declaration
96
+ );
97
+ if (id2?.loc) {
98
+ return module2.getStatement(id2.loc);
99
+ }
100
+ }
101
+ if (name === "default" && import_ruleUtils.parser.asserts.isExportDefaultDeclaration(node)) {
102
+ const result = getDefaultExportIdentifier(node, module2, true);
103
+ if (result) {
104
+ return result;
105
+ }
106
+ }
107
+ }
108
+ }
109
+ // Annotate the CommonJS export names for ESM import in node:
110
+ 0 && (module.exports = {
111
+ getDeclarationIdentifier,
112
+ getExportIdentifierStatement
113
+ });
@@ -0,0 +1,12 @@
1
+ import type { SourceMapConsumer } from 'source-map';
2
+ import * as Webpack from 'webpack';
3
+ import { Node } from '@rsdoctor/utils/ruleUtils';
4
+ import { Plugin } from '@rsdoctor/types';
5
+ import { ModuleGraph } from '@rsdoctor/graph';
6
+ export interface TransformContext {
7
+ astCache?: Map<Webpack.NormalModule, Node.Program>;
8
+ packagePathMap?: Map<string, string>;
9
+ getSourceMap?(module: string): Promise<SourceMapConsumer | undefined>;
10
+ }
11
+ export declare function appendModuleGraphByCompilation(compilation: Plugin.BaseCompilation, graph: ModuleGraph, features?: Plugin.RsdoctorWebpackPluginFeatures, context?: TransformContext): Promise<ModuleGraph>;
12
+ //# sourceMappingURL=transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../../../src/build-utils/build/module-graph/webpack/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAU,WAAW,EAAe,MAAM,iBAAiB,CAAC;AAmBnE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;CACvE;AAoND,wBAAsB,8BAA8B,CAClD,WAAW,EAAE,MAAM,CAAC,eAAe,EACnC,KAAK,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,6BAA6B,EAC/C,OAAO,CAAC,EAAE,gBAAgB,wBA2B3B"}
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var transform_exports = {};
20
+ __export(transform_exports, {
21
+ appendModuleGraphByCompilation: () => appendModuleGraphByCompilation
22
+ });
23
+ module.exports = __toCommonJS(transform_exports);
24
+ var import_build = require("@rsdoctor/utils/build");
25
+ var import_compatible = require("../../../common/webpack/compatible");
26
+ var import_module_graph = require("../../../common/module-graph");
27
+ var import_parser = require("../parser");
28
+ var import_lodash = require("lodash");
29
+ async function readFile(target, wbFs) {
30
+ if (wbFs?.fs?.readFile) {
31
+ const result = new Promise((resolve, reject) => {
32
+ wbFs.fs.readFile(target, (err, content) => {
33
+ if (err) {
34
+ reject(err);
35
+ return;
36
+ }
37
+ if (content) {
38
+ resolve(Buffer.from(content));
39
+ } else {
40
+ resolve();
41
+ }
42
+ });
43
+ }).catch(() => {
44
+ });
45
+ if (result) {
46
+ return result;
47
+ }
48
+ }
49
+ return import_build.File.fse.readFile(target).catch(() => {
50
+ });
51
+ }
52
+ function appendDependency(webpackDep, module2, webpackGraph, graph) {
53
+ const resolvedWebpackModule = (0, import_compatible.getResolveModule)(
54
+ webpackDep,
55
+ webpackGraph
56
+ );
57
+ if (!resolvedWebpackModule) {
58
+ return;
59
+ }
60
+ const rawRequest = (0, import_compatible.getWebpackDependencyRequest)(
61
+ webpackDep,
62
+ resolvedWebpackModule
63
+ );
64
+ const resolveRequest = (0, import_compatible.getWebpackModulePath)(resolvedWebpackModule);
65
+ const request = rawRequest ?? resolveRequest;
66
+ if (!module2.getDependencyByRequest(request)) {
67
+ const depModule = graph.getModuleByFile(resolveRequest);
68
+ if (depModule) {
69
+ const dep = module2.addDependency(
70
+ request,
71
+ depModule,
72
+ (0, import_module_graph.getImportKind)(webpackDep)
73
+ );
74
+ if (dep) {
75
+ graph.addDependency(dep);
76
+ }
77
+ }
78
+ }
79
+ const dependency = module2.getDependencyByRequest(request);
80
+ if (dependency) {
81
+ dependency.setBuildMeta({
82
+ exportsType: (0, import_compatible.getModuleExportsType)(
83
+ resolvedWebpackModule,
84
+ webpackGraph,
85
+ module2.meta.strictHarmonyModule
86
+ )
87
+ });
88
+ const statement = (0, import_compatible.getDependencyPosition)(webpackDep, module2, false);
89
+ if (statement) {
90
+ dependency.addStatement(statement);
91
+ }
92
+ dependency.statements.forEach((state) => {
93
+ state.position.source = state.module.getSourceRange(
94
+ state.position.transformed
95
+ );
96
+ });
97
+ }
98
+ }
99
+ function getModuleSource(modulePath, wbFs, sourceMap) {
100
+ if (sourceMap) {
101
+ try {
102
+ const contentFromSourceMap = sourceMap.sourceContentFor(modulePath);
103
+ if (contentFromSourceMap) {
104
+ return Buffer.from(contentFromSourceMap);
105
+ }
106
+ } catch (e) {
107
+ }
108
+ }
109
+ return process.env.NODE_ENV === "test" ? Buffer.from("test code") : readFile(modulePath, wbFs);
110
+ }
111
+ async function appendModuleData(origin, webpackGraph, graph, wbFs, features, context) {
112
+ const module2 = graph.getModuleByWebpackId((0, import_compatible.getWebpackModuleId)(origin));
113
+ if (!origin || !module2) {
114
+ return;
115
+ }
116
+ const { getSourceMap, astCache, packagePathMap } = context ?? {};
117
+ try {
118
+ const sourceMap = await getSourceMap?.(module2.path);
119
+ const source = await getModuleSource(module2.path, wbFs, sourceMap) ?? Buffer.from("");
120
+ if (sourceMap) {
121
+ module2.setSourceMap(sourceMap);
122
+ }
123
+ if (astCache?.has(origin)) {
124
+ const program = astCache.get(origin);
125
+ module2.setProgram(program);
126
+ module2.meta.hasSetEsModuleStatement = (0, import_parser.hasSetEsModuleStatement)(program);
127
+ }
128
+ const transformed = (0, import_compatible.isExternalModule)(origin) ? "" : module2.getSource().transformed.length > 0 ? module2.getSource().transformed : (0, import_lodash.isFunction)(origin?.originalSource) ? origin.originalSource()?.source()?.toString() : "";
129
+ const transformedSize = (0, import_compatible.isExternalModule)(origin) ? 0 : module2.getSize().transformedSize > 0 ? module2.getSize().transformedSize : Buffer.from(transformed).byteLength;
130
+ module2.setSource({
131
+ transformed,
132
+ source: source.toString()
133
+ });
134
+ module2.setSize({
135
+ transformedSize,
136
+ sourceSize: source.byteLength
137
+ });
138
+ let packageData;
139
+ if (packagePathMap && origin.resourceResolveData) {
140
+ let { descriptionFileRoot: root } = origin.resourceResolveData;
141
+ const { descriptionFileData: data } = origin.resourceResolveData;
142
+ if (root && data.name && data.version) {
143
+ if (packagePathMap.has(root)) {
144
+ root = packagePathMap.get(root);
145
+ } else {
146
+ const realpath = await import_build.File.fse.realpath(root);
147
+ root = realpath;
148
+ packagePathMap.set(root, realpath);
149
+ }
150
+ packageData = {
151
+ ...origin.resourceResolveData.descriptionFileData,
152
+ root
153
+ };
154
+ }
155
+ }
156
+ module2.meta.strictHarmonyModule = origin.buildMeta?.strictHarmonyModule ?? false;
157
+ module2.meta.packageData = packageData;
158
+ if (!features?.lite && origin?.dependencies) {
159
+ Array.from(origin.dependencies).filter((item) => (0, import_module_graph.isImportDependency)(item)).concat(
160
+ origin.blocks.reduce(
161
+ (ans, item) => ans.concat(item.dependencies),
162
+ []
163
+ )
164
+ ).forEach((dep) => appendDependency(dep, module2, webpackGraph, graph));
165
+ }
166
+ } catch (e) {
167
+ console.error(`module ${module2.path} transform has error:`, e);
168
+ }
169
+ }
170
+ async function appendModuleGraphByCompilation(compilation, graph, features, context) {
171
+ try {
172
+ const { moduleGraph: webpackGraph, fileSystemInfo } = compilation;
173
+ const allModules = (0, import_compatible.getAllModules)(compilation);
174
+ await Promise.all(
175
+ allModules.map((module2) => {
176
+ return appendModuleData(
177
+ module2,
178
+ webpackGraph,
179
+ graph,
180
+ fileSystemInfo,
181
+ features,
182
+ context
183
+ );
184
+ })
185
+ );
186
+ (0, import_module_graph.removeNoImportStyle)(graph);
187
+ return graph;
188
+ } catch (e) {
189
+ return graph;
190
+ }
191
+ }
192
+ // Annotate the CommonJS export names for ESM import in node:
193
+ 0 && (module.exports = {
194
+ appendModuleGraphByCompilation
195
+ });
@@ -0,0 +1,4 @@
1
+ export * from './loader';
2
+ export * from './plugin';
3
+ export * from './parseBundle';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/build-utils/build/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var utils_exports = {};
17
+ module.exports = __toCommonJS(utils_exports);
18
+ __reExport(utils_exports, require("./loader"), module.exports);
19
+ __reExport(utils_exports, require("./plugin"), module.exports);
20
+ __reExport(utils_exports, require("./parseBundle"), module.exports);
21
+ // Annotate the CommonJS export names for ESM import in node:
22
+ 0 && (module.exports = {
23
+ ...require("./loader"),
24
+ ...require("./plugin"),
25
+ ...require("./parseBundle")
26
+ });
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ import type { Common, Plugin } from '@rsdoctor/types';
3
+ import { SourceMapInput as WebpackSourceMapInput } from '../../../types';
4
+ export declare function parsePathQueryFragment(str: string): {
5
+ path: string;
6
+ query: string;
7
+ fragment: string;
8
+ };
9
+ export declare function loadLoaderModule(loaderPath: string, cwd?: string): {
10
+ default: Plugin.LoaderDefinition<Common.PlainObject, {}>;
11
+ pitch: Plugin.PitchLoaderDefinitionFunction;
12
+ raw: boolean | void;
13
+ };
14
+ export declare function getLoaderOptions<T>(loaderContext: Plugin.LoaderContext<T>): T;
15
+ export declare function extractLoaderName(loaderPath: string, cwd?: string): string;
16
+ export declare function mapEachRules<T extends Plugin.BuildRuleSetRule>(rules: T[], callback: (rule: T) => T): T[];
17
+ export declare function addProbeLoader2Rules<T extends Plugin.BuildRuleSetRule>(rules: T[], loaderName: string, appendRules: (rule: T, index: number) => T, strict?: boolean): T[];
18
+ export declare function createLoaderContextTrap(this: Plugin.LoaderContext<Common.PlainObject>, final: (err: Error | null | undefined, res: string | Buffer | null, sourceMap?: WebpackSourceMapInput) => void): Plugin.LoaderContext<Common.PlainObject<any>>;
19
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/build-utils/build/utils/loader.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAQ,cAAc,IAAI,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAO/E,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAOA;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,GAAG,SAAgB,GAClB;IACD,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAC5C,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;CACrB,CAiBA;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,KAQzE;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,MAAM,CAqBtE;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,gBAAgB,EAC5D,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GACvB,CAAC,EAAE,CAgFL;AAyBD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,gBAAgB,EACpE,KAAK,EAAE,CAAC,EAAE,EACV,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAC1C,MAAM,CAAC,EAAE,OAAO,GACf,CAAC,EAAE,CAgEL;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,EAC9C,KAAK,EAAE,CACL,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAC7B,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAC3B,SAAS,CAAC,EAAE,qBAAqB,KAC9B,IAAI,iDAsFV"}
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var loader_exports = {};
30
+ __export(loader_exports, {
31
+ addProbeLoader2Rules: () => addProbeLoader2Rules,
32
+ createLoaderContextTrap: () => createLoaderContextTrap,
33
+ extractLoaderName: () => extractLoaderName,
34
+ getLoaderOptions: () => getLoaderOptions,
35
+ loadLoaderModule: () => loadLoaderModule,
36
+ mapEachRules: () => mapEachRules,
37
+ parsePathQueryFragment: () => parsePathQueryFragment
38
+ });
39
+ module.exports = __toCommonJS(loader_exports);
40
+ var import_loader_utils = require("loader-utils");
41
+ var import_path = __toESM(require("path"));
42
+ var import_lodash = require("lodash");
43
+ var import_common = require("@rsdoctor/utils/common");
44
+ const PATH_QUERY_FRAGMENT_REGEXP = /^((?:\0.|[^?#\0])*)(\?(?:\0.|[^#\0])*)?(#.*)?$/;
45
+ function parsePathQueryFragment(str) {
46
+ const match = PATH_QUERY_FRAGMENT_REGEXP.exec(str);
47
+ return {
48
+ path: match?.[1].replace(/\0(.)/g, "$1") || "",
49
+ query: match?.[2] ? match[2].replace(/\0(.)/g, "$1") : "",
50
+ fragment: match?.[3] || ""
51
+ };
52
+ }
53
+ function loadLoaderModule(loaderPath, cwd = process.cwd()) {
54
+ const cleanLoaderPath = parsePathQueryFragment(loaderPath).path;
55
+ const mod = process.env.DOCTOR_TEST ? require(import_path.default.resolve(cwd, cleanLoaderPath)) : require(require.resolve(cleanLoaderPath, {
56
+ paths: [cwd, import_path.default.resolve(cwd, "node_modules")]
57
+ }));
58
+ const isESM = mod.__esModule && typeof mod.default === "function";
59
+ return {
60
+ default: isESM ? mod.default : typeof mod === "function" ? mod : null,
61
+ pitch: mod.default?.pitch || mod.pitch,
62
+ raw: mod.default?.raw || mod.raw || false
63
+ };
64
+ }
65
+ function getLoaderOptions(loaderContext) {
66
+ if (typeof loaderContext.getOptions === "function") {
67
+ return loaderContext.getOptions();
68
+ }
69
+ return (0, import_loader_utils.getOptions)(loaderContext);
70
+ }
71
+ function extractLoaderName(loaderPath, cwd = "") {
72
+ let res = loaderPath.replace(cwd, "");
73
+ if (!import_path.default.isAbsolute(res))
74
+ return res;
75
+ const nms = "/node_modules/";
76
+ const idx = res.lastIndexOf(nms);
77
+ if (idx !== -1) {
78
+ res = res.slice(idx + nms.length);
79
+ const ln = "loader";
80
+ const lnIdx = res.lastIndexOf(ln);
81
+ if (lnIdx > -1) {
82
+ res = res.slice(0, lnIdx + ln.length);
83
+ }
84
+ }
85
+ return res;
86
+ }
87
+ function mapEachRules(rules, callback) {
88
+ return rules.map((rule) => {
89
+ if (typeof rule === "string") {
90
+ return callback({
91
+ loader: rule
92
+ });
93
+ }
94
+ if (rule.loader && typeof rule.loader === "string") {
95
+ return callback(rule);
96
+ }
97
+ if (Array.isArray(rule.loaders)) {
98
+ const { loaders, ...rest } = rule;
99
+ return {
100
+ ...rest,
101
+ use: mapEachRules(loaders, callback)
102
+ };
103
+ }
104
+ if (rule.use && (!Array.isArray(rule.use) || rule.use.length !== 0)) {
105
+ if (typeof rule.use === "string") {
106
+ return {
107
+ ...rule,
108
+ use: mapEachRules(
109
+ [
110
+ {
111
+ loader: rule.use,
112
+ options: rule.options
113
+ }
114
+ ],
115
+ callback
116
+ )
117
+ };
118
+ }
119
+ if (typeof rule.use === "function") {
120
+ const funcUse = rule.use;
121
+ const newRule = {
122
+ ...rule,
123
+ use: (...args) => {
124
+ const rules2 = funcUse.apply(null, args);
125
+ return mapEachRules(rules2, callback);
126
+ }
127
+ };
128
+ return newRule;
129
+ }
130
+ if (Array.isArray(rule.use)) {
131
+ return {
132
+ ...rule,
133
+ use: mapEachRules(rule.use, callback)
134
+ };
135
+ }
136
+ return {
137
+ ...rule,
138
+ use: mapEachRules([rule.use], callback)
139
+ };
140
+ }
141
+ if ("rules" in rule && Array.isArray(rule.rules)) {
142
+ return {
143
+ ...rule,
144
+ rules: mapEachRules(rule.rules, callback)
145
+ };
146
+ }
147
+ if (Array.isArray(rule.oneOf)) {
148
+ return {
149
+ ...rule,
150
+ oneOf: mapEachRules(rule.oneOf, callback)
151
+ };
152
+ }
153
+ return rule;
154
+ });
155
+ }
156
+ function getLoaderNameMatch(_r, loaderName, strict = true) {
157
+ if (!strict) {
158
+ return typeof _r === "object" && typeof _r?.loader === "string" && _r.loader.includes(loaderName) || typeof _r === "string" && _r.includes(loaderName);
159
+ }
160
+ return typeof _r === "object" && typeof _r?.loader === "string" && _r.loader === loaderName || typeof _r === "string" && _r === loaderName;
161
+ }
162
+ function addProbeLoader2Rules(rules, loaderName, appendRules, strict) {
163
+ return rules.map((rule) => {
164
+ if (!rule || typeof rule === "string")
165
+ return rule;
166
+ if (getLoaderNameMatch(rule, loaderName, strict)) {
167
+ const _rule = {
168
+ ...rule,
169
+ use: [
170
+ {
171
+ loader: rule.loader,
172
+ options: rule.options
173
+ }
174
+ ],
175
+ loader: void 0,
176
+ options: void 0
177
+ };
178
+ return appendRules(_rule, 0);
179
+ }
180
+ if (rule.use) {
181
+ if (Array.isArray(rule.use)) {
182
+ const _index = (0, import_lodash.findIndex)(
183
+ rule.use,
184
+ (_r) => getLoaderNameMatch(_r, loaderName, strict)
185
+ );
186
+ if (_index > -1) {
187
+ return appendRules(rule, _index);
188
+ }
189
+ } else if (typeof rule.use === "object" && !Array.isArray(rule.use) && typeof rule.use !== "function") {
190
+ rule.use = [
191
+ {
192
+ ...rule.use
193
+ }
194
+ ];
195
+ return appendRules(rule, 0);
196
+ }
197
+ }
198
+ if ("oneOf" in rule && rule.oneOf) {
199
+ return {
200
+ ...rule,
201
+ oneOf: addProbeLoader2Rules(
202
+ rule.oneOf,
203
+ loaderName,
204
+ appendRules
205
+ )
206
+ };
207
+ }
208
+ if ("rules" in rule && rule.rules) {
209
+ return {
210
+ ...rule,
211
+ rules: addProbeLoader2Rules(
212
+ rule.rules,
213
+ loaderName,
214
+ appendRules
215
+ )
216
+ };
217
+ }
218
+ return rule;
219
+ });
220
+ }
221
+ function createLoaderContextTrap(final) {
222
+ const cb = this.callback;
223
+ let callback = (...args) => {
224
+ final(args[0], args[1] ?? null, args[2]);
225
+ return cb.call(this, ...args);
226
+ };
227
+ const ac = this.async;
228
+ let async = (...args) => {
229
+ const cb2 = ac(...args);
230
+ return (...args2) => {
231
+ final(args2[0], args2[1] ?? null, args2[2]);
232
+ return cb2(...args2);
233
+ };
234
+ };
235
+ const trap = new Proxy(this, {
236
+ get(target, key, receiver) {
237
+ switch (key) {
238
+ case "async":
239
+ return async;
240
+ case "callback":
241
+ return callback;
242
+ case "query":
243
+ if (target.query) {
244
+ if (typeof target.query === "string") {
245
+ const res = target.query.replace(
246
+ // eslint-disable-next-line no-useless-escape
247
+ new RegExp(
248
+ `"${import_common.Loader.LoaderInternalPropertyName}":{[^}]*},{0,1}`
249
+ ),
250
+ ""
251
+ );
252
+ return res;
253
+ }
254
+ if (typeof target.query === "object") {
255
+ const options = target.query[import_common.Loader.LoaderInternalPropertyName];
256
+ if (options.hasOptions) {
257
+ return (0, import_lodash.omit)(target.query, [import_common.Loader.LoaderInternalPropertyName]);
258
+ }
259
+ const innerLoaderPath = options?.loader;
260
+ const loaderQuery = parsePathQueryFragment(innerLoaderPath).query;
261
+ return loaderQuery;
262
+ }
263
+ }
264
+ return Reflect.get(target, key, receiver);
265
+ case "getOptions":
266
+ return typeof target.getOptions === "function" ? () => (0, import_lodash.omit)(target.getOptions(), [import_common.Loader.LoaderInternalPropertyName]) : Reflect.get(target, key, receiver);
267
+ default:
268
+ const _target = target;
269
+ return _target[key];
270
+ }
271
+ },
272
+ set(target, key, value, receiver) {
273
+ switch (key) {
274
+ case "async":
275
+ async = value;
276
+ return true;
277
+ case "callback":
278
+ callback = value;
279
+ return true;
280
+ default:
281
+ return Reflect.set(target, key, value, receiver);
282
+ }
283
+ },
284
+ defineProperty(target, p, attrs) {
285
+ return Reflect.defineProperty(target, p, attrs);
286
+ }
287
+ });
288
+ return trap;
289
+ }
290
+ // Annotate the CommonJS export names for ESM import in node:
291
+ 0 && (module.exports = {
292
+ addProbeLoader2Rules,
293
+ createLoaderContextTrap,
294
+ extractLoaderName,
295
+ getLoaderOptions,
296
+ loadLoaderModule,
297
+ mapEachRules,
298
+ parsePathQueryFragment
299
+ });