diff --git a/package-lock.json b/package-lock.json index b72b757..c2f84e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "eslint-plugin-crisp", - "version": "1.0.57", + "version": "1.0.58", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "eslint-plugin-crisp", - "version": "1.0.57", + "version": "1.0.58", "license": "MIT", "dependencies": { "doctrine": "3.0.0", @@ -14,7 +14,7 @@ }, "peerDependencies": { "eslint": "8.45.0", - "eslint-plugin-vue": "9.15.1", + "eslint-plugin-vue": "9.18.1", "eslint-plugin-vue-pug": "0.6.0" } }, @@ -501,17 +501,17 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "9.15.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz", - "integrity": "sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A==", + "version": "9.18.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.18.1.tgz", + "integrity": "sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==", "peer": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.3.0", + "@eslint-community/eslint-utils": "^4.4.0", "natural-compare": "^1.4.0", - "nth-check": "^2.0.1", - "postcss-selector-parser": "^6.0.9", - "semver": "^7.3.5", - "vue-eslint-parser": "^9.3.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.13", + "semver": "^7.5.4", + "vue-eslint-parser": "^9.3.1", "xml-name-validator": "^4.0.0" }, "engines": { diff --git a/package.json b/package.json index 8ca6612..71d5663 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-crisp", - "version": "1.0.57", + "version": "1.0.58", "description": "Custom EsLint Rules for Crisp", "author": "Crisp IM SAS", "main": "index.js", @@ -18,7 +18,7 @@ }, "peerDependencies": { "eslint": "8.45.0", - "eslint-plugin-vue": "9.15.1", + "eslint-plugin-vue": "9.18.1", "eslint-plugin-vue-pug": "0.6.0" }, "keywords": [ diff --git a/recommended-vue.js b/recommended-vue.js index 9b02ed7..6ea8c69 100644 --- a/recommended-vue.js +++ b/recommended-vue.js @@ -45,6 +45,7 @@ module.exports = { "for-direction": "error", "key-spacing": ["error", { "beforeColon": false, "afterColon": true }], "linebreak-style": ["error", "unix"], + "newline-per-chained-call": "error", "no-console": "warn", "no-debugger": "warn", "no-eval": "error", @@ -160,11 +161,12 @@ module.exports = { // JSDoc rules "jsdoc/require-param-description": "off", "jsdoc/newline-after-description": "off", + "jsdoc/require-description": "error", "jsdoc/require-jsdoc": [ "error", { - require: { + "require": { "FunctionDeclaration": true, "MethodDefinition": true, "ClassDeclaration": true, @@ -172,7 +174,7 @@ module.exports = { "FunctionExpression": false }, - contexts: [ + "contexts": [ "Property[key.name=\"getters\"] > ObjectExpression > Property", "Property[key.name=\"methods\"] > ObjectExpression > Property" ] @@ -182,9 +184,9 @@ module.exports = { "error", { - tagSequence: [ + "tagSequence": [ { - tags: [ + "tags": [ "private", "protected", "public", @@ -209,6 +211,24 @@ module.exports = { "crisp/jsdoc-enforce-classdesc": "error", // General Vue rules + "vue/component-api-style": ["error", ["options"]], + "vue/component-name-in-template-casing": ["error", "kebab-case"], + "vue/component-options-name-casing": ["error", "PascalCase"], + "vue/custom-event-name-casing": ["error", "camelCase"], + "vue/html-comment-content-spacing": ["error", "always"], + "vue/match-component-import-name": ["error"], + "vue/new-line-between-multi-line-property": ["error"], + "vue/no-bare-strings-in-template": ["error"], + "vue/no-multiple-objects-in-class": ["error"], + "vue/no-static-inline-styles": ["error"], + "vue/no-use-v-else-with-v-for": ["error"], + "vue/no-useless-v-bind": ["error"], + "vue/padding-line-between-blocks": ["error", "always"], + "vue/padding-lines-in-component-definition": ["error"], + "vue/require-direct-export": ["error"], + "vue/v-for-delimiter-style": ["error", "in"], + + "vue/comma-dangle": "error", "vue/html-quotes": "off", "vue/no-v-html": "off", "vue/prefer-true-attribute-shorthand": "error", @@ -216,7 +236,7 @@ module.exports = { "error", { - order: [ + "order": [ "RENDER_MODIFIERS", "CONDITIONALS", "OTHER_DIRECTIVES",