{ "name": "bknd", "type": "module", "sideEffects": false, "bin": "./dist/cli/index.js", "version": "0.18.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.2.19", "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 && 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": "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.9", "@codemirror/lang-json": "^6.0.1", "@hello-pangea/dnd": "^18.0.1", "@hono/swagger-ui": "^0.5.1", "@mantine/core": "^7.17.1", "@mantine/hooks": "^7.17.1", "@tanstack/react-form": "^1.0.5", "@uiw/react-codemirror": "^4.23.10", "@xyflow/react": "^12.4.4", "aws4fetch": "^1.0.20", "bcryptjs": "^3.0.2", "dayjs": "^1.11.13", "fast-xml-parser": "^5.0.8", "hono": "4.8.3", "json-schema-library": "10.0.0-rc7", "json-schema-to-ts": "^3.1.1", "jsonv-ts": "0.8.2", "kysely": "0.27.6", "lodash-es": "^4.17.21", "oauth4webapi": "^2.11.1", "object-path-immutable": "^4.1.2", "radix-ui": "^1.1.3", "picocolors": "^1.1.1", "swr": "^2.3.3" }, "devDependencies": { "@aws-sdk/client-s3": "^3.758.0", "@bluwy/giget-core": "^0.1.2", "@clack/prompts": "^0.11.0", "@cloudflare/vitest-pool-workers": "^0.8.38", "@cloudflare/workers-types": "^4.20250606.0", "@dagrejs/dagre": "^1.1.4", "@hono/vite-dev-server": "^0.19.1", "@hookform/resolvers": "^4.1.3", "@libsql/client": "^0.15.9", "@mantine/modals": "^7.17.1", "@mantine/notifications": "^7.17.1", "@playwright/test": "^1.51.1", "@rjsf/core": "5.22.2", "@standard-schema/spec": "^1.0.0", "@tabler/icons-react": "3.18.0", "@tailwindcss/postcss": "^4.0.12", "@tailwindcss/vite": "^4.0.12", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.2.0", "@types/node": "^22.13.10", "@types/react": "^19.0.10", "@types/react-dom": "^19.0.4", "@vitejs/plugin-react": "^4.3.4", "@vitest/coverage-v8": "^3.0.9", "autoprefixer": "^10.4.21", "clsx": "^2.1.1", "dotenv": "^16.4.7", "jotai": "^2.12.2", "jsdom": "^26.0.0", "kysely-d1": "^0.3.0", "kysely-generic-sqlite": "^1.2.1", "libsql-stateless-easy": "^1.8.0", "open": "^10.1.0", "openapi-types": "^12.1.3", "postcss": "^8.5.3", "postcss-preset-mantine": "^1.17.0", "postcss-simple-vars": "^7.0.1", "posthog-js-lite": "^3.4.2", "react": "^19.0.0", "react-dom": "^19.0.0", "react-hook-form": "^7.54.2", "react-icons": "5.2.1", "react-json-view-lite": "^2.4.1", "sql-formatter": "^15.4.11", "tailwind-merge": "^3.0.2", "tailwindcss": "^4.0.12", "tailwindcss-animate": "^1.0.7", "tsc-alias": "^1.8.11", "tsup": "^8.4.0", "tsx": "^4.19.3", "uuid": "^11.1.0", "vite": "^6.3.5", "vite-plugin-circular-dependency": "^0.5.0", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.9", "wouter": "^3.6.0" }, "optionalDependencies": { "@hono/node-server": "^1.14.3" }, "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" }, "./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" }, "./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" ] }