{ "name": "@oj2/web", "version": "1.9.0", "type": "module", "scripts": { "dev": "vite", "start": "vite", "build": "vite build", "build:staging": "vite build --mode staging", "build:test": "vite build --mode test", "type-check": "vue-tsc --noEmit -p tsconfig.app.json" }, "dependencies": { "@codemirror/autocomplete": "^6.20.3", "@codemirror/lang-cpp": "^6.0.3", "@codemirror/lang-python": "^6.2.1", "@codemirror/lang-sql": "^6.10.0", "@codemirror/language": "^6.12.4", "@codemirror/state": "^6.7.1", "@codemirror/view": "^6.43.9", "@lezer/highlight": "^1.2.3", "@oj2/contract": "workspace:*", "@vue-flow/background": "^1.3.2", "@vue-flow/controls": "^1.1.3", "@vue-flow/core": "^1.48.2", "@vue-flow/minimap": "^1.5.4", "@vue-flow/node-resizer": "^1.5.1", "@vue-flow/node-toolbar": "^1.1.1", "@vueuse/core": "^14.4.0", "@vueuse/router": "^14.4.0", "@wangeditor-next/editor": "^6.2.0", "@wangeditor-next/editor-for-vue": "^6.2.0", "axios": "^1.19.0", "canvas-confetti": "^1.9.4", "chart.js": "^4.5.1", "chartjs-chart-wordcloud": "^4.4.5", "codemirror": "^6.0.2", "copy-text-to-clipboard": "^3.2.2", "date-fns": "^4.4.0", "fflate": "^0.8.3", "highlight.js": "^11.12.0", "lib0": "0.2.117", "md-editor-v3": "^6.5.6", "mermaid": "^11.17.2", "naive-ui": "^2.45.2", "nanoid": "^6.0.1", "normalize.css": "^8.0.1", "pinia": "^4.0.3", "pinyin-pro": "^3.29.3", "skulpt": "^1.2.0", "vue": "^3.5.41", "vue-chartjs": "^5.3.4", "vue-codemirror": "^6.1.1", "vue-router": "^5.2.0", "y-codemirror.next": "^0.3.6", "y-protocols": "1.0.7", "yjs": "^13.6.32" }, "devDependencies": { "@iconify/vue": "^5.0.1", "@types/canvas-confetti": "^1.9.0", "@types/node": "^26.3.0", "@vitejs/plugin-legacy": "^8.2.3", "@vitejs/plugin-vue": "^6.0.8", "@vue/tsconfig": "^0.9.1", "unplugin-auto-import": "^21.1.0", "unplugin-vue-components": "^32.1.0", "vite": "^8.2.2", "vue-tsc": "^3.3.11" } }