You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Verdict: approve with nits. The script itself is safe: no elevation, no curl-pipe-bash, ExecutionPolicy Bypass scoped to the single invocation, strict mode plus per-step exit-code checks.
Minor, reproducibility: npx @vscode/vsce package (build-and-install.ps1:66) fetches vsce and its sizeable transitive tree from the registry at run time, unpinned, outside npm ci and the lockfile. That's the one place this script pulls remote code, and it makes a reproducible-build script non-deterministic. Pin @vscode/vsce as a devDependency and call the local binary.
Nit: the .socket/ gitignore addition is unrelated to build tooling and unexplained.
Nit: Invoke-Checked gates on $LASTEXITCODE, correct for native npm/npx/code, would misreport if code resolves to a non-native wrapper.
Fixed in the stack rework branch at d67c2dce136057670e7d9e96a56bb37f538dd642.
The reproducibility finding is valid. @vscode/vsce is now pinned exactly at 3.9.2 in devDependencies and the lockfile, and build-and-install.ps1 invokes node_modules\.bin\vsce.cmd directly. Packaging no longer fetches an unpinned VSCE tool at runtime.
I did not push this dependency change onto PR63 because the mandatory stack check caught a later package-lock.json conflict. A local PR63 candidate was STACK_CLEAN against immediate child PR51 but STACK_CONFLICT against the full stack tip due to the later PDF.js dependency changes. That candidate was removed without being pushed, and the fix was committed at the dedicated top-of-stack rework branch instead.
The two nits do not require changes:
.socket/ is the generated cache used by this repository's existing @socketsecurity/socket-patch postinstall step. Ignoring generated dependency-tool state is intentional and belongs with this build/tooling change.
Invoke-Checked is called with native commands. Automatic VS Code discovery explicitly prefers code.cmd and resolves it through Get-Command; -CodeCommand is a path to the VS Code CLI, not an arbitrary non-native PowerShell wrapper. Native exit failures are reported through $LASTEXITCODE, while PowerShell failures terminate under $ErrorActionPreference = 'Stop'.
Validation on the rework tip:
PowerShell parsing passes and the local VSCE binary reports 3.9.2.
npm run compile passes.
All 494 tests pass.
The pinned local binary builds the production bundle and packages the VSIX.
The rework tip remains STACK_CLEAN when combined with the updated PR49 security fix.
PR63, its immediate child PR51, and the current stack-top PR71 all remain MERGEABLE/CLEAN.
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
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.
Stack PR for the Missio 0.8.0 OpenCollection review queue.
Verification run locally from the fully applied GitButler workspace:
npx vitest run test/grpcSupport.test.ts -t "gRPC demo server reliability"npx vitest run test/protocolLayoutStability.test.ts test/webSocketSupport.test.ts test/runtimeExecutionService.test.ts test/unresolvedVars.test.ts test/previewMediaControls.test.tsnpm run compilenode scripts/validate-collection.js examples/demo-apinpm testnpm run buildnpm run install:local