Skip to content

chore: modernize dependencies and CI - #25

Merged
ahnafnafee merged 1 commit into
masterfrom
chore/modernize-ci-dependencies
Aug 30, 2026
Merged

ahnafnafee merged 1 commit into
masterfrom
chore/modernize-ci-dependencies

Conversation

@ahnafnafee

Copy link
Copy Markdown
Owner

Summary

  • bump the extension to 0.6.0 and refresh the supported development toolchain
  • move CI and release workflows to Node 24-based actions and replace Node 20-based publishing actions with current CLIs
  • migrate extension tests to the VS Code test CLI so declared extension dependencies are installed automatically and current macOS layouts are supported
  • remove the abandoned temp runtime dependency and pass Ghostscript/Poppler arguments without shell command construction
  • add weekly Dependabot updates for npm and GitHub Actions

Why this is separate

This branch is based directly on master and deliberately leaves README.md untouched. It can merge independently of #23; that PR's README update and extensionDependencies addition remain with its original author.

Compatibility and security

The extension keeps its existing VS Code 1.46 support floor. Source compilation is pinned to the corresponding VS Code and Node 12 host types, while CI and release tooling run on Node 24.

The refreshed lockfile reports zero known vulnerabilities across 223 packages. Mocha currently declares older major ranges for diff and serialize-javascript, so patched releases are selected with Yarn resolutions; the full extension suite and assertion-diff reporting were both verified with those versions.

Verification

  • yarn install --frozen-lockfile
  • yarn compile
  • yarn lint
  • yarn audit --json (0 findings)
  • yarn test (7 passing on VS Code 1.135)
  • automatic installation of mxschmitt.postscript followed by 7 passing tests
  • VS Code 1.46 activation smoke test
  • actionlint
  • VSIX packaging with @vscode/vsce 3.9.2

README.md is unchanged.

The existing CI combined Node 20-based actions with a legacy VS Code test harness. That harness did not install declared extension dependencies and its older Electron launcher no longer matched current macOS application layouts. The dependency tree also retained an abandoned runtime temp-file package and vulnerable transitive tooling.

Move CI and release automation to Node 24-based actions, migrate tests to the VS Code test CLI, pin current release tools, and add weekly Dependabot updates. Refresh the supported development toolchain, replace shell command strings and the temp package with built-in process and filesystem APIs, preserve VS Code 1.46 compatibility through minimum-host type definitions, and bump the extension to 0.6.0.

Mocha's patched diff and serialize-javascript releases are temporarily selected beyond upstream's declared ranges; both assertion failure rendering and the full extension suite were verified. Validation passed with a frozen install, compile, lint, actionlint, a zero-finding audit across 223 packages, 7 extension-host tests on VS Code 1.135, a VS Code 1.46 activation smoke test, automatic installation of the PR #23 extension dependency, and a packaged 0.6.0 VSIX.
@ahnafnafee
ahnafnafee merged commit d4e15d0 into master Aug 30, 2026
3 checks passed
@ahnafnafee
ahnafnafee deleted the chore/modernize-ci-dependencies branch August 30, 2026 00:35
DABH pushed a commit to DABH/PostScript-Preview that referenced this pull request Aug 30, 2026
PR ahnafnafee#23 extends src/test/runTest.ts to install the PostScript language dependency before launching the extension host. Replacing that entry point with the VS Code test CLI in ahnafnafee#25 created a modify/delete conflict and bypassed the author's implementation.

Restore the original runner byte-for-byte, make it the active test script again, and update only the separate Mocha suite loader for the current glob API and a stable startup timeout. Keep the current Electron launcher, add the narrow Node 24 fetch declaration needed by PR ahnafnafee#23's host-side installer, and remove the superseded test CLI dependency.

Validation passed with a frozen install, compile, lint, a zero-finding audit across 190 packages, 7 extension-host tests, VSIX packaging, and a clean application check for the complete PR ahnafnafee#23 patch. README.md remains unchanged.
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