0.28.3 • Published 7 years ago

@craigrmccown/apollo-codegen-swift v0.28.3

Weekly downloads
1
License
MIT
Repository
github
Last release
7 years ago

Experimental Apollo CLI

This project is an early experiment at replacing the functionality of the current apollo-tooling repo with a new, and much better, CLI / LSP experience. It is being written in rust to have maximum portability and is aimed at a new command structure, config / onboarding experience, etc. Its greenfield ;)

Quick Start

If you have all of the dependencies setup and are ready to get right into contributing, run the following command after cloneing the repo:

cargo run

Contributing

This is very early days for this project. It is setup as a multi-crate rust project. To get started you need to have the rust toolchain installed. The best way to do this is to visit the amazing rust site and follow their install instructions.

To ensure you are ready, you should be able to run this:

cargo --version

and get something back that looks like this:

cargo 1.42.0 (86334295e 2020-01-31)

Running the project

To run the project locally, you can use cargo to build and exexecute the bin of the apollo crate.

cargo run

will install your packages, build the librar(ies), and run the program.

Testing the project

Rust has great built-in test tooling. You can write tests in-line or under the tests folder for each crate. Tests under the tests folder should be integration whereas inline should be unit tests (as I understand from the conventions). You can run cargo test to test all of the crates at once.

Opening PRs

The GitHub repo is setup to run a linting and test suite on each push. This uses GitHub actions and you should get full feedback from them quickly thanks to some caching work setup.

Please ask for reviews from @queerviolet, @jakedawkins, and @jbaxleyiii for all PRs at this stage of the project.

Cutting releases

Right now releases are run via tags pushed to GitHub. To cut a release, create a new tag via git (git tag -d v0.0.2) and make sure it has a v in front of the version number. This will increment the build and cut a release to build binaries of the CLI and store them on the GitHub release tab.

In the future this will be built out more with an approval flow and automatic distribution to npm and cargo as well as an install by curl command

Code of Conduct

This project, and all under the apollographql org follow the Apollo Code of Conduct. We welcome all contributors but it is vital that this is a safe and welcoming space to others. Please read the code of conduct :)

Maintainers