Skip to content

Upgrade to upstream 1.14.0

Guides followed:

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 standard pacman and makepkg 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 the open-vsx.org JSON API. However, those are unrelated to the VSCODE_DEFAULT_API_VERSION that you mention in your upgrade guide.
  • It might be possible to assemble the complete package.json using curl and jq with the relevant JSON APIs. Such a logic could then be put in the PKGBUILD instead of the package.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.

Merge request reports