{
  "name": "blessing-skin-server",
  "version": "5.2.0",
  "description": "A web application brings your custom skins back in offline Minecraft servers.",
  "repository": {
    "type": "git",
    "url": "https://github.com/bs-community/blessing-skin-server"
  },
  "author": "printempw",
  "license": "MIT",
  "private": true,
  "scripts": {
    "dev": "webpack-dev-server",
    "build": "webpack -p --progress && webpack -p --config=webpack.meta.config.ts",
    "lint": "eslint --ext=ts -f=beauty .",
    "fmt": "prettier --write resources/assets scripts webpack.*.ts",
    "fmt:check": "prettier --check resources/assets scripts webpack.*.ts",
    "test": "jest",
    "build:urls": "ts-node scripts/generateUrls.ts"
  },
  "dependencies": {
    "@emotion/core": "^10.0.28",
    "@emotion/styled": "^10.0.27",
    "@hot-loader/react-dom": "^16.13.0",
    "@tweenjs/tween.js": "^18.5.0",
    "blessing-skin-shell": "^0.3.1",
    "cli-spinners": "^2.3.0",
    "commander": "^5.1.0",
    "echarts": "^4.7.0",
    "enquirer": "^2.3.5",
    "immer": "^7.0.4",
    "lodash.debounce": "^4.0.8",
    "nanoid": "^3.1.9",
    "react": "^16.13.0",
    "react-autosuggest": "^10.0.2",
    "react-dom": "^16.13.0",
    "react-draggable": "^4.4.2",
    "react-hot-loader": "^4.12.21",
    "react-loading-skeleton": "^2.1.1",
    "reaptcha": "^1.7.2",
    "rxjs": "^6.5.5",
    "skinview-utils": "^0.5.5",
    "skinview3d": "^1.2.1",
    "spectre.css": "^0.5.8",
    "use-immer": "^0.4.0",
    "workbox-expiration": "^5.1.3",
    "workbox-routing": "^5.1.3",
    "workbox-strategies": "^5.1.3",
    "xterm": "^4.6.0",
    "xterm-addon-fit": "^0.4.0"
  },
  "devDependencies": {
    "@gplane/tsconfig": "^1.1.0",
    "@testing-library/jest-dom": "^5.7.0-beta.1",
    "@testing-library/react": "^10.0.4",
    "@types/bootstrap": "^4.3.3",
    "@types/echarts": "^4.6.0",
    "@types/jest": "^25.2.3",
    "@types/jquery": "^3.3.38",
    "@types/js-yaml": "^3.12.4",
    "@types/lodash.debounce": "^4.0.6",
    "@types/mini-css-extract-plugin": "^0.9.1",
    "@types/react": "^16.9.35",
    "@types/react-autosuggest": "^9.3.14",
    "@types/react-dom": "^16.9.8",
    "@types/terser-webpack-plugin": "^3.0.0",
    "@types/tween.js": "^18.5.0",
    "@types/webpack": "^4.41.18",
    "@types/webpack-dev-server": "^3.11.0",
    "@types/webpack-manifest-plugin": "^2.1.0",
    "@typescript-eslint/eslint-plugin": "^3.6.0",
    "@typescript-eslint/parser": "^3.6.0",
    "autoprefixer": "^9.8.0",
    "bootstrap": "^4.5.0",
    "css-loader": "^3.6.0",
    "cssnano": "^4.1.10",
    "eslint": "^7.4.0",
    "eslint-formatter-beauty": "^3.0.0",
    "file-loader": "^6.0.0",
    "jest": "^26.0.1",
    "jest-extended": "^0.11.5",
    "jquery": "^3.5.1",
    "js-yaml": "^3.13.1",
    "mini-css-extract-plugin": "^0.9.0",
    "postcss-loader": "^3.0.0",
    "prettier": "^2.0.5",
    "style-loader": "^1.2.1",
    "ts-jest": "^26.0.0",
    "ts-loader": "^7.0.4",
    "ts-node": "^8.10.2",
    "typescript": "^4.0.2",
    "url-loader": "^4.1.0",
    "webpack": "^4.43.0",
    "webpack-cli": "^3.3.11",
    "webpack-dev-server": "^3.11.0",
    "webpack-manifest-plugin": "^2.2.0"
  },
  "browserslist": [
    "> 1%",
    "not dead",
    "not ie 11",
    "Chrome > 52"
  ],
  "prettier": {
    "printWidth": 80,
    "semi": false,
    "singleQuote": true,
    "trailingComma": "all",
    "tabWidth": 2
  },
  "jest": {
    "preset": "ts-jest",
    "resetMocks": true,
    "timers": "modern",
    "transform": {
      ".*\\.tsx?$": "ts-jest"
    },
    "moduleFileExtensions": [
      "js",
      "ts",
      "tsx",
      "json",
      "node"
    ],
    "moduleNameMapper": {
      "\\.css$": "<rootDir>/resources/assets/tests/__mocks__/style.ts",
      "\\.(png|webp)$": "<rootDir>/resources/assets/tests/__mocks__/file.ts",
      "^@/(.*)$": "<rootDir>/resources/assets/src/$1"
    },
    "setupFilesAfterEnv": [
      "<rootDir>/resources/assets/tests/setup.ts"
    ],
    "coveragePathIgnorePatterns": [
      "/node_modules/",
      "<rootDir>/resources/assets/src/styles",
      "<rootDir>/resources/assets/src/scripts/extra.ts",
      "<rootDir>/resources/assets/src/scripts/urls.ts",
      "<rootDir>/resources/assets/tests/setup",
      "<rootDir>/resources/assets/tests/utils",
      "<rootDir>/resources/assets/tests/scripts/cli/stdio"
    ],
    "testMatch": [
      "<rootDir>/resources/assets/tests/**/*.test.ts",
      "<rootDir>/resources/assets/tests/**/*.test.tsx"
    ],
    "testPathIgnorePatterns": [
      "/node_modules/",
      "<rootDir>/resources/assets/tests/(views|components)/.*\\.ts$"
    ],
    "globals": {
      "ts-jest": {
        "tsConfig": "<rootDir>/resources/assets/tests/tsconfig.json",
        "isolatedModules": true
      }
    }
  }
}
