@generaltranslation/compiler 1.3.7 → 1.3.8

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 (58) hide show
  1. package/dist/config.d.ts +28 -0
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +14 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +9 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/passes/collectionPass.d.ts.map +1 -1
  9. package/dist/passes/collectionPass.js +2 -1
  10. package/dist/passes/collectionPass.js.map +1 -1
  11. package/dist/passes/runtimeTranslatePass.d.ts +17 -0
  12. package/dist/passes/runtimeTranslatePass.d.ts.map +1 -0
  13. package/dist/passes/runtimeTranslatePass.js +39 -0
  14. package/dist/passes/runtimeTranslatePass.js.map +1 -0
  15. package/dist/processing/collection/processCallExpression.d.ts.map +1 -1
  16. package/dist/processing/collection/processCallExpression.js +31 -4
  17. package/dist/processing/collection/processCallExpression.js.map +1 -1
  18. package/dist/processing/collection/processTaggedTemplateExpression.d.ts +16 -0
  19. package/dist/processing/collection/processTaggedTemplateExpression.d.ts.map +1 -0
  20. package/dist/processing/collection/processTaggedTemplateExpression.js +90 -0
  21. package/dist/processing/collection/processTaggedTemplateExpression.js.map +1 -0
  22. package/dist/processing/runtime-translate/processImportDeclaration.d.ts +17 -0
  23. package/dist/processing/runtime-translate/processImportDeclaration.d.ts.map +1 -0
  24. package/dist/processing/runtime-translate/processImportDeclaration.js +67 -0
  25. package/dist/processing/runtime-translate/processImportDeclaration.js.map +1 -0
  26. package/dist/processing/runtime-translate/processProgram.d.ts +17 -0
  27. package/dist/processing/runtime-translate/processProgram.d.ts.map +1 -0
  28. package/dist/processing/runtime-translate/processProgram.js +60 -0
  29. package/dist/processing/runtime-translate/processProgram.js.map +1 -0
  30. package/dist/state/StringCollector.d.ts +27 -0
  31. package/dist/state/StringCollector.d.ts.map +1 -1
  32. package/dist/state/StringCollector.js +30 -1
  33. package/dist/state/StringCollector.js.map +1 -1
  34. package/dist/state/types.d.ts +1 -0
  35. package/dist/state/types.d.ts.map +1 -1
  36. package/dist/state/utils/initializeState.d.ts.map +1 -1
  37. package/dist/state/utils/initializeState.js +14 -7
  38. package/dist/state/utils/initializeState.js.map +1 -1
  39. package/dist/transform/registration/callbacks/registerUseGTCallback.d.ts.map +1 -1
  40. package/dist/transform/registration/callbacks/registerUseGTCallback.js +1 -0
  41. package/dist/transform/registration/callbacks/registerUseGTCallback.js.map +1 -1
  42. package/dist/transform/registration/registerTranslationComponent.d.ts +5 -1
  43. package/dist/transform/registration/registerTranslationComponent.d.ts.map +1 -1
  44. package/dist/transform/registration/registerTranslationComponent.js +4 -1
  45. package/dist/transform/registration/registerTranslationComponent.js.map +1 -1
  46. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.d.ts +11 -0
  47. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.d.ts.map +1 -0
  48. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js +94 -0
  49. package/dist/transform/runtime-translate/buildRuntimeTranslateCalls.js.map +1 -0
  50. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.d.ts +11 -0
  51. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.d.ts.map +1 -0
  52. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js +59 -0
  53. package/dist/transform/runtime-translate/injectRuntimeTranslateImport.js.map +1 -0
  54. package/dist/utils/constants/gt/constants.d.ts +3 -1
  55. package/dist/utils/constants/gt/constants.d.ts.map +1 -1
  56. package/dist/utils/constants/gt/constants.js +2 -0
  57. package/dist/utils/constants/gt/constants.js.map +1 -1
  58. package/package.json +2 -2
package/dist/config.d.ts CHANGED
@@ -16,6 +16,11 @@ type GTConfig = {
16
16
  };
17
17
  /** @deprecated Use `autoderive` instead */
18
18
  autoDerive?: boolean;
