Awesome
The Graph Tooling
Monorepo for various tools used by subgraph developers.
This repository houses the following tools:
<!-- prettier-ignore-start -->NPM | Name |
---|---|
@graphprotocol/graph-cli | |
@graphprotocol/graph-ts |
Contributing
We welcome contributions to this repository. Please follow the Code of Conduct for all the communications.
To run this project locally:
- Clone the repository
- Make sure you have Node.js
>=20.x
installed - Make sure you have
pnpm
installed - Run
pnpm install
to install dependencies - Run
pnpm build
to build the packages - Run
pnpm test
to run the tests
Release process
We use changeset
to manage releases. Every PR should include a changeset file. The release process
is as follows:
- Author creates the PR with changes and runs
pnpm changeset
to create a changeset file to summarize the changes. - When the PR is merged to
main
, a Github Action will run and create a PR with the version bump and changelog. - We will merge the bot generated PR to
main
. - A Github Action will run and publish the new version to npm.
Helpful links:
Stable release example
When PRs are merged and to main
we can choose to merge the bot generated changeset PR to main
and it will publish a new version to npm.
Example of a graph-client
release: https://github.com/graphprotocol/graph-client/pull/295
Alpha release example
Every PR to main
that includes a changeset file will create a new alpha version.
Example of graph-client
snapshot release:
https://github.com/graphprotocol/graph-client/pull/178#issuecomment-1214822036
License
Copyright © 2018-2019 Graph Protocol, Inc. and contributors.
The Graph CLI is dual-licensed under the MIT license and the Apache License, Version 2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either expressed or implied. See the License for the specific language governing permissions and limitations under the License.