bump 0.13.0 + separated cli build into separate file

This commit is contained in:
dswbx
2025-05-27 16:53:49 +02:00
parent 5a693c0370
commit af6cb0c8f0
6 changed files with 36 additions and 8 deletions

23
app/build.cli.ts Normal file
View File

@@ -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 + "/", "")),
);
}

View File

@@ -9,6 +9,11 @@ const types = args.includes("--types");
const sourcemap = args.includes("--sourcemap"); const sourcemap = args.includes("--sourcemap");
const clean = args.includes("--clean"); const clean = args.includes("--clean");
const define = {
__isDev: "0",
__version: JSON.stringify(pkg.version),
};
if (clean) { if (clean) {
console.info("Cleaning dist (w/o static)"); console.info("Cleaning dist (w/o static)");
await $`find dist -mindepth 1 ! -path "dist/static/*" ! -path "dist/static" -exec rm -rf {} +`; await $`find dist -mindepth 1 ! -path "dist/static/*" ! -path "dist/static" -exec rm -rf {} +`;
@@ -66,9 +71,7 @@ async function buildApi() {
minify, minify,
sourcemap, sourcemap,
watch, watch,
define: { define,
__version: JSON.stringify(pkg.version),
},
entry: [ entry: [
"src/index.ts", "src/index.ts",
"src/core/index.ts", "src/core/index.ts",
@@ -105,6 +108,7 @@ async function buildUi() {
minify, minify,
sourcemap, sourcemap,
watch, watch,
define,
external: [ external: [
...external, ...external,
"react", "react",
@@ -164,6 +168,7 @@ async function buildUiElements() {
minify, minify,
sourcemap, sourcemap,
watch, watch,
define,
entry: ["src/ui/elements/index.ts"], entry: ["src/ui/elements/index.ts"],
outDir: "dist/ui/elements", outDir: "dist/ui/elements",
external: [ external: [
@@ -215,7 +220,7 @@ function baseConfig(adapter: string, overrides: Partial<tsup.Options> = {}): tsu
}, },
...overrides, ...overrides,
define: { define: {
__isDev: "0", ...define,
...overrides.define, ...overrides.define,
}, },
external: [ external: [

View File

@@ -3,7 +3,7 @@
"type": "module", "type": "module",
"sideEffects": false, "sideEffects": false,
"bin": "./dist/cli/index.js", "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.", "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", "homepage": "https://bknd.io",
"repository": { "repository": {
@@ -18,7 +18,7 @@
"build": "NODE_ENV=production bun run build.ts --minify --types", "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: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: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", "build:static": "vite build",
"watch": "bun run build.ts --types --watch", "watch": "bun run build.ts --types --watch",
"types": "bun tsc -p tsconfig.build.json --noEmit", "types": "bun tsc -p tsconfig.build.json --noEmit",

View File

@@ -20,7 +20,6 @@ export class JoinBuilder {
// @todo: returns multiple on manytomany (edit: so?) // @todo: returns multiple on manytomany (edit: so?)
static getJoinedEntityNames(em: EntityManager<any>, entity: Entity, joins: string[]): string[] { static getJoinedEntityNames(em: EntityManager<any>, entity: Entity, joins: string[]): string[] {
console.log("join", joins);
return joins.flatMap((join) => { return joins.flatMap((join) => {
const relation = em.relationOf(entity.name, join); const relation = em.relationOf(entity.name, join);
if (!relation) { if (!relation) {

View File

@@ -39,6 +39,7 @@
"./src/**/*.tsx", "./src/**/*.tsx",
"vite.dev.ts", "vite.dev.ts",
"build.ts", "build.ts",
"build.cli.ts",
"__test__", "__test__",
"e2e/**/*.ts" "e2e/**/*.ts"
], ],

View File

@@ -5,7 +5,7 @@ WORKDIR /app
# define bknd version to be used as: # define bknd version to be used as:
# `docker build --build-arg VERSION=<version> -t bknd .` # `docker build --build-arg VERSION=<version> -t bknd .`
ARG VERSION=0.10.2 ARG VERSION=0.13.0
# Install & copy required cli # Install & copy required cli
RUN npm install --omit=dev bknd@${VERSION} RUN npm install --omit=dev bknd@${VERSION}