diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml deleted file mode 100644 index 61a706718f..0000000000 --- a/.github/workflows/check.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Check - -on: [push, pull_request] - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: npm ci - - run: npm run build:check - - coverage: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: npm ci - - run: npm run coverage - timeout-minutes: 1 - env: - FORCE_COLOR: 3 - - code-style: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: npm ci - - run: npm run fmt:check - - types: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: npm ci - - run: npm run build - - run: npm run test:types - - circular: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - run: npm ci - - run: npm run test:circular diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 13821c7ac1..4b2150a267 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,10 +7,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Use Node.js 22.x uses: actions/setup-node@v4 with: node-version: 22.x + - run: npm ci - run: | npm run build @@ -23,6 +25,39 @@ jobs: package.json retention-days: 1 + checks: + needs: build + runs-on: ubuntu-latest + env: + FORCE_COLOR: 3 + steps: + - uses: actions/checkout@v4 + + - name: Use Node.js 22.x + uses: actions/setup-node@v4 + with: + node-version: 22.x + + - uses: actions/download-artifact@v4 + with: + name: build + - run: npm ci + + - name: Format + run: npm run fmt:check + + - name: License + run: npm run test:license + + - name: Size + run: npm run test:size + + - name: Dep audit + run: npm run test:audit + + - name: Circular + run: npm run test:circular + test: needs: build runs-on: ubuntu-latest @@ -33,18 +68,24 @@ jobs: node-version: [16.x, 20.x, 22.x] steps: - uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} + - uses: actions/download-artifact@v4 with: name: build - run: npm ci - - name: run all tests + + - name: Unit & types tests if: matrix.node-version == '20.x' - run: npm run test - - name: run unit tests + run: | + npm run test:coverage + npm run test:types + + - name: Unit tests if: matrix.node-version != '20.x' run: npm run test:unit timeout-minutes: 1 @@ -58,9 +99,11 @@ jobs: uses: actions/setup-node@v4 with: node-version: 16.x + - uses: actions/download-artifact@v4 with: name: build + - run: npm run test:smoke:win32 timeout-minutes: 1 env: diff --git a/package.json b/package.json index 13344579dc..615abad379 100644 --- a/package.json +++ b/package.json @@ -63,16 +63,17 @@ "fmt": "prettier --write .", "fmt:check": "prettier --check .", "build": "npm run build:js && npm run build:dts", - "build:check": "tsc", "build:js": "node scripts/build-js.mjs --format=cjs --hybrid --entry=src/*.ts && npm run build:vendor", "build:vendor": "node scripts/build-js.mjs --format=cjs --entry=src/vendor-*.ts --bundle=all", "build:dts": "tsc --project tsconfig.prod.json && node scripts/build-dts.mjs", "pretest": "npm run build", - "test": "npm run test:size && npm run test:unit && npm run test:types && npm run test:license", + "test": "npm run test:size && npm run fmt:check && npm run test:unit && npm run test:types && npm run test:license", "test:unit": "node ./test/all.test.js", + "test:coverage": "c8 -x build/deno.js -x build/vendor-extra.cjs -x build/vendor-core.cjs -x build/esblib.cjs -x 'test/**' -x scripts --check-coverage npm run test:unit", "test:circular": "madge --circular src/*", "test:types": "tsd", "test:license": "node ./test/extra.test.js", + "test:audit": "npm audit fix", "test:size": "size-limit", "test:smoke:tsx": "tsx test/smoke/ts.test.ts", "test:smoke:tsc": "cd test/smoke && mkdir -p node_modules && ln -s ../../../ ./node_modules/zx; tsc --esModuleInterop --module node16 --rootDir . --outdir ./temp ts.test.ts && node ./temp/ts.test.js", @@ -82,7 +83,6 @@ "test:smoke:cjs": "node ./test/smoke/node.test.cjs", "test:smoke:mjs": "node ./test/smoke/node.test.mjs", "test:smoke:deno": "deno test ./test/smoke/deno.test.js --allow-read --allow-sys --allow-env --allow-run", - "coverage": "c8 -x build/deno.js -x build/vendor-extra.cjs -x build/vendor-core.cjs -x build/esblib.cjs -x 'test/**' -x scripts --check-coverage npm test", "version": "cat package.json | fx .version" }, "optionalDependencies": { diff --git a/src/vendor-core.ts b/src/vendor-core.ts index 620a6770ac..5376b5e6c9 100644 --- a/src/vendor-core.ts +++ b/src/vendor-core.ts @@ -14,8 +14,8 @@ export { exec, buildCmd, type TSpawnStore } from 'zurk/spawn' -export type RequestInfo = Parameters[0] -export type RequestInit = Parameters[1] +export type RequestInfo = Parameters[0] +export type RequestInit = Parameters[1] export { default as chalk, type ChalkInstance } from 'chalk' export { default as which } from 'which'