This repo contains shareable tooling and common packages for Martech engineers.
This repo uses npm workspaces for packages in packages/*.
Current workspace packages:
packages/fetch-with-retries
The scripts/ directory remains standalone and is not part of the workspace graph.
Install dependencies from the repo root:
npm installRun repo checks from the repo root:
npm run lint
npm testTarget the fetch-with-retries package directly:
npm run test -w packages/fetch-with-retriesPackages (e.g. packages/fetch-with-retries) are configured to publish from CircleCI to Cloudsmith after creating a GitHub release.
Publishing flow:
- Update the package version, e.g.
packages/fetch-with-retries/package.json. - Update the CHANGELOG for that version, e.g.
packages/fetch-with-retries/CHANGELOG.md. - Open a PR to get those changes merged into the main branch.
- When merged, create a GitHub release targeting the release commit, and use a matching tag in this format:
fetch-with-retries-v1.0.0
- CircleCI will run the publish workflow for that tag.
- If tests and lint pass, CircleCI publishes the package to the
financial-times-internal-releasesCloudsmith repository.
Important
The tag version must match the package version in your package.json. The CircleCI workflow is triggered by the git tag itself, not by a GitHub release title.
If you have any questions, or need any help, either raise an issue, speak to us on Slack, or via email.