If this is your first time running eas-cli locally, make sure you install and build the packages. In the project root, run:
yarn install
yarn buildFrom there, set up an alias for the EAS CLI so you can try it in projects all around your computer. The project is compiled on the fly so you don't need to run a build (watch) command.
The only exception is if there have been changes in
packages/eas-json. In that case, you'll have to runyarn buildin the root.
Open your .zshrc or other config file and add:
alias easd="/PATH/TO/eas-cli/bin/run"Then use it with easd like easd build.
If you're making changes to packages/eas-json or prefer/need to work with production code, start the build command in watch mode with:
yarn startIf it is easier for you to work with the code locally with compiler options set to:
...
"compilerOptions": {
...
"noUnusedLocals": false,
"noUnusedParameters": false,
...
}
...you can consider using:
yarn start-allow-unused- Be sure to update the
CHANGELOG.mdwith changes for every PR. There is a changelog bot that can generate the proper entry for you. The instructions on how to use it are in the PR description placeholder. - End
asyncfunctions withAsynclikerunAsync. This is just how we format functions at Expo. - Utilize the unified
Logmodule instead ofconsole.log.
For development against local API:
- Set up the API server as described at https://github.com/expo/universe/tree/main/server/www.
- Set the
EXPO_LOCAL=1env variable either on every command run (e.g.EXPO_LOCAL=1 easd ...) or more permamently withexport EXPO_LOCAL=1(works in a current shell session).
For development against staging API:
- Set the
EXPO_STAGING=1env variable either on every command run (e.g.EXPO_STAGING=1 easd ...) or more permamently withexport EXPO_STAGING=1(works in a current shell session).
See CLAUDE.md for how to set up your environment when making changes to eas-cli-local-build-plugin and/or build-tools.
From the repository root, run yarn run -T lerna run test. For a single package, run yarn test in that package directory.
See RELEASING.md.