{ "name": "evcc", "description": "evcc UI", "author": "evcc-io", "scripts": { "build": "vite build", "test": "cross-env TZ=Europe/Berlin vitest", "lint": "npm run lint:prettier && npm run lint:eslint && npm run lint:tsc", "lint:prettier": "prettier assets tests **/*.{yaml,sh} i18n/*.json --write", "lint:eslint": "eslint --fix --max-warnings=0", "lint:tsc": "vue-tsc --noEmit", "dev": "vite", "playwright": "playwright test --ui", "simulator": "vite tests/simulator", "storybook": "storybook dev -p 6006" }, "type": "module", "main": "index.js", "dependencies": { "@eslint/eslintrc": "^3.1.0", "@eslint/js": "^9.13.0", "@guolao/vue-monaco-editor": "^1.5.1", "@h2d2/shopicons": "^1.2.0", "@playwright/test": "^1.46.1", "@popperjs/core": "^2.11.5", "@types/bootstrap": "^5.2.10", "@types/canvas-confetti": "^1.9.0", "@unhead/vue": "^2.0.8", "@vitejs/plugin-legacy": "^6.0.1", "@vitejs/plugin-vue": "^5.0.4", "@vue/compiler-sfc": "^3.2.30", "@vue/eslint-config-prettier": "^10.1.0", "@vue/eslint-config-typescript": "^14.1.3", "@vue/test-utils": "^2.2.7", "@vue/tsconfig": "^0.7.0", "axios": "^1.7.4", "body-parser": "^2.2.0", "bootstrap": "^5.2.2", "canvas-confetti": "^1.4.0", "chart.js": "^4.4.4", "chartjs-adapter-dayjs-4": "^1.0.4", "chartjs-plugin-datalabels": "^2.2.0", "countup.js": "^2.3.2", "dayjs": "^1.11.13", "eslint": "^9.13.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-import": "^2.25.3", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-promise": "^7.1.0", "eslint-plugin-vue": "^9.3.0", "globals": "^16.0.0", "happy-dom": "^18.0.1", "kill-port": "^2.0.1", "monaco-editor": "^0.52.2", "mqtt": "^5.11.0", "prettier": "^3.0.0", "prettier-plugin-sh": "^0.17.4", "rollup-plugin-visualizer": "^6.0.1", "smoothscroll-polyfill": "^0.4.4", "snarkdown": "^2.0.0", "typescript": "^5.2.2", "typescript-eslint-language-service": "^5.0.5", "vite": "^6.1.0", "vitest": "^3.0.5", "vue": "^3.2.29", "vue-chartjs": "^5.3.1", "vue-eslint-parser": "^9.1.0", "vue-hot-reload-api": "^2.3.4", "vue-i18n": "^11.1.0", "vue-router": "^4.0.12", "vue-tsc": "^2.2.8", "wait-on": "^8.0.0" }, "engines": { "npm": ">=10.0.0", "node": ">=22.0.0" }, "license": "MIT", "repository": "github:evcc-io/evcc", "eslintConfig": { "extends": [ "plugin:storybook/recommended" ] }, "devDependencies": { "@chromatic-com/storybook": "^3.2.5", "@storybook/addon-essentials": "^8.6.4", "@storybook/addon-interactions": "^8.6.4", "@storybook/blocks": "^8.6.4", "@storybook/test": "^8.6.4", "@storybook/vue3": "^8.6.4", "@storybook/vue3-vite": "^8.6.4", "@types/body-parser": "^1.19.6", "@types/kill-port": "^2.0.3", "@types/smoothscroll-polyfill": "^0.3.4", "@types/wait-on": "^5.3.4", "cross-env": "^7.0.3", "eslint-plugin-storybook": "^0.12.0", "prettier-plugin-sort-json": "^4.1.1", "storybook": "^8.6.4" } }