New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@stylistic/eslint-plugin-ts

Package Overview
Dependencies
Maintainers
1
Versions
74
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stylistic/eslint-plugin-ts - npm Package Compare versions

Comparing version 2.12.1 to 2.13.0

11

dist/dts/rule-options.d.ts

@@ -134,2 +134,12 @@

afterColon?: boolean
ignoredNodes?: (
| 'ObjectExpression'
| 'ObjectPattern'
| 'ImportDeclaration'
| 'ExportNamedDeclaration'
| 'ExportAllDeclaration'
| 'TSTypeLiteral'
| 'TSInterfaceBody'
| 'ClassBody'
)[]
}

@@ -583,2 +593,3 @@ | {

allowParensAfterCommentPattern?: string
nestedConditionalExpressions?: boolean
},

@@ -585,0 +596,0 @@ ]

2

dist/rules/block-spacing.js

@@ -41,3 +41,3 @@ 'use strict';

function isValid(left, right) {
return !utils.isTokenOnSameLine(left, right) || sourceCode.isSpaceBetweenTokens(left, right) === always;
return !utils.isTokenOnSameLine(left, right) || sourceCode.isSpaceBetween(left, right) === always;
}

@@ -44,0 +44,0 @@ function checkSpacingInsideBraces(node) {

@@ -9,2 +9,12 @@ 'use strict';

const listeningNodes = [
"ObjectExpression",
"ObjectPattern",
"ImportDeclaration",
"ExportNamedDeclaration",
"ExportAllDeclaration",
"TSTypeLiteral",
"TSInterfaceBody",
"ClassBody"
];
function containsLineTerminator(str) {

@@ -72,2 +82,3 @@ return utils.LINEBREAK_MATCHER.test(str);

}
toOptions.ignoredNodes = fromOptions.ignoredNodes || [];
return toOptions;

@@ -126,2 +137,9 @@ }

type: "boolean"
},
ignoredNodes: {
type: "array",
items: {
type: "string",
enum: listeningNodes
}
}

@@ -270,2 +288,3 @@ },

const alignmentOptions = ruleOptions.align || null;
const ignoredNodes = ruleOptions.ignoredNodes;
const sourceCode = context.sourceCode;

