@kununu/eslint-config 5.4.1-beta-1 → 5.4.1-beta-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.
Files changed (2) hide show
  1. package/index.js +24 -3
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -205,11 +205,32 @@ const baseRules = {
205
205
  'react/require-default-props': 0,
206
206
 
207
207
  'no-restricted-syntax': ['error',
208
+ // Target JSX elements specifically
208
209
  {
209
- selector: 'ReturnStatement > LogicalExpression[operator="&&"]',
210
- message: 'Prefer early returns over logical expressions in return statements. Use if (condition) return value; instead.',
211
- filter: "node.right.type !== 'BinaryExpression' && node.right.type !== 'Literal' && node.right.type !== 'UnaryExpression' && node.right.type !== 'LogicalExpression'"
210
+ selector: 'ReturnStatement > LogicalExpression[operator="&&"] > JSXElement',
211
+ message: 'Prefer early returns over logical expressions in return statements. Use if (condition) return value; instead.'
212
+ },
213
+ // Target JSX fragments
214
+ {
215
+ selector: 'ReturnStatement > LogicalExpression[operator="&&"] > JSXFragment',
216
+ message: 'Prefer early returns over logical expressions in return statements. Use if (condition) return value; instead.'
217
+ },
218
+ // Target function calls (which could be component invocations)
219
+ {
220
+ selector: 'ReturnStatement > LogicalExpression[operator="&&"] > CallExpression',
221
+ message: 'Prefer early returns over logical expressions in return statements. Use if (condition) return value; instead.'
222
+ },
223
+ // Target object expressions (which could be props)
224
+ {
225
+ selector: 'ReturnStatement > LogicalExpression[operator="&&"] > ObjectExpression',
226
+ message: 'Prefer early returns over logical expressions in return statements. Use if (condition) return value; instead.'
227
+ },
228
+ // Target array expressions
229
+ {
230
+ selector: 'ReturnStatement > LogicalExpression[operator="&&"] > ArrayExpression',
231
+ message: 'Prefer early returns over logical expressions in return statements. Use if (condition) return value; instead.'
212
232
  },
233
+ // Keep the sequence expression rules
213
234
  {
214
235
  selector: 'ReturnStatement > SequenceExpression LogicalExpression[operator="&&"]',
215
236
  message: 'Prefer early returns over logical expressions in return statements. Use if (condition) return value; instead.'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kununu/eslint-config",
3
- "version": "5.4.1-beta-1",
3
+ "version": "5.4.1-beta-2",
4
4
  "description": "kununu's ESLint config",
5
5
  "main": "index.js",
6
6
  "repository": "kununu/eslint-config",