@generaltranslation/compiler 1.3.22 → 1.3.23

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 (226) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +23 -0
  2. package/dist/config.js +32 -27
  3. package/dist/config.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +120 -187
  7. package/dist/index.js.map +1 -1
  8. package/dist/passes/basePass.js +40 -83
  9. package/dist/passes/basePass.js.map +1 -1
  10. package/dist/passes/collectionPass.js +18 -11
  11. package/dist/passes/collectionPass.js.map +1 -1
  12. package/dist/passes/handleErrors.js +21 -30
  13. package/dist/passes/handleErrors.js.map +1 -1
  14. package/dist/passes/injectionPass.js +15 -9
  15. package/dist/passes/injectionPass.js.map +1 -1
  16. package/dist/passes/jsxInsertionPass.js +33 -31
  17. package/dist/passes/jsxInsertionPass.js.map +1 -1
  18. package/dist/passes/macroExpansionPass.js +28 -26
  19. package/dist/passes/macroExpansionPass.js.map +1 -1
  20. package/dist/passes/runtimeTranslatePass.js +37 -35
  21. package/dist/passes/runtimeTranslatePass.js.map +1 -1
  22. package/dist/processing/collection/processCallExpression.js +144 -249
  23. package/dist/processing/collection/processCallExpression.js.map +1 -1
  24. package/dist/processing/collection/processTaggedTemplateExpression.js +38 -75
  25. package/dist/processing/collection/processTaggedTemplateExpression.js.map +1 -1
  26. package/dist/processing/collection/processVariableDeclarator.js +20 -18
  27. package/dist/processing/collection/processVariableDeclarator.js.map +1 -1
  28. package/dist/processing/index.js +29 -31
  29. package/dist/processing/injection/processCallExpression.js +69 -142
  30. package/dist/processing/injection/processCallExpression.js.map +1 -1
  31. package/dist/processing/injection/processVariableDeclarator.js +22 -20
  32. package/dist/processing/injection/processVariableDeclarator.js.map +1 -1
  33. package/dist/processing/jsx-insertion/processCallExpression.js +284 -393
  34. package/dist/processing/jsx-insertion/processCallExpression.js.map +1 -1
  35. package/dist/processing/jsx-insertion/processImportDeclaration.js +37 -83
  36. package/dist/processing/jsx-insertion/processImportDeclaration.js.map +1 -1
  37. package/dist/processing/jsx-insertion/processProgram.js +26 -66
  38. package/dist/processing/jsx-insertion/processProgram.js.map +1 -1
  39. package/dist/processing/macro-expansion/processImportDeclaration.js +21 -55
  40. package/dist/processing/macro-expansion/processImportDeclaration.js.map +1 -1
  41. package/dist/processing/macro-expansion/processProgram.js +20 -26
  42. package/dist/processing/macro-expansion/processProgram.js.map +1 -1
  43. package/dist/processing/macro-expansion/processTaggedTemplateExpression.js +33 -69
  44. package/dist/processing/macro-expansion/processTaggedTemplateExpression.js.map +1 -1
  45. package/dist/processing/processArrowFunctionExpression.js +18 -16
  46. package/dist/processing/processArrowFunctionExpression.js.map +1 -1
  47. package/dist/processing/processAssignmentExpression.js +12 -10
  48. package/dist/processing/processAssignmentExpression.js.map +1 -1
  49. package/dist/processing/processCatchClause.js +18 -16
  50. package/dist/processing/processCatchClause.js.map +1 -1
  51. package/dist/processing/processClassDeclaration.js +18 -16
  52. package/dist/processing/processClassDeclaration.js.map +1 -1
  53. package/dist/processing/processClassMethod.js +18 -17
  54. package/dist/processing/processClassMethod.js.map +1 -1
  55. package/dist/processing/processClassPrivateMethod.js +18 -17
  56. package/dist/processing/processClassPrivateMethod.js.map +1 -1
  57. package/dist/processing/processForInStatement.js +18 -16
  58. package/dist/processing/processForInStatement.js.map +1 -1
  59. package/dist/processing/processForOfStatement.js +18 -16
  60. package/dist/processing/processForOfStatement.js.map +1 -1
  61. package/dist/processing/processFunctionDeclaration.js +20 -18
  62. package/dist/processing/processFunctionDeclaration.js.map +1 -1
  63. package/dist/processing/processFunctionExpression.js +26 -24
  64. package/dist/processing/processFunctionExpression.js.map +1 -1
  65. package/dist/processing/processImportDeclaration.js +11 -9
  66. package/dist/processing/processImportDeclaration.js.map +1 -1
  67. package/dist/processing/processObjectMethod.js +19 -18
  68. package/dist/processing/processObjectMethod.js.map +1 -1
  69. package/dist/processing/processProgram.js +13 -13
  70. package/dist/processing/processProgram.js.map +1 -1
  71. package/dist/processing/processScopeChange.js +15 -13
  72. package/dist/processing/processScopeChange.js.map +1 -1
  73. package/dist/processing/runtime-translate/processImportDeclaration.js +30 -63
  74. package/dist/processing/runtime-translate/processImportDeclaration.js.map +1 -1
  75. package/dist/processing/runtime-translate/processProgram.js +34 -57
  76. package/dist/processing/runtime-translate/processProgram.js.map +1 -1
  77. package/dist/state/ErrorTracker.js +18 -17
  78. package/dist/state/ErrorTracker.js.map +1 -1
  79. package/dist/state/Logger.js +42 -52
  80. package/dist/state/Logger.js.map +1 -1
  81. package/dist/state/ScopeTracker.js +154 -209
  82. package/dist/state/ScopeTracker.js.map +1 -1
  83. package/dist/state/StringCollector.js +165 -184
  84. package/dist/state/StringCollector.js.map +1 -1
  85. package/dist/state/types.js +1 -3
  86. package/dist/state/utils/initializeState.js +62 -67
  87. package/dist/state/utils/initializeState.js.map +1 -1
  88. package/dist/transform/getTrackedVariable.js +33 -38
  89. package/dist/transform/getTrackedVariable.js.map +1 -1
  90. package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js +19 -27
  91. package/dist/transform/injection/callbacks/injectUseGTCallbackParameters.js.map +1 -1
  92. package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js +8 -6
  93. package/dist/transform/injection/callbacks/injectUseMessagesCallbackParameters.js.map +1 -1
  94. package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js +8 -6
  95. package/dist/transform/injection/callbacks/injectUseTranslationsCallbackParameters.js.map +1 -1
  96. package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js +74 -155
  97. package/dist/transform/injection/injectCallbackDeclaratorFunctionParameters.js.map +1 -1
  98. package/dist/transform/injection/injectHashIntoTranslationOptions.js +21 -61
  99. package/dist/transform/injection/injectHashIntoTranslationOptions.js.map +1 -1
  100. package/dist/transform/injection/injectStandaloneTFunctionParameters.js +21 -27
  101. package/dist/transform/injection/injectStandaloneTFunctionParameters.js.map +1 -1
  102. package/dist/transform/injection/injectTComponentParameters.js +25 -65
  103. package/dist/transform/injection/injectTComponentParameters.js.map +1 -1
  104. package/dist/transform/jsx-children/constructJsxChildren.js +273 -392
  105. package/dist/transform/jsx-children/constructJsxChildren.js.map +1 -1
  106. package/dist/transform/jsx-children/errors.js +16 -6
  107. package/dist/transform/jsx-children/errors.js.map +1 -1
  108. package/dist/transform/jsx-children/index.js +3 -6
  109. package/dist/transform/jsx-children/utils/getBranchComponentParameters.js +26 -85
  110. package/dist/transform/jsx-children/utils/getBranchComponentParameters.js.map +1 -1
  111. package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js +33 -66
  112. package/dist/transform/jsx-children/utils/getCalleeNameFromJsxExpressionParam.js.map +1 -1
  113. package/dist/transform/jsx-children/utils/id.js +18 -17
  114. package/dist/transform/jsx-children/utils/id.js.map +1 -1
  115. package/dist/transform/jsx-children/validation/validateChildrenElement.js +13 -47
  116. package/dist/transform/jsx-children/validation/validateChildrenElement.js.map +1 -1
  117. package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js +25 -63
  118. package/dist/transform/jsx-children/validation/validateChildrenFromArgs.js.map +1 -1
  119. package/dist/transform/jsx-children/validation/validateIdentifier.js +38 -41
  120. package/dist/transform/jsx-children/validation/validateIdentifier.js.map +1 -1
  121. package/dist/transform/jsx-children/validation/validateJsxCall.js +15 -26
  122. package/dist/transform/jsx-children/validation/validateJsxCall.js.map +1 -1
  123. package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js +33 -61
  124. package/dist/transform/jsx-children/validation/validateNameFieldForVarComponent.js.map +1 -1
  125. package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js +38 -66
  126. package/dist/transform/jsx-children/validation/validateStringLiteralPropertyFromArg.js.map +1 -1
  127. package/dist/transform/jsx-children/validation/validateTemplateLiteral.js +17 -13
  128. package/dist/transform/jsx-children/validation/validateTemplateLiteral.js.map +1 -1
  129. package/dist/transform/jsx-children/validation/validateUnaryExpression.js +26 -61
  130. package/dist/transform/jsx-children/validation/validateUnaryExpression.js.map +1 -1
  131. package/dist/transform/jsx-insertion/injectJsxInsertionImport.js +16 -48
  132. package/dist/transform/jsx-insertion/injectJsxInsertionImport.js.map +1 -1
  133. package/dist/transform/macro-expansion/injectMacroImport.js +14 -43
  134. package/dist/transform/macro-expansion/injectMacroImport.js.map +1 -1
  135. package/dist/transform/macro-expansion/transformTemplateLiteral.js +23 -22
  136. package/dist/transform/macro-expansion/transformTemplateLiteral.js.map +1 -1
  137. package/dist/transform/registration/callbacks/registerUseGTCallback.js +27 -34
  138. package/dist/transform/registration/callbacks/registerUseGTCallback.js.map +1 -1
  139. package/dist/transform/registration/callbacks/registerUseMessagesCallback.js +9 -9
  140. package/dist/transform/registration/callbacks/registerUseMessagesCallback.js.map +1 -1
  141. package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js +9 -9
  142. package/dist/transform/registration/callbacks/registerUseTranslationsCallback.js.map +1 -1
  143. package/dist/transform/registration/registerStandaloneTranslation.js +27 -28
  144. package/dist/transform/registration/registerStandaloneTranslation.js.map +1 -1
  145. package/dist/transform/registration/registerTranslationComponent.js +15 -15
  146. package/dist/transform/registration/registerTranslationComponent.js.map +1 -1
  147. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js +34 -85
  148. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js.map +1 -1
  149. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js +25 -55
  150. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js.map +1 -1
  151. package/dist/transform/tracking/trackAssignmentExpression.js +26 -63
  152. package/dist/transform/tracking/trackAssignmentExpression.js.map +1 -1
  153. package/dist/transform/tracking/trackCatchClause.js +17 -48
  154. package/dist/transform/tracking/trackCatchClause.js.map +1 -1
  155. package/dist/transform/tracking/trackClassDeclaration.js +13 -13
  156. package/dist/transform/tracking/trackClassDeclaration.js.map +1 -1
  157. package/dist/transform/tracking/trackForDeclaration.js +17 -53
  158. package/dist/transform/tracking/trackForDeclaration.js.map +1 -1
  159. package/dist/transform/tracking/trackFunctionName.js +10 -10
  160. package/dist/transform/tracking/trackFunctionName.js.map +1 -1
  161. package/dist/transform/tracking/trackFunctionParams.js +19 -54
  162. package/dist/transform/tracking/trackFunctionParams.js.map +1 -1
  163. package/dist/transform/tracking/trackImportDeclaration.js +36 -89
  164. package/dist/transform/tracking/trackImportDeclaration.js.map +1 -1
  165. package/dist/transform/tracking/trackOverridingVariable.js +9 -11
  166. package/dist/transform/tracking/trackOverridingVariable.js.map +1 -1
  167. package/dist/transform/tracking/trackVariableDeclarator.js +51 -102
  168. package/dist/transform/tracking/trackVariableDeclarator.js.map +1 -1
  169. package/dist/transform/validation/validateTranslationComponentArgs.js +156 -232
  170. package/dist/transform/validation/validateTranslationComponentArgs.js.map +1 -1
  171. package/dist/transform/validation/validateTranslationFunction.js +218 -329
  172. package/dist/transform/validation/validateTranslationFunction.js.map +1 -1
  173. package/dist/utils/calculateHash.js +55 -70
  174. package/dist/utils/calculateHash.js.map +1 -1
  175. package/dist/utils/constants/gt/constants.js +142 -132
  176. package/dist/utils/constants/gt/constants.js.map +1 -1
  177. package/dist/utils/constants/gt/helpers.js +147 -149
  178. package/dist/utils/constants/gt/helpers.js.map +1 -1
  179. package/dist/utils/constants/other/constants.js +45 -41
  180. package/dist/utils/constants/other/constants.js.map +1 -1
  181. package/dist/utils/constants/other/helpers.js +13 -11
  182. package/dist/utils/constants/other/helpers.js.map +1 -1
  183. package/dist/utils/constants/react/constants.js +47 -41
  184. package/dist/utils/constants/react/constants.js.map +1 -1
  185. package/dist/utils/constants/react/helpers.js +17 -16
  186. package/dist/utils/constants/react/helpers.js.map +1 -1
  187. package/dist/utils/constants/resolveIdentifier/isGTComponent.js +41 -76
  188. package/dist/utils/constants/resolveIdentifier/isGTComponent.js.map +1 -1
  189. package/dist/utils/constants/resolveIdentifier/isReactJsxFunction.js +33 -83
  190. package/dist/utils/constants/resolveIdentifier/isReactJsxFunction.js.map +1 -1
  191. package/dist/utils/errors.js +18 -20
  192. package/dist/utils/errors.js.map +1 -1
  193. package/dist/utils/multiplication/multiply.js +31 -35
  194. package/dist/utils/multiplication/multiply.js.map +1 -1
  195. package/dist/utils/multiplication/types.js +1 -3
  196. package/dist/utils/parsing/extractIdentifiersFromLVal.js +30 -96
  197. package/dist/utils/parsing/extractIdentifiersFromLVal.js.map +1 -1
  198. package/dist/utils/parsing/getCalleeNameFromExpression.js +31 -65
  199. package/dist/utils/parsing/getCalleeNameFromExpression.js.map +1 -1
  200. package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js +13 -10
  201. package/dist/utils/parsing/getCalleeNameFromExpressionWrapper.js.map +1 -1
  202. package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js +19 -56
  203. package/dist/utils/parsing/getObjectPropertyFromObjectExpression.js.map +1 -1
  204. package/dist/utils/parsing/getStringLiteralFromExpression.js +18 -49
  205. package/dist/utils/parsing/getStringLiteralFromExpression.js.map +1 -1
  206. package/dist/utils/parsing/isDeriveInvocation.js +25 -61
  207. package/dist/utils/parsing/isDeriveInvocation.js.map +1 -1
  208. package/dist/utils/parsing/isStringTranslationTaggedTemplate.js +23 -59
  209. package/dist/utils/parsing/isStringTranslationTaggedTemplate.js.map +1 -1
  210. package/dist/utils/string-expressions/buildTransformationResult.js +57 -96
  211. package/dist/utils/string-expressions/buildTransformationResult.js.map +1 -1
  212. package/dist/utils/string-expressions/flattenExpressionToParts.js +131 -142
  213. package/dist/utils/string-expressions/flattenExpressionToParts.js.map +1 -1
  214. package/dist/utils/string-expressions/resolveStaticExpression.js +36 -34
  215. package/dist/utils/string-expressions/resolveStaticExpression.js.map +1 -1
  216. package/dist/utils/validation/validateChildrenFromObjectExpression.js +29 -24
  217. package/dist/utils/validation/validateChildrenFromObjectExpression.js.map +1 -1
  218. package/dist/utils/validation/validateExpressionIsNumericLiteral.js +13 -47
  219. package/dist/utils/validation/validateExpressionIsNumericLiteral.js.map +1 -1
  220. package/dist/utils/validation/validateExpressionIsStringLiteral.js +15 -48
  221. package/dist/utils/validation/validateExpressionIsStringLiteral.js.map +1 -1
  222. package/package.json +8 -5
  223. package/dist/processing/index.js.map +0 -1
  224. package/dist/state/types.js.map +0 -1
  225. package/dist/transform/jsx-children/index.js.map +0 -1
  226. package/dist/utils/multiplication/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/jsx-insertion/processCallExpression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processCallExpression.js","names":["isReactJsxFunction","isUserVariableComponent","isUserTranslationComponent","resolveFirstArgGTName","isGTBranchComponent","isGTDeriveComponent","t","BRANCH_CONTROL_PROPS","PLURAL_CONTROL_PROPS"],"sources":["../../../src/processing/jsx-insertion/processCallExpression.ts"],"sourcesContent":["import { VisitNode, NodePath } from '@babel/traverse';\nimport { TransformState } from '../../state/types';\nimport * as t from '@babel/types';\nimport {\n GT_COMPONENT_TYPES,\n BRANCH_CONTROL_PROPS,\n PLURAL_CONTROL_PROPS,\n} from '../../utils/constants/gt/constants';\nimport { OTHER_IDENTIFIERS_ENUM } from '../../utils/constants/other/constants';\nimport { REACT_FUNTIONS } from '../../utils/constants/react/constants';\nimport { isReactJsxFunction } from '../../utils/constants/resolveIdentifier/isReactJsxFunction';\nimport {\n resolveFirstArgGTName,\n isUserTranslationComponent,\n isUserVariableComponent,\n isGTBranchComponent,\n isGTDeriveComponent,\n} from '../../utils/constants/resolveIdentifier/isGTComponent';\nimport { JsxCalleeInfo } from './processImportDeclaration';\n\n/**\n * Extended state for the JSX insertion pass.\n * Bundles the base TransformState with insertion-specific context.\n */\ninterface JsxInsertionState extends TransformState {\n processedNodes: WeakSet<t.Node>;\n calleeInfo: JsxCalleeInfo;\n /** Depth counter: when > 0, we are inside a user Var/Num/Currency/DateTime — skip all transforms */\n insideUserVarDepth: number;\n}\n\n/**\n * Babel visitor entry point for the JSX insertion pass.\n *\n * All internal functions use NodePath-based traversal via .get() so that\n * Babel binding lookups (scope.getBinding) work correctly at every depth.\n * This handles aliased imports like `import { jsxDEV as _jsxDEV }`.\n */\nexport function processCallExpression(\n state: TransformState,\n calleeInfo: JsxCalleeInfo\n): VisitNode<t.Node, t.CallExpression> {\n const jsxState: JsxInsertionState = {\n ...state,\n processedNodes: new WeakSet<t.Node>(),\n calleeInfo,\n insideUserVarDepth: 0,\n };\n\n return {\n enter: (path) => {\n // Check jsx callee first — needed for both user Var detection and processing\n const calleePath = path.get('callee');\n if (\n (!calleePath.isIdentifier() && !calleePath.isMemberExpression()) ||\n !isReactJsxFunction(calleePath)\n ) {\n return;\n }\n\n // Check if this is a user Var/Num/Currency/DateTime — suppress transforms inside.\n // This must happen BEFORE the processedNodes check, because user T's\n // markDescendantJsxCalls may have already added the Var call to processedNodes,\n // but we still need to increment the depth counter so children are suppressed.\n const firstArg = path.get('arguments')[0];\n if (firstArg?.isExpression() && isUserVariableComponent(firstArg)) {\n jsxState.insideUserVarDepth++;\n return;\n }\n\n // Skip all processing when inside a user variable component\n if (jsxState.insideUserVarDepth > 0) return;\n\n if (jsxState.processedNodes.has(path.node)) return;\n\n processJsxNode({ path, insideAutoT: false, state: jsxState });\n },\n exit: (path) => {\n // Decrement depth when exiting a user Var/Num/Currency/DateTime\n const calleePath = path.get('callee');\n if (\n (!calleePath.isIdentifier() && !calleePath.isMemberExpression()) ||\n !isReactJsxFunction(calleePath)\n ) {\n return;\n }\n const firstArg = path.get('arguments')[0];\n if (firstArg?.isExpression() && isUserVariableComponent(firstArg)) {\n jsxState.insideUserVarDepth--;\n }\n },\n };\n}\n\n// ===== Core recursive function =====\n\nfunction processJsxNode({\n path,\n insideAutoT,\n state,\n}: {\n path: NodePath<t.CallExpression>;\n insideAutoT: boolean;\n state: JsxInsertionState;\n}): void {\n state.processedNodes.add(path.node);\n\n const firstArgPath = path.get('arguments')[0];\n if (!firstArgPath?.isExpression()) return;\n\n // User T → mark all descendant jsx calls as processed, hands off\n if (isUserTranslationComponent(firstArgPath)) {\n markDescendantJsxCalls({ jsxCallPath: path, state });\n return;\n }\n\n // User Var/Num/Currency/DateTime → mark descendants, hands off\n if (isUserVariableComponent(firstArgPath)) {\n markDescendantJsxCalls({ jsxCallPath: path, state });\n return;\n }\n\n // Already auto-inserted → skip\n const gtName = resolveFirstArgGTName(firstArgPath);\n if (\n gtName === GT_COMPONENT_TYPES.GtInternalTranslateJsx ||\n gtName === GT_COMPONENT_TYPES.GtInternalVar\n ) {\n return;\n }\n\n // Branch/Plural/Derive/Static → opaque for static JSX, dynamic props get _Var\n if (isGTBranchComponent(firstArgPath) || isGTDeriveComponent(firstArgPath)) {\n // Process props BEFORE wrapping — path still points to the opaque component\n processOpaqueComponentProps({\n jsxCallPath: path,\n insideAutoT: !insideAutoT ? true : insideAutoT,\n state,\n });\n if (!insideAutoT) {\n // Root-level opaque component — wrap in _T (single child → use singleCallee)\n const callee =\n state.calleeInfo.singleCallee ??\n state.calleeInfo.multiCallee ??\n REACT_FUNTIONS.jsx;\n const tWrapped = wrapInT(\n path.node,\n t.identifier(callee),\n state.calleeInfo\n );\n state.processedNodes.add(tWrapped);\n path.replaceWith(tWrapped);\n state.statistics.jsxInsertionsCount++;\n }\n return;\n }\n\n // --- Get children prop path ---\n const childrenPropPath = getChildrenPropPath(path);\n if (!childrenPropPath) return;\n\n const childrenPath = childrenPropPath.get('value');\n if (!childrenPath.isExpression()) return;\n\n // --- Determine if this level should claim T ---\n const shouldClaimT =\n !insideAutoT &&\n (hasNonWhitespaceText(childrenPath) || hasOpaqueGTChild(childrenPath));\n\n if (shouldClaimT) {\n processChildren({ childrenPath, insideAutoT: true, state });\n const currentChildren = childrenPropPath.get('value').node;\n const tCallee = t.isArrayExpression(currentChildren)\n ? state.calleeInfo.multiCallee\n : state.calleeInfo.singleCallee;\n const tWrapped = wrapInT(\n currentChildren as t.Expression,\n t.identifier(tCallee ?? 'jsx'),\n state.calleeInfo\n );\n state.processedNodes.add(tWrapped);\n childrenPropPath.get('value').replaceWith(tWrapped);\n updateCalleeToSingle({ jsxCallPath: path, state });\n state.statistics.jsxInsertionsCount++;\n } else if (insideAutoT) {\n processChildren({ childrenPath, insideAutoT: true, state });\n } else {\n recurseChildJsxCalls({ childrenPath, insideAutoT: false, state });\n }\n}\n\n// ===== Children processing ===== //\n\nfunction processChildren({\n childrenPath,\n insideAutoT,\n state,\n}: {\n childrenPath: NodePath<t.Expression>;\n insideAutoT: boolean;\n state: JsxInsertionState;\n}): void {\n if (childrenPath.isArrayExpression()) {\n for (const elPath of childrenPath.get('elements')) {\n if (elPath.isExpression()) {\n processSingleChild({ childPath: elPath, insideAutoT, state });\n }\n }\n return;\n }\n processSingleChild({ childPath: childrenPath, insideAutoT, state });\n}\n\nfunction processSingleChild({\n childPath,\n insideAutoT,\n state,\n}: {\n childPath: NodePath<t.Expression>;\n insideAutoT: boolean;\n state: JsxInsertionState;\n}): void {\n if (childPath.isCallExpression() && isJsxCallPath(childPath)) {\n processJsxNode({ path: childPath, insideAutoT, state });\n return;\n }\n\n // _Var always has a single child → use singleCallee\n if (insideAutoT && needsVarWrapping(childPath)) {\n const callee = state.calleeInfo.singleCallee ?? REACT_FUNTIONS.jsx;\n const wrapped = wrapInVar(\n childPath.node,\n t.identifier(callee),\n state.calleeInfo\n );\n state.processedNodes.add(wrapped);\n childPath.replaceWith(wrapped);\n }\n}\n\nfunction recurseChildJsxCalls({\n childrenPath,\n insideAutoT,\n state,\n}: {\n childrenPath: NodePath<t.Expression>;\n insideAutoT: boolean;\n state: JsxInsertionState;\n}): void {\n if (childrenPath.isArrayExpression()) {\n for (const elPath of childrenPath.get('elements')) {\n if (elPath.isCallExpression() && isJsxCallPath(elPath)) {\n processJsxNode({ path: elPath, insideAutoT, state });\n }\n }\n } else if (childrenPath.isCallExpression() && isJsxCallPath(childrenPath)) {\n processJsxNode({ path: childrenPath, insideAutoT, state });\n }\n}\n\n// ===== Helper functions =====\n\nfunction getChildrenPropPath(\n jsxCallPath: NodePath<t.CallExpression>\n): NodePath<t.ObjectProperty> | undefined {\n const args = jsxCallPath.get('arguments');\n const propsArg = args[1];\n if (!propsArg?.isObjectExpression()) return undefined;\n\n for (const propPath of propsArg.get('properties')) {\n if (\n propPath.isObjectProperty() &&\n t.isIdentifier(propPath.node.key, { name: 'children' })\n ) {\n return propPath;\n }\n }\n return undefined;\n}\n\nfunction isJsxCallPath(callPath: NodePath<t.CallExpression>): boolean {\n const callee = callPath.get('callee');\n if (!callee.isIdentifier() && !callee.isMemberExpression()) return false;\n return isReactJsxFunction(callee);\n}\n\nfunction hasNonWhitespaceText(childrenPath: NodePath<t.Expression>): boolean {\n const isText = (p: NodePath): boolean => {\n if (p.isStringLiteral()) return p.node.value.trim().length > 0;\n if (p.isTemplateLiteral()) {\n return (\n p.node.expressions.length === 0 &&\n (p.node.quasis[0]?.value.cooked ?? '').trim().length > 0\n );\n }\n return false;\n };\n\n if (childrenPath.isArrayExpression()) {\n return childrenPath\n .get('elements')\n .some((el) => el.isExpression() && isText(el));\n }\n return isText(childrenPath);\n}\n\nfunction hasOpaqueGTChild(childrenPath: NodePath<t.Expression>): boolean {\n const isOpaque = (elPath: NodePath): boolean => {\n if (!elPath.isCallExpression() || !isJsxCallPath(elPath)) return false;\n const firstArg = elPath.get('arguments')[0];\n if (!firstArg?.isExpression()) return false;\n return isGTBranchComponent(firstArg) || isGTDeriveComponent(firstArg);\n };\n\n if (childrenPath.isArrayExpression()) {\n return childrenPath\n .get('elements')\n .some((el) => el.isExpression() && isOpaque(el));\n }\n return isOpaque(childrenPath);\n}\n\nfunction needsVarWrapping(exprPath: NodePath<t.Expression>): boolean {\n if (exprPath.isStringLiteral()) return false;\n if (exprPath.isNumericLiteral()) return false;\n if (exprPath.isBooleanLiteral()) return false;\n if (exprPath.isNullLiteral()) return false;\n if (exprPath.isTemplateLiteral() && exprPath.node.expressions.length === 0) {\n return false;\n }\n if (\n exprPath.isUnaryExpression() &&\n exprPath.node.operator === '-' &&\n t.isNumericLiteral(exprPath.node.argument)\n ) {\n return false;\n }\n if (exprPath.isIdentifier()) {\n return ![\n OTHER_IDENTIFIERS_ENUM.UNDEFINED,\n OTHER_IDENTIFIERS_ENUM.NAN,\n OTHER_IDENTIFIERS_ENUM.INFINITY,\n ].includes(exprPath.node.name as OTHER_IDENTIFIERS_ENUM);\n }\n if (exprPath.isCallExpression() && isJsxCallPath(exprPath)) {\n return false;\n }\n return true;\n}\n\n/**\n * After wrapping children in _T, the parent now has a single child.\n * Update its callee from jsxs → jsx if needed.\n */\nfunction updateCalleeToSingle({\n jsxCallPath,\n state,\n}: {\n jsxCallPath: NodePath<t.CallExpression>;\n state: JsxInsertionState;\n}): void {\n const { singleCallee, multiCallee } = state.calleeInfo;\n\n // Production (jsx/jsxs): update callee name jsxs → jsx\n if (singleCallee && multiCallee && singleCallee !== multiCallee) {\n const callee = jsxCallPath.get('callee');\n if (callee.isIdentifier() && callee.node.name === multiCallee) {\n callee.node.name = singleCallee;\n }\n }\n\n // Dev (jsxDEV): update isStaticChildren (4th arg, index 3) to false\n const args = jsxCallPath.get('arguments');\n const isStaticArg = args[3];\n if (isStaticArg?.isBooleanLiteral({ value: true })) {\n isStaticArg.replaceWith(t.booleanLiteral(false));\n }\n}\n\n// ===== AST construction =====\n\nfunction wrapInVar(\n expr: t.Expression,\n callee: t.Expression,\n calleeInfo: JsxCalleeInfo\n): t.CallExpression {\n const args: t.Expression[] = [\n t.identifier(GT_COMPONENT_TYPES.GtInternalVar),\n t.objectExpression([t.objectProperty(t.identifier('children'), expr)]),\n ];\n if (isDevMode(calleeInfo)) {\n args.push(\n t.unaryExpression('void', t.numericLiteral(0)),\n t.booleanLiteral(false)\n );\n }\n return t.callExpression(t.cloneNode(callee), args);\n}\n\nfunction wrapInT(\n children: t.Expression,\n callee: t.Expression,\n calleeInfo: JsxCalleeInfo\n): t.CallExpression {\n const args: t.Expression[] = [\n t.identifier(GT_COMPONENT_TYPES.GtInternalTranslateJsx),\n t.objectExpression([t.objectProperty(t.identifier('children'), children)]),\n ];\n if (isDevMode(calleeInfo)) {\n args.push(\n t.unaryExpression('void', t.numericLiteral(0)),\n t.booleanLiteral(t.isArrayExpression(children))\n );\n }\n return t.callExpression(t.cloneNode(callee), args);\n}\n\nfunction isDevMode(calleeInfo: JsxCalleeInfo): boolean {\n return (\n calleeInfo.singleCallee != null &&\n calleeInfo.singleCallee === calleeInfo.multiCallee\n );\n}\n\n// ===== Marking descendants as processed =====\n\nfunction markDescendantJsxCalls({\n jsxCallPath,\n state,\n}: {\n jsxCallPath: NodePath<t.CallExpression>;\n state: JsxInsertionState;\n}): void {\n const childrenPropPath = getChildrenPropPath(jsxCallPath);\n if (!childrenPropPath) return;\n const valuePath = childrenPropPath.get('value');\n if (valuePath.isExpression()) {\n walkAndMark({ exprPath: valuePath, state });\n }\n}\n\nfunction processOpaqueComponentProps({\n jsxCallPath,\n insideAutoT,\n state,\n}: {\n jsxCallPath: NodePath<t.CallExpression>;\n insideAutoT: boolean;\n state: JsxInsertionState;\n}): void {\n const args = jsxCallPath.get('arguments');\n const propsArg = args[1];\n if (!propsArg?.isObjectExpression()) return;\n\n // Resolve component type to filter control props\n const firstArgPath = args[0];\n const gtName = firstArgPath?.isExpression()\n ? resolveFirstArgGTName(firstArgPath)\n : null;\n\n for (const propPath of propsArg.get('properties')) {\n if (!propPath.isObjectProperty()) continue;\n\n // Determine prop name and skip control props\n const key = propPath.node.key;\n const propName = t.isIdentifier(key)\n ? key.name\n : t.isStringLiteral(key)\n ? key.value\n : null;\n if (isControlProp(gtName, propName)) continue;\n\n const valuePath = propPath.get('value');\n if (!valuePath.isExpression()) continue;\n\n // children is fallback content for Branch/Plural — process element-by-element\n // For Derive/Static, children is opaque — skip entirely\n if (propName === 'children') {\n if (\n insideAutoT &&\n (gtName === GT_COMPONENT_TYPES.Branch ||\n gtName === GT_COMPONENT_TYPES.Plural)\n ) {\n processChildren({ childrenPath: valuePath, insideAutoT: true, state });\n }\n continue;\n }\n\n if (valuePath.isCallExpression() && isJsxCallPath(valuePath)) {\n // Content prop with JSX value — recurse into children for Var-wrapping\n if (insideAutoT) {\n const childrenPropPath = getChildrenPropPath(valuePath);\n if (childrenPropPath) {\n const childrenPath = childrenPropPath.get('value');\n if (childrenPath.isExpression()) {\n processChildren({ childrenPath, insideAutoT: true, state });\n }\n }\n }\n state.processedNodes.add(valuePath.node);\n walkAndMark({ exprPath: valuePath, state });\n } else if (insideAutoT && needsVarWrapping(valuePath)) {\n const callee = state.calleeInfo.singleCallee ?? REACT_FUNTIONS.jsx;\n const wrapped = wrapInVar(\n valuePath.node,\n t.identifier(callee),\n state.calleeInfo\n );\n state.processedNodes.add(wrapped);\n valuePath.replaceWith(wrapped);\n }\n }\n}\n\nfunction isControlProp(\n gtName: string | null,\n propName: string | null\n): boolean {\n if (!propName) return false;\n if (gtName === GT_COMPONENT_TYPES.Branch) {\n return BRANCH_CONTROL_PROPS.has(propName) || propName.startsWith('data-');\n }\n if (gtName === GT_COMPONENT_TYPES.Plural) {\n return PLURAL_CONTROL_PROPS.has(propName);\n }\n return false;\n}\n\nfunction walkAndMark({\n exprPath,\n state,\n}: {\n exprPath: NodePath<t.Expression>;\n state: JsxInsertionState;\n}): void {\n if (exprPath.isCallExpression() && isJsxCallPath(exprPath)) {\n state.processedNodes.add(exprPath.node);\n const childrenPropPath = getChildrenPropPath(exprPath);\n if (childrenPropPath) {\n const valuePath = childrenPropPath.get('value');\n if (valuePath.isExpression()) {\n walkAndMark({ exprPath: valuePath, state });\n }\n }\n } else if (exprPath.isArrayExpression()) {\n for (const elPath of exprPath.get('elements')) {\n if (elPath.isExpression()) {\n walkAndMark({ exprPath: elPath, state });\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,87 +1,41 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.processImportDeclaration = processImportDeclaration;
37
- const t = __importStar(require("@babel/types"));
38
- const helpers_1 = require("../../utils/constants/gt/helpers");
39
- const helpers_2 = require("../../utils/constants/react/helpers");
40
- const constants_1 = require("../../utils/constants/gt/constants");
41
- const constants_2 = require("../../utils/constants/react/constants");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
3
+ require("../../utils/constants/gt/constants.js");
4
+ const require_utils_constants_gt_helpers = require("../../utils/constants/gt/helpers.js");
5
+ require("../../utils/constants/react/constants.js");
6
+ const require_utils_constants_react_helpers = require("../../utils/constants/react/helpers.js");
7
+ let _babel_types = require("@babel/types");
8
+ _babel_types = require_runtime.__toESM(_babel_types);
9
+ //#region src/processing/jsx-insertion/processImportDeclaration.ts
42
10
  /**
43
- * Process import declarations during jsx insertion.
44
- * - Checks if GtInternalTranslateJsx is already imported from a GT source.
45
- * - Collects React jsx callee info (jsx vs jsxs vs jsxDEV, including aliases).
46
- */
11
+ * Process import declarations during jsx insertion.
12
+ * - Checks if GtInternalTranslateJsx is already imported from a GT source.
13
+ * - Collects React jsx callee info (jsx vs jsxs vs jsxDEV, including aliases).
14
+ */
47
15
  function processImportDeclaration(onGtImportFound, calleeInfo) {
48
- const targetName = constants_1.GT_COMPONENT_TYPES.GtInternalTranslateJsx;
49
- return (path) => {
50
- const source = path.node.source.value;
51
- // Check for existing GT import
52
- if ((0, helpers_1.isGTImportSource)(source)) {
53
- for (const specifier of path.node.specifiers) {
54
- if (t.isImportSpecifier(specifier) &&
55
- t.isIdentifier(specifier.imported) &&
56
- specifier.imported.name === targetName) {
57
- onGtImportFound();
58
- return;
59
- }
60
- }
61
- }
62
- // Collect React jsx callee names
63
- if ((0, helpers_2.isReactImportSource)(source)) {
64
- for (const specifier of path.node.specifiers) {
65
- if (!t.isImportSpecifier(specifier))
66
- continue;
67
- const imported = specifier.imported;
68
- const originalName = t.isIdentifier(imported)
69
- ? imported.name
70
- : imported.value;
71
- const localName = specifier.local.name;
72
- if (originalName === constants_2.REACT_FUNTIONS.jsxDEV) {
73
- // Dev mode: jsxDEV handles both single and multi children
74
- calleeInfo.singleCallee = localName;
75
- calleeInfo.multiCallee = localName;
76
- }
77
- else if (originalName === constants_2.REACT_FUNTIONS.jsx) {
78
- calleeInfo.singleCallee = localName;
79
- }
80
- else if (originalName === constants_2.REACT_FUNTIONS.jsxs) {
81
- calleeInfo.multiCallee = localName;
82
- }
83
- }
84
- }
85
- };
16
+ const targetName = "GtInternalTranslateJsx";
17
+ return (path) => {
18
+ const source = path.node.source.value;
19
+ if (require_utils_constants_gt_helpers.isGTImportSource(source)) {
20
+ for (const specifier of path.node.specifiers) if (_babel_types.isImportSpecifier(specifier) && _babel_types.isIdentifier(specifier.imported) && specifier.imported.name === targetName) {
21
+ onGtImportFound();
22
+ return;
23
+ }
24
+ }
25
+ if (require_utils_constants_react_helpers.isReactImportSource(source)) for (const specifier of path.node.specifiers) {
26
+ if (!_babel_types.isImportSpecifier(specifier)) continue;
27
+ const imported = specifier.imported;
28
+ const originalName = _babel_types.isIdentifier(imported) ? imported.name : imported.value;
29
+ const localName = specifier.local.name;
30
+ if (originalName === "jsxDEV") {
31
+ calleeInfo.singleCallee = localName;
32
+ calleeInfo.multiCallee = localName;
33
+ } else if (originalName === "jsx") calleeInfo.singleCallee = localName;
34
+ else if (originalName === "jsxs") calleeInfo.multiCallee = localName;
35
+ }
36
+ };
86
37
  }
38
+ //#endregion
39
+ exports.processImportDeclaration = processImportDeclaration;
40
+
87
41
  //# sourceMappingURL=processImportDeclaration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processImportDeclaration.js","sourceRoot":"","sources":["../../../src/processing/jsx-insertion/processImportDeclaration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,4DA6CC;AApED,gDAAkC;AAClC,8DAAoE;AACpE,iEAA0E;AAC1E,kEAAwE;AACxE,qEAAuE;AAcvE;;;;GAIG;AACH,SAAgB,wBAAwB,CACtC,eAA2B,EAC3B,UAAyB;IAEzB,MAAM,UAAU,GAAG,8BAAkB,CAAC,sBAAsB,CAAC;IAE7D,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAEtC,+BAA+B;QAC/B,IAAI,IAAA,0BAAgB,EAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7C,IACE,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC;oBAC9B,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC;oBAClC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,EACtC,CAAC;oBACD,eAAe,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,IAAA,6BAAmB,EAAC,MAAM,CAAC,EAAE,CAAC;YAChC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7C,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;gBACpC,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;oBAC3C,CAAC,CAAC,QAAQ,CAAC,IAAI;oBACf,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACnB,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;gBAEvC,IAAI,YAAY,KAAK,0BAAc,CAAC,MAAM,EAAE,CAAC;oBAC3C,0DAA0D;oBAC1D,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC;oBACpC,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC;gBACrC,CAAC;qBAAM,IAAI,YAAY,KAAK,0BAAc,CAAC,GAAG,EAAE,CAAC;oBAC/C,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC;gBACtC,CAAC;qBAAM,IAAI,YAAY,KAAK,0BAAc,CAAC,IAAI,EAAE,CAAC;oBAChD,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"processImportDeclaration.js","names":["isGTImportSource","t","isReactImportSource"],"sources":["../../../src/processing/jsx-insertion/processImportDeclaration.ts"],"sourcesContent":["import { VisitNode } from '@babel/traverse';\nimport * as t from '@babel/types';\nimport { isGTImportSource } from '../../utils/constants/gt/helpers';\nimport { isReactImportSource } from '../../utils/constants/react/helpers';\nimport { GT_COMPONENT_TYPES } from '../../utils/constants/gt/constants';\nimport { REACT_FUNTIONS } from '../../utils/constants/react/constants';\n\n/**\n * Info about the jsx callee names used in the file.\n * Populated during import analysis so processCallExpression\n * knows which callee to use for jsx (single child) vs jsxs (array children).\n */\nexport interface JsxCalleeInfo {\n /** Local name for single-child calls (jsx or _jsx or _jsxDEV) */\n singleCallee: string | null;\n /** Local name for multi-child calls (jsxs or _jsxs or _jsxDEV) */\n multiCallee: string | null;\n}\n\n/**\n * Process import declarations during jsx insertion.\n * - Checks if GtInternalTranslateJsx is already imported from a GT source.\n * - Collects React jsx callee info (jsx vs jsxs vs jsxDEV, including aliases).\n */\nexport function processImportDeclaration(\n onGtImportFound: () => void,\n calleeInfo: JsxCalleeInfo\n): VisitNode<t.Node, t.ImportDeclaration> {\n const targetName = GT_COMPONENT_TYPES.GtInternalTranslateJsx;\n\n return (path) => {\n const source = path.node.source.value;\n\n // Check for existing GT import\n if (isGTImportSource(source)) {\n for (const specifier of path.node.specifiers) {\n if (\n t.isImportSpecifier(specifier) &&\n t.isIdentifier(specifier.imported) &&\n specifier.imported.name === targetName\n ) {\n onGtImportFound();\n return;\n }\n }\n }\n\n // Collect React jsx callee names\n if (isReactImportSource(source)) {\n for (const specifier of path.node.specifiers) {\n if (!t.isImportSpecifier(specifier)) continue;\n const imported = specifier.imported;\n const originalName = t.isIdentifier(imported)\n ? imported.name\n : imported.value;\n const localName = specifier.local.name;\n\n if (originalName === REACT_FUNTIONS.jsxDEV) {\n // Dev mode: jsxDEV handles both single and multi children\n calleeInfo.singleCallee = localName;\n calleeInfo.multiCallee = localName;\n } else if (originalName === REACT_FUNTIONS.jsx) {\n calleeInfo.singleCallee = localName;\n } else if (originalName === REACT_FUNTIONS.jsxs) {\n calleeInfo.multiCallee = localName;\n }\n }\n }\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAwBA,SAAgB,yBACd,iBACA,YACwC;CACxC,MAAM,aAAA;AAEN,SAAQ,SAAS;EACf,MAAM,SAAS,KAAK,KAAK,OAAO;AAGhC,MAAIA,mCAAAA,iBAAiB,OAAO;QACrB,MAAM,aAAa,KAAK,KAAK,WAChC,KACEC,aAAE,kBAAkB,UAAU,IAC9BA,aAAE,aAAa,UAAU,SAAS,IAClC,UAAU,SAAS,SAAS,YAC5B;AACA,qBAAiB;AACjB;;;AAMN,MAAIC,sCAAAA,oBAAoB,OAAO,CAC7B,MAAK,MAAM,aAAa,KAAK,KAAK,YAAY;AAC5C,OAAI,CAACD,aAAE,kBAAkB,UAAU,CAAE;GACrC,MAAM,WAAW,UAAU;GAC3B,MAAM,eAAeA,aAAE,aAAa,SAAS,GACzC,SAAS,OACT,SAAS;GACb,MAAM,YAAY,UAAU,MAAM;AAElC,OAAI,iBAAA,UAAwC;AAE1C,eAAW,eAAe;AAC1B,eAAW,cAAc;cAChB,iBAAA,MACT,YAAW,eAAe;YACjB,iBAAA,OACT,YAAW,cAAc"}
@@ -1,69 +1,29 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.processProgram = processProgram;
37
- const t = __importStar(require("@babel/types"));
38
- const injectJsxInsertionImport_1 = require("../../transform/jsx-insertion/injectJsxInsertionImport");
39
- const constants_1 = require("../../utils/constants/react/constants");
40
- const constants_2 = require("../../utils/constants/react/constants");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
3
+ require("../../utils/constants/react/constants.js");
4
+ const require_transform_jsx_insertion_injectJsxInsertionImport = require("../../transform/jsx-insertion/injectJsxInsertionImport.js");
5
+ let _babel_types = require("@babel/types");
6
+ _babel_types = require_runtime.__toESM(_babel_types);
7
+ //#region src/processing/jsx-insertion/processProgram.ts
41
8
  /**
42
- * Process program:
43
- * - on exit, injects GtInternalTranslateJsx/GtInternalVar import if needed
44
- * - also injects `jsx` from React runtime if only `jsxs` was imported
45
- * (Vite production builds only import what's needed — if a file has only
46
- * multi-child elements, `jsx` is never imported, but our _Var wrappers need it)
47
- */
48
- function processProgram({ state, countBefore, isAlreadyImported, calleeInfo, }) {
49
- return {
50
- exit(path) {
51
- const didInsert = state.statistics.jsxInsertionsCount > countBefore;
52
- if (!didInsert)
53
- return;
54
- if (!isAlreadyImported()) {
55
- (0, injectJsxInsertionImport_1.injectJsxInsertionImport)(path);
56
- }
57
- // If only jsxs was imported (no jsx), inject jsx import.
58
- // _Var wrappers always use singleCallee which defaults to 'jsx'.
59
- if (!calleeInfo.singleCallee && calleeInfo.multiCallee) {
60
- const jsxImport = t.importDeclaration([
61
- t.importSpecifier(t.identifier(constants_1.REACT_FUNTIONS.jsx), t.identifier(constants_1.REACT_FUNTIONS.jsx)),
62
- ], t.stringLiteral(constants_2.REACT_IMPORT_SOURCES.JSX_RUNTIME));
63
- path.unshiftContainer('body', jsxImport);
64
- calleeInfo.singleCallee = constants_1.REACT_FUNTIONS.jsx;
65
- }
66
- },
67
- };
9
+ * Process program:
10
+ * - on exit, injects GtInternalTranslateJsx/GtInternalVar import if needed
11
+ * - also injects `jsx` from React runtime if only `jsxs` was imported
12
+ * (Vite production builds only import what's needed — if a file has only
13
+ * multi-child elements, `jsx` is never imported, but our _Var wrappers need it)
14
+ */
15
+ function processProgram({ state, countBefore, isAlreadyImported, calleeInfo }) {
16
+ return { exit(path) {
17
+ if (!(state.statistics.jsxInsertionsCount > countBefore)) return;
18
+ if (!isAlreadyImported()) require_transform_jsx_insertion_injectJsxInsertionImport.injectJsxInsertionImport(path);
19
+ if (!calleeInfo.singleCallee && calleeInfo.multiCallee) {
20
+ const jsxImport = _babel_types.importDeclaration([_babel_types.importSpecifier(_babel_types.identifier("jsx"), _babel_types.identifier("jsx"))], _babel_types.stringLiteral("react/jsx-runtime"));
21
+ path.unshiftContainer("body", jsxImport);
22
+ calleeInfo.singleCallee = "jsx";
23
+ }
24
+ } };
68
25
  }
26
+ //#endregion
27
+ exports.processProgram = processProgram;
28
+
69
29
  //# sourceMappingURL=processProgram.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processProgram.js","sourceRoot":"","sources":["../../../src/processing/jsx-insertion/processProgram.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,wCAqCC;AAlDD,gDAAkC;AAClC,qGAAkG;AAElG,qEAAuE;AACvE,qEAA6E;AAE7E;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,UAAU,GAMX;IACC,OAAO;QACL,IAAI,CAAC,IAAI;YACP,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,GAAG,WAAW,CAAC;YACpE,IAAI,CAAC,SAAS;gBAAE,OAAO;YAEvB,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACzB,IAAA,mDAAwB,EAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,yDAAyD;YACzD,iEAAiE;YACjE,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBACvD,MAAM,SAAS,GAAG,CAAC,CAAC,iBAAiB,CACnC;oBACE,CAAC,CAAC,eAAe,CACf,CAAC,CAAC,UAAU,CAAC,0BAAc,CAAC,GAAG,CAAC,EAChC,CAAC,CAAC,UAAU,CAAC,0BAAc,CAAC,GAAG,CAAC,CACjC;iBACF,EACD,CAAC,CAAC,aAAa,CAAC,gCAAoB,CAAC,WAAW,CAAC,CAClD,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACzC,UAAU,CAAC,YAAY,GAAG,0BAAc,CAAC,GAAG,CAAC;YAC/C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"processProgram.js","names":["t"],"sources":["../../../src/processing/jsx-insertion/processProgram.ts"],"sourcesContent":["import { TransformState } from '../../state/types';\nimport { VisitNode } from '@babel/traverse';\nimport * as t from '@babel/types';\nimport { injectJsxInsertionImport } from '../../transform/jsx-insertion/injectJsxInsertionImport';\nimport { JsxCalleeInfo } from './processImportDeclaration';\nimport { REACT_FUNTIONS } from '../../utils/constants/react/constants';\nimport { REACT_IMPORT_SOURCES } from '../../utils/constants/react/constants';\n\n/**\n * Process program:\n * - on exit, injects GtInternalTranslateJsx/GtInternalVar import if needed\n * - also injects `jsx` from React runtime if only `jsxs` was imported\n * (Vite production builds only import what's needed — if a file has only\n * multi-child elements, `jsx` is never imported, but our _Var wrappers need it)\n */\nexport function processProgram({\n state,\n countBefore,\n isAlreadyImported,\n calleeInfo,\n}: {\n state: TransformState;\n countBefore: number;\n isAlreadyImported: () => boolean;\n calleeInfo: JsxCalleeInfo;\n}): VisitNode<t.Node, t.Program> {\n return {\n exit(path) {\n const didInsert = state.statistics.jsxInsertionsCount > countBefore;\n if (!didInsert) return;\n\n if (!isAlreadyImported()) {\n injectJsxInsertionImport(path);\n }\n\n // If only jsxs was imported (no jsx), inject jsx import.\n // _Var wrappers always use singleCallee which defaults to 'jsx'.\n if (!calleeInfo.singleCallee && calleeInfo.multiCallee) {\n const jsxImport = t.importDeclaration(\n [\n t.importSpecifier(\n t.identifier(REACT_FUNTIONS.jsx),\n t.identifier(REACT_FUNTIONS.jsx)\n ),\n ],\n t.stringLiteral(REACT_IMPORT_SOURCES.JSX_RUNTIME)\n );\n path.unshiftContainer('body', jsxImport);\n calleeInfo.singleCallee = REACT_FUNTIONS.jsx;\n }\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,SAAgB,eAAe,EAC7B,OACA,aACA,mBACA,cAM+B;AAC/B,QAAO,EACL,KAAK,MAAM;AAET,MAAI,EADc,MAAM,WAAW,qBAAqB,aACxC;AAEhB,MAAI,CAAC,mBAAmB,CACtB,0DAAA,yBAAyB,KAAK;AAKhC,MAAI,CAAC,WAAW,gBAAgB,WAAW,aAAa;GACtD,MAAM,YAAYA,aAAE,kBAClB,CACEA,aAAE,gBACAA,aAAE,WAAA,MAA8B,EAChCA,aAAE,WAAA,MAA8B,CACjC,CACF,EACDA,aAAE,cAAA,oBAA+C,CAClD;AACD,QAAK,iBAAiB,QAAQ,UAAU;AACxC,cAAW,eAAA;;IAGhB"}
@@ -1,59 +1,25 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.processImportDeclaration = processImportDeclaration;
37
- const t = __importStar(require("@babel/types"));
38
- const helpers_1 = require("../../utils/constants/gt/helpers");
39
- const constants_1 = require("../../utils/constants/gt/constants");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
3
+ require("../../utils/constants/gt/constants.js");
4
+ const require_utils_constants_gt_helpers = require("../../utils/constants/gt/helpers.js");
5
+ let _babel_types = require("@babel/types");
6
+ _babel_types = require_runtime.__toESM(_babel_types);
7
+ //#region src/processing/macro-expansion/processImportDeclaration.ts
40
8
  /**
41
- * Process import declarations during macro expansion.
42
- * Checks if `t` is already imported from a recognized GT source.
43
- */
9
+ * Process import declarations during macro expansion.
10
+ * Checks if `t` is already imported from a recognized GT source.
11
+ */
44
12
  function processImportDeclaration(onFound) {
45
- const tName = constants_1.GT_OTHER_FUNCTIONS.t;
46
- return (path) => {
47
- if (!(0, helpers_1.isGTImportSource)(path.node.source.value))
48
- return;
49
- for (const specifier of path.node.specifiers) {
50
- if (t.isImportSpecifier(specifier) &&
51
- t.isIdentifier(specifier.imported) &&
52
- specifier.imported.name === tName) {
53
- onFound();
54
- return;
55
- }
56
- }
57
- };
13
+ const tName = "t";
14
+ return (path) => {
15
+ if (!require_utils_constants_gt_helpers.isGTImportSource(path.node.source.value)) return;
16
+ for (const specifier of path.node.specifiers) if (_babel_types.isImportSpecifier(specifier) && _babel_types.isIdentifier(specifier.imported) && specifier.imported.name === tName) {
17
+ onFound();
18
+ return;
19
+ }
20
+ };
58
21
  }
22
+ //#endregion
23
+ exports.processImportDeclaration = processImportDeclaration;
24
+
59
25
  //# sourceMappingURL=processImportDeclaration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processImportDeclaration.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processImportDeclaration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,4DAmBC;AA3BD,gDAAkC;AAClC,8DAAoE;AACpE,kEAAwE;AAExE;;;GAGG;AACH,SAAgB,wBAAwB,CACtC,OAAmB;IAEnB,MAAM,KAAK,GAAG,8BAAkB,CAAC,CAAC,CAAC;IAEnC,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,IAAA,0BAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO;QAEtD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7C,IACE,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBAC9B,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAClC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,EACjC,CAAC;gBACD,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"processImportDeclaration.js","names":["isGTImportSource","t"],"sources":["../../../src/processing/macro-expansion/processImportDeclaration.ts"],"sourcesContent":["import { VisitNode } from '@babel/traverse';\nimport * as t from '@babel/types';\nimport { isGTImportSource } from '../../utils/constants/gt/helpers';\nimport { GT_OTHER_FUNCTIONS } from '../../utils/constants/gt/constants';\n\n/**\n * Process import declarations during macro expansion.\n * Checks if `t` is already imported from a recognized GT source.\n */\nexport function processImportDeclaration(\n onFound: () => void\n): VisitNode<t.Node, t.ImportDeclaration> {\n const tName = GT_OTHER_FUNCTIONS.t;\n\n return (path) => {\n if (!isGTImportSource(path.node.source.value)) return;\n\n for (const specifier of path.node.specifiers) {\n if (\n t.isImportSpecifier(specifier) &&\n t.isIdentifier(specifier.imported) &&\n specifier.imported.name === tName\n ) {\n onFound();\n return;\n }\n }\n };\n}\n"],"mappings":";;;;;;;;;;;AASA,SAAgB,yBACd,SACwC;CACxC,MAAM,QAAA;AAEN,SAAQ,SAAS;AACf,MAAI,CAACA,mCAAAA,iBAAiB,KAAK,KAAK,OAAO,MAAM,CAAE;AAE/C,OAAK,MAAM,aAAa,KAAK,KAAK,WAChC,KACEC,aAAE,kBAAkB,UAAU,IAC9BA,aAAE,aAAa,UAAU,SAAS,IAClC,UAAU,SAAS,SAAS,OAC5B;AACA,YAAS;AACT"}
@@ -1,29 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processProgram = processProgram;
4
- const injectMacroImport_1 = require("../../transform/macro-expansion/injectMacroImport");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_transform_macro_expansion_injectMacroImport = require("../../transform/macro-expansion/injectMacroImport.js");
3
+ //#region src/processing/macro-expansion/processProgram.ts
5
4
  /**
6
- * Process program:
7
- * - on exit,injects macro import if needed
8
- * @param {Object} param0 - The parameters for the function.
9
- * @param {TransformState} param0.state - The state of the transformation.
10
- * @param {number} param0.countBefore - The count before the transformation.
11
- * @param {boolean} param0.alreadyImported - Whether the macro import has already been injected.
12
- * @returns {VisitNode<t.Node, t.Program>} The visit node for the program.
13
- */
14
- function processProgram({ state, countBefore, isAlreadyImported, }) {
15
- return {
16
- exit(path) {
17
- // (1) Check if the macro expansions count has changed
18
- const didTransform = state.statistics.macroExpansionsCount > countBefore;
19
- if (!didTransform || isAlreadyImported())
20
- return;
21
- // (2) If the macro import injection is disabled, return.
22
- if (!state.settings.enableMacroImportInjection)
23
- return;
24
- // Inject the macro import.
25
- (0, injectMacroImport_1.injectMacroImport)(path);
26
- },
27
- };
5
+ * Process program:
6
+ * - on exit,injects macro import if needed
7
+ * @param {Object} param0 - The parameters for the function.
8
+ * @param {TransformState} param0.state - The state of the transformation.
9
+ * @param {number} param0.countBefore - The count before the transformation.
10
+ * @param {boolean} param0.alreadyImported - Whether the macro import has already been injected.
11
+ * @returns {VisitNode<t.Node, t.Program>} The visit node for the program.
12
+ */
13
+ function processProgram({ state, countBefore, isAlreadyImported }) {
14
+ return { exit(path) {
15
+ if (!(state.statistics.macroExpansionsCount > countBefore) || isAlreadyImported()) return;
16
+ if (!state.settings.enableMacroImportInjection) return;
17
+ require_transform_macro_expansion_injectMacroImport.injectMacroImport(path);
18
+ } };
28
19
  }
20
+ //#endregion
21
+ exports.processProgram = processProgram;
22
+
29
23
  //# sourceMappingURL=processProgram.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processProgram.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processProgram.ts"],"names":[],"mappings":";;AAcA,wCAoBC;AA/BD,yFAAsF;AAEtF;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,iBAAiB,GAKlB;IACC,OAAO;QACL,IAAI,CAAC,IAAI;YACP,sDAAsD;YACtD,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,GAAG,WAAW,CAAC;YACzE,IAAI,CAAC,YAAY,IAAI,iBAAiB,EAAE;gBAAE,OAAO;YACjD,yDAAyD;YACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,0BAA0B;gBAAE,OAAO;YACvD,2BAA2B;YAC3B,IAAA,qCAAiB,EAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"processProgram.js","names":[],"sources":["../../../src/processing/macro-expansion/processProgram.ts"],"sourcesContent":["import { TransformState } from '../../state/types';\nimport { VisitNode } from '@babel/traverse';\nimport * as t from '@babel/types';\nimport { injectMacroImport } from '../../transform/macro-expansion/injectMacroImport';\n\n/**\n * Process program:\n * - on exit,injects macro import if needed\n * @param {Object} param0 - The parameters for the function.\n * @param {TransformState} param0.state - The state of the transformation.\n * @param {number} param0.countBefore - The count before the transformation.\n * @param {boolean} param0.alreadyImported - Whether the macro import has already been injected.\n * @returns {VisitNode<t.Node, t.Program>} The visit node for the program.\n */\nexport function processProgram({\n state,\n countBefore,\n isAlreadyImported,\n}: {\n state: TransformState;\n countBefore: number;\n isAlreadyImported: () => boolean;\n}): VisitNode<t.Node, t.Program> {\n return {\n exit(path) {\n // (1) Check if the macro expansions count has changed\n const didTransform = state.statistics.macroExpansionsCount > countBefore;\n if (!didTransform || isAlreadyImported()) return;\n // (2) If the macro import injection is disabled, return.\n if (!state.settings.enableMacroImportInjection) return;\n // Inject the macro import.\n injectMacroImport(path);\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;AAcA,SAAgB,eAAe,EAC7B,OACA,aACA,qBAK+B;AAC/B,QAAO,EACL,KAAK,MAAM;AAGT,MAAI,EADiB,MAAM,WAAW,uBAAuB,gBACxC,mBAAmB,CAAE;AAE1C,MAAI,CAAC,MAAM,SAAS,2BAA4B;AAEhD,sDAAA,kBAAkB,KAAK;IAE1B"}
@@ -1,73 +1,37 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.processTaggedTemplateExpression = processTaggedTemplateExpression;
37
- const t = __importStar(require("@babel/types"));
38
- const constants_1 = require("../../utils/constants/gt/constants");
39
- const transformTemplateLiteral_1 = require("../../transform/macro-expansion/transformTemplateLiteral");
40
- const isStringTranslationTaggedTemplate_1 = require("../../utils/parsing/isStringTranslationTaggedTemplate");
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../../_virtual/_rolldown/runtime.js");
3
+ require("../../utils/constants/gt/constants.js");
4
+ const require_transform_macro_expansion_transformTemplateLiteral = require("../../transform/macro-expansion/transformTemplateLiteral.js");
5
+ const require_utils_parsing_isStringTranslationTaggedTemplate = require("../../utils/parsing/isStringTranslationTaggedTemplate.js");
6
+ let _babel_types = require("@babel/types");
7
+ _babel_types = require_runtime.__toESM(_babel_types);
8
+ //#region src/processing/macro-expansion/processTaggedTemplateExpression.ts
41
9
  /**
42
- * Process tagged template expressions for macro expansion.
43
- * Transforms t`Hello, ${name}` → t("Hello, {0}", { "0": name })
44
- *
45
- * Only transforms when:
46
- * - t is unbound (global macro via gt-react/macros)
47
- * - t is imported from gt-react/browser
48
- * Skips when t is bound to a non-GT import (e.g., i18next)
49
- */
10
+ * Process tagged template expressions for macro expansion.
11
+ * Transforms t`Hello, ${name}` → t("Hello, {0}", { "0": name })
12
+ *
13
+ * Only transforms when:
14
+ * - t is unbound (global macro via gt-react/macros)
15
+ * - t is imported from gt-react/browser
16
+ * Skips when t is bound to a non-GT import (e.g., i18next)
17
+ */
50
18
  function processTaggedTemplateExpression(state) {
51
- const symbol = state.settings.stringTranslationMacro;
52
- return (path) => {
53
- var _a, _b;
54
- if (!state.settings.enableTaggedTemplate)
55
- return;
56
- if (!(0, isStringTranslationTaggedTemplate_1.isStringTranslationTaggedTemplate)(path, symbol))
57
- return;
58
- // Extract message from the template literal, errors are logged by collection pass
59
- const { content, errors } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(path.get('quasi'));
60
- // TODO: Until derive added, we only support one message variant
61
- const message = (_a = content[0]) === null || _a === void 0 ? void 0 : _a.message;
62
- const variables = (_b = content[0]) === null || _b === void 0 ? void 0 : _b.variables;
63
- if (errors.length > 0 || message == null)
64
- return;
65
- // Build the call expression arguments
66
- const args = [message];
67
- if (variables)
68
- args.push(variables);
69
- path.replaceWith(t.callExpression(t.identifier(constants_1.GT_OTHER_FUNCTIONS.t), args));
70
- state.statistics.macroExpansionsCount++;
71
- };
19
+ const symbol = state.settings.stringTranslationMacro;
20
+ return (path) => {
21
+ var _content$, _content$2;
22
+ if (!state.settings.enableTaggedTemplate) return;
23
+ if (!require_utils_parsing_isStringTranslationTaggedTemplate.isStringTranslationTaggedTemplate(path, symbol)) return;
24
+ const { content, errors } = require_transform_macro_expansion_transformTemplateLiteral.transformTemplateLiteral(path.get("quasi"));
25
+ const message = (_content$ = content[0]) === null || _content$ === void 0 ? void 0 : _content$.message;
26
+ const variables = (_content$2 = content[0]) === null || _content$2 === void 0 ? void 0 : _content$2.variables;
27
+ if (errors.length > 0 || message == null) return;
28
+ const args = [message];
29
+ if (variables) args.push(variables);
30
+ path.replaceWith(_babel_types.callExpression(_babel_types.identifier("t"), args));
31
+ state.statistics.macroExpansionsCount++;
32
+ };
72
33
  }
34
+ //#endregion
35
+ exports.processTaggedTemplateExpression = processTaggedTemplateExpression;
36
+
73
37
  //# sourceMappingURL=processTaggedTemplateExpression.js.map