@duro-app/eslint-plugin 5.11.0 → 5.12.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/index.d.ts CHANGED
@@ -9,6 +9,7 @@ declare const plugin: {
9
9
  allow?: string[];
10
10
  reportUnsupported?: boolean;
11
11
  htmlModule?: string;
12
+ svgExempt?: boolean;
12
13
  } | undefined)?], unknown, TSESLint.RuleListener>;
13
14
  'no-tokens-barrel-import': TSESLint.RuleModule<"barrelImport" | "barrelNamespace" | "barrelSideEffect" | "unknownSpecifiers", [({
14
15
  packages?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AAEtC,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAGK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;CAC1D,CAAA;AA0BD,eAAe,MAAM,CAAA;AACrB,OAAO,EAAC,KAAK,EAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AAEtC,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAGK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;CAC1D,CAAA;AA0BD,eAAe,MAAM,CAAA;AACrB,OAAO,EAAC,KAAK,EAAC,CAAA"}
@@ -3,6 +3,7 @@ export declare const rules: {
3
3
  allow?: string[];
4
4
  reportUnsupported?: boolean;
5
5
  htmlModule?: string;
6
+ svgExempt?: boolean;
6
7
  } | undefined)?], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
7
8
  'no-tokens-barrel-import': import("@typescript-eslint/utils/ts-eslint").RuleModule<"barrelImport" | "barrelNamespace" | "barrelSideEffect" | "unknownSpecifiers", [({
8
9
  packages?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASjB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASjB,CAAA"}
@@ -5,6 +5,7 @@ type Options = [
5
5
  allow?: string[];
6
6
  reportUnsupported?: boolean;
7
7
  htmlModule?: string;
8
+ svgExempt?: boolean;
8
9
  }?
9
10
  ];
10
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"no-raw-html-element.d.ts","sourceRoot":"","sources":["../../src/rules/no-raw-html-element.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAW,MAAM,0BAA0B,CAAA;AAIhE,KAAK,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAA;AAC/D,KAAK,OAAO,GAAG;IACb;QACE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;QAChB,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC;CACH,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CA2FrE,CAAA"}
1
+ {"version":3,"file":"no-raw-html-element.d.ts","sourceRoot":"","sources":["../../src/rules/no-raw-html-element.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAW,MAAM,0BAA0B,CAAA;AAIhE,KAAK,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAA;AAC/D,KAAK,OAAO,GAAG;IACb;QACE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;QAChB,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,CAAC;CACH,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CA+FrE,CAAA"}
@@ -26,6 +26,7 @@ export const noRawHtmlElement = {
26
26
  allow: { type: 'array', items: { type: 'string' }, uniqueItems: true },
27
27
  reportUnsupported: { type: 'boolean' },
28
28
  htmlModule: { type: 'string' },
29
+ svgExempt: { type: 'boolean' },
29
30
  },
30
31
  additionalProperties: false,
31
32
  },
@@ -41,6 +42,9 @@ export const noRawHtmlElement = {
41
42
  const allow = new Set(options.allow ?? []);
42
43
  const reportUnsupported = options.reportUnsupported ?? true;
43
44
  const htmlModule = options.htmlModule ?? 'react-strict-dom';
45
+ // false: <svg> and SVG-only tags are reported like any other intrinsic
46
+ // (the native graph has no SVG).
47
+ const svgExempt = options.svgExempt ?? true;
44
48
  const sourceCode = context.sourceCode;
45
49
  let svgDepth = 0;
46
50
  function tagOf(node) {
@@ -66,9 +70,9 @@ export const noRawHtmlElement = {
66
70
  return; // component
67
71
  if (tag.includes('-'))
68
72
  return; // custom element
69
- if (svgDepth > 0)
73
+ if (svgExempt && svgDepth > 0)
70
74
  return; // inside an <svg> subtree
71
- if (SVG_ONLY_TAGS.has(tag))
75
+ if (svgExempt && SVG_ONLY_TAGS.has(tag))
72
76
  return; // detached SVG fragment helpers
73
77
  if (allow.has(tag))
74
78
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"no-raw-html-element.js","sourceRoot":"","sources":["../../src/rules/no-raw-html-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-raw-html-element.js","sourceRoot":"","sources":["../../src/rules/no-raw-html-element.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duro-app/eslint-plugin",
3
- "version": "5.11.0",
3
+ "version": "5.12.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "ESLint rules enforcing the Duro design system conventions: react-strict-dom html.* elements, deep token imports, token values over raw px/hex, and no deprecated Table parts.",
@@ -48,7 +48,7 @@
48
48
  "@typescript-eslint/utils": "^8.0.0",
49
49
  "eslint": "^9.20.0",
50
50
  "typescript": "^5.7.0",
51
- "@duro-app/tokens": "^5.11.0"
51
+ "@duro-app/tokens": "^5.12.0"
52
52
  },
53
53
  "scripts": {
54
54
  "build": "tsc -p tsconfig.build.json",