@elastic/eslint-plugin-eui 2.15.0 → 2.16.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.
Files changed (59) hide show
  1. package/README.md +125 -0
  2. package/lib/cjs/index.js +10 -1
  3. package/lib/cjs/rules/a11y/no_nested_copy_tooltip.d.ts +3 -0
  4. package/lib/cjs/rules/a11y/no_nested_copy_tooltip.d.ts.map +1 -0
  5. package/lib/cjs/rules/a11y/no_nested_copy_tooltip.js +84 -0
  6. package/lib/cjs/rules/a11y/tooltip_button_icon_wrap.d.ts.map +1 -1
  7. package/lib/cjs/rules/a11y/tooltip_button_icon_wrap.js +29 -1
  8. package/lib/cjs/rules/a11y/tooltip_no_interactive_content.d.ts.map +1 -1
  9. package/lib/cjs/rules/a11y/tooltip_no_interactive_content.js +17 -45
  10. package/lib/cjs/rules/button_group_no_invalid_children.d.ts +3 -0
  11. package/lib/cjs/rules/button_group_no_invalid_children.d.ts.map +1 -0
  12. package/lib/cjs/rules/button_group_no_invalid_children.js +159 -0
  13. package/lib/cjs/rules/callout_prefer_props_for_content.d.ts.map +1 -1
  14. package/lib/cjs/rules/callout_prefer_props_for_content.js +93 -156
  15. package/lib/cjs/rules/no_deprecated_icon_aliases.d.ts +174 -0
  16. package/lib/cjs/rules/no_deprecated_icon_aliases.d.ts.map +1 -0
  17. package/lib/cjs/rules/no_deprecated_icon_aliases.js +302 -0
  18. package/lib/cjs/utils/flat_map.d.ts +2 -0
  19. package/lib/cjs/utils/flat_map.d.ts.map +1 -0
  20. package/lib/cjs/utils/flat_map.js +24 -0
  21. package/lib/cjs/utils/has_meaningful_attr.d.ts +20 -0
  22. package/lib/cjs/utils/has_meaningful_attr.d.ts.map +1 -0
  23. package/lib/cjs/utils/has_meaningful_attr.js +61 -0
  24. package/lib/cjs/utils/is_fragment.d.ts +8 -0
  25. package/lib/cjs/utils/is_fragment.d.ts.map +1 -0
  26. package/lib/cjs/utils/is_fragment.js +26 -0
  27. package/lib/cjs/utils/walk_jsx_children.d.ts +30 -0
  28. package/lib/cjs/utils/walk_jsx_children.d.ts.map +1 -0
  29. package/lib/cjs/utils/walk_jsx_children.js +210 -0
  30. package/lib/esm/index.js +9 -0
  31. package/lib/esm/index.js.map +1 -1
  32. package/lib/esm/rules/a11y/no_nested_copy_tooltip.d.ts +2 -0
  33. package/lib/esm/rules/a11y/no_nested_copy_tooltip.js +84 -0
  34. package/lib/esm/rules/a11y/no_nested_copy_tooltip.js.map +1 -0
  35. package/lib/esm/rules/a11y/tooltip_button_icon_wrap.js +31 -0
  36. package/lib/esm/rules/a11y/tooltip_button_icon_wrap.js.map +1 -1
  37. package/lib/esm/rules/a11y/tooltip_no_interactive_content.js +19 -42
  38. package/lib/esm/rules/a11y/tooltip_no_interactive_content.js.map +1 -1
  39. package/lib/esm/rules/button_group_no_invalid_children.d.ts +2 -0
  40. package/lib/esm/rules/button_group_no_invalid_children.js +198 -0
  41. package/lib/esm/rules/button_group_no_invalid_children.js.map +1 -0
  42. package/lib/esm/rules/callout_prefer_props_for_content.js +75 -112
  43. package/lib/esm/rules/callout_prefer_props_for_content.js.map +1 -1
  44. package/lib/esm/rules/no_deprecated_icon_aliases.d.ts +173 -0
  45. package/lib/esm/rules/no_deprecated_icon_aliases.js +307 -0
  46. package/lib/esm/rules/no_deprecated_icon_aliases.js.map +1 -0
  47. package/lib/esm/utils/flat_map.d.ts +1 -0
  48. package/lib/esm/utils/flat_map.js +22 -0
  49. package/lib/esm/utils/flat_map.js.map +1 -0
  50. package/lib/esm/utils/has_meaningful_attr.d.ts +19 -0
  51. package/lib/esm/utils/has_meaningful_attr.js +55 -0
  52. package/lib/esm/utils/has_meaningful_attr.js.map +1 -0
  53. package/lib/esm/utils/is_fragment.d.ts +7 -0
  54. package/lib/esm/utils/is_fragment.js +26 -0
  55. package/lib/esm/utils/is_fragment.js.map +1 -0
  56. package/lib/esm/utils/walk_jsx_children.d.ts +29 -0
  57. package/lib/esm/utils/walk_jsx_children.js +213 -0
  58. package/lib/esm/utils/walk_jsx_children.js.map +1 -0
  59. package/package.json +1 -1
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
6
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
7
+ * Side Public License, v 1.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.walkJsxChildren = walkJsxChildren;
11
+ const flat_map_1 = require("./flat_map");
12
+ const is_fragment_1 = require("./is_fragment");
13
+ // A variable is only safely resolvable if it is never reassigned. A second
14
+ // write means the value at the point of use can't be determined statically.
15
+ function isReassigned(variable) {
16
+ return variable.references.filter((ref) => ref.isWrite()).length > 1;
17
+ }
18
+ /**
19
+ * Resolves an expression-context Identifier to the node its variable was
20
+ * initialized with (e.g. the `<EuiButton />` in `const btn = <EuiButton />`).
21
+ * Returns null for anything that can't be resolved safely: imports, function
22
+ * parameters, reassigned variables, or missing initializers.
23
+ */
24
+ function resolveIdentifierValue(sourceCode, node) {
25
+ let scope = sourceCode.getScope(node);
26
+ while (scope) {
27
+ const ref = scope.references.find((r) => r.identifier === node);
28
+ if (ref) {
29
+ const variable = ref.resolved;
30
+ if (!variable || isReassigned(variable))
31
+ return null;
32
+ const def = variable.defs[0];
33
+ if (!def || def.type !== 'Variable' || !def.node.init)
34
+ return null;
35
+ return def.node.init;
36
+ }
37
+ scope = scope.upper;
38
+ }
39
+ return null;
40
+ }
41
+ /**
42
+ * Collects all return-statement arguments within a block body, recursing into
43
+ * `if`/`else` branches and `switch` cases. Does not recurse into nested
44
+ * functions - those have their own return scope. Used to validate block-body
45
+ * arrow functions.
46
+ */
47
+ function collectReturnValues(node) {
48
+ switch (node.type) {
49
+ case 'BlockStatement':
50
+ return (0, flat_map_1.flatMap)(node.body, collectReturnValues);
51
+ case 'ReturnStatement':
52
+ return node.argument ? [node.argument] : [];
53
+ case 'IfStatement':
54
+ return [
55
+ ...collectReturnValues(node.consequent),
56
+ ...(node.alternate ? collectReturnValues(node.alternate) : []),
57
+ ];
58
+ case 'SwitchStatement':
59
+ return (0, flat_map_1.flatMap)(node.cases, (c) => (0, flat_map_1.flatMap)(c.consequent, collectReturnValues));
60
+ default:
61
+ return [];
62
+ }
63
+ }
64
+ /**
65
+ * Resolves a JSX component name (e.g. `Buttons` in `<Buttons />`) to the
66
+ * nodes returned by its local arrow-function definition, if one exists.
67
+ *
68
+ * Handles both expression-body (`() => <expr>`) and block-body
69
+ * (`() => { return <expr>; }`) arrow functions. Imports, class components,
70
+ * and reassigned variables return null — those stay opaque.
71
+ */
72
+ function resolveLocalComponent(sourceCode, name, refNode) {
73
+ let scope = sourceCode.getScope(refNode);
74
+ while (scope) {
75
+ const variable = scope.variables.find((v) => v.name === name);
76
+ if (variable) {
77
+ if (isReassigned(variable))
78
+ return null;
79
+ const def = variable.defs[0];
80
+ if (!def || def.type !== 'Variable' || !def.node.init)
81
+ return null;
82
+ const init = def.node.init;
83
+ if (init.type !== 'ArrowFunctionExpression')
84
+ return null;
85
+ if (init.body.type !== 'BlockStatement')
86
+ return [init.body];
87
+ const returns = collectReturnValues(init.body);
88
+ return returns.length > 0 ? returns : null;
89
+ }
90
+ scope = scope.upper;
91
+ }
92
+ return null;
93
+ }
94
+ function walkJsxChild(node, visit, sourceCode, visited, shouldSkip) {
95
+ const walk = (n) => walkJsxChild(n, visit, sourceCode, visited, shouldSkip);
96
+ switch (node.type) {
97
+ case 'JSXElement': {
98
+ if ((0, is_fragment_1.isFragment)(node.openingElement)) {
99
+ node.children.forEach(walk);
100
+ return;
101
+ }
102
+ if (sourceCode) {
103
+ const { name } = node.openingElement;
104
+ if (name.type === 'JSXIdentifier' && !visited.has(name.name)) {
105
+ const resolved = resolveLocalComponent(sourceCode, name.name, node.openingElement);
106
+ if (resolved !== null) {
107
+ visited.add(name.name);
108
+ resolved.forEach(walk);
109
+ visited.delete(name.name);
110
+ return;
111
+ }
112
+ }
113
+ }
114
+ if (shouldSkip?.(node)) {
115
+ node.children.forEach(walk);
116
+ return;
117
+ }
118
+ visit(node);
119
+ return;
120
+ }
121
+ case 'JSXFragment':
122
+ node.children.forEach(walk);
123
+ return;
124
+ case 'JSXExpressionContainer':
125
+ if (node.expression.type !== 'JSXEmptyExpression')
126
+ walk(node.expression);
127
+ return;
128
+ case 'LogicalExpression':
129
+ walk(node.left);
130
+ walk(node.right);
131
+ return;
132
+ case 'ConditionalExpression':
133
+ walk(node.consequent);
134
+ walk(node.alternate);
135
+ return;
136
+ case 'ArrayExpression':
137
+ node.elements.forEach((el) => {
138
+ if (el && el.type !== 'SpreadElement')
139
+ walk(el);
140
+ });
141
+ return;
142
+ case 'Identifier':
143
+ if (sourceCode) {
144
+ const resolved = resolveIdentifierValue(sourceCode, node);
145
+ if (resolved) {
146
+ walk(resolved);
147
+ return;
148
+ }
149
+ }
150
+ return;
151
+ case 'ArrowFunctionExpression':
152
+ if (node.body.type !== 'BlockStatement') {
153
+ walk(node.body);
154
+ }
155
+ else {
156
+ collectReturnValues(node.body).forEach(walk);
157
+ }
158
+ return;
159
+ case 'CallExpression': {
160
+ const { callee, arguments: args } = node;
161
+ if (callee.type === 'MemberExpression' &&
162
+ callee.property.type === 'Identifier' &&
163
+ callee.property.name === 'map' &&
164
+ args.length >= 1 &&
165
+ args[0].type === 'ArrowFunctionExpression') {
166
+ const fn = args[0];
167
+ if (fn.body.type !== 'BlockStatement') {
168
+ walk(fn.body);
169
+ }
170
+ else {
171
+ collectReturnValues(fn.body).forEach(walk);
172
+ }
173
+ }
174
+ return;
175
+ }
176
+ case 'JSXText':
177
+ case 'Literal':
178
+ case 'TemplateLiteral':
179
+ case 'MemberExpression':
180
+ visit(node);
181
+ return;
182
+ default:
183
+ return;
184
+ }
185
+ }
186
+ /**
187
+ * Recursively walks JSX children, expanding structural nodes transparently
188
+ * and calling `visit` for each content node.
189
+ *
190
+ * Always expanded (structural nodes):
191
+ * - `<>...</>`, `<Fragment>`, `<React.Fragment>` (transparent grouping)
192
+ * - `{expr}` (JSXExpressionContainer)
193
+ * - `{a && b}`, `{a || b}`, `{a ?? b}` (LogicalExpression → both sides)
194
+ * - `{c ? a : b}` (ConditionalExpression → both branches)
195
+ * - `{[a, b]}` (ArrayExpression → each element)
196
+ * - `{(arg) => <El />}` (ArrowFunctionExpression)
197
+ * - `{arr.map(fn)}` (CallExpression `.map()` with arrow-fn callback)
198
+ *
199
+ * With `options.sourceCode`: Identifiers and local arrow-fn components are
200
+ * also expanded via scope lookup when resolvable.
201
+ *
202
+ * `options.shouldSkip` - when provided, called for each JSXElement reached
203
+ * (after fragment and local-component checks). Returning true skips the
204
+ * element itself and recurses into its children instead. Use this to make
205
+ * layout wrappers or non-interactive shells transparent to the visitor.
206
+ *
207
+ * `visit` is called for leaf nodes: JSXElement, JSXText, Literal,
208
+ * TemplateLiteral, MemberExpression.
209
+ */
210
+ function walkJsxChildren(node, visit, options = {}) {
211
+ walkJsxChild(node, visit, options.sourceCode, new Set(), options.shouldSkip);
212
+ }
213
+ //# sourceMappingURL=walk_jsx_children.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walk_jsx_children.js","sourceRoot":"","sources":["../../../src/utils/walk_jsx_children.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elastic/eslint-plugin-eui",
3
- "version": "2.15.0",
3
+ "version": "2.16.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",