{
  "package": {
    "scripts": {
      "start": "nodemon --exec \"env-cmd -r ./config/env.js -e default,dev craco start\"",
      "build": "env-cmd -r ./config/env.js -e default,prod craco build",
      "test": "craco test",
      "start:no-mock": "cross-env REACT_APP_MOCK=none nodemon --exec \"env-cmd -r ./config/env.js -e default,dev craco start\"",
      "start:dev": "cross-env REACT_APP_MOCK=none nodemon --exec \"env-cmd -r ./config/env.js -e default,dev craco start\"",
      "start:test": "cross-env REACT_APP_MOCK=none nodemon --exec \"env-cmd -r ./config/env.js -e default,test craco start\"",
      "zip": "node ./config/zip.js",
      "build:analyze": "env-cmd -r ./config/env.js -e default,prod cross-env GENERATE_SOURCEMAP=true BUILD_PATH=dist-analyze craco build",
      "analyze": "npm run build:analyze && source-map-explorer 'dist-analyze/static/js/*.js' --no-border-checks",
      "prettier": "prettier -w \"{src,config,mock}/**/*\"",
      "lint": "eslint . --ext .ts,.tsx,.js,.jsx",
      "lint:style": "stylelint src/**/*.{css,less}",
      "tsc": "tsc --noEmit",
      "commit": "cz",
      "prepare": "husky install"
    },
    "cracoConfig": "config/config.js",
    "nodemonConfig": {
      "ignore": "config/zip.js",
      "watch": "config"
    },
    "browserslist": {
      "production": [">0.2%", "not dead", "not op_mini all"],
      "development": [
        "last 1 chrome version",
        "last 1 firefox version",
        "last 1 safari version"
      ]
    },
    "lint-staged": {
      "**/*.{less,css}": "stylelint --fix",
      "**/*.{js,jsx,ts,tsx}": "eslint",
      "**/*.{js,jsx,ts,tsx,json,css,scss,sass,less,md}": "prettier -w"
    },
    "config": {
      "commitizen": {
        "path": "@commitlint/cz-commitlint"
      }
    },
    "dependencies": {
      "axios": "^1.9.0",
      "cache2": "^3.1.2",
      "classnames": "^2.5.1",
      "rc-hooks": "^3.0.22",
      "react": "^18.3.1",
      "react-dom": "^18.3.1",
      "react-router-dom": "^6.30.1",
      "react-scripts": "^5.0.1",
      "react-transition-group": "^4.4.5",
      "ut2": "^1.19.1"
    },
    "devDependencies": {
      "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
      "@commitlint/cli": "^17.8.1",
      "@commitlint/config-conventional": "^17.8.1",
      "@commitlint/cz-commitlint": "^17.8.1",
      "@craco/craco": "^7.1.0",
      "@testing-library/dom": "^9.3.4",
      "@testing-library/jest-dom": "^6.6.3",
      "@testing-library/react": "^14.3.1",
      "@testing-library/user-event": "^14.6.1",
      "@types/jest": "^29.5.14",
      "@types/mockjs": "^1.0.10",
      "@types/node": "^20.17.57",
      "@types/react": "^18.3.23",
      "@types/react-dom": "^18.3.7",
      "@types/react-transition-group": "^4.4.12",
      "archiver": "^7.0.1",
      "babel-plugin-transform-remove-console": "^6.9.4",
      "chalk": "^4.1.2",
      "commitizen": "^4.3.1",
      "craco-less": "^3.0.1",
      "cross-env": "^7.0.3",
      "env-cmd": "^10.1.0",
      "glob": "^10.4.5",
      "husky": "^8.0.3",
      "inquirer": "^8.2.6",
      "jest": "^29.7.0",
      "lint-staged": "^12.5.0",
      "mkdirp": "^3.0.1",
      "mocker-api": "^2.10.0",
      "mockjs-extend": "^1.5.1",
      "nodemon": "^3.1.10",
      "prettier": "^3.5.3",
      "prettier-plugin-two-style-order": "^1.0.1",
      "source-map-explorer": "^2.5.3",
      "stylelint": "^14.16.1",
      "stylelint-config-css-modules": "~4.1.0",
      "stylelint-config-standard": "^29.0.0",
      "stylelint-declaration-block-no-ignored-properties": "^2.8.0",
      "stylelint-no-unsupported-browser-features": "^6.1.0",
      "ts-node": "^10.9.2",
      "typescript": "^4.9.5",
      "web-vitals": "^4.2.4",
      "webpackbar": "^6.0.1"
    }
  }
}
