@duro-app/eslint-plugin 5.8.0 → 5.9.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/README.md CHANGED
@@ -114,12 +114,29 @@ strong / accent`; outline width → `borders.focusRing`; outline offset →
114
114
  Allowed: `0`, relative units (`%`, `vh`, `fr`, `em`, `rem`, `ch`…), keywords
115
115
  (`auto`, `max-content`…), identifiers and member expressions (tokens), a
116
116
  `calc()` of tokens. Skipped on purpose: negatives on spacing properties,
117
- spacing shorthands (`'8px 16px'`, `'opacity 150ms'`), and positions
118
- (`top`, `left`) and `lineHeight`. Since 3.0 it ships as `error`: a raw value is
119
- the drift the design system exists to stop.
120
-
121
- Options: `{factories?: string[], spacingProperties?: string[], radiiProperties?: string[], exemptFiles?: string[]}`
122
- (property lists replace the defaults, they don't merge). `exemptFiles` takes
117
+ `'opacity 150ms'`-style transitions, and positions (`top`, `left`) and
118
+ `lineHeight`. Since 3.0 it ships as `error`: a raw value is the drift the
119
+ design system exists to stop.
120
+
121
+ **Shorthands** (since 5.7). A spacing or radius string with several words
122
+ (`padding: '4px 8px'`, `gap: '8px 16px'`) is split on whitespace and every
123
+ nonzero px word is checked as a single value would be: `'4px 8px'` gives two
124
+ reports, `'6px 14px'` gives `rawMicroSpacing` and `offScaleSpacing`. `0`,
125
+ `auto`, `%`, `rem`, `em`, `var(...)` and `calc(...)` words pass. A shorthand
126
+ report carries **no suggestion**, because swapping one word would rewrite the
127
+ whole string; the message names the token for each word.
128
+
129
+ **Inline styles** (since 5.7). A `style={{ ... }}` object literal on any JSX
130
+ element is read like a `css.create` style, so a raw colour, font size, weight,
131
+ measure or px in a shorthand is reported. These reports carry **no
132
+ suggestion**, since plain-React code has no `.css.ts` token imports; the
133
+ message still names the token. `style={styles.x}`, arrays, identifiers and
134
+ spreads are ignored, and so are custom-property keys (`'--wb-vw': '12px'`) and
135
+ computed keys. Set `inlineStyle: false` to turn this off.
136
+
137
+ Options: `{factories?: string[], spacingProperties?: string[], radiiProperties?: string[], exemptFiles?: string[], inlineStyle?: boolean}`
138
+ (property lists replace the defaults, they don't merge). `inlineStyle`
139
+ defaults to `true`. `exemptFiles` takes
123
140
  globs (`**`, `*`, `?`, `{a,b}`), matched against the path relative to the
124
141
  working directory and the absolute path; a matching file is not checked. Name
125
142
  only a file whose literals are a technique, not a design value — Duro names
package/dist/index.d.ts CHANGED
@@ -21,6 +21,7 @@ declare const plugin: {
21
21
  spacingProperties?: string[];
22
22
  radiiProperties?: string[];
23
23
  exemptFiles?: string[];
24
+ inlineStyle?: boolean;
24
25
  } | undefined)?], unknown, TSESLint.RuleListener>;
25
26
  'no-raw-layer-values': TSESLint.RuleModule<"replaceWithToken" | "rawZIndex" | "offScaleZIndex" | "rawEffect", [({
26
27
  factories?: 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"}
@@ -15,6 +15,7 @@ export declare const rules: {
15
15
  spacingProperties?: string[];
16
16
  radiiProperties?: string[];
17
17
  exemptFiles?: string[];
18
+ inlineStyle?: boolean;
18
19
  } | undefined)?], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
19
20
  'no-raw-layer-values': import("@typescript-eslint/utils/ts-eslint").RuleModule<"replaceWithToken" | "rawZIndex" | "offScaleZIndex" | "rawEffect", [({
20
21
  factories?: 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"}
@@ -6,6 +6,7 @@ type Options = [
6
6
  spacingProperties?: string[];
7
7
  radiiProperties?: string[];
8
8
  exemptFiles?: string[];
9
+ inlineStyle?: boolean;
9
10
  }?
10
11
  ];
11
12
  /**
@@ -38,13 +39,21 @@ type Options = [
38
39
  * - box-shadow in a template literal: a px length in its static text is a raw
39
40
  * shadow (`inset 0 0 0 1px ${colors.border}`); use a `shadows.*` token.
40
41
  *
42
+ * - shorthands: on a spacing or radius property a multi-word string
43
+ * ('4px 8px') is split on whitespace and each nonzero px word is checked
44
+ * as a single value, without a suggestion (a swap would rewrite the whole
45
+ * string). 0, auto, %, rem, em, var() and calc() words pass.
46
+ * - inline styles: a `style={{...}}` object literal on any JSX element is
47
+ * walked like a css.create style, without suggestions (plain React has no
48
+ * token imports). References, arrays, spreads, custom-property keys and
49
+ * computed keys are ignored. Option `inlineStyle: false` turns it off.
50
+ *
41
51
  * Option `exemptFiles` (globs) silences the rule for whole files.
42
52
  *
43
- * Skipped on purpose: 0, negatives on the spacing properties, shorthands
44
- * ('8px 16px', 'opacity 150ms'), identifiers, member expressions, template
45
- * literals and calls — the rule reads literals, not expressions (the size,
46
- * border-width and box-shadow properties also read static px text in template
47
- * literals).
53
+ * Skipped on purpose: 0, negatives on the spacing properties, transitions
54
+ * ('opacity 150ms'), identifiers, member expressions, template literals and
55
+ * calls — the rule reads literals, not expressions (the size, border-width
56
+ * and box-shadow properties also read static px text in template literals).
48
57
  */
49
58
  export declare const noRawDesignValues: TSESLint.RuleModule<MessageIds, Options>;
50
59
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"no-raw-design-values.d.ts","sourceRoot":"","sources":["../../src/rules/no-raw-design-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAW,MAAM,0BAA0B,CAAA;AA6BhE,KAAK,UAAU,GACX,eAAe,GACf,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,WAAW,GACX,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,eAAe,GACf,WAAW,GACX,aAAa,GACb,WAAW,GACX,YAAY,GACZ,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,UAAU,GACV,kBAAkB,CAAA;AACtB,KAAK,OAAO,GAAG;IACb;QACE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;QACpB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;QAC5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KACvB,CAAC;CACH,CAAA;AA+HD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CA+gBtE,CAAA"}
1
+ {"version":3,"file":"no-raw-design-values.d.ts","sourceRoot":"","sources":["../../src/rules/no-raw-design-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAW,MAAM,0BAA0B,CAAA;AA6BhE,KAAK,UAAU,GACX,eAAe,GACf,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,WAAW,GACX,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,eAAe,GACf,WAAW,GACX,aAAa,GACb,WAAW,GACX,YAAY,GACZ,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,UAAU,GACV,kBAAkB,CAAA;AACtB,KAAK,OAAO,GAAG;IACb;QACE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;QACpB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;QAC5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;QACtB,WAAW,CAAC,EAAE,OAAO,CAAA;KACtB,CAAC;CACH,CAAA;AA+HD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAomBtE,CAAA"}
@@ -133,13 +133,21 @@ const scale = (table) => Object.keys(table)
133
133
  * - box-shadow in a template literal: a px length in its static text is a raw
134
134
  * shadow (`inset 0 0 0 1px ${colors.border}`); use a `shadows.*` token.
135
135
  *
136
+ * - shorthands: on a spacing or radius property a multi-word string
137
+ * ('4px 8px') is split on whitespace and each nonzero px word is checked
138
+ * as a single value, without a suggestion (a swap would rewrite the whole
139
+ * string). 0, auto, %, rem, em, var() and calc() words pass.
140
+ * - inline styles: a `style={{...}}` object literal on any JSX element is
141
+ * walked like a css.create style, without suggestions (plain React has no
142
+ * token imports). References, arrays, spreads, custom-property keys and
143
+ * computed keys are ignored. Option `inlineStyle: false` turns it off.
144
+ *
136
145
  * Option `exemptFiles` (globs) silences the rule for whole files.
137
146
  *
138
- * Skipped on purpose: 0, negatives on the spacing properties, shorthands
139
- * ('8px 16px', 'opacity 150ms'), identifiers, member expressions, template
140
- * literals and calls — the rule reads literals, not expressions (the size,
141
- * border-width and box-shadow properties also read static px text in template
142
- * literals).
147
+ * Skipped on purpose: 0, negatives on the spacing properties, transitions
148
+ * ('opacity 150ms'), identifiers, member expressions, template literals and
149
+ * calls — the rule reads literals, not expressions (the size, border-width
150
+ * and box-shadow properties also read static px text in template literals).
143
151
  */
144
152
  export const noRawDesignValues = {
145
153
  defaultOptions: [{}],
@@ -157,6 +165,7 @@ export const noRawDesignValues = {
157
165
  spacingProperties: { type: 'array', items: { type: 'string' }, uniqueItems: true },
158
166
  radiiProperties: { type: 'array', items: { type: 'string' }, uniqueItems: true },
159
167
  exemptFiles: { type: 'array', items: { type: 'string' }, uniqueItems: true },
168
+ inlineStyle: { type: 'boolean' },
160
169
  },
161
170
  additionalProperties: false,
162
171
  },
@@ -195,6 +204,7 @@ export const noRawDesignValues = {
195
204
  : RADII_PROPERTIES;
196
205
  const sourceCode = context.sourceCode;
197
206
  const exemptFiles = options.exemptFiles ?? [];
207
+ const inlineStyle = options.inlineStyle ?? true;
198
208
  if (matchesAnyGlob(context.filename, context.cwd, exemptFiles))
199
209
  return {};
200
210
  function calleeText(node) {
@@ -217,7 +227,7 @@ export const noRawDesignValues = {
217
227
  * A px length on a size / border-width property. `fixable` is off for the
218
228
  * width inside a shorthand, where a swap would have to rewrite the string.
219
229
  */
220
- function checkMeasure(node, property, measure, px, negative, display, fixable) {
230
+ function checkMeasure(node, property, measure, px, negative, display, fixable, suggest) {
221
231
  if (px === 0)
222
232
  return;
223
233
  const candidates = candidatesAt(measure, px);
@@ -240,14 +250,14 @@ export const noRawDesignValues = {
240
250
  context.report({ node, messageId: 'nearestMeasureRole', data: { ...data, nearest: text } });
241
251
  return;
242
252
  }
243
- const suggest = fixable
253
+ const suggestions = fixable && suggest
244
254
  ? candidates.flatMap((token) => suggestReplacement(node, `${measure.group}.${token}`, measure.group, `tokens/${measure.group}.css`, negative ? (local) => `\`calc(-1 * \${${local}.${token}})\`` : undefined))
