eslint-plugin-vue
Advanced tools
Comparing version 6.0.2 to 6.1.0
@@ -22,2 +22,3 @@ /* | ||
'vue/max-attributes-per-line': 'off', | ||
'vue/max-len': 'off', | ||
'vue/multiline-html-element-content-newline': 'off', | ||
@@ -24,0 +25,0 @@ 'vue/mustache-interpolation-spacing': 'off', |
@@ -19,3 +19,5 @@ /* | ||
'comment-directive': require('./rules/comment-directive'), | ||
'component-definition-name-casing': require('./rules/component-definition-name-casing'), | ||
'component-name-in-template-casing': require('./rules/component-name-in-template-casing'), | ||
'component-tags-order': require('./rules/component-tags-order'), | ||
'dot-location': require('./rules/dot-location'), | ||
@@ -34,2 +36,3 @@ 'eqeqeq': require('./rules/eqeqeq'), | ||
'max-attributes-per-line': require('./rules/max-attributes-per-line'), | ||
'max-len': require('./rules/max-len'), | ||
'multiline-html-element-content-newline': require('./rules/multiline-html-element-content-newline'), | ||
@@ -42,7 +45,11 @@ 'mustache-interpolation-spacing': require('./rules/mustache-interpolation-spacing'), | ||
'no-deprecated-scope-attribute': require('./rules/no-deprecated-scope-attribute'), | ||
'no-deprecated-slot-attribute': require('./rules/no-deprecated-slot-attribute'), | ||
'no-deprecated-slot-scope-attribute': require('./rules/no-deprecated-slot-scope-attribute'), | ||
'no-dupe-keys': require('./rules/no-dupe-keys'), | ||
'no-duplicate-attributes': require('./rules/no-duplicate-attributes'), | ||
'no-empty-pattern': require('./rules/no-empty-pattern'), | ||
'no-irregular-whitespace': require('./rules/no-irregular-whitespace'), | ||
'no-multi-spaces': require('./rules/no-multi-spaces'), | ||
'no-parsing-error': require('./rules/no-parsing-error'), | ||
'no-reserved-component-names': require('./rules/no-reserved-component-names'), | ||
'no-reserved-keys': require('./rules/no-reserved-keys'), | ||
@@ -53,5 +60,7 @@ 'no-restricted-syntax': require('./rules/no-restricted-syntax'), | ||
'no-spaces-around-equal-signs-in-attribute': require('./rules/no-spaces-around-equal-signs-in-attribute'), | ||
'no-static-inline-styles': require('./rules/no-static-inline-styles'), | ||
'no-template-key': require('./rules/no-template-key'), | ||
'no-template-shadow': require('./rules/no-template-shadow'), | ||
'no-textarea-mustache': require('./rules/no-textarea-mustache'), | ||
'no-unsupported-features': require('./rules/no-unsupported-features'), | ||
'no-unused-components': require('./rules/no-unused-components'), | ||
@@ -67,2 +76,3 @@ 'no-unused-vars': require('./rules/no-unused-vars'), | ||
'require-direct-export': require('./rules/require-direct-export'), | ||
'require-name-property': require('./rules/require-name-property'), | ||
'require-prop-type-constructor': require('./rules/require-prop-type-constructor'), | ||
@@ -78,2 +88,3 @@ 'require-prop-types': require('./rules/require-prop-types'), | ||
'space-unary-ops': require('./rules/space-unary-ops'), | ||
'static-class-names-order': require('./rules/static-class-names-order'), | ||
'this-in-template': require('./rules/this-in-template'), | ||
@@ -86,2 +97,3 @@ 'use-v-on-exact': require('./rules/use-v-on-exact'), | ||
'valid-template-root': require('./rules/valid-template-root'), | ||
'valid-v-bind-sync': require('./rules/valid-v-bind-sync'), | ||
'valid-v-bind': require('./rules/valid-v-bind'), | ||
@@ -88,0 +100,0 @@ 'valid-v-cloak': require('./rules/valid-v-cloak'), |
@@ -11,2 +11,15 @@ /** | ||
// ------------------------------------------------------------------------------ | ||
const ATTRS = { | ||
DEFINITION: 'DEFINITION', | ||
LIST_RENDERING: 'LIST_RENDERING', | ||
CONDITIONALS: 'CONDITIONALS', | ||
RENDER_MODIFIERS: 'RENDER_MODIFIERS', | ||
GLOBAL: 'GLOBAL', | ||
UNIQUE: 'UNIQUE', | ||
TWO_WAY_BINDING: 'TWO_WAY_BINDING', | ||
OTHER_DIRECTIVES: 'OTHER_DIRECTIVES', | ||
OTHER_ATTR: 'OTHER_ATTR', | ||
EVENTS: 'EVENTS', | ||
CONTENT: 'CONTENT' | ||
} | ||
@@ -21,27 +34,27 @@ function getAttributeType (attribute, sourceCode) { | ||
if (name === 'for') { | ||
return 'LIST_RENDERING' | ||
return ATTRS.LIST_RENDERING | ||
} else if (name === 'if' || name === 'else-if' || name === 'else' || name === 'show' || name === 'cloak') { | ||
return 'CONDITIONALS' | ||
return ATTRS.CONDITIONALS | ||
} else if (name === 'pre' || name === 'once') { | ||
return 'RENDER_MODIFIERS' | ||
return ATTRS.RENDER_MODIFIERS | ||
} else if (name === 'model') { | ||
return 'TWO_WAY_BINDING' | ||
return ATTRS.TWO_WAY_BINDING | ||
} else if (name === 'on') { | ||
return 'EVENTS' | ||
return ATTRS.EVENTS | ||
} else if (name === 'html' || name === 'text') { | ||
return 'CONTENT' | ||
return ATTRS.CONTENT | ||
} else if (name === 'slot') { | ||
return 'UNIQUE' | ||
return ATTRS.UNIQUE | ||
} else { | ||
return 'OTHER_DIRECTIVES' | ||
return ATTRS.OTHER_DIRECTIVES | ||
} | ||
} else { | ||
if (name === 'is') { | ||
return 'DEFINITION' | ||
return ATTRS.DEFINITION | ||
} else if (name === 'id') { | ||
return 'GLOBAL' | ||
return ATTRS.GLOBAL | ||
} else if (name === 'ref' || name === 'key' || name === 'slot' || name === 'slot-scope') { | ||
return 'UNIQUE' | ||
return ATTRS.UNIQUE | ||
} else { | ||
return 'OTHER_ATTR' | ||
return ATTRS.OTHER_ATTR | ||
} | ||
@@ -58,3 +71,3 @@ } | ||
const sourceCode = context.getSourceCode() | ||
let attributeOrder = ['DEFINITION', 'LIST_RENDERING', 'CONDITIONALS', 'RENDER_MODIFIERS', 'GLOBAL', 'UNIQUE', 'TWO_WAY_BINDING', 'OTHER_DIRECTIVES', 'OTHER_ATTR', 'EVENTS', 'CONTENT'] | ||
let attributeOrder = [ATTRS.DEFINITION, ATTRS.LIST_RENDERING, ATTRS.CONDITIONALS, ATTRS.RENDER_MODIFIERS, ATTRS.GLOBAL, ATTRS.UNIQUE, ATTRS.TWO_WAY_BINDING, ATTRS.OTHER_DIRECTIVES, ATTRS.OTHER_ATTR, ATTRS.EVENTS, ATTRS.CONTENT] | ||
if (context.options[0] && context.options[0].order) { | ||
@@ -61,0 +74,0 @@ attributeOrder = context.options[0].order |
@@ -23,2 +23,4 @@ /** | ||
}, | ||
// deprecated: true, // TODO Change with major version. | ||
// replacedBy: ['component-definition-name-casing'], // TODO Change with major version. | ||
fixable: 'code', // or "code" or "whitespace" | ||
@@ -25,0 +27,0 @@ schema: [ |
@@ -121,5 +121,5 @@ /** | ||
node.type !== 'ArrayExpression' && | ||
(node.type !== 'UnaryExpression' || ['!', '~', '+', '-', 'typeof'].indexOf(node.operator) < 0) && | ||
(node.type !== 'BinaryExpression' || ALL_BINARY_OPERATORS.indexOf(node.operator) < 0) && | ||
(node.type !== 'LogicalExpression' || LOGICAL_OPERATORS.indexOf(node.operator) < 0) && | ||
(node.type !== 'UnaryExpression' || !['!', '~', '+', '-', 'typeof'].includes(node.operator)) && | ||
(node.type !== 'BinaryExpression' || !ALL_BINARY_OPERATORS.includes(node.operator)) && | ||
(node.type !== 'LogicalExpression' || !LOGICAL_OPERATORS.includes(node.operator)) && | ||
node.type !== 'MemberExpression' && | ||
@@ -126,0 +126,0 @@ node.type !== 'ConditionalExpression' && |
@@ -81,2 +81,4 @@ /** | ||
category: undefined, // strongly-recommended | ||
// TODO Change with major version. | ||
// category: 'strongly-recommended', | ||
url: 'https://eslint.vuejs.org/rules/v-slot-style.html' | ||
@@ -83,0 +85,0 @@ }, |
@@ -146,2 +146,4 @@ /** | ||
category: undefined, // essential | ||
// TODO Change with major version. | ||
// category: 'essential', | ||
url: 'https://eslint.vuejs.org/rules/valid-v-slot.html' | ||
@@ -148,0 +150,0 @@ }, |
@@ -281,3 +281,3 @@ /** | ||
const offsets = new Map() | ||
const preformattedTokens = new Set() | ||
const ignoreTokens = new Set() | ||
@@ -345,5 +345,5 @@ /** | ||
for (const token of tokenStore.getTokensBetween(node.startTag, endToken, option)) { | ||
preformattedTokens.add(token) | ||
ignoreTokens.add(token) | ||
} | ||
preformattedTokens.add(endToken) | ||
ignoreTokens.add(endToken) | ||
} | ||
@@ -514,2 +514,7 @@ | ||
while (node.parent.type === type) { | ||
const prevToken = tokenStore.getTokenBefore(node) | ||
if (isLeftParen(prevToken)) { | ||
// The chaining is broken by parentheses. | ||
break | ||
} | ||
node = node.parent | ||
@@ -543,3 +548,11 @@ } | ||
if (t === 'VExpressionContainer') { | ||
return node.range[0] === token.range[0] | ||
if (node.range[0] !== token.range[0]) { | ||
return false | ||
} | ||
const prevToken = tokenStore.getTokenBefore(belongingNode) | ||
if (isLeftParen(prevToken)) { | ||
// It is not the first token because it is enclosed in parentheses. | ||
return false | ||
} | ||
return true | ||
} | ||
@@ -594,2 +607,3 @@ if (t === 'CallExpression' || t === 'NewExpression') { | ||
offsets.delete(token) | ||
ignoreTokens.add(token) | ||
} | ||
@@ -856,4 +870,4 @@ } | ||
// It does not validate preformatted tokens. | ||
if (preformattedTokens.has(firstToken)) { | ||
// It does not validate ignore tokens. | ||
if (ignoreTokens.has(firstToken)) { | ||
return | ||
@@ -860,0 +874,0 @@ } |
{ | ||
"name": "eslint-plugin-vue", | ||
"version": "6.0.2", | ||
"version": "6.1.0", | ||
"description": "Official ESLint plugin for Vue.js", | ||
@@ -10,2 +10,3 @@ "main": "lib/index.js", | ||
"test": "nyc npm run test:base -- \"tests/integrations/*.js\" --timeout 60000", | ||
"debug": "mocha --inspect-brk \"tests/lib/**/*.js\" --reporter dot --timeout 60000", | ||
"lint": "eslint . --rulesdir eslint-internal-rules", | ||
@@ -50,3 +51,3 @@ "pretest": "npm run lint", | ||
"dependencies": { | ||
"vue-eslint-parser": "^6.0.5" | ||
"vue-eslint-parser": "^7.0.0" | ||
}, | ||
@@ -53,0 +54,0 @@ "devDependencies": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
387202
125
10720
0
+ Addedvue-eslint-parser@7.11.0(transitive)
- Removedacorn@6.4.2(transitive)
- Removedeslint-scope@4.0.3(transitive)
- Removedespree@5.0.1(transitive)
- Removedvue-eslint-parser@6.0.5(transitive)
Updatedvue-eslint-parser@^7.0.0