diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 85a4e94..352a090 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,11 +39,6 @@ jobs: - run: bun install --frozen-lockfile - # No unpublished @workbench/* scope may leak in — it does not exist on - # npm, so a leak makes the package uninstallable outside the monorepo. - - name: check-deps - run: bun run scripts/check-deps.ts - # typecheck builds first: examples import @corbits/artifacts through the # published dist types, same path a consumer resolves. - name: typecheck diff --git a/CHANGELOG.md b/CHANGELOG.md index c9c0152..09f1fd9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -89,6 +89,8 @@ always called out under their own heading. ### Changed +- The `scripts/check-deps.ts` pretest is removed; typecheck and tests already + fail on an unresolvable `@workbench/*` import. - Minimum `@intx/*` is now **0.3.0**. (`@intx/*` lines before 0.3.0 do not install — older lines pin the unpublished `@intx/*@0.0.0` or ship raw TypeScript.) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 14563bd..f5ceb62 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -35,8 +35,7 @@ reference host is where that change has to be shown working. ## Dependency rule No `@workbench/*` imports anywhere — it is an unpublished scope, and importing it would -make this package uninstallable outside the project that defines it. Checked by -`scripts/check-deps.ts`, which runs as `pretest` and again in CI. +make this package uninstallable outside the project that defines it. ## Tests diff --git a/README.md b/README.md index d35fa6b..da38e1d 100644 --- a/README.md +++ b/README.md @@ -141,7 +141,7 @@ docker run -d --name corbits-artifact-pg -p 5457:5432 \ export ALLOW_DESTRUCTIVE_ARTIFACT_TESTS=1 bun run typecheck -bun run test # pretest dependency check, then unit + integration +bun run test # unit + integration bun run build # dist/ (JS + .d.ts) bun run test:acceptance # builds, then examples/reference-host ``` diff --git a/package.json b/package.json index 500e884..9229c43 100644 --- a/package.json +++ b/package.json @@ -55,9 +55,8 @@ "typecheck": "tsc --noEmit", "build": "rm -rf dist && tsc -p tsconfig.build.json", "prepack": "bun run build", - "pretest": "bun run scripts/check-deps.ts", - "test": "bun run pretest && bun test src", - "test:coverage": "bun run pretest && bun test --coverage src", + "test": "bun test src", + "test:coverage": "bun test --coverage src", "test:package": "bun run test", "test:acceptance": "bun run build && bun test --cwd examples/reference-host" }, diff --git a/scripts/check-deps.ts b/scripts/check-deps.ts deleted file mode 100644 index 869fd16..0000000 --- a/scripts/check-deps.ts +++ /dev/null @@ -1,19 +0,0 @@ -// The one dependency rule left: nothing here may import the unpublished -// @workbench/* scope — it does not exist on npm, so a leak makes the package -// uninstallable for everyone outside this repository. -import { execSync } from "node:child_process"; - -try { - const hits = execSync( - `grep -rn '@workbench/' src examples --include='*.ts' || true`, - { cwd: new URL("..", import.meta.url).pathname, encoding: "utf8" }, - ).trim(); - if (hits) { - console.error(`check-deps: unpublished @workbench/* import found:\n${hits}`); - process.exit(1); - } -} catch (error) { - console.error(error); - process.exit(1); -} -console.log("check-deps: clean — no @workbench/* imports."); diff --git a/tsconfig.json b/tsconfig.json index ff999de..c1d60ec 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,5 +10,5 @@ "noEmit": true, "types": ["node", "@types/bun"] }, - "include": ["src", "scripts"] + "include": ["src"] }