Skip to content

Latest commit

 

History

History
65 lines (45 loc) · 1.39 KB

File metadata and controls

65 lines (45 loc) · 1.39 KB

Contributing to A5

Thank you for contributing to the TypeScript version of A5. We are actively looking for new contributors.

Setting up environment

First, make sure you have Node.js and Yarn installed.

# Install dependencies
yarn install

Run tests

yarn test --run

Build

yarn build

Formatting

This project uses Prettier for code formatting. The config in .prettierrc.json is the source of truth; editors that respect Prettier (Zed, VS Code, JetBrains, vim plugins) will pick it up automatically.

yarn format         # format all files in place
yarn format:check   # exit non-zero if any file would be reformatted (CI use)

Generate fixtures

yarn generate-fixtures

Sync fixtures to Python & Rust ports

After generating fixtures, sync them to the sibling a5-py and a5-rs repos:

yarn sync-fixtures            # copy updated fixtures
yarn sync-fixtures --dry-run  # preview what would be copied
yarn sync-fixtures --check    # exit 1 if any fixtures are out of sync (useful in CI)

Publish (for maintainers)

Update version in package.json
yarn build
yarn test --run

Update CHANGELOG
git add CHANGELOG.md package.json
git commit -m "x.y.z release"
npm publish

git tag vx.y.z
git push && git push --tags