Aptos Wallet Adapter is a monorepo built with turbo and follows its file structure convention. The repo has 2 workspaces apps
and packages
The App workspace hold different web apps such as the adapter demo app (a nextjs app). You are welcome to add different apps (react/vue/etc) in this workspace (make sure you are following turbo best practices on how to do it)
The packages workspace holds 2 main packages
wallet-adapter-core
- the core adapter logic that responsible on the adapter functionality, state and the interaction between the dapp and wallet.wallet-adapter-react
- a light react provider that dapps can import and use the adapter.
You are welcome to add packages (vue-provider/UI frameworks/etc) in this workspace (make sure you are following turbo best practices on how to do it)
You would need pnpm@7.14.2
in order to bootstrap and test a local copy of this repo.
- Clone the repo with
git clone https://github.com/aptos-labs/aptos-wallet-adapter.git
- On the
root
folder, runpnpm install
andpnpm turbo run build
- On the
root
folder, runpnpm turbo run dev
- that would spin up a local server (localhost:3000
) with thenextjs
demoapp
You are welcome to create a pull request against the main
branch.
Before creating a PR
- Make sure your branch is up to date with the
main
branch - Make sure nothing breaks in the
nextjs
demo app - On the
root
folder, runpnpm install
- On the
root
folder, runpnpm turbo run build
If everything passes, you should be able to create a PR.
We use changesets to handle any changes in the changelog
.
If a pull request created needs to bump a package version, please follow those steps to create a changelog
- On the
root
folder, runpnpm run changeset
and follow the prompt instructions (we follow SemVer) - Under
.changeset/
you will notice a new markdown file (its name is randomly generated), with the change-type and summary. - Push the file along with the rest of the changes
Once your PR will be merged, our Github action will create a new PR with that generated changelog for us to merge, once the generated PR is merged a new version will be published to npm.
If you made some changes to the nextjs
demo app, you would want to deploy those changes once they are merged.
To do that
- On the
root
folder in themain
branch, rungit pull
to make sure you have the latestmain
- On the
root
folder, rundeploy:example
- that would handle the nextjs app deployment.