Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: consolidate package.json into one workspace #121

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -63,9 +63,5 @@
"typescript-eslint": "^7.17.0",
"vite": "^5.3.1"
},
"packageManager": "[email protected]",
"type": "module",
"engines": {
"node": "= 22"
}
"type": "module"
}
Loading
Loading