Skip to content

Commit e466f94

Browse files
update latest
1 parent be19028 commit e466f94

File tree

15 files changed

+4129
-4216
lines changed

15 files changed

+4129
-4216
lines changed

app/.env

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ PUBLIC_DEV_API_HOST=http://localhost:9000
88
PROD_PORT=5000
99
PROD_HOST=localhost
1010
PUBLIC_PROD_API_HOST=http://localhost:5000
11-
# formwork webpack | vite
12-
FORMWORK=vite
13-
# feature only for webpack formwork
11+
# framework webpack | vite
12+
FRAMEWORK=vite
13+
# feature only for webpack framework
1414
SWC=false
1515
ESBUILD=true
1616
MIDDLEWARE=false
17+
DEV_CHECK=true
1718
# feature
1819
SSR=true
1920
CSR=false

app/global.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ declare global {
66
DEV_PORT: string;
77
WDS_PORT: string;
88
PROD_PORT: string;
9+
FRAMEWORK: "webpack" | "vite";
910
SWC: string;
11+
DEV_CHECK: string;
1012
ESBUILD: string;
1113
SSR: string;
1214
CSR: string;

app/package.json

Lines changed: 61 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -23,121 +23,120 @@
2323
"test:e2e": "jest --config ./test/jest-e2e.json"
2424
},
2525
"dependencies": {
26-
"@chakra-ui/react": "^2.4.2",
27-
"@chakra-ui/styled-system": "^2.4.0",
26+
"@chakra-ui/react": "^2.5.2",
27+
"@chakra-ui/styled-system": "^2.8.0",
2828
"@emotion/cache": "^11.10.5",
29-
"@emotion/react": "^11.10.5",
30-
"@emotion/styled": "^11.10.5",
29+
"@emotion/react": "^11.10.6",
30+
"@emotion/styled": "^11.10.6",
3131
"@fullstack-nest-react-ssr/axios": "workspace:*",
3232
"@fullstack-nest-react-ssr/chakra": "workspace:*",
3333
"@fullstack-nest-react-ssr/env": "workspace:*",
3434
"@nestjs/common": "^9.0.0",
3535
"@nestjs/config": "^2.2.0",
3636
"@nestjs/core": "^9.0.0",
3737
"@nestjs/platform-express": "^9.0.0",
38-
"@reduxjs/toolkit": "^1.9.1",
38+
"@reduxjs/toolkit": "^1.9.3",
3939
"axios": "^0.27.2",
4040
"cookie-parser": "^1.4.6",
4141
"dotenv": "^16.0.0",
4242
"express": "^4.18.2",
4343
"framer-motion": "^6.5.1",
4444
"js-cookie": "^3.0.1",
4545
"lodash-es": "^4.17.21",
46-
"pino": "^8.7.0",
47-
"pino-pretty": "^9.1.0",
46+
"pino": "^8.11.0",
47+
"pino-pretty": "^10.0.0",
4848
"react": "^18.2.0",
4949
"react-dom": "^18.2.0",
5050
"react-helmet-async": "^1.3.0",
51-
"react-intl": "^6.2.5",
51+
"react-intl": "^6.3.2",
5252
"react-redux": "^8.0.5",
53-
"react-router": "^6.4.4",
54-
"react-router-dom": "^6.4.4",
55-
"redux": "^4.2.0",
53+
"react-router": "^6.10.0",
54+
"react-router-dom": "^6.10.0",
55+
"redux": "^4.2.1",
5656
"reflect-metadata": "^0.1.13",
5757
"rimraf": "^3.0.2",
58-
"rxjs": "^7.5.5"
58+
"rxjs": "^7.8.0"
5959
},
6060
"devDependencies": {
61-
"@babel/core": "^7.20.5",
62-
"@babel/plugin-proposal-decorators": "7.20.5",
61+
"@babel/core": "^7.21.4",
62+
"@babel/plugin-proposal-decorators": "7.21.0",
6363
"@babel/plugin-proposal-export-default-from": "7.18.10",
64-
"@babel/plugin-transform-runtime": "^7.19.6",
65-
"@babel/preset-env": "^7.20.2",
64+
"@babel/plugin-transform-runtime": "^7.21.4",
65+
"@babel/preset-env": "^7.21.4",
6666
"@babel/preset-react": "^7.18.6",
67-
"@babel/preset-typescript": "^7.18.6",
68-
"@babel/runtime": "^7.20.6",
67+
"@babel/preset-typescript": "^7.21.4",
68+
"@babel/runtime": "^7.21.0",
6969
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
70-
"@swc/core": "^1.3.21",
71-
"@swc/helpers": "^0.4.14",
70+
"@swc/core": "^1.3.46",
71+
"@swc/helpers": "^0.5.0",
7272
"@nestjs/cli": "^9.0.0",
7373
"@nestjs/schematics": "^9.0.0",
7474
"@nestjs/testing": "^9.0.0",
75-
"@types/express": "^4.17.14",
75+
"@types/express": "^4.17.17",
7676
"@types/jest": "^29.0.3",
77-
"@types/js-cookie": "^3.0.2",
78-
"@types/lodash": "^4.14.191",
79-
"@types/node": "^18.11.10",
80-
"@types/react": "^18.0.26",
81-
"@types/react-dom": "^18.0.9",
77+
"@types/js-cookie": "^3.0.3",
78+
"@types/lodash": "^4.14.192",
79+
"@types/node": "^18.15.11",
80+
"@types/react": "^18.0.33",
81+
"@types/react-dom": "^18.0.11",
8282
"@types/supertest": "^2.0.12",
8383
"@types/webpack-env": "^1.18.0",
8484
"@types/webpack-hot-middleware": "^2.25.6",
85-
"@types/webpack-node-externals": "^2.5.3",
86-
"@typescript-eslint/eslint-plugin": "^5.45.0",
87-
"@typescript-eslint/parser": "^5.45.0",
88-
"@vitejs/plugin-legacy": "^3.0.0",
89-
"@vitejs/plugin-react": "^2.2.0",
90-
"autoprefixer": "^10.4.13",
85+
"@types/webpack-node-externals": "^3.0.0",
86+
"@typescript-eslint/eslint-plugin": "^5.55.0",
87+
"@typescript-eslint/parser": "^5.55.0",
88+
"@vitejs/plugin-legacy": "^4.0.2",
89+
"@vitejs/plugin-react": "^3.1.0",
90+
"autoprefixer": "^10.4.14",
9191
"axios": "^0.27.2",
9292
"babel-jest": "^29.0.3",
93-
"babel-loader": "^9.1.0",
94-
"browserslist": "^4.21.4",
95-
"core-js": "^3.26.0",
93+
"babel-loader": "^9.1.2",
94+
"browserslist": "^4.21.5",
95+
"core-js": "^3.30.0",
9696
"cross-env": "^7.0.3",
97-
"css-loader": "^6.7.2",
98-
"css-minimizer-webpack-plugin": "^4.2.2",
99-
"esbuild": "^0.15.8",
100-
"esbuild-loader": "^2.20.0",
101-
"eslint": "^8.23.0",
102-
"eslint-config-prettier": "^8.5.0",
103-
"eslint-import-resolver-typescript": "^3.5.2",
104-
"eslint-plugin-import": "^2.26.0",
105-
"eslint-plugin-jsx-a11y": "^6.6.1",
97+
"css-loader": "^6.7.3",
98+
"css-minimizer-webpack-plugin": "^5.0.0",
99+
"esbuild-loader": "^3.0.1",
100+
"eslint": "^8.37.0",
101+
"eslint-config-prettier": "^8.8.0",
102+
"eslint-import-resolver-typescript": "^3.5.5",
103+
"eslint-plugin-import": "^2.27.5",
104+
"eslint-plugin-jsx-a11y": "^6.7.1",
106105
"eslint-plugin-prettier": "^4.2.1",
107-
"eslint-plugin-react": "^7.31.11",
106+
"eslint-plugin-react": "^7.32.2",
108107
"eslint-plugin-react-hooks": "^4.6.0",
109-
"eslint-webpack-plugin": "^3.2.0",
108+
"eslint-webpack-plugin": "^4.0.0",
110109
"file-loader": "^6.2.0",
111-
"fork-ts-checker-webpack-plugin": "^7.2.13",
110+
"fork-ts-checker-webpack-plugin": "^8.0.0",
112111
"identity-obj-proxy": "^3.0.0",
113112
"jest": "^29.0.3",
114113
"jest-environment-jsdom": "^29.0.3",
115114
"lodash": "^4.17.21",
116-
"mini-css-extract-plugin": "^2.7.1",
117-
"postcss": "^8.4.19",
118-
"postcss-loader": "^7.0.2",
119-
"prettier": "^2.8.0",
115+
"mini-css-extract-plugin": "^2.7.5",
116+
"postcss": "^8.4.21",
117+
"postcss-loader": "^7.2.4",
118+
"prettier": "^2.8.7",
120119
"react-refresh": "^0.14.0",
121120
"regenerator-runtime": "^0.13.11",
122-
"sass": "^1.56.1",
123-
"sass-loader": "^13.2.0",
121+
"sass": "^1.61.0",
122+
"sass-loader": "^13.2.2",
124123
"source-map-support": "^0.5.21",
125-
"style-loader": "^3.3.1",
124+
"style-loader": "^3.3.2",
126125
"supertest": "^6.3.2",
127126
"swc-loader": "^0.2.3",
128-
"terser": "^5.16.1",
127+
"terser": "^5.16.8",
129128
"thread-loader": "^3.0.4",
130129
"ts-jest": "^29.0.1",
131130
"ts-loader": "^9.4.2",
132131
"ts-node": "^10.9.1",
133-
"tsconfig-paths": "^4.1.1",
132+
"tsconfig-paths": "^4.2.0",
134133
"typescript": "^4.7.4",
135-
"vite": "^3.2.4",
136-
"vite-plugin-dynamic-import": "^1.2.4",
137-
"webpack": "^5.75.0",
138-
"webpack-bundle-analyzer": "^4.7.0",
139-
"webpack-dev-middleware": "^6.0.1",
140-
"webpack-dev-server": "^4.11.1",
134+
"vite": "^4.2.1",
135+
"vite-plugin-dynamic-import": "^1.2.7",
136+
"webpack": "^5.78.0",
137+
"webpack-bundle-analyzer": "^4.8.0",
138+
"webpack-dev-middleware": "^6.0.2",
139+
"webpack-dev-server": "^4.13.2",
141140
"webpack-hot-middleware": "^2.25.3",
142141
"webpack-manifest-plugin": "^5.0.0",
143142
"webpack-merge": "^5.8.0",

app/src/build/scripts/build-static.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import { start } from "./entry-prod";
66
dotenv.config();
77

88
const generate = async () => {
9-
if (process.env.FORMWORK !== "webpack") {
10-
throw new Error("for now the static generate only work for webpack formwork!");
9+
if (process.env.FRAMEWORK !== "webpack") {
10+
throw new Error("for now the static generate only work for webpack framework!");
1111
}
1212

1313
// build prod code first

app/src/build/scripts/entry-dev.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,12 @@ const withMiddleware = async () => {
5454
};
5555

5656
export const start = async () => {
57-
if (process.env.FORMWORK === "vite") {
58-
logger().info("you are using vite formwork");
59-
// for vite formwork, we also use webpack to build server side code
57+
if (process.env.FRAMEWORK === "vite") {
58+
logger().info("you are using vite framework");
59+
// for vite framework, we also use webpack to build server side code
6060
await withMiddleware();
6161
} else {
62-
logger().info("you are using webpack formwork");
62+
logger().info("you are using webpack framework");
6363
if (process.env.MIDDLEWARE === "true") {
6464
await withMiddleware();
6565
} else {

app/src/build/scripts/entry-prod.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ const withVite = async () => {
4343
};
4444

4545
export const start = async () => {
46-
if (process.env.FORMWORK === "vite") {
46+
if (process.env.FRAMEWORK === "vite") {
4747
await withVite();
4848
} else {
4949
await withCompiler();

app/src/build/webpack/config/plugins.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export const pluginsConfig = ({ env, isDEV, isSSR, isCSR, isMIDDLEWARE }: SafeGe
2222
new DefinePlugin({
2323
__SSR__: isSSR,
2424
__CSR__: isCSR,
25-
__VITE__: process.env.FORMWORK === "vite",
25+
__VITE__: process.env.FRAMEWORK === "vite",
2626
__CLIENT__: env === "client",
2727
__SERVER__: env === "server",
2828
__DEVELOPMENT__: isDEV,
@@ -44,6 +44,7 @@ export const pluginsConfig = ({ env, isDEV, isSSR, isCSR, isMIDDLEWARE }: SafeGe
4444
// }),
4545
env === "client" &&
4646
isDEV &&
47+
process.env.DEV_CHECK === "true" &&
4748
new ESLintWebpackPlugin({
4849
extensions: ["ts", "tsx"],
4950
quiet: true,

app/src/ui/global.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,10 @@ declare global {
3131
DEV_PORT: string;
3232
WDS_PORT: string;
3333
PROD_PORT: string;
34-
FORMWORK: "webpack" | "vite";
34+
FRAMEWORK: "webpack" | "vite";
3535
SWC: string;
3636
ESBUILD: string;
37+
DEV_CHECK: string;
3738
SSR: string;
3839
CSR: string;
3940
STATIC_GENERATE: "true" | "false";

app/src/ui/server/entry.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export const setupApp = async (app: Express, startCallback?: (cb: () => Promise<
2929
handlerRender()(req, res, next);
3030
});
3131

32-
if (__DEVELOPMENT__ && process.env.FORMWORK === "webpack" && module.hot) {
32+
if (__DEVELOPMENT__ && process.env.FRAMEWORK === "webpack" && module.hot) {
3333
module.hot.accept("./app.ts", () => {
3434
serverLog("app update", "info");
3535
handlerRender = generateHandler;

app/src/ui/shared/emotionCache.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
import createCache from "@emotion/cache";
22

3-
export const createEmotionCache = () => createCache({ key: "css" });
3+
// vite prod error
4+
const unwrap = (moduleFrom) => (moduleFrom.default ? moduleFrom.default : moduleFrom);
5+
6+
export const createEmotionCache = () => unwrap(createCache)({ key: "css" }) as ReturnType<typeof createCache>;

0 commit comments

Comments
 (0)