Repository navigation
feat(sea): build Socket 2.1.0-rc.0 as Node 27 SEA - #1705
John-David Dalton (jdalton) wants to merge 1 commit into
Conversation
This comment was marked as duplicate.
This comment was marked as duplicate.
160ae31 to
6cf8cd8
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
235a989 to
1e5a252
Compare
6099c48 to
cc04f94
Compare
cc04f94 to
69cbcd5
Compare
This comment was marked as duplicate.
This comment was marked as duplicate.
69cbcd5 to
b154389
Compare
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
a1633f0 to
500e05c
Compare
c1d36f9 to
3f89f76
Compare
3f89f76 to
f6d2c80
Compare
This comment was marked as resolved.
This comment was marked as resolved.
09f122d to
a5d36f4
Compare
This comment was marked as resolved.
This comment was marked as resolved.
a5d36f4 to
169c1f8
Compare
3cbabb9 to
82fa5fa
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
1dc12a4 to
549b957
Compare
|
Cursor (@cursor) review |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 3 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 549b957. Configure here.
| JSON.stringify( | ||
| constants.ENV.INLINED_SOCKET_CLI_VERSION || | ||
| getRootPkgJsonSync().version, | ||
| ), |
There was a problem hiding this comment.
SEA version override never inlines
High Severity
The Rollup replace for INLINED_SOCKET_CLI_VERSION reads constants.ENV.INLINED_SOCKET_CLI_VERSION, but LAZY_ENV never copies that string from the environment. SEA builds set the env var to SEA_VERSION so v1.x feature binaries report 2.1.0-rc.0; the bundle still inlines root package.json instead. After a dual-track v1.x bump, signed natives would advertise the 1.x number.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 549b957. Configure here.
There was a problem hiding this comment.
Fixed in 34c56c5: scripts/constants.js now reads INLINED_SOCKET_CLI_VERSION through envAsString, with a regression test. The prototype SEA binary reports 2.1.0-rc.0.
| } else if ( | ||
| constants.ENV[INLINED_SOCKET_CLI_PUBLISHED_BUILD] && | ||
| process.env[SEA_BUILD_ENV] !== 'true' | ||
| ) { |
There was a problem hiding this comment.
SEA skips Maven jar fail-closed
Medium Severity
SEA dist builds set INLINED_SOCKET_CLI_PUBLISHED_BUILD but now skip the missing Maven extension jar check, and build-sea.mts never runs build:maven-extension (it only builds the .NET helper). A prototype native can ship without the jar, so socket manifest maven and Maven reachability still emit an empty SBOM.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 549b957. Configure here.
There was a problem hiding this comment.
Fixed in 34c56c5: SEA preparation now builds the Maven extension before Rollup, and published builds fail if its jar is missing. The skipped guard could leave the jar out, causing native manifest maven to fail at runtime; it did not silently emit an empty SBOM. The prototype build passes with the helper bundled.
| !/.config/vitest.e2e.config.mts | ||
| !/.config/vitest.integration.config.mts | ||
| !/.config/vitest.native.config.mts | ||
| !/.config/vitest.terminal.config.mts |
There was a problem hiding this comment.
Release policy file not allowlisted
Medium Severity
The deny-all .gitignore un-ignores every other .config file but omits .config/release.json. Prepare, npm policy validation, and SEA version loading all require that file. A re-add, copy, or tooling pass that honors gitignore can drop the prerelease policy and fail those paths closed.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 549b957. Configure here.
There was a problem hiding this comment.
Fixed in 34c56c5: .gitignore now re-includes .config/** as a directory rule and removes the per-file config exceptions. git check-ignore confirms .config/release.json is not ignored.
549b957 to
34c56c5
Compare


Build Socket
2.1.0-rc.Nas a signed, platform-specific Node 27 SEA..config/release.jsonkeeps this track on theprerelease-2.1.0dist-tag; stable v1.x releases retain their three existing packages.pnpm run approve:npm <id>checks the authenticated npm stage and approves it when ready. The workflow then verifies the signed tag is on the default branch and waits for npm to serve every package version before creating the GitHub release from the tag’s changelog. A timeout creates no GitHub release and can be retried with the same tag. Blocked or deleted stages burn the version; their changes carry into the next changelog.The VFS embeds the bundled tools.
cdxgenandsynpare present for darwin-arm64 but remain unavailable until their provenance and notice requirements are resolved.