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
rootfolder, runpnpm installandpnpm turbo run build - On the
rootfolder, runpnpm turbo run dev- that would spin up a local server (localhost:3000) with thenextjsdemoapp
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
mainbranch - Make sure nothing breaks in the
nextjsdemo app - On the
rootfolder, runpnpm install - On the
rootfolder, 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
rootfolder, runpnpm run changesetand 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
rootfolder in themainbranch, rungit pullto make sure you have the latestmain - On the
rootfolder, rundeploy:example- that would handle the nextjs app deployment.