From 0484ce037e68b17def86fa635b2ab977f02c7924 Mon Sep 17 00:00:00 2001 From: Einhornimmond Date: Sat, 3 May 2025 07:28:09 +0200 Subject: [PATCH] add bun:build to database --- database/bun.build.ts | 26 ++++++++++++++++++++++++++ database/package.json | 19 +++++++++++-------- 2 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 database/bun.build.ts diff --git a/database/bun.build.ts b/database/bun.build.ts new file mode 100644 index 000000000..20ba3d74d --- /dev/null +++ b/database/bun.build.ts @@ -0,0 +1,26 @@ +import fs from 'node:fs' +import { latestDbVersion } from './src/config/detectLastDBVersion' + +await Bun.build({ + entrypoints: ['entity/index.ts'], + bundle: true, + target: 'bun', + packages: 'external', + outdir: './build', + plugins: [ + { + // hardcode last db version string into index.ts, before parsing + name: 'replace-latest-db-version-import', + setup(build) { + build.onLoad({ filter: /index\.ts$/ }, async (args) => { + let source = await fs.promises.readFile(args.path, 'utf8') + source = source.replace( + /import\s*\{\s*latestDbVersion\s*\}\s*from\s*['"][^'"]+['"]/, + `const latestDbVersion = "${latestDbVersion}";`, + ) + return { contents: source, loader: 'ts' } + }) + }, + }, + ], +}) diff --git a/database/package.json b/database/package.json index 086ffe6ef..6979a3428 100644 --- a/database/package.json +++ b/database/package.json @@ -15,26 +15,29 @@ "license": "Apache-2.0", "private": false, "scripts": { - "build": "bun ./esbuild.config.ts", + "build": "tsx ./esbuild.config.ts", + "build:bun": "bun ./bun.build.ts", "typecheck": "tsc --noEmit", - "up": "cross-env TZ=UTC bun src/index.ts up", - "down": "cross-env TZ=UTC bun src/index.ts down", - "reset": "cross-env TZ=UTC bun src/index.ts reset", - "clear": "cross-env TZ=UTC bun src/index.ts clear", + "up": "cross-env TZ=UTC tsx src/index.ts up", + "down": "cross-env TZ=UTC tsx src/index.ts down", + "reset": "cross-env TZ=UTC tsx src/index.ts reset", + "clear": "cross-env TZ=UTC tsx src/index.ts clear", "lint": "biome check --error-on-warnings .", "lint:fix": "biome check --error-on-warnings . --write", - "up:backend_test": "cross-env TZ=UTC DB_DATABASE=gradido_test_backend bun src/index.ts up", - "up:federation_test": "cross-env TZ=UTC DB_DATABASE=gradido_test_federation bun src/index.ts up", - "up:dht_test": "cross-env TZ=UTC DB_DATABASE=gradido_test_dht bun src/index.ts up" + "up:backend_test": "cross-env TZ=UTC DB_DATABASE=gradido_test_backend tsx src/index.ts up", + "up:federation_test": "cross-env TZ=UTC DB_DATABASE=gradido_test_federation tsx src/index.ts up", + "up:dht_test": "cross-env TZ=UTC DB_DATABASE=gradido_test_dht tsx src/index.ts up" }, "devDependencies": { "@biomejs/biome": "1.9.4", + "@types/bun": "^1.2.11", "@types/faker": "^5.5.9", "@types/geojson": "^7946.0.13", "@types/node": "^17.0.21", "bun": "^1.2.11", "esbuild": "^0.25.2", "prettier": "^2.8.7", + "tsx": "^4.19.4", "typescript": "^4.9.5" }, "dependencies": {