245
255
  : [];
246
256
  context.report({
247
257
  node,
248
258
  messageId: candidates.length > 1 ? 'ambiguousMeasure' : 'rawMeasure',
249
259
  data,
250
- suggest,
260
+ suggest: suggestions,
251
261
  });
252
262
  }
253
263
  /** Static text holding a `<number>px` inside calc() or a template literal. */
@@ -260,12 +270,12 @@ export const noRawDesignValues = {
260
270
  });
261
271
  }
262
272
  }
263
- function checkMeasureString(node, property, measure, value) {
273
+ function checkMeasureString(node, property, measure, value, suggest) {
264
274
  const text = value.trim();
265
275
  const display = `'${value}'`;
266
276
  const px = PX_RE.exec(text);
267
277
  if (px) {
268
- checkMeasure(node, property, measure, Number(px[2]), px[1] === '-', display, true);
278
+ checkMeasure(node, property, measure, Number(px[2]), px[1] === '-', display, true, suggest);
269
279
  return;
270
280
  }
271
281
  if (BORDER_SHORTHAND_PROPERTIES.has(property)) {
@@ -273,14 +283,14 @@ export const noRawDesignValues = {
273
283
  const words = text.replace(/\([^)]*\)/g, ' ').split(/\s+/);
274
284
  const width = words.map((word) => PX_RE.exec(word)).find(Boolean);
275
285
  if (width) {
276
- checkMeasure(node, property, measure, Number(width[2]), false, display, false);
286
+ checkMeasure(node, property, measure, Number(width[2]), false, display, false, suggest);
277
287
  }
278
288
  return;
279
289
  }
280
290
  if (/\bcalc\(/.test(text))
281
291
  checkStaticPx(node, property, text, display);
282
292
  }
283
- function checkColorValue(node, raw) {
293
+ function checkColorValue(node, raw, suggest) {
284
294
  const match = HEX_RE.exec(raw) ?? FUNC_COLOR_RE.exec(raw);
285
295
  if (!match)
286
296
  return;
@@ -296,7 +306,7 @@ export const noRawDesignValues = {
296
306
  node,
297
307
  messageId: 'rawColorToken',
298
308
  data: { value: literal, token, pkg: TOKENS_PKG },
299
- suggest: isWholeValue
309
+ suggest: isWholeValue && suggest
300
310
  ? suggestReplacement(node, `colors.${token}`, 'colors', 'tokens/colors.css')
301
311
  : [],
302
312
  });
@@ -305,7 +315,7 @@ export const noRawDesignValues = {
305
315
  context.report({ node, messageId: 'rawColor', data: { value: literal, pkg: TOKENS_PKG } });
306
316
  }
307
317
  }
308
- function checkPxValue(node, property, px, display) {
318
+ function checkPxValue(node, property, px, display, suggest) {
309
319
  if (spacingProperties.has(property)) {
310
320
  const token = SPACING_TOKENS_BY_PX[px];
311
321
  const micro = MICRO_SPACING_TOKENS_BY_PX[px];
@@ -314,7 +324,9 @@ export const noRawDesignValues = {
314
324
  node,
315
325
  messageId: 'rawMicroSpacing',
316
326
  data: { value: display, property, token: micro, pkg: TOKENS_PKG },
317
- suggest: suggestReplacement(node, `microSpacing.${micro}`, 'microSpacing', 'tokens/spacing.css'),
327
+ suggest: suggest
328
+ ? suggestReplacement(node, `microSpacing.${micro}`, 'microSpacing', 'tokens/spacing.css')
329
+ : [],
318
330
  });
319
331
  return;
320
332
  }
@@ -330,7 +342,9 @@ export const noRawDesignValues = {
330
342
  node,
331
343
  messageId: 'rawSpacing',
332
344
  data: { value: display, property, token, pkg: TOKENS_PKG },
333
- suggest: suggestReplacement(node, `spacing.${token}`, 'spacing', 'tokens/spacing.css'),
345
+ suggest: suggest
346
+ ? suggestReplacement(node, `spacing.${token}`, 'spacing', 'tokens/spacing.css')
347
+ : [],
334
348
  });
335
349
  }
336
350
  else if (radiiProperties.has(property)) {
@@ -347,14 +361,16 @@ export const noRawDesignValues = {
347
361
  node,
348
362
  messageId: 'rawRadius',
349
363
  data: { value: display, property, token, pkg: TOKENS_PKG },
350
- suggest: suggestReplacement(node, `radii.${token}`, 'radii', 'tokens/spacing.css'),
364
+ suggest: suggest
365
+ ? suggestReplacement(node, `radii.${token}`, 'radii', 'tokens/spacing.css')
366
+ : [],
351
367
  });
352
368
  }
