@js-recon/js-recon 1.3.2 → 1.4.1-alpha.9

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 (236) hide show
  1. package/.claude/settings.local.json +10 -0
  2. package/.github/workflows/build-and-prettify.yaml +205 -14
  3. package/.github/workflows/pr_checker.yml +2 -2
  4. package/.github/workflows/promote-js-recon.yml +104 -0
  5. package/.github/workflows/publish-js-recon.yml +22 -80
  6. package/.github/workflows/rules-smoke-test.yaml +79 -0
  7. package/CHANGELOG.md +171 -4
  8. package/CLAUDE.md +350 -16
  9. package/Dockerfile.release +29 -0
  10. package/README.md +48 -19
  11. package/build/analyze/engine/csMastSEngine.js +129 -0
  12. package/build/analyze/engine/csMastSEngine.js.map +1 -0
  13. package/build/analyze/engine/index.js +15 -0
  14. package/build/analyze/engine/index.js.map +1 -1
  15. package/build/analyze/helpers/engineHelpers/findDirectAssignment.js +2 -1
  16. package/build/analyze/helpers/engineHelpers/findDirectAssignment.js.map +1 -1
  17. package/build/analyze/helpers/engineHelpers/findMemberExpressionAssignment.js +2 -1
  18. package/build/analyze/helpers/engineHelpers/findMemberExpressionAssignment.js.map +1 -1
  19. package/build/analyze/helpers/engineHelpers/resolveFunctionIdentifier.js +2 -1
  20. package/build/analyze/helpers/engineHelpers/resolveFunctionIdentifier.js.map +1 -1
  21. package/build/analyze/helpers/engineHelpers/taintFlow.js +11 -2
  22. package/build/analyze/helpers/engineHelpers/taintFlow.js.map +1 -1
  23. package/build/analyze/helpers/initRules.js +1 -1
  24. package/build/analyze/helpers/initRules.js.map +1 -1
  25. package/build/analyze/helpers/schemas.js +6 -2
  26. package/build/analyze/helpers/schemas.js.map +1 -1
  27. package/build/analyze/helpers/validate.js +3 -3
  28. package/build/analyze/helpers/validate.js.map +1 -1
  29. package/build/analyze/index.js +1 -0
  30. package/build/analyze/index.js.map +1 -1
  31. package/build/completion/index.js +432 -0
  32. package/build/completion/index.js.map +1 -0
  33. package/build/cs_mast/index.js +213 -0
  34. package/build/cs_mast/index.js.map +1 -0
  35. package/build/endpoints/next_js/client_jsFilesHref.js +2 -1
  36. package/build/endpoints/next_js/client_jsFilesHref.js.map +1 -1
  37. package/build/endpoints/next_js/client_jsonParse.js +2 -1
  38. package/build/endpoints/next_js/client_jsonParse.js.map +1 -1
  39. package/build/endpoints/next_js/client_mappedJsonFile.js +2 -1
  40. package/build/endpoints/next_js/client_mappedJsonFile.js.map +1 -1
  41. package/build/endpoints/next_js/client_subsequentRequests.js +2 -1
  42. package/build/endpoints/next_js/client_subsequentRequests.js.map +1 -1
  43. package/build/fingerprint/index.js +56 -33
  44. package/build/fingerprint/index.js.map +1 -1
  45. package/build/globalConfig.js +3 -3
  46. package/build/globalConfig.js.map +1 -1
  47. package/build/index.js +210 -10
  48. package/build/index.js.map +1 -1
  49. package/build/lazyLoad/angular/angular_getFromMainJs.js +2 -1
  50. package/build/lazyLoad/angular/angular_getFromMainJs.js.map +1 -1
  51. package/build/lazyLoad/downloadFilesUtil.js +6 -5
  52. package/build/lazyLoad/downloadFilesUtil.js.map +1 -1
  53. package/build/lazyLoad/downloadLoadedJsUtil.js +59 -5
  54. package/build/lazyLoad/downloadLoadedJsUtil.js.map +1 -1
  55. package/build/lazyLoad/downloadQueue.js +10 -9
  56. package/build/lazyLoad/downloadQueue.js.map +1 -1
  57. package/build/lazyLoad/index.js +127 -85
  58. package/build/lazyLoad/index.js.map +1 -1
  59. package/build/lazyLoad/methodFilter.js +50 -0
  60. package/build/lazyLoad/methodFilter.js.map +1 -0
  61. package/build/lazyLoad/next_js/NextJsCrawler.js +69 -48
  62. package/build/lazyLoad/next_js/NextJsCrawler.js.map +1 -1
  63. package/build/lazyLoad/next_js/next_GetLazyResourcesBuildManifestJs.js +36 -34
  64. package/build/lazyLoad/next_js/next_GetLazyResourcesBuildManifestJs.js.map +1 -1
  65. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +66 -13
  66. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
  67. package/build/lazyLoad/next_js/next_parseLayoutJs.js +80 -68
  68. package/build/lazyLoad/next_js/next_parseLayoutJs.js.map +1 -1
  69. package/build/lazyLoad/next_js/next_promiseResolve.js +22 -16
  70. package/build/lazyLoad/next_js/next_promiseResolve.js.map +1 -1
  71. package/build/lazyLoad/nuxt_js/nuxt_astParse.js +49 -47
  72. package/build/lazyLoad/nuxt_js/nuxt_astParse.js.map +1 -1
  73. package/build/lazyLoad/nuxt_js/nuxt_getBuildsManifest.js +64 -0
  74. package/build/lazyLoad/nuxt_js/nuxt_getBuildsManifest.js.map +1 -0
  75. package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js +3 -1
  76. package/build/lazyLoad/nuxt_js/nuxt_getFromPageSource.js.map +1 -1
  77. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js +3 -2
  78. package/build/lazyLoad/nuxt_js/nuxt_stringAnalysisJSFiles.js.map +1 -1
  79. package/build/lazyLoad/react/react_followImports.js +16 -7
  80. package/build/lazyLoad/react/react_followImports.js.map +1 -1
  81. package/build/lazyLoad/react/react_webpackChunkPaths.js +175 -123
  82. package/build/lazyLoad/react/react_webpackChunkPaths.js.map +1 -1
  83. package/build/lazyLoad/svelte/svelte_getFromPageSource.js +16 -0
  84. package/build/lazyLoad/svelte/svelte_getFromPageSource.js.map +1 -1
  85. package/build/lazyLoad/svelte/svelte_getVersionJson.js +40 -0
  86. package/build/lazyLoad/svelte/svelte_getVersionJson.js.map +1 -0
  87. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js +3 -2
  88. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js.map +1 -1
  89. package/build/lazyLoad/techDetect/checkAngularJS.js +27 -6
  90. package/build/lazyLoad/techDetect/checkAngularJS.js.map +1 -1
  91. package/build/lazyLoad/techDetect/checkNextJS.js +24 -15
  92. package/build/lazyLoad/techDetect/checkNextJS.js.map +1 -1
  93. package/build/lazyLoad/techDetect/checkReact.js +8 -0
  94. package/build/lazyLoad/techDetect/checkReact.js.map +1 -1
  95. package/build/lazyLoad/techDetect/checkSvelte.js +17 -0
  96. package/build/lazyLoad/techDetect/checkSvelte.js.map +1 -1
  97. package/build/lazyLoad/techDetect/index.js +33 -5
  98. package/build/lazyLoad/techDetect/index.js.map +1 -1
  99. package/build/lazyLoad/vue/vue_RuntimeJs.js +2 -1
  100. package/build/lazyLoad/vue/vue_RuntimeJs.js.map +1 -1
  101. package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js +2 -1
  102. package/build/lazyLoad/vue/vue_SingleJsFileOnHome.js.map +1 -1
  103. package/build/lazyLoad/vue/vue_discoverJsFiles.js +59 -25
  104. package/build/lazyLoad/vue/vue_discoverJsFiles.js.map +1 -1
  105. package/build/lazyLoad/vue/vue_getClientSidePaths.js +2 -1
  106. package/build/lazyLoad/vue/vue_getClientSidePaths.js.map +1 -1
  107. package/build/lazyLoad/vue/vue_jsImports.js +2 -1
  108. package/build/lazyLoad/vue/vue_jsImports.js.map +1 -1
  109. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js +2 -2
  110. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js.map +1 -1
  111. package/build/lazyLoad/vue/vue_viteMapDeps.js +62 -54
  112. package/build/lazyLoad/vue/vue_viteMapDeps.js.map +1 -1
  113. package/build/map/angular_js/getAngularConnections.js +88 -0
  114. package/build/map/angular_js/getAngularConnections.js.map +1 -0
  115. package/build/map/angular_js/interactive.js +4 -0
  116. package/build/map/angular_js/interactive.js.map +1 -0
  117. package/build/map/graphql/resolveGraphql.js +2 -1
  118. package/build/map/graphql/resolveGraphql.js.map +1 -1
  119. package/build/map/index.js +38 -0
  120. package/build/map/index.js.map +1 -1
  121. package/build/map/next_js/getExports.js +2 -1
  122. package/build/map/next_js/getExports.js.map +1 -1
  123. package/build/map/next_js/getFetchInstances.js +2 -1
  124. package/build/map/next_js/getFetchInstances.js.map +1 -1
  125. package/build/map/next_js/getTurbopackConnections.js +2 -1
  126. package/build/map/next_js/getTurbopackConnections.js.map +1 -1
  127. package/build/map/next_js/getWebpackConnections.js +2 -1
  128. package/build/map/next_js/getWebpackConnections.js.map +1 -1
  129. package/build/map/next_js/resolveAxios.js +2 -1
  130. package/build/map/next_js/resolveAxios.js.map +1 -1
  131. package/build/map/next_js/resolveAxiosHelpers/directCallsWithoutAssignment.js +2 -1
  132. package/build/map/next_js/resolveAxiosHelpers/directCallsWithoutAssignment.js.map +1 -1
  133. package/build/map/next_js/resolveAxiosHelpers/findAxiosInstance.js +2 -1
  134. package/build/map/next_js/resolveAxiosHelpers/findAxiosInstance.js.map +1 -1
  135. package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js +2 -1
  136. package/build/map/next_js/resolveAxiosHelpers/findCrossChunkParams.js.map +1 -1
  137. package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js +2 -1
  138. package/build/map/next_js/resolveAxiosHelpers/handleAxiosCreate.js.map +1 -1
  139. package/build/map/next_js/resolveAxiosHelpers/handleZDotCreate.js +2 -1
  140. package/build/map/next_js/resolveAxiosHelpers/handleZDotCreate.js.map +1 -1
  141. package/build/map/next_js/resolveAxiosHelpers/interceptorHeaders.js +2 -1
  142. package/build/map/next_js/resolveAxiosHelpers/interceptorHeaders.js.map +1 -1
  143. package/build/map/next_js/resolveAxiosHelpers/processExportedEndpoints.js +2 -1
  144. package/build/map/next_js/resolveAxiosHelpers/processExportedEndpoints.js.map +1 -1
  145. package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js +2 -1
  146. package/build/map/next_js/resolveAxiosHelpers/traceAxiosInstanceExports.js.map +1 -1
  147. package/build/map/next_js/resolveAxiosHelpers/traceBody.js +2 -1
  148. package/build/map/next_js/resolveAxiosHelpers/traceBody.js.map +1 -1
  149. package/build/map/next_js/resolveFetch.js +2 -1
  150. package/build/map/next_js/resolveFetch.js.map +1 -1
  151. package/build/map/next_js/resolveNewRequest.js +2 -1
  152. package/build/map/next_js/resolveNewRequest.js.map +1 -1
  153. package/build/map/next_js/resolveServerActions.js +2 -1
  154. package/build/map/next_js/resolveServerActions.js.map +1 -1
  155. package/build/map/next_js/utils.js +2 -1
  156. package/build/map/next_js/utils.js.map +1 -1
  157. package/build/map/react_js/getReactConnections.js +5 -4
  158. package/build/map/react_js/getReactConnections.js.map +1 -1
  159. package/build/map/vue_js/crossFileResolver.js +3 -2
  160. package/build/map/vue_js/crossFileResolver.js.map +1 -1
  161. package/build/map/vue_js/getViteConnections.js +5 -4
  162. package/build/map/vue_js/getViteConnections.js.map +1 -1
  163. package/build/map/vue_js/taint_utils.js +2 -1
  164. package/build/map/vue_js/taint_utils.js.map +1 -1
  165. package/build/map/vue_js/vue_resolveFetch.js +3 -2
  166. package/build/map/vue_js/vue_resolveFetch.js.map +1 -1
  167. package/build/map/vue_js/vue_resolveHttpClient.js +5 -3
  168. package/build/map/vue_js/vue_resolveHttpClient.js.map +1 -1
  169. package/build/map/vue_js/vue_resolveXhr.js +5 -3
  170. package/build/map/vue_js/vue_resolveXhr.js.map +1 -1
  171. package/build/mcp/cli.js.map +1 -1
  172. package/build/refactor/index.js +973 -27
  173. package/build/refactor/index.js.map +1 -1
  174. package/build/refactor/next/helpers.js +395 -0
  175. package/build/refactor/next/helpers.js.map +1 -0
  176. package/build/refactor/next/index.js +261 -71
  177. package/build/refactor/next/index.js.map +1 -1
  178. package/build/refactor/next/transform.js +1027 -0
  179. package/build/refactor/next/transform.js.map +1 -0
  180. package/build/refactor/next/validator.js +119 -0
  181. package/build/refactor/next/validator.js.map +1 -0
  182. package/build/refactor/react/helpers.js +106 -0
  183. package/build/refactor/react/helpers.js.map +1 -0
  184. package/build/refactor/react/index.js +290 -585
  185. package/build/refactor/react/index.js.map +1 -1
  186. package/build/refactor/react/library-classify.js +397 -0
  187. package/build/refactor/react/library-classify.js.map +1 -0
  188. package/build/refactor/react/transform.js +1852 -0
  189. package/build/refactor/react/transform.js.map +1 -0
  190. package/build/refactor/react/validator.js +123 -0
  191. package/build/refactor/react/validator.js.map +1 -0
  192. package/build/refactor/react-vite/index.js +652 -0
  193. package/build/refactor/react-vite/index.js.map +1 -0
  194. package/build/refactor/react-vite/vendor-analyze.js +336 -0
  195. package/build/refactor/react-vite/vendor-analyze.js.map +1 -0
  196. package/build/refactor/remote/cache.js +250 -0
  197. package/build/refactor/remote/cache.js.map +1 -0
  198. package/build/refactor/remote/config.js +63 -0
  199. package/build/refactor/remote/config.js.map +1 -0
  200. package/build/refactor/remote/hf-client.js +202 -0
  201. package/build/refactor/remote/hf-client.js.map +1 -0
  202. package/build/refactor/remote/version-detect.js +355 -0
  203. package/build/refactor/remote/version-detect.js.map +1 -0
  204. package/build/refactor/vue/index.js +176 -0
  205. package/build/refactor/vue/index.js.map +1 -0
  206. package/build/refactor/vue/vendor-analyze-vue.js +271 -0
  207. package/build/refactor/vue/vendor-analyze-vue.js.map +1 -0
  208. package/build/refactor/vue/vite.js +216 -0
  209. package/build/refactor/vue/vite.js.map +1 -0
  210. package/build/report/utility/genHtml.js +15 -4
  211. package/build/report/utility/genHtml.js.map +1 -1
  212. package/build/run/bundler-detect.js +154 -0
  213. package/build/run/bundler-detect.js.map +1 -0
  214. package/build/run/index.js +208 -16
  215. package/build/run/index.js.map +1 -1
  216. package/build/sourcemaps/index.js +89 -0
  217. package/build/sourcemaps/index.js.map +1 -0
  218. package/build/strings/index.js +6 -2
  219. package/build/strings/index.js.map +1 -1
  220. package/build/strings/trufflehog.js +71 -0
  221. package/build/strings/trufflehog.js.map +1 -0
  222. package/build/utility/banner.js +68 -0
  223. package/build/utility/banner.js.map +1 -0
  224. package/build/utility/getChromiumPath.js +40 -0
  225. package/build/utility/getChromiumPath.js.map +1 -0
  226. package/build/utility/globals.js +7 -0
  227. package/build/utility/globals.js.map +1 -1
  228. package/build/utility/makeReq.js +21 -11
  229. package/build/utility/makeReq.js.map +1 -1
  230. package/build/utility/postmanGenerator.js +2 -2
  231. package/build/utility/postmanGenerator.js.map +1 -1
  232. package/build/utility/puppeteerInstance.js +7 -1
  233. package/build/utility/puppeteerInstance.js.map +1 -1
  234. package/package.json +14 -8
  235. package/scripts/smoke-test.js +74 -0
  236. package/urls.txt +5 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/refactor/next/transform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ var _a;
