fix(packages): link internal workspace dependencies

This commit is contained in:
Ma
2026-08-13 10:29:08 +08:00
parent 4e25bb6fb4
commit 1941101d82
6 changed files with 20 additions and 20 deletions
-6
View File
@@ -37,11 +37,5 @@
"engines": {
"node": ">=20.0.0",
"pnpm": ">=9.0.0"
},
"pnpm": {
"overrides": {
"@mariozechner/pi-ai": "0.67.1",
"@mariozechner/pi-agent-core": "0.67.1"
}
}
}
+2 -2
View File
@@ -49,8 +49,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@actalk/inkos-core": "1.7.2",
"@actalk/inkos-studio": "1.7.2",
"@actalk/inkos-core": "workspace:*",
"@actalk/inkos-studio": "workspace:*",
"commander": "^13.0.0",
"dotenv": "^16.4.0",
"epub-gen-memory": "^1.0.10",
+1 -1
View File
@@ -31,7 +31,7 @@
"typecheck": "tsc --noEmit && tsc -p tsconfig.server.json --noEmit"
},
"dependencies": {
"@actalk/inkos-core": "1.7.2",
"@actalk/inkos-core": "workspace:*",
"@base-ui/react": "^1.3.0",
"@fontsource-variable/geist": "^5.2.8",
"@hono/node-server": "^1.13.0",
+3 -3
View File
@@ -15,10 +15,10 @@ importers:
packages/cli:
dependencies:
'@actalk/inkos-core':
specifier: 1.7.2
specifier: workspace:*
version: link:../core
'@actalk/inkos-studio':
specifier: 1.7.2
specifier: workspace:*
version: link:../studio
commander:
specifier: ^13.0.0
@@ -110,7 +110,7 @@ importers:
packages/studio:
dependencies:
'@actalk/inkos-core':
specifier: 1.7.2
specifier: workspace:*
version: link:../core
'@base-ui/react':
specifier: ^1.3.0
+4
View File
@@ -1,2 +1,6 @@
packages:
- "packages/*"
overrides:
"@mariozechner/pi-ai": "0.67.1"
"@mariozechner/pi-agent-core": "0.67.1"
+10 -8
View File
@@ -1,13 +1,13 @@
/**
* Verify that source manifests are publishable as registry manifests.
* Verify that internal dependencies resolve to the current workspace version.
*
* Usage:
* node scripts/verify-no-workspace-protocol.mjs packages/cli packages/core
* node ../../scripts/verify-no-workspace-protocol.mjs .
*
* Checks two invariants before publish:
* 1. dependencies / optionalDependencies / peerDependencies contain no workspace: specifiers
* 2. internal workspace dependencies point at the current workspace version
* Source manifests may use workspace:* so local builds cannot silently resolve an
* older registry package. The prepack hook replaces it before prepublishOnly runs.
*/
import { access, readdir, readFile } from "node:fs/promises";
@@ -83,11 +83,13 @@ for (const dirArg of dirs) {
}
if (specifier.startsWith("workspace:")) {
process.stderr.write(
`FAIL: ${dir}${field}.${name}: ${specifier} (workspace protocol is not allowed in publish manifests)\n`,
);
dirFailed = true;
failed = true;
if (!workspaceVersion || !["workspace:*", "workspace:^", "workspace:~"].includes(specifier)) {
process.stderr.write(
`FAIL: ${dir}${field}.${name}: invalid workspace dependency ${specifier}\n`,
);
dirFailed = true;
failed = true;
}
continue;
}