Skip to content

[XELP] Depend on the published @plexinc packages - #5

Merged
ljunkie merged 2 commits into
xelp/mainfrom
rob/plexinc-npm-packages
Aug 28, 2026
Merged

[XELP] Depend on the published @plexinc packages#5
ljunkie merged 2 commits into
xelp/mainfrom
rob/plexinc-npm-packages

Conversation

@ljunkie

@ljunkie ljunkie commented Aug 28, 2026

Copy link
Copy Markdown
Member

Points brighterscript and brighterscript-formatter at the @plexinc packages now
published 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_modules and nothing that imports them changes. The swap was made with a targeted
npm install, which changed two lockfile entries out of 1156, rather than by regenerating
the lockfile.

Both workflows that install dependencies now pass a token, since the registry requires one.
The shadow release needed packages: read adding explicitly: it already declared a
permissions 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

  1. Run npm ci and confirm it completes without cloning any git repositories.
  2. Run jq .name node_modules/brighterscript/package.json and confirm it reports @plexinc/brighterscript.
  3. Run npm run build and confirm the extension compiles and the webviews bundle.

ljunkie and others added 2 commits August 27, 2026 23:41
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.
@ljunkie
ljunkie merged commit 3425111 into xelp/main Aug 28, 2026
3 checks passed
@ljunkie
ljunkie deleted the rob/plexinc-npm-packages branch August 28, 2026 06:49
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.

1 participant