2
+ import chalk from "chalk";
3
+ import parser from "@babel/parser";
4
+ import _generator from "@babel/generator";
5
+ import * as t from "@babel/types";
6
+ const generate = ((_a = _generator.default) !== null && _a !== void 0 ? _a : _generator);
7
+ export const MAX_FIX_ITERATIONS = 10;
8
+ export const tryStrictParse = (code) => {
9
+ try {
10
+ parser.parse(code, {
11
+ sourceType: "module",
12
+ plugins: ["jsx"],
13
+ errorRecovery: false,
14
+ });
15
+ return [];
16
+ }
17
+ catch (err) {
18
+ return [err];
19
+ }
20
+ };
21
+ export const applyFixes = (code, statements) => {
22
+ var _a;
23
+ let recoveredAst;
24
+ try {
25
+ recoveredAst = parser.parse(code, {
26
+ sourceType: "module",
27
+ plugins: ["jsx"],
28
+ errorRecovery: true,
29
+ });
30
+ }
31
+ catch (_b) {
32
+ return statements.slice(0, -1);
33
+ }
34
+ const parseErrors = ((_a = recoveredAst.errors) !== null && _a !== void 0 ? _a : []).map((e) => {
35
+ var _a, _b, _c, _d;
36
+ return ({
37
+ line: (_b = (_a = e.loc) === null || _a === void 0 ? void 0 : _a.line) !== null && _b !== void 0 ? _b : 0,
38
+ col: (_d = (_c = e.loc) === null || _c === void 0 ? void 0 : _c.column) !== null && _d !== void 0 ? _d : 0,
39
+ });
40
+ });
41
+ if (parseErrors.length === 0)
42
+ return statements;
43
+ let lineOffset = 0;
44
+ const stmtLineRanges = [];
45
+ for (const stmt of statements) {
46
+ const stmtCode = generate(stmt).code;
47
+ const lineCount = stmtCode.split("\n").length;
48
+ stmtLineRanges.push({ start: lineOffset + 1, end: lineOffset + lineCount });
49
+ lineOffset += lineCount;
50
+ }
51
+ const errorStmtIndices = new Set();
52
+ for (const err of parseErrors) {
53
+ for (let i = 0; i < stmtLineRanges.length; i++) {
54
+ if (err.line >= stmtLineRanges[i].start && err.line <= stmtLineRanges[i].end) {
55
+ errorStmtIndices.add(i);
56
+ break;
57
+ }
58
+ }
59
+ }
60
+ const out = [];
61
+ for (let i = 0; i < statements.length; i++) {
62
+ const stmt = statements[i];
63
+ if (!errorStmtIndices.has(i)) {
64
+ out.push(stmt);
65
+ continue;
66
+ }
67
+ // Downgrade `export { ident as "StringKey" }` to `export const StringKey = ident`.
68
+ if (t.isExportNamedDeclaration(stmt) &&
69
+ !stmt.declaration &&
70
+ stmt.specifiers.length === 1 &&
71
+ t.isExportSpecifier(stmt.specifiers[0]) &&
72
+ t.isStringLiteral(stmt.specifiers[0].exported)) {
73
+ const spec = stmt.specifiers[0];
74
+ const propName = spec.exported.value;
75
+ const local = spec.local;
76
+ out.push(t.exportNamedDeclaration(t.variableDeclaration("const", [t.variableDeclarator(t.identifier(propName), local)])));
77
+ continue;
78
+ }
79
+ // Downgrade `export function name() { ... }` to `export const name = function() { ... }`.
80
+ if (t.isExportNamedDeclaration(stmt) &&
81
+ stmt.declaration &&
82
+ t.isFunctionDeclaration(stmt.declaration) &&
83
+ stmt.declaration.id) {
84
+ const fn = stmt.declaration;
85
+ out.push(t.exportNamedDeclaration(t.variableDeclaration("const", [
86
+ t.variableDeclarator(fn.id, t.functionExpression(null, fn.params, fn.body, fn.generator, fn.async)),
87
+ ])));
88
+ continue;
89
+ }
90
+ console.log(chalk.yellow(` [~] Dropping unresolvable statement at index ${i}: ${generate(stmt)
91
+ .code.slice(0, 80)
92
+ .replace(/\s+/g, " ")}`));
93
+ }
94
+ return out;
95
+ };
96
+ export const validateAndFix = (statements, moduleId) => {
97
+ let current = [...statements];
98
+ for (let attempt = 0; attempt <= MAX_FIX_ITERATIONS; attempt++) {
99
+ const programNode = t.program(current, [], "module");
100
+ const code = generate(programNode).code;
101
+ const errors = tryStrictParse(code);
102
+ if (errors.length === 0)
103
+ return code;
104
+ if (attempt === MAX_FIX_ITERATIONS) {
105
+ console.log(chalk.red(`[!] Module ${moduleId} could not be fixed after ${MAX_FIX_ITERATIONS} attempts — skipping`));
106
+ return null;
107
+ }
108
+ for (const err of errors) {
109
+ const loc = err.loc ? ` at line ${err.loc.line}, col ${err.loc.column}` : "";
110
+ console.log(chalk.red(`[!] Syntax error in module ${moduleId} (attempt ${attempt + 1}/${MAX_FIX_ITERATIONS}):`));
111
+ console.log(chalk.red(` ${err.message}${loc}`));
112
+ if (err.codeFrame)
113
+ console.log(err.codeFrame);
114
+ }
115
+ current = applyFixes(code, current);
116
+ }
117
+ return null;
118
+ };
119
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/refactor/next/validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import * as t from "@babel/types";
2
+ export const VALID_IDENT_RE = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/;
3
+ // Returns true if the given ObjectProperty/ObjectMethod sits directly inside
4
+ // the webpack module-map object (var X = { <numId>: fn, … }) and not inside
5
+ // a nested object within a module body.
6
+ export const isInModuleMap = (path) => {
7
+ const objectParent = path.parentPath;
8
+ if (!objectParent || !objectParent.isObjectExpression())
9
+ return false;
10
+ const objHolder = objectParent.parentPath;
11
+ if (!objHolder)
12
+ return false;
13
+ // Standard IIFE format: var X = { numId: fn }
14
+ if (objHolder.isVariableDeclarator())
15
+ return true;
16
+ if (objHolder.isAssignmentExpression())
17
+ return true;
18
+ // Lazy chunk format: (self.webpackChunk...).push([[chunkIds], {numId: fn}])
19
+ // The module-map ObjectExpression is an element of the ArrayExpression argument to .push()
20
+ if (objHolder.isArrayExpression()) {
21
+ const arrayHolder = objHolder.parentPath;
22
+ if (arrayHolder === null || arrayHolder === void 0 ? void 0 : arrayHolder.isCallExpression()) {
23
+ const callee = arrayHolder.node.callee;
24
+ if (t.isMemberExpression(callee) &&
25
+ t.isIdentifier(callee.property, { name: "push" })) {
26
+ return true;
27
+ }
28
+ }
29
+ }
30
+ return false;
31
+ };
32
+ // Returns { propName, rhs } if expr matches `<exportsParam>.<propName> = <rhs>`.
33
+ export const tryExtractExportsAssignment = (expr, exportsParam) => {
34
+ if (!t.isAssignmentExpression(expr) || expr.operator !== "=")
35
+ return null;
36
+ const left = expr.left;
37
+ if (!t.isMemberExpression(left) || left.computed)
38
+ return null;
39
+ if (!t.isIdentifier(left.object, { name: exportsParam }))
40
+ return null;
41
+ let propName = null;
42
+ if (t.isIdentifier(left.property))
43
+ propName = left.property.name;
44
+ else if (t.isStringLiteral(left.property))
45
+ propName = left.property.value;
46
+ if (!propName)
47
+ return null;
48
+ return { propName, rhs: expr.right };
49
+ };
50
+ // Returns the rhs if expr matches `<moduleParam>.exports = <rhs>`, else null.
51
+ export const tryExtractModuleExportsAssignment = (expr, moduleParam) => {
52
+ if (!t.isAssignmentExpression(expr) || expr.operator !== "=")
53
+ return null;
54
+ const left = expr.left;
55
+ if (!t.isMemberExpression(left) || left.computed)
56
+ return null;
57
+ if (!t.isIdentifier(left.object, { name: moduleParam }))
58
+ return null;
59
+ if (!t.isIdentifier(left.property, { name: "exports" }))
60
+ return null;
61
+ return expr.right;
62
+ };
63
+ // Returns the numeric module ID if expr is `<requireParam>(<NumericLiteral>)`.
64
+ export const tryExtractRequireCall = (expr, requireParam) => {
65
+ if (!t.isCallExpression(expr))
66
+ return null;
67
+ if (!t.isIdentifier(expr.callee, { name: requireParam }))
68
+ return null;
69
+ if (expr.arguments.length !== 1)
70
+ return null;
71
+ if (!t.isNumericLiteral(expr.arguments[0]))
72
+ return null;
73
+ return expr.arguments[0].value;
74
+ };
75
+ // Builds an export statement for `<moduleParam>.exports = <rhs>`.
76
+ // - `<requireParam>(N)` RHS → `export * from "./N.js"` (transparent re-export).
77
+ // - anything else → `export default <rhs>`.
78
+ export const buildModuleExportStatement = (rhs, requireParam) => {
79
+ if (requireParam) {
80
+ const numId = tryExtractRequireCall(rhs, requireParam);
81
+ if (numId !== null) {
82
+ return t.exportAllDeclaration(t.stringLiteral(`./${numId}.js`));
83
+ }
84
+ }
85
+ return t.exportDefaultDeclaration(rhs);
86
+ };
87
+ // Builds an ECMAScript-compliant export statement for `<exportsParam>.<propName> = <rhs>`.
88
+ // Forms per MDN export reference:
89
+ // FunctionExpression → export function propName(params) { body }
90
+ // Identifier → export { ident as propName } (string key when needed)
91
+ // Literals / Arrow / everything else → export const propName = <rhs>
92
+ export const makeNamedExportStatement = (propName, rhs) => {
93
+ if (t.isFunctionExpression(rhs)) {
94
+ const fn = rhs;
95
+ return t.exportNamedDeclaration(t.functionDeclaration(t.identifier(propName), fn.params, fn.body, fn.generator, fn.async));
96
+ }
97
+ if (t.isIdentifier(rhs)) {
98
+ const local = rhs;
99
+ const exported = VALID_IDENT_RE.test(propName)
100
+ ? t.identifier(propName)
101
+ : t.stringLiteral(propName);
102
+ return t.exportNamedDeclaration(null, [t.exportSpecifier(local, exported)]);
103
+ }
104
+ return t.exportNamedDeclaration(t.variableDeclaration("const", [t.variableDeclarator(t.identifier(propName), rhs)]));
105
+ };
106
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/refactor/react/helpers.ts"],"names":[],"mappings":"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"}