@so1ve/eslint-plugin 0.45.3 → 0.46.1
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 +39 -1
- package/dist/index.mjs +39 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -514,6 +514,44 @@ const noSpaceBeforeParen = createEslintRule({
|
|
|
514
514
|
});
|
|
515
515
|
}
|
|
516
516
|
}
|
|
517
|
+
},
|
|
518
|
+
NewExpression(node) {
|
|
519
|
+
const calleeEnd = node.callee.range[1];
|
|
520
|
+
const textAfterCallee = text.slice(calleeEnd);
|
|
521
|
+
const parenStart = calleeEnd + textAfterCallee.indexOf("(");
|
|
522
|
+
const textBetweenCalleeAndParenRange = [calleeEnd, parenStart];
|
|
523
|
+
const textBetweenCalleeAndParen = text.slice(...textBetweenCalleeAndParenRange);
|
|
524
|
+
const hasGenerics = /^\s*</.test(textBetweenCalleeAndParen);
|
|
525
|
+
if (!hasGenerics && textBetweenCalleeAndParen.length > 0) {
|
|
526
|
+
context.report({
|
|
527
|
+
node,
|
|
528
|
+
messageId: "noSpaceBeforeParen",
|
|
529
|
+
*fix(fixer) {
|
|
530
|
+
yield fixer.removeRange(textBetweenCalleeAndParenRange);
|
|
531
|
+
}
|
|
532
|
+
});
|
|
533
|
+
} else if (hasGenerics) {
|
|
534
|
+
const preSpaces = /^(\s*)/.exec(textBetweenCalleeAndParen)[1];
|
|
535
|
+
const postSpaces = /(\s*)$/.exec(textBetweenCalleeAndParen)[1];
|
|
536
|
+
if (preSpaces.length > 0) {
|
|
537
|
+
context.report({
|
|
538
|
+
node,
|
|
539
|
+
messageId: "noSpaceBeforeParen",
|
|
540
|
+
*fix(fixer) {
|
|
541
|
+
yield fixer.removeRange([calleeEnd, calleeEnd + preSpaces.length]);
|
|
542
|
+
}
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
if (postSpaces.length > 0) {
|
|
546
|
+
context.report({
|
|
547
|
+
node,
|
|
548
|
+
messageId: "noSpaceBeforeParen",
|
|
549
|
+
*fix(fixer) {
|
|
550
|
+
yield fixer.removeRange([parenStart - postSpaces.length, parenStart]);
|
|
551
|
+
}
|
|
552
|
+
});
|
|
553
|
+
}
|
|
554
|
+
}
|
|
517
555
|
}
|
|
518
556
|
};
|
|
519
557
|
}
|
|
@@ -715,7 +753,7 @@ const semiSpacing = createEslintRule({
|
|
|
715
753
|
TSTypeAliasDeclaration(node) {
|
|
716
754
|
const leftToken = node.typeAnnotation;
|
|
717
755
|
const rightToken = sourceCode.getTokenAfter(node.typeAnnotation);
|
|
718
|
-
if (rightToken.type !== utils.AST_TOKEN_TYPES.Punctuator || rightToken.value !== ";") {
|
|
756
|
+
if (!rightToken || rightToken.type !== utils.AST_TOKEN_TYPES.Punctuator || rightToken.value !== ";") {
|
|
719
757
|
return;
|
|
720
758
|
}
|
|
721
759
|
const hasSpacing = sourceCode.isSpaceBetween(leftToken, rightToken);
|
package/dist/index.mjs
CHANGED
|
@@ -499,6 +499,44 @@ const noSpaceBeforeParen = createEslintRule({
|
|
|
499
499
|
});
|
|
500
500
|
}
|
|
501
501
|
}
|
|
502
|
+
},
|
|
503
|
+
NewExpression(node) {
|
|
504
|
+
const calleeEnd = node.callee.range[1];
|
|
505
|
+
const textAfterCallee = text.slice(calleeEnd);
|
|
506
|
+
const parenStart = calleeEnd + textAfterCallee.indexOf("(");
|
|
507
|
+
const textBetweenCalleeAndParenRange = [calleeEnd, parenStart];
|
|
508
|
+
const textBetweenCalleeAndParen = text.slice(...textBetweenCalleeAndParenRange);
|
|
509
|
+
const hasGenerics = /^\s*</.test(textBetweenCalleeAndParen);
|
|
510
|
+
if (!hasGenerics && textBetweenCalleeAndParen.length > 0) {
|
|
511
|
+
context.report({
|
|
512
|
+
node,
|
|
513
|
+
messageId: "noSpaceBeforeParen",
|
|
514
|
+
*fix(fixer) {
|
|
515
|
+
yield fixer.removeRange(textBetweenCalleeAndParenRange);
|
|
516
|
+
}
|
|
517
|
+
});
|
|
518
|
+
} else if (hasGenerics) {
|
|
519
|
+
const preSpaces = /^(\s*)/.exec(textBetweenCalleeAndParen)[1];
|
|
520
|
+
const postSpaces = /(\s*)$/.exec(textBetweenCalleeAndParen)[1];
|
|
521
|
+
if (preSpaces.length > 0) {
|
|
522
|
+
context.report({
|
|
523
|
+
node,
|
|
524
|
+
messageId: "noSpaceBeforeParen",
|
|
525
|
+
*fix(fixer) {
|
|
526
|
+
yield fixer.removeRange([calleeEnd, calleeEnd + preSpaces.length]);
|
|
527
|
+
}
|
|
528
|
+
});
|
|
529
|
+
}
|
|
530
|
+
if (postSpaces.length > 0) {
|
|
531
|
+
context.report({
|
|
532
|
+
node,
|
|
533
|
+
messageId: "noSpaceBeforeParen",
|
|
534
|
+
*fix(fixer) {
|
|
535
|
+
yield fixer.removeRange([parenStart - postSpaces.length, parenStart]);
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
}
|
|
539
|
+
}
|
|
502
540
|
}
|
|
503
541
|
};
|
|
504
542
|
}
|
|
@@ -700,7 +738,7 @@ const semiSpacing = createEslintRule({
|
|
|
700
738
|
TSTypeAliasDeclaration(node) {
|
|
701
739
|
const leftToken = node.typeAnnotation;
|
|
702
740
|
const rightToken = sourceCode.getTokenAfter(node.typeAnnotation);
|
|
703
|
-
if (rightToken.type !== AST_TOKEN_TYPES.Punctuator || rightToken.value !== ";") {
|
|
741
|
+
if (!rightToken || rightToken.type !== AST_TOKEN_TYPES.Punctuator || rightToken.value !== ";") {
|
|
704
742
|
return;
|
|
705
743
|
}
|
|
706
744
|
const hasSpacing = sourceCode.isSpaceBetween(leftToken, rightToken);
|