Sync the package.json dependencies in d-ts.yml
authorTim Düsterhus <duesterhus@woltlab.com>
Thu, 14 Sep 2023 14:10:37 +0000 (16:10 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Thu, 14 Sep 2023 14:10:37 +0000 (16:10 +0200)
.github/workflows/d-ts.yml

index eaf34e4dc51cc93da4f15050c0f163ad8c2140f3..124fff04ef6fd5138db9ec364dc1a52ac32616b8 100644 (file)
@@ -15,6 +15,10 @@ jobs:
         branch:
         - 'master'
     steps:
+    - run: |
+        apt install -y \
+          jq \
+          moreutils
     - uses: actions/checkout@v4
       with:
         ref: ${{ matrix.branch }}
@@ -34,9 +38,23 @@ jobs:
         ssh-key: ${{ secrets.WOLTLAB_D_TS_DEPLOY_KEY }}
         path: d.ts
         ref: ${{ matrix.branch }}
-    - run: |
+    - name: Update the .d.ts files
+      run: |
         npx tsc --declaration --emitDeclarationOnly --outdir ./d.ts/
         cp ./ts/global.d.ts ./d.ts/
+    - name: Update dependencies in package.json
+      run: |
+        set -x
+        cd d.ts/
+
+        jq --argfile dependencies ../package.json '.dependencies = ($dependencies |.dependencies)' ./package.json \
+          |sponge ./package.json
+        
+        if ! git diff --quiet package.json; then
+          npm install
+        fi
+
+        cd ../
     - name: Prepare git
       run: |
         git config --global user.name "WoltLab GmbH"