{ "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.3", "vite-plugin-pwa": "^0.21.1", "vitest": "^2.0.2" }, "browserslist": [ ">0.2%", "not dead", "not ie <= 11", "not op_mini all" ] }