Open rak-phillip opened 1 week ago
@rak-phillip the key here is the check-plugins-build
step for all these PRs for dependencies updates... It failed in a simpler usecase of a newly generated extension: https://github.com/rancher/dashboard/actions/runs/11846587182/job/33014521563?pr=12616#step:5:2370
All extensions migrated to vue3 have this resolution for @types/node
:
"@types/node": "~20.10.0"
@rak-phillip the key here is the
check-plugins-build
step for all these PRs for dependencies updates... It failed in a simpler usecase of a newly generated extension: https://github.com/rancher/dashboard/actions/runs/11846587182/job/33014521563?pr=12616#step:5:2370All extensions migrated to vue3 have this resolution for
@types/node
:"@types/node": "~20.10.0"
@aalves08 Then it's settled, 2.10.8
is the version that we want to target. Although, I do question why we need to set the resolution for @types/node
, my expectation is that we should be able to remove the resolution now that we target types that match our actual node version.
@rak-phillip the key here is the
check-plugins-build
step for all these PRs for dependencies updates... It failed in a simpler usecase of a newly generated extension: https://github.com/rancher/dashboard/actions/runs/11846587182/job/33014521563?pr=12616#step:5:2370 All extensions migrated to vue3 have this resolution for@types/node
: "@types/node": "~20.10.0"@aalves08 Then it's settled,
2.10.8
is the version that we want to target. Although, I do question why we need to set the resolution for@types/node
, my expectation is that we should be able to remove the resolution now that we target types that match our actual node version.
Hopefully we can, mate! 🤞 🤞 🤞 no it's just a matter of testing it with extensions
I've just generated a new extension via yarn create @rancher/extension my-app
and the output was "hideous" in terms of dependencies/resolutions....
{
"name": "my-app",
"version": "0.1.0",
"private": false,
"engines": {
"node": ">=20"
},
"dependencies": {
"cache-loader": "^4.1.0",
"color": "4.2.3",
"ip": "2.0.1",
"node-polyfill-webpack-plugin": "^3.0.0",
"@rancher/shell": "^3.0.0"
},
"resolutions": {
"@types/node": "~20.10.0",
"d3-color": "3.1.0",
"ejs": "3.1.9",
"follow-redirects": "1.15.2",
"glob": "7.2.3",
"glob-parent": "6.0.2",
"json5": "2.2.3",
"@types/lodash": "4.17.5",
"merge": "2.1.1",
"node-forge": "1.3.1",
"nth-check": "2.1.1",
"qs": "6.11.1",
"roarr": "7.0.4",
"semver": "7.5.4",
"@vue/cli-service/html-webpack-plugin": "^5.0.0"
},
"scripts": {
"dev": "NODE_ENV=dev ./node_modules/.bin/vue-cli-service serve",
"build": "./node_modules/.bin/vue-cli-service build",
"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",
"publish-pkgs": "./node_modules/@rancher/shell/scripts/extension/publish",
"parse-tag-name": "./node_modules/@rancher/shell/scripts/extension/parse-tag-name"
}
}
We need to clean this up and consolidate it... This hasn't been touched in a bit (I forgot to update them 💦 when I reviewed some dependencies).
In theory it should only be:
{
"name": "my-app",
"version": "0.1.0",
"private": false,
"engines": {
"node": ">=20"
},
"dependencies": {
"@rancher/shell": "^3.0.0"
},
"scripts": {
"dev": "NODE_ENV=dev ./node_modules/.bin/vue-cli-service serve",
"build": "./node_modules/.bin/vue-cli-service build",
"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",
"publish-pkgs": "./node_modules/@rancher/shell/scripts/extension/publish",
"parse-tag-name": "./node_modules/@rancher/shell/scripts/extension/parse-tag-name"
}
}
I've yarn linked your branch to a newly generated extension with just the shell
dependency:
{
"name": "my-app",
"version": "0.1.0",
"private": false,
"engines": {
"node": ">=20"
},
"dependencies": {
"@rancher/shell": "^3.0.0"
},
"scripts": {
"dev": "NODE_ENV=dev ./node_modules/.bin/vue-cli-service serve",
"build": "./node_modules/.bin/vue-cli-service build",
"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",
"publish-pkgs": "./node_modules/@rancher/shell/scripts/extension/publish",
"parse-tag-name": "./node_modules/@rancher/shell/scripts/extension/parse-tag-name"
}
}
And the build failed with @types/node
problems 🤔
Summary
This bumps
@types/node
to 20.17.6.@types/node
was recently targeting node 16, which Dashboard no longer supports as of the Vue 3 migration.Occurred changes and/or fixed issues
@types/node
to 20.17.6Technical notes summary
Checklist