This is a prototype repository featuring:
- PNPM monorepo
- Typescript first (native)
- ESM first (native)
- Hono
- Zod
- Vitest
- Biome
- native subpath imports via
importsfield (e.g.import Foe from '#src/foe.ts') - cross-package monorepo imports via
exportsfield andworkspace:*dependency (e.g.import Foe from 'foe/bar.ts')
Dependencies:
fnm(eg:brew install fnm)- add
eval "$(fnm env --use-on-cd)"into your~/.zprofileor~/.profile
Setup:
fnm install # nodejs from .nvmrc
npm install -g corepack
corepack enable # package manager from package.json
corepack install # package manager from package.json
pnpm install # install deps
export $(grep -v '^#' .env | xargs) # load env vars
pnpm env:down # remove docker containers
pnpm env:up # start docker containers
pnpm -F api db:migrate # run migrations
pnpm -F api db:seed # seed dbRun:
pnpm -F api start:dev
pnpm -F webapp build:devTesting:
pnpm -r testLinting and typechecking:
pnpm lint
pnpm tscTo run with https locally:
npx ngrok start --all --config ngrok.yml --authtoken <authtoken>