{
  "name": "eco-boot-web",
  "private": true,
  "version": "1.0.0",
  "type": "module",
  "author": {
    "name": "wanggaokun",
    "email": "wanggaokun@wo.com",
    "url": "https://gitee.com/gaokunw/eco-boot-web"
  },
  "scripts": {
    "i": "pnpm install",
    "dev": "vite --mode development",
    "build": "vue-tsc -b && vite build --mode production",
    "preview": "vite preview",
    "prepare": "husky install",
    "lint:lint-staged": "lint-staged -c ./.husky/lint-staged-c.cjs",
    "lint:eslint": "eslint . --fix \"src/**/*.{js,ts,tsx,vue,html}\"",
    "lint:prettier": "prettier --write \"src/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\"",
    "lint:stylelint": "stylelint --cache --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/",
    "commit": "git add -A && git-cz && git push",
    "release": "standard-version",
    "commitlint": "commitlint --config commitlint.config.cjs -e -V"
  },
  "dependencies": {
    "@element-plus/icons-vue": "^2.3.1",
    "@vueuse/core": "^13.5.0",
    "axios": "^1.10.0",
    "element-plus": "^2.10.4",
    "nprogress": "^0.2.0",
    "pinia": "^3.0.3",
    "pinia-plugin-persistedstate": "^4.4.1",
    "sortablejs": "^1.15.6",
    "vue": "^3.5.17",
    "vue-eslint-parser": "^10.2.0",
    "vue-router": "^4.5.1"
  },
  "devDependencies": {
    "@commitlint/cli": "^19.8.1",
    "@commitlint/config-conventional": "^19.8.1",
    "@eslint/js": "^9.31.0",
    "@types/node": "^24.0.13",
    "@types/node-forge": "^1.3.13",
    "@types/nprogress": "^0.2.3",
    "@types/sortablejs": "^1.15.8",
    "@vitejs/plugin-vue": "^6.0.0",
    "@vitejs/plugin-vue-jsx": "^5.0.1",
    "@vue/eslint-config-prettier": "^10.2.0",
    "@vue/eslint-config-typescript": "^14.6.0",
    "@vue/tsconfig": "^0.7.0",
    "commitizen": "^4.3.1",
    "cz-git": "^1.12.0",
    "eslint": "^9.31.0",
    "eslint-plugin-prettier": "^5.5.1",
    "eslint-plugin-vue": "^10.3.0",
    "husky": "^9.1.7",
    "lint-staged": "^16.1.2",
    "node-forge": "^1.3.1",
    "postcss": "^8.5.6",
    "postcss-html": "^1.8.0",
    "postcss-scss": "^4.0.9",
    "prettier": "^3.6.2",
    "sass": "^1.89.2",
    "stylelint-config-html": "^1.1.0",
    "stylelint-config-recommended-scss": "^15.0.1",
    "stylelint-config-recommended-vue": "^1.6.1",
    "stylelint-config-standard": "^38.0.0",
    "stylelint-config-standard-scss": "^15.0.1",
    "typescript": "~5.8.3",
    "typescript-eslint": "^8.36.0",
    "unplugin-auto-import": "^19.3.0",
    "unplugin-icons": "^22.1.0",
    "unplugin-vue-components": "^28.8.0",
    "vite": "^7.0.4",
    "vite-plugin-ejs": "^1.7.0",
    "vite-plugin-svg-icons": "^2.0.1",
    "vite-plugin-vue-setup-extend": "^0.4.0",
    "vue-tsc": "^2.2.12"
  },
  "engines": {
    "node": ">=20.0.0"
  },
  "config": {
    "commitizen": {
      "path": "node_modules/cz-git"
    }
  },
  "lint-staged": {
    "*.{js,ts}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{cjs,json}": [
      "prettier --write"
    ],
    "*.{vue,html}": [
      "eslint --fix",
      "prettier --write",
      "stylelint --fix --allow-empty-input"
    ],
    "*.{scss,css}": [
      "stylelint --fix --allow-empty-input",
      "prettier --write"
    ]
  }
}
