[XELP] Depend on the published @plexinc packages - #5
Merged
Conversation
Point brighterscript and brighterscript-formatter at the GitHub Packages releases rather than git tags, so a checkout no longer clones those two repositories and no longer needs SSH access to GitHub to resolve them. The .npmrc tells npm where the @plexinc scope lives, matching the other Plex client repos. Both workflows that install dependencies now pass a token, since the registry requires one. The shadow release already declared a permissions block, which sets everything it does not list to none, so it needed packages: read adding explicitly or the install would have failed there. The shadow release is otherwise unchanged. It builds a VSIX rather than an npm package, so it has nothing to publish to the registry and stays as it is. The swap was made with a targeted npm install rather than by regenerating the lockfile, which changed two entries out of 1156. Co-Authored-By: Claude <noreply@anthropic.com>
Packaging the extension calls the File global, which Node 18 does not provide, so npm run create-package fails with "ReferenceError: File is not defined". The job has been failing on that since the lockfile was last regenerated in March, and went unnoticed because build.yml only runs on pull requests and pushes to master, neither of which has happened on this fork since November. Upstream already runs 20.19.4, so this picks up a version the fork was left behind on rather than diverging further. The shadow release, which is what actually produces the VSIX, already runs 22.12.0 and was unaffected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Points
brighterscriptandbrighterscript-formatterat the@plexincpackages nowpublished from those forks, instead of installing them from git tags. A checkout no longer
clones two repositories, and no longer needs SSH access to GitHub to resolve them.
The packages are installed through npm aliases, so they keep their upstream names inside
node_modulesand nothing that imports them changes. The swap was made with a targetednpm install, which changed two lockfile entries out of 1156, rather than by regeneratingthe lockfile.
Both workflows that install dependencies now pass a token, since the registry requires one.
The shadow release needed
packages: readadding explicitly: it already declared apermissions block, and anything a block does not list is set to none, so its install would
have failed there without it.
The shadow release is otherwise unchanged. It builds a VSIX rather than an npm package, so
there is nothing for it to publish to the registry and it keeps working exactly as it does
today.
Testing
npm ciand confirm it completes without cloning any git repositories.jq .name node_modules/brighterscript/package.jsonand confirm it reports@plexinc/brighterscript.npm run buildand confirm the extension compiles and the webviews bundle.