1 | import {isElementMarker} from './ast';
|
2 | import parsing from './parsing';
|
3 |
|
4 |
|
5 | export default function findUntranslatedStrings(src) {
|
6 | const suspicious = [];
|
7 |
|
8 | const plugin = function lintPlugin() {
|
9 | return {
|
10 | visitor: {
|
11 | JSXText({node}) {
|
12 | if (!this.inMarker && node.value.trim()) {
|
13 | suspicious.push(node);
|
14 | }
|
15 | },
|
16 |
|
17 | JSXElement: {
|
18 | enter({node}) {
|
19 | if (isElementMarker(node)) {
|
20 | this.inMarker = true;
|
21 | }
|
22 | },
|
23 |
|
24 | exit({node}) {
|
25 | if (isElementMarker(node)) {
|
26 | this.inMarker = false;
|
27 | }
|
28 | }
|
29 | }
|
30 | }
|
31 | };
|
32 | };
|
33 |
|
34 | parsing.transform(src, [plugin]);
|
35 | return suspicious;
|
36 | }
|