__ __ ___
_________ _/ /_____ _/ /___ ____ _ _________ _____/ (_)___
/ ___/ __ `/ __/ __ `/ / __ \/ __ `/_____/ ___/ __ `/ __ / / __ \
/ /__/ /_/ / /_/ /_/ / / /_/ / /_/ /_____/ / / /_/ / /_/ / / /_/ /
\___/\__,_/\__/\__,_/_/\____/\__, / /_/ \__,_/\__,_/_/\____/
/____/
This repository hosts a monorepo for the Catalog marketplace.
NextJS Application: apps/next-app
Tracking Proxy: apps/tracking-proxy
Catalog Audit DB: apps/catalog-audit
Applications are organized into the apps directory. Shared, packaged dependencies across applications are organized into the packages directory.
The primary package manager used for this monorepo is pnpm
The primary tooling used for linting and formatting across workspaces in this monorepo is Biome. It's recommended to install the Biome VSCode extension for working in this repository.
Private packages are loaded from the GitHub registry. You will need to authenticate with this service to be able to install these packages.
-
Clone the monorepo
-
Authenticate with the GitHub registry. Run
npm login --scope=@catalogworks --auth-type=legacy --registry=https://npm.pkg.github.com-
Enter your GitHub username when prompted
-
Enter a GitHub personal access token (with packages read access) as your password
-
-
Install dependencies with
pnpm install -
Run
doppler setupfrom the monorepo root.
To start the development server from the monorepo root:
pnpm next:devTo build the NextJS application from the monorepo root:
pnpm next:buildTo start the NextJS application production build from the monorepo root:
pnpm next:startTo autogenerate GraphQL types from the monorepo root: generate will only work from the monorepo root using the following command and will not work within the next-app workspace
pnpm next:generateThis repository uses Biome instead of Prettier + ESLint.
All changes should be made via pull requests, which will automatically deploy a preview instance on Vercel.
Once your changes are accepted, merging will automatically deploy to production on catalog.works via Vercel.