mirror of
https://gitee.com/pnoker/iot-dc3.git
synced 2026-09-01 04:48:26 +08:00
110 lines
3.3 KiB
JSON
110 lines
3.3 KiB
JSON
{
|
|
"name": "iot-dc3-web",
|
|
"version": "2026.5.22",
|
|
"private": true,
|
|
"author": "pnoker",
|
|
"description": "IoT DC3 Industrial AI IoT Platform frontend — Vue 3 + TypeScript + Element Plus",
|
|
"license": "AGPL-3.0-or-later",
|
|
"homepage": "https://github.com/pnoker/iot-dc3",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/pnoker/iot-dc3.git"
|
|
},
|
|
"keywords": [
|
|
"iot",
|
|
"dc3",
|
|
"web",
|
|
"vue3",
|
|
"typescript",
|
|
"element-plus"
|
|
],
|
|
"engines": {
|
|
"node": ">=22.0.0"
|
|
},
|
|
"packageManager": "pnpm@11.15.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite --host --mode dev",
|
|
"dev:prod": "vite --host --mode production",
|
|
"serve:e2e": "vite build --mode dev && node scripts/testing/e2e-server.mjs",
|
|
"build": "vite build",
|
|
"build:mock": "vite build --mode mock",
|
|
"preview": "vite preview",
|
|
"check": "vue-tsc --noEmit --skipLibCheck",
|
|
"type-check": "pnpm run check",
|
|
"lint": "eslint . --fix",
|
|
"lint:check": "eslint .",
|
|
"test": "vitest run",
|
|
"test:unit": "vitest run tests/unit",
|
|
"test:api": "vitest run tests/api",
|
|
"test:component": "vitest run tests/component",
|
|
"test:views": "vitest run tests/views",
|
|
"test:guard": "vitest run tests/guardrails",
|
|
"test:impact": "node scripts/testing/changed-test-plan.mjs",
|
|
"test:ci": "vitest run --coverage",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:headed": "E2E_HEADLESS=false playwright test",
|
|
"test:e2e:ui": "playwright test --ui",
|
|
"test:e2e:sweep": "node tests/e2e/browser-sweep.mjs",
|
|
"test:e2e:sweep:headed": "E2E_HEADLESS=false node tests/e2e/browser-sweep.mjs",
|
|
"test:all": "pnpm run test && pnpm run test:e2e",
|
|
"prepare": "cd .. && git config core.hooksPath .husky/_",
|
|
"clean": "rimraf dist"
|
|
},
|
|
"dependencies": {
|
|
"@amap/amap-jsapi-loader": "^1.0.1",
|
|
"@antv/g2": "^5.4.8",
|
|
"@antv/g6": "^5.1.1",
|
|
"@element-plus/icons-vue": "^2.3.2",
|
|
"axios": "^1.18.1",
|
|
"dayjs": "^1.11.21",
|
|
"dompurify": "^3.4.13",
|
|
"element-plus": "^2.14.3",
|
|
"highlight.js": "^11.11.1",
|
|
"js-base64": "^3.9.1",
|
|
"js-cookie": "^3.0.8",
|
|
"marked": "^18.0.6",
|
|
"mitt": "^3.0.1",
|
|
"nprogress": "^0.2.0",
|
|
"pinia": "^4.0.2",
|
|
"vue": "^3.5.40",
|
|
"vue-element-plus-x": "^2.0.3",
|
|
"vue-i18n": "^11.4.6",
|
|
"vue-router": "^5.2.0"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^10.0.1",
|
|
"@playwright/test": "^1.62.0",
|
|
"@types/js-cookie": "^3.0.6",
|
|
"@types/node": "^26.1.1",
|
|
"@types/nprogress": "^0.2.3",
|
|
"@typescript-eslint/eslint-plugin": "^8.64.0",
|
|
"@typescript-eslint/parser": "^8.64.0",
|
|
"@vitejs/plugin-vue": "^6.0.8",
|
|
"@vitest/coverage-v8": "^4.1.10",
|
|
"@vue/eslint-config-typescript": "^14.9.0",
|
|
"@vue/test-utils": "^2.4.11",
|
|
"eslint": "^10.7.0",
|
|
"eslint-plugin-vue": "^10.10.0",
|
|
"globals": "^17.8.0",
|
|
"happy-dom": "^20.11.0",
|
|
"jsdom": "^30.0.1",
|
|
"lint-staged": "^17.1.0",
|
|
"playwright": "^1.61.1",
|
|
"sass": "^1.102.0",
|
|
"typescript": "~6.0.3",
|
|
"unplugin-auto-import": "^21.0.0",
|
|
"unplugin-vue-components": "^32.1.0",
|
|
"vite": "^8.1.5",
|
|
"vitest": "^4.1.10",
|
|
"vue-eslint-parser": "^10.4.1",
|
|
"vue-tsc": "^3.3.7"
|
|
},
|
|
"lint-staged": {
|
|
"*.{vue,js,mjs,cjs,ts,jsx,tsx}": [
|
|
"eslint --fix --config eslint.config.mjs"
|
|
]
|
|
}
|
|
}
|