{
  "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",
  "type": "module",
  "scripts": {
    "lint": "node --run lint:css && node --run lint:js",
    "lint:css": "stylelint src/*.scss src/**/*.scss",
    "lint:js": "eslint src test config/test",
    "lint:fix": "node --run lint:css:fix && node --run lint:js:fix",
    "lint:css:fix": "node --run lint:css -- --fix",
    "lint:js:fix": "node --run lint:js -- --fix",
    "types": "tsc",
    "start": "vite serve --host=0.0.0.0",
    "preview": "vite preview --host=0.0.0.0",
    "build": "node --run types && vite build && node scripts/replace-version.mjs",
    "build:dist": "node --run build && node scripts/create-dist-file.mjs",
    "test": "vitest run --run",
    "test:watch": "vitest --watch",
    "test:ci": "node --run test -- --coverage",
    "test:verbose": "node --run test -- --verbose"
  },
  "dependencies": {
    "@fortawesome/fontawesome-free": "^6.7.1",
    "@fortawesome/fontawesome-svg-core": "^6.7.1",
    "@fortawesome/free-brands-svg-icons": "^6.7.1",
    "@fortawesome/free-regular-svg-icons": "^6.7.1",
    "@fortawesome/free-solid-svg-icons": "^6.7.1",
    "@fortawesome/react-fontawesome": "^0.2.2",
    "@json2csv/plainjs": "^7.0.6",
    "@reduxjs/toolkit": "^2.4.0",
    "@shlinkio/data-manipulation": "^1.0.3",
    "@shlinkio/shlink-frontend-kit": "^0.6.0",
    "@shlinkio/shlink-js-sdk": "^1.3.0",
    "@shlinkio/shlink-web-component": "^0.11.0",
    "bootstrap": "5.2.3",
    "bottlejs": "^2.0.1",
    "clsx": "^2.1.1",
    "compare-versions": "^6.1.1",
    "csvtojson": "^2.0.10",
    "date-fns": "^4.1.0",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-external-link": "^2.3.1",
    "react-redux": "^9.1.2",
    "react-router-dom": "^6.28.0",
    "reactstrap": "^9.2.3",
    "redux-localstorage-simple": "^2.5.1",
    "workbox-core": "^7.3.0",
    "workbox-expiration": "^7.3.0",
    "workbox-precaching": "^7.3.0",
    "workbox-routing": "^7.3.0",
    "workbox-strategies": "^7.3.0"
  },
  "devDependencies": {
    "@shlinkio/eslint-config-js-coding-standard": "~3.2.1",
    "@shlinkio/stylelint-config-css-coding-standard": "~1.1.1",
    "@stylistic/eslint-plugin": "^2.11.0",
    "@testing-library/jest-dom": "^6.6.3",
    "@testing-library/react": "^16.0.1",
    "@testing-library/user-event": "^14.5.2",
    "@total-typescript/shoehorn": "^0.1.2",
    "@types/react": "^18.3.12",
    "@types/react-dom": "^18.3.1",
    "@types/uuid": "^10.0.0",
    "@vitejs/plugin-react": "^4.3.4",
    "@vitest/coverage-v8": "^2.1.6",
    "adm-zip": "^0.5.16",
    "axe-core": "^4.10.2",
    "chalk": "^5.3.0",
    "eslint": "^9.16.0",
    "eslint-plugin-jsx-a11y": "^6.10.2",
    "eslint-plugin-react": "^7.37.2",
    "eslint-plugin-react-hooks": "^5.0.0",
    "eslint-plugin-simple-import-sort": "^12.1.1",
    "history": "^5.3.0",
    "jsdom": "^25.0.1",
    "sass": "^1.81.0",
    "stylelint": "^15.11.0",
    "typescript": "^5.7.2",
    "typescript-eslint": "^8.16.0",
    "vite": "^6.0.1",
    "vite-plugin-pwa": "^0.21.1",
    "vitest": "^2.0.2"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}
