Add npm package workspace release scaffolding #238

Merged
erik merged 1 commit from feat/task-d254919c-npm-workspace-release-scaffolding into main 2026-06-29 07:35:50 -05:00
Owner

Summary

  • Add packages/* to root npm workspaces while preserving existing CLI/template workspaces.
  • Add generic scripts/release-npm-package.mjs for validating, dry-run packing, and explicitly publishing one @evcraddock/slug-* workspace package.
  • Document shared npm package metadata and release conventions in docs/npm-package-release.md and link from the scaffolding spec.
  • Add tests for the package release helper.

Verification

  • npm test --workspace @evcraddock/slug-cli -- npm-package-release-script.test.ts
  • ./scripts/pre-pr.sh

Task: #task-d254919c

## Summary - Add `packages/*` to root npm workspaces while preserving existing CLI/template workspaces. - Add generic `scripts/release-npm-package.mjs` for validating, dry-run packing, and explicitly publishing one `@evcraddock/slug-*` workspace package. - Document shared npm package metadata and release conventions in `docs/npm-package-release.md` and link from the scaffolding spec. - Add tests for the package release helper. ## Verification - `npm test --workspace @evcraddock/slug-cli -- npm-package-release-script.test.ts` - `./scripts/pre-pr.sh` Task: #task-d254919c
chore: add npm package release scaffolding
All checks were successful
CI / build-lint-test (pull_request) Successful in 53s
2224419cdb
Task: #task-d254919c
Author
Owner

Review summary

Approved. The PR implements the requested workspace/release scaffolding without introducing runtime package extraction or generated-site dependency changes.

Acceptance criteria

  • Root workspaces include packages/* in package.json and package-lock.json.
  • Existing cli and template/site workspace commands still work, evidenced by ./scripts/pre-pr.sh passing.
  • A documented command can dry-run a package publish via npm run package:release -- --workspace <pkg> --dry-run.
  • A documented command can publish one package after checks pass via npm run package:release -- --workspace <pkg> --publish.
  • Package metadata requirements are documented in docs/npm-package-release.md and enforced by scripts/release-npm-package.mjs.
  • ./scripts/pre-pr.sh passes and Forgejo CI build-lint-test passed.

Blocking issues

None.

Warnings

None.

Verdict

Approved.

## Review summary Approved. The PR implements the requested workspace/release scaffolding without introducing runtime package extraction or generated-site dependency changes. ## Acceptance criteria - [x] Root workspaces include `packages/*` in `package.json` and `package-lock.json`. - [x] Existing `cli` and `template/site` workspace commands still work, evidenced by `./scripts/pre-pr.sh` passing. - [x] A documented command can dry-run a package publish via `npm run package:release -- --workspace <pkg> --dry-run`. - [x] A documented command can publish one package after checks pass via `npm run package:release -- --workspace <pkg> --publish`. - [x] Package metadata requirements are documented in `docs/npm-package-release.md` and enforced by `scripts/release-npm-package.mjs`. - [x] `./scripts/pre-pr.sh` passes and Forgejo CI `build-lint-test` passed. ## Blocking issues None. ## Warnings None. ## Verdict Approved.
erik merged commit 51008f21fc into main 2026-06-29 07:35:50 -05:00
erik deleted branch feat/task-d254919c-npm-workspace-release-scaffolding 2026-06-29 07:35:50 -05:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/slugkit!238
No description provided.