Skip to content

Package for npm publish#1

Merged
jorgeraad merged 3 commits intomainfrom
feat/npm-package
Apr 28, 2026
Merged

Package for npm publish#1
jorgeraad merged 3 commits intomainfrom
feat/npm-package

Conversation

@jorgeraad
Copy link
Copy Markdown
Collaborator

@jorgeraad jorgeraad commented Apr 28, 2026

Sets surface up to be installed via npm install @pensar/surface and used as both a CLI and a typed library. Adds a tsup build (ESM, types, two entries), a fixture-based smoke test, and CI workflows for PR validation and tag-triggered publish.


Note

Medium Risk
Medium risk because it changes the packaging/entrypoints (package.json exports/bin) and adds automated publish workflows, which can break installs or CLI execution if misconfigured.

Overview
Sets the project up to be published and consumed as @pensar/surface by switching to a built dist/ bundle with explicit exports, types, and CLI bin pointing to dist/cli.js (built via new tsup.config.ts).

Adds release safety rails: a post-build script that injects a Node shebang/exec bit for the CLI, a Node smoke test that imports dist/index.js and runs map() against a tiny Express fixture, and GitHub Actions workflows for PR CI and tag-triggered npm publish with provenance.

Includes supporting housekeeping (MIT LICENSE, README install/programmatic API docs, and ignores scripts/fixtures in Prettier).

Reviewed by Cursor Bugbot for commit 442e6c0. Bugbot is set up for automated code reviews on this repo. Configure here.

@jorgeraad jorgeraad marked this pull request as ready for review April 28, 2026 18:13
@jorgeraad jorgeraad requested a review from kylejryan April 28, 2026 18:34
@jorgeraad jorgeraad merged commit 5452d4e into main Apr 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant