diff --git a/app/build.cli.ts b/app/build.cli.ts new file mode 100644 index 0000000..e874813 --- /dev/null +++ b/app/build.cli.ts @@ -0,0 +1,23 @@ +import pkg from "./package.json" with { type: "json" }; +import c from "picocolors"; +import { formatNumber } from "core/utils"; + +const result = await Bun.build({ + entrypoints: ["./src/cli/index.ts"], + target: "node", + outdir: "./dist/cli", + env: "PUBLIC_*", + minify: true, + define: { + __isDev: "0", + __version: JSON.stringify(pkg.version), + }, +}); + +for (const output of result.outputs) { + const size_ = await output.text(); + console.info( + c.cyan(formatNumber.fileSize(size_.length)), + c.dim(output.path.replace(import.meta.dir + "/", "")), + ); +} diff --git a/app/build.ts b/app/build.ts index 58827d2..698778b 100644 --- a/app/build.ts +++ b/app/build.ts @@ -9,6 +9,11 @@ const types = args.includes("--types"); const sourcemap = args.includes("--sourcemap"); const clean = args.includes("--clean"); +const define = { + __isDev: "0", + __version: JSON.stringify(pkg.version), +}; + if (clean) { console.info("Cleaning dist (w/o static)"); await $`find dist -mindepth 1 ! -path "dist/static/*" ! -path "dist/static" -exec rm -rf {} +`; @@ -66,9 +71,7 @@ async function buildApi() { minify, sourcemap, watch, - define: { - __version: JSON.stringify(pkg.version), - }, + define, entry: [ "src/index.ts", "src/core/index.ts", @@ -105,6 +108,7 @@ async function buildUi() { minify, sourcemap, watch, + define, external: [ ...external, "react", @@ -164,6 +168,7 @@ async function buildUiElements() { minify, sourcemap, watch, + define, entry: ["src/ui/elements/index.ts"], outDir: "dist/ui/elements", external: [ @@ -215,7 +220,7 @@ function baseConfig(adapter: string, overrides: Partial = {}): tsu }, ...overrides, define: { - __isDev: "0", + ...define, ...overrides.define, }, external: [ diff --git a/app/package.json b/app/package.json index 9da605e..350340f 100644 --- a/app/package.json +++ b/app/package.json @@ -3,7 +3,7 @@ "type": "module", "sideEffects": false, "bin": "./dist/cli/index.js", - "version": "0.13.0-rc.0", + "version": "0.13.0", "description": "Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.", "homepage": "https://bknd.io", "repository": { @@ -18,7 +18,7 @@ "build": "NODE_ENV=production bun run build.ts --minify --types", "build:all": "rm -rf dist && bun run build:static && NODE_ENV=production bun run build.ts --minify --types --clean && bun run build:cli", "build:ci": "mkdir -p dist/static/.vite && echo '{}' > dist/static/.vite/manifest.json && NODE_ENV=production bun run build.ts", - "build:cli": "bun build src/cli/index.ts --target node --outdir dist/cli --env PUBLIC_* --minify", + "build:cli": "bun run build.cli.ts", "build:static": "vite build", "watch": "bun run build.ts --types --watch", "types": "bun tsc -p tsconfig.build.json --noEmit", diff --git a/app/src/data/entities/query/JoinBuilder.ts b/app/src/data/entities/query/JoinBuilder.ts index 6bd6ec6..0aa1ca7 100644 --- a/app/src/data/entities/query/JoinBuilder.ts +++ b/app/src/data/entities/query/JoinBuilder.ts @@ -20,7 +20,6 @@ export class JoinBuilder { // @todo: returns multiple on manytomany (edit: so?) static getJoinedEntityNames(em: EntityManager, entity: Entity, joins: string[]): string[] { - console.log("join", joins); return joins.flatMap((join) => { const relation = em.relationOf(entity.name, join); if (!relation) { diff --git a/app/tsconfig.json b/app/tsconfig.json index f00f579..8ff85f4 100644 --- a/app/tsconfig.json +++ b/app/tsconfig.json @@ -39,6 +39,7 @@ "./src/**/*.tsx", "vite.dev.ts", "build.ts", + "build.cli.ts", "__test__", "e2e/**/*.ts" ], diff --git a/docker/Dockerfile b/docker/Dockerfile index b61d5d7..551d7b7 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -5,7 +5,7 @@ WORKDIR /app # define bknd version to be used as: # `docker build --build-arg VERSION= -t bknd .` -ARG VERSION=0.10.2 +ARG VERSION=0.13.0 # Install & copy required cli RUN npm install --omit=dev bknd@${VERSION}