{ "name": "bknd", "type": "module", "sideEffects": false, "bin": "./dist/cli/index.js", "version": "0.20.0-rc.2", "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": { "type": "git", "url": "https://github.com/bknd-io/bknd.git" }, "bugs": { "url": "https://github.com/bknd-io/bknd/issues" }, "packageManager": "bun@1.3.3", "engines": { "node": ">=22.13" }, "scripts": { "dev": "BKND_CLI_LOG_LEVEL=debug vite", "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 run build.cli.ts", "build:static": "vite build", "watch": "bun run build.ts --types --watch", "types": "bun tsc -p tsconfig.build.json --noEmit", "clean:types": "find ./dist -name '*.d.ts' -delete && rm -f ./dist/tsconfig.tsbuildinfo", "build:types": "tsc -p tsconfig.build.json --emitDeclarationOnly && tsc-alias", "updater": "bun x npm-check-updates -ui", "cli": "LOCAL=1 bun src/cli/index.ts", "prepublishOnly": "bun run types && bun run test && bun run test:node && NODE_NO_WARNINGS=1 VITE_DB_URL=:memory: bun run test:e2e && bun run build:all && cp ../README.md ./", "postpublish": "rm -f README.md", "test": "ALL_TESTS=1 bun test --bail", "test:all": "bun run test && bun run test:node", "test:bun": "ALL_TESTS=1 bun test --bail", "test:node": "vitest run", "test:adapters": "bun test src/adapter/**/*.adapter.spec.ts --bail", "test:coverage": "ALL_TESTS=1 bun test --bail --coverage", "test:vitest:coverage": "vitest run --coverage", "test:e2e": "playwright test", "test:e2e:adapters": "NODE_NO_WARNINGS=1 bun run e2e/adapters.ts", "test:e2e:ui": "VITE_DB_URL=:memory: playwright test --ui", "test:e2e:debug": "VITE_DB_URL=:memory: playwright test --debug", "test:e2e:report": "VITE_DB_URL=:memory: playwright show-report", "docs:build-assets": "bun internal/docs.build-assets.ts" }, "license": "FSL-1.1-MIT", "dependencies": { "@cfworker/json-schema": "^4.1.1", "@codemirror/lang-html": "^6.4.11", "@codemirror/lang-json": "^6.0.2", "@hello-pangea/dnd": "^18.0.1", "@hono/swagger-ui": "^0.5.2", "@mantine/core": "^7.17.1", "@mantine/hooks": "^7.17.1", "@tanstack/react-form": "^1.0.5", "@uiw/react-codemirror": "^4.25.2", "@xyflow/react": "^12.9.2", "aws4fetch": "^1.0.20", "bcryptjs": "^3.0.3", "dayjs": "^1.11.19", "fast-xml-parser": "^5.3.1", "hono": "4.10.4", "json-schema-library": "10.0.0-rc7", "json-schema-to-ts": "^3.1.1", "jsonv-ts": "^0.10.1", "kysely": "0.28.8", "lodash-es": "^4.17.21", "oauth4webapi": "^2.11.1", "object-path-immutable": "^4.1.2", "picocolors": "^1.1.1", "radix-ui": "^1.1.3", "swr": "^2.3.6", "use-sync-external-store": "^1.6.0", "zustand": "^4" }, "devDependencies": { "@aws-sdk/client-s3": "^3.922.0", "@bluwy/giget-core": "^0.1.6", "@clack/prompts": "^0.11.0", "@cloudflare/vitest-pool-workers": "^0.10.4", "@cloudflare/workers-types": "^4.20251014.0", "@dagrejs/dagre": "^1.1.4", "@hono/vite-dev-server": "^0.23.0", "@hookform/resolvers": "^5.2.2", "@libsql/client": "^0.15.15", "@mantine/modals": "^7.17.1", "@mantine/notifications": "^7.17.1", "@playwright/test": "^1.56.1", "@rjsf/core": "5.22.2", "@rjsf/utils": "5.22.0", "@standard-schema/spec": "^1.0.0", "@tabler/icons-react": "3.35.0", "@tailwindcss/postcss": "^4.1.16", "@tailwindcss/vite": "^4.1.16", "@tanstack/react-store": "^0.8.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.2.0", "@types/node": "^24.10.0", "@types/pg": "^8.15.6", "@types/react": "^19.0.10", "@types/react-dom": "^19.0.4", "@vitejs/plugin-react": "^5.1.0", "@vitest/coverage-v8": "3.0.9", "autoprefixer": "^10.4.21", "clsx": "^2.1.1", "commander": "^14.0.2", "dotenv": "^17.2.3", "jotai": "^2.12.2", "jsdom": "^26.1.0", "kysely-generic-sqlite": "^1.2.1", "kysely-postgres-js": "^2.0.0", "libsql": "^0.5.22", "libsql-stateless-easy": "^1.8.0", "miniflare": "^4.20251011.2", "open": "^10.2.0", "openapi-types": "^12.1.3", "pg": "^8.16.3", "postcss": "^8.5.3", "postcss-preset-mantine": "^1.18.0", "postcss-simple-vars": "^7.0.1", "postgres": "^3.4.7", "posthog-js-lite": "^3.6.0", "react": "^19.0.0", "react-dom": "^19.0.0", "react-hook-form": "^7.66.0", "react-icons": "5.5.0", "react-json-view-lite": "^2.5.0", "sql-formatter": "^15.6.10", "sqlocal": "^0.16.0", "tailwind-merge": "^3.0.2", "tailwindcss": "^4.1.16", "tailwindcss-animate": "^1.0.7", "tsc-alias": "^1.8.16", "tsup": "^8.5.0", "tsx": "^4.20.6", "uuid": "^13.0.0", "vite": "^7.1.12", "vite-plugin-circular-dependency": "^0.5.0", "vite-tsconfig-paths": "^5.1.4", "vitest": "3.0.9", "wouter": "^3.7.1", "wrangler": "^4.45.4" }, "optionalDependencies": { "@hono/node-server": "^1.19.6" }, "peerDependencies": { "react": ">=19", "react-dom": ">=19" }, "main": "./dist/index.js", "module": "./dist/index.js", "types": "./dist/types/index.d.ts", "exports": { ".": { "types": "./dist/types/index.d.ts", "import": "./dist/index.js", "require": "./dist/index.js" }, "./ui": { "types": "./dist/types/ui/index.d.ts", "import": "./dist/ui/index.js", "require": "./dist/ui/index.js" }, "./elements": { "types": "./dist/types/ui/elements/index.d.ts", "import": "./dist/ui/elements/index.js", "require": "./dist/ui/elements/index.js" }, "./client": { "types": "./dist/types/ui/client/index.d.ts", "import": "./dist/ui/client/index.js", "require": "./dist/ui/client/index.js" }, "./utils": { "types": "./dist/types/core/utils/index.d.ts", "import": "./dist/core/utils/index.js", "require": "./dist/core/utils/index.js" }, "./cli": { "types": "./dist/types/cli/index.d.ts", "import": "./dist/cli/index.js", "require": "./dist/cli/index.js" }, "./plugins": { "types": "./dist/types/plugins/index.d.ts", "import": "./dist/plugins/index.js", "require": "./dist/plugins/index.js" }, "./modes": { "types": "./dist/types/modes/index.d.ts", "import": "./dist/modes/index.js", "require": "./dist/modes/index.js" }, "./adapter/sqlite": { "types": "./dist/types/adapter/sqlite/edge.d.ts", "import": { "workerd": "./dist/adapter/sqlite/edge.js", "edge-light": "./dist/adapter/sqlite/edge.js", "netlify": "./dist/adapter/sqlite/edge.js", "vercel": "./dist/adapter/sqlite/edge.js", "browser": "./dist/adapter/sqlite/edge.js", "bun": "./dist/adapter/sqlite/bun.js", "node": "./dist/adapter/sqlite/node.js", "default": "./dist/adapter/sqlite/node.js" }, "require": "./dist/adapter/sqlite/node.js" }, "./adapter/cloudflare": { "types": "./dist/types/adapter/cloudflare/index.d.ts", "import": "./dist/adapter/cloudflare/index.js", "require": "./dist/adapter/cloudflare/index.js" }, "./adapter/cloudflare/proxy": { "types": "./dist/types/adapter/cloudflare/proxy.d.ts", "import": "./dist/adapter/cloudflare/proxy.js", "require": "./dist/adapter/cloudflare/proxy.js" }, "./adapter": { "types": "./dist/types/adapter/index.d.ts", "import": "./dist/adapter/index.js" }, "./adapter/vite": { "types": "./dist/types/adapter/vite/index.d.ts", "import": "./dist/adapter/vite/index.js", "require": "./dist/adapter/vite/index.js" }, "./adapter/nextjs": { "types": "./dist/types/adapter/nextjs/index.d.ts", "import": "./dist/adapter/nextjs/index.js", "require": "./dist/adapter/nextjs/index.js" }, "./adapter/react-router": { "types": "./dist/types/adapter/react-router/index.d.ts", "import": "./dist/adapter/react-router/index.js", "require": "./dist/adapter/react-router/index.js" }, "./adapter/bun": { "types": "./dist/types/adapter/bun/index.d.ts", "import": "./dist/adapter/bun/index.js", "require": "./dist/adapter/bun/index.js" }, "./adapter/node": { "types": "./dist/types/adapter/node/index.d.ts", "import": "./dist/adapter/node/index.js", "require": "./dist/adapter/node/index.js" }, "./adapter/astro": { "types": "./dist/types/adapter/astro/index.d.ts", "import": "./dist/adapter/astro/index.js", "require": "./dist/adapter/astro/index.js" }, "./adapter/aws": { "types": "./dist/types/adapter/aws/index.d.ts", "import": "./dist/adapter/aws/index.js", "require": "./dist/adapter/aws/index.js" }, "./adapter/browser": { "types": "./dist/types/adapter/browser/index.d.ts", "import": "./dist/adapter/browser/index.js", "require": "./dist/adapter/browser/index.js" }, "./dist/main.css": "./dist/ui/main.css", "./dist/styles.css": "./dist/ui/styles.css", "./dist/manifest.json": "./dist/static/.vite/manifest.json", "./static/*": "./dist/static/*" }, "typesVersions": { "*": { "utils": ["./dist/types/core/utils/index.d.ts"], "cli": ["./dist/types/cli/index.d.ts"], "plugins": ["./dist/types/plugins/index.d.ts"], "adapter": ["./dist/types/adapter/index.d.ts"], "adapter/cloudflare": ["./dist/types/adapter/cloudflare/index.d.ts"], "adapter/vite": ["./dist/types/adapter/vite/index.d.ts"], "adapter/nextjs": ["./dist/types/adapter/nextjs/index.d.ts"], "adapter/react-router": ["./dist/types/adapter/react-router/index.d.ts"], "adapter/bun": ["./dist/types/adapter/bun/index.d.ts"], "adapter/node": ["./dist/types/adapter/node/index.d.ts"], "adapter/sqlite": ["./dist/types/adapter/sqlite/edge.d.ts"] } }, "publishConfig": { "access": "public" }, "files": [ "dist", "README.md", "!dist/*.tsbuildinfo", "!dist/*.map", "!dist/**/*.map", "!dist/metafile*", "!dist/**/metafile*" ], "keywords": [ "backend", "database", "authentication", "media", "workflows", "api", "jwt", "serverless", "cloudflare", "nextjs", "remix", "react-router", "astro", "bun", "node" ] }