|
1 | 1 | { |
2 | 2 | "name": "create-react-app-ts", |
3 | | - "version": "1.10.2", |
| 3 | + "version": "2.0.0", |
4 | 4 | "description": "Scalable starter boilerplate for React applications", |
5 | 5 | "main": "./src/index.tsx", |
6 | 6 | "bin": { |
7 | 7 | "create-react-app-ts": "./bin/cli.js" |
8 | 8 | }, |
9 | 9 | "scripts": { |
10 | 10 | "svg": "svgo-viewbox -i ./src/assets", |
11 | | - "start": "yarn tsc:enums && webpack serve --mode development --hot", |
12 | | - "build": "yarn tsc:enums && webpack --mode production", |
| 11 | + "start": "vite --open", |
| 12 | + "build": "vite build", |
13 | 13 | "tsc": "tsc --noEmit --skipLibCheck", |
14 | | - "tsc:enums": "rm -rf ./dist && tsc --project tsconfig-enums.json --skipLibCheck", |
15 | 14 | "lint": "yarn lint:ts && yarn lint:scss", |
16 | 15 | "lint:ts": "eslint 'src/**/*.{ts,tsx}'", |
17 | 16 | "lint:scss": "stylelint './src/**/*.scss' --config .stylelintrc", |
18 | | - "test": "jest", |
19 | | - "test:coverage": "jest --coverage", |
| 17 | + "test": "jest --config=./test-config/jest.config.js --runInBand --coverage --env jsdom", |
| 18 | + "test:coverage": "yarn test --coverage", |
20 | 19 | "locale:scan": "i18next-scanner --config ./src/i18n/scanner-config.js './src/**/*.{ts,tsx}'", |
21 | 20 | "locale:pot": "node ./src/i18n/gettext-converter.mjs jsonToPot", |
22 | 21 | "locale:po": "node ./src/i18n/gettext-converter.mjs poToJson", |
|
59 | 58 | "homepage": "https://github.com/three11/react-template#readme", |
60 | 59 | "dependencies": { |
61 | 60 | "@loadable/component": "5.15.2", |
| 61 | + "@redux-devtools/extension": "3.2.3", |
62 | 62 | "axios": "1.2.1", |
63 | | - "connected-react-router": "6.9.3", |
64 | 63 | "date-fns": "2.29.3", |
65 | | - "history": "4.10.1", |
66 | | - "i18next": "22.4.5", |
| 64 | + "i18next": "22.4.6", |
67 | 65 | "i18next-browser-languagedetector": "7.0.1", |
68 | 66 | "normalize.css": "8.0.1", |
69 | 67 | "react": "18.2.0", |
70 | 68 | "react-dom": "18.2.0", |
71 | 69 | "react-hook-form": "7.41.0", |
72 | | - "react-i18next": "11.18.6", |
| 70 | + "react-i18next": "12.1.1", |
73 | 71 | "react-inlinesvg": "3.0.1", |
74 | 72 | "react-redux": "8.0.5", |
75 | | - "react-router": "5.3.4", |
76 | | - "react-router-dom": "5.3.4", |
| 73 | + "react-router": "6.5.0", |
| 74 | + "react-router-dom": "6.5.0", |
77 | 75 | "redux": "4.2.0", |
78 | | - "redux-devtools-extension": "2.13.9", |
79 | 76 | "redux-saga": "1.2.2", |
80 | 77 | "scss-goodies": "2.2.0" |
81 | 78 | }, |
82 | 79 | "devDependencies": { |
83 | | - "@dreysolano/prerender-spa-plugin": "1.0.3", |
84 | | - "@loadable/webpack-plugin": "5.15.2", |
85 | | - "@pmmmwh/react-refresh-webpack-plugin": "0.5.10", |
86 | | - "@types/enzyme": "3.10.12", |
| 80 | + "@rollup/plugin-alias": "4.0.2", |
| 81 | + "@testing-library/jest-dom": "5.16.5", |
| 82 | + "@testing-library/react": "13.4.0", |
87 | 83 | "@types/jest": "29.2.4", |
88 | 84 | "@types/loadable__component": "5.13.4", |
89 | 85 | "@types/node": "18.11.17", |
| 86 | + "@types/postcss-flexbugs-fixes": "4.2.1", |
90 | 87 | "@types/react": "18.0.26", |
91 | 88 | "@types/react-dom": "18.0.9", |
92 | 89 | "@types/react-loadable": "5.5.6", |
93 | 90 | "@types/react-redux": "7.1.24", |
94 | 91 | "@types/react-router": "5.1.19", |
95 | 92 | "@types/react-router-dom": "5.3.3", |
| 93 | + "@types/redux-mock-store": "1.0.3", |
96 | 94 | "@typescript-eslint/eslint-plugin": "5.46.1", |
97 | 95 | "@typescript-eslint/parser": "5.46.1", |
98 | | - "@wojtekmaj/enzyme-adapter-react-17": "0.8.0", |
| 96 | + "@vitejs/plugin-react": "3.0.0", |
99 | 97 | "autoprefixer": "10.4.13", |
100 | | - "copy-webpack-plugin": "11.0.0", |
101 | | - "css-hot-loader": "1.4.4", |
102 | | - "css-loader": "6.7.3", |
103 | 98 | "cssnano": "5.1.14", |
104 | | - "dotenv": "16.0.3", |
105 | | - "enzyme": "3.11.0", |
106 | | - "enzyme-to-json": "3.6.2", |
107 | 99 | "eslint": "8.30.0", |
108 | 100 | "eslint-config-prettier": "8.5.0", |
109 | 101 | "eslint-plugin-jest": "27.1.7", |
110 | 102 | "eslint-plugin-react": "7.31.11", |
111 | | - "html-loader": "4.2.0", |
112 | | - "html-webpack-plugin": "5.5.0", |
113 | 103 | "i18next-conv": "13.1.0", |
114 | 104 | "i18next-scanner": "4.1.0", |
115 | 105 | "jest": "29.3.1", |
116 | | - "mini-css-extract-plugin": "2.7.2", |
| 106 | + "jest-environment-jsdom": "29.3.1", |
| 107 | + "jest-localstorage-mock": "2.4.25", |
117 | 108 | "postcss": "8.4.20", |
118 | | - "postcss-easy-import": "4.0.0", |
119 | 109 | "postcss-flexbugs-fixes": "5.0.2", |
120 | | - "postcss-loader": "7.0.2", |
121 | | - "postcss-url": "10.1.3", |
122 | | - "postcss-utilities": "0.8.4", |
123 | | - "prerender-spa-plugin": "3.4.0", |
124 | | - "react-refresh": "0.14.0", |
125 | | - "react-refresh-typescript": "2.0.7", |
| 110 | + "redux-mock-store": "1.5.4", |
126 | 111 | "sass": "1.57.0", |
127 | | - "sass-loader": "13.2.0", |
128 | | - "sass-resources-loader": "2.2.5", |
129 | | - "style-loader": "3.3.1", |
130 | 112 | "stylelint": "14.16.0", |
131 | 113 | "stylelint-config-recommended": "9.0.0", |
132 | 114 | "stylelint-config-standard-scss": "6.1.0", |
133 | 115 | "stylelint-no-unsupported-browser-features": "6.0.1", |
134 | 116 | "stylelint-scss": "4.3.0", |
135 | 117 | "svgo-viewbox": "2.1.0", |
136 | | - "terser-webpack-plugin": "5.3.6", |
137 | 118 | "ts-jest": "29.0.3", |
138 | | - "ts-loader": "9.4.2", |
| 119 | + "ts-node": "10.9.1", |
139 | 120 | "tslib": "2.4.1", |
140 | 121 | "typescript": "4.9.4", |
141 | | - "url": "0.11.0", |
142 | | - "webpack": "5.75.0", |
143 | | - "webpack-cli": "5.0.1", |
144 | | - "webpack-dev-server": "4.11.1", |
145 | | - "webpack-hot-middleware": "2.25.3", |
146 | | - "webpack-pwa-manifest": "4.3.0", |
147 | | - "workbox-cli": "6.5.4", |
148 | | - "yargs": "17.6.2" |
| 122 | + "vite": "4.0.2", |
| 123 | + "vite-plugin-prerender": "1.0.8", |
| 124 | + "vite-plugin-pwa": "0.14.0", |
| 125 | + "workbox-cli": "6.5.4" |
149 | 126 | }, |
150 | 127 | "browserslist": [ |
151 | 128 | "> 1%", |
152 | 129 | "last 2 versions" |
153 | | - ], |
154 | | - "jest": { |
155 | | - "moduleDirectories": [ |
156 | | - "node_modules", |
157 | | - "src" |
158 | | - ], |
159 | | - "moduleFileExtensions": [ |
160 | | - "ts", |
161 | | - "tsx", |
162 | | - "js", |
163 | | - "jsx", |
164 | | - "json", |
165 | | - "node" |
166 | | - ], |
167 | | - "moduleNameMapper": { |
168 | | - "^@src/(.*)$": "<rootDir>/src/$1", |
169 | | - "^@root/(.*)$": "<rootDir>/$1", |
170 | | - "^@i18n": "<rootDir>/src/i18n", |
171 | | - "^@store/(.*)$": "<rootDir>/src/store/$1", |
172 | | - "^@assets/(.*)$": "<rootDir>/src/assets/$1", |
173 | | - "^@utilities": "<rootDir>/src/utilities", |
174 | | - "^@utilities/(.*)$": "<rootDir>/src/utilities/$1", |
175 | | - "^@components": "<rootDir>/src/components", |
176 | | - "^@containers/(.*)$": "<rootDir>/src/containers/$1", |
177 | | - "\\.(css|less|sass|scss)$": "<rootDir>/test-config/StyleMock.js", |
178 | | - "\\.(jpg|jpeg|png|gif|ico|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/test-config/FileMock.js" |
179 | | - }, |
180 | | - "setupFiles": [ |
181 | | - "<rootDir>/test-config/index.js", |
182 | | - "<rootDir>/test-config/LocalStorageMock.js" |
183 | | - ], |
184 | | - "snapshotSerializers": [ |
185 | | - "enzyme-to-json/serializer" |
186 | | - ], |
187 | | - "transform": { |
188 | | - "^.+\\.tsx?$": "ts-jest", |
189 | | - "\\.(css|less|sass|scss)$": "<rootDir>/test-config/StyleMock.js", |
190 | | - "\\.(jpg|jpeg|png|gif|ico|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/test-config/FileMock.js" |
191 | | - }, |
192 | | - "verbose": false, |
193 | | - "testRegex": ".*\\.(test|spec)\\.(j|tsx?)$", |
194 | | - "testPathIgnorePatterns": [ |
195 | | - "<rootDir>/node_modules/", |
196 | | - "<rootDir>/dist/", |
197 | | - "<rootDir>/test-config/" |
198 | | - ] |
199 | | - } |
| 130 | + ] |
200 | 131 | } |
0 commit comments