diff options
Diffstat (limited to 'packages/plugin')
| -rwxr-xr-x | packages/plugin/script/publish.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/packages/plugin/script/publish.ts b/packages/plugin/script/publish.ts index d2fe49f23..de129918c 100755 --- a/packages/plugin/script/publish.ts +++ b/packages/plugin/script/publish.ts @@ -6,9 +6,19 @@ import { fileURLToPath } from "url" const dir = fileURLToPath(new URL("..", import.meta.url)) process.chdir(dir) +async function published(name: string, version: string) { + return (await $`npm view ${name}@${version} version`.nothrow()).exitCode === 0 +} + await $`bun tsc` -const pkg = await import("../package.json").then((m) => m.default) +const pkg = await import("../package.json").then( + (m) => m.default as { name: string; version: string; exports: Record<string, string> }, +) const original = JSON.parse(JSON.stringify(pkg)) +if (await published(pkg.name, pkg.version)) { + console.log(`already published ${pkg.name}@${pkg.version}`) + process.exit(0) +} for (const [key, value] of Object.entries(pkg.exports)) { const file = value.replace("./src/", "./dist/").replace(".ts", "") // @ts-ignore |
