eslint-plugin-hyoban 0.9.2 → 0.9.3

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.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, '__esModule', { value: true });
2
2
 
3
- var version = "0.9.2";
3
+ var version = "0.9.3";
4
4
 
5
5
  const hasDocs = new Set([
6
6
  'prefer-tailwind-icons'
@@ -366,6 +366,7 @@ function getClassNameValueText(classNames, classNameAttribute, sourceCode) {
366
366
  }
367
367
  if (classNameAttribute.value.type === 'JSXExpressionContainer') {
368
368
  const expression = classNameAttribute.value.expression;
369
+ if (expression.type === 'JSXEmptyExpression') return `{${JSON.stringify(classNames)}}`;
369
370
  if (expression.type === 'CallExpression' && expression.callee.type === 'Identifier' && expression.callee.name === 'cn') {
370
371
  const existingArguments = expression.arguments.map((argument)=>sourceCode.getText(argument));
371
372
  const argumentsText = [
@@ -374,7 +375,9 @@ function getClassNameValueText(classNames, classNameAttribute, sourceCode) {
374
375
  ].join(', ');
375
376
  return `{cn(${argumentsText})}`;
376
377
  }
377
- return null;
378
+ const expressionText = sourceCode.getText(expression);
379
+ const escapedClassNames = classNames.replaceAll('\\', '\\\\').replaceAll('`', '\\`').replaceAll('${', '\\${');
380
+ return `{\`${escapedClassNames} \${${expressionText}}\`}`;
378
381
  }
379
382
  return null;
380
383
  }
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var version = "0.9.2";
1
+ var version = "0.9.3";
2
2
 
3
3
  const hasDocs = new Set([
4
4
  'prefer-tailwind-icons'
@@ -364,6 +364,7 @@ function getClassNameValueText(classNames, classNameAttribute, sourceCode) {
364
364
  }
365
365
  if (classNameAttribute.value.type === 'JSXExpressionContainer') {
366
366
  const expression = classNameAttribute.value.expression;
367
+ if (expression.type === 'JSXEmptyExpression') return `{${JSON.stringify(classNames)}}`;
367
368
  if (expression.type === 'CallExpression' && expression.callee.type === 'Identifier' && expression.callee.name === 'cn') {
368
369
  const existingArguments = expression.arguments.map((argument)=>sourceCode.getText(argument));
369
370
  const argumentsText = [
@@ -372,7 +373,9 @@ function getClassNameValueText(classNames, classNameAttribute, sourceCode) {
372
373
  ].join(', ');
373
374
  return `{cn(${argumentsText})}`;
374
375
  }
375
- return null;
376
+ const expressionText = sourceCode.getText(expression);
377
+ const escapedClassNames = classNames.replaceAll('\\', '\\\\').replaceAll('`', '\\`').replaceAll('${', '\\${');
378
+ return `{\`${escapedClassNames} \${${expressionText}}\`}`;
376
379
  }
377
380
  return null;
378
381
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "eslint-plugin-hyoban",
3
3
  "type": "module",
4
- "version": "0.9.2",
4
+ "version": "0.9.3",
5
5
  "description": "Hyoban extended ESLint rules.",
6
6
  "author": {
7
7
  "name": "hyoban",