19
+ /** Dev hot reload: inject runtime translate calls and enable Suspense-based <T> */
20
+ devHotReload?: boolean | {
21
+ strings?: boolean;
22
+ jsx?: boolean;
23
+ };
19
24
  };
20
25
  };
21
26
  };
@@ -47,6 +52,11 @@ export interface PluginConfig {
47
52
  autoDerive?: boolean;
48
53
  /** Debug: write a hash → jsxChildren manifest file on build */
49
54
  _debugHashManifest?: boolean;
55
+ /** Dev hot reload: inject runtime translate calls and enable Suspense-based <T> */
56
+ devHotReload?: boolean | {
57
+ strings?: boolean;
58
+ jsx?: boolean;
59
+ };
50
60
  }
51
61
  /**
52
62
  * Internal plugin settings (processed config)
@@ -71,6 +81,11 @@ export interface PluginSettings {
71
81
  };
72
82
  /** Debug: write a hash → jsxChildren manifest file on build */
73
83
  _debugHashManifest: boolean;
84
+ /** Dev hot reload: inject runtime translate calls and enable Suspense-based <T> */
85
+ devHotReload: {
86
+ strings: boolean;
87
+ jsx: boolean;
88
+ };
74
89
  }
75
90
  /**
76
91
  * Resolves the autoderive config value into separate jsx and strings flags.
@@ -85,5 +100,18 @@ export declare function resolveAutoderive(value: boolean | {
85
100
  jsx: boolean;
86
101
  strings: boolean;
87
102
  };
103
+ /**
104
+ * Resolves the devHotReload config value into separate strings and jsx flags.
105
+ * - `true` enables strings only (JSX is handled at runtime via Suspense, no compiler injection needed)
106
+ * - `false` disables both
107
+ * - `{ strings?: boolean; jsx?: boolean }` enables selectively (missing keys default to false)
108
+ */
109
+ export declare function resolveDevHotReload(value: boolean | {
110
+ strings?: boolean;
111
+ jsx?: boolean;
112
+ } | undefined): {
113
+ strings: boolean;
114
+ jsx: boolean;
115
+ };
88
116
  export {};
89
117
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtE;;GAEG;AACH,KAAK,QAAQ,GAAG;IACd,KAAK,CAAC,EAAE;QACN,EAAE,CAAC,EAAE;YACH,YAAY,CAAC,EAAE;gBACb,sBAAsB,CAAC,EAAE,OAAO,CAAC;gBACjC,UAAU,CAAC,EAAE,OAAO,GAAG;oBAAE,GAAG,CAAC,EAAE,OAAO,CAAC;oBAAC,OAAO,CAAC,EAAE,OAAO,CAAA;iBAAE,CAAC;gBAC5D,2CAA2C;gBAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;aACtB,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oDAAoD;IACpD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mFAAmF;IACnF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5D,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,wBAAwB,EAAE,OAAO,CAAC;IAClC,sBAAsB,EAAE,OAAO,CAAC;IAChC,0BAA0B,EAAE,OAAO,CAAC;IACpC,mFAAmF;IACnF,sBAAsB,EAAE,OAAO,CAAC;IAChC,6EAA6E;IAC7E,UAAU,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/C,+DAA+D;IAC/D,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GAAG;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAChE;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAKpC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -4,6 +4,7 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.resolveAutoderive = resolveAutoderive;
7
+ exports.resolveDevHotReload = resolveDevHotReload;
7
8
  /**
8
9
  * Resolves the autoderive config value into separate jsx and strings flags.
9
10
  * - `true` enables both (backward compatible)
@@ -17,4 +18,17 @@ function resolveAutoderive(value) {
17
18
  }
18
19
  return { jsx: (_a = value.jsx) !== null && _a !== void 0 ? _a : false, strings: (_b = value.strings) !== null && _b !== void 0 ? _b : false };
19
20
  }
21
+ /**
22
+ * Resolves the devHotReload config value into separate strings and jsx flags.
23
+ * - `true` enables strings only (JSX is handled at runtime via Suspense, no compiler injection needed)
24
+ * - `false` disables both
25
+ * - `{ strings?: boolean; jsx?: boolean }` enables selectively (missing keys default to false)
26
+ */
27
+ function resolveDevHotReload(value) {
28
+ var _a, _b;
29
+ if (value === undefined || typeof value === 'boolean') {
30
+ return { strings: !!value, jsx: false };
31
+ }
32
+ return { strings: (_a = value.strings) !== null && _a !== void 0 ? _a : false, jsx: (_b = value.jsx) !== null && _b !== void 0 ? _b : false };
33
+ }
20
34
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA0EH,8CAOC;AAbD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,KAAiE;;IAEjE,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,MAAA,KAAK,CAAC,GAAG,mCAAI,KAAK,EAAE,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,KAAK,EAAE,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAgFH,8CAOC;AAQD,kDAOC;AA5BD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,KAAiE;;IAEjE,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,MAAA,KAAK,CAAC,GAAG,mCAAI,KAAK,EAAE,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,KAAK,EAAE,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,KAAiE;;IAEjE,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,KAAK,EAAE,GAAG,EAAE,MAAA,KAAK,CAAC,GAAG,mCAAI,KAAK,EAAE,CAAC;AACtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAUxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY;CAEtD;AAED;;;;;GAKG;AACH,QAAA,MAAM,UAAU,6EAyGf,CAAC;AAGF,eAAe,UAAU,CAAC;AAC1B,eAAO,MAAM,OAAO,oEAAqB,CAAC;AAC1C,eAAO,MAAM,IAAI,wGAAkB,CAAC;AACpC,eAAO,MAAM,MAAM,4GAAoB,CAAC;AACxC,eAAO,MAAM,OAAO,+EAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAWxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY;CAEtD;AAED;;;;;GAKG;AACH,QAAA,MAAM,UAAU,6EAkHf,CAAC;AAGF,eAAe,UAAU,CAAC;AAC1B,eAAO,MAAM,OAAO,oEAAqB,CAAC;AAC1C,eAAO,MAAM,IAAI,wGAAkB,CAAC;AACpC,eAAO,MAAM,MAAM,4GAAoB,CAAC;AACxC,eAAO,MAAM,OAAO,+EAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -48,6 +48,7 @@ const macroExpansionPass_1 = require("./passes/macroExpansionPass");
48
48
  const handleErrors_1 = require("./passes/handleErrors");
