See packages/core/base for a description of the goals of this project and its core API.
This is a simple monorepo template with some specific design goals:
- Latest TypeScript version
- Fast, incremental dependency updates and builds
- No package bundler
- Watch mode works
- ESM and CJS work (with distinct build outputs)
- Vanilla TS and React packages work
Create React AppParcel works (with hot module reloading of the entire workspace)
- Node 16+
- PNPM
If you have Node 16+, you can activate PNPM with Corepack:
corepack enable
corepack prepare pnpm@`npm info pnpm --json | jq -r .version` --activate
Corepack requires a version to enable, so if you don't have jq installed, you can install it, or just manually get the current version of pnpm with npm info pnpm
and use it like this:
corepack prepare pnpm@7.13.4 --activate
git clone https://github.com/wallet-standard/wallet-standard.git
cd wallet-standard
pnpm install
Run this to build all your workspace packages.
pnpm build
This will build workspace packages that use tsc
for compilation first, then everything else.
Run this to build and watch workspace packages that use tsc
for compilation.
pnpm watch
Other packages can build and run with their own tools (like CRA's react-scripts commands).
Run this in a separate terminal from the watch
command.
cd packages/example/react
pnpm start
A basic example app will now be running with Hot Module Reloading of the entire workspace.