diff --git a/.github/workflows/deploy-to-gh-pages.yml b/.github/workflows/build-and-deploy.yml similarity index 61% rename from .github/workflows/deploy-to-gh-pages.yml rename to .github/workflows/build-and-deploy.yml index 31727378..b30261bd 100644 --- a/.github/workflows/deploy-to-gh-pages.yml +++ b/.github/workflows/build-and-deploy.yml @@ -1,4 +1,4 @@ -name: Build and Deploy +name: build-and-deploy on: pull_request: branches: @@ -10,20 +10,23 @@ jobs: build-and-deploy: runs-on: ubuntu-latest steps: - - name: Checkout 🍔🍟🥤 - uses: actions/checkout@v2.3.1 + - uses: actions/checkout@v2.3.1 with: persist-credentials: false - - - name: Use Node.js 😂 - uses: actions/setup-node@v1 + - uses: actions/setup-node@v1 with: node-version: '16.x' + - run: git submodule update --init --recommend-shallow + - run: npm ci - run: npm test - run: npm run build-docs + - run: npm run generate + - name: Check generated file is up-to-date with gpuweb submodule (`npm run generate` to fix this) + run: git update-index --really-refresh && git diff-index --quiet HEAD + - name: Deploy 📦 if: ${{ success() && github.ref == 'refs/heads/main' }} uses: JamesIves/github-pages-deploy-action@3.6.2 diff --git a/.gitmodules b/.gitmodules index aabb0ac7..af8fc1d0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "gpuweb"] path = gpuweb url = https://github.com/gpuweb/gpuweb.git +[submodule "third_party/bikeshed-to-ts"] + path = third_party/bikeshed-to-ts + url = https://github.com/toji/bikeshed-to-ts.git diff --git a/package-lock.json b/package-lock.json index 5bdf95d6..bd842842 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,32 +9,10 @@ "version": "0.1.57", "license": "BSD-3-Clause", "devDependencies": { - "bikeshed-to-ts": "github:toji/bikeshed-to-ts", + "bikeshed-to-ts": "file:third_party/bikeshed-to-ts", "prettier": "^2.2.1" } }, - "node_modules/@dekkai/data-source": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@dekkai/data-source/-/data-source-0.2.3.tgz", - "integrity": "sha512-90Fcf3tGxNEP4jqVj4Q5xdqLc3CHyUp3CxxURXWkl2Ey20FXjN54QnwT7Y6dFA0DWvpnS4iNTXT/JbmnyDkjWg==", - "dev": true, - "dependencies": { - "@dekkai/env": "^1.1.0", - "@dekkai/event-emitter": "^1.1.0" - } - }, - "node_modules/@dekkai/env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@dekkai/env/-/env-1.1.0.tgz", - "integrity": "sha512-z1t0bXV1QFwsA2Ur7N6/7qRbrcJ043dYYAqWsOAzMUna4CZiz9vsAFTBNT19ZRY50uf59tR/SOWkj/CnAy6jqg==", - "dev": true - }, - "node_modules/@dekkai/event-emitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@dekkai/event-emitter/-/event-emitter-1.1.0.tgz", - "integrity": "sha512-wQkAuh4p96ZZvCuOA1XRi8FiYE2Nbsozzv8y8mRq2JwN7fSJS0DtMCsLvfcpEF4wdFo2Hum0u3vpxoAv0rY5Eg==", - "dev": true - }, "node_modules/@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", @@ -136,20 +114,8 @@ "dev": true }, "node_modules/bikeshed-to-ts": { - "version": "1.2.0", - "resolved": "git+ssh://git@github.com/toji/bikeshed-to-ts.git#a8f58349cc047646bdfd7311a7c9050a2c802a7a", - "dev": true, - "license": "MIT", - "dependencies": { - "@dekkai/data-source": "^0.2.1", - "typescript": "^4.2.4", - "webidl2": "^24.2.0", - "webidl2ts": "github:toji/webidl2ts", - "yargs": "^16.2.0" - }, - "bin": { - "bikeshed-to-ts": "src/cli.js" - } + "resolved": "third_party/bikeshed-to-ts", + "link": true }, "node_modules/browser-process-hrtime": { "version": "1.0.0", @@ -736,9 +702,9 @@ } }, "node_modules/typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", + "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -941,31 +907,23 @@ "engines": { "node": ">=10" } + }, + "third_party/bikeshed-to-ts": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "typescript": "=4.2.4", + "webidl2": "^24.2.0", + "webidl2ts": "github:toji/webidl2ts", + "yargs": "^16.2.0" + }, + "bin": { + "bikeshed-to-ts": "src/cli.js" + } } }, "dependencies": { - "@dekkai/data-source": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@dekkai/data-source/-/data-source-0.2.3.tgz", - "integrity": "sha512-90Fcf3tGxNEP4jqVj4Q5xdqLc3CHyUp3CxxURXWkl2Ey20FXjN54QnwT7Y6dFA0DWvpnS4iNTXT/JbmnyDkjWg==", - "dev": true, - "requires": { - "@dekkai/env": "^1.1.0", - "@dekkai/event-emitter": "^1.1.0" - } - }, - "@dekkai/env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@dekkai/env/-/env-1.1.0.tgz", - "integrity": "sha512-z1t0bXV1QFwsA2Ur7N6/7qRbrcJ043dYYAqWsOAzMUna4CZiz9vsAFTBNT19ZRY50uf59tR/SOWkj/CnAy6jqg==", - "dev": true - }, - "@dekkai/event-emitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@dekkai/event-emitter/-/event-emitter-1.1.0.tgz", - "integrity": "sha512-wQkAuh4p96ZZvCuOA1XRi8FiYE2Nbsozzv8y8mRq2JwN7fSJS0DtMCsLvfcpEF4wdFo2Hum0u3vpxoAv0rY5Eg==", - "dev": true - }, "@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", @@ -1039,12 +997,9 @@ "dev": true }, "bikeshed-to-ts": { - "version": "git+ssh://git@github.com/toji/bikeshed-to-ts.git#a8f58349cc047646bdfd7311a7c9050a2c802a7a", - "dev": true, - "from": "bikeshed-to-ts@github:toji/bikeshed-to-ts", + "version": "file:third_party/bikeshed-to-ts", "requires": { - "@dekkai/data-source": "^0.2.1", - "typescript": "^4.2.4", + "typescript": "=4.2.4", "webidl2": "^24.2.0", "webidl2ts": "github:toji/webidl2ts", "yargs": "^16.2.0" @@ -1505,9 +1460,9 @@ } }, "typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", + "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", "dev": true }, "universalify": { diff --git a/package.json b/package.json index 4e800801..91a5b14f 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "format": "prettier -w dist/index.d.ts" }, "devDependencies": { - "bikeshed-to-ts": "github:toji/bikeshed-to-ts", + "bikeshed-to-ts": "file:third_party/bikeshed-to-ts", "prettier": "^2.2.1" } } diff --git a/third_party/bikeshed-to-ts b/third_party/bikeshed-to-ts new file mode 160000 index 00000000..bb9da02a --- /dev/null +++ b/third_party/bikeshed-to-ts @@ -0,0 +1 @@ +Subproject commit bb9da02a8ce0e4ff74bda756c6a2cf459736aa40