{ "name": "xprint", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc && vite build", "preview": "vite preview", "build-lib": "vue-tsc && vite build --mode lib", "compress-lib": "node uglify.config.js --ecma=8 --comments=false", "build-compress-lib": "vue-tsc && vite build --mode lib && node uglify.config.js --ecma=8 --comments=false" }, "dependencies": { "@babylonjs/core": "^8.28.1", "@babylonjs/inspector": "^8.28.1", "@babylonjs/loaders": "^8.28.1", "@microsoft/signalr": "^9.0.6", "@microsoft/signalr-protocol-msgpack": "^9.0.6", "@msgpack/msgpack": "^3.1.2", "@vant/touch-emulator": "^1.4.0", "ali-oss": "^6.23.0", "amfe-flexible": "^2.2.1", "axios": "^1.10.0", "changedpi": "^1.0.4", "fabric": "^6.7.1", "fflate": "^0.8.2", "file-saver": "^2.0.5", "imagetracerjs": "^1.2.6", "lodash": "^4.17.21", "nanoid": "^5.1.5", "vant": "^4.9.20", "vconsole": "^3.15.1", "vue": "^3.5.13", "vue-draggable-next": "^2.3.0", "vue-loading-overlay": "^6.0.6", "vue-router": "^4.5.1" }, "devDependencies": { "@types/audioworklet": "^0.0.77", "@types/fabric": "^5.3.10", "@types/file-saver": "^2.0.7", "@types/node": "^24.0.7", "@vitejs/plugin-vue": "^5.2.3", "@vue/compiler-sfc": "^3.5.17", "@vue/tsconfig": "^0.7.0", "babel-plugin-import": "^1.13.8", "less": "^4.3.0", "postcss": "^8.5.6", "postcss-loader": "^8.1.1", "postcss-pxtorem": "^6.1.0", "typescript": "~5.8.3", "uglify-js": "^3.19.3", "vite": "^6.3.5", "vite-plugin-compression": "^0.5.1", "vite-plugin-dts": "^4.5.4", "vite-plugin-node-polyfills": "^0.23.0", "vue-tsc": "^2.2.8" } }