Skip to content

Use @stackline/fs-write-stream-atomic for VS Code downloads - #686

Open
alexandroit wants to merge 1 commit into
Kampfkarren:mainfrom
alexandroit:deps/stackline-fs-write-stream-atomic
Open

alexandroit wants to merge 1 commit into
Kampfkarren:mainfrom
alexandroit:deps/stackline-fs-write-stream-atomic

Conversation

@alexandroit

Copy link
Copy Markdown

Summary

Selene's VS Code extension imports fs-write-stream-atomic in selene-vscode/src/util.ts and uses it in downloadSelene to stream the selected release archive entry to the installed Selene binary with mode 0o755.

This updates that direct dependency to @stackline/fs-write-stream-atomic@1.0.0 while preserving the historical key:

"fs-write-stream-atomic": "npm:@stackline/fs-write-stream-atomic@1.0.0"

That keeps the existing CommonJS import and local type declaration unchanged. The original fs-write-stream-atomic@1.0.10 package is marked deprecated on npm as no longer supported.

Compatibility note

@stackline/fs-write-stream-atomic@1.0.0 requires Node >=14.15.1. This is a stricter runtime floor than the legacy package, so runtimes below Node 14.15.1 are not supported by this change. Selene's VS Code workflow currently tests with Node 16.x.

Validation

Run with Node 20.20.2 and npm 10.8.2:

  • npm ci --ignore-scripts
  • npm run compile
  • ./node_modules/.bin/eslint src/
  • ./node_modules/.bin/prettier --check src
  • npm ls fs-write-stream-atomic --depth=0 resolved fs-write-stream-atomic@npm:@stackline/fs-write-stream-atomic@1.0.0
  • CJS smoke coverage loaded the package root plus fs-write-stream-atomic/index and fs-write-stream-atomic/index.js, then verified the target remains unchanged before commit, is replaced on stream finish, and has no temporary sibling left behind
  • npm audit --json remained unchanged from baseline: 23 findings (2 low, 7 moderate, 12 high, 2 critical)

Disclosure: I maintain the Stackline package proposed here.

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