49
49
  const initializeState_1 = require("./state/utils/initializeState");
50
50
  const jsxInsertionPass_1 = require("./passes/jsxInsertionPass");
51
+ const runtimeTranslatePass_1 = require("./passes/runtimeTranslatePass");
51
52
  /**
52
53
  * GT Universal Plugin - Main entry point
53
54
  *
@@ -105,10 +106,17 @@ const gtUnplugin = (0, unplugin_1.createUnplugin)((options = {}) => {
105
106
  if (hasCollectionContent) {
106
107
  (0, traverse_1.default)(ast, (0, injectionPass_1.injectionPass)(state));
107
108
  }
109
+ // Pass 5: Runtime translate (dev hot reload)
110
+ const devHotReloadActive = state.settings.devHotReload.strings ||
111
+ state.settings.devHotReload.jsx;
112
+ if (devHotReloadActive && hasCollectionContent) {
113
+ (0, traverse_1.default)(ast, (0, runtimeTranslatePass_1.runtimeTranslatePass)(state));
114
+ }
108
115
  // Generate code if any pass modified the AST
109
116
  if (!hasCollectionContent &&
110
117
  state.statistics.macroExpansionsCount === 0 &&
111
- state.statistics.jsxInsertionsCount === 0) {
118
+ state.statistics.jsxInsertionsCount === 0 &&
119
+ state.statistics.runtimeTranslateCount === 0) {
112
120
  return null;
113
121
  }
114
122
  return (0, generator_1.default)(ast, {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"collectionPass.d.ts","sourceRoot":"","sources":["../../src/passes/collectionPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAMrE"}
1
+ {"version":3,"file":"collectionPass.d.ts","sourceRoot":"","sources":["../../src/passes/collectionPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMhD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAOrE"}
@@ -4,11 +4,12 @@ exports.collectionPass = collectionPass;
4
4
  const basePass_1 = require("./basePass");
5
5
  const processCallExpression_1 = require("../processing/collection/processCallExpression");
6
6
  const processVariableDeclarator_1 = require("../processing/collection/processVariableDeclarator");
7
+ const processTaggedTemplateExpression_1 = require("../processing/collection/processTaggedTemplateExpression");
7
8
  /**
8
9
  * Collection pass — collect translation data without transforming.
9
10
  * Tracks imports, variable declarations, and GT function invocations.
10
11
  */
