bcgov / entity

ServiceBC Registry Team working on Legal Entities
Apache License 2.0
23 stars 59 forks source link

Vue upgrade: upgrade Filings UI to Vue 2.7 #13674

Closed severinbeauvais closed 2 years ago

severinbeauvais commented 2 years ago

Ref: https://blog.vuejs.org/posts/vue-2-7-naruto.html#upgrade-guide

severinbeauvais commented 2 years ago

Thus far, I have updated all packages to their latest that is compatible with Vue 2.6.12 (ie, clean install, build, tests).

On a clean install, NPM reports the following warnings. I am not sure if we will have to deal with these in a future update or if these are dependency package issues that will be resolved when those get updated, too. I'm not going to worry about these right now.

npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated eslint-loader@2.2.1: This loader has been deprecated. Please use eslint-webpack-plugin
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated left-pad@1.3.0: use String.prototype.padStart()
npm WARN deprecated sane@4.1.0: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated html-webpack-plugin@3.2.0: 3.x is no longer supported
npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/joi@15.1.1: Switch to 'npm install joi'
npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
severinbeauvais commented 2 years ago

I updated the following packages. The project installs cleanly (ie, with no node_modules folder or package lock file), builds, tests and runs with no errors.

Dependencies:

@babel/compat-data: 7.11.0 -> ^7.19.1
@mdi/font: 5.5.55 -> ^5.9.55
@sentry/browser: 5.21.1 -> ^5.30.0
@sentry/integrations: 5.21.1 -> ^5.30.0
axios: 0.21.1 -> ^0.27.2
core-js: 3.6.5 -> ^3.25.2
http-status-codes: 1.4.0 -> ^2.2.0
launchdarkly-js-client-sdk: 2.18.0 -> ^2.22.1
lodash: 4.17.20 -> ^4.17.21
regenerator-runtime: 0.13.7 -> ^0.13.9
register-service-worker: 1.7.1 -> ^1.7.2
v-mask: 2.2.3 -> ^2.3.0
vue: 2.6.12 -> ^2.7.10
vue-router: 3.4.3 -> ^3.6.5
vue2-filters: 0.10.0 -> ^0.14.0
vuelidate: 0.7.5 -> ^0.7.7
vuetify: 2.3.9 -> ^2.6.10
vuex: 3.5.1 -> ^3.6.2

Dev dependencies:

@types/jest 25.2.3 -> : "^29.0.3", (note: major version change)
@types/lodash: 4.14.159-> ^4.14.185
@types/vuelidate: 0.7.13 -> ^0.7.15
@vue/cli-plugin-babel: 4.4.1 -> ^4.5.19
@vue/cli-plugin-eslint: 4.2.3 -> ^4.5.19
@vue/cli-plugin-typescript: 4.2.3 -> ^4.5.19
@vue/cli-plugin-unit-jest: 4.2.3 -> ^4.5.19
@vue/cli-service: 4.2.3 -> ^4.5.19
eslint-plugin-vue: 6.2.2 -> ^9.5.1 (note: major version change)
sass: 1.26.10 -> ^1.55.0
sinon: 9.0.3 -> ^14.0.0 (note: major version change)
typescript: 3.9.7 -> ^3.9.10
vue-class-component: 7.2.5 -> ^7.2.6
vue-cli-plugin-vuetify: 2.0.7 -> ^2.5.8
vue-property-decorator: 8.5.1 -> ^9.1.2 (note: major version change)
vue-template-compiler: 2.6.12 -> ^2.7.10
vuex-module-decorators: 0.16.1 -> ^1.2.0 (note: major version change)

(See project repository in GitHub for full package list.)

severinbeauvais commented 2 years ago

Notes:

To do:

severinbeauvais commented 2 years ago

Test Notes

Full regression/smoke testing should be performed. Please keep dev console open and look for errors -- if there are any then please contact me ASAP.