diff --git a/.eslintrc.js b/.eslintrc.js index 3e3c07dd..43575a44 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -13,25 +13,27 @@ module.exports = { ], // add your custom rules here rules: { - 'dot-notation': 'off', - 'generator-star-spacing': 'off', - 'guard-for-in': 'off', - 'linebreak-style': 'off', - 'new-cap': 'off', - 'no-empty': 'off', - 'no-extra-boolean-cast': 'off', - 'no-new': 'off', - 'no-plusplus': 'off', - 'no-useless-escape': 'off', - 'nuxt/no-cjs-in-config': 'off', - 'semi-spacing': 'off', - 'space-in-parens': 'off', - strict: 'off', - 'unicorn/no-new-buffer': 'off', - 'vue/html-self-closing': 'off', - 'vue/no-unused-components': 'warn', - 'vue/no-v-html': 'error', - 'wrap-iife': 'off', + 'dot-notation': 'off', + 'generator-star-spacing': 'off', + 'guard-for-in': 'off', + 'linebreak-style': 'off', + 'new-cap': 'off', + 'no-empty': 'off', + 'no-extra-boolean-cast': 'off', + 'no-new': 'off', + 'no-plusplus': 'off', + 'no-useless-escape': 'off', + 'nuxt/no-cjs-in-config': 'off', + 'semi-spacing': 'off', + 'space-in-parens': 'off', + strict: 'off', + 'unicorn/no-new-buffer': 'off', + 'vue/html-self-closing': 'off', + 'vue/multi-word-component-names': 'off', + 'vue/no-reserved-component-names': 'off', + 'vue/no-unused-components': 'warn', + 'vue/no-v-html': 'error', + 'wrap-iife': 'off', 'array-bracket-spacing': 'warn', 'arrow-parens': 'warn', diff --git a/.gitignore b/.gitignore index 9e993b90..cfe21939 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ dev +lint # compiled output /dist diff --git a/package.json b/package.json index 3b8bea30..b3abf47e 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "clean": "./node_modules/@rancher/shell/scripts/clean", "build-pkg": "./node_modules/@rancher/shell/scripts/build-pkg.sh", "serve-pkgs": "./node_modules/@rancher/shell/scripts/serve-pkgs", + "vue-migrate": "scripts/vue-migrate.js", "publish-pkgs": "./node_modules/@rancher/shell/scripts/extension/publish", "parse-tag-name": "./node_modules/@rancher/shell/scripts/extension/parse-tag-name", "lint": "./node_modules/.bin/eslint --max-warnings 0 --ext .js,.ts,.vue ." diff --git a/pkg/harvester/components/DiskTags.vue b/pkg/harvester/components/DiskTags.vue index d50e8214..e3d2f531 100644 --- a/pkg/harvester/components/DiskTags.vue +++ b/pkg/harvester/components/DiskTags.vue @@ -3,7 +3,7 @@ import { _VIEW, _EDIT, _CREATE } from '@shell/config/query-params'; import Tag from '@shell/components/Tag'; export default { - name: 'Tags', + name: 'DiskTags', components: { Tag }, diff --git a/pkg/harvester/components/FilterLabel.vue b/pkg/harvester/components/FilterLabel.vue index 7675b69b..f59d8083 100644 --- a/pkg/harvester/components/FilterLabel.vue +++ b/pkg/harvester/components/FilterLabel.vue @@ -58,7 +58,7 @@ export default { }, removeAll() { - this.$set(this, 'searchLabels', []); + this['searchLabels'] = []; this.filterRows(); }, diff --git a/pkg/harvester/components/HarvesterUpgrade.vue b/pkg/harvester/components/HarvesterUpgrade.vue index a0183bac..723adbbb 100644 --- a/pkg/harvester/components/HarvesterUpgrade.vue +++ b/pkg/harvester/components/HarvesterUpgrade.vue @@ -73,7 +73,7 @@ export default { upgradeMessage = currentResource ? currentResource.upgradeMessage : []; - this.$set(this, 'upgradeMessage', upgradeMessage); + this['upgradeMessage'] = upgradeMessage; }, deep: true }, diff --git a/pkg/harvester/components/novnc/NovncConsoleCustomKeys.vue b/pkg/harvester/components/novnc/NovncConsoleCustomKeys.vue index ae393537..81617546 100644 --- a/pkg/harvester/components/novnc/NovncConsoleCustomKeys.vue +++ b/pkg/harvester/components/novnc/NovncConsoleCustomKeys.vue @@ -157,7 +157,7 @@ export default { const preference = this.$store.getters['management/all'](STEVE.PREFERENCE)?.[0]; try { - this.$set(preference.data, PREFERED_SHORTCUT_KEYS, JSON.stringify(out)); + preference.data[PREFERED_SHORTCUT_KEYS] = JSON.stringify(out); await preference.save(); this.closeRecordingModal(); buttonCb(true); diff --git a/pkg/harvester/components/novnc/NovncConsoleWrapper.vue b/pkg/harvester/components/novnc/NovncConsoleWrapper.vue index 3e402ead..640bffa2 100644 --- a/pkg/harvester/components/novnc/NovncConsoleWrapper.vue +++ b/pkg/harvester/components/novnc/NovncConsoleWrapper.vue @@ -143,6 +143,7 @@ export default { let out = []; if (!preference?.[0]?.data) { + // eslint-disable-next-line vue/no-side-effects-in-computed-properties this.hideCustomKeysBar = true; return out; diff --git a/pkg/harvester/components/settings/auto-rotate-rke2-certs.vue b/pkg/harvester/components/settings/auto-rotate-rke2-certs.vue index 8bce9dba..c521d22e 100644 --- a/pkg/harvester/components/settings/auto-rotate-rke2-certs.vue +++ b/pkg/harvester/components/settings/auto-rotate-rke2-certs.vue @@ -30,7 +30,7 @@ export default { update() { const value = JSON.stringify(this.parseDefaultValue); - this.$set(this.value, 'value', value); + this.value['value'] = value; } }, @@ -39,7 +39,7 @@ export default { handler(neu) { const parseDefaultValue = JSON.parse(neu.value); - this.$set(this, 'parseDefaultValue', parseDefaultValue); + this['parseDefaultValue'] = parseDefaultValue; }, deep: true } diff --git a/pkg/harvester/components/settings/backup-target.vue b/pkg/harvester/components/settings/backup-target.vue index cc551a52..7f4f50db 100644 --- a/pkg/harvester/components/settings/backup-target.vue +++ b/pkg/harvester/components/settings/backup-target.vue @@ -80,7 +80,7 @@ export default { parseDefaultValue = { type: '', endpoint: '' }; } - this.$set(this, 'parseDefaultValue', parseDefaultValue); + this['parseDefaultValue'] = parseDefaultValue; this.update(); }, deep: true @@ -105,16 +105,16 @@ export default { const value = JSON.stringify(this.parseDefaultValue); if (!this.parseDefaultValue.type) { - this.$delete(this.value, 'value'); + delete this.value['value']; } else { - this.$set(this.value, 'value', value); + this.value['value'] = value; } }, useDefault() { const parseDefaultValue = { type: '', endpoint: '' }; - this.$set(this, 'parseDefaultValue', parseDefaultValue); + this['parseDefaultValue'] = parseDefaultValue; } } }; diff --git a/pkg/harvester/components/settings/containerd-registry.vue b/pkg/harvester/components/settings/containerd-registry.vue index b8413ee3..8cb9a166 100644 --- a/pkg/harvester/components/settings/containerd-registry.vue +++ b/pkg/harvester/components/settings/containerd-registry.vue @@ -183,7 +183,7 @@ export default { const value = Object.keys(out).length ? JSON.stringify(out) : ''; - this.$set(this.value, 'value', value); + this.value['value'] = value; }, addMirror() { @@ -210,8 +210,8 @@ export default { value: { handler(value) { if (!value.value) { // useDefaultVale - this.$set(this, 'mirrors', []); - this.$set(this, 'configs', []); + this['mirrors'] = []; + this['configs'] = []; this.update(); } }, diff --git a/pkg/harvester/components/settings/csi-driver-config.vue b/pkg/harvester/components/settings/csi-driver-config.vue index 6a626047..841485ac 100644 --- a/pkg/harvester/components/settings/csi-driver-config.vue +++ b/pkg/harvester/components/settings/csi-driver-config.vue @@ -122,7 +122,7 @@ export default { const value = this.configArr.length ? JSON.stringify(out) : ''; - this.$set(this.value, 'value', value); + this.value['value'] = value; }, willSave() { @@ -172,7 +172,7 @@ export default { useDefault() { const configArr = this.parseValue(this.value.default); - this.$set(this, 'configArr', configArr); + this['configArr'] = configArr; this.update(); } } diff --git a/pkg/harvester/components/settings/default-vm-termination-grace-period-seconds.vue b/pkg/harvester/components/settings/default-vm-termination-grace-period-seconds.vue index 22812ca9..fa0181a9 100644 --- a/pkg/harvester/components/settings/default-vm-termination-grace-period-seconds.vue +++ b/pkg/harvester/components/settings/default-vm-termination-grace-period-seconds.vue @@ -15,11 +15,11 @@ export default { methods: { update() { - this.$set(this.value, 'value', String(this.terminationGracePeriodSeconds)); + this.value['value'] = String(this.terminationGracePeriodSeconds); }, useDefault() { - this.$set(this, 'terminationGracePeriodSeconds', Number(this.value.default)); + this['terminationGracePeriodSeconds'] = Number(this.value.default); this.update(); }, }, diff --git a/pkg/harvester/components/settings/http-proxy.vue b/pkg/harvester/components/settings/http-proxy.vue index f3b91262..e185a4bd 100644 --- a/pkg/harvester/components/settings/http-proxy.vue +++ b/pkg/harvester/components/settings/http-proxy.vue @@ -34,7 +34,7 @@ export default { update() { const value = JSON.stringify(this.parseDefaultValue); - this.$set(this.value, 'value', value); + this.value['value'] = value; } }, @@ -43,7 +43,7 @@ export default { handler(neu) { const parseDefaultValue = JSON.parse(neu.value); - this.$set(this, 'parseDefaultValue', parseDefaultValue); + this['parseDefaultValue'] = parseDefaultValue; }, deep: true } diff --git a/pkg/harvester/components/settings/ntp-servers.vue b/pkg/harvester/components/settings/ntp-servers.vue index 9dbde7c4..35dd1678 100644 --- a/pkg/harvester/components/settings/ntp-servers.vue +++ b/pkg/harvester/components/settings/ntp-servers.vue @@ -32,7 +32,7 @@ export default { parseDefaultValue = { ntpServers: [] }; } - this.$set(this, 'parseDefaultValue', parseDefaultValue); + this['parseDefaultValue'] = parseDefaultValue; this.update(); }, deep: true @@ -43,13 +43,13 @@ export default { useDefault() { const parseDefaultValue = { ntpServers: [] }; - this.$set(this, 'parseDefaultValue', parseDefaultValue); + this['parseDefaultValue'] = parseDefaultValue; }, update() { const value = JSON.stringify(this.parseDefaultValue); - this.$set(this.value, 'value', value); + this.value['value'] = value; }, }, }; diff --git a/pkg/harvester/components/settings/overcommit-config.vue b/pkg/harvester/components/settings/overcommit-config.vue index 8028e398..c0ec3396 100644 --- a/pkg/harvester/components/settings/overcommit-config.vue +++ b/pkg/harvester/components/settings/overcommit-config.vue @@ -32,7 +32,7 @@ export default { update() { const value = JSON.stringify(this.parseDefaultValue); - this.$set(this.value, 'value', value); + this.value['value'] = value; } }, @@ -41,7 +41,7 @@ export default { handler(neu) { const parseDefaultValue = JSON.parse(neu.value); - this.$set(this, 'parseDefaultValue', parseDefaultValue); + this['parseDefaultValue'] = parseDefaultValue; }, deep: true } diff --git a/pkg/harvester/components/settings/ssl-certificates.vue b/pkg/harvester/components/settings/ssl-certificates.vue index d55c123c..a3e75237 100644 --- a/pkg/harvester/components/settings/ssl-certificates.vue +++ b/pkg/harvester/components/settings/ssl-certificates.vue @@ -30,11 +30,11 @@ export default { onKeySelectedCa(type, file) { const { name, value } = file; - this.$set(this.parseDefaultValue, type, value); - this.$set(this, `${ type }FileName`, name); + this.parseDefaultValue[type] = value; + this[`${ type }FileName`] = name; const _value = JSON.stringify(this.parseDefaultValue); - this.$set(this.value, 'value', _value); + this.value['value'] = _value; } }, @@ -43,7 +43,7 @@ export default { handler(neu) { const parseDefaultValue = JSON.parse(neu.value); - this.$set(this, 'parseDefaultValue', parseDefaultValue); + this['parseDefaultValue'] = parseDefaultValue; }, deep: true } diff --git a/pkg/harvester/components/settings/ssl-parameters.vue b/pkg/harvester/components/settings/ssl-parameters.vue index 659ac702..d687b6f3 100644 --- a/pkg/harvester/components/settings/ssl-parameters.vue +++ b/pkg/harvester/components/settings/ssl-parameters.vue @@ -88,7 +88,7 @@ export default { const value = JSON.stringify(out); - this.$set(this.value, 'value', value); + this.value['value'] = value; }, willSave() { diff --git a/pkg/harvester/components/settings/storage-network.vue b/pkg/harvester/components/settings/storage-network.vue index 3fc95c17..4fe85b4a 100644 --- a/pkg/harvester/components/settings/storage-network.vue +++ b/pkg/harvester/components/settings/storage-network.vue @@ -114,9 +114,9 @@ export default { const valueString = JSON.stringify(this.parsedDefaultValue); if (this.openVlan) { - this.$set(this.value, 'value', valueString); + this.value['value'] = valueString; } else { - this.$set(this.value, 'value', ''); + this.value['value'] = ''; } }, diff --git a/pkg/harvester/components/settings/support-bundle-image.vue b/pkg/harvester/components/settings/support-bundle-image.vue index 70cb4216..6786b73c 100644 --- a/pkg/harvester/components/settings/support-bundle-image.vue +++ b/pkg/harvester/components/settings/support-bundle-image.vue @@ -65,7 +65,7 @@ export default { update() { const value = JSON.stringify(this.parseDefaultValue); - this.$set(this.value, 'value', value); + this.value['value'] = value; }, willSave() { @@ -92,7 +92,7 @@ export default { handler(neu) { const parseDefaultValue = JSON.parse(neu.value); - this.$set(this, 'parseDefaultValue', parseDefaultValue); + this['parseDefaultValue'] = parseDefaultValue; }, deep: true } diff --git a/pkg/harvester/components/settings/support-bundle-namespaces.vue b/pkg/harvester/components/settings/support-bundle-namespaces.vue index a42da9ba..073bd61c 100644 --- a/pkg/harvester/components/settings/support-bundle-namespaces.vue +++ b/pkg/harvester/components/settings/support-bundle-namespaces.vue @@ -40,7 +40,7 @@ export default { update() { const namespaceStr = this.namespaces.join(','); - this.$set(this.value, 'value', namespaceStr); + this.value['value'] = namespaceStr; } }, diff --git a/pkg/harvester/components/settings/vm-force-reset-policy.vue b/pkg/harvester/components/settings/vm-force-reset-policy.vue index adefb315..9b519cdb 100644 --- a/pkg/harvester/components/settings/vm-force-reset-policy.vue +++ b/pkg/harvester/components/settings/vm-force-reset-policy.vue @@ -30,7 +30,7 @@ export default { update() { const value = JSON.stringify(this.parseDefaultValue); - this.$set(this.value, 'value', value); + this.value['value'] = value; } }, @@ -39,7 +39,7 @@ export default { handler(neu) { const parseDefaultValue = JSON.parse(neu.value); - this.$set(this, 'parseDefaultValue', parseDefaultValue); + this['parseDefaultValue'] = parseDefaultValue; }, deep: true } diff --git a/pkg/harvester/detail/harvesterhci.io.host/VirtualMachineInstance.vue b/pkg/harvester/detail/harvesterhci.io.host/VirtualMachineInstance.vue index 25d18f13..1298f1ca 100644 --- a/pkg/harvester/detail/harvesterhci.io.host/VirtualMachineInstance.vue +++ b/pkg/harvester/detail/harvesterhci.io.host/VirtualMachineInstance.vue @@ -104,7 +104,7 @@ export default { key-field="_key" v-on="$listeners" > -