11
12
  function collectionPass(state) {
12
- return Object.assign(Object.assign({}, (0, basePass_1.basePass)(state)), { CallExpression: (0, processCallExpression_1.processCallExpression)(state), VariableDeclarator: (0, processVariableDeclarator_1.processVariableDeclarator)(state) });
13
+ return Object.assign(Object.assign({}, (0, basePass_1.basePass)(state)), { CallExpression: (0, processCallExpression_1.processCallExpression)(state), VariableDeclarator: (0, processVariableDeclarator_1.processVariableDeclarator)(state), TaggedTemplateExpression: (0, processTaggedTemplateExpression_1.processTaggedTemplateExpression)(state) });
13
14
  }
14
15
  //# sourceMappingURL=collectionPass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionPass.js","sourceRoot":"","sources":["../../src/passes/collectionPass.ts"],"names":[],"mappings":";;AAUA,wCAMC;AAdD,yCAAsC;AACtC,0FAAuF;AACvF,kGAA+F;AAE/F;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAqB;IAClD,uCACK,IAAA,mBAAQ,EAAC,KAAK,CAAC,KAClB,cAAc,EAAE,IAAA,6CAAqB,EAAC,KAAK,CAAC,EAC5C,kBAAkB,EAAE,IAAA,qDAAyB,EAAC,KAAK,CAAC,IACpD;AACJ,CAAC"}
