{
  "name": "<%= projectName %>",
  "version": "0.0.1",
  "description": "<%= projectDesc %>",
  "author": "<%= userName %>",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build --mode prod",
    "alpha": "vue-cli-service build --mode alpha",
    "test:unit": "vue-cli-service test:unit",
    "test:e2e": "vue-cli-service test:e2e",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {<% if(useTS) {%>
    "ant-design-vue": "^1.7.2",<% } %>
    "axios": "^0.21.0",
    "core-js": "^3.6.5",<% if(useTS) {%>
    "vue-class-component": "^7.2.3",
    "vue-property-decorator": "^8.4.2",<% } %><% if(useRouter) {%>
    "vue-router": "^3.2.0",<% } %><% if(useVuex) {%>
    "vuex": "^3.4.0",<% } %><% if(useI18n) {%>
    "vue-i18n": "^8.22.2",<% } %><% if(useTS) {%>
    "vuex-module-decorators": "^0.16.1",<% } %>
    "vue": "^2.6.11"
  },
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "^2.33.0",
    "@typescript-eslint/parser": "^2.33.0",
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-plugin-router": "~4.5.0",
    "@vue/cli-plugin-typescript": "~4.5.0",
    "@vue/cli-plugin-vuex": "~4.5.0",
    "@vue/cli-service": "~4.5.0",<% if(eslintConfig === 'airbnb') {%>
    "@vue/eslint-config-airbnb": "^5.0.2",<% } %><% if(eslintConfig === 'standard') {%>
    "@vue/eslint-config-standard": "^6.0.0",<% } %>
    "@vue/eslint-config-typescript": "^5.0.2",<% if(useHusky) {%>
    "husky": "^4.2.5",
    "@commitlint/cli": "^8.3.5",
    "@commitlint/config-conventional": "^8.2.0",<% } %>
    "typescript": "~3.9.3",
    "vue-template-compiler": "^2.6.11",
    "eslint": "^6.7.2",
    "eslint-plugin-import": "^2.20.2",
    "eslint-plugin-vue": "^6.2.2",
    "style-loader": "^2.0.0",
    "less": "^3.0.4",
    "less-loader": "^5.0.0",
    "lint-staged": "^9.5.0"
  },<% if(useHusky) {%>
  "husky": {
    "hooks": {
      "commit-msg": "cross-env-shell commitlint -e $GIT_PARAMS",
      "pre-commit": "lint-staged"
    }
  },
  "commitlint": {
    "extends": [
      "@commitlint/config-conventional"
    ]
  },<% } %>
  "gitHooks": {
    "pre-commit": "lint-staged"
  },
  "lint-staged": {
    "*.{js,jsx,vue,ts,tsx}": [
      "vue-cli-service lint",
      "git add"
    ]
  },
  "eslintConfig": {
    "parser": "@typescript-eslint/parser",
    "plugins": [
      "vue",
      "@typescript-eslint"
    ],
    "extends": [<% if(eslintConfig === 'airbnb') {%>
      "@vue/airbnb",<% } %><% if(eslintConfig === 'standard') {%>
      "@vue/standard",<% } %>
      "@vue/typescript"
    ],
    "parserOptions": {
      "ecmaVersion": 6,
      "sourceType": "module"
    },
    "rules": {
      "no-unused-vars": "off",
      "class-methods-use-this": "off",
      "consistent-return": "off",
      "no-underscore-dangle": "off",
      "linebreak-style": "off",
      "no-param-reassign": [
        "error",
        {
          "props": false
        }
      ]
    }
  }
}
