package.json 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. {
  2. "name": "blog",
  3. "version": "0.1.0",
  4. "private": true,
  5. "dependencies": {
  6. "@babel/core": "^7.16.0",
  7. "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
  8. "@svgr/webpack": "^5.5.0",
  9. "@testing-library/jest-dom": "^5.14.1",
  10. "@testing-library/react": "^13.0.0",
  11. "@testing-library/user-event": "^13.2.1",
  12. "@types/jest": "^27.0.1",
  13. "@types/node": "^16.7.13",
  14. "@types/react": "^18.0.0",
  15. "@types/react-dom": "^18.0.0",
  16. "babel-jest": "^27.4.2",
  17. "babel-loader": "^8.2.3",
  18. "babel-plugin-named-asset-import": "^0.3.8",
  19. "babel-preset-react-app": "^10.0.1",
  20. "bfj": "^7.0.2",
  21. "browserslist": "^4.18.1",
  22. "camelcase": "^6.2.1",
  23. "case-sensitive-paths-webpack-plugin": "^2.4.0",
  24. "css-loader": "^6.5.1",
  25. "css-minimizer-webpack-plugin": "^3.2.0",
  26. "dotenv": "^10.0.0",
  27. "dotenv-expand": "^5.1.0",
  28. "eslint": "^8.3.0",
  29. "eslint-config-react-app": "^7.0.1",
  30. "eslint-webpack-plugin": "^3.1.1",
  31. "file-loader": "^6.2.0",
  32. "fs-extra": "^10.0.0",
  33. "html-webpack-plugin": "^5.5.0",
  34. "identity-obj-proxy": "^3.0.0",
  35. "jest": "^27.4.3",
  36. "jest-resolve": "^27.4.2",
  37. "jest-watch-typeahead": "^1.0.0",
  38. "mini-css-extract-plugin": "^2.4.5",
  39. "postcss": "^8.4.4",
  40. "postcss-flexbugs-fixes": "^5.0.2",
  41. "postcss-loader": "^6.2.1",
  42. "postcss-normalize": "^10.0.1",
  43. "postcss-preset-env": "^7.0.1",
  44. "prompts": "^2.4.2",
  45. "react": "^18.1.0",
  46. "react-app-polyfill": "^3.0.0",
  47. "react-dev-utils": "^12.0.1",
  48. "react-dom": "^18.1.0",
  49. "react-refresh": "^0.11.0",
  50. "resolve": "^1.20.0",
  51. "resolve-url-loader": "^4.0.0",
  52. "sass-loader": "^12.3.0",
  53. "semver": "^7.3.5",
  54. "source-map-loader": "^3.0.0",
  55. "style-loader": "^3.3.1",
  56. "tailwindcss": "^3.0.2",
  57. "terser-webpack-plugin": "^5.2.5",
  58. "typescript": "^4.4.2",
  59. "web-vitals": "^2.1.0",
  60. "webpack": "^5.64.4",
  61. "webpack-dev-server": "^4.6.0",
  62. "webpack-manifest-plugin": "^4.0.2",
  63. "workbox-webpack-plugin": "^6.4.1"
  64. },
  65. "scripts": {
  66. "start": "node scripts/start.js",
  67. "build": "node scripts/build.js",
  68. "test": "node scripts/test.js"
  69. },
  70. "eslintConfig": {
  71. "extends": [
  72. "react-app",
  73. "react-app/jest"
  74. ]
  75. },
  76. "browserslist": {
  77. "production": [
  78. ">0.2%",
  79. "not dead",
  80. "not op_mini all"
  81. ],
  82. "development": [
  83. "last 1 chrome version",
  84. "last 1 firefox version",
  85. "last 1 safari version"
  86. ]
  87. },
  88. "devDependencies": {
  89. "@typescript-eslint/eslint-plugin": "^5.25.0",
  90. "@typescript-eslint/parser": "^5.25.0",
  91. "eslint": "^8.15.0",
  92. "eslint-config-prettier": "^8.5.0",
  93. "eslint-plugin-prettier": "^4.0.0",
  94. "eslint-plugin-react": "^7.29.4",
  95. "eslint-plugin-react-hooks": "^4.5.0"
  96. },
  97. "jest": {
  98. "roots": [
  99. "<rootDir>/src"
  100. ],
  101. "collectCoverageFrom": [
  102. "src/**/*.{js,jsx,ts,tsx}",
  103. "!src/**/*.d.ts"
  104. ],
  105. "setupFiles": [
  106. "react-app-polyfill/jsdom"
  107. ],
  108. "setupFilesAfterEnv": [],
  109. "testMatch": [
  110. "<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
  111. "<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
  112. ],
  113. "testEnvironment": "jsdom",
  114. "transform": {
  115. "^.+\\.(js|jsx|mjs|cjs|ts|tsx)$": "<rootDir>/config/jest/babelTransform.js",
  116. "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
  117. "^(?!.*\\.(js|jsx|mjs|cjs|ts|tsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
  118. },
  119. "transformIgnorePatterns": [
  120. "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs|cjs|ts|tsx)$",
  121. "^.+\\.module\\.(css|sass|scss)$"
  122. ],
  123. "modulePaths": [],
  124. "moduleNameMapper": {
  125. "^react-native$": "react-native-web",
  126. "^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
  127. },
  128. "moduleFileExtensions": [
  129. "web.js",
  130. "js",
  131. "web.ts",
  132. "ts",
  133. "web.tsx",
  134. "tsx",
  135. "json",
  136. "web.jsx",
  137. "jsx",
  138. "node"
  139. ],
  140. "watchPlugins": [
  141. "jest-watch-typeahead/filename",
  142. "jest-watch-typeahead/testname"
  143. ],
  144. "resetMocks": true
  145. },
  146. "babel": {
  147. "presets": [
  148. "react-app"
  149. ]
  150. }
  151. }