Skip to content

Commit

Permalink
refactor: consolidate package.json into one workspace
Browse files Browse the repository at this point in the history
  • Loading branch information
TheKnarf committed Jan 14, 2025
1 parent ac2e712 commit dc7e3ec
Show file tree
Hide file tree
Showing 14 changed files with 14,315 additions and 15,165 deletions.
17 changes: 17 additions & 0 deletions .github/actions/install/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@

name: 'pnpm install'
description: 'Doing installs'
runs:
using: 'composite'
steps:
- name: 'Setting up Node'
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'

# Should pick pnpm version based on `.packageManager` in package.json
- uses: pnpm/action-setup@v4

- name: Install dependencies
shell: bash
run: pnpm install
34 changes: 34 additions & 0 deletions .github/workflows/cd-prod.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Vercel Production Deployment

env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}

on:
push:
branches:
- main

jobs:
deploy-production:
name: 'Deploy app to production'
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4

- name: 'Installing Dependencies'
uses: ./.github/actions/install

- name: 'Pull Vercel Environment Information'
run: pnpm vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
working-directory: ./app

- name: 'Build Project Artifacts'
run: pnpm vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
working-directory: ./app

- name: 'Deploy Project Artifacts to Vercel'
run: pnpm vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}
working-directory: ./app

Original file line number Diff line number Diff line change
Expand Up @@ -10,30 +10,15 @@ jobs:
runs-on: ubuntu-latest
name: Deploy Sanity
environment: Sanity Production
defaults:
run:
working-directory: ./studio

steps:
- name: Checkout Repository
- name: 'Checkout Repository'
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Cache pnpm store
uses: actions/cache@v4
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('studio/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-
- name: Install Packages
run: pnpm install
- name: 'Installing Dependencies'
uses: ./.github/actions/install

- name: Deploy Sanity
run: pnpm run deploy
run: pnpm --filter "studio" run deploy
env:
SANITY_AUTH_TOKEN: ${{ secrets.SANITY_AUTH_TOKEN }}
SANITY_STUDIO_PROJECT_ID: ${{ secrets.SANITY_STUDIO_PROJECT_ID }}
Expand Down
18 changes: 6 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,14 @@ jobs:
name: 'Test & lint'
runs-on: ubuntu-latest
steps:
- name: 'Checking Out Code'
- name: 'Checkout Repository'
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Install Packages
run: pnpm install
working-directory: ./app
- name: 'Installing Dependencies'
uses: ./.github/actions/install

- name: 'Running Unit Tests'
run: pnpm test
working-directory: ./app
run: pnpm turbo test

- name: 'Building'
run: pnpm lint
working-directory: ./app
- name: 'Running linting'
run: pnpm turbo lint
33 changes: 33 additions & 0 deletions .github/workflows/preview.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Vercel Preview Deployment

env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}

on:
push:
branches-ignore:
- main

jobs:
deploy-preview:
name: 'Deploy app to preview'
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4

- name: 'Installing Dependencies'
uses: ./.github/actions/install

- name: 'Pull Vercel Environment Information'
run: pnpm vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }}
working-directory: ./app

- name: 'Build Project Artifacts'
run: pnpm vercel build --token=${{ secrets.VERCEL_TOKEN }}
working-directory: ./app

- name: 'Deploy Project Artifacts to Vercel'
run: pnpm vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }}
working-directory: ./app
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
node_modules
.turbo
.DS_Store
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,17 @@ Hvis du trenger tilgang til Sanity Studio, eventuelt Google Console, Vercel og S
2. Installer dependencies:

```bash
cd app && pnpm install
cd ..
cd studio && pnpm install
pnpm install
```

3. Start dev serverene:
3. Kjør følgende 2 kommandoer i hver sin tab i terminalen for å starte dev serverene:

```bash
cd app && pnpm dev
cd studio && pnpm dev
pnpm -F app dev
```

```bash
pnpm -F studio dev
```

- SvelteKit applikasjonen skal nå kjøre på [http://localhost:5173](http://localhost:517/)
Expand All @@ -59,7 +60,7 @@ Vi har to dataset i Sanity studio, en for dev testing og en for produksjon.
For å bygge en produksjonsversjon av Sanity studio lokalt, naviger deg til /studio og kjør følgende kommando:

```bash
cd studio && pnpm build
pnpm -F studio build
```

Bygg bør alltid kjøres som en del av vår pull request policy 👷
Expand Down Expand Up @@ -90,10 +91,10 @@ NB: Når sanity.model.ts er generert i /studio/models, skal den også kopieres t

### Bygg

For å bygge en produksjonsversjon av SvelteKit lokalt, naviger til /app og kjør følgende kommando:
For å bygge en produksjonsversjon av SvelteKit lokalt kjør:

```bash
pnpm build
pnpm -F app build
```

Bygg bør alltid kjøres som en del av vår pull request policy 👷
Expand Down
6 changes: 1 addition & 5 deletions app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,5 @@
"typescript-eslint": "^7.17.0",
"vite": "^5.3.1"
},
"packageManager": "[email protected]",
"type": "module",
"engines": {
"node": "= 22"
}
"type": "module"
}
Loading

0 comments on commit dc7e3ec

Please sign in to comment.