{ "name": "@gochat/frontend", "version": "0.1.0", "private": true, "license": "MIT", "type": "module", "scripts": { "dev": "vite", "build": "vite build", "test:build": "vite build && node scripts/check-build.mjs", "build:sdk": "BUILD_MODE=library vite build", "preview": "vite preview", "eslint": "eslint app/**/*.{js,vue}", "eslint:fix": "eslint app/**/*.{js,vue} --fix", "test": "TZ=UTC vitest --no-watch --no-cache --no-coverage --logHeapUsage", "test:watch": "TZ=UTC vitest --no-cache --no-coverage", "test:coverage": "TZ=UTC vitest --no-watch --no-cache --coverage", "size": "size-limit" }, "size-limit": [ { "path": "dist/assets/widget-*.js", "limit": "300 KB" }, { "path": "dist/sdk/js/sdk.js", "limit": "40 KB" } ], "dependencies": { "@amplitude/analytics-browser": "^2.11.10", "@breezystack/lamejs": "^1.2.7", "@chatwoot/ninja-keys": "1.2.3", "@chatwoot/prosemirror-schema": "1.3.13", "@chatwoot/utils": "^0.0.55", "@formkit/core": "^1.7.2", "@formkit/vue": "^1.7.2", "@hcaptcha/vue3-hcaptcha": "^1.3.0", "@highlightjs/vue-plugin": "^2.1.0", "@iconify-json/fluent": "^1.2.32", "@iconify-json/material-symbols": "^1.2.10", "@lk77/vue3-color": "^3.0.6", "@radix-ui/colors": "^3.0.0", "@rails/actioncable": "6.1.3", "@rails/ujs": "^7.1.400", "@scmmishra/pico-search": "0.6.0", "@sentry/vue": "^8.55.0", "@sindresorhus/slugify": "2.2.1", "@tailwindcss/typography": "^0.5.19", "@tanstack/vue-table": "^8.20.5", "@twilio/voice-sdk": "^2.12.4", "@vitejs/plugin-vue": "^5.1.4", "@vue/compiler-sfc": "^3.5.8", "@vuelidate/core": "^2.0.3", "@vuelidate/validators": "^2.0.4", "@vueuse/components": "^12.0.0", "@vueuse/core": "^12.0.0", "activestorage": "^5.2.6", "axios": "^1.15.0", "camelcase-keys": "^9.1.3", "chart.js": "~4.4.4", "color2k": "^2.0.2", "company-email-validator": "^1.1.0", "core-js": "3.38.1", "countries-and-timezones": "^3.6.0", "date-fns": "2.21.1", "date-fns-tz": "^1.3.3", "dompurify": "3.4.0", "flag-icons": "^7.2.3", "floating-vue": "^5.2.2", "highlight.js": "^11.10.0", "html-to-image": "^1.11.13", "html2canvas": "^1.4.1", "idb": "^8.0.0", "js-cookie": "^3.0.5", "json-logic-js": "^2.0.5", "lettersanitizer": "^1.0.6", "libphonenumber-js": "^1.11.9", "markdown-it": "^14.1.1", "markdown-it-link-attributes": "^4.0.1", "md5": "^2.3.0", "mitt": "^3.0.1", "opus-recorder": "^8.0.5", "pinia": "^3.0.4", "prosemirror-commands": "^1.7.1", "prosemirror-schema-list": "^1.5.1", "qrcode": "^1.5.4", "semver": "7.6.3", "snakecase-keys": "^8.0.1", "timezone-phone-codes": "^0.0.2", "tinykeys": "^3.0.0", "turbolinks": "^5.2.0", "urlpattern-polyfill": "^10.0.0", "video.js": "7.21.1", "videojs-record": "4.5.0", "videojs-wavesurfer": "3.8.0", "virtua": "^0.48.6", "vue": "^3.5.12", "vue-chartjs": "5.3.1", "vue-datepicker-next": "^1.0.3", "vue-dompurify-html": "^5.3.0", "vue-i18n": "9.14.5", "vue-letter": "^0.2.1", "vue-router": "~4.4.5", "vue-upload-component": "^3.1.17", "vue3-click-away": "^1.2.4", "vuedraggable": "^4.1.0", "vuex": "~4.1.0", "vuex-router-sync": "6.0.0-rc.1", "wavesurfer.js": "7.8.6" }, "devDependencies": { "@egoist/tailwindcss-icons": "^1.9.2", "@iconify-json/logos": "^1.2.10", "@iconify-json/lucide": "^1.2.82", "@iconify-json/ph": "^1.2.2", "@iconify-json/ri": "^1.2.6", "@iconify-json/teenyicons": "^1.2.2", "@intlify/eslint-plugin-vue-i18n": "^3.2.0", "@rollup/plugin-yaml": "^4.1.2", "@size-limit/file": "^8.2.4", "@vitest/coverage-v8": "3.0.5", "@vue/test-utils": "^2.4.6", "autoprefixer": "^10.4.20", "eslint": "^8.57.0", "eslint-config-airbnb-base": "15.0.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-html": "7.1.0", "eslint-plugin-import": "2.30.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vitest-globals": "^1.5.0", "eslint-plugin-vue": "^9.28.0", "fake-indexeddb": "^6.0.0", "jsdom": "^27.2.0", "postcss": "8.5.18", "postcss-import": "^15.1.0", "postcss-preset-env": "^8.5.1", "prettier": "^3.3.3", "prosemirror-model": "^1.22.3", "sass-embedded": "^1.100.0", "size-limit": "^8.2.4", "tailwindcss": "^3.4.19", "vite": "^6.4.3", "vitest": "3.0.5" }, "engines": { "node": ">=20", "pnpm": ">=10" } }