From a71e81e62e98f94a69e5a2b9d68487686540f4f6 Mon Sep 17 00:00:00 2001 From: RPC <67982490+rpc333@users.noreply.github.com> Date: Mon, 6 Jan 2025 10:39:23 -0500 Subject: [PATCH] chore(internal): Update SETUP.md (#5530) Update SETUP.md --- SETUP.md | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/SETUP.md b/SETUP.md index 53b9dce86aa..ae37d2fa7bf 100644 --- a/SETUP.md +++ b/SETUP.md @@ -1,7 +1,29 @@ -## Install required packages +# Setup -1. Install [nvm](https://github.com/nvm-sh/nvm#install--update-script) -2. Clone repo -3. `nvm use 18` -4. `npm install --global yarn` -5. `yarn` +The Fern repo is primarily written in TypeScript and relies on [PnPm](https://pnpm.io/) for package management. + +Once you have cloned or forked the repository, run through the steps below. + +### Step 1: Install dependencies + +```sh +pnpm install +``` + +### Step 2: Compile + +To compile all the packages in this monorepo, run `pnpm compile`. + +To compile a single package, filter to the relevant package: `pnpm --filter @fern-api/openapi-parser compile`. + +### Step 3: Testing + +This repo contains both unit tests and integration (end-to-end) tests. + +To run all the unit tests: `pnpm test`. + +To run unit tests for a single package: `pnpm --filter @fern-api/openapi-parser test` + +To run the integration tests: `pnpm test:ete`. + +Many of our tests rely on [snapshot testing](https://jestjs.io/docs/snapshot-testing). To rewrite snapshots, use `pnpm test:update` or `pnpm test:ete:update`.