Skip to content

Conversation

@FeBe95
Copy link
Owner

@FeBe95 FeBe95 commented May 23, 2025

Migrates this project from Vue 2 to Vue 3

FeBe95 added 30 commits May 22, 2025 18:37
This reverts commit 814b1ac.

# Conflicts:
#	src/components/ModalsContainer.vue
npx browserslist@latest --update-db
needs `cross-env` installation
- replace `vue-template-compiler` with `@vue/compiler-sfc`
- update `vue-loader` from `15.9.1` to `17.4.2`
- install `vue-compat`

Commands:
- npm install vue-loader@17 vue@3 @vue/compat
- npm remove vue-template-compiler
- npm install --save-dev @vue/compiler-sfc
Feature flags __VUE_OPTIONS_API__, __VUE_PROD_DEVTOOLS__, __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ are not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.
and disable VueJsModal plugin for now
- upgrade `vue` peer dependency
- replace `vue-template-compiler` with `@vue/compiler-sfc`
- update `vue-loader` from `15.4.2` to `17.4.2`
- install `vue-compat`
- remove `vue-hot-reload-api`

Commands:
- npm install --save-peer vue@3
- npm install vue-loader@17 vue@3 @vue/compat
- npm remove vue-template-compiler
- npm install --save-dev @vue/compiler-sfc
- npm remove vue-hot-reload-api
remove duplicated package `vue-test-utils`

Commands:
- npm remove vue-test-utils
- npm install @vue/test-utils@2 --save-dev
Has to be "terser-webpack-plugin@4" to be compatible with already installed "webpack@4"

Commands:
- npm remove uglifyjs-webpack-plugin
- npm install terser-webpack-plugin@4 --save-dev
- Vue 3 needs vue-jest@5 (vue-jest@next)
- vue-jest@5 needs jest@24
- jest@24 needs babel-jest@24

Command:
- npm install jest@24 babel-jest@24 vue-jest@next
- remove plain (non-HTML) text interpolation
- keep HTML-aware text interpolation via `v-html` attribute
- vuepress@1 is built on vue@2
- vuepress@2 needs @vuepress/bundler-webpack, which needs webpack@5
- sass-loader is also different
- simplest solution for now: remove vuepress, as it is not essential
- reinstall missing package
- was part of vuepress@1 dependency tree (vue@2 etc.)
- in Vue 3 '$listeners' are now part of '$attrs'
FeBe95 added 28 commits May 23, 2025 17:55
- override "sass-loader" and "sass" package versions to the same ones we are using for the plugin
- @vuepress/theme-default can also work with those

Command:
- npm install vuepress@next @vuepress/bundler-webpack@next @vuepress/theme-default@next @vuepress/plugin-search@next --save-dev
unify with plugin and nuxt
- npm uninstall webpack-merge
- npm install webpack-merge --save-dev

- npm uninstall mini-css-extract-plugin
- npm install mini-css-extract-plugin --save-dev

- npm uninstall terser-webpack-plugin
- npm install terser-webpack-plugin --save-dev

- npm uninstall optimize-css-assets-webpack-plugin
- npm install css-minimizer-webpack-plugin --save-dev
- replace "optimize-css-assets-webpack-plugin" (webpack 4) with "css-minimizer-webpack-plugin" (webpack 5)
- add "terser-webpack-plugin" to requirements -> formerly only indirect dependency of webpack 5

Commands:
- npm uninstall optimize-css-assets-webpack-plugin
- npm install terser-webpack-plugin --save-dev
- npm install css-minimizer-webpack-plugin --save-dev
Identifier "h" has already been declared
including tooling
@FeBe95 FeBe95 merged commit cf256bd into master May 23, 2025
1 check passed
@FeBe95 FeBe95 deleted the vue-3 branch May 23, 2025 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants