mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-11-05 23:37:25 +00:00
* feat: unify package artifact validation * fix: restrict local artifact output paths * fix: clarify package artifact module names * feat: support pnpm package artifact consumers * fix: preserve local release package installs Keep npm and Bun consumer installs as runnable release artifacts while retaining isolated validation for other packages. Simplify smoke fixtures and avoid redundant release work.
22 lines
1.1 KiB
JavaScript
22 lines
1.1 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
import { mkdtempSync, rmSync } from "node:fs";
|
|
import { tmpdir } from "node:os";
|
|
import { join } from "node:path";
|
|
import { installConsumer, packageConsumerDirectoryName, smokeTestNpmConsumer } from "./local-package-install.mjs";
|
|
import { produceArtifactSet } from "./package-artifacts.mjs";
|
|
import { codingAgentName, smokeTestCodingAgent } from "./coding-agent-smoke.mjs";
|
|
|
|
const root = mkdtempSync(join(tmpdir(), "pi-package-install-"));
|
|
try {
|
|
const artifactSet = produceArtifactSet({ build: false, outDir: join(root, "artifacts"), repoRoot: process.cwd() });
|
|
for (const pkg of artifactSet.packages) {
|
|
const directory = join(root, "consumers", packageConsumerDirectoryName(pkg.name));
|
|
installConsumer({ artifactSet, directory, packageNames: [pkg.name] });
|
|
smokeTestNpmConsumer({ artifactSet, directory, packageName: pkg.name });
|
|
if (pkg.name === codingAgentName) smokeTestCodingAgent(directory);
|
|
}
|
|
console.log(`Verified ${artifactSet.packages.length} isolated package consumers.`);
|
|
} finally {
|
|
rmSync(root, { force: true, recursive: true });
|
|
}
|