eslint-plugin-lingui-typescript 1.16.1 → 1.16.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-trans-in-jsx.d.ts","sourceRoot":"","sources":["../../src/rules/prefer-trans-in-jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,QAAQ,EAAiB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"prefer-trans-in-jsx.d.ts","sourceRoot":"","sources":["../../src/rules/prefer-trans-in-jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,QAAQ,EAAiB,MAAM,0BAA0B,CAAA;AA4HvF,eAAO,MAAM,gBAAgB,wEAwE3B,CAAA"}
|
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
2
|
import { createRule } from "../utils/create-rule.js";
|
|
3
|
+
/**
|
|
4
|
+
* Tag names of JSX elements that only accept text content — inserting a
|
|
5
|
+
* `<Trans>` component inside these would produce invalid DOM / SVG.
|
|
6
|
+
*/
|
|
7
|
+
const TEXT_ONLY_JSX_PARENTS = new Set(["title", "desc"]);
|
|
8
|
+
/**
|
|
9
|
+
* Checks whether the given node is nested inside a JSX element whose tag name
|
|
10
|
+
* only allows text content (e.g. SVG `<title>`, `<desc>`). In these elements
|
|
11
|
+
* a `<Trans>` component would be rendered as a DOM element which is not
|
|
12
|
+
* permitted and causes hydration / rendering issues.
|
|
13
|
+
*/
|
|
14
|
+
function isInsideTextOnlyJSXElement(node) {
|
|
15
|
+
let current = node.parent;
|
|
16
|
+
while (current) {
|
|
17
|
+
if (current.type === AST_NODE_TYPES.JSXElement &&
|
|
18
|
+
current.openingElement.name.type === AST_NODE_TYPES.JSXIdentifier &&
|
|
19
|
+
TEXT_ONLY_JSX_PARENTS.has(current.openingElement.name.name)) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
current = current.parent;
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
3
26
|
/**
|
|
4
27
|
* Checks if a t`...` node is in a "renderable" position inside JSX — i.e. the
|
|
5
28
|
* path from the node to the JSXExpressionContainer only passes through
|
|
@@ -104,6 +127,10 @@ export const preferTransInJsx = createRule({
|
|
|
104
127
|
return;
|
|
105
128
|
}
|
|
106
129
|
const parent = node.parent;
|
|
130
|
+
// Never suggest <Trans> inside text-only elements like SVG <title> or <desc>
|
|
131
|
+
if (isInsideTextOnlyJSXElement(node)) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
107
134
|
// Case 1: Direct — t`...` is the expression inside a JSXExpressionContainer
|
|
108
135
|
// Only when the container is a child of a JSX element (not a JSX attribute value)
|
|
109
136
|
if (parent.type === AST_NODE_TYPES.JSXExpressionContainer &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-trans-in-jsx.js","sourceRoot":"","sources":["../../src/rules/prefer-trans-in-jsx.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prefer-trans-in-jsx.js","sourceRoot":"","sources":["../../src/rules/prefer-trans-in-jsx.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,12 @@ ruleTester.run("prefer-trans-in-jsx", preferTransInJsx, {
|
|
|
34
34
|
"<Comp label={t`Save`} />",
|
|
35
35
|
// t inside other non-renderable expressions in JSX
|
|
36
36
|
"<p>{prefix + t`text`}</p>",
|
|
37
|
-
"<p>{`${t`text`}`}</p>"
|
|
37
|
+
"<p>{`${t`text`}`}</p>",
|
|
38
|
+
// t inside SVG text-only elements — <Trans> would produce invalid DOM
|
|
39
|
+
"<svg><title>{t`Icon label`}</title></svg>",
|
|
40
|
+
"<svg><desc>{t`Icon description`}</desc></svg>",
|
|
41
|
+
"<svg><title>{show && t`Label`}</title></svg>",
|
|
42
|
+
"<svg><g><title>{t`Nested title`}</title></g></svg>"
|
|
38
43
|
],
|
|
39
44
|
invalid: [
|
|
40
45
|
// Case 1: Direct — simple text, import added
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-trans-in-jsx.test.js","sourceRoot":"","sources":["../../src/rules/prefer-trans-in-jsx.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAC9B,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAC9B,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;AAElB,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;IAChC,eAAe,EAAE;QACf,aAAa,EAAE;YACb,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE;gBACZ,GAAG,EAAE,IAAI;aACV;SACF;KACF;CACF,CAAC,CAAA;AAEF,UAAU,CAAC,GAAG,CAAC,qBAAqB,EAAE,gBAAgB,EAAE;IACtD,KAAK,EAAE;QACL,6BAA6B;QAC7B,6BAA6B;QAC7B,8BAA8B;QAE9B,8BAA8B;QAC9B,6BAA6B;QAC7B,6BAA6B;QAE7B,yCAAyC;QACzC,8BAA8B;QAE9B,sCAAsC;QACtC,6BAA6B;QAC7B,uBAAuB;QAEvB,kEAAkE;QAClE,oCAAoC;QACpC,qCAAqC;QACrC,0BAA0B;QAE1B,mDAAmD;QACnD,2BAA2B;QAC3B,uBAAuB;
|
|
1
|
+
{"version":3,"file":"prefer-trans-in-jsx.test.js","sourceRoot":"","sources":["../../src/rules/prefer-trans-in-jsx.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAC9B,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAC9B,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;AAElB,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;IAChC,eAAe,EAAE;QACf,aAAa,EAAE;YACb,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE;gBACZ,GAAG,EAAE,IAAI;aACV;SACF;KACF;CACF,CAAC,CAAA;AAEF,UAAU,CAAC,GAAG,CAAC,qBAAqB,EAAE,gBAAgB,EAAE;IACtD,KAAK,EAAE;QACL,6BAA6B;QAC7B,6BAA6B;QAC7B,8BAA8B;QAE9B,8BAA8B;QAC9B,6BAA6B;QAC7B,6BAA6B;QAE7B,yCAAyC;QACzC,8BAA8B;QAE9B,sCAAsC;QACtC,6BAA6B;QAC7B,uBAAuB;QAEvB,kEAAkE;QAClE,oCAAoC;QACpC,qCAAqC;QACrC,0BAA0B;QAE1B,mDAAmD;QACnD,2BAA2B;QAC3B,uBAAuB;QAEvB,sEAAsE;QACtE,2CAA2C;QAC3C,+CAA+C;QAC/C,8CAA8C;QAC9C,oDAAoD;KACrD;IACD,OAAO,EAAE;QACP,6CAA6C;QAC7C;YACE,IAAI,EAAE,oCAAoC;YAC1C,MAAM,EAAE,2FAA2F;YACnG,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;SACvC;QAED,0BAA0B;QAC1B;YACE,IAAI,EAAE,qCAAqC;YAC3C,MAAM,EAAE,2FAA2F;YACnG,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;SACvC;QAED,gDAAgD;QAChD;YACE,IAAI,EAAE,iFAAiF;YACvF,MAAM,EAAE,2FAA2F;YACnG,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;SACvC;QAED,8DAA8D;QAC9D;YACE,IAAI,EAAE,qFAAqF;YAC3F,MAAM,EAAE,sGAAsG;YAC9G,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;SACvC;QAED,iFAAiF;QACjF;YACE,IAAI,EAAE,sFAAsF;YAC5F,MAAM,EACJ,6IAA6I;YAC/I,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;SACvC;QAED,0EAA0E;QAC1E;YACE,IAAI,EAAE,0FAA0F;YAChG,MAAM,EACJ,iJAAiJ;YACnJ,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;SACvC;QAED,+BAA+B;QAC/B;YACE,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,gFAAgF;YACxF,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;SACvC;QAED,8FAA8F;QAC9F;YACE,IAAI,EAAE,mDAAmD;YACzD,MAAM,EAAE;gBACN,4GAA4G;gBAC5G,wHAAwH;aACzH;YACD,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;SACrE;QAED,qDAAqD;QACrD;YACE,IAAI,EAAE,iCAAiC;YACvC,MAAM,EAAE,0FAA0F;YAClG,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;SACvC;QAED,iCAAiC;QACjC;YACE,IAAI,EAAE,6CAA6C;YACnD,MAAM,EAAE,qGAAqG;YAC7G,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;SACvC;KACF;CACF,CAAC,CAAA"}
|