{ "name": "evcc", "description": "evcc UI", "author": "evcc-io", "scripts": { "lint": "vp run lint:format && vp run lint:lint && vp run lint:tsc && vp run lint:i18n", "lint:format": "vp fmt assets tests i18n --write && vp fmt '**/*.{yaml,sh}' --write", "lint:lint": "vp lint --fix --max-warnings=0", "lint:tsc": "vue-tsc --noEmit", "lint:i18n": "tsx i18n/check.ts", "dev": "vp dev", "playwright": "playwright install && playwright test --ui", "playwright:ci": "cross-env CI=true playwright test", "simulator": "vp dev tests/simulator", "storybook": "storybook dev -p 6006", "license": "license-compliance --production --report detailed --allow \"MIT;Apache-2.0;ISC;BSD-2-Clause;BSD-3-Clause;0BSD\"" }, "type": "module", "main": "index.js", "dependencies": { "@codemirror/commands": "^6.11.0", "@codemirror/lang-yaml": "^6.1.3", "@codemirror/language": "^6.12.4", "@codemirror/state": "^6.7.1", "@codemirror/view": "^6.43.9", "@formkit/drag-and-drop": "^0.6.1", "@h2d2/shopicons": "^1.9.1", "@lezer/highlight": "^1.2.3", "@popperjs/core": "^2.11.8", "@unhead/vue": "^2.1.17", "axios": "^1.19.0", "bootstrap": "^5.3.8", "canvas-confetti": "^1.9.4", "countup.js": "^2.10.1", "dayjs": "^1.11.23", "echarts": "^6.1.0", "qrcode": "^1.5.4", "smoothscroll-polyfill": "^0.4.4", "snarkdown": "^2.0.0", "vue": "^3.5.41", "vue-i18n": "^11.4.9", "vue-router": "^5.2.0" }, "engines": { "npm": ">=10.0.0", "node": ">=26.0.0" }, "devEngines": { "packageManager": { "name": "npm", "version": ">=10.0.0" } }, "license": "MIT", "repository": "github:evcc-io/evcc", "devDependencies": { "@playwright/test": "^1.62.1", "@redocly/openapi-core": "^2.47.0", "@storybook/vue3": "^10.4.4", "@storybook/vue3-vite": "^10.5.10", "@types/body-parser": "^1.19.6", "@types/bootstrap": "^5.2.11", "@types/canvas-confetti": "^1.9.0", "@types/kill-port": "^2.0.3", "@types/qrcode": "^1.5.6", "@types/smoothscroll-polyfill": "^0.3.4", "@types/wait-on": "^5.3.4", "@types/ws": "^8.18.1", "@vitejs/plugin-legacy": "^8.2.3", "@vitejs/plugin-vue": "^6.0.8", "@vue/compiler-sfc": "^3.5.38", "@vue/test-utils": "^2.4.11", "@vue/tsconfig": "^0.9.1", "ajv": "^8.20.0", "ajv-formats": "^3.0.1", "body-parser": "^2.3.0", "cross-env": "^10.1.0", "happy-dom": "^20.11.6", "kill-port": "^2.0.1", "license-compliance": "^4.0.0", "mqtt": "^5.15.2", "rollup-plugin-visualizer": "^7.1.1", "storybook": "^10.5.10", "terser": "^5.50.0", "ts-json-schema-generator": "^2.9.0", "tsx": "^4.23.12", "typescript": "^5.9.3", "vite": "npm:@voidzero-dev/vite-plus-core@0.2.6", "vite-plus": "0.2.6", "vitest": "4.1.10", "vue-hot-reload-api": "^2.3.4", "vue-tsc": "^3.3.11", "wait-on": "^9.1.0", "ws": "^8.21.3", "yaml": "^2.9.0" }, "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@0.2.6", "vitest": "4.1.10" } }