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;AAiGvF,eAAO,MAAM,gBAAgB,wEAmE3B,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":"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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-lingui-typescript",
3
- "version": "1.16.1",
3
+ "version": "1.16.2",
4
4
  "description": "ESLint plugin for Lingui with TypeScript type-aware rules",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",