From 4331491f5aea4d34417921a131dd76df7698f897 Mon Sep 17 00:00:00 2001 From: Yosuke Ota Date: Wed, 26 Aug 2020 10:02:30 +0900 Subject: [PATCH 001/830] Add test for no-side-effects-in-computed-properties rule to check #1282 (#1283) --- .../rules/no-side-effects-in-computed-properties.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/lib/rules/no-side-effects-in-computed-properties.js b/tests/lib/rules/no-side-effects-in-computed-properties.js index 5aefc95c9..ae5ff7512 100644 --- a/tests/lib/rules/no-side-effects-in-computed-properties.js +++ b/tests/lib/rules/no-side-effects-in-computed-properties.js @@ -180,6 +180,16 @@ ruleTester.run('no-side-effects-in-computed-properties', rule, { el: test.el })`, parserOptions + }, + { + code: `Vue.component('test', { + computed: { + test () { + return [...this.items].reverse() + }, + } + })`, + parserOptions } ], invalid: [ From dab51e8d61cf59b254f4161b0082bbc97e0bd588 Mon Sep 17 00:00:00 2001 From: Yosuke Ota Date: Wed, 26 Aug 2020 16:15:34 +0900 Subject: [PATCH 002/830] Upgrade prettier (#1286) --- lib/utils/keycode-to-key.js | 120 ++++++++++++++++++------------------ package.json | 2 +- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/lib/utils/keycode-to-key.js b/lib/utils/keycode-to-key.js index 365ae435d..cabf377d1 100644 --- a/lib/utils/keycode-to-key.js +++ b/lib/utils/keycode-to-key.js @@ -1,26 +1,26 @@ // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values /** @type { { [key: number]: string } } */ module.exports = { - '8': 'backspace', - '9': 'tab', - '13': 'enter', - '16': 'shift', - '17': 'ctrl', - '18': 'alt', - '19': 'pause', // windows - '20': 'caps-lock', - '27': 'escape', - '32': 'space', // Vue.js specially key name. - '33': 'page-up', - '34': 'page-down', - '35': 'end', - '36': 'home', - '37': 'arrow-left', - '38': 'arrow-up', - '39': 'arrow-right', - '40': 'arrow-down', - '45': 'insert', // windows - '46': 'delete', + 8: 'backspace', + 9: 'tab', + 13: 'enter', + 16: 'shift', + 17: 'ctrl', + 18: 'alt', + 19: 'pause', // windows + 20: 'caps-lock', + 27: 'escape', + 32: 'space', // Vue.js specially key name. + 33: 'page-up', + 34: 'page-down', + 35: 'end', + 36: 'home', + 37: 'arrow-left', + 38: 'arrow-up', + 39: 'arrow-right', + 40: 'arrow-down', + 45: 'insert', // windows + 46: 'delete', // If mistakenly use it in Vue.js 2.x, it will be irreversibly broken. Therefore, it will not be autofix. // '48': '0', @@ -34,32 +34,32 @@ module.exports = { // '56': '8', // '57': '9', - '65': 'a', - '66': 'b', - '67': 'c', - '68': 'd', - '69': 'e', - '70': 'f', - '71': 'g', - '72': 'h', - '73': 'i', - '74': 'j', - '75': 'k', - '76': 'l', - '77': 'm', - '78': 'n', - '79': 'o', - '80': 'p', - '81': 'q', - '82': 'r', - '83': 's', - '84': 't', - '85': 'u', - '86': 'v', - '87': 'w', - '88': 'x', - '89': 'y', - '90': 'z', + 65: 'a', + 66: 'b', + 67: 'c', + 68: 'd', + 69: 'e', + 70: 'f', + 71: 'g', + 72: 'h', + 73: 'i', + 74: 'j', + 75: 'k', + 76: 'l', + 77: 'm', + 78: 'n', + 79: 'o', + 80: 'p', + 81: 'q', + 82: 'r', + 83: 's', + 84: 't', + 85: 'u', + 86: 'v', + 87: 'w', + 88: 'x', + 89: 'y', + 90: 'z', // The key value may change depending on the OS. // '91': 'meta' ,// Win: 'os'? @@ -82,18 +82,18 @@ module.exports = { // '109': 'subtract', // '110': 'decimal', // '111': 'divide', - '112': 'f1', - '113': 'f2', - '114': 'f3', - '115': 'f4', - '116': 'f5', - '117': 'f6', - '118': 'f7', - '119': 'f8', - '120': 'f9', - '121': 'f10', - '122': 'f11', - '123': 'f12', - '144': 'num-lock', - '145': 'scroll-lock' + 112: 'f1', + 113: 'f2', + 114: 'f3', + 115: 'f4', + 116: 'f5', + 117: 'f6', + 118: 'f7', + 119: 'f8', + 120: 'f9', + 121: 'f10', + 122: 'f11', + 123: 'f12', + 144: 'num-lock', + 145: 'scroll-lock' } diff --git a/package.json b/package.json index 7bc47d2cb..22001b269 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "lodash": "^4.17.15", "mocha": "^7.1.2", "nyc": "^15.0.1", - "prettier": "^2.0.5", + "prettier": "^2.1.1", "typescript": "^3.9.5", "vue-eslint-editor": "^1.1.0", "vuepress": "^1.4.1" From 1c52bb96dbd611ba72b9f36674aba646791813d0 Mon Sep 17 00:00:00 2001 From: Yosuke Ota Date: Fri, 28 Aug 2020 18:29:47 +0900 Subject: [PATCH 003/830] Separate rule that report - ` + `, + errors: [ + "Expected 'v-bind:key' directive to use the variables which are defined by the 'v-for' directive." + ] }, // empty value { diff --git a/tests/lib/rules/valid-v-model.js b/tests/lib/rules/valid-v-model.js index 11e9e8378..d3c22314b 100644 --- a/tests/lib/rules/valid-v-model.js +++ b/tests/lib/rules/valid-v-model.js @@ -128,14 +128,13 @@ tester.run('valid-v-model', rule, { code: '' }, // svg - { - code: ` + ` ` - }, + + `, // parsing error { filename: 'parsing-error.vue', diff --git a/tests/lib/rules/valid-v-on.js b/tests/lib/rules/valid-v-on.js index 4268bb36f..717d8f08e 100644 --- a/tests/lib/rules/valid-v-on.js +++ b/tests/lib/rules/valid-v-on.js @@ -140,14 +140,14 @@ tester.run('valid-v-on', rule, { { filename: 'test.vue', code: '', - errors: ["'v-on' directives don't support the modifier 'aaa'."], - options: [{ modifiers: ['bar'] }] + options: [{ modifiers: ['bar'] }], + errors: ["'v-on' directives don't support the modifier 'aaa'."] }, { filename: 'test.vue', code: '', - errors: ["'v-on' directives don't support the modifier 'bar'."], - options: [{ modifiers: ['aaa'] }] + options: [{ modifiers: ['aaa'] }], + errors: ["'v-on' directives don't support the modifier 'bar'."] }, { filename: 'test.vue', diff --git a/tests/lib/rules/valid-v-slot.js b/tests/lib/rules/valid-v-slot.js index 3cf64fdff..bfd9bab32 100644 --- a/tests/lib/rules/valid-v-slot.js +++ b/tests/lib/rules/valid-v-slot.js @@ -124,16 +124,15 @@ tester.run('valid-v-slot', rule, { options: [{ allowModifiers: true }] }, // svg - { - code: ` + ` ` - }, + + `, // parsing error { filename: 'parsing-error.vue', @@ -407,8 +406,8 @@ tester.run('valid-v-slot', rule, { `, - errors: [{ messageId: 'disallowAnyModifier' }], - options: [{ allowModifiers: true }] + options: [{ allowModifiers: true }], + errors: [{ messageId: 'disallowAnyModifier' }] }, { code: ` @@ -418,8 +417,8 @@ tester.run('valid-v-slot', rule, { `, - errors: [{ messageId: 'disallowAnyModifier' }], - options: [{ allowModifiers: false }] + options: [{ allowModifiers: false }], + errors: [{ messageId: 'disallowAnyModifier' }] }, { code: ` From eddf098826d67f461a8a532e7efed2f23149aaf2 Mon Sep 17 00:00:00 2001 From: Flo Edelmann Date: Sat, 22 Jul 2023 05:19:53 +0200 Subject: [PATCH 457/830] Add `vue/no-deprecated-model-definition` rule (#2238) --- docs/rules/index.md | 1 + docs/rules/no-deprecated-model-definition.md | 76 +++++++ lib/index.js | 1 + lib/rules/no-deprecated-model-definition.js | 112 ++++++++++ .../rules/no-deprecated-model-definition.js | 205 ++++++++++++++++++ 5 files changed, 395 insertions(+) create mode 100644 docs/rules/no-deprecated-model-definition.md create mode 100644 lib/rules/no-deprecated-model-definition.js create mode 100644 tests/lib/rules/no-deprecated-model-definition.js diff --git a/docs/rules/index.md b/docs/rules/index.md index 776b68433..bdf3a2d19 100644 --- a/docs/rules/index.md +++ b/docs/rules/index.md @@ -226,6 +226,7 @@ For example: | [vue/next-tick-style](./next-tick-style.md) | enforce Promise or callback style in `nextTick` | :wrench: | :hammer: | | [vue/no-bare-strings-in-template](./no-bare-strings-in-template.md) | disallow the use of bare strings in `