@generaltranslation/compiler 1.3.15 → 1.3.16
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/processing/collection/processCallExpression.d.ts.map +1 -1
- package/dist/processing/collection/processCallExpression.js +6 -3
- package/dist/processing/collection/processCallExpression.js.map +1 -1
- package/dist/processing/collection/processTaggedTemplateExpression.d.ts.map +1 -1
- package/dist/processing/collection/processTaggedTemplateExpression.js +8 -27
- package/dist/processing/collection/processTaggedTemplateExpression.js.map +1 -1
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.d.ts +1 -1
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.d.ts.map +1 -1
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js +3 -14
- package/dist/processing/macro-expansion/processTaggedTemplateExpression.js.map +1 -1
- package/dist/transform/registration/registerStandaloneTranslation.d.ts.map +1 -1
- package/dist/transform/registration/registerStandaloneTranslation.js +2 -0
- package/dist/transform/registration/registerStandaloneTranslation.js.map +1 -1
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.d.ts +13 -0
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.d.ts.map +1 -0
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.js +63 -0
- package/dist/utils/parsing/isStringTranslationTaggedTemplate.js.map +1 -0
- package/package.json +2 -2
|
@@ -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;AA4BnD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,
|
|
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,CAoDrC"}
|
|
@@ -86,11 +86,14 @@ function processCallExpression(state) {
|
|
|
86
86
|
}
|
|
87
87
|
else if (type === 'generaltranslation' &&
|
|
88
88
|
canonicalName === constants_1.GT_OTHER_FUNCTIONS.msg) {
|
|
89
|
-
|
|
89
|
+
// msg() is runtime-only content; it must not advance the injection counter.
|
|
90
|
+
handleStandaloneTranslation(callExpr, state, { injectHash: false });
|
|
90
91
|
}
|
|
91
92
|
else if (type === 'generaltranslation' &&
|
|
92
93
|
canonicalName === constants_1.GT_OTHER_FUNCTIONS.t) {
|
|
93
|
-
|
|
94
|
+
// Standalone t() receives an injected $_hash, so collection reserves a
|
|
95
|
+
// matching counter slot for the injection pass.
|
|
96
|
+
handleStandaloneTranslation(callExpr, state, { injectHash: true });
|
|
94
97
|
}
|
|
95
98
|
};
|
|
96
99
|
}
|
|
@@ -240,7 +243,7 @@ function handleReactInvocation(callExpr, state) {
|
|
|
240
243
|
* Handle standalone translation functions: t() and msg()
|
|
241
244
|
* Same argument structure as useGT_callback (message string + options object).
|
|
242
245
|
*/
|
|
243
|
-
function handleStandaloneTranslation(callExpr, state, injectHash) {
|
|
246
|
+
function handleStandaloneTranslation(callExpr, state, { injectHash }) {
|
|
244
247
|
// Reuse the same validation as useGT_callback (identical argument structure)
|
|
245
248
|
const params = (0, validateTranslationFunctionCallback_1.validateUseGTCallback)(callExpr, state);
|
|
246
249
|
if (params.errors.length > 0 || params.content === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/collection/processCallExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,
|
|
1
|
+
{"version":3,"file":"processCallExpression.js","sourceRoot":"","sources":["../../../src/processing/collection/processCallExpression.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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,CAqB/C"}
|
|
@@ -32,15 +32,12 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
36
|
exports.processTaggedTemplateExpression = processTaggedTemplateExpression;
|
|
40
37
|
const t = __importStar(require("@babel/types"));
|
|
41
|
-
const constants_1 = require("../../utils/constants/gt/constants");
|
|
42
38
|
const transformTemplateLiteral_1 = require("../../transform/macro-expansion/transformTemplateLiteral");
|
|
43
|
-
const
|
|
39
|
+
const registerStandaloneTranslation_1 = require("../../transform/registration/registerStandaloneTranslation");
|
|
40
|
+
const isStringTranslationTaggedTemplate_1 = require("../../utils/parsing/isStringTranslationTaggedTemplate");
|
|
44
41
|
/**
|
|
45
42
|
* Process tagged template expressions during the collection pass.
|
|
46
43
|
* Extracts the message for runtime-only entries (t`Hello ${name}`).
|
|
@@ -55,35 +52,19 @@ const calculateHash_1 = __importDefault(require("../../utils/calculateHash"));
|
|
|
55
52
|
function processTaggedTemplateExpression(state) {
|
|
56
53
|
const symbol = state.settings.stringTranslationMacro;
|
|
57
54
|
return (path) => {
|
|
58
|
-
if (!
|
|
55
|
+
if (!(0, isStringTranslationTaggedTemplate_1.isStringTranslationTaggedTemplate)(path, symbol))
|
|
59
56
|
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
57
|
// Extract message from the template literal (reuse macro expansion utility)
|
|
73
58
|
const { message } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(path.get('quasi'));
|
|
74
59
|
// If message is a TemplateLiteral, it contains derive() — skip
|
|
75
60
|
if (!t.isStringLiteral(message)) {
|
|
76
61
|
return;
|
|
77
62
|
}
|
|
78
|
-
//
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
});
|
|
84
|
-
state.stringCollector.pushRuntimeOnlyContent({
|
|
85
|
-
message: content,
|
|
86
|
-
hash,
|
|
63
|
+
// Register as runtime-only content. Leaving injectHash undefined is
|
|
64
|
+
// intentional: tagged templates do not reserve injection counter slots.
|
|
65
|
+
(0, registerStandaloneTranslation_1.registerStandaloneTranslation)({
|
|
66
|
+
state,
|
|
67
|
+
content: message.value,
|
|
87
68
|
});
|
|
88
69
|
};
|
|
89
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processTaggedTemplateExpression.js","sourceRoot":"","sources":["../../../src/processing/collection/processTaggedTemplateExpression.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processTaggedTemplateExpression.js","sourceRoot":"","sources":["../../../src/processing/collection/processTaggedTemplateExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,0EAuBC;AAxCD,gDAAkC;AAElC,uGAAoG;AACpG,8GAA2G;AAC3G,6GAA0G;AAE1G;;;;;;;;;;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,IAAA,qEAAiC,EAAC,IAAI,EAAE,MAAM,CAAC;YAAE,OAAO;QAE7D,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,oEAAoE;QACpE,wEAAwE;QACxE,IAAA,6DAA6B,EAAC;YAC5B,KAAK;YACL,OAAO,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { TransformState } from '../../state/types';
|
|
|
7
7
|
*
|
|
8
8
|
* Only transforms when:
|
|
9
9
|
* - t is unbound (global macro via gt-react/macros)
|
|
10
|
-
* - t is imported from
|
|
10
|
+
* - t is imported from gt-react/browser
|
|
11
11
|
* Skips when t is bound to a non-GT import (e.g., i18next)
|
|
12
12
|
*/
|
|
13
13
|
export declare function processTaggedTemplateExpression(state: TransformState): VisitNode<t.Node, t.TaggedTemplateExpression>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processTaggedTemplateExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/macro-expansion/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;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"processTaggedTemplateExpression.d.ts","sourceRoot":"","sources":["../../../src/processing/macro-expansion/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;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAgB/C"}
|
|
@@ -36,15 +36,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.processTaggedTemplateExpression = processTaggedTemplateExpression;
|
|
37
37
|
const t = __importStar(require("@babel/types"));
|
|
38
38
|
const constants_1 = require("../../utils/constants/gt/constants");
|
|
39
|
-
const constants_2 = require("../../utils/constants/gt/constants");
|
|
40
39
|
const transformTemplateLiteral_1 = require("../../transform/macro-expansion/transformTemplateLiteral");
|
|
40
|
+
const isStringTranslationTaggedTemplate_1 = require("../../utils/parsing/isStringTranslationTaggedTemplate");
|
|
41
41
|
/**
|
|
42
42
|
* Process tagged template expressions for macro expansion.
|
|
43
43
|
* Transforms t`Hello, ${name}` → t("Hello, {0}", { "0": name })
|
|
44
44
|
*
|
|
45
45
|
* Only transforms when:
|
|
46
46
|
* - t is unbound (global macro via gt-react/macros)
|
|
47
|
-
* - t is imported from
|
|
47
|
+
* - t is imported from gt-react/browser
|
|
48
48
|
* Skips when t is bound to a non-GT import (e.g., i18next)
|
|
49
49
|
*/
|
|
50
50
|
function processTaggedTemplateExpression(state) {
|
|
@@ -52,19 +52,8 @@ function processTaggedTemplateExpression(state) {
|
|
|
52
52
|
return (path) => {
|
|
53
53
|
if (!state.settings.enableTaggedTemplate)
|
|
54
54
|
return;
|
|
55
|
-
if (!
|
|
55
|
+
if (!(0, isStringTranslationTaggedTemplate_1.isStringTranslationTaggedTemplate)(path, symbol))
|
|
56
56
|
return;
|
|
57
|
-
// Only transform unbound t (global macro) or t imported from gt-react/browser
|
|
58
|
-
const binding = path.scope.getBinding(symbol);
|
|
59
|
-
if (binding) {
|
|
60
|
-
if (!binding.path.isImportSpecifier())
|
|
61
|
-
return;
|
|
62
|
-
const importDecl = binding.path.parentPath;
|
|
63
|
-
if (!(importDecl === null || importDecl === void 0 ? void 0 : importDecl.isImportDeclaration()) ||
|
|
64
|
-
importDecl.node.source.value !== constants_2.GT_IMPORT_SOURCES.GT_REACT_BROWSER) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
57
|
const { message, variables } = (0, transformTemplateLiteral_1.transformTemplateLiteral)(path.get('quasi'));
|
|
69
58
|
const args = [message];
|
|
70
59
|
if (variables)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processTaggedTemplateExpression.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processTaggedTemplateExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,
|
|
1
|
+
{"version":3,"file":"processTaggedTemplateExpression.js","sourceRoot":"","sources":["../../../src/processing/macro-expansion/processTaggedTemplateExpression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,0EAkBC;AAjCD,gDAAkC;AAElC,kEAAwE;AACxE,uGAAoG;AACpG,6GAA0G;AAE1G;;;;;;;;GAQG;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,KAAK,CAAC,QAAQ,CAAC,oBAAoB;YAAE,OAAO;QACjD,IAAI,CAAC,IAAA,qEAAiC,EAAC,IAAI,EAAE,MAAM,CAAC;YAAE,OAAO;QAE7D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,mDAAwB,EAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAmB,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,WAAW,CACd,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,8BAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAC3D,CAAC;QACF,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerStandaloneTranslation.d.ts","sourceRoot":"","sources":["../../../src/transform/registration/registerStandaloneTranslation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,KAAK,EACL,OAAO,EACP,OAAO,EACP,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,GACX,EAAE;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"registerStandaloneTranslation.d.ts","sourceRoot":"","sources":["../../../src/transform/registration/registerStandaloneTranslation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,KAAK,EACL,OAAO,EACP,OAAO,EACP,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,GACX,EAAE;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,IAAI,CA4BP"}
|
|
@@ -18,6 +18,8 @@ function registerStandaloneTranslation({ state, content, context, id, maxChars,
|
|
|
18
18
|
maxChars,
|
|
19
19
|
format,
|
|
20
20
|
});
|
|
21
|
+
// Runtime-only entries, including msg() and t`...`, stop here. Only
|
|
22
|
+
// standalone t() sets injectHash so the injection pass sees a matching slot.
|
|
21
23
|
if (!injectHash) {
|
|
22
24
|
return;
|
|
23
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerStandaloneTranslation.js","sourceRoot":"","sources":["../../../src/transform/registration/registerStandaloneTranslation.ts"],"names":[],"mappings":";;;;;AAOA,
|
|
1
|
+
{"version":3,"file":"registerStandaloneTranslation.js","sourceRoot":"","sources":["../../../src/transform/registration/registerStandaloneTranslation.ts"],"names":[],"mappings":";;;;;AAOA,sEA8CC;AApDD,8EAAmD;AAGnD;;GAEG;AACH,SAAgB,6BAA6B,CAAC,EAC5C,KAAK,EACL,OAAO,EACP,OAAO,EACP,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,GAUX;IACC,IAAI,aAAJ,IAAI,cAAJ,IAAI,IAAJ,IAAI,GAAK,IAAA,uBAAU,4DACjB,MAAM,EAAE,OAAO,IACZ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GACd,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,GACxB,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,KACrC,UAAU,EAAE,CAAC,MAAM,IAAI,KAAK,CAAe,IAC3C,EAAC;IAEH,KAAK,CAAC,eAAe,CAAC,sBAAsB,CAAC;QAC3C,OAAO,EAAE,OAAO;QAChB,IAAI;QACJ,EAAE;QACF,OAAO;QACP,QAAQ;QACR,MAAM;KACP,CAAC,CAAC;IAEH,oEAAoE;IACpE,6EAA6E;IAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;IAC3D,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAClD,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { NodePath } from '@babel/traverse';
|
|
2
|
+
import * as t from '@babel/types';
|
|
3
|
+
/**
|
|
4
|
+
* Checks whether a tagged template expression should be treated as the GT
|
|
5
|
+
* string translation macro.
|
|
6
|
+
*
|
|
7
|
+
* The macro is valid when it is an unbound bare identifier, or when it is
|
|
8
|
+
* imported from gt-react/browser. This covers global `t`, but not explicit
|
|
9
|
+
* member access such as `globalThis.t` or `window.t`. Other bindings are left
|
|
10
|
+
* alone so local/i18next t tags do not get transformed or extracted.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isStringTranslationTaggedTemplate(path: NodePath<t.TaggedTemplateExpression>, symbol: string): boolean;
|
|
13
|
+
//# sourceMappingURL=isStringTranslationTaggedTemplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isStringTranslationTaggedTemplate.d.ts","sourceRoot":"","sources":["../../../src/utils/parsing/isStringTranslationTaggedTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAGlC;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAC1C,MAAM,EAAE,MAAM,GACb,OAAO,CAmBT"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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.isStringTranslationTaggedTemplate = isStringTranslationTaggedTemplate;
|
|
37
|
+
const t = __importStar(require("@babel/types"));
|
|
38
|
+
const constants_1 = require("../constants/gt/constants");
|
|
39
|
+
/**
|
|
40
|
+
* Checks whether a tagged template expression should be treated as the GT
|
|
41
|
+
* string translation macro.
|
|
42
|
+
*
|
|
43
|
+
* The macro is valid when it is an unbound bare identifier, or when it is
|
|
44
|
+
* imported from gt-react/browser. This covers global `t`, but not explicit
|
|
45
|
+
* member access such as `globalThis.t` or `window.t`. Other bindings are left
|
|
46
|
+
* alone so local/i18next t tags do not get transformed or extracted.
|
|
47
|
+
*/
|
|
48
|
+
function isStringTranslationTaggedTemplate(path, symbol) {
|
|
49
|
+
if (!t.isIdentifier(path.node.tag, { name: symbol })) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
const binding = path.scope.getBinding(symbol);
|
|
53
|
+
if (!binding) {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
if (!binding.path.isImportSpecifier()) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
const importDecl = binding.path.parentPath;
|
|
60
|
+
return ((importDecl === null || importDecl === void 0 ? void 0 : importDecl.isImportDeclaration()) === true &&
|
|
61
|
+
importDecl.node.source.value === constants_1.GT_IMPORT_SOURCES.GT_REACT_BROWSER);
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=isStringTranslationTaggedTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isStringTranslationTaggedTemplate.js","sourceRoot":"","sources":["../../../src/utils/parsing/isStringTranslationTaggedTemplate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,8EAsBC;AAlCD,gDAAkC;AAClC,yDAA8D;AAE9D;;;;;;;;GAQG;AACH,SAAgB,iCAAiC,CAC/C,IAA0C,EAC1C,MAAc;IAEd,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3C,OAAO,CACL,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE,MAAK,IAAI;QAC1C,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,6BAAiB,CAAC,gBAAgB,CACpE,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@generaltranslation/compiler",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.16",
|
|
4
4
|
"description": "Universal plugin for compile-time optimization of GT translation components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"@babel/traverse": "^7.23.0",
|
|
25
25
|
"@babel/types": "^7.23.0",
|
|
26
26
|
"unplugin": "^2.3.10",
|
|
27
|
-
"generaltranslation": "8.2.
|
|
27
|
+
"generaltranslation": "8.2.10"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/babel__core": "^7.20.0",
|