1
+ {"version":3,"file":"collectionPass.js","sourceRoot":"","sources":["../../src/passes/collectionPass.ts"],"names":[],"mappings":";;AAWA,wCAOC;AAhBD,yCAAsC;AACtC,0FAAuF;AACvF,kGAA+F;AAC/F,8GAA2G;AAE3G;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAqB;IAClD,uCACK,IAAA,mBAAQ,EAAC,KAAK,CAAC,KAClB,cAAc,EAAE,IAAA,6CAAqB,EAAC,KAAK,CAAC,EAC5C,kBAAkB,EAAE,IAAA,qDAAyB,EAAC,KAAK,CAAC,EACpD,wBAAwB,EAAE,IAAA,iEAA+B,EAAC,KAAK,CAAC,IAChE;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { TraverseOptions } from '@babel/traverse';
2
+ import { TransformState } from '../state/types';
3
+ /**
4
+ * Runtime translate pass — injects GtInternalRuntimeTranslateString and
5
+ * GtInternalRuntimeTranslateJsx calls at the module level for dev hot reload.
6
+ *
7
+ * For each extracted string/JSX, injects:
8
+ * await Promise.all([
9
+ * GtInternalRuntimeTranslateString("msg", { $context, $_hash, ... }),
10
+ * GtInternalRuntimeTranslateJsx(children, { $context, $id }),
11
+ * ])
12
+ *
13
+ * This pass does NOT use basePass — it doesn't need scope tracking and must not
14
+ * reset ScopeTracker/StringCollector state via processProgram.
15
+ */
16
+ export declare function runtimeTranslatePass(state: TransformState): TraverseOptions;
17
+ //# sourceMappingURL=runtimeTranslatePass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeTranslatePass.d.ts","sourceRoot":"","sources":["../../src/passes/runtimeTranslatePass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAOhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CA0B3E"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runtimeTranslatePass = runtimeTranslatePass;
4
+ const processImportDeclaration_1 = require("../processing/runtime-translate/processImportDeclaration");
5
+ const processProgram_1 = require("../processing/runtime-translate/processProgram");
6
+ /**
7
+ * Runtime translate pass — injects GtInternalRuntimeTranslateString and
8
+ * GtInternalRuntimeTranslateJsx calls at the module level for dev hot reload.
9
+ *
10
+ * For each extracted string/JSX, injects:
11
+ * await Promise.all([
12
+ * GtInternalRuntimeTranslateString("msg", { $context, $_hash, ... }),
13
+ * GtInternalRuntimeTranslateJsx(children, { $context, $id }),
14
+ * ])
15
+ *
16
+ * This pass does NOT use basePass — it doesn't need scope tracking and must not
17
+ * reset ScopeTracker/StringCollector state via processProgram.
18
+ */
19
+ function runtimeTranslatePass(state) {
20
+ let alreadyImportedString = false;
21
+ let alreadyImportedJsx = false;
22
+ const importAnchor = { path: null };
23
+ const onStringFound = () => {
24
+ alreadyImportedString = true;
25
+ };
26
+ const onJsxFound = () => {
27
+ alreadyImportedJsx = true;
28
+ };
29
+ return {
30
+ ImportDeclaration: (0, processImportDeclaration_1.processImportDeclaration)(onStringFound, onJsxFound, importAnchor),
31
+ Program: (0, processProgram_1.processProgram)({
32
+ state,
33
+ isStringAlreadyImported: () => alreadyImportedString,
34
+ isJsxAlreadyImported: () => alreadyImportedJsx,
35
+ importAnchor,
36
+ }),
37
+ };
38
+ }
39
+ //# sourceMappingURL=runtimeTranslatePass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeTranslatePass.js","sourceRoot":"","sources":["../../src/passes/runtimeTranslatePass.ts"],"names":[],"mappings":";;AAqBA,oDA0BC;AA7CD,uGAGkE;AAClE,mFAAgF;AAEhF;;;;;;;;;;;;GAYG;AACH,SAAgB,oBAAoB,CAAC,KAAqB;IACxD,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,MAAM,YAAY,GAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAElD,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,qBAAqB,GAAG,IAAI,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,kBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,IAAA,mDAAwB,EACzC,aAAa,EACb,UAAU,EACV,YAAY,CACb;QACD,OAAO,EAAE,IAAA,+BAAc,EAAC;YACtB,KAAK;YACL,uBAAuB,EAAE,GAAG,EAAE,CAAC,qBAAqB;YACpD,oBAAoB,EAAE,GAAG,EAAE,CAAC,kBAAkB;YAC9C,YAAY;SACb,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"processCallExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/collection/processCallExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA2BnD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,CAkDrC"}
1
+ {"version":3,"file":"processCallExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/collection/processCallExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA4BnD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,CAiDrC"}
@@ -85,12 +85,11 @@ function processCallExpression(state) {
85
85
  }
86
86
  else if (type === 'generaltranslation' &&
87
87
  canonicalName === constants_1.GT_OTHER_FUNCTIONS.msg) {
88
- // TODO: Handle msg() function
89
- // handleMsgFunction(callExpr, state);
88
+ handleStandaloneTranslation(callExpr, state);
90
89
  }
91
90
  else if (type === 'generaltranslation' &&
92
91
  canonicalName === constants_1.GT_OTHER_FUNCTIONS.t) {
93
- // TODO: Handle t() function
92
+ handleStandaloneTranslation(callExpr, state);
94
93
  }
95
94
  };
96
95
  }
@@ -234,6 +233,34 @@ function handleReactInvocation(callExpr, state) {
234
233
  state.debugManifest.set(hash, children !== null && children !== void 0 ? children : null);
235
234
  }
236
235
  // Track the component (increment counter, initialize aggregator, set hash)
237
- (0, registerTranslationComponent_1.registerTranslationComponent)(state, hash);
236
+ (0, registerTranslationComponent_1.registerTranslationComponent)(state, hash, { children, id, context });
237
+ }
238
+ /**
239
+ * Handle standalone translation functions: t() and msg()
240
+ * Same argument structure as useGT_callback (message string + options object).
241
+ * Pushes to runtimeOnlyEntries — bypasses the counter system so injection is unaffected.
242
+ */
243
+ function handleStandaloneTranslation(callExpr, state) {
244
+ var _a;
245
+ // Reuse the same validation as useGT_callback (identical argument structure)
246
+ const params = (0, validateTranslationFunctionCallback_1.validateUseGTCallback)(callExpr, state);
247
+ if (params.errors.length > 0 || params.content === undefined) {
248
+ return;
249
+ }
250
+ // Skip derive content
251
+ if (params.hasDeriveContext) {
252
+ return;
253
+ }
254
+ // Calculate hash
255
+ const hash = (_a = params.hash) !== null && _a !== void 0 ? _a : (0, calculateHash_1.default)(Object.assign(Object.assign(Object.assign(Object.assign({ source: params.content }, (params.id && { id: params.id })), (params.context && { context: params.context })), (params.maxChars != null && { maxChars: params.maxChars })), { dataFormat: (params.format || 'ICU') }));
256
+ // Push to runtime-only entries (no counter, no injection pass involvement)
257
+ state.stringCollector.pushRuntimeOnlyContent({
258
+ message: params.content,
259
+ hash,
260
+ id: params.id,
261
+ context: params.context,
262
+ maxChars: params.maxChars,
263
+ format: params.format,
264
+ });
238
265
  }
