Extract slug-core npm package #239

Merged
erik merged 3 commits from feat/task-059991ea-slug-core-package into main 2026-06-29 08:12:44 -05:00
Owner

Summary

  • Add packages/slug-core as @evcraddock/slug-core with shared API constants, metadata/error types, response helpers, URL normalization, and version helpers.
  • Update the CLI and template site to import shared Slugkit constants/types/helpers from the local workspace package.
  • Keep template-site API response helpers as wrappers around slug-core exports.
  • Ensure generated sites get the publishable @evcraddock/slug-core dependency version.
  • Update npm package docs/specs to use publishable semver for local workspace package linking because npm rejects workspace:* protocol dependencies inside workspace packages.

Verification

  • npm run typecheck --workspace @evcraddock/slug-core
  • npm test --workspace @evcraddock/slug-core
  • npm run build --workspace @evcraddock/slug-core
  • npm run package:pack:dry-run -- --workspace @evcraddock/slug-core
  • npm run package:release -- --workspace @evcraddock/slug-core --dry-run
  • ./scripts/pre-pr.sh

Task: #task-059991ea

## Summary - Add `packages/slug-core` as `@evcraddock/slug-core` with shared API constants, metadata/error types, response helpers, URL normalization, and version helpers. - Update the CLI and template site to import shared Slugkit constants/types/helpers from the local workspace package. - Keep template-site API response helpers as wrappers around `slug-core` exports. - Ensure generated sites get the publishable `@evcraddock/slug-core` dependency version. - Update npm package docs/specs to use publishable semver for local workspace package linking because npm rejects `workspace:*` protocol dependencies inside workspace packages. ## Verification - `npm run typecheck --workspace @evcraddock/slug-core` - `npm test --workspace @evcraddock/slug-core` - `npm run build --workspace @evcraddock/slug-core` - `npm run package:pack:dry-run -- --workspace @evcraddock/slug-core` - `npm run package:release -- --workspace @evcraddock/slug-core --dry-run` - `./scripts/pre-pr.sh` Task: #task-059991ea
feat: extract slug core package
Some checks failed
CI / build-lint-test (pull_request) Has been cancelled
867a1b35dc
Task: #task-059991ea
chore: retry CI
Some checks failed
CI / build-lint-test (pull_request) Failing after 32s
653fe5ca92
Task: #task-059991ea
fix: build packages before consumers
All checks were successful
CI / build-lint-test (pull_request) Successful in 52s
b35e87aa5f
Task: #task-059991ea
Author
Owner

Review summary

Approved. The PR creates @evcraddock/slug-core, moves low-level shared contract types/constants/helpers into it, and updates the CLI/template to consume it while preserving local template wrapper modules.

Acceptance criteria

  • @evcraddock/slug-core exists as a workspace package in packages/slug-core.
  • CLI consumes @evcraddock/slug-core from the local workspace.
  • Template site consumes @evcraddock/slug-core from the local workspace.
  • Generated sites created after release depend on the publishable @evcraddock/slug-core semver.
  • Public exports are documented in packages/slug-core/README.md and tested in packages/slug-core/src/__tests__/index.test.ts.
  • Project pre-PR checks pass.
  • Package publish/post-publish verification remains for the post-merge release gate.

Blocking issues

None for merge. Publish verification is intentionally deferred until after merge approval.

Warnings

None.

Verdict

Approved.

## Review summary Approved. The PR creates `@evcraddock/slug-core`, moves low-level shared contract types/constants/helpers into it, and updates the CLI/template to consume it while preserving local template wrapper modules. ## Acceptance criteria - [x] `@evcraddock/slug-core` exists as a workspace package in `packages/slug-core`. - [x] CLI consumes `@evcraddock/slug-core` from the local workspace. - [x] Template site consumes `@evcraddock/slug-core` from the local workspace. - [x] Generated sites created after release depend on the publishable `@evcraddock/slug-core` semver. - [x] Public exports are documented in `packages/slug-core/README.md` and tested in `packages/slug-core/src/__tests__/index.test.ts`. - [x] Project pre-PR checks pass. - [ ] Package publish/post-publish verification remains for the post-merge release gate. ## Blocking issues None for merge. Publish verification is intentionally deferred until after merge approval. ## Warnings None. ## Verdict Approved.
erik merged commit 8d3acad9b4 into main 2026-06-29 08:12:44 -05:00
erik deleted branch feat/task-059991ea-slug-core-package 2026-06-29 08:12:44 -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!239
No description provided.