{ "name": "nc-gui", "description": "NocoDB Frontend", "private": true, "author": { "name": "NocoDB", "url": "https://nocodb.com/" }, "homepage": "https://github.com/nocodb/nocodb", "repository": { "type": "git", "url": "https://github.com/nocodb/nocodb.git" }, "bugs": { "url": "https://github.com/nocodb/nocodb/issues" }, "engines": { "node": ">=18" }, "license": "AGPL-3.0-or-later", "web-types": "web-types.json", "scripts": { "build": "nuxt build", "dev": "nuxt dev", "generate": "nuxt generate", "start": "node .output/server/index.mjs", "lint": "eslint --ext \".js,.jsx,.ts,.tsx,.vue\" --fix --ignore-path .gitignore .", "test": "vitest -c test/vite.config.ts", "test:ui": "vitest -c test/vite.config.ts --ui", "coverage": "vitest -c test/vite.config.ts run --coverage", "build:copy": "pnpm run generate; rm -rf ../nc-lib-gui/lib/dist/; rsync -rvzh ./dist/ ../nc-lib-gui/lib/dist/", "build:copy:publish": "pnpm run generate; rm -rf ../nc-lib-gui/lib/dist/; rsync -rvzh ./dist/ ../nc-lib-gui/lib/dist/; pnpm publish ../nc-lib-gui", "ci:run": "export NODE_OPTIONS=\"--max_old_space_size=16384\"; pnpm install; pnpm run build; NUXT_PAGE_TRANSITION_DISABLE=true NUXT_PUBLIC_NC_BACKEND_URL=http://localhost:8080 pnpm run start &", "preinstall": "npx only-allow pnpm", "postinstall": "nuxt prepare" }, "dependencies": { "@braks/revue-draggable": "^0.4.3", "@ckpack/vue-color": "^1.2.0", "@fingerprintjs/fingerprintjs": "^3.4.1", "@iconify/vue": "^4.1.1", "@pinia/nuxt": "^0.4.11", "@vue-flow/additional-components": "^1.2.0", "@vue-flow/core": "^1.3.0", "@vuelidate/core": "^2.0.0-alpha.44", "@vuelidate/validators": "^2.0.0-alpha.31", "@vueuse/core": "^10.2.1", "@vueuse/integrations": "^10.2.1", "ant-design-vue": "^3.2.11", "chart.js": "^4.3.0", "d3-scale": "^4.0.2", "dagre": "^0.8.5", "dayjs": "^1.11.9", "deep-object-diff": "^1.1.9", "emoji-mart-vue-fast": "^15.0.0", "file-saver": "^2.0.5", "fuse.js": "^6.6.2", "httpsnippet": "^2.0.0", "jsbarcode": "^3.11.5", "jsep": "^1.3.6", "jwt-decode": "^3.1.2", "leaflet": "^1.9.2", "leaflet.markercluster": "^1.5.3", "locale-codes": "^1.3.1", "monaco-editor": "^0.33.0", "monaco-sql-languages": "^0.11.0", "nocodb-sdk": "workspace:^", "papaparse": "^5.3.2", "parse-github-url": "^1.0.2", "pinia": "^2.1.4", "qrcode": "^1.5.1", "rfdc": "^1.3.0", "showdown": "^2.1.0", "socket.io-client": "^4.5.1", "sortablejs": "^1.15.0", "splitpanes": "^3.1.5", "tinycolor2": "^1.4.2", "unique-names-generator": "^4.7.1", "v3-infinite-loading": "^1.2.2", "validator": "^13.7.0", "vue-barcode-reader": "^1.0.3", "vue-chartjs": "^5.2.0", "vue-dompurify-html": "^3.0.0", "vue-github-button": "^3.0.3", "vue-i18n": "^9.2.2", "vue-qrcode-reader": "3.1.0-vue3-compatibility.2", "vue3-calendar-heatmap": "^2.0.0", "vue3-contextmenu": "^0.2.12", "vue3-grid-layout-next": "^1.0.5", "vue3-text-clamp": "^0.1.1", "vuedraggable": "^4.1.0", "xlsx": "^0.18.5" }, "devDependencies": { "@antfu/eslint-config": "^0.26.0", "@esbuild-plugins/node-modules-polyfill": "^0.2.2", "@iconify-json/ant-design": "^1.1.9", "@iconify-json/bi": "^1.1.18", "@iconify-json/carbon": "^1.1.20", "@iconify-json/cil": "^1.1.5", "@iconify-json/clarity": "^1.1.9", "@iconify-json/eva": "^1.1.7", "@iconify-json/ic": "^1.1.14", "@iconify-json/ion": "^1.1.12", "@iconify-json/la": "^1.1.5", "@iconify-json/logos": "^1.1.34", "@iconify-json/lucide": "^1.1.119", "@iconify-json/material-symbols": "^1.1.57", "@iconify-json/mdi": "^1.1.54", "@iconify-json/mi": "^1.1.5", "@iconify-json/ph": "^1.1.6", "@iconify-json/ri": "^1.1.12", "@iconify-json/simple-icons": "^1.1.67", "@iconify-json/system-uicons": "^1.1.9", "@iconify-json/tabler": "^1.1.89", "@iconify-json/vscode-icons": "^1.1.28", "@intlify/unplugin-vue-i18n": "^0.12.2", "@nuxt/image-edge": "^1.0.0-rc.1-28217290.de85e17", "@types/axios": "^0.14.0", "@types/d3-scale": "^4.0.3", "@types/dagre": "^0.7.48", "@types/file-saver": "^2.0.5", "@types/leaflet": "^1.9.0", "@types/leaflet.markercluster": "^1.5.1", "@types/papaparse": "^5.3.2", "@types/parse-github-url": "^1.0.0", "@types/qrcode": "^1.5.0", "@types/showdown": "^2.0.0", "@types/sortablejs": "^1.13.0", "@types/splitpanes": "^2.2.1", "@types/tinycolor2": "^1.4.3", "@types/validator": "^13.7.10", "@types/vue-barcode-reader": "^0.0.0", "@unocss/nuxt": "^0.51.12", "@vitest/ui": "^0.18.0", "@vue/compiler-sfc": "^3.2.37", "@vue/test-utils": "^2.0.2", "@vueuse/nuxt": "^10.2.1", "@windicss/plugin-animations": "^1.0.9", "@windicss/plugin-question-mark": "^0.1.1", "@windicss/plugin-scrollbar": "^1.2.3", "eslint": "^8.33.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "happy-dom": "^6.0.3", "nuxt": "^3.6.5", "nuxt-windicss": "^2.6.1", "prettier": "^2.7.1", "sass": "^1.63.4", "ts-loader": "^9.4.4", "unplugin-icons": "^0.14.15", "unplugin-vue-components": "^0.22.12", "vite-plugin-monaco-editor": "^1.1.0", "vite-plugin-purge-icons": "^0.9.2", "vitest": "^0.30.1", "windicss": "^3.5.6" } }