Skip to content
This repository was archived by the owner on Jun 23, 2026. It is now read-only.

feat: add ESLint with type-safety rules and boundary enforcement #5

feat: add ESLint with type-safety rules and boundary enforcement

feat: add ESLint with type-safety rules and boundary enforcement #5

name: Diff Dependencies
on:
pull_request:
branches: [main, next]
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
build-base:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.base.sha }}
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Pack packages
run: |
cd crates/napi && pnpm pack --pack-destination ../../ && cd ../..
cd packages/xmdx && pnpm pack --pack-destination ../../ && cd ../..
cd packages/astro-xmdx && pnpm pack --pack-destination ../../ && cd ../..
cd packages/astro-loader && pnpm pack --pack-destination ../../ && cd ../..
- uses: actions/upload-artifact@v4
with:
name: base-packages
path: "*.tgz"
build-pr:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Pack packages
run: |
cd crates/napi && pnpm pack --pack-destination ../../ && cd ../..
cd packages/xmdx && pnpm pack --pack-destination ../../ && cd ../..
cd packages/astro-xmdx && pnpm pack --pack-destination ../../ && cd ../..
cd packages/astro-loader && pnpm pack --pack-destination ../../ && cd ../..
- uses: actions/upload-artifact@v4
with:
name: source-packages
path: "*.tgz"
diff_dependencies:
runs-on: ubuntu-latest
needs: [build-base, build-pr]
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/download-artifact@v4
with:
name: base-packages
path: ./base-packages
- uses: actions/download-artifact@v4
with:
name: source-packages
path: ./source-packages
- name: Create Diff
uses: e18e/action-dependency-diff@v1
with:
size-threshold: -1
duplicate-threshold: 100
base-packages: ./base-packages/*.tgz
source-packages: ./source-packages/*.tgz