@tolgee/cli 2.10.2 → 2.11.0
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/extractor/parser/parser.js +7 -5
- package/dist/extractor/{parserVue → parser}/rules/globalTFunction.js +1 -1
- package/dist/extractor/parser/tokenMergers/customTCallMerger.js +23 -0
- package/dist/extractor/parser/tokenMergers/{typesAsMergerer.js → typesAsMerger.js} +1 -1
- package/dist/extractor/parser/tokenMergers/typesCastMerger.js +1 -1
- package/dist/extractor/parserNgx/ParserNgx.js +4 -3
- package/dist/extractor/parserReact/ParserReact.js +10 -3
- package/dist/extractor/parserSvelte/ParserSvelte.js +4 -3
- package/dist/extractor/parserVue/ParserVue.js +5 -5
- package/package.json +1 -1
- package/dist/extractor/parserVue/tokenMergers/globalTFunctionMerger.js +0 -36
@@ -7,8 +7,9 @@ import { createMachine } from './mergerMachine.js';
|
|
7
7
|
import { stringMerger } from './tokenMergers/stringMerger.js';
|
8
8
|
import { templateStringMerger } from './tokenMergers/templateStringMerger.js';
|
9
9
|
import { closingTagMerger } from './tokenMergers/closingTagMerger.js';
|
10
|
-
import {
|
11
|
-
import {
|
10
|
+
import { typesAsMerger } from './tokenMergers/typesAsMerger.js';
|
11
|
+
import { typesCastMerger } from './tokenMergers/typesCastMerger.js';
|
12
|
+
import { customTCallMerger } from './tokenMergers/customTCallMerger.js';
|
12
13
|
export const DEFAULT_BLOCKS = {
|
13
14
|
'block.begin': ['block.end'],
|
14
15
|
'expression.begin': ['expression.end'],
|
@@ -19,12 +20,13 @@ export const DEFAULT_BLOCKS = {
|
|
19
20
|
'tag.closing.begin',
|
20
21
|
],
|
21
22
|
};
|
22
|
-
export const
|
23
|
+
export const DEFAULT_MERGERS = [
|
23
24
|
stringMerger,
|
24
25
|
templateStringMerger,
|
25
26
|
closingTagMerger,
|
26
|
-
|
27
|
-
|
27
|
+
typesAsMerger,
|
28
|
+
typesCastMerger,
|
29
|
+
customTCallMerger(['tolgee.t']),
|
28
30
|
];
|
29
31
|
export const Parser = ({ mappers, blocks, rules, merger, treeTransform, }) => {
|
30
32
|
const ruleMap = new Map();
|
@@ -0,0 +1,23 @@
|
|
1
|
+
export const customTCallMerger = (customExpressions) => {
|
2
|
+
return {
|
3
|
+
initial: '',
|
4
|
+
step: (state, t, end) => {
|
5
|
+
const type = t.customType;
|
6
|
+
const token = t.token;
|
7
|
+
if (type === 'variable' || type === 'function.call') {
|
8
|
+
if (customExpressions.find((e) => e.startsWith(state + token))) {
|
9
|
+
return state + token;
|
10
|
+
}
|
11
|
+
}
|
12
|
+
else if (type === 'acessor.dot') {
|
13
|
+
return state + '.';
|
14
|
+
}
|
15
|
+
else if (state !== '' && type === 'expression.begin') {
|
16
|
+
if (customExpressions.includes(state)) {
|
17
|
+
return end.MERGE_ALL;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
},
|
21
|
+
customType: 'trigger.global.t.function',
|
22
|
+
};
|
23
|
+
};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { pipeMachines } from '../parser/mergerMachine.js';
|
2
|
-
import { DEFAULT_BLOCKS,
|
2
|
+
import { DEFAULT_BLOCKS, DEFAULT_MERGERS, Parser } from '../parser/parser.js';
|
3
3
|
import { generalMapper } from '../parser/generalMapper.js';
|
4
4
|
import { ngxMapper } from './ngxMapper.js';
|
5
5
|
import { ngxTreeTransform } from './ngxTreeTransform.js';
|
@@ -9,9 +9,10 @@ import { pipeMerger } from './tokenMergers/pipeMerger.js';
|
|
9
9
|
import { componentWithT } from './rules/componentWithT.js';
|
10
10
|
import { translatePipe } from './rules/translatePipe.js';
|
11
11
|
import { translateFunction } from './rules/translateFunction.js';
|
12
|
+
import { globalTFunction } from '../parser/rules/globalTFunction.js';
|
12
13
|
const ngxMappers = [ngxMapper, generalMapper];
|
13
14
|
export const ngxMergers = pipeMachines([
|
14
|
-
...
|
15
|
+
...DEFAULT_MERGERS,
|
15
16
|
componentWithTMerger,
|
16
17
|
pipeMerger,
|
17
18
|
translateMerger,
|
@@ -20,7 +21,7 @@ export const ParserNgx = () => {
|
|
20
21
|
return Parser({
|
21
22
|
mappers: ngxMappers,
|
22
23
|
blocks: Object.assign({}, DEFAULT_BLOCKS),
|
23
|
-
rules: [componentWithT, translatePipe, translateFunction],
|
24
|
+
rules: [globalTFunction, componentWithT, translatePipe, translateFunction],
|
24
25
|
merger: ngxMergers,
|
25
26
|
treeTransform: ngxTreeTransform,
|
26
27
|
});
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { pipeMachines } from '../parser/mergerMachine.js';
|
2
|
-
import { DEFAULT_BLOCKS,
|
2
|
+
import { DEFAULT_BLOCKS, DEFAULT_MERGERS, Parser } from '../parser/parser.js';
|
3
3
|
import { generalMapper } from '../parser/generalMapper.js';
|
4
4
|
import { reactMapper } from './jsxMapper.js';
|
5
5
|
import { createElementMerger } from './tokenMergers/createElementMerger.js';
|
@@ -10,9 +10,10 @@ import { reactCreateElement } from './rules/createElement.js';
|
|
10
10
|
import { tComponent } from './rules/tComponent.js';
|
11
11
|
import { tFunction } from './rules/tFunction.js';
|
12
12
|
import { useTranslate } from './rules/useTranslate.js';
|
13
|
+
import { globalTFunction } from '../parser/rules/globalTFunction.js';
|
13
14
|
const reactMappers = [generalMapper, reactMapper];
|
14
15
|
export const reactMergers = pipeMachines([
|
15
|
-
...
|
16
|
+
...DEFAULT_MERGERS,
|
16
17
|
createElementMerger,
|
17
18
|
useTranslateMerger,
|
18
19
|
tFunctionMerger,
|
@@ -22,7 +23,13 @@ export const ParserReact = () => {
|
|
22
23
|
return Parser({
|
23
24
|
mappers: reactMappers,
|
24
25
|
blocks: Object.assign({}, DEFAULT_BLOCKS),
|
25
|
-
rules: [
|
26
|
+
rules: [
|
27
|
+
globalTFunction,
|
28
|
+
reactCreateElement,
|
29
|
+
tComponent,
|
30
|
+
tFunction,
|
31
|
+
useTranslate,
|
32
|
+
],
|
26
33
|
merger: reactMergers,
|
27
34
|
});
|
28
35
|
};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { pipeMachines } from '../parser/mergerMachine.js';
|
2
|
-
import { DEFAULT_BLOCKS,
|
2
|
+
import { DEFAULT_BLOCKS, DEFAULT_MERGERS, Parser } from '../parser/parser.js';
|
3
3
|
import { svelteMapper } from './svelteMapper.js';
|
4
4
|
import { generalMapper } from '../parser/generalMapper.js';
|
5
5
|
import { tFunctionMerger } from './tokenMergers/tFunctionMerger.js';
|
@@ -11,9 +11,10 @@ import { getTranslate } from './rules/useTranslate.js';
|
|
11
11
|
import { tComponent } from './rules/tComponent.js';
|
12
12
|
import { scriptTag } from './rules/scriptTag.js';
|
13
13
|
import { svelteTreeTransform } from './svelteTreeTransform.js';
|
14
|
+
import { globalTFunction } from '../parser/rules/globalTFunction.js';
|
14
15
|
const svelteMappers = [generalMapper, svelteMapper];
|
15
16
|
export const svelteMergers = pipeMachines([
|
16
|
-
...
|
17
|
+
...DEFAULT_MERGERS,
|
17
18
|
tFunctionMerger,
|
18
19
|
getTranslateMerger,
|
19
20
|
tComponentMerger,
|
@@ -23,7 +24,7 @@ export const ParserSvelte = () => {
|
|
23
24
|
return Parser({
|
24
25
|
mappers: svelteMappers,
|
25
26
|
blocks: Object.assign({}, DEFAULT_BLOCKS),
|
26
|
-
rules: [tFunction, getTranslate, tComponent, scriptTag],
|
27
|
+
rules: [globalTFunction, tFunction, getTranslate, tComponent, scriptTag],
|
27
28
|
treeTransform: svelteTreeTransform,
|
28
29
|
merger: svelteMergers,
|
29
30
|
});
|
@@ -1,26 +1,26 @@
|
|
1
1
|
import { pipeMachines } from '../parser/mergerMachine.js';
|
2
|
-
import { DEFAULT_BLOCKS,
|
2
|
+
import { DEFAULT_BLOCKS, DEFAULT_MERGERS, Parser } from '../parser/parser.js';
|
3
3
|
import { generalMapper } from '../parser/generalMapper.js';
|
4
4
|
import { vueMapper } from './vueMapper.js';
|
5
5
|
import { vueTreeTransform } from './vueTreeTransform.js';
|
6
|
-
import { globalTFunctionMerger } from './tokenMergers/globalTFunctionMerger.js';
|
7
6
|
import { tFunctionMerger } from './tokenMergers/tFunctionMerger.js';
|
8
7
|
import { useTranslateMerger } from './tokenMergers/useTranslateMerger.js';
|
9
8
|
import { exportDefaultObjectMerger } from './tokenMergers/exportDefaultObjectMerger.js';
|
10
9
|
import { scriptTagMerger } from './tokenMergers/scriptTagMerger.js';
|
11
10
|
import { tComponentMerger } from './tokenMergers/tComponentMerger.js';
|
12
|
-
import { globalTFunction } from '
|
11
|
+
import { globalTFunction } from '../parser/rules/globalTFunction.js';
|
13
12
|
import { tFunction } from './rules/tFunction.js';
|
14
13
|
import { useTranslate } from './rules/useTranslate.js';
|
15
14
|
import { tComponent } from './rules/tComponent.js';
|
16
15
|
import { scriptTag } from './rules/scriptTag.js';
|
17
16
|
import { exportDefaultObject } from './rules/exportDefaultObject.js';
|
18
17
|
import { hyphenPropsMerger } from './tokenMergers/hyphenPropsMerger.js';
|
18
|
+
import { customTCallMerger } from '../parser/tokenMergers/customTCallMerger.js';
|
19
19
|
const vueMappers = [generalMapper, vueMapper];
|
20
20
|
export const vueMergers = pipeMachines([
|
21
|
-
...
|
21
|
+
...DEFAULT_MERGERS,
|
22
22
|
hyphenPropsMerger,
|
23
|
-
|
23
|
+
customTCallMerger(['$t', 'this.$t']),
|
24
24
|
tFunctionMerger,
|
25
25
|
useTranslateMerger,
|
26
26
|
tComponentMerger,
|
package/package.json
CHANGED
@@ -1,36 +0,0 @@
|
|
1
|
-
// $t(
|
2
|
-
export const globalTFunctionMerger = {
|
3
|
-
initial: 0 /* S.Idle */,
|
4
|
-
step: (state, t, end) => {
|
5
|
-
const type = t.customType;
|
6
|
-
const token = t.token;
|
7
|
-
switch (state) {
|
8
|
-
case 0 /* S.Idle */:
|
9
|
-
if (type === 'function.call' && token === '$t') {
|
10
|
-
return 1 /* S.ExpectBracket */;
|
11
|
-
}
|
12
|
-
else if (type === 'variable' && token === 'this') {
|
13
|
-
return 2 /* S.ExpectDot */;
|
14
|
-
}
|
15
|
-
else if (type === 'acessor.dot') {
|
16
|
-
return 4 /* S.Ignore */;
|
17
|
-
}
|
18
|
-
break;
|
19
|
-
case 2 /* S.ExpectDot */:
|
20
|
-
if (type === 'acessor.dot') {
|
21
|
-
return 3 /* S.ExpectCall */;
|
22
|
-
}
|
23
|
-
break;
|
24
|
-
case 3 /* S.ExpectCall */:
|
25
|
-
if (type === 'function.call' && token === '$t') {
|
26
|
-
return 1 /* S.ExpectBracket */;
|
27
|
-
}
|
28
|
-
break;
|
29
|
-
case 1 /* S.ExpectBracket */:
|
30
|
-
if (type === 'expression.begin') {
|
31
|
-
return end.MERGE_ALL;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
},
|
35
|
-
customType: 'trigger.global.t.function',
|
36
|
-
};
|