Awesome
🎪 Colony TypeScript libraries
The Colony TypeScript libraries
We are providing the following packages in this monorepo:
@colony/sdk
- The development kit to build on top of Colony@colony/colony-js
- The Colony TypeScript reference implementation@colony/core
- Shared utilities, types and constants for all Colony TypeScript libraries@colony/contractor
- A nifty tool that creates Colony Network TypeScript bindings@colony/events
- All Colony event types in one! Parse and serialize Colony event metadata@colony/tokens
- Pre-built Colony token contract bindings
Developing
To start development on any of the included libraries, make sure you have Node v16.x and pnpm
v8.x installed.
Run pnpm run bootstrap
first
To install all required dependencies run pnpm run bootstrap
(this is important!) the first time, later you can just do pnpm install --frozen-lockfile
in the root directory of the repository.
You can run pnpm lint
, pnpm typecheck
, pnpm test
and pnpm build
in the root directory (will build all packages) or in the individual package directories.
Please make sure to include a changeset when submitting a PR.
Creating a main release
colonyJS is using changesets to create releases. Here's the workflow:
- Create a PR and add a changeset within the PR
- Have the PR reviewed and merged into
main
changesets
will create a release PR which collects all changes that have been merged since the last release- This PR can be merged at any point to then create a new main release
Creating a snapshot (development) release
- Push your desired changes to a new branch (do not forget to add a changeset - see above)
- Use the "Release a snapshot" action under "Actions"
- Pick your branch that you would like to release a snapshot from
- The snapshot release will be available in npm under
0.0.0-next-TIMESTAMP
or@snapshot
Contributing
All contributions are welcome. Please read the Contributing Guidelines and review our Code of Conduct before submitting a PR.
License
GPL-3.0