Add monorepo support to project (#682)

* feat: add monorepo support

* fix: correct relatedProjects structure in vercel.json

* update github actions with monorepo support

* removed legacy dep

* moved jsr config into web package
This commit is contained in:
Dan Ditomaso
2025-06-25 21:56:55 -04:00
committed by GitHub
parent 85ee0747d1
commit 1c13343e8a
463 changed files with 7568 additions and 2196 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ jobs:
${{ runner.os }}-deno-
- name: Cache Dependencies
run: deno cache src/index.tsx
run: deno cache /packages/web/src/index.tsx
- name: Run linter
run: deno task lint
+6 -2
View File
@@ -21,22 +21,26 @@ jobs:
deno-version: v2.x
- name: Install Dependencies
working-directory: packages/web
run: deno install
- name: Run tests
working-directory: packages/web
run: deno task test
- name: Build Package
working-directory: packages/web
run: deno task build
- name: Package Output
working-directory: packages/web
run: deno task package
- name: Archive compressed build
uses: actions/upload-artifact@v4
with:
name: build
path: dist/build.tar
path: packages/web/dist/build.tar
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
+27 -38
View File
@@ -1,10 +1,16 @@
name: Pull Request CI
name: Push to Main CI
on:
pull_request:
push:
branches:
- main
permissions:
contents: write
packages: write
jobs:
build:
build-and-package:
runs-on: ubuntu-latest
steps:
- name: Checkout code
@@ -15,54 +21,37 @@ jobs:
with:
deno-version: v2.x
- name: Install Dependencies
# Commands will run from 'packages/web'
working-directory: packages/web
run: deno install
- name: Cache Deno dependencies
uses: actions/cache@v4
with:
path: |
~/.cache/deno
./deno.lock
key: ${{ runner.os }}-deno-${{ hashFiles('**/deno.lock') }}
packages/web/deno.lock
key: ${{ runner.os }}-deno-${{ hashFiles('packages/web/deno.lock') }}
restore-keys: |
${{ runner.os }}-deno-
- name: Install Dependencies
run: deno install
- name: Cache Dependencies
run: deno cache src/index.tsx
working-directory: packages/web
run: deno cache src/index.tsx
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v46
with:
files: |
**/*.ts
**/*.tsx
- name: Run linter
working-directory: packages/web
run: deno task lint
# Uncomment the following lines when you have figured out how to ignore files
# - name: Type check changed files
# if: steps.changed-files.outputs.all_changed_files != ''
# run: deno check ${{ steps.changed-files.outputs.all_changed_files }}
- name: Run linter on changed files
if: steps.changed-files.outputs.all_changed_files != ''
run: deno task lint ${{ steps.changed-files.outputs.all_changed_files }}
- name: Check format on changed files
if: steps.changed-files.outputs.all_changed_files != ''
run: deno task format --check ${{ steps.changed-files.outputs.all_changed_files }}
- name: Check formatter
working-directory: packages/web
run: deno task format --check
- name: Run tests
working-directory: packages/web
run: deno task test
- name: Build Package
run: deno task build
- name: Compress build
run: deno task package
- name: Archive compressed build
uses: actions/upload-artifact@v4
with:
name: build
path: dist/build.tar
working-directory: packages/web
run: deno task build
+6 -2
View File
@@ -21,26 +21,30 @@ jobs:
deno-version: v2.x
- name: Install Dependencies
working-directory: packages/web
run: deno install
- name: Run tests
working-directory: packages/web
run: deno task test
- name: Build Package
working-directory: packages/web
run: deno task build
- name: Package Output
working-directory: packages/web
run: deno task package
- name: Archive compressed build
uses: actions/upload-artifact@v4
with:
name: build
path: dist/build.tar
path: packages/web/dist/build.tar
- name: Attach build.tar to release
run: |
gh release upload ${{ github.event.release.tag_name }} dist/build.tar
gh release upload ${{ github.event.release.tag_name }} packages/web/dist/build.tar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}