Skip to content

addon-stack/addon-pay

Repository files navigation

AddonPay

AddonPay is a pnpm and Nx monorepo for public packages that connect products to the AddonPay service.

Packages

packages/
├── addon-pay            # platform-neutral SDK for the AddonPay server
└── @addon-pay/
    └── plugin           # scoped smoke-test integration package

addon-pay is the reusable core SDK. Platform-specific integrations and other optional functionality live in scoped @addon-pay/* packages.

Development

pnpm install
pnpm format:check
pnpm check
pnpm release:dry-run

Use Conventional Commits. The commit-msg hook and CI validate the format. Nx Release creates independent package releases: feat creates a minor release and fix creates a patch release. While a package is below 1.0.0, a breaking change also creates the next minor release, so 0.1.0 becomes 0.2.0, not 1.0.0.

Release model

After a Conventional Commit is merged into main, the release workflow validates the workspace, runs nx release, creates the version commit and tags, writes per-package GitHub Releases, and publishes only changed release packages. It uses npm Trusted Publishing, so releases after bootstrap require no npm token and receive npm provenance.

One-time bootstrap

  1. Manually publish @addon-pay/plugin@0.0.1 with pnpm publish --access public and the npm 2FA code. addon-pay@0.0.3 already exists in npm.
  2. Create the baseline tags addon-pay@0.0.3 and addon-pay-plugin@0.0.1 on main.
  3. Configure npm Trusted Publisher for both packages: repository addon-stack/addon-pay, workflow .github/workflows/release.yml.
  4. Merge a feat change affecting both package READMEs to smoke-test publishing addon-pay@0.1.0 and @addon-pay/plugin@0.1.0.

After bootstrap, do not manually change package versions, create release tags, or publish packages. Nx Release and the GitHub Actions workflow are the release authority.

About

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Contributors