Openstatus
www.openstatus.dev
1import path from "node:path";
2
3// Create package.json that contains @libsql/client as dependency. It will be used to create node_modules and copy them alongside compiled server https://github.com/oven-sh/bun/issues/18909
4type PackageJson = Record<"name" | "description" | "version", string> &
5 Record<"dependencies", Record<string, string>>;
6const packageJson: PackageJson = await Bun.file(
7 path.join(__dirname, "../../../packages/db", "package.json"),
8).json();
9
10const extractDependenciesNames = ["@libsql/client"];
11const extractedDependencies = extractDependenciesNames.reduce(
12 (acc, cur) => {
13 if (packageJson.dependencies[cur]) {
14 acc[cur] = packageJson.dependencies[cur];
15 }
16
17 return acc;
18 },
19 {} as Record<string, string>,
20);
21
22const packageJsonBuild = {
23 name: packageJson.name,
24 description: packageJson.description,
25 version: packageJson.version,
26 // type: "module",
27 dependencies: extractedDependencies,
28};
29
30await Bun.write(
31 "../build-docker/package.json",
32 JSON.stringify(packageJsonBuild, null, 2),
33);