mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-03-30 05:43:55 +00:00
feat: add Node.js entry point and build script (#18324)
This commit is contained in:
parent
6fcc970def
commit
92cd908fb5
54
packages/opencode/script/build-node.ts
Normal file
54
packages/opencode/script/build-node.ts
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env bun
|
||||||
|
|
||||||
|
import fs from "fs"
|
||||||
|
import path from "path"
|
||||||
|
import { fileURLToPath } from "url"
|
||||||
|
|
||||||
|
const __filename = fileURLToPath(import.meta.url)
|
||||||
|
const __dirname = path.dirname(__filename)
|
||||||
|
const dir = path.resolve(__dirname, "..")
|
||||||
|
|
||||||
|
process.chdir(dir)
|
||||||
|
|
||||||
|
// Load migrations from migration directories
|
||||||
|
const migrationDirs = (
|
||||||
|
await fs.promises.readdir(path.join(dir, "migration"), {
|
||||||
|
withFileTypes: true,
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.filter((entry) => entry.isDirectory() && /^\d{4}\d{2}\d{2}\d{2}\d{2}\d{2}/.test(entry.name))
|
||||||
|
.map((entry) => entry.name)
|
||||||
|
.sort()
|
||||||
|
|
||||||
|
const migrations = await Promise.all(
|
||||||
|
migrationDirs.map(async (name) => {
|
||||||
|
const file = path.join(dir, "migration", name, "migration.sql")
|
||||||
|
const sql = await Bun.file(file).text()
|
||||||
|
const match = /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/.exec(name)
|
||||||
|
const timestamp = match
|
||||||
|
? Date.UTC(
|
||||||
|
Number(match[1]),
|
||||||
|
Number(match[2]) - 1,
|
||||||
|
Number(match[3]),
|
||||||
|
Number(match[4]),
|
||||||
|
Number(match[5]),
|
||||||
|
Number(match[6]),
|
||||||
|
)
|
||||||
|
: 0
|
||||||
|
return { sql, timestamp, name }
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
console.log(`Loaded ${migrations.length} migrations`)
|
||||||
|
|
||||||
|
await Bun.build({
|
||||||
|
target: "node",
|
||||||
|
entrypoints: ["./src/node.ts"],
|
||||||
|
outdir: "./dist",
|
||||||
|
format: "esm",
|
||||||
|
external: ["jsonc-parser"],
|
||||||
|
define: {
|
||||||
|
OPENCODE_MIGRATIONS: JSON.stringify(migrations),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
console.log("Build complete")
|
||||||
1
packages/opencode/src/node.ts
Normal file
1
packages/opencode/src/node.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export { Server } from "./server/server"
|
||||||
Loading…
x
Reference in New Issue
Block a user