@@ -428,2 +447,4 @@ function isKeyValueProperty(property) {

function verifySpacing(node, lineOptions) {
if (ignoredNodes.includes(node.parent.type))
return;
const actual = getPropertyWhitespace(node);

@@ -450,2 +471,4 @@ if (actual) {

function verifyImportAttributes(node) {
if (ignoredNodes.includes(node.type))
return;
if (!node.attributes)

@@ -463,2 +486,4 @@ return;

ObjectExpression(node) {
if (ignoredNodes.includes(node.type))
return;
if (isSingleLine(node))

@@ -510,2 +535,3 @@ verifyListSpacing(node.properties.filter(isKeyValueProperty), singleLineOptions);

const options = _options || {};
const ignoredNodes = options.ignoredNodes || [];
const sourceCode = context.sourceCode;

@@ -679,2 +705,4 @@ const baseRules = baseRule.create(context);

function validateBody(body) {
if (ignoredNodes.includes(body.type))
return;
const isSingleLine = body.loc.start.line === body.loc.end.line;

@@ -681,0 +709,0 @@ const members = body.type === utils$1.AST_NODE_TYPES.TSTypeLiteral ? body.members : body.body;

@@ -75,3 +75,3 @@ 'use strict';

const prevToken = sourceCode.getTokenBefore(token);
if (prevToken && (CHECK_TYPE.test(prevToken.type) || pattern.test(prevToken.value)) && !isOpenParenOfTemplate(prevToken) && !tokensToIgnore.has(prevToken) && utils.isTokenOnSameLine(prevToken, token) && !sourceCode.isSpaceBetweenTokens(prevToken, token)) {
if (prevToken && (CHECK_TYPE.test(prevToken.type) || pattern.test(prevToken.value)) && !isOpenParenOfTemplate(prevToken) && !tokensToIgnore.has(prevToken) && utils.isTokenOnSameLine(prevToken, token) && !sourceCode.isSpaceBetween(prevToken, token)) {
context.report({

@@ -90,3 +90,3 @@ loc: token.loc,

const prevToken = sourceCode.getTokenBefore(token);
if (prevToken && (CHECK_TYPE.test(prevToken.type) || pattern.test(prevToken.value)) && !isOpenParenOfTemplate(prevToken) && !tokensToIgnore.has(prevToken) && utils.isTokenOnSameLine(prevToken, token) && sourceCode.isSpaceBetweenTokens(prevToken, token)) {
if (prevToken && (CHECK_TYPE.test(prevToken.type) || pattern.test(prevToken.value)) && !isOpenParenOfTemplate(prevToken) && !tokensToIgnore.has(prevToken) && utils.isTokenOnSameLine(prevToken, token) && sourceCode.isSpaceBetween(prevToken, token)) {
context.report({

@@ -105,3 +105,3 @@ loc: { start: prevToken.loc.end, end: token.loc.start },

const nextToken = sourceCode.getTokenAfter(token);
if (nextToken && (CHECK_TYPE.test(nextToken.type) || pattern.test(nextToken.value)) && !isCloseParenOfTemplate(nextToken) && !tokensToIgnore.has(nextToken) && utils.isTokenOnSameLine(token, nextToken) && !sourceCode.isSpaceBetweenTokens(token, nextToken)) {
if (nextToken && (CHECK_TYPE.test(nextToken.type) || pattern.test(nextToken.value)) && !isCloseParenOfTemplate(nextToken) && !tokensToIgnore.has(nextToken) && utils.isTokenOnSameLine(token, nextToken) && !sourceCode.isSpaceBetween(token, nextToken)) {
context.report({

@@ -120,3 +120,3 @@ loc: token.loc,

const nextToken = sourceCode.getTokenAfter(token);
if (nextToken && (CHECK_TYPE.test(nextToken.type) || pattern.test(nextToken.value)) && !isCloseParenOfTemplate(nextToken) && !tokensToIgnore.has(nextToken) && utils.isTokenOnSameLine(token, nextToken) && sourceCode.isSpaceBetweenTokens(token, nextToken)) {
if (nextToken && (CHECK_TYPE.test(nextToken.type) || pattern.test(nextToken.value)) && !isCloseParenOfTemplate(nextToken) && !tokensToIgnore.has(nextToken) && utils.isTokenOnSameLine(token, nextToken) && sourceCode.isSpaceBetween(token, nextToken)) {
context.report({

@@ -123,0 +123,0 @@ loc: { start: token.loc.end, end: nextToken.loc.start },

@@ -50,3 +50,4 @@ 'use strict';

enforceForFunctionPrototypeMethods: { type: "boolean" },
allowParensAfterCommentPattern: { type: "string" }
allowParensAfterCommentPattern: { type: "string" },
nestedConditionalExpressions: { type: "boolean" }
},

@@ -80,2 +81,3 @@ additionalProperties: false

const ALLOW_PARENS_AFTER_COMMENT_PATTERN = ALL_NODES && context.options[1] && context.options[1].allowParensAfterCommentPattern;
const ALLOW_NESTED_TERNARY = ALL_NODES && context.options[1] && context.options[1].nestedConditionalExpressions === false;
const PRECEDENCE_OF_ASSIGNMENT_EXPR = precedence({ type: "AssignmentExpression" });

@@ -185,3 +187,3 @@ const PRECEDENCE_OF_UPDATE_EXPR = precedence({ type: "UpdateExpression" });

const tokenBeforeRightParen = sourceCode.getLastToken(node);
return rightParenToken && tokenAfterRightParen && !sourceCode.isSpaceBetweenTokens(rightParenToken, tokenAfterRightParen) && !utils.canTokensBeAdjacent(tokenBeforeRightParen, tokenAfterRightParen);
return rightParenToken && tokenAfterRightParen && !sourceCode.isSpaceBetween(rightParenToken, tokenAfterRightParen) && !utils.canTokensBeAdjacent(tokenBeforeRightParen, tokenAfterRightParen);
}

@@ -420,9 +422,9 @@ function isIIFE(node) {

const availableTypes = /* @__PURE__ */ new Set(["BinaryExpression", "LogicalExpression"]);
if (!(EXCEPT_COND_TERNARY && availableTypes.has(node.test.type)) && !isCondAssignException(node) && hasExcessParensWithPrecedence(node.test, precedence({ type: "LogicalExpression", operator: "||" }))) {
if (!(EXCEPT_COND_TERNARY && availableTypes.has(node.test.type)) && !(ALLOW_NESTED_TERNARY && ["ConditionalExpression"].includes(node.test.type)) && !isCondAssignException(node) && hasExcessParensWithPrecedence(node.test, precedence({ type: "LogicalExpression", operator: "||" }))) {
report(node.test);
}
if (!(EXCEPT_COND_TERNARY && availableTypes.has(node.consequent.type)) && hasExcessParensWithPrecedence(node.consequent, PRECEDENCE_OF_ASSIGNMENT_EXPR)) {
if (!(EXCEPT_COND_TERNARY && availableTypes.has(node.consequent.type)) && !(ALLOW_NESTED_TERNARY && ["ConditionalExpression"].includes(node.consequent.type)) && hasExcessParensWithPrecedence(node.consequent, PRECEDENCE_OF_ASSIGNMENT_EXPR)) {
report(node.consequent);
}
if (!(EXCEPT_COND_TERNARY && availableTypes.has(node.alternate.type)) && hasExcessParensWithPrecedence(node.alternate, PRECEDENCE_OF_ASSIGNMENT_EXPR)) {
if (!(EXCEPT_COND_TERNARY && availableTypes.has(node.alternate.type)) && !(ALLOW_NESTED_TERNARY && ["ConditionalExpression"].includes(node.alternate.type)) && hasExcessParensWithPrecedence(node.alternate, PRECEDENCE_OF_ASSIGNMENT_EXPR)) {
report(node.alternate);

@@ -429,0 +431,0 @@ }

@@ -111,3 +111,3 @@ 'use strict';

if (utils.isTokenOnSameLine(first, second)) {
const firstSpaced = sourceCode.isSpaceBetweenTokens(first, second);
const firstSpaced = sourceCode.isSpaceBetween(first, second);
if (options.spaced && !firstSpaced)

@@ -122,3 +122,3 @@ reportRequiredBeginningSpace(node, first);

const closingCurlyBraceMustBeSpaced = options.arraysInObjectsException && penultimateType === "ArrayExpression" || options.objectsInObjectsException && (penultimateType === "ObjectExpression" || penultimateType === "ObjectPattern") ? !options.spaced : options.spaced;
const lastSpaced = sourceCode.isSpaceBetweenTokens(penultimate, last);
const lastSpaced = sourceCode.isSpaceBetween(penultimate, last);
if (closingCurlyBraceMustBeSpaced && !lastSpaced)

@@ -125,0 +125,0 @@ reportRequiredEndingSpace(node, last);

@@ -84,3 +84,3 @@ 'use strict';

if (precedingToken && !isConflicted(precedingToken, node) && utils.isTokenOnSameLine(precedingToken, node)) {
const hasSpace = sourceCode.isSpaceBetweenTokens(precedingToken, node);
const hasSpace = sourceCode.isSpaceBetween(precedingToken, node);
let requireSpace;

@@ -87,0 +87,0 @@ let requireNoSpace;

@@ -41,3 +41,3 @@ 'use strict';

const next = sourceCode.getTokenAfter(operator);
if (!sourceCode.isSpaceBetweenTokens(prev, operator) || !sourceCode.isSpaceBetweenTokens(operator, next))
if (!sourceCode.isSpaceBetween(prev, operator) || !sourceCode.isSpaceBetween(operator, next))
return operator;

@@ -108,3 +108,3 @@ return null;

const rightToken = sourceCode.getTokenAfter(operatorToken);
if (!sourceCode.isSpaceBetweenTokens(leftToken, operatorToken) || !sourceCode.isSpaceBetweenTokens(operatorToken, rightToken)) {
if (!sourceCode.isSpaceBetween(leftToken, operatorToken) || !sourceCode.isSpaceBetween(operatorToken, rightToken)) {
report(node, operatorToken);

@@ -111,0 +111,0 @@ }

{
"name": "@stylistic/eslint-plugin-ts",
"type": "commonjs",
"version": "2.12.1",
"version": "2.13.0",
"author": "Anthony Fu <anthonyfu117@hotmail.com>",

@@ -6,0 +6,0 @@ "license": "MIT",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc