{ "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.19.0" }, "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 &", "ci:start": "export NODE_OPTIONS=\"--max_old_space_size=16384\"; 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.5.0", "@iconify/vue": "^4.1.1", "@nuxt/image": "^1.3.0", "@pinia/nuxt": "^0.5.1", "@tiptap/extension-link": "2.2.4", "@tiptap/extension-placeholder": "^2.2.4", "@tiptap/extension-task-list": "2.2.4", "@tiptap/extension-underline": "^2.2.4", "@tiptap/html": "2.2.4", "@tiptap/pm": "^2.2.4", "@tiptap/starter-kit": "^2.2.4", "@tiptap/vue-3": "2.2.4", "@vue-flow/additional-components": "^1.3.3", "@vue-flow/core": "^1.30.1", "@vuelidate/core": "^2.0.3", "@vuelidate/validators": "^2.0.4", "@vueuse/core": "^10.7.2", "@vueuse/integrations": "^10.7.2", "ant-design-vue": "^3.2.20", "chart.js": "^4.4.2", "crossoriginworker": "^1.1.0", "d3-scale": "^4.0.2", "dagre": "^0.8.5", "dayjs": "^1.11.10", "deep-object-diff": "^1.1.9", "emoji-mart-vue-fast": "^15.0.1", "file-saver": "^2.0.5", "fuse.js": "^6.6.2", "httpsnippet": "^2.0.0", "jsbarcode": "^3.11.6", "jsep": "^1.3.8", "jwt-decode": "^3.1.2", "leaflet": "^1.9.4", "leaflet.markercluster": "^1.5.3", "locale-codes": "^1.3.1", "marked": "^4.3.0", "monaco-editor": "^0.45.0", "monaco-sql-languages": "^0.11.0", "nocodb-sdk": "workspace:^", "papaparse": "^5.4.1", "parse-github-url": "^1.0.2", "pinia": "^2.1.7", "qrcode": "^1.5.3", "rfdc": "^1.3.1", "showdown": "^2.1.0", "socket.io-client": "^4.7.4", "sortablejs": "^1.15.2", "splitpanes": "^3.1.5", "tinycolor2": "^1.6.0", "turndown": "^7.1.2", "unique-names-generator": "^4.7.1", "v3-infinite-loading": "^1.3.1", "validator": "^13.11.0", "vue-advanced-cropper": "^2.8.8", "vue-barcode-reader": "^1.0.3", "vue-chartjs": "^5.3.0", "vue-dompurify-html": "^3.1.2", "vue-github-button": "^3.1.0", "vue-i18n": "^9.9.1", "vue-qrcode-reader": "3.1.9", "vue3-calendar-heatmap": "^2.0.5", "vue3-contextmenu": "^0.2.12", "vue3-grid-layout-next": "^1.0.6", "vue3-text-clamp": "^0.1.2", "vuedraggable": "^4.1.0", "xlsx": "https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz" }, "devDependencies": { "@antfu/eslint-config": "^0.26.3", "@esbuild-plugins/node-modules-polyfill": "^0.2.2", "@iconify-json/ant-design": "^1.1.15", "@iconify-json/bi": "^1.1.23", "@iconify-json/carbon": "^1.1.31", "@iconify-json/cil": "^1.1.8", "@iconify-json/clarity": "^1.1.12", "@iconify-json/eva": "^1.1.10", "@iconify-json/ic": "^1.1.17", "@iconify-json/ion": "^1.1.15", "@iconify-json/la": "^1.1.8", "@iconify-json/logos": "^1.1.42", "@iconify-json/lucide": "^1.1.171", "@iconify-json/material-symbols": "^1.1.74", "@iconify-json/mdi": "^1.1.64", "@iconify-json/mi": "^1.1.8", "@iconify-json/ph": "^1.1.11", "@iconify-json/ri": "^1.1.20", "@iconify-json/simple-icons": "^1.1.94", "@iconify-json/system-uicons": "^1.1.12", "@iconify-json/tabler": "^1.1.106", "@iconify-json/vscode-icons": "^1.1.33", "@intlify/unplugin-vue-i18n": "^0.13.0", "@nuxt/image": "^1.3.0", "@types/d3-scale": "^4.0.8", "@types/dagre": "^0.7.52", "@types/file-saver": "^2.0.7", "@types/leaflet": "^1.9.8", "@types/leaflet.markercluster": "^1.5.4", "@types/papaparse": "^5.3.14", "@types/parse-github-url": "^1.0.3", "@types/qrcode": "^1.5.5", "@types/showdown": "^2.0.6", "@types/sortablejs": "^1.15.8", "@types/splitpanes": "^2.2.6", "@types/tinycolor2": "^1.4.6", "@types/turndown": "^5.0.4", "@types/validator": "^13.11.9", "@types/vue-barcode-reader": "^0.0.3", "@unocss/nuxt": "^0.58.5", "@vitest/ui": "^0.34.7", "@vue/compiler-sfc": "^3.4.21", "@vue/test-utils": "^2.4.4", "@vueuse/nuxt": "^10.7.2", "@windicss/plugin-animations": "^1.0.9", "@windicss/plugin-question-mark": "^0.1.1", "@windicss/plugin-scrollbar": "^1.2.3", "eslint": "^8.56.0", "eslint-config-prettier": "^8.10.0", "eslint-plugin-prettier": "^4.2.1", "happy-dom": "^6.0.4", "nuxt": "^3.10.3", "nuxt-windicss": "^2.6.1", "prettier": "^2.8.8", "sass": "^1.71.1", "ts-loader": "^9.5.1", "unplugin-icons": "^0.18.5", "unplugin-vue-components": "^0.26.0", "vite-plugin-monaco-editor": "^1.1.0", "vite-plugin-purge-icons": "^0.10.0", "vitest": "^1.2.2", "windicss": "^3.5.6" } }