@generaltranslation/compiler 1.1.28 → 1.1.30
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.
- package/dist/config.d.ts +10 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/index.d.ts +10 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -26
- package/dist/index.js.map +1 -1
- package/dist/passes/collectionPass.d.ts +8 -0
- package/dist/passes/collectionPass.d.ts.map +1 -0
- package/dist/passes/collectionPass.js +14 -0
- package/dist/passes/collectionPass.js.map +1 -0
- package/dist/passes/injectionPass.d.ts +7 -0
- package/dist/passes/injectionPass.d.ts.map +1 -0
- package/dist/passes/injectionPass.js +13 -0
- package/dist/passes/injectionPass.js.map +1 -0
- package/dist/passes/macroExpansionPass.d.ts +11 -0
- package/dist/passes/macroExpansionPass.d.ts.map +1 -0
- package/dist/passes/macroExpansionPass.js +32 -0
- package/dist/passes/macroExpansionPass.js.map +1 -0
- package/dist/processing/{first-pass → collection}/processCallExpression.d.ts.map +1 -1
- package/dist/processing/{first-pass → collection}/processCallExpression.js +4 -0
- package/dist/processing/collection/processCallExpression.js.map +1 -0
- package/dist/processing/{first-pass → collection}/processVariableDeclarator.d.ts.map +1 -1
- package/dist/processing/{first-pass → collection}/processVariableDeclarator.js.map +1 -1
- package/dist/processing/injection/processCallExpression.d.ts.map +1 -0
- package/dist/processing/{second-pass → injection}/processCallExpression.js +4 -0
- package/dist/processing/injection/processCallExpression.js.map +1 -0
- package/dist/processing/injection/processVariableDeclarator.d.ts.map +1 -0
- package/dist/processing/injection/processVariableDeclarator.js.map +1 -0
- package/dist/processing/macro-expansion/processCallExpression.d.ts +13 -0
- package/dist/processing/macro-expansion/processCallExpression.d.ts.map +1 -0
- package/dist/processing/macro-expansion/processCallExpression.js +99 -0
- package/dist/processing/macro-expansion/processCallExpression.js.map +1 -0
- package/dist/processing/macro-expansion/processImportDeclaration.d.ts +8 -0
- package/dist/processing/macro-expansion/processImportDeclaration.d.ts.map +1 -0
- package/dist/processing/macro-expansion/processImportDeclaration.js +59 -0
- package/dist/processing/macro-expansion/processImportDeclaration.js.map +1 -0
- package/dist/processing/macro-expansion/processProgram.d.ts +18 -0
- package/dist/processing/macro-expansion/processProgram.d.ts.map +1 -0
- package/dist/processing/macro-expansion/processProgram.js +29 -0
- package/dist/processing/macro-expansion/processProgram.js.map +1 -0
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.d.ts +14 -0
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.d.ts.map +1 -0
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js +76 -0
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js.map +1 -0
- package/dist/state/types.d.ts +1 -0
- package/dist/state/types.d.ts.map +1 -1
- package/dist/state/utils/initializeState.d.ts.map +1 -1
- package/dist/state/utils/initializeState.js +9 -0
- package/dist/state/utils/initializeState.js.map +1 -1
- package/dist/transform/macro-expansion/injectMacroImport.d.ts +7 -0
- package/dist/transform/macro-expansion/injectMacroImport.d.ts.map +1 -0
- package/dist/transform/macro-expansion/injectMacroImport.js +47 -0
- package/dist/transform/macro-expansion/injectMacroImport.js.map +1 -0
- package/dist/transform/macro-expansion/transformConcatenation.d.ts +12 -0
- package/dist/transform/macro-expansion/transformConcatenation.d.ts.map +1 -0
- package/dist/transform/macro-expansion/transformConcatenation.js +66 -0
- package/dist/transform/macro-expansion/transformConcatenation.js.map +1 -0
- package/dist/transform/macro-expansion/transformTemplateLiteral.d.ts +10 -0
- package/dist/transform/macro-expansion/transformTemplateLiteral.d.ts.map +1 -0
- package/dist/transform/macro-expansion/transformTemplateLiteral.js +64 -0
- package/dist/transform/macro-expansion/transformTemplateLiteral.js.map +1 -0
- package/dist/utils/constants/gt/constants.d.ts +2 -0
- package/dist/utils/constants/gt/constants.d.ts.map +1 -1
- package/dist/utils/constants/gt/constants.js +2 -0
- package/dist/utils/constants/gt/constants.js.map +1 -1
- package/dist/utils/constants/gt/helpers.d.ts.map +1 -1
- package/dist/utils/constants/gt/helpers.js +5 -2
- package/dist/utils/constants/gt/helpers.js.map +1 -1
- package/dist/utils/parsing/flattenConcatenation.d.ts +9 -0
- package/dist/utils/parsing/flattenConcatenation.d.ts.map +1 -0
- package/dist/utils/parsing/flattenConcatenation.js +53 -0
- package/dist/utils/parsing/flattenConcatenation.js.map +1 -0
- package/package.json +2 -2
- package/dist/processing/first-pass/processCallExpression.js.map +0 -1
- package/dist/processing/second-pass/processCallExpression.d.ts.map +0 -1
- package/dist/processing/second-pass/processCallExpression.js.map +0 -1
- package/dist/processing/second-pass/processVariableDeclarator.d.ts.map +0 -1
- package/dist/processing/second-pass/processVariableDeclarator.js.map +0 -1
- /package/dist/processing/{first-pass → collection}/processCallExpression.d.ts +0 -0
- /package/dist/processing/{first-pass → collection}/processVariableDeclarator.d.ts +0 -0
- /package/dist/processing/{first-pass → collection}/processVariableDeclarator.js +0 -0
- /package/dist/processing/{second-pass → injection}/processCallExpression.d.ts +0 -0
- /package/dist/processing/{second-pass → injection}/processVariableDeclarator.d.ts +0 -0
- /package/dist/processing/{second-pass → injection}/processVariableDeclarator.js +0 -0
package/dist/config.d.ts
CHANGED
|
@@ -12,6 +12,10 @@ export interface PluginConfig {
|
|
|
12
12
|
compileTimeHash?: boolean;
|
|
13
13
|
/** Disable dynamic content validation checks */
|
|
14
14
|
disableBuildChecks?: boolean;
|
|
15
|
+
/** Enable macro transform (t`...`, t(`...`), t("a" + b)) */
|
|
16
|
+
enableMacroTransform?: boolean;
|
|
17
|
+
/** Name of the string translation macro function */
|
|
18
|
+
stringTranslationMacro?: string;
|
|
15
19
|
}
|
|
16
20
|
/**
|
|
17
21
|
* Internal plugin settings (processed config)
|
|
@@ -21,5 +25,11 @@ export interface PluginSettings {
|
|
|
21
25
|
compileTimeHash: boolean;
|
|
22
26
|
disableBuildChecks: boolean;
|
|
23
27
|
filename?: string;
|
|
28
|
+
enableMacroTransform: boolean;
|
|
29
|
+
stringTranslationMacro: string;
|
|
30
|
+
enableTaggedTemplate: boolean;
|
|
31
|
+
enableTemplateLiteralArg: boolean;
|
|
32
|
+
enableConcatenationArg: boolean;
|
|
33
|
+
enableMacroImportInjection: boolean;
|
|
24
34
|
}
|
|
25
35
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -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,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,OAAO,CAAC;
|
|
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,MAAM,WAAW,YAAY;IAC3B,+BAA+B;IAC/B,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;CACjC;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;CACrC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,33 +1,28 @@
|
|
|
1
1
|
import { PluginConfig } from './config';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* First Pass:
|
|
5
|
-
* - Collect + calculate all data
|
|
6
|
-
* - Check for violations
|
|
7
|
-
* - "Register" - collect data to inject
|
|
8
|
-
* - "Track" - track a function call/variable assignment
|
|
9
|
-
*
|
|
10
|
-
* Second Pass:
|
|
11
|
-
* - Inject all data
|
|
12
|
-
*
|
|
13
3
|
* Architecture:
|
|
14
4
|
*
|
|
5
|
+
* Pass Pipeline:
|
|
6
|
+
* - Pass 0: Macro expansion — transforms t`...` tagged templates and t(`...`) template/concatenation args
|
|
7
|
+
* - Pass 1: Collection — collect + calculate all data, check for violations, register + track
|
|
8
|
+
* - Pass 2: Injection — inject all data (hashes, messages, etc.)
|
|
9
|
+
*
|
|
15
10
|
* Babel functions:
|
|
16
11
|
* - 1-to-1 relationship with processing functions
|
|
17
12
|
* - Handle (1) enter/exit scope (2) invoking processing function
|
|
18
13
|
* - ex) JSXElement()
|
|
19
14
|
*
|
|
20
15
|
* Processing functions:
|
|
21
|
-
* - Are dependent on the pass, so they have three categories: (1)
|
|
16
|
+
* - Are dependent on the pass, so they have three categories: (1) collection, (2) injection, (3) shared/general
|
|
22
17
|
* - Invoke transformation functions and utility functions
|
|
23
18
|
* - ex) processJSXElement()
|
|
24
19
|
* - Has the following file structure:
|
|
25
20
|
* + processing
|
|
26
21
|
* | sharedProcessingFunction.ts
|
|
27
|
-
* | +
|
|
28
|
-
* | |
|
|
29
|
-
* | +
|
|
30
|
-
* | |
|
|
22
|
+
* | + collection
|
|
23
|
+
* | | collectionProcessingFunction.ts
|
|
24
|
+
* | + injection
|
|
25
|
+
* | | injectionProcessingFunction.ts
|
|
31
26
|
*
|
|
32
27
|
* Transformation functions:
|
|
33
28
|
* - Are AGNOSTIC to pass number
|
|
@@ -55,9 +50,6 @@ export interface GTUnpluginOptions extends PluginConfig {
|
|
|
55
50
|
*
|
|
56
51
|
* Universal plugin for compile-time optimization of GT translation components
|
|
57
52
|
* that works across webpack, Vite, Rollup, and other bundlers.
|
|
58
|
-
*
|
|
59
|
-
* First pass: construct all information. no replacements, lest we lose our the monkey patching
|
|
60
|
-
* Second pass: inject all information (hashes, messages, etc.)
|
|
61
53
|
*/
|
|
62
54
|
declare const gtUnplugin: import("unplugin").UnpluginInstance<GTUnpluginOptions | undefined, boolean>;
|
|
63
55
|
export default gtUnplugin;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AASxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY;CAEtD;AAED;;;;;GAKG;AACH,QAAA,MAAM,UAAU,6EA8Ef,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
|
@@ -41,23 +41,17 @@ const unplugin_1 = require("unplugin");
|
|
|
41
41
|
const parser = __importStar(require("@babel/parser"));
|
|
42
42
|
const generator_1 = __importDefault(require("@babel/generator"));
|
|
43
43
|
const traverse_1 = __importDefault(require("@babel/traverse"));
|
|
44
|
-
// Import
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const
|
|
44
|
+
// Import passes
|
|
45
|
+
const collectionPass_1 = require("./passes/collectionPass");
|
|
46
|
+
const injectionPass_1 = require("./passes/injectionPass");
|
|
47
|
+
const macroExpansionPass_1 = require("./passes/macroExpansionPass");
|
|
48
48
|
const handleErrors_1 = require("./passes/handleErrors");
|
|
49
|
-
const processVariableDeclarator_1 = require("./processing/first-pass/processVariableDeclarator");
|
|
50
|
-
const processVariableDeclarator_2 = require("./processing/second-pass/processVariableDeclarator");
|
|
51
|
-
const handleErrors_2 = require("./passes/handleErrors");
|
|
52
49
|
const initializeState_1 = require("./state/utils/initializeState");
|
|
53
50
|
/**
|
|
54
51
|
* GT Universal Plugin - Main entry point
|
|
55
52
|
*
|
|
56
53
|
* Universal plugin for compile-time optimization of GT translation components
|
|
57
54
|
* that works across webpack, Vite, Rollup, and other bundlers.
|
|
58
|
-
*
|
|
59
|
-
* First pass: construct all information. no replacements, lest we lose our the monkey patching
|
|
60
|
-
* Second pass: inject all information (hashes, messages, etc.)
|
|
61
55
|
*/
|
|
62
56
|
const gtUnplugin = (0, unplugin_1.createUnplugin)((options = {}) => {
|
|
63
57
|
return {
|
|
@@ -85,27 +79,26 @@ const gtUnplugin = (0, unplugin_1.createUnplugin)((options = {}) => {
|
|
|
85
79
|
allowImportExportEverywhere: true,
|
|
86
80
|
allowReturnOutsideFunction: true,
|
|
87
81
|
});
|
|
88
|
-
//
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
82
|
+
// Pass 0: Macro expansion
|
|
83
|
+
if (state.settings.enableMacroTransform) {
|
|
84
|
+
(0, traverse_1.default)(ast, (0, macroExpansionPass_1.macroExpansionPass)(state));
|
|
85
|
+
}
|
|
86
|
+
// Pass 1: Collection
|
|
87
|
+
(0, traverse_1.default)(ast, (0, collectionPass_1.collectionPass)(state));
|
|
94
88
|
// Handle errors
|
|
95
89
|
if ((0, handleErrors_1.handleErrors)(state)) {
|
|
96
90
|
return null;
|
|
97
91
|
}
|
|
98
|
-
//
|
|
99
|
-
|
|
92
|
+
// Pass 2: Injection
|
|
93
|
+
const hasCollectionContent = state.stringCollector.hasContent();
|
|
94
|
+
if (hasCollectionContent) {
|
|
95
|
+
(0, traverse_1.default)(ast, (0, injectionPass_1.injectionPass)(state));
|
|
96
|
+
}
|
|
97
|
+
// Generate code if any pass modified the AST
|
|
98
|
+
if (!hasCollectionContent &&
|
|
99
|
+
state.statistics.macroExpansionsCount === 0) {
|
|
100
100
|
return null;
|
|
101
101
|
}
|
|
102
|
-
// Complete second-pass traversal matching Rust Fold trait
|
|
103
|
-
(0, traverse_1.default)(ast, Object.assign(Object.assign({}, (0, basePass_1.basePass)(state)), {
|
|
104
|
-
// const gt = useGT();
|
|
105
|
-
CallExpression: (0, processCallExpression_2.processCallExpression)(state),
|
|
106
|
-
// let T = ...
|
|
107
|
-
VariableDeclarator: (0, processVariableDeclarator_2.processVariableDeclarator)(state) }));
|
|
108
|
-
// Generate code
|
|
109
102
|
return (0, generator_1.default)(ast, {
|
|
110
103
|
retainLines: true,
|
|
111
104
|
compact: false,
|
|
@@ -113,7 +106,7 @@ const gtUnplugin = (0, unplugin_1.createUnplugin)((options = {}) => {
|
|
|
113
106
|
}
|
|
114
107
|
catch (error) {
|
|
115
108
|
// If the error is an instance of InvalidLibraryUsageError, throw it
|
|
116
|
-
if (error instanceof
|
|
109
|
+
if (error instanceof handleErrors_1.InvalidLibraryUsageError) {
|
|
117
110
|
throw error;
|
|
118
111
|
}
|
|
119
112
|
// Otherwise, log the error
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA0C;AAC1C,sDAAwC;AACxC,iEAAwC;AACxC,+DAAuC;AAKvC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TraverseOptions } from '@babel/traverse';
|
|
2
|
+
import { TransformState } from '../state/types';
|
|
3
|
+
/**
|
|
4
|
+
* Collection pass — collect translation data without transforming.
|
|
5
|
+
* Tracks imports, variable declarations, and GT function invocations.
|
|
6
|
+
*/
|
|
7
|
+
export declare function collectionPass(state: TransformState): TraverseOptions;
|
|
8
|
+
//# sourceMappingURL=collectionPass.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.collectionPass = collectionPass;
|
|
4
|
+
const basePass_1 = require("./basePass");
|
|
5
|
+
const processCallExpression_1 = require("../processing/collection/processCallExpression");
|
|
6
|
+
const processVariableDeclarator_1 = require("../processing/collection/processVariableDeclarator");
|
|
7
|
+
/**
|
|
8
|
+
* Collection pass — collect translation data without transforming.
|
|
9
|
+
* Tracks imports, variable declarations, and GT function invocations.
|
|
10
|
+
*/
|
|
11
|
+
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
|
+
}
|
|
14
|
+
//# sourceMappingURL=collectionPass.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TraverseOptions } from '@babel/traverse';
|
|
2
|
+
import { TransformState } from '../state/types';
|
|
3
|
+
/**
|
|
4
|
+
* Injection pass — apply collected data to generate hashes and content arrays.
|
|
5
|
+
*/
|
|
6
|
+
export declare function injectionPass(state: TransformState): TraverseOptions;
|
|
7
|
+
//# sourceMappingURL=injectionPass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectionPass.d.ts","sourceRoot":"","sources":["../../src/passes/injectionPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAMpE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.injectionPass = injectionPass;
|
|
4
|
+
const basePass_1 = require("./basePass");
|
|
5
|
+
const processCallExpression_1 = require("../processing/injection/processCallExpression");
|
|
6
|
+
const processVariableDeclarator_1 = require("../processing/injection/processVariableDeclarator");
|
|
7
|
+
/**
|
|
8
|
+
* Injection pass — apply collected data to generate hashes and content arrays.
|
|
9
|
+
*/
|
|
10
|
+
function injectionPass(state) {
|
|
11
|
+
return Object.assign(Object.assign({}, (0, basePass_1.basePass)(state)), { CallExpression: (0, processCallExpression_1.processCallExpression)(state), VariableDeclarator: (0, processVariableDeclarator_1.processVariableDeclarator)(state) });
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=injectionPass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectionPass.js","sourceRoot":"","sources":["../../src/passes/injectionPass.ts"],"names":[],"mappings":";;AASA,sCAMC;AAbD,yCAAsC;AACtC,yFAAsF;AACtF,iGAA8F;AAE9F;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAqB;IACjD,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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TraverseOptions } from '@babel/traverse';
|
|
2
|
+
import { TransformState } from '../state/types';
|
|
3
|
+
/**
|
|
4
|
+
* Macro expansion pass — transforms t`...` tagged templates, t(`...`) template literal args,
|
|
5
|
+
* and t("a" + b) concatenation args into normalized t() calls with ICU placeholders.
|
|
6
|
+
*
|
|
7
|
+
* This pass does NOT use basePass — it doesn't need scope tracking and must not
|
|
8
|
+
* reset ScopeTracker/StringCollector state via processProgram.
|
|
9
|
+
*/
|
|
10
|
+
export declare function macroExpansionPass(state: TransformState): TraverseOptions;
|
|
11
|
+
//# sourceMappingURL=macroExpansionPass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"macroExpansionPass.d.ts","sourceRoot":"","sources":["../../src/passes/macroExpansionPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMhD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAkBzE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.macroExpansionPass = macroExpansionPass;
|
|
4
|
+
const processTaggedTemplateExpression_1 = require("../processing/macro-expansion/processTaggedTemplateExpression");
|
|
5
|
+
const processCallExpression_1 = require("../processing/macro-expansion/processCallExpression");
|
|
6
|
+
const processImportDeclaration_1 = require("../processing/macro-expansion/processImportDeclaration");
|
|
7
|
+
const processProgram_1 = require("../processing/macro-expansion/processProgram");
|
|
8
|
+
/**
|
|
9
|
+
* Macro expansion pass — transforms t`...` tagged templates, t(`...`) template literal args,
|
|
10
|
+
* and t("a" + b) concatenation args into normalized t() calls with ICU placeholders.
|
|
11
|
+
*
|
|
12
|
+
* This pass does NOT use basePass — it doesn't need scope tracking and must not
|
|
13
|
+
* reset ScopeTracker/StringCollector state via processProgram.
|
|
14
|
+
*/
|
|
15
|
+
function macroExpansionPass(state) {
|
|
16
|
+
let alreadyImported = false;
|
|
17
|
+
const countBefore = state.statistics.macroExpansionsCount;
|
|
18
|
+
const onImportFound = () => {
|
|
19
|
+
alreadyImported = true;
|
|
20
|
+
};
|
|
21
|
+
return {
|
|
22
|
+
ImportDeclaration: (0, processImportDeclaration_1.processImportDeclaration)(onImportFound),
|
|
23
|
+
TaggedTemplateExpression: (0, processTaggedTemplateExpression_1.processTaggedTemplateExpression)(state),
|
|
24
|
+
CallExpression: (0, processCallExpression_1.processCallExpression)(state),
|
|
25
|
+
Program: (0, processProgram_1.processProgram)({
|
|
26
|
+
state,
|
|
27
|
+
countBefore,
|
|
28
|
+
isAlreadyImported: () => alreadyImported,
|
|
29
|
+
}),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=macroExpansionPass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"macroExpansionPass.js","sourceRoot":"","sources":["../../src/passes/macroExpansionPass.ts"],"names":[],"mappings":";;AAcA,gDAkBC;AA9BD,mHAAgH;AAChH,+FAA4F;AAC5F,qGAAkG;AAClG,iFAA8E;AAE9E;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;IAE1D,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,IAAA,mDAAwB,EAAC,aAAa,CAAC;QAC1D,wBAAwB,EAAE,IAAA,iEAA+B,EAAC,KAAK,CAAC;QAChE,cAAc,EAAE,IAAA,6CAAqB,EAAC,KAAK,CAAC;QAC5C,OAAO,EAAE,IAAA,+BAAc,EAAC;YACtB,KAAK;YACL,WAAW;YACX,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe;SACzC,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processCallExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/
|
|
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"}
|
|
@@ -88,6 +88,10 @@ function processCallExpression(state) {
|
|
|
88
88
|
// TODO: Handle msg() function
|
|
89
89
|
// handleMsgFunction(callExpr, state);
|
|
90
90
|
}
|
|
91
|
+
else if (type === 'generaltranslation' &&
|
|
92
|
+
canonicalName === constants_1.GT_OTHER_FUNCTIONS.t) {
|
|
93
|
+
// TODO: Handle t() function
|
|
94
|
+
}
|
|
91
95
|
};
|
|
92
96
|
}
|
|
93
97
|
/* =============================== */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/collection/processCallExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,sDAoDC;AAvFD,gDAAkC;AAElC,8DAG0C;AAC1C,iGAA8F;AAC9F,kEAI4C;AAC5C,wHAIwE;AACxE,wGAAqG;AACrG,4HAAyH;AACzH,oHAAiH;AACjH,2EAAwE;AACxE,iEAAsE;AACtE,kHAA+G;AAC/G,4GAAyG;AACzG,gIAA6H;AAC7H,+CAAyD;AACzD,8EAAmD;AAEnD;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,KAAqB;IAErB,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAE3B,gCAAgC;QAChC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GACnC,IAAA,yDAA2B,EAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,kCAAkC;QAClC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,IAAA,uCAAkB,EAC5D,KAAK,CAAC,YAAY,EAClB,aAAa,EACb,YAAY,CACb,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,IACE,IAAI,KAAK,oBAAoB;YAC7B,IAAA,uCAA6B,EAAC,aAAa,CAAC,EAC5C,CAAC;YACD,+DAA+D;YAC/D,mCAAmC,CACjC,QAAQ,EACR,KAAK,EACL,aAAa,EACb,UAAW,CACZ,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAA,yBAAe,EAAC,aAAa,CAAC,EAAE,CAAC;YAC9D,wCAAwC;YACxC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,IACL,IAAI,KAAK,oBAAoB;YAC7B,aAAa,KAAK,8BAAkB,CAAC,GAAG,EACxC,CAAC;YACD,8BAA8B;YAC9B,sCAAsC;QACxC,CAAC;aAAM,IACL,IAAI,KAAK,oBAAoB;YAC7B,aAAa,KAAK,8BAAkB,CAAC,CAAC,EACtC,CAAC;YACD,4BAA4B;QAC9B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,cAAc;AACd,qCAAqC;AAErC;;;GAGG;AACH,SAAS,mCAAmC,CAC1C,QAA0B,EAC1B,KAAqB,EACrB,aAA+B,EAC/B,UAAkB;IAElB,2CAA2C;IAC3C,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,iCAAqB,CAAC,cAAc,CAAC;QAC1C,KAAK,iCAAqB,CAAC,cAAc;YACvC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,iCAAqB,CAAC,wBAAwB,CAAC;QACpD,KAAK,iCAAqB,CAAC,wBAAwB;YACjD,6BAA6B,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC3D,MAAM;QACR,KAAK,iCAAqB,CAAC,oBAAoB,CAAC;QAChD,KAAK,iCAAqB,CAAC,oBAAoB;YAC7C,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACvD,MAAM;QACR;YACE,OAAO;IACX,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,QAA0B,EAC1B,KAAqB,EACrB,UAAkB;IAElB,uBAAuB;IACvB,MAAM,mBAAmB,GAAG,IAAA,2DAAqB,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnE,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACzD,IACE,mBAAmB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACrC,mBAAmB,CAAC,OAAO,KAAK,SAAS,EACzC,CAAC;QACD,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,IAAA,6CAAqB,EAAC;QACpB,UAAU;QACV,KAAK;QACL,OAAO,EAAE,mBAAmB,CAAC,OAAO;QACpC,OAAO,EAAE,mBAAmB,CAAC,OAAO;QACpC,EAAE,EAAE,mBAAmB,CAAC,EAAE;QAC1B,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;QACtC,IAAI,EAAE,mBAAmB,CAAC,IAAI;KAC/B,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,6BAA6B,CACpC,QAA0B,EAC1B,KAAqB,EACrB,UAAkB;IAElB,uBAAuB;IACvB,MAAM,6BAA6B,GACjC,IAAA,qEAA+B,EAAC,QAAQ,CAAC,CAAC;IAC5C,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,6BAA6B,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,IAAA,iEAA+B,EAAC;QAC9B,UAAU;QACV,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,QAA0B,EAC1B,KAAqB,EACrB,UAAkB;IAElB,sBAAsB;IACtB,MAAM,yBAAyB,GAAG,IAAA,iEAA2B,EAAC,QAAQ,CAAC,CAAC;IAExE,uBAAuB;IACvB,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,yBAAyB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,IAAA,yDAA2B,EAAC;QAC1B,UAAU;QACV,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,QAA0B,EAC1B,KAAqB;IAErB,uDAAuD;IACvD,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,YAAY,CAAC,QAAQ,CACzB,kDAAkD;YAChD,IAAA,4BAAmB,EAAC,QAAQ,CAAC,CAChC,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,YAAY,CAAC,QAAQ,CACzB,uDAAuD;YACrD,IAAA,4BAAmB,EAAC,QAAQ,CAAC,CAChC,CAAC;QACF,OAAO;IACT,CAAC;IAED,gCAAgC;IAChC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GACnC,IAAA,yEAAmC,EAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,KAAK,CAAC,YAAY,CAAC,QAAQ,CACzB,oDAAoD;YAClD,IAAA,4BAAmB,EAAC,QAAQ,CAAC,CAChC,CAAC;QACF,OAAO;IACT,CAAC;IACD,kCAAkC;IAClC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,IAAA,uCAAkB,EAChD,KAAK,CAAC,YAAY,EAClB,aAAa,EACb,YAAY,CACb,CAAC;IACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,+BAA+B;IAC/B,IAAI,IAAI,KAAK,oBAAoB,IAAI,CAAC,IAAA,gCAAsB,EAAC,aAAa,CAAC,EAAE,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,yBAAyB;IACzB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GACtD,IAAA,mEAAgC,EAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAEnE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,iBAAiB;IACjB,MAAM,IAAI,GACR,KAAK;QACL,IAAA,uBAAU,4DACR,MAAM,EAAE,QAAS,IACd,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,GACxB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GACd,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,KACrC,UAAU,EAAE,KAAK,IACjB,CAAC;IAEL,2EAA2E;IAC3E,IAAA,2DAA4B,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processVariableDeclarator.d.ts","sourceRoot":"","sources":["../../../src/processing/
|
|
1
|
+
{"version":3,"file":"processVariableDeclarator.d.ts","sourceRoot":"","sources":["../../../src/processing/collection/processVariableDeclarator.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;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAIzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processVariableDeclarator.js","sourceRoot":"","sources":["../../../src/processing/
|
|
1
|
+
{"version":3,"file":"processVariableDeclarator.js","sourceRoot":"","sources":["../../../src/processing/collection/processVariableDeclarator.ts"],"names":[],"mappings":";;AAiBA,8DAMC;AApBD,8FAA2F;AAE3F;;;;;;;;;;;GAWG;AACH,SAAgB,yBAAyB,CACvC,KAAqB;IAErB,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAA,iDAAuB,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processCallExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/injection/processCallExpression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAmBlC;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,CA6CrC"}
|
|
@@ -78,6 +78,10 @@ function processCallExpression(state) {
|
|
|
78
78
|
// TODO: Handle msg() function
|
|
79
79
|
// handleMsgFunction(callExpr, state);
|
|
80
80
|
}
|
|
81
|
+
else if (type === 'generaltranslation' &&
|
|
82
|
+
canonicalName === constants_1.GT_OTHER_FUNCTIONS.t) {
|
|
83
|
+
// TODO: Handle t() function
|
|
84
|
+
}
|
|
81
85
|
};
|
|
82
86
|
}
|
|
83
87
|
/* =============================== */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/injection/processCallExpression.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processVariableDeclarator.d.ts","sourceRoot":"","sources":["../../../src/processing/injection/processVariableDeclarator.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;AAIlC;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAKzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processVariableDeclarator.js","sourceRoot":"","sources":["../../../src/processing/injection/processVariableDeclarator.ts"],"names":[],"mappings":";;AAkBA,8DAOC;AAtBD,8FAA2F;AAC3F,qIAAkI;AAElI;;;;;;;;;;;GAWG;AACH,SAAgB,yBAAyB,CACvC,KAAqB;IAErB,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,IAAA,iDAAuB,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAA,uFAA0C,EAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { VisitNode } from '@babel/traverse';
|
|
2
|
+
import * as t from '@babel/types';
|
|
3
|
+
import { TransformState } from '../../state/types';
|
|
4
|
+
/**
|
|
5
|
+
* Process call expressions for macro expansion.
|
|
6
|
+
* Transforms:
|
|
7
|
+
* - t(`Hello, ${name}`) → t("Hello, {0}", { "0": name })
|
|
8
|
+
* - t("Hello, " + name) → t("Hello, {0}", { "0": name })
|
|
9
|
+
*
|
|
10
|
+
* Skips when t is bound to a non-GT import (e.g., i18next)
|
|
11
|
+
*/
|
|
12
|
+
export declare function processCallExpression(state: TransformState): VisitNode<t.Node, t.CallExpression>;
|
|
13
|
+
//# sourceMappingURL=processCallExpression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processCallExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/macro-expansion/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;AAKnD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,CA0CrC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
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.processCallExpression = processCallExpression;
|
|
37
|
+
const t = __importStar(require("@babel/types"));
|
|
38
|
+
const transformTemplateLiteral_1 = require("../../transform/macro-expansion/transformTemplateLiteral");
|
|
39
|
+
const transformConcatenation_1 = require("../../transform/macro-expansion/transformConcatenation");
|
|
40
|
+
const constants_1 = require("../../utils/constants/gt/constants");
|
|
41
|
+
/**
|
|
42
|
+
* Process call expressions for macro expansion.
|
|
43
|
+
* Transforms:
|
|
44
|
+
* - t(`Hello, ${name}`) → t("Hello, {0}", { "0": name })
|
|
45
|
+
* - t("Hello, " + name) → t("Hello, {0}", { "0": name })
|
|
46
|
+
*
|
|
47
|
+
* Skips when t is bound to a non-GT import (e.g., i18next)
|
|
48
|
+
*/
|
|
49
|
+
function processCallExpression(state) {
|
|
50
|
+
const symbol = state.settings.stringTranslationMacro;
|
|
51
|
+
return (path) => {
|
|
52
|
+
if (!t.isIdentifier(path.node.callee, { name: symbol }))
|
|
53
|
+
return;
|
|
54
|
+
// Only transform unbound t (global macro) or t imported from a GT source
|
|
55
|
+
const binding = path.scope.getBinding(symbol);
|
|
56
|
+
if (binding) {
|
|
57
|
+
if (!binding.path.isImportSpecifier())
|
|
58
|
+
return;
|
|
59
|
+
const importDecl = binding.path.parentPath;
|
|
60
|
+
if ((importDecl === null || importDecl === void 0 ? void 0 : importDecl.isImportDeclaration()) &&
|
|
61
|
+
importDecl.node.source.value !== constants_1.GT_IMPORT_SOURCES.GT_REACT_BROWSER) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const firstArg = path.node.arguments[0];
|
|
66
|
+
if (!firstArg)
|
|
67
|
+
return;
|
|
68
|
+
if (state.settings.enableTemplateLiteralArg &&
|
|
69
|
+
t.isTemplateLiteral(firstArg)) {
|
|
70
|
+
const { message, variables } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(firstArg);
|
|
71
|
+
path.node.arguments[0] = message;
|
|
72
|
+
if (variables) {
|
|
73
|
+
mergeVariables(path.node.arguments, variables);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else if (state.settings.enableConcatenationArg &&
|
|
77
|
+
t.isBinaryExpression(firstArg, { operator: '+' })) {
|
|
78
|
+
const { message, variables } = (0, transformConcatenation_1.transformConcatenation)(firstArg);
|
|
79
|
+
path.node.arguments[0] = message;
|
|
80
|
+
if (variables) {
|
|
81
|
+
mergeVariables(path.node.arguments, variables);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Merge extracted variables into the call arguments.
|
|
88
|
+
* If the second argument is already an ObjectExpression, append properties to it.
|
|
89
|
+
* Otherwise, insert the variables object as the second argument.
|
|
90
|
+
*/
|
|
91
|
+
function mergeVariables(args, variables) {
|
|
92
|
+
if (args.length > 1 && t.isObjectExpression(args[1])) {
|
|
93
|
+
args[1].properties.push(...variables.properties);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
args.splice(1, 0, variables);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=processCallExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processCallExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,sDA4CC;AA1DD,gDAAkC;AAElC,uGAAoG;AACpG,mGAAgG;AAChG,kEAAuE;AAEvE;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CACnC,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,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAAE,OAAO;QAEhE,yEAAyE;QACzE,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,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE;gBACjC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,6BAAiB,CAAC,gBAAgB,EACnE,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IACE,KAAK,CAAC,QAAQ,CAAC,wBAAwB;YACvC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAC7B,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,mDAAwB,EAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACjC,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,IACL,KAAK,CAAC,QAAQ,CAAC,sBAAsB;YACrC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EACjD,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,+CAAsB,EAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACjC,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,IAAgE,EAChE,SAA6B;IAE7B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,CAAC,CAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { VisitNode } from '@babel/traverse';
|
|
2
|
+
import * as t from '@babel/types';
|
|
3
|
+
/**
|
|
4
|
+
* Process import declarations during macro expansion.
|
|
5
|
+
* Checks if `t` is already imported from a recognized GT source.
|
|
6
|
+
*/
|
|
7
|
+
export declare function processImportDeclaration(onFound: () => void): VisitNode<t.Node, t.ImportDeclaration>;
|
|
8
|
+
//# sourceMappingURL=processImportDeclaration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processImportDeclaration.d.ts","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processImportDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAIlC;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,IAAI,GAClB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAiBxC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
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 macro expansion.
|
|
42
|
+
* Checks if `t` is already imported from a recognized GT source.
|
|
43
|
+
*/
|
|
44
|
+
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
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=processImportDeclaration.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TransformState } from '../../state/types';
|
|
2
|
+
import { VisitNode } from '@babel/traverse';
|
|
3
|
+
import * as t from '@babel/types';
|
|
4
|
+
/**
|
|
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
|
+
export declare function processProgram({ state, countBefore, isAlreadyImported, }: {
|
|
14
|
+
state: TransformState;
|
|
15
|
+
countBefore: number;
|
|
16
|
+
isAlreadyImported: () => boolean;
|
|
17
|
+
}): VisitNode<t.Node, t.Program>;
|
|
18
|
+
//# sourceMappingURL=processProgram.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processProgram.d.ts","sourceRoot":"","sources":["../../../src/processing/macro-expansion/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;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,iBAAiB,GAClB,EAAE;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,OAAO,CAAC;CAClC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAY/B"}
|