From 768f39143342f8567e40481faa536a2176feab7e Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Wed, 29 Apr 2026 15:53:36 -0400 Subject: [PATCH 1/8] ci: simplify test scripts and separate coverage from test runs --- .github/workflows/ci-build.yml | 16 +-- package-lock.json | 180 ++++++++++++++++++++++++++++++ package.json | 2 + packages/cli-hooks/package.json | 5 +- packages/cli-test/package.json | 5 +- packages/logger/package.json | 5 +- packages/oauth/package.json | 5 +- packages/socket-mode/package.json | 4 +- packages/web-api/AGENTS.md | 2 +- packages/web-api/package.json | 5 +- packages/webhook/package.json | 5 +- 11 files changed, 206 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 342a54a53..275aed6bf 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -6,6 +6,9 @@ on: - main pull_request: +env: + LATEST_SUPPORTED_NODE: "24.x" + jobs: test: timeout-minutes: 6 @@ -64,15 +67,14 @@ jobs: run: npm run lint - name: Build docs run: npm run docs - - name: Run tests (Node 18/20) - if: matrix.node-version != '22.x' && matrix.node-version != '24.x' - # Node 18 lacks --test-reporter; Node 20 has coverage bugs. Use simpler script. - run: npm run test:node18 --workspaces --if-present - - name: Run tests (Node 22+) - if: matrix.node-version == '22.x' || matrix.node-version == '24.x' + - name: Run tests + if: matrix.node-version != env.LATEST_SUPPORTED_NODE run: npm test + - name: Run test coverage + if: matrix.node-version == env.LATEST_SUPPORTED_NODE + run: npm run test:coverage - name: Upload code coverage - if: matrix.node-version == '24.x' && matrix.os == 'ubuntu-latest' + if: matrix.node-version == env.LATEST_SUPPORTED_NODE && matrix.os == 'ubuntu-latest' uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0 with: fail_ci_if_error: true diff --git a/package-lock.json b/package-lock.json index 2b1c446c5..7d77791cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "@biomejs/biome": "^2.0.5", "@changesets/cli": "^2.29.8", "@types/node": "^18.19.130", + "glob-bin": "^1.1.0", "shx": "^0.4.0", "tsx": "^4.20.6", "typedoc": "^0.28.7", @@ -974,6 +975,16 @@ } } }, + "node_modules/@isaacs/cliui": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz", + "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -2913,6 +2924,35 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/foreground-child": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-4.0.3.tgz", + "integrity": "sha512-yeXZaNbCBGaT9giTpLPBdtedzjwhlJBUoL/R4BVQU5mn0TQXOHwVIl1Q2DMuBIdNno4ktA1abZ7dQFVxD6uHxw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/form-data": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", @@ -3031,6 +3071,47 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-bin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/glob-bin/-/glob-bin-1.1.0.tgz", + "integrity": "sha512-X1BszJm9jFuhGK4yEJlt/tylPEU8+hQdC8glTGCbaU5cON+HB4+UdtOhV3zUUKFP3b9E+mmSb+O1DaG2O/1JAQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "foreground-child": "^4.0.0", + "glob": "^13.0.0", + "jackspeak": "^4.2.1", + "package-json-from-dist": "^1.0.1" + }, + "bin": { + "glob": "dist/esm/bin-min.mjs", + "glob-bin": "dist/esm/bin-min.mjs" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -3044,6 +3125,45 @@ "node": ">= 6" } }, + "node_modules/glob/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -3515,6 +3635,22 @@ "dev": true, "license": "ISC" }, + "node_modules/jackspeak": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz", + "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^9.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/jest-diff": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", @@ -4016,6 +4152,16 @@ "node": ">= 6" } }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/module-not-found-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", @@ -4411,6 +4557,13 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/package-manager-detector": { "version": "0.2.11", "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.11.tgz", @@ -4498,6 +4651,33 @@ "dev": true, "license": "MIT" }, + "node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", diff --git a/package.json b/package.json index 7a62f1211..fc579b679 100644 --- a/package.json +++ b/package.json @@ -24,12 +24,14 @@ "lint": "npx @biomejs/biome check packages", "lint:fix": "npx @biomejs/biome check --write packages", "test": "npm test --workspaces --if-present", + "test:coverage": "npm run test:coverage --workspaces --if-present", "version": "npm run changeset version && npm install && npm run docs" }, "devDependencies": { "@biomejs/biome": "^2.0.5", "@changesets/cli": "^2.29.8", "@types/node": "^18.19.130", + "glob-bin": "^1.1.0", "shx": "^0.4.0", "tsx": "^4.20.6", "typedoc": "^0.28.7", diff --git a/packages/cli-hooks/package.json b/packages/cli-hooks/package.json index 77cdfb43b..194988510 100644 --- a/packages/cli-hooks/package.json +++ b/packages/cli-hooks/package.json @@ -37,9 +37,8 @@ "scripts": { "build": "shx chmod +x src/*.js", "prelint": "tsc --noemit --module es2022 --maxNodeModuleJsDepth 0 --project ./jsconfig.json", - "test": "npm run test:unit", - "test:node18": "bash -c 'node --test --test-reporter=spec src/*.test.js'", - "test:unit": "node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --test src/*.test.js" + "test": "node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --test src/*.test.js", + "test:coverage": "node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --test src/*.test.js" }, "bin": { "slack-cli-check-update": "src/check-update.js", diff --git a/packages/cli-test/package.json b/packages/cli-test/package.json index f580c4a3f..6d6722582 100644 --- a/packages/cli-test/package.json +++ b/packages/cli-test/package.json @@ -32,9 +32,8 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run test:unit", - "test:node18": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter bash -O globstar -c 'node --test --test-reporter=spec --import tsx src/**/*.test.ts'", - "test:unit": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts" + "test": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter glob -c \"node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test\" \"src/**/*.test.ts\"", + "test:coverage": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts" }, "dependencies": { "tree-kill": "^1.2.2", diff --git a/packages/logger/package.json b/packages/logger/package.json index d23e85875..de692522b 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -33,9 +33,8 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run test:unit", - "test:node18": "npm run build && node --test --test-reporter=spec --import tsx --test src/index.test.ts", - "test:unit": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/index.test.ts" + "test": "npm run build && node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/index.test.ts", + "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/index.test.ts" }, "dependencies": { "@types/node": ">=18" diff --git a/packages/oauth/package.json b/packages/oauth/package.json index a19d0a90a..d67cfd532 100644 --- a/packages/oauth/package.json +++ b/packages/oauth/package.json @@ -35,9 +35,8 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run test:unit", - "test:node18": "npm run build && bash -O globstar -c 'node --test --test-reporter=spec --import tsx src/**/*.test.ts'", - "test:unit": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts", + "test": "npm run build && glob -c \"node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test\" \"src/**/*.test.ts\"", + "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts", "watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm run build" }, "dependencies": { diff --git a/packages/socket-mode/package.json b/packages/socket-mode/package.json index 9f3f7b300..e5d96ff1b 100644 --- a/packages/socket-mode/package.json +++ b/packages/socket-mode/package.json @@ -44,9 +44,9 @@ "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", "test": "npm run test:unit && npm run test:integration", - "test:node18": "npm run build && bash -c 'node --test --test-reporter=spec --import tsx src/*.test.ts' && npm run test:integration", + "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts", "test:integration": "npm run build && node --import tsx --test test/integration.test.js", - "test:unit": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts", + "test:unit": "npm run build && node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts", "watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm test" }, "dependencies": { diff --git a/packages/web-api/AGENTS.md b/packages/web-api/AGENTS.md index d384a62aa..e40330374 100644 --- a/packages/web-api/AGENTS.md +++ b/packages/web-api/AGENTS.md @@ -225,7 +225,7 @@ expectAssignable>([ ```bash npm test --workspace=packages/web-api # all tests -npm run test:unit --workspace=packages/web-api # unit only +npm test --workspace=packages/web-api # unit only npm run test:types --workspace=packages/web-api # tsd only ``` diff --git a/packages/web-api/package.json b/packages/web-api/package.json index a616329b9..f445f51b7 100644 --- a/packages/web-api/package.json +++ b/packages/web-api/package.json @@ -40,12 +40,11 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run test:unit", - "test:node18": "npm run build && bash -c 'node --test --test-reporter=spec --import tsx src/*.test.ts'", + "test": "npm run build && node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts", + "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts", "test:integration": "npm run build && node test/integration/commonjs-project/index.js && node test/integration/esm-project/index.mjs && npm run test:integration:ts", "test:integration:ts": "cd test/integration/ts-4.7-project && npm i && npm run build", "test:types": "tsd", - "test:unit": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts", "watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm run build" }, "dependencies": { diff --git a/packages/webhook/package.json b/packages/webhook/package.json index 4a294b015..709cf3138 100644 --- a/packages/webhook/package.json +++ b/packages/webhook/package.json @@ -37,9 +37,8 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run test:unit", - "test:node18": "npm run build && node --test --test-reporter=spec --import tsx --test src/IncomingWebhook.test.ts", - "test:unit": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/IncomingWebhook.test.ts" + "test": "npm run build && node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/IncomingWebhook.test.ts", + "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/IncomingWebhook.test.ts" }, "dependencies": { "@slack/types": "^2.20.1", From 7c42d88700fa4cbb2384f87738d0c3a5fc76397f Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Wed, 29 Apr 2026 16:33:46 -0400 Subject: [PATCH 2/8] Create simple-tests-shine.md --- .changeset/simple-tests-shine.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .changeset/simple-tests-shine.md diff --git a/.changeset/simple-tests-shine.md b/.changeset/simple-tests-shine.md new file mode 100644 index 000000000..cfbc666e1 --- /dev/null +++ b/.changeset/simple-tests-shine.md @@ -0,0 +1,4 @@ +--- +--- + +ci: simplify test scripts and separate coverage from test runs From 01c5512f5b40d8db9f905dee0dfdfb67f90867e2 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Wed, 29 Apr 2026 16:51:27 -0400 Subject: [PATCH 3/8] why did you want to use glob from the begining --- package-lock.json | 180 --------------------------------- package.json | 2 +- packages/cli-test/package.json | 2 +- packages/oauth/package.json | 2 +- 4 files changed, 3 insertions(+), 183 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7d77791cb..2b1c446c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,6 @@ "@biomejs/biome": "^2.0.5", "@changesets/cli": "^2.29.8", "@types/node": "^18.19.130", - "glob-bin": "^1.1.0", "shx": "^0.4.0", "tsx": "^4.20.6", "typedoc": "^0.28.7", @@ -975,16 +974,6 @@ } } }, - "node_modules/@isaacs/cliui": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz", - "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -2924,35 +2913,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/foreground-child": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-4.0.3.tgz", - "integrity": "sha512-yeXZaNbCBGaT9giTpLPBdtedzjwhlJBUoL/R4BVQU5mn0TQXOHwVIl1Q2DMuBIdNno4ktA1abZ7dQFVxD6uHxw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/form-data": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", @@ -3071,47 +3031,6 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/glob": { - "version": "13.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", - "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "minimatch": "^10.2.2", - "minipass": "^7.1.3", - "path-scurry": "^2.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-bin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/glob-bin/-/glob-bin-1.1.0.tgz", - "integrity": "sha512-X1BszJm9jFuhGK4yEJlt/tylPEU8+hQdC8glTGCbaU5cON+HB4+UdtOhV3zUUKFP3b9E+mmSb+O1DaG2O/1JAQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "foreground-child": "^4.0.0", - "glob": "^13.0.0", - "jackspeak": "^4.2.1", - "package-json-from-dist": "^1.0.1" - }, - "bin": { - "glob": "dist/esm/bin-min.mjs", - "glob-bin": "dist/esm/bin-min.mjs" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -3125,45 +3044,6 @@ "node": ">= 6" } }, - "node_modules/glob/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -3635,22 +3515,6 @@ "dev": true, "license": "ISC" }, - "node_modules/jackspeak": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz", - "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^9.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/jest-diff": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", @@ -4152,16 +4016,6 @@ "node": ">= 6" } }, - "node_modules/minipass": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/module-not-found-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", @@ -4557,13 +4411,6 @@ "node": ">=6" } }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, "node_modules/package-manager-detector": { "version": "0.2.11", "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.11.tgz", @@ -4651,33 +4498,6 @@ "dev": true, "license": "MIT" }, - "node_modules/path-scurry": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", - "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", - "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", diff --git a/package.json b/package.json index fc579b679..2949202ae 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@biomejs/biome": "^2.0.5", "@changesets/cli": "^2.29.8", "@types/node": "^18.19.130", - "glob-bin": "^1.1.0", + "shx": "^0.4.0", "tsx": "^4.20.6", "typedoc": "^0.28.7", diff --git a/packages/cli-test/package.json b/packages/cli-test/package.json index 6d6722582..ca8366eab 100644 --- a/packages/cli-test/package.json +++ b/packages/cli-test/package.json @@ -32,7 +32,7 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter glob -c \"node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test\" \"src/**/*.test.ts\"", + "test": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts", "test:coverage": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts" }, "dependencies": { diff --git a/packages/oauth/package.json b/packages/oauth/package.json index d67cfd532..f0a5ab0e3 100644 --- a/packages/oauth/package.json +++ b/packages/oauth/package.json @@ -35,7 +35,7 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run build && glob -c \"node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test\" \"src/**/*.test.ts\"", + "test": "npm run build && node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts", "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts", "watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm run build" }, From 8ad082ca8ae9135a423f187cc5ae558f76734278 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Wed, 29 Apr 2026 17:15:52 -0400 Subject: [PATCH 4/8] test out a fix --- packages/cli-test/package.json | 4 ++-- packages/oauth/package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/cli-test/package.json b/packages/cli-test/package.json index ca8366eab..a15d82feb 100644 --- a/packages/cli-test/package.json +++ b/packages/cli-test/package.json @@ -32,8 +32,8 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts", - "test:coverage": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts" + "test": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/index.test.ts src/cli/index.test.ts src/cli/shell.test.ts src/cli/cli-process.test.ts src/cli/commands/app.test.ts src/cli/commands/auth.test.ts src/cli/commands/collaborator.test.ts src/cli/commands/datastore.test.ts src/cli/commands/env.test.ts src/cli/commands/external-auth.test.ts src/cli/commands/function.test.ts src/cli/commands/manifest.test.ts src/cli/commands/platform.test.ts src/cli/commands/project.test.ts src/cli/commands/trigger.test.ts src/cli/commands/version.test.ts", + "test:coverage": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/index.test.ts src/cli/index.test.ts src/cli/shell.test.ts src/cli/cli-process.test.ts src/cli/commands/app.test.ts src/cli/commands/auth.test.ts src/cli/commands/collaborator.test.ts src/cli/commands/datastore.test.ts src/cli/commands/env.test.ts src/cli/commands/external-auth.test.ts src/cli/commands/function.test.ts src/cli/commands/manifest.test.ts src/cli/commands/platform.test.ts src/cli/commands/project.test.ts src/cli/commands/trigger.test.ts src/cli/commands/version.test.ts" }, "dependencies": { "tree-kill": "^1.2.2", diff --git a/packages/oauth/package.json b/packages/oauth/package.json index f0a5ab0e3..e4403d988 100644 --- a/packages/oauth/package.json +++ b/packages/oauth/package.json @@ -35,8 +35,8 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run build && node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts", - "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts", + "test": "npm run build && node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/callback-options.test.ts src/default-render-html-for-install-path.test.ts src/install-path-options.test.ts src/install-provider.test.ts src/install-provider-options.test.ts src/install-url-options.test.ts src/installation.test.ts src/installation-query.test.ts src/logger.test.ts src/installation-stores/file-store.test.ts src/installation-stores/memory-store.test.ts src/state-stores/clear-state-store.test.ts src/state-stores/file-state-store.test.ts", + "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/callback-options.test.ts src/default-render-html-for-install-path.test.ts src/install-path-options.test.ts src/install-provider.test.ts src/install-provider-options.test.ts src/install-url-options.test.ts src/installation.test.ts src/installation-query.test.ts src/logger.test.ts src/installation-stores/file-store.test.ts src/installation-stores/memory-store.test.ts src/state-stores/clear-state-store.test.ts src/state-stores/file-state-store.test.ts", "watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm run build" }, "dependencies": { From f2ed2a03db16e71b5dce1494c96475f0f9b997fd Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Wed, 29 Apr 2026 17:34:00 -0400 Subject: [PATCH 5/8] clean things up --- packages/cli-test/package.json | 4 ++-- packages/oauth/package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/cli-test/package.json b/packages/cli-test/package.json index a15d82feb..918898f79 100644 --- a/packages/cli-test/package.json +++ b/packages/cli-test/package.json @@ -32,8 +32,8 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/index.test.ts src/cli/index.test.ts src/cli/shell.test.ts src/cli/cli-process.test.ts src/cli/commands/app.test.ts src/cli/commands/auth.test.ts src/cli/commands/collaborator.test.ts src/cli/commands/datastore.test.ts src/cli/commands/env.test.ts src/cli/commands/external-auth.test.ts src/cli/commands/function.test.ts src/cli/commands/manifest.test.ts src/cli/commands/platform.test.ts src/cli/commands/project.test.ts src/cli/commands/trigger.test.ts src/cli/commands/version.test.ts", - "test:coverage": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/index.test.ts src/cli/index.test.ts src/cli/shell.test.ts src/cli/cli-process.test.ts src/cli/commands/app.test.ts src/cli/commands/auth.test.ts src/cli/commands/collaborator.test.ts src/cli/commands/datastore.test.ts src/cli/commands/env.test.ts src/cli/commands/external-auth.test.ts src/cli/commands/function.test.ts src/cli/commands/manifest.test.ts src/cli/commands/platform.test.ts src/cli/commands/project.test.ts src/cli/commands/trigger.test.ts src/cli/commands/version.test.ts" + "test": "npm run build && bash -c 'cross-env SLACK_CLI_PATH=/doesnt/matter node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts'", + "test:coverage": "npm run build && cross-env SLACK_CLI_PATH=/doesnt/matter node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts" }, "dependencies": { "tree-kill": "^1.2.2", diff --git a/packages/oauth/package.json b/packages/oauth/package.json index e4403d988..b03ee1414 100644 --- a/packages/oauth/package.json +++ b/packages/oauth/package.json @@ -35,8 +35,8 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run build && node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/callback-options.test.ts src/default-render-html-for-install-path.test.ts src/install-path-options.test.ts src/install-provider.test.ts src/install-provider-options.test.ts src/install-url-options.test.ts src/installation.test.ts src/installation-query.test.ts src/logger.test.ts src/installation-stores/file-store.test.ts src/installation-stores/memory-store.test.ts src/state-stores/clear-state-store.test.ts src/state-stores/file-state-store.test.ts", - "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/callback-options.test.ts src/default-render-html-for-install-path.test.ts src/install-path-options.test.ts src/install-provider.test.ts src/install-provider-options.test.ts src/install-url-options.test.ts src/installation.test.ts src/installation-query.test.ts src/logger.test.ts src/installation-stores/file-store.test.ts src/installation-stores/memory-store.test.ts src/state-stores/clear-state-store.test.ts src/state-stores/file-state-store.test.ts", + "test": "npm run build && bash -c 'node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts'", + "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/**/*.test.ts", "watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm run build" }, "dependencies": { From ef719c3f152a64be4b0edb32e58efd0eb4ba31ce Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Wed, 29 Apr 2026 17:38:46 -0400 Subject: [PATCH 6/8] make things work on windows --- packages/socket-mode/package.json | 2 +- packages/web-api/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/socket-mode/package.json b/packages/socket-mode/package.json index e5d96ff1b..dd2ce97e2 100644 --- a/packages/socket-mode/package.json +++ b/packages/socket-mode/package.json @@ -46,7 +46,7 @@ "test": "npm run test:unit && npm run test:integration", "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts", "test:integration": "npm run build && node --import tsx --test test/integration.test.js", - "test:unit": "npm run build && node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts", + "test:unit": "npm run build && bash -c 'node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts'", "watch": "npx nodemon --watch 'src' --ext 'ts' --exec npm test" }, "dependencies": { diff --git a/packages/web-api/package.json b/packages/web-api/package.json index f445f51b7..22a38cddc 100644 --- a/packages/web-api/package.json +++ b/packages/web-api/package.json @@ -40,7 +40,7 @@ "build:clean": "shx rm -rf ./dist", "docs": "npx typedoc --plugin typedoc-plugin-markdown", "prepack": "npm run build", - "test": "npm run build && node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts", + "test": "npm run build && bash -c 'node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts'", "test:coverage": "npm run build && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --import tsx --test src/*.test.ts", "test:integration": "npm run build && node test/integration/commonjs-project/index.js && node test/integration/esm-project/index.mjs && npm run test:integration:ts", "test:integration:ts": "cd test/integration/ts-4.7-project && npm i && npm run build", From 279cda0b41d0e2c7e0e68c99a3071d8a3d2a2b63 Mon Sep 17 00:00:00 2001 From: William Bergamin Date: Wed, 29 Apr 2026 17:43:00 -0400 Subject: [PATCH 7/8] make it pass --- packages/cli-hooks/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli-hooks/package.json b/packages/cli-hooks/package.json index 194988510..de198fe84 100644 --- a/packages/cli-hooks/package.json +++ b/packages/cli-hooks/package.json @@ -37,7 +37,7 @@ "scripts": { "build": "shx chmod +x src/*.js", "prelint": "tsc --noemit --module es2022 --maxNodeModuleJsDepth 0 --project ./jsconfig.json", - "test": "node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --test src/*.test.js", + "test": "bash -c 'node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml --test src/*.test.js'", "test:coverage": "node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=lcov.info --test-reporter=junit --test-reporter-destination=test-results.xml --test src/*.test.js" }, "bin": { From af3165f0379896fb44f33746551ff65583ec56be Mon Sep 17 00:00:00 2001 From: Eden Zimbelman Date: Wed, 29 Apr 2026 15:21:30 -0700 Subject: [PATCH 8/8] style: remove blank line from package json file --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 2949202ae..73aab5b7d 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "@biomejs/biome": "^2.0.5", "@changesets/cli": "^2.29.8", "@types/node": "^18.19.130", - "shx": "^0.4.0", "tsx": "^4.20.6", "typedoc": "^0.28.7",