Upgrade to upstream 1.14.0
Guides followed:
- Own ad-hoc research
- Your upgrade guide
Details on changes to package.json
:
dependencies
collected from Theia's packages/*
plus @theia/electron
(no longer from Theia's outdated examples/electron/package.json
)
with the following script:
tags_url="https://api.github.com/repos/eclipse-theia/theia/tags"
# newest_version_tag deliberately in JSON format (with quotes)
newest_version_tag=$(curl -LsS "$tags_url" | \
jq 'map(.name)|map(select(test("^v[1-9][.0-9]+$")))|.[0]')
commit_url=$(curl -LsS "$tags_url" | \
jq -r "map(select(.name==$newest_version_tag))|.[0].commit.url")
tree_url=$(curl -LsS "$commit_url" | jq -r '.commit.tree.url')
packages_url=$(curl -LsS "$tree_url" | \
jq -r '.tree[]|select((.path=="packages") and (.type=="tree"))|.url')
theia_deps=$(curl -LsS "$packages_url" | \
jq -S '{"dependencies":(.tree|map(select(.type=="tree")|.path)|[.[], "electron"]|
map({key:("@theia/"+.), value:('"$newest_version_tag"'|.[1:])})|from_entries)}')
echo "$theia_deps"
theiaPlugins
taken from Theia's toplevel package.json
(from the chosen release) and updated to the most recent plugin versions
with the following script:
jq -r '.theiaPlugins|to_entries[]
| (.key|@json) + "\t" + (.value|split("/")|.[:6]|join("/"))' \
package.json | (IFS=$'\t'
while read -r plugin url; do
vurl=$(curl -LsS "$url" | jq '.files.download')
printf ' %s: %s,\n' "$plugin" "$vurl"
done) | sed '$s:,$::'
Notes:
- Tested with
extra-x86_64-build
which does a clean chroot build with a standardpacman
andmakepkg
configuration. - Superficially, the upgraded IDE works nicely. However, the package upgrade is not even 24h old yet, so I might be missing something.
- I am not sure about the
theiaPlugins
versions. The ones chosen are from the default download links as offered by theopen-vsx.org
JSON API. However, those are unrelated to theVSCODE_DEFAULT_API_VERSION
that you mention in your upgrade guide. - It might be possible to assemble the complete
package.json
usingcurl
andjq
with the relevant JSON APIs. Such a logic could then be put in thePKGBUILD
instead of thepackage.json
itself. That would make tentative upgrading much easier for AUR users. No, I am not working on this. - There are unrelated issues diagnosed by
extra-x86_64-build
(e.g.arch
), but for this merge request I am focusing on the upstream version upgrade and nothing else.