drizzle-cube
Version:
Drizzle ORM-first semantic layer with Cube.js compatibility. Type-safe analytics and dashboards with SQL injection protection.
200 lines (199 loc) • 5.89 kB
JSON
{
"name": "drizzle-cube",
"version": "0.1.16",
"description": "Drizzle ORM-first semantic layer with Cube.js compatibility. Type-safe analytics and dashboards with SQL injection protection.",
"main": "./dist/server/index.js",
"types": "./dist/server/index.d.ts",
"type": "module",
"exports": {
"./server": {
"types": "./dist/server/index.d.ts",
"import": "./dist/server/index.js"
},
"./client": {
"types": "./dist/client/index.d.ts",
"import": "./dist/client/index.js"
},
"./client/charts": {
"types": "./dist/client/charts.d.ts",
"import": "./dist/client/charts.js"
},
"./client/hooks": {
"types": "./dist/client/hooks.d.ts",
"import": "./dist/client/hooks.js"
},
"./client/providers": {
"types": "./dist/client/providers.d.ts",
"import": "./dist/client/providers.js"
},
"./client/components": {
"types": "./dist/client/components.d.ts",
"import": "./dist/client/components.js"
},
"./client/utils": {
"types": "./dist/client/utils.d.ts",
"import": "./dist/client/utils.js"
},
"./client/styles.css": "./dist/client/styles.css",
"./adapters/hono": {
"types": "./dist/adapters/hono/index.d.ts",
"import": "./dist/adapters/hono/index.js"
},
"./adapters/express": {
"types": "./dist/adapters/express/index.d.ts",
"import": "./dist/adapters/express/index.js"
},
"./adapters/fastify": {
"types": "./dist/adapters/fastify/index.d.ts",
"import": "./dist/adapters/fastify/index.js"
},
"./adapters/nextjs": {
"types": "./dist/adapters/nextjs/index.d.ts",
"import": "./dist/adapters/nextjs/index.js"
}
},
"files": [
"dist/",
"README.md",
"LICENSE"
],
"scripts": {
"dev": "concurrently \"npm run dev:server\" \"npm run dev:client\" \"npm run dev:examples\" \"npm run dev:help\"",
"dev:server": "vite build src/server --watch --mode development",
"dev:client": "vite build src/client --watch --mode development",
"dev:examples": "cd examples/hono-app && npm run dev",
"dev:help": "cd help-site && npm run dev",
"build": "npm run build:server && npm run build:client && npm run build:adapters && npm run build:help",
"build:server": "vite build --config vite.config.server.ts",
"build:client": "vite build --config vite.config.client.ts",
"analyze:client": "vite build --config vite.config.client.ts && open dist/client-bundle-stats.html",
"build:adapters": "vite build --config vite.config.adapters.ts",
"build:help": "cd help-site && npm run build",
"test": "vitest run",
"test:watch": "vitest --watch",
"test:postgres": "vitest run",
"test:mysql": "TEST_DB_TYPE=mysql vitest run",
"test:sqlite": "TEST_DB_TYPE=sqlite vitest run",
"test:all": "vitest run && TEST_DB_TYPE=mysql vitest run && TEST_DB_TYPE=sqlite vitest run",
"test:setup": "docker-compose up -d",
"test:teardown": "docker-compose down",
"typecheck": "tsc --noEmit",
"lint": "eslint src/**/*.ts",
"lint:fix": "eslint src/**/*.ts --fix",
"prepublishOnly": "npm run build && npm run test && npm run typecheck"
},
"keywords": [
"drizzle-orm",
"drizzle",
"cube",
"cubejs",
"semantic-layer",
"analytics",
"dashboard",
"react",
"typescript",
"type-safe",
"sql-injection-protection",
"hono",
"postgres",
"mysql",
"sqlite"
],
"author": "Clifton Cunningham <clifton@clifton.io>",
"license": "MIT",
"homepage": "https://drizzle-cube.dev",
"repository": {
"type": "git",
"url": "https://github.com/cliftonc/drizzle-cube.git"
},
"bugs": {
"url": "https://github.com/cliftonc/drizzle-cube/issues"
},
"peerDependencies": {
"@neondatabase/serverless": "^1.0.1",
"cors": "^2.8.5",
"drizzle-orm": "^0.44.4",
"express": "^5.0.0",
"fastify": "^5.0.0",
"hono": "^4.0.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
},
"peerDependenciesMeta": {
"react": {
"optional": false
},
"react-dom": {
"optional": false
},
"drizzle-orm": {
"optional": false
},
"hono": {
"optional": true
},
"express": {
"optional": true
},
"fastify": {
"optional": true
},
"cors": {
"optional": true
},
"@neondatabase/serverless": {
"optional": true
},
"next": {
"optional": true
}
},
"devDependencies": {
"@fastify/cors": "^11.1.0",
"@types/better-sqlite3": "^7.6.0",
"@types/cors": "^2.8.17",
"@types/express": "^5.0.0",
"@types/node": "^20.0.0",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@types/react-grid-layout": "^1.3.5",
"@types/supertest": "^6.0.2",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"@vitejs/plugin-react": "^4.0.0",
"autoprefixer": "^10.4.21",
"better-sqlite3": "^11.10.0",
"concurrently": "^8.0.0",
"cors": "^2.8.5",
"drizzle-kit": "^0.31.4",
"drizzle-orm": "^0.44.4",
"eslint": "^8.0.0",
"express": "^5.1.0",
"fastify": "^5.5.0",
"hono": "^4.0.0",
"mysql2": "^3.14.3",
"next": "^15.0.0",
"postcss": "^8.5.6",
"postgres": "^3.4.7",
"rollup-plugin-visualizer": "^6.0.3",
"supertest": "^7.0.0",
"tailwindcss": "^3.4.15",
"typescript": "^5.0.0",
"vite": "^5.0.0",
"vite-plugin-dts": "^4.0.0",
"vitest": "^2.0.0"
},
"dependencies": {
"@heroicons/react": "^2.2.0",
"@iconify-icons/tabler": "^1.2.95",
"@iconify/react": "^6.0.0",
"@types/d3": "^7.4.3",
"d3": "^7.9.0",
"react-grid-layout": "^1.4.0",
"react-hook-form": "^7.47.0",
"recharts": "^2.8.0",
"sql-formatter": "^15.6.6",
"yaml": "^2.8.1",
"zod": "^3.22.0"
}
}