{ "name": "orcaq", "productName": "orcaq", "description": "The open source | Next Generation database editor", "homepage": "https://orca-q.com/", "author": { "name": "Cinny", "email": "chinhkhacnguyen29@gmail.com", "url": "https://github.com/cin12211" }, "license": "MIT", "version": "1.1.10", "main": "out/electron/main.js", "scripts": { "dev": "npm run nuxt:dev", "nuxt:dev": "nuxt dev", "nuxt:build": "NODE_OPTIONS=--max-old-space-size=8192 nuxt build", "nuxt:build-web": "nuxt build", "nuxt:generate": "nuxt generate", "postinstall": "electron-builder install-app-deps", "electron:dev": "node scripts/electron-compile-dev.mjs && concurrently -n nuxt,electron -c cyan,yellow \"nuxt dev\" \"wait-on http://localhost:3000 out/electron/main.js && cross-env NODE_ENV=development ELECTRON_DEV_SERVER_URL=http://localhost:3000 electron out/electron/main.js\"", "electron:compile": "tsc -p electron/tsconfig.json", "electron:build": "node scripts/electron-before-build.mjs && electron-builder", "electron:build:mac-m": "node scripts/electron-before-build.mjs && electron-builder --mac --arm64", "electron:pack": "node scripts/electron-before-build.mjs && electron-builder --dir", "npx:build": "npm run nuxt:build-web && node scripts/build-npx.mjs", "npx:pack": "cd npx-package && npm pack", "typecheck": "NODE_OPTIONS=--max-old-space-size=8192 nuxt typecheck", "format": "prettier --write .", "format:check": "prettier --check .", "prepare": "husky", "format:husky": "prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown && git update-index --again", "version:patch": "npm version patch --no-git-tag-version && node scripts/sync-version.mjs", "version:minor": "npm version minor --no-git-tag-version && node scripts/sync-version.mjs", "version:major": "npm version major --no-git-tag-version && node scripts/sync-version.mjs", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", "depcruise:json": "depcruise components core server pages layouts plugins --config .dependency-cruiser.js --output-type json > docs/dependency-graph.json", "test:all": "vitest --run", "test:unit": "vitest --run --project unit", "test:nuxt": "vitest --run --project nuxt", "test:api": "bash scripts/test-services/run-tests.sh --fixtures=all -- vitest --run --project integration", "test:api:raw": "vitest --run --project integration", "test:e2e": "bash scripts/test-services/run-tests.sh --fixtures=all -- playwright test", "test:e2e:raw": "playwright test", "test:coverage": "vitest run --coverage", "test:watch": "vitest --watch", "test:fixtures:up": "bash scripts/test-services/start-fixtures.sh", "test:fixtures:down": "bash scripts/test-services/stop-fixtures.sh" }, "dependencies": { "@libsql/client": "^0.15.15", "better-sqlite3": "^12.9.0", "electron-log": "^5.4.3", "electron-store": "^11.0.2", "electron-updater": "^6.8.3", "knex": "^3.1.0", "mysql2": "^3.22.2", "oracledb": "^6.10.0", "redis": "^5.9.0" }, "devDependencies": { "@ai-sdk/anthropic": "^3.0.9", "@ai-sdk/google": "^3.0.6", "@ai-sdk/openai": "^3.0.41", "@ai-sdk/vue": "^3.0.116", "@ai-sdk/xai": "^3.0.13", "@amplitude/analytics-browser": "^2.21.1", "@atlaskit/pragmatic-drag-and-drop": "^1.6.0", "@atlaskit/pragmatic-drag-and-drop-auto-scroll": "^2.1.0", "@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.0.3", "@codemirror/autocomplete": "^6.18.6", "@codemirror/commands": "^6.8.1", "@codemirror/lang-json": "^6.0.1", "@codemirror/lang-markdown": "^6.5.0", "@codemirror/lang-sql": "^6.8.0", "@codemirror/language": "^6.11.0", "@codemirror/lint": "^6.8.5", "@codemirror/state": "^6.5.2", "@codemirror/view": "^6.36.5", "@electron/rebuild": "^4.0.3", "@formkit/auto-animate": "^0.8.2", "@iconify-json/hugeicons": "^1.2.5", "@iconify-json/logos": "^1.2.4", "@iconify-json/lucide": "^1.2.39", "@iconify-json/material-icon-theme": "^1.2.7", "@marimo-team/codemirror-sql": "^0.2.4", "@nuxt/fonts": "^0.11.2", "@nuxt/icon": "1.11.0", "@nuxt/image": "1.10.0", "@nuxt/test-utils": "^4.0.0", "@nuxtjs/color-mode": "^3.5.2", "@nuxtjs/i18n": "^9.5.3", "@nuxtjs/storybook": "^9.0.1", "@nuxtjs/tailwindcss": "^6.13.2", "@openrouter/ai-sdk-provider": "^2.2.5", "@pinia/nuxt": "^0.10.1", "@playwright/test": "^1.58.2", "@replit/codemirror-indentation-markers": "^6.5.3", "@replit/codemirror-minimap": "^0.5.2", "@seald-io/nedb": "^4.1.1", "@sqltools/formatter": "^1.2.5", "@storybook/addon-a11y": "^10.4.1", "@storybook/addon-docs": "^10.4.1", "@tailwindcss/typography": "^0.5.19", "@tailwindcss/vite": "^4.1.2", "@tanstack/vue-table": "^8.21.2", "@tanstack/vue-virtual": "^3.13.12", "@trivago/prettier-plugin-sort-imports": "^5.2.2", "@types/better-sqlite3": "^7.6.13", "@types/figlet": "^1.7.0", "@types/file-saver": "^2.0.7", "@types/lodash-es": "^4.17.12", "@types/node": "^22.15.19", "@types/papaparse": "^5.5.1", "@types/pg": "^8.15.5", "@types/pg-copy-streams": "^1.2.5", "@types/splitpanes": "^2.2.6", "@types/ssh2": "^1.15.5", "@vee-validate/zod": "^4.15.0", "@vitest/coverage-v8": "^4.0.18", "@vue-flow/background": "^1.3.2", "@vue-flow/controls": "^1.1.2", "@vue-flow/core": "^1.43.1", "@vue-flow/minimap": "^1.5.3", "@vue-flow/node-resizer": "^1.4.0", "@vue/test-utils": "^2.4.6", "@vueuse/core": "^13.9.0", "@yao-pkg/pkg": "^6.3.2", "add": "^2.0.6", "ag-grid-community": "^33.2.4", "ag-grid-vue3": "^33.2.4", "ai": "^6.0.116", "autoprefixer": "^10.4.21", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "codemirror": "^6.0.2", "concurrently": "^9.2.1", "cross-env": "^10.1.0", "dayjs": "^1.11.13", "dependency-cruiser": "^17.3.8", "driver.js": "^1.4.0", "dt-sql-parser": "^4.3.1", "electron": "^41.1.0", "electron-builder": "^26.8.1", "fake-indexeddb": "^6.2.5", "fast-deep-equal": "^3.1.3", "figlet": "^1.11.0", "file-saver": "^2.0.5", "flexsearch": "^0.8.212", "fuse.js": "^7.1.0", "gsap": "^3.12.7", "happy-dom": "^20.7.0", "http": "^0.0.1-security", "husky": "^9.1.7", "json-editor-vue": "^0.18.1", "klona": "^2.0.6", "lint-staged": "^15.5.1", "localforage": "^1.10.0", "lodash-es": "^4.17.21", "lucide-vue-next": "^0.487.0", "marked": "^17.0.1", "mermaid": "^11.13.0", "motion-v": "^2.0.0", "nuxt": "^3.16.2", "nuxt-icon": "^1.0.0-beta.7", "nuxt-mcp-dev": "^0.3.2", "nuxt-typed-router": "3.8.0", "papaparse": "^5.5.3", "pg": "^8.14.1", "pg-copy-streams": "^7.0.0", "pg-dump-restore": "^1.0.15", "pg-query-stream": "^4.10.3", "pgsql-ast-parser": "^12.0.1", "pinia": "^3.0.1", "pinia-plugin-persistedstate": "^4.2.0", "playwright-core": "^1.58.2", "postcss": "^8.5.3", "prettier": "3.5.3", "prettier-plugin-tailwindcss": "0.6.11", "reka-ui": "^2.8.0", "sass-embedded": "^1.87.0", "shadcn-nuxt": "2.0.0", "shiki": "^3.4.0", "shiki-stream": "^0.1.4", "splitpanes": "^4.0.4", "sql-formatter": "^15.5.2", "sqlite3": "^5.1.7", "ssh2": "^1.17.0", "storybook": "^10.4.1", "tailwind-merge": "^3.2.0", "tailwind-scrollbar": "^4.0.2", "tailwindcss": "^4.1.2", "thememirror": "^2.0.1", "ts-node": "^10.9.2", "tw-animate-css": "^1.2.5", "typed-router": "^0.2.0", "typescript": "~5.6.3", "vee-validate": "^4.15.0", "vite": "^6.3.5", "vitest": "^4.0.18", "vue": "^3.5.13", "vue-codemirror": "^6.1.1", "vue-echarts": "^7.0.3", "vue-json-pretty": "^2.6.0", "vue-router": "^4.5.0", "vue-sonner": "^1.3.2", "vue-tsc": "^2.2.8", "wait-on": "^9.0.4", "zod": "^4.3.5" }, "engines": { "bun": ">=1.2.0", "node": ">=18.0.0" }, "keywords": [ "database", "query", "sql", "orm", "postgresql", "mysql", "desktop-app", "orca-q" ], "repository": { "type": "git", "url": "https://github.com/cin12211/orca-q.git" }, "bugs": { "url": "https://github.com/cin12211/orca-q/issues" } }