{"_id":"@emmet-allen/cubejs-arango-driver","name":"@emmet-allen/cubejs-arango-driver","dist-tags":{"latest":"0.2.0"},"versions":{"0.2.0":{"name":"@emmet-allen/cubejs-arango-driver","description":"Cube.js arangodb driver","author":{"name":"emmet-allen"},"version":"0.2.0","repository":{"type":"git","url":"git+https://github.com/arango-solutions/cubejs-arangodb-driver.git"},"homepage":"https://github.com/arango-solutions/cubejs-arangodb-driver#readme","bugs":{"url":"https://github.com/arango-solutions/cubejs-arangodb-driver/issues"},"engines":{"node":">=20.0.0"},"main":"dist/index.js","typings":"dist/index.d.ts","scripts":{"prebuild":"rimraf dist tsconfig.tsbuildinfo","build":"tsc","lint":"eslint src test --ext .ts,.js","lint:fix":"eslint --fix src test --ext .ts,.js","test":"jest","test:integration":"jest --config ./test/jest-integration.json","test:e2e":"jest --config ./test/jest-e2e.json","test:all":"npm run test && npm run test:integration && npm run test:e2e"},"dependencies":{"@cubejs-backend/base-driver":"^1.4.4","arangojs":"^10.3.1","pgsql-ast-parser":"^12.0.2"},"peerDependencies":{"@cubejs-backend/schema-compiler":"^1.4.4"},"peerDependenciesMeta":{"@cubejs-backend/schema-compiler":{"optional":true}},"license":"MIT","devDependencies":{"@cubejs-backend/linter":"^1.4.4","@cubejs-backend/schema-compiler":"^1.4.4","@types/jest":"^30.0.0","@types/jsonwebtoken":"^9.0.0","@types/node":"^22.0.0","jest":"^30.4.2","jsonwebtoken":"^9.0.2","rimraf":"^6.1.3","testcontainers":"^12.0.4","ts-jest":"^29.4.12","typescript":"~5.9.3"},"eslintConfig":{"extends":"./node_modules/@cubejs-backend/linter/index.js"},"publishConfig":{"access":"public"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".*\\.spec\\.ts$","transform":{"^.+\\.(t|j)s$":"ts-jest"},"collectCoverageFrom":["**/*.(t|j)s"],"coverageDirectory":"../coverage","testEnvironment":"node"},"keywords":["arangodb-cubejs-driver","cubejs","cube","arangodb","aql","cubejs-driver"],"gitHead":"6a49dca57b575af2fdb914cfc93213090642de77","_id":"@emmet-allen/cubejs-arango-driver@0.2.0","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-Wh2qlPvNlF7RhHHf3qa8VjEBfkBPaVEwpRDzPJvrgdQuIrFwgsFfnOB5KqFOaa6FWWurzYeOeRbduZyRrS3k1A==","shasum":"aa341162ea07585fc31fa95305cd450799a71047","tarball":"https://registry.npmjs.org/@emmet-allen/cubejs-arango-driver/-/cubejs-arango-driver-0.2.0.tgz","fileCount":15,"unpackedSize":50156,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD15n5XKwzieYzTO6Ajt3HFdeNUzmZLvlf5crSQD9ozJQIhANCZt5DO+VZNAXh8lmNUw9l1JSTcqGmahisx/Oj/QIDS"}]},"_npmUser":{"name":"emmet-allen","email":"emmet.allen@gmail.com"},"directories":{},"maintainers":[{"name":"emmet-allen","email":"emmet.allen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cubejs-arango-driver_0.2.0_1785426632870_0.873289554929511"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-30T15:50:32.744Z","0.2.0":"2026-07-30T15:50:33.055Z","modified":"2026-07-30T15:50:33.248Z"},"maintainers":[{"name":"emmet-allen","email":"emmet.allen@gmail.com"}],"description":"Cube.js arangodb driver","homepage":"https://github.com/arango-solutions/cubejs-arangodb-driver#readme","keywords":["arangodb-cubejs-driver","cubejs","cube","arangodb","aql","cubejs-driver"],"repository":{"type":"git","url":"git+https://github.com/arango-solutions/cubejs-arangodb-driver.git"},"author":{"name":"emmet-allen"},"bugs":{"url":"https://github.com/arango-solutions/cubejs-arangodb-driver/issues"},"license":"MIT","readme":"<p align=\"center\"><a href=\"https://cube.dev\"><img src=\"https://i.imgur.com/zYHXm4o.png\" alt=\"Cube.js\" width=\"300px\"></a></p>\n\n[Website](https://cube.dev) • [Docs](https://cube.dev/docs) • [Blog](https://cube.dev/blog) • [Slack](https://slack.cube.dev) • [Discourse](https://forum.cube.dev/) • [Twitter](https://twitter.com/thecubejs)\n\n[![npm version](https://img.shields.io/npm/v/@emmet-allen/cubejs-arango-driver.svg)](https://www.npmjs.com/package/@emmet-allen/cubejs-arango-driver)\n[![Test CI](https://github.com/arango-solutions/cubejs-arangodb-driver/actions/workflows/test.yml/badge.svg)](https://github.com/arango-solutions/cubejs-arangodb-driver/actions/workflows/test.yml)\n\n# Cube.js Arango Database Driver\n\n**Project is WIP. We've already used in our production but some Postgresql do not transpile to AQL**\nbecause we don't use all of SQL statements in our product now.\n\n```\nnpm i --save arangodb-cubejs-driver@npm:@emmet-allen/cubejs-arango-driver\n```\n\nThe package is published as `@emmet-allen/cubejs-arango-driver`, but Cube loads a\ncommunity driver by requiring `<CUBEJS_DB_TYPE>-cubejs-driver`. Installing it under\nthe `arangodb-cubejs-driver` alias, as above, puts it where Cube looks for it and\nkeeps `CUBEJS_DB_TYPE=arangodb` working with no extra configuration.\n\nIf you would rather install the scoped name directly, you must wire the driver up\nyourself with a `driverFactory` in `cube.js`:\n\n```javascript\nconst ArangoDbDriver = require('@emmet-allen/cubejs-arango-driver');\n\nmodule.exports = {\n  driverFactory: () => new ArangoDbDriver({}),\n};\n```\n\n### Requirements\n\n* Node.js `>=20`\n* Cube `1.x` (`@cubejs-backend/base-driver` `^1.4.4`)\n* ArangoDB `3.11`+ (tested against `3.12`)\n* arangojs `10`\n\n### What's in this repository\n\n* ArangoDB driver in Typescript :heart:. Postgresql parser with [pgsql-ast-parser](https://github.com/oguimbal/pgsql-ast-parser).\n* Docker image `ghcr.io/arango-solutions/cube:main`. This is a custom image of `cubejs/cube:v1.4.4` with `@emmet-allen/cubejs-arango-driver` \n\n### Usage\n\n#### For Docker\n\nCreate custom image with `Dockerfile`\n\n```Dockerfile\nFROM cubejs/cube:v1.4.4\n\nRUN cd /cube/conf \\\n    && npm init -y \\\n    && npm install --no-save arangodb-cubejs-driver@npm:@emmet-allen/cubejs-arango-driver\n```\n\nThe driver installs into the `/cube/conf/node_modules` directory, which is on\nCube's `NODE_PATH`, so Cube loads the driver automatically. The minimal\n`package.json` keeps the driver and its dependencies isolated from Cube's own\n`/cube/node_modules`.\n\n**Note**: This driver isn't supported by the front-end, so you can not use the\nconnection wizard to configure an ArangoDB data source. You must select it with\nthe `CUBEJS_DB_TYPE=arangodb` **environment variable** — Cube's config-file\n`dbType` only accepts built-in database types, so a config-file value will not\nresolve a community driver.\n\n```yaml\nenvironment:\n  - CUBEJS_DB_URL=http://localhost:8529\n  - CUBEJS_DB_NAME=test\n  - CUBEJS_DB_USER=test\n  - CUBEJS_DB_PASS=test\n  - CUBEJS_DB_TYPE=arangodb\n```\n\n**ArangoDB attribute names are case-sensitive.** As in PostgreSQL, an unquoted\nidentifier folds to lowercase, so reference camelCase attributes with quotes in\nyour cube model, e.g. `sql: '{CUBE}.\"countryOfDestination\"'`.\n\n[Learn more](https://github.com/cube-js/cube.js#getting-started)\n\n**Other community drivers** can find here [@cubejs-driver](https://github.com/search?p=1&q=cubejs-driver&type=Repositories)\n\n### Development\n\nInstall dependencies and build:\n\n```\nnpm ci\nnpm run build\n```\n\n### Testing\n\nThe project has three test layers:\n\n```\nnpm test              # unit tests (SQL-to-AQL transpiler, type mapping)\nnpm run test:integration  # driver against a real ArangoDB (testcontainers)\nnpm run test:e2e          # full Cube server + ArangoDB via docker-compose.e2e.yml\nnpm run test:all          # all of the above\n```\n\nThe integration and e2e suites require a running Docker daemon. If your Docker\nsocket is non-standard (for example Rancher Desktop), point testcontainers at\nit, e.g. `export DOCKER_HOST=\"unix://$HOME/.rd/docker.sock\"`.\n\n### License\n\nCube.js Arango driver is [MIT licensed](./LICENSE).\n","readmeFilename":"README.md","_rev":"1-ce716704f973e1f9df4667fd1d5dc1af"}