{ "name": "frontend", "private": true, "version": "0.2.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview", "test": "vitest", "test:run": "vitest run", "test:visual": "playwright test", "test:visual:cross": "playwright test --project=cross-renderer", "lint": "eslint src/", "lint:fix": "eslint src/ --fix", "format": "oxfmt src/", "format:check": "oxfmt --check src/", "type-check": "vue-tsc -b --noEmit" }, "dependencies": { "@codemirror/autocomplete": "^6.20.1", "@codemirror/language": "^6.12.3", "@codemirror/state": "^6.6.0", "@codemirror/view": "^6.41.0", "@duhanbalci/codemirror-lang-dexpr": "0.1.0", "@lezer/highlight": "^1.2.3", "@lezer/lr": "^1.4.8", "codemirror": "^6.0.2", "pinia": "^3.0.4", "vue": "^3.5.31" }, "devDependencies": { "@eslint/js": "^10.0.1", "@playwright/test": "^1.58.2", "@types/node": "^25.5.0", "@types/pngjs": "^6.0.5", "@vitejs/plugin-vue": "^6.0.5", "@vue/test-utils": "^2.4.6", "@vue/tsconfig": "^0.9.0", "eslint": "^10.2.0", "eslint-plugin-vue": "^10.8.0", "happy-dom": "^20.8.9", "oxfmt": "^0.43.0", "pixelmatch": "^7.1.0", "pngjs": "^7.0.0", "typescript": "~6.0.2", "typescript-eslint": "^8.58.0", "vite": "^8.0.1", "vitest": "^4.1.2", "vue-eslint-parser": "^10.4.0", "vue-tsc": "^3.2.5" } }