{ "name": "evcc", "description": "evcc UI", "author": "evcc-io", "scripts": { "build": "vite build", "test": "TZ=Europe/Berlin vitest", "lint": "prettier assets './**/*.{yml,yaml}' --write && eslint assets/**/*.js assets/**/*.vue --fix --max-warnings=0", "dev": "vite", "histoire": "histoire dev", "playwright": "playwright test --ui", "simulator": "vite tests/simulator" }, "type": "module", "main": "index.js", "dependencies": { "@babel/core": "^7.17.2", "@h2d2/shopicons": "^1.2.0", "@histoire/plugin-vue": "^0.17.1", "@playwright/test": "^1.34.3", "@popperjs/core": "^2.11.5", "@unhead/vue": "^1.8.9", "@vitejs/plugin-legacy": "^5.3.0", "@vitejs/plugin-vue": "^5.0.4", "@vue/compiler-sfc": "^3.2.30", "@vue/eslint-config-prettier": "^9.0.0", "@vue/eslint-config-typescript": "^13.0.0", "@vue/test-utils": "^2.2.7", "@vue/tsconfig": "^0.5.1", "axios": "^1.2.1", "body-parser": "^1.20.2", "bootstrap": "^5.2.2", "canvas-confetti": "^1.4.0", "countup.js": "^2.3.2", "eslint": "^8.27.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-import": "^2.25.3", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^5.0.0-alpha.1", "eslint-plugin-promise": "^6.0.0", "eslint-plugin-vue": "^9.3.0", "happy-dom": "^14.0.0", "histoire": "^0.17.0", "markty-toml": "^0.1.1", "prettier": "^3.0.0", "prettier-plugin-toml": "^2.0.1", "rollup-plugin-visualizer": "^5.8.3", "smoothscroll-polyfill": "^0.4.4", "typescript": "^5.2.2", "vite": "^5.1.1", "vite-plugin-toml": "^0.6.0", "vitest": "^1.1.0", "vue": "^3.2.29", "vue-eslint-parser": "^9.1.0", "vue-hot-reload-api": "^2.3.4", "vue-i18n": "^9.2.2", "vue-router": "^4.0.12", "wait-on": "^7.0.1" }, "engines": { "npm": ">=8.0.0", "node": ">=18.0.0" }, "license": "MIT", "repository": "github:evcc-io/evcc" }