353
369
  else if (FONT_SIZE_PROPERTIES.has(property)) {
354
- checkFontSize(node, px / 16, display);
370
+ checkFontSize(node, px / 16, display, suggest);
355
371
  }
356
372
  }
357
- function checkFontSize(node, rem, display) {
373
+ function checkFontSize(node, rem, display, suggest) {
358
374
  const hit = FONT_SIZE_TOKENS_BY_REM[rem];
359
375
  if (!hit)
360
376
  return;
@@ -362,10 +378,12 @@ export const noRawDesignValues = {
362
378
  node,
363
379
  messageId: 'rawFontSize',
364
380
  data: { value: display, group: hit.group, token: hit.token, pkg: TOKENS_PKG },
365
- suggest: suggestReplacement(node, `${hit.group}.${hit.token}`, hit.group, 'tokens/typography.css'),
381
+ suggest: suggest
382
+ ? suggestReplacement(node, `${hit.group}.${hit.token}`, hit.group, 'tokens/typography.css')
383
+ : [],
366
384
  });
367
385
  }
368
- function checkFontWeight(node, weight, display) {
386
+ function checkFontWeight(node, weight, display, suggest) {
369
387
  const token = FONT_WEIGHT_TOKENS[weight];
370
388
  if (!token)
371
389
  return;
@@ -373,24 +391,43 @@ export const noRawDesignValues = {
373
391
  node,
374
392
  messageId: 'rawFontWeight',
375
393
  data: { value: display, token, pkg: TOKENS_PKG },
376
- suggest: suggestReplacement(node, `typography.${token}`, 'typography', 'tokens/typography.css'),
394
+ suggest: suggest
395
+ ? suggestReplacement(node, `typography.${token}`, 'typography', 'tokens/typography.css')
396
+ : [],
377
397
  });
378
398
  }
