{
  "name": "shlink-web-client",
  "description": "A React-based progressive web application for shlink",
  "private": false,
  "homepage": "",
  "repository": "https://github.com/shlinkio/shlink-web-client",
  "license": "MIT",
  "scripts": {
    "lint": "npm run lint:css && npm run lint:js",
    "lint:css": "stylelint src/*.scss src/**/*.scss",
    "lint:js": "eslint --ext .js,.ts,.tsx src test",
    "lint:fix": "npm run lint:css:fix && npm run lint:js:fix",
    "lint:css:fix": "npm run lint:css -- --fix",
    "lint:js:fix": "npm run lint:js -- --fix",
    "start": "vite serve --host=0.0.0.0",
    "build": "tsc && vite build && node scripts/replace-version.mjs",
    "build:dist": "npm run build && node scripts/create-dist-file.mjs",
    "build:serve": "serve -p 5000 ./build",
    "test": "jest --env=jsdom --colors",
    "test:coverage": "npm run test -- --coverage --coverageReporters=text --coverageReporters=text-summary",
    "test:ci": "npm run test:coverage -- --coverageReporters=clover --ci",
    "test:pretty": "npm run test:coverage -- --coverageReporters=html",
    "test:verbose": "npm run test -- --verbose",
    "mutate": "./node_modules/.bin/stryker run --concurrency 4 --ignoreStatic"
  },
  "dependencies": {
    "@babel/preset-env": "^7.20.2",
    "@babel/preset-react": "^7.18.6",
    "@babel/preset-typescript": "^7.18.6",
    "@fortawesome/fontawesome-free": "^6.2.0",
    "@fortawesome/fontawesome-svg-core": "^6.2.0",
    "@fortawesome/free-regular-svg-icons": "^6.2.0",
    "@fortawesome/free-solid-svg-icons": "^6.2.0",
    "@fortawesome/react-fontawesome": "^0.2.0",
    "@json2csv/plainjs": "^6.1.2",
    "@reduxjs/toolkit": "^1.9.0",
    "bootstrap": "^5.2.2",
    "bottlejs": "^2.0.1",
    "bowser": "^2.11.0",
    "chart.js": "^3.9.1",
    "classnames": "^2.3.1",
    "compare-versions": "^5.0.1",
    "csvtojson": "^2.0.10",
    "date-fns": "^2.29.3",
    "event-source-polyfill": "^1.0.31",
    "history": "^5.3.0",
    "leaflet": "^1.9.2",
    "qs": "^6.11.0",
    "ramda": "^0.27.2",
    "react": "^18.2.0",
    "react-chartjs-2": "^4.3.1",
    "react-colorful": "^5.6.1",
    "react-copy-to-clipboard": "^5.1.0",
    "react-datepicker": "^4.8.0",
    "react-dom": "^18.2.0",
    "react-external-link": "^2.0.0",
    "react-leaflet": "^4.1.0",
    "react-redux": "^8.0.4",
    "react-router-dom": "^6.4.1",
    "react-swipeable": "^7.0.0",
    "react-tag-autocomplete": "^6.3.0",
    "reactstrap": "^9.1.4",
    "redux": "^4.2.0",
    "redux-localstorage-simple": "^2.5.1",
    "redux-thunk": "^2.4.1",
    "uuid": "^8.3.2",
    "workbox-core": "^6.5.4",
    "workbox-expiration": "^6.5.4",
    "workbox-precaching": "^6.5.4",
    "workbox-routing": "^6.5.4",
    "workbox-strategies": "^6.5.4"
  },
  "devDependencies": {
    "@shlinkio/eslint-config-js-coding-standard": "~2.0.2",
    "@shlinkio/stylelint-config-css-coding-standard": "~1.0.1",
    "@stryker-mutator/core": "^6.2.2",
    "@stryker-mutator/jest-runner": "^6.2.2",
    "@stryker-mutator/typescript-checker": "^6.2.2",
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^14.4.3",
    "@types/jest": "^29.1.1",
    "@types/json2csv": "^5.0.3",
    "@types/leaflet": "^1.8.0",
    "@types/qs": "^6.9.7",
    "@types/ramda": "^0.28.15",
    "@types/react": "^18.0.21",
    "@types/react-color": "^3.0.6",
    "@types/react-copy-to-clipboard": "^5.0.4",
    "@types/react-datepicker": "^4.4.2",
    "@types/react-dom": "^18.0.6",
    "@types/react-tag-autocomplete": "^6.3.0",
    "@types/uuid": "^8.3.4",
    "@vitejs/plugin-react": "^3.0.0",
    "adm-zip": "^0.5.9",
    "babel-jest": "^29.3.1",
    "chalk": "^5.0.1",
    "eslint": "^8.24.0",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^29.1.2",
    "jest-canvas-mock": "^2.4.0",
    "jest-environment-jsdom": "^29.1.2",
    "resize-observer-polyfill": "^1.5.1",
    "sass": "^1.55.0",
    "serve": "^14.1.1",
    "stryker-cli": "^1.0.2",
    "stylelint": "^14.13.0",
    "ts-mockery": "^1.2.0",
    "typescript": "^4.8.4",
    "vite": "^4.0.3",
    "vite-plugin-pwa": "^0.14.0"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}