@gadmin2n/schematics 0.0.60 → 0.0.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/application/files/gadmin2-game-angle-demo/Dockerfile +39 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/package.json +20 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/prisma/.generator.prisma +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/.prettierrc +4 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/package.json +10 -2
- package/package.json +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/build.sh +0 -18
|
@@ -1,14 +1,49 @@
|
|
|
1
1
|
# syntax=docker/dockerfile:1
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
# ─── Stage 1: Builder ────────────────────────────────────────
|
|
4
|
+
FROM node:20-alpine AS builder
|
|
3
5
|
|
|
4
6
|
WORKDIR /app
|
|
5
7
|
|
|
6
|
-
|
|
8
|
+
# 禁止 husky 在无 .git 环境下报错
|
|
9
|
+
ENV HUSKY=0
|
|
10
|
+
|
|
11
|
+
# 安装 gadmin2 CLI(单独一层,利用缓存)
|
|
12
|
+
RUN yarn global add @gadmin2n/cli@0.0.79
|
|
7
13
|
|
|
14
|
+
# 先复制 package.json,利用 Docker 层缓存:依赖未变则跳过 yarn install
|
|
15
|
+
COPY server/package.json server/yarn.lock* ./server/
|
|
16
|
+
COPY web/package.json web/yarn.lock* ./web/
|
|
17
|
+
|
|
18
|
+
RUN cd server && yarn install --frozen-lockfile && \
|
|
19
|
+
cd ../web && yarn install --frozen-lockfile
|
|
20
|
+
|
|
21
|
+
# 再复制其余源码
|
|
8
22
|
COPY . .
|
|
9
23
|
|
|
10
|
-
|
|
24
|
+
# 生成代码、构建 web、构建 server
|
|
25
|
+
RUN gadmin2 g prisma && \
|
|
26
|
+
cd web && yarn build && yarn cache clean --all && \
|
|
27
|
+
cd ../server && yarn build
|
|
28
|
+
|
|
29
|
+
# 切换为仅生产依赖,减小体积
|
|
30
|
+
RUN cd server && NODE_ENV=production yarn install --production --frozen-lockfile && \
|
|
31
|
+
yarn cache clean --all
|
|
32
|
+
|
|
33
|
+
# 将 web 构建产物放入 server 静态目录
|
|
34
|
+
RUN cp -R web/build server/dist/www
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# ─── Stage 2: Runtime ────────────────────────────────────────
|
|
38
|
+
FROM node:20-alpine AS runtime
|
|
11
39
|
|
|
12
40
|
WORKDIR /app/server
|
|
13
41
|
|
|
14
|
-
|
|
42
|
+
STOPSIGNAL SIGQUIT
|
|
43
|
+
|
|
44
|
+
COPY --from=builder /app/server/dist ./dist
|
|
45
|
+
COPY --from=builder /app/server/node_modules ./node_modules
|
|
46
|
+
COPY --from=builder /app/server/package.json ./package.json
|
|
47
|
+
COPY --from=builder /app/server/prisma ./prisma
|
|
48
|
+
|
|
49
|
+
CMD ["yarn", "start:prod"]
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"prebuild": "rimraf dist",
|
|
10
10
|
"build": "gadmin2 build",
|
|
11
11
|
"format": "prettier --write \"../config/*.ts\" \"src/**/*.ts\" \"src/**/*.tsx\" \"test/**/*.ts\"",
|
|
12
|
+
"prepare": "cd .. && husky install",
|
|
12
13
|
"start": "gadmin2 start",
|
|
13
14
|
"start:dev": "gadmin2 start --watch",
|
|
14
15
|
"start:debug": "gadmin2 start --debug --watch",
|
|
@@ -19,17 +20,19 @@
|
|
|
19
20
|
"test:cov": "jest --coverage",
|
|
20
21
|
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
|
21
22
|
"test:e2e": "jest --config ./test/jest-e2e.json",
|
|
22
|
-
"migrate:dev": "
|
|
23
|
-
"migrate:dev:create": "prisma migrate dev --create-only",
|
|
24
|
-
"migrate:deploy": "prisma migrate deploy",
|
|
25
|
-
"generate": "
|
|
26
|
-
"generate:dev": "npm run push:db &&
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
23
|
+
"migrate:dev": "dotenv -e .env.local -e .env -- prisma migrate dev",
|
|
24
|
+
"migrate:dev:create": "dotenv -e .env.local -e .env -- prisma migrate dev --create-only",
|
|
25
|
+
"migrate:deploy": "dotenv -e .env.local -e .env -- prisma migrate deploy",
|
|
26
|
+
"generate": "dotenv -e .env.local -e .env -- npx prisma generate",
|
|
27
|
+
"generate:dev": "npm run push:db && dotenv -e .env.local -e .env -- npx prisma generate",
|
|
28
|
+
"generate:web": "dotenv -e .env.local -e .env -- npx prisma generate --generator react",
|
|
29
|
+
"generate:server": "dotenv -e .env.local -e .env -- npx prisma generate --generator client --generator nestjs",
|
|
30
|
+
"push:db": "dotenv -e .env.local -e .env -- prisma db push",
|
|
31
|
+
"seed": "dotenv -e .env.local -e .env -- ts-node seed/index.ts",
|
|
32
|
+
"prisma:studio": "dotenv -e .env.local -e .env -- prisma studio"
|
|
30
33
|
},
|
|
31
34
|
"dependencies": {
|
|
32
|
-
"@gadmin2n/nest-common": "^0.0.
|
|
35
|
+
"@gadmin2n/nest-common": "^0.0.29",
|
|
33
36
|
"@nestjs/common": "^8.0.0",
|
|
34
37
|
"@nestjs/config": "^2.0.0",
|
|
35
38
|
"@nestjs/core": "^8.0.0",
|
|
@@ -57,8 +60,8 @@
|
|
|
57
60
|
"winston": "^3.7.2"
|
|
58
61
|
},
|
|
59
62
|
"devDependencies": {
|
|
60
|
-
"@gadmin2n/prisma-nest-generator": "^0.0.
|
|
61
|
-
"@gadmin2n/prisma-react-generator": "^0.0.
|
|
63
|
+
"@gadmin2n/prisma-nest-generator": "^0.0.26",
|
|
64
|
+
"@gadmin2n/prisma-react-generator": "^0.0.42",
|
|
62
65
|
"@nestjs/testing": "^8.0.0",
|
|
63
66
|
"@types/cookie-parser": "^1.4.3",
|
|
64
67
|
"@types/express": "^4.17.13",
|
|
@@ -68,10 +71,13 @@
|
|
|
68
71
|
"@types/supertest": "^2.0.11",
|
|
69
72
|
"@typescript-eslint/eslint-plugin": "^5.0.0",
|
|
70
73
|
"@typescript-eslint/parser": "^5.0.0",
|
|
74
|
+
"dotenv-cli": "^7.4.4",
|
|
71
75
|
"eslint": "^8.0.1",
|
|
72
76
|
"eslint-config-prettier": "^8.3.0",
|
|
73
77
|
"eslint-plugin-prettier": "^4.0.0",
|
|
74
78
|
"jest": "^27.2.5",
|
|
79
|
+
"husky": "^8.0.0",
|
|
80
|
+
"lint-staged": "^13.0.0",
|
|
75
81
|
"prettier": "^2.3.2",
|
|
76
82
|
"prettier-plugin-organize-imports": "^3.0.3",
|
|
77
83
|
"prisma-dbml-generator": "^0.9.1",
|
|
@@ -102,5 +108,8 @@
|
|
|
102
108
|
},
|
|
103
109
|
"prisma": {
|
|
104
110
|
"seed": "echo 'npm run seed'"
|
|
111
|
+
},
|
|
112
|
+
"lint-staged": {
|
|
113
|
+
"**/*.{ts,tsx}": "prettier --write"
|
|
105
114
|
}
|
|
106
115
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"private": true,
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@ant-design/icons": "^5.0.1",
|
|
9
|
-
"@gadmin2n/react-common": "^0.0.
|
|
9
|
+
"@gadmin2n/react-common": "^0.0.51",
|
|
10
10
|
"@refinedev/antd": "5.22.0",
|
|
11
11
|
"@refinedev/cli": "2.5.5",
|
|
12
12
|
"@refinedev/core": "4.20.0",
|
|
@@ -48,6 +48,9 @@
|
|
|
48
48
|
"@types/react": "^18.0.15",
|
|
49
49
|
"@types/react-dom": "^18.0.6",
|
|
50
50
|
"craco-less": "^2.0.0",
|
|
51
|
+
"husky": "^8.0.0",
|
|
52
|
+
"lint-staged": "^13.0.0",
|
|
53
|
+
"prettier": "^3.0.0",
|
|
51
54
|
"process": "^0.11.10",
|
|
52
55
|
"react-scripts": "^5.0.0",
|
|
53
56
|
"typescript": "^5.0.0",
|
|
@@ -56,9 +59,11 @@
|
|
|
56
59
|
"scripts": {
|
|
57
60
|
"dev": "refine start",
|
|
58
61
|
"build": "refine build",
|
|
62
|
+
"format": "prettier --write \"src/**/*.{ts,tsx}\"",
|
|
59
63
|
"test": "react-scripts test",
|
|
60
64
|
"eject": "react-scripts eject",
|
|
61
|
-
"refine": "refine"
|
|
65
|
+
"refine": "refine",
|
|
66
|
+
"prepare": "cd .. && husky install"
|
|
62
67
|
},
|
|
63
68
|
"eslintConfig": {
|
|
64
69
|
"extends": [
|
|
@@ -66,6 +71,9 @@
|
|
|
66
71
|
"react-app/jest"
|
|
67
72
|
]
|
|
68
73
|
},
|
|
74
|
+
"lint-staged": {
|
|
75
|
+
"**/*.{ts,tsx,js,jsx}": "prettier --write"
|
|
76
|
+
},
|
|
69
77
|
"browserslist": {
|
|
70
78
|
"production": [
|
|
71
79
|
">0.2%",
|
package/package.json
CHANGED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
|
|
3
|
-
yarn global add @gadmin2n/cli@latest
|
|
4
|
-
|
|
5
|
-
cd server && yarn && cd ../web && yarn && cd ..
|
|
6
|
-
|
|
7
|
-
gadmin2 g prisma
|
|
8
|
-
|
|
9
|
-
cd web && yarn build && yarn cache clean --all && cd ..
|
|
10
|
-
|
|
11
|
-
# 同时删除devDependencies
|
|
12
|
-
cd server && yarn build && NODE_ENV=production yarn && yarn cache clean --all && cd ..
|
|
13
|
-
|
|
14
|
-
cp -R web/build server/dist/www
|
|
15
|
-
|
|
16
|
-
yarn global remove @gadmin2n/cli
|
|
17
|
-
|
|
18
|
-
rm -rf web/
|