379
- function checkStringValue(node, property, value) {
399
+ function checkStringValue(node, property, value, suggest) {
380
400
  const px = /^(\d+(?:\.\d+)?)px$/.exec(value);
381
401
  const rem = /^(\d+(?:\.\d+)?)rem$/.exec(value);
382
402
  const ms = /^(\d+(?:\.\d+)?)ms$/.exec(value);
383
403
  const display = `'${value}'`;
384
404
  if (px) {
385
- checkPxValue(node, property, Number(px[1]), display);
405
+ checkPxValue(node, property, Number(px[1]), display, suggest);
406
+ return;
407
+ }
408
+ // A shorthand ('4px 8px', '6px 14px'): every nonzero px word is a value of
409
+ // its own. 0, auto, %, rem, var() and calc() words are not px words and
410
+ // pass. No suggestion: swapping one word would rewrite the whole string.
411
+ if ((spacingProperties.has(property) || radiiProperties.has(property)) &&
412
+ /\s/.test(value.trim())) {
413
+ const words = value
414
+ .replace(/\([^)]*\)/g, ' ')
415
+ .trim()
416
+ .split(/\s+/);
417
+ for (const word of words) {
418
+ const match = /^(\d+(?:\.\d+)?)px$/.exec(word);
419
+ if (match && Number(match[1]) > 0) {
420
+ checkPxValue(node, property, Number(match[1]), `'${word}'`, false);
421
+ }
422
+ }
386
423
  return;
387
424
  }
388
425
  if (rem && FONT_SIZE_PROPERTIES.has(property)) {
389
- checkFontSize(node, Number(rem[1]), display);
426
+ checkFontSize(node, Number(rem[1]), display, suggest);
390
427
  return;
391
428
  }
392
429
  if (FONT_WEIGHT_PROPERTIES.has(property) && /^\d{3}$/.test(value)) {
393
- checkFontWeight(node, Number(value), display);
430
+ checkFontWeight(node, Number(value), display, suggest);
394
431
  return;
395
432
  }
396
433
  if (SHADOW_PROPERTIES.has(property)) {
@@ -401,13 +438,13 @@ export const noRawDesignValues = {
401
438
  node,
402
439
  messageId: 'rawShadow',
403
440
  data: { value, token: token ?? '*', pkg: TOKENS_PKG },
404
- suggest: token
441
+ suggest: token && suggest
405
442
  ? suggestReplacement(node, `shadows.${token}`, 'shadows', 'tokens/shadows.css')
406
443
  : [],
407
444
  });
408
445
  // A palette shadow's own rgba() is the token, not a second finding.
409
446
  if (!token)
410
- checkColorValue(node, value);
447
+ checkColorValue(node, value, suggest);
411
448
  return;
412
449
  }
