Skip to content

revert: restore semantic-release in devDependencies#37

Merged
pavel-kalmykov merged 1 commit into
mainfrom
revert/release-isolation
Apr 17, 2026
Merged

revert: restore semantic-release in devDependencies#37
pavel-kalmykov merged 1 commit into
mainfrom
revert/release-isolation

Conversation

@pavel-kalmykov

Copy link
Copy Markdown
Owner

Summary

Revert PR #34 (ephemeral install) and PR #35 (.release/ subpackage). Both landed a net-neutral scorecard score (7.5-7.7) at the cost of architectural noise.

Simpler path: semantic-release + plugins back in devDependencies, npx semantic-release in the release workflow, no .release/ tree, no Dependabot carve-out.

Trade-off acknowledged

  • Scorecard Vulnerabilities goes 10 → 7 (the 3 GHSAs reappear in npm audit via @semantic-release/npm → npm@11.12.1 bundled node_modules/).
  • Scorecard Pinned-Dependencies stays at 10 (Dockerfile multistage with npm ci is unchanged).
  • Net score around 7.5 until upstream fixes land.

Why this is OK

Upstream fixes are imminent: npm/cli#9194 tracks the three advisories, npm/cli#9240 is the release PR for npm 11.13.0 (open since 2026-04-15, historical merge window 2-9 days). Once published, @semantic-release/npm's ^11.6.2 range picks it up and Dependabot auto-opens the bump PR here. Vulnerabilities snaps back to 10 with zero manual work.

Kept from the earlier scorecard sweep

  • Dockerfile multistage build with npm ci (Pinned-Dependencies 10/10)
  • Branch protection ruleset: PR required, admin bypass removed
  • fast-check pin at 4.6.0 (TS strict-build incompat in 4.7.0)

Test plan

  • npm test: 424/424 pass
  • npm run build: clean
  • npx eslint src/: clean
  • npm audit: 3 known vulnerabilities (expected, upstream fix in flight)
  • CI passes
  • Dependabot workflow no longer errors

PR #34 (ephemeral install) traded Vulnerabilities 7→10 at the cost of
Pinned-Dependencies staying at 9 because `npm install --no-save` is
flagged as unpinned. PR #35 (.release/ subpackage with its own
lockfile) fixed Pinned-Dependencies 9→10 but osv-scanner then found
the bundled brace-expansion/picomatch advisories in the committed
`.release/package-lock.json` and Vulnerabilities fell back to 7.

Net: both approaches land at ~7.5-7.7 score, and both add
architectural noise (ephemeral install vs split tooling tree) that
exists solely to dodge `npm audit`.

Simpler path: restore semantic-release, @semantic-release/changelog,
@semantic-release/git in devDependencies; drop the .release/
subpackage and the Dependabot carve-out for it; revert the release
workflow to `npx semantic-release`. We accept Vulnerabilities 7 while
npm/cli#9194 lands (npm 11.13.0 bumps the bundled brace-expansion to
5.0.5 and picomatch to 4.0.4; release PR npm/cli#9240 open since
2026-04-15, historical merge-to-publish window 2-9 days).

Kept from the earlier scorecard sweep:
- Dockerfile multistage build using `npm ci` (Pinned-Dependencies 10)
- Branch protection: ruleset requires PR, no admin bypass
- fast-check pin at 4.6.0 (TS strict-build incompat in 4.7.0)

When npm 11.13.x lands, Dependabot will open the bump PR automatically
and Vulnerabilities goes back to 10 with zero manual changes here.
@pavel-kalmykov pavel-kalmykov merged commit 6737a86 into main Apr 17, 2026
6 checks passed
@pavel-kalmykov pavel-kalmykov deleted the revert/release-isolation branch April 17, 2026 16:44
@bitbucket-mcp-bot

Copy link
Copy Markdown

🎉 This PR is included in version 0.6.7 🎉

The release is available on:

Your semantic-release bot 📦🚀

@bitbucket-mcp-bot bitbucket-mcp-bot Bot added the released Shipped in a release label Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

released Shipped in a release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant