package.json 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. {
  2. "name": "flash-link-home-web",
  3. "private": true,
  4. "version": "0.0.1",
  5. "type": "module",
  6. "browserslist": [
  7. "> 0.5%",
  8. "last 2 versions",
  9. "not dead",
  10. "not op_mini all",
  11. "android >= 4.4",
  12. "ios >= 9"
  13. ],
  14. "scripts": {
  15. "dev": "npm run dev:ssg",
  16. "dev:ssg": "cross-env APP_RENDER_MODE=ssg react-router dev --mode localdev",
  17. "dev:csr": "cross-env APP_RENDER_MODE=csr vite --mode localdev",
  18. "build": "npm run build:prod",
  19. "build:prod": "npm run build:ssg:prod",
  20. "build:dev": "npm run build:ssg:dev",
  21. "build:test": "npm run build:ssg:test",
  22. "build:ssg:dev": "cross-env APP_RENDER_MODE=ssg react-router build --mode development",
  23. "build:ssg:prod": "cross-env APP_RENDER_MODE=ssg react-router build --mode production",
  24. "build:ssg:test": "cross-env APP_RENDER_MODE=ssg react-router build --mode test",
  25. "build:csr:dev": "cross-env APP_RENDER_MODE=csr tsc && cross-env APP_RENDER_MODE=csr vite build --mode development",
  26. "build:csr:prod": "cross-env APP_RENDER_MODE=csr tsc && cross-env APP_RENDER_MODE=csr vite build --mode production",
  27. "build:csr:test": "cross-env APP_RENDER_MODE=csr tsc && cross-env APP_RENDER_MODE=csr vite build --mode test",
  28. "typecheck": "react-router typegen && tsc",
  29. "preview": "npm run preview:ssg",
  30. "preview:ssg": "sirv dist/client --single --port 8848",
  31. "preview:csr": "sirv dist --single --port 8848",
  32. "lint": "eslint . --report-unused-disable-directives --max-warnings 0",
  33. "lint:fix": "eslint . --fix && prettier --write \"src/**/*.{ts,tsx,js,jsx}\"",
  34. "stylelint": "stylelint \"src/**/*.{css,less,scss,vue}\"",
  35. "stylelint:fix": "stylelint \"src/**/*.{css,less,scss,vue}\" --fix && prettier --write \"src/**/*.{css,less,scss,vue}\"",
  36. "prepare": "husky install"
  37. },
  38. "dependencies": {
  39. "@ant-design/icons": "^5.6.1",
  40. "@iconify-icons/bi": "^1.2.19",
  41. "@iconify-icons/carbon": "^1.2.20",
  42. "@iconify-icons/ep": "^1.2.12",
  43. "@iconify-icons/fa": "^1.2.4",
  44. "@iconify-icons/mdi": "^1.2.48",
  45. "@iconify-icons/ri": "^1.2.10",
  46. "@iconify/react": "^5.2.1",
  47. "@react-router/node": "7.13.0",
  48. "antd": "^5.29.3",
  49. "axios": "^1.13.5",
  50. "brotli-wasm": "3.0.1",
  51. "copy-to-clipboard": "^3.3.3",
  52. "crypto-js": "^4.2.0",
  53. "dayjs": "^1.11.19",
  54. "dayjs-plugin-utc": "0.1.2",
  55. "fflate": "0.8.2",
  56. "file-saver": "^2.0.5",
  57. "firebase": "^11.10.0",
  58. "i18next": "^23.16.8",
  59. "i18next-browser-languagedetector": "^8.2.0",
  60. "isbot": "^5",
  61. "js-cookie": "^3.0.5",
  62. "lodash-es": "^4.17.23",
  63. "qrcode.react": "4.2.0",
  64. "qs": "^6.14.1",
  65. "ramda": "^0.30.1",
  66. "react": "^18.3.1",
  67. "react-dom": "^18.3.1",
  68. "react-i18next": "^14.1.3",
  69. "react-markdown": "10.1.0",
  70. "react-router": "7.13.0",
  71. "react-router-dom": "^7.13.0",
  72. "remark-gfm": "4.0.1"
  73. },
  74. "devDependencies": {
  75. "@commitlint/cli": "^19.8.0",
  76. "@commitlint/config-conventional": "^19.8.0",
  77. "@eslint/js": "^9.21.0",
  78. "@iconify/tools": "^4.1.2",
  79. "@react-router/dev": "7.13.0",
  80. "@types/crypto-js": "^4.2.2",
  81. "@types/file-saver": "^2.0.7",
  82. "@types/js-cookie": "^3.0.6",
  83. "@types/lodash-es": "^4.17.12",
  84. "@types/node": "^22.13.10",
  85. "@types/qs": "^6.14.0",
  86. "@types/ramda": "^0.30.2",
  87. "@types/react": "^18.3.28",
  88. "@types/react-dom": "^18.3.7",
  89. "@vitejs/plugin-legacy": "7.2.1",
  90. "@vitejs/plugin-react": "^4.7.0",
  91. "autoprefixer": "10.4.17",
  92. "boxen": "^8.0.1",
  93. "consola": "^3.4.2",
  94. "cross-env": "^7.0.3",
  95. "eslint": "^9.22.0",
  96. "eslint-config-prettier": "10.1.8",
  97. "eslint-import-resolver-typescript": "^4.2.2",
  98. "eslint-plugin-import-x": "4.16.2",
  99. "eslint-plugin-jsx-a11y": "^6.10.2",
  100. "eslint-plugin-react": "^7.37.4",
  101. "eslint-plugin-react-hooks": "^5.2.0",
  102. "eslint-plugin-react-refresh": "^0.4.19",
  103. "globals": "^15.15.0",
  104. "gradient-string": "^3.0.0",
  105. "husky": "^9.1.7",
  106. "less": "^4.2.2",
  107. "lint-staged": "^15.5.0",
  108. "postcss": "8.4.35",
  109. "postcss-html": "1.8.1",
  110. "postcss-less": "6.0.0",
  111. "postcss-nesting": "^13.0.1",
  112. "postcss-scss": "^4.0.9",
  113. "prettier": "^3.5.3",
  114. "sirv-cli": "3.0.1",
  115. "stylelint": "^15.11.0",
  116. "stylelint-config-recommended-less": "2.0.0",
  117. "stylelint-config-standard": "^30.0.0",
  118. "stylelint-config-standard-scss": "^7.0.1",
  119. "stylelint-order": "^6.0.4",
  120. "svgo": "^3.3.2",
  121. "tailwindcss": "3.4.1",
  122. "typescript": "^5.7.3",
  123. "typescript-eslint": "^8.58.1",
  124. "vite": "^7.3.6",
  125. "vite-plugin-compression": "^0.5.1",
  126. "vite-plugin-remove-console": "^2.2.0",
  127. "vite-plugin-style-import": "^2.0.0",
  128. "vite-plugin-top-level-await": "1.6.0",
  129. "vite-plugin-wasm": "3.6.0"
  130. },
  131. "packageManager": "pnpm@10.6.3",
  132. "engines": {
  133. "node": ">=22.12.0",
  134. "pnpm": ">=9"
  135. },
  136. "lint-staged": {
  137. "src/**/*.{ts,tsx,js,jsx}": [
  138. "eslint --fix",
  139. "prettier --write"
  140. ],
  141. "src/**/*.{css,scss,less,vue}": [
  142. "stylelint --fix",
  143. "prettier --write"
  144. ]
  145. }
  146. }