Buckets:
| import { Script } from "@opencode-ai/script" | |
| import { $ } from "bun" | |
| 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 originalText = await Bun.file("package.json").text() | |
| const pkg = JSON.parse(originalText) as { | |
| name: string | |
| version: string | |
| exports: Record<string, string> | |
| } | |
| if (await published(pkg.name, pkg.version)) { | |
| console.log(`already published ${pkg.name}@${pkg.version}`) | |
| } else { | |
| for (const [key, value] of Object.entries(pkg.exports)) { | |
| const file = value.replace("./src/", "./dist/").replace(".ts", "") | |
| // @ts-ignore | |
| pkg.exports[key] = { | |
| import: file + ".js", | |
| types: file + ".d.ts", | |
| } | |
| } | |
| await Bun.write("package.json", JSON.stringify(pkg, null, 2)) | |
| try { | |
| await $`bun pm pack` | |
| await $`npm publish *.tgz --tag ${Script.channel} --access public` | |
| } finally { | |
| await Bun.write("package.json", originalText) | |
| } | |
| } | |
Xet Storage Details
- Size:
- 1.13 kB
- Xet hash:
- 7b69d00122f20e998dfccf5f90d84c076bbb62ff3c75e90d4d1be1cba7f27336
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.