413
450
  if (DURATION_PROPERTIES.has(property) && ms) {
@@ -416,7 +453,7 @@ export const noRawDesignValues = {
416
453
  node,
417
454
  messageId: 'rawDuration',
418
455
  data: { value, property, token: token ?? '*', pkg: TOKENS_PKG },
419
- suggest: token
456
+ suggest: token && suggest
420
457
  ? suggestReplacement(node, `duration.${token}`, 'duration', 'tokens/motion.css')
421
458
  : [],
422
459
  });
@@ -428,13 +465,13 @@ export const noRawDesignValues = {
428
465
  node,
429
466
  messageId: 'rawEasing',
430
467
  data: { value, property, token: token ?? '*', pkg: TOKENS_PKG },
431
- suggest: token
468
+ suggest: token && suggest
432
469
  ? suggestReplacement(node, `easing.${token}`, 'easing', 'tokens/motion.css')
433
470
  : [],
434
471
  });
435
472
  }
436
473
  }
437
- function checkValue(node, property) {
474
+ function checkValue(node, property, suggest, inline = false) {
438
475
  // Grid tracks: a px anywhere in the track list is a raw size, the same
439
476
  // as on width (`'minmax(240px, 1fr)'`). Fractions, % and tokens pass.
440
477
  if (property && TRACK_PROPERTIES.has(property)) {
@@ -467,7 +504,7 @@ export const noRawDesignValues = {
467
504
  const measure = property ? measureFor(property) : null;
468
505
  if (property && measure) {
469
506
  if (node.type === 'Literal' && typeof node.value === 'number') {
470
- checkMeasure(node, property, measure, node.value, false, String(node.value), true);
507
+ checkMeasure(node, property, measure, node.value, false, String(node.value), true, suggest);
471
508
  return;
472
509
  }
473
510
  if (node.type === 'UnaryExpression' &&
@@ -476,7 +513,7 @@ export const noRawDesignValues = {
476
513
  typeof node.argument.value === 'number' &&
477
514
  !BORDER_SHORTHAND_PROPERTIES.has(property)) {
478
515
  const px = node.argument.value;
479
- checkMeasure(node, property, measure, px, true, `-${px}`, true);
516
+ checkMeasure(node, property, measure, px, true, `-${px}`, true, suggest);
480
517
  return;
481
518
  }
482
519
  if (node.type === 'TemplateLiteral') {
@@ -485,40 +522,40 @@ export const noRawDesignValues = {
485
522
  return;
486
523
  }
487
524
  if (node.type === 'Literal' && typeof node.value === 'string') {
488
- checkColorValue(node, node.value);
489
- checkMeasureString(node, property, measure, node.value);
525
+ checkColorValue(node, node.value, suggest);
526
+ checkMeasureString(node, property, measure, node.value, suggest);
490
527
  return;
491
528
  }
492
529
  }
493
530
  if (node.type === 'Literal') {
494
531
  if (typeof node.value === 'string') {
495
532
  if (property && SHADOW_PROPERTIES.has(property)) {
496
- checkStringValue(node, property, node.value);
533
+ checkStringValue(node, property, node.value, suggest);
497
534
  }
498
535
  else {
499
- checkColorValue(node, node.value);
536
+ checkColorValue(node, node.value, suggest);
500
537
  if (property)
501
- checkStringValue(node, property, node.value);
538
+ checkStringValue(node, property, node.value, suggest);
502
539
  }
503
540
  }
504
541
  else if (typeof node.value === 'number' && property && node.value > 0) {
505
542
  if (FONT_WEIGHT_PROPERTIES.has(property)) {
506
- checkFontWeight(node, node.value, String(node.value));
543
+ checkFontWeight(node, node.value, String(node.value), suggest);
507
544
  }
508
545
  else {
509
- checkPxValue(node, property, node.value, String(node.value));
546
+ checkPxValue(node, property, node.value, String(node.value), suggest);
510
547
  }
511
548
  }
512
549
  return;
513
550
  }
514
551
  if (node.type === 'ObjectExpression') {
515
- walkStyleObject(node, property);
552
+ walkStyleObject(node, property, suggest, inline);
516
553
  }
517
554
  // Everything else (identifiers, member expressions, template literals,
518
555
  // calls, negatives via UnaryExpression) is deliberately skipped.
519
556
  }
520
557
  /** A `@media (min-width: 768px)` key: report, and offer the const key. */
521
- function checkConditionKey(prop, key) {
558
+ function checkConditionKey(prop, key, suggest) {
522
559
  const match = BREAKPOINT_KEY_RE.exec(key);
523
560
  if (!match)
524
561
  return;
@@ -542,35 +579,58 @@ export const noRawDesignValues = {
542
579
  node: prop.key,
543
580
  messageId: 'rawBreakpoint',
544
581
  data,
545
- suggest: suggestReplacement(prop.key, `breakpoints.${token}`, 'breakpoints', 'tokens/breakpoints.css', (local) => {
546
- const inner = '`' + template.replace('%LOCAL%', local) + '`';
547
- return prop.computed ? inner : `[${inner}]`;
548
- }),
582
+ suggest: !suggest
583
+ ? []
584
+ : suggestReplacement(prop.key, `breakpoints.${token}`, 'breakpoints', 'tokens/breakpoints.css', (local) => {
585
+ const inner = '`' + template.replace('%LOCAL%', local) + '`';
586
+ return prop.computed ? inner : `[${inner}]`;
587
+ }),
549
588
  });
550
589
  }
551
- function walkStyleObject(obj, property) {
590
+ function walkStyleObject(obj, property, suggest, inline = false) {
552
591
  for (const prop of obj.properties) {
553
592
  if (prop.type !== 'Property')
554
593
  continue;
594
+ // An inline style's computed keys and custom properties (`--wb-vw`) hold
595
+ // no design value we can attribute.
596
+ if (inline && prop.computed)
597
+ continue;
555
598
  const key = prop.key.type === 'Identifier'
556
599
  ? prop.key.name
557
600
  : prop.key.type === 'Literal'
558
601
  ? String(prop.key.value)
559
602
  : null;
603
+ if (inline && key !== null && key.startsWith('--'))
604
+ continue;
560
605
  if (key === null) {
561
606
  // Computed key — can't attribute a property; still scan for colors.
562
- checkValue(prop.value, null);
607
+ // (Deliberately css.create only: inline computed keys are skipped above.)
608
+ checkValue(prop.value, null, suggest, inline);
563
609
  continue;
564
610
  }
565
611
  // Condition keys (default, :hover, @media …) keep the enclosing
566
612
  // property; anything else IS the property.
567
613
  const isCondition = key === 'default' || /^[:@]/.test(key);
568
614
  if (isCondition)
569
- checkConditionKey(prop, key);
570
- checkValue(prop.value, isCondition ? property : key);
615
+ checkConditionKey(prop, key, suggest);
616
+ checkValue(prop.value, isCondition ? property : key, suggest, inline);
571
617
  }
572
618
  }
573
619
  return {
620
+ JSXAttribute(node) {
621
+ if (!inlineStyle)
622
+ return;
623
+ if (node.name.type !== 'JSXIdentifier' || node.name.name !== 'style')
624
+ return;
625
+ const container = node.value;
626
+ if (container?.type !== 'JSXExpressionContainer')
627
+ return;
628
+ // style={styles.x}, arrays and identifiers are not literals to read.
629
+ if (container.expression.type !== 'ObjectExpression')
630
+ return;
631
+ // No suggestion: plain-React consumers have no .css.ts token imports.
632
+ walkStyleObject(container.expression, null, false, true);
633
+ },
574
634
  CallExpression(node) {
575
635
  if (!factories.includes(calleeText(node)))
576
636
  return;
@@ -583,11 +643,11 @@ export const noRawDesignValues = {
583
643
  continue;
584
644
  const value = prop.value;
585
645
  if (value.type === 'ObjectExpression')
586
- walkStyleObject(value, null);
646
+ walkStyleObject(value, null, true);
587
647
  // Dynamic styles: css.create({x: (arg) => ({...})})
588
648
  if ((value.type === 'ArrowFunctionExpression' || value.type === 'FunctionExpression') &&
589
649
  value.body.type === 'ObjectExpression') {
590
- walkStyleObject(value.body, null);
650
+ walkStyleObject(value.body, null, true);
591
651
  }
592
652
  }
593
653
  },
@@ -1 +1 @@
1
- {"version":3,"file":"no-raw-design-values.js","sourceRoot":"","sources":["../../src/rules/no-raw-design-values.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-raw-design-values.js","sourceRoot":"","sources":["../../src/rules/no-raw-design-values.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.8.0",
3
+ "version": "5.9.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.8.0"
51
+ "@duro-app/tokens": "^5.9.0"
52
52
  },
53
53
  "scripts": {
54
54
  "build": "tsc -p tsconfig.build.json",