239
266
  //# sourceMappingURL=processCallExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/collection/processCallExpression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/collection/processCallExpression.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { VisitNode } from '@babel/traverse';
2
+ import * as t from '@babel/types';
3
+ import { TransformState } from '../../state/types';
4
+ /**
5
+ * Process tagged template expressions during the collection pass.
6
+ * Extracts the message for runtime-only entries (t`Hello ${name}`).
7
+ *
8
+ * Only extracts when:
9
+ * - t is unbound (global macro)
10
+ * - t is imported from gt-react/browser
11
+ *
12
+ * Does NOT transform the AST — read-only extraction.
13
+ * If the message contains derive() (returns TemplateLiteral), it's skipped.
14
+ */
15
+ export declare function processTaggedTemplateExpression(state: TransformState): VisitNode<t.Node, t.TaggedTemplateExpression>;
16
+ //# sourceMappingURL=processTaggedTemplateExpression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processTaggedTemplateExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/collection/processTaggedTemplateExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKnD;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAwC/C"}
@@ -0,0 +1,90 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.processTaggedTemplateExpression = processTaggedTemplateExpression;
40
+ const t = __importStar(require("@babel/types"));
41
+ const constants_1 = require("../../utils/constants/gt/constants");
42
+ const transformTemplateLiteral_1 = require("../../transform/macro-expansion/transformTemplateLiteral");
43
+ const calculateHash_1 = __importDefault(require("../../utils/calculateHash"));
44
+ /**
45
+ * Process tagged template expressions during the collection pass.
46
+ * Extracts the message for runtime-only entries (t`Hello ${name}`).
47
+ *
48
+ * Only extracts when:
49
+ * - t is unbound (global macro)
50
+ * - t is imported from gt-react/browser
51
+ *
52
+ * Does NOT transform the AST — read-only extraction.
53
+ * If the message contains derive() (returns TemplateLiteral), it's skipped.
54
+ */
55
+ function processTaggedTemplateExpression(state) {
56
+ const symbol = state.settings.stringTranslationMacro;
57
+ return (path) => {
58
+ if (!t.isIdentifier(path.node.tag, { name: symbol }))
59
+ return;
60
+ // Same scope guard as macro expansion: only process unbound t (global macro)
61
+ // or t imported from gt-react/browser
62
+ const binding = path.scope.getBinding(symbol);
63
+ if (binding) {
64
+ if (!binding.path.isImportSpecifier())
65
+ return;
66
+ const importDecl = binding.path.parentPath;
67
+ if (!(importDecl === null || importDecl === void 0 ? void 0 : importDecl.isImportDeclaration()) ||
68
+ importDecl.node.source.value !== constants_1.GT_IMPORT_SOURCES.GT_REACT_BROWSER) {
69
+ return;
70
+ }
71
+ }
72
+ // Extract message from the template literal (reuse macro expansion utility)
73
+ const { message } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(path.get('quasi'));
74
+ // If message is a TemplateLiteral, it contains derive() — skip
75
+ if (!t.isStringLiteral(message)) {
76
+ return;
77
+ }
78
+ // Compute hash and push to runtime-only entries
79
+ const content = message.value;
80
+ const hash = (0, calculateHash_1.default)({
81
+ source: content,
82
+ dataFormat: 'ICU',
83
+ });
84
+ state.stringCollector.pushRuntimeOnlyContent({
85
+ message: content,
86
+ hash,
87
+ });
88
+ };
89
+ }
90
+ //# sourceMappingURL=processTaggedTemplateExpression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processTaggedTemplateExpression.js","sourceRoot":"","sources":["../../../src/processing/collection/processTaggedTemplateExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,0EA0CC;AA3DD,gDAAkC;AAElC,kEAAuE;AACvE,uGAAoG;AACpG,8EAAmD;AAEnD;;;;;;;;;;GAUG;AACH,SAAgB,+BAA+B,CAC7C,KAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAErD,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAE,OAAO;QAE7D,6EAA6E;QAC7E,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAAE,OAAO;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3C,IACE,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE,CAAA;gBAClC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,6BAAiB,CAAC,gBAAgB,EACnE,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,mDAAwB,EAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAEhE,+DAA+D;QAC/D,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,gDAAgD;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAA,uBAAU,EAAC;YACtB,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QAEH,KAAK,CAAC,eAAe,CAAC,sBAAsB,CAAC;YAC3C,OAAO,EAAE,OAAO;YAChB,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { NodePath, VisitNode } from '@babel/traverse';
2
+ import * as t from '@babel/types';
3
+ /**
4
+ * Tracks the import declaration path where the runtime translate functions
5
+ * were found (or injected). Used to insert the Promise.all right after it.
6
+ */
7
+ export interface ImportAnchor {
8
+ path: NodePath<t.ImportDeclaration> | null;
9
+ }
10
+ /**
11
+ * Process import declarations during runtime translate pass.
12
+ * Checks if GtInternalRuntimeTranslateString and/or GtInternalRuntimeTranslateJsx
13
+ * are already imported from a recognized GT source.
14
+ * Also captures the import path as an anchor for statement insertion.
15
+ */
16
+ export declare function processImportDeclaration(onStringFound: () => void, onJsxFound: () => void, importAnchor: ImportAnchor): VisitNode<t.Node, t.ImportDeclaration>;
17
+ //# sourceMappingURL=processImportDeclaration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processImportDeclaration.d.ts","sourceRoot":"","sources":["../../../src/processing/runtime-translate/processImportDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAIlC;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,IAAI,EACzB,UAAU,EAAE,MAAM,IAAI,EACtB,YAAY,EAAE,YAAY,GACzB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAuBxC"}
@@ -0,0 +1,67 @@
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");
40
+ /**
41
+ * Process import declarations during runtime translate pass.
42
+ * Checks if GtInternalRuntimeTranslateString and/or GtInternalRuntimeTranslateJsx
43
+ * are already imported from a recognized GT source.
44
+ * Also captures the import path as an anchor for statement insertion.
45
+ */
46
+ function processImportDeclaration(onStringFound, onJsxFound, importAnchor) {
47
+ const stringName = constants_1.GT_OTHER_FUNCTIONS.GtInternalRuntimeTranslateString;
48
+ const jsxName = constants_1.GT_OTHER_FUNCTIONS.GtInternalRuntimeTranslateJsx;
49
+ return (path) => {
50
+ if (!(0, helpers_1.isGTImportSource)(path.node.source.value))
51
+ return;
52
+ for (const specifier of path.node.specifiers) {
53
+ if (t.isImportSpecifier(specifier) &&
54
+ t.isIdentifier(specifier.imported)) {
55
+ if (specifier.imported.name === stringName) {
56
+ onStringFound();
57
+ importAnchor.path = path;
58
+ }
59
+ if (specifier.imported.name === jsxName) {
60
+ onJsxFound();
61
+ importAnchor.path = path;
62
+ }
63
+ }
64
+ }
65
+ };
66
+ }
67
+ //# sourceMappingURL=processImportDeclaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processImportDeclaration.js","sourceRoot":"","sources":["../../../src/processing/runtime-translate/processImportDeclaration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,4DA2BC;AA7CD,gDAAkC;AAClC,8DAAoE;AACpE,kEAAwE;AAUxE;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,aAAyB,EACzB,UAAsB,EACtB,YAA0B;IAE1B,MAAM,UAAU,GAAG,8BAAkB,CAAC,gCAAgC,CAAC;IACvE,MAAM,OAAO,GAAG,8BAAkB,CAAC,6BAA6B,CAAC;IAEjE,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,EAClC,CAAC;gBACD,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC3C,aAAa,EAAE,CAAC;oBAChB,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBACD,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACxC,UAAU,EAAE,CAAC;oBACb,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { TransformState } from '../../state/types';
2
+ import { VisitNode } from '@babel/traverse';
3
+ import * as t from '@babel/types';
4
+ import { ImportAnchor } from './processImportDeclaration';
5
+ /**
6
+ * Process program for runtime translate pass:
7
+ * - On exit, reads collected strings and JSX content from StringCollector
8
+ * - Filters out derive entries (hash === '')
9
+ * - Injects import and await Promise.all([...]) with runtime translate calls
10
+ */
11
+ export declare function processProgram({ state, isStringAlreadyImported, isJsxAlreadyImported, importAnchor, }: {
12
+ state: TransformState;
13
+ isStringAlreadyImported: () => boolean;
14
+ isJsxAlreadyImported: () => boolean;
15
+ importAnchor: ImportAnchor;
16
+ }): VisitNode<t.Node, t.Program>;
17
+ //# sourceMappingURL=processProgram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processProgram.d.ts","sourceRoot":"","sources":["../../../src/processing/runtime-translate/processProgram.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,GACb,EAAE;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,uBAAuB,EAAE,MAAM,OAAO,CAAC;IACvC,oBAAoB,EAAE,MAAM,OAAO,CAAC;IACpC,YAAY,EAAE,YAAY,CAAC;CAC5B,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAmD/B"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processProgram = processProgram;
4
+ const injectRuntimeTranslateImport_1 = require("../../transform/runtime-translate/injectRuntimeTranslateImport");
5
+ const buildRuntimeTranslateCalls_1 = require("../../transform/runtime-translate/buildRuntimeTranslateCalls");
6
+ /**
7
+ * Process program for runtime translate pass:
8
+ * - On exit, reads collected strings and JSX content from StringCollector
9
+ * - Filters out derive entries (hash === '')
10
+ * - Injects import and await Promise.all([...]) with runtime translate calls
11
+ */
12
+ function processProgram({ state, isStringAlreadyImported, isJsxAlreadyImported, importAnchor, }) {
13
+ return {
14
+ exit(path) {
15
+ // Read collected content, filtered by granular devHotReload config
16
+ const allStrings = state.settings.devHotReload.strings
17
+ ? [
18
+ ...state.stringCollector.getAllTranslationContent(),
19
+ ...state.stringCollector.getRuntimeOnlyContent(),
20
+ ].filter((entry) => entry.hash !== '')
21
+ : [];
22
+ const allJsx = state.settings.devHotReload.jsx
23
+ ? state.stringCollector
24
+ .getAllTranslationJsx()
25
+ .filter((entry) => entry.hash !== '')
26
+ : [];
27
+ // Nothing to inject
28
+ if (allStrings.length === 0 && allJsx.length === 0)
29
+ return;
30
+ // Build the await Promise.all([...]) statement
31
+ const promiseAllStatement = (0, buildRuntimeTranslateCalls_1.buildRuntimeTranslateCalls)({
32
+ strings: allStrings,
33
+ jsx: allJsx,
34
+ });
35
+ // Inject import with only the specifiers that are needed and not already imported
36
+ const needsString = allStrings.length > 0 && !isStringAlreadyImported();
37
+ const needsJsx = allJsx.length > 0 && !isJsxAlreadyImported();
38
+ if (needsString || needsJsx) {
39
+ const injectedPath = (0, injectRuntimeTranslateImport_1.injectRuntimeTranslateImport)(path, {
40
+ needsString,
41
+ needsJsx,
42
+ });
43
+ if (injectedPath) {
44
+ importAnchor.path = injectedPath;
45
+ }
46
+ }
47
+ // Insert the Promise.all statement right after the runtime translate import
48
+ if (importAnchor.path) {
49
+ importAnchor.path.insertAfter(promiseAllStatement);
50
+ }
51
+ else {
52
+ path.unshiftContainer('body', promiseAllStatement);
53
+ }
54
+ // Track that we injected runtime translate calls
55
+ state.statistics.runtimeTranslateCount =
56
+ allStrings.length + allJsx.length;
57
+ },
58
+ };
59
+ }
60
+ //# sourceMappingURL=processProgram.js.map