@common-stack/generate-plugin 6.0.8-alpha.5 → 6.0.8-alpha.50
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/CHANGELOG.md +184 -4
- package/lib/common/package-releases/package.json +26 -0
- package/lib/common/package-releases/package.json.cjs +33 -0
- package/lib/common/package-releases/package.json.cjs.map +1 -0
- package/lib/common/package-releases/package.json.mjs +33 -0
- package/lib/common/package-releases/package.json.mjs.map +1 -0
- package/lib/generators/add-backend/files/Dockerfile +2 -0
- package/lib/generators/add-backend/files/package.json +4 -2
- package/lib/generators/add-backend/files/webpack.config.js +3 -1
- package/lib/generators/add-frontend/frameworks/antui/src/context.tsx.template +8 -0
- package/lib/generators/add-frontend/frameworks/antui/{entry.client.tsx.template → src/entry.client.tsx.template} +12 -12
- package/{src/generators/add-frontend/frameworks/antui → lib/generators/add-frontend/frameworks/antui/src}/entry.server.tsx.template +61 -51
- package/{src/generators/add-frontend/frameworks/antui → lib/generators/add-frontend/frameworks/antui/src}/root.tsx.template +6 -15
- package/lib/generators/add-frontend/frameworks/chakraui/{context.tsx.template → src/context.tsx.template} +6 -0
- package/lib/generators/add-frontend/frameworks/chakraui/{entry.client.tsx.template → src/entry.client.tsx.template} +21 -18
- package/{src/generators/add-frontend/frameworks/chakraui → lib/generators/add-frontend/frameworks/chakraui/src}/entry.server.tsx.template +33 -30
- package/lib/generators/add-frontend/frameworks/chakraui/{root.tsx.template → src/root.tsx.template} +8 -4
- package/{src/generators/add-frontend/frameworks/tailwindui → lib/generators/add-frontend/frameworks/tailwindui/src}/entry.client.tsx.template +3 -10
- package/lib/generators/add-frontend/generator.cjs +83 -36
- package/lib/generators/add-frontend/generator.cjs.map +1 -1
- package/lib/generators/add-frontend/generator.mjs +83 -36
- package/lib/generators/add-frontend/generator.mjs.map +1 -1
- package/lib/generators/add-frontend/templates/Dockerfile +4 -0
- package/lib/generators/add-frontend/templates/package.json +7 -3
- package/lib/generators/add-frontend/templates/vite.config.ts.template +18 -1
- package/lib/generators/add-fullstack/files/Jenkinsfile +2 -2
- package/lib/generators/add-fullstack/files/cdecode-config.json +126 -0
- package/lib/generators/add-fullstack/files/package.json +31 -18
- package/lib/generators/add-fullstack/files/rollup.config.base.mjs +17 -95
- package/lib/generators/add-fullstack/files/tools/codegenGenerator.mjs +36 -0
- package/lib/generators/add-fullstack/generator.cjs +8 -4
- package/lib/generators/add-fullstack/generator.cjs.map +1 -1
- package/lib/generators/add-fullstack/generator.mjs +8 -4
- package/lib/generators/add-fullstack/generator.mjs.map +1 -1
- package/lib/generators/add-fullstack/schema.json +1 -1
- package/lib/generators/add-moleculer/files/Dockerfile +2 -0
- package/lib/generators/add-moleculer/files/config.json +5 -0
- package/lib/generators/add-moleculer/files/package.json +10 -6
- package/lib/generators/add-moleculer/files/rollup.config.mjs +14 -1
- package/package.json +3 -3
- package/rollup.config.mjs +3 -0
- package/src/common/package-releases/package.json +26 -0
- package/src/generators/add-frontend/__snapshots__/generator.test.ts.snap +33 -0
- package/src/generators/add-frontend/frameworks/antui/src/context.tsx.template +8 -0
- package/src/generators/add-frontend/frameworks/antui/{entry.client.tsx.template → src/entry.client.tsx.template} +12 -12
- package/{lib/generators/add-frontend/frameworks/antui → src/generators/add-frontend/frameworks/antui/src}/entry.server.tsx.template +61 -51
- package/{lib/generators/add-frontend/frameworks/antui → src/generators/add-frontend/frameworks/antui/src}/root.tsx.template +6 -15
- package/src/generators/add-frontend/frameworks/chakraui/{context.tsx.template → src/context.tsx.template} +6 -0
- package/src/generators/add-frontend/frameworks/chakraui/{entry.client.tsx.template → src/entry.client.tsx.template} +21 -18
- package/{lib/generators/add-frontend/frameworks/chakraui → src/generators/add-frontend/frameworks/chakraui/src}/entry.server.tsx.template +33 -30
- package/src/generators/add-frontend/frameworks/chakraui/{root.tsx.template → src/root.tsx.template} +8 -4
- package/src/generators/add-frontend/frameworks/tailwindui/postcss.config.js +6 -0
- package/{lib/generators/add-frontend/frameworks/tailwindui → src/generators/add-frontend/frameworks/tailwindui/src}/entry.client.tsx.template +3 -10
- package/src/generators/add-frontend/frameworks/tailwindui/tailwind.config.ts.template +12 -0
- package/src/generators/add-frontend/generator.test.ts +79 -0
- package/src/generators/add-frontend/generator.ts +109 -44
- package/src/generators/add-fullstack/files/Jenkinsfile +2 -2
- package/src/generators/add-fullstack/files/cdecode-config.json +126 -0
- package/src/generators/add-fullstack/files/package.json +31 -18
- package/src/generators/add-fullstack/files/rollup.config.base.mjs +17 -95
- package/src/generators/add-fullstack/files/tools/codegenGenerator.mjs +36 -0
- package/src/generators/add-fullstack/generator.ts +8 -4
- package/src/generators/add-fullstack/schema.json +1 -1
- package/src/generators/add-moleculer/files/.dockerignore +2 -1
- package/src/generators/add-moleculer/files/Dockerfile +2 -0
- package/src/generators/add-moleculer/files/config.json +5 -0
- package/src/generators/add-moleculer/files/package.json +10 -6
- package/src/generators/add-moleculer/files/rollup.config.mjs +14 -1
- package/tsconfig.spec.json +9 -0
- package/docker-releases/backend/package.json +0 -134
- package/docker-releases/frontend/antd/package.json +0 -121
- package/lib/generators/add-fullstack/files/codegen.yml +0 -47
- package/lib/generators/add-moleculer/files/src/modules/module.ts.template +0 -31
- package/src/generators/add-frontend/generator.spec.ts +0 -20
- package/src/generators/add-fullstack/files/codegen.yml +0 -47
- package/src/generators/add-moleculer/files/src/modules/module.ts.template +0 -31
- /package/lib/generators/add-frontend/{templates → frameworks/tailwindui}/postcss.config.js +0 -0
- /package/lib/generators/add-frontend/frameworks/tailwindui/{entry.server.tsx.template → src/entry.server.tsx.template} +0 -0
- /package/lib/generators/add-frontend/frameworks/tailwindui/{root.tsx.template → src/root.tsx.template} +0 -0
- /package/lib/generators/add-frontend/frameworks/tailwindui/{tailwind.css → src/tailwind.css} +0 -0
- /package/lib/generators/add-frontend/{templates → frameworks/tailwindui}/tailwind.config.ts.template +0 -0
- /package/lib/generators/add-frontend/{generator.spec.d.ts → generator.test.d.ts} +0 -0
- /package/src/generators/add-frontend/frameworks/tailwindui/{entry.server.tsx.template → src/entry.server.tsx.template} +0 -0
- /package/src/generators/add-frontend/frameworks/tailwindui/{root.tsx.template → src/root.tsx.template} +0 -0
- /package/src/generators/add-frontend/frameworks/tailwindui/{tailwind.css → src/tailwind.css} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,186 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [6.0.8-alpha.50](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.49...v6.0.8-alpha.50) (2025-02-13)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
9
|
+
|
|
10
|
+
## [6.0.8-alpha.49](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.48...v6.0.8-alpha.49) (2025-02-11)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
13
|
+
|
|
14
|
+
## [6.0.8-alpha.48](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.47...v6.0.8-alpha.48) (2025-02-10)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
17
|
+
|
|
18
|
+
## [6.0.8-alpha.47](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.46...v6.0.8-alpha.47) (2025-02-09)
|
|
19
|
+
|
|
20
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
21
|
+
|
|
22
|
+
## [6.0.8-alpha.46](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.45...v6.0.8-alpha.46) (2025-02-07)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
25
|
+
|
|
26
|
+
## [6.0.8-alpha.45](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.44...v6.0.8-alpha.45) (2025-02-07)
|
|
27
|
+
|
|
28
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
29
|
+
|
|
30
|
+
## [6.0.8-alpha.44](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.43...v6.0.8-alpha.44) (2025-02-05)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
33
|
+
|
|
34
|
+
## [6.0.8-alpha.43](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.42...v6.0.8-alpha.43) (2025-02-04)
|
|
35
|
+
|
|
36
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
37
|
+
|
|
38
|
+
## [6.0.8-alpha.42](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.41...v6.0.8-alpha.42) (2025-02-03)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
41
|
+
|
|
42
|
+
## [6.0.8-alpha.41](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.40...v6.0.8-alpha.41) (2025-02-02)
|
|
43
|
+
|
|
44
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
45
|
+
|
|
46
|
+
## [6.0.8-alpha.40](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.39...v6.0.8-alpha.40) (2025-02-02)
|
|
47
|
+
|
|
48
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
49
|
+
|
|
50
|
+
## [6.0.8-alpha.39](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.38...v6.0.8-alpha.39) (2025-02-01)
|
|
51
|
+
|
|
52
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
53
|
+
|
|
54
|
+
## [6.0.8-alpha.38](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.37...v6.0.8-alpha.38) (2025-02-01)
|
|
55
|
+
|
|
56
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
57
|
+
|
|
58
|
+
## [6.0.8-alpha.37](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.36...v6.0.8-alpha.37) (2025-02-01)
|
|
59
|
+
|
|
60
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
61
|
+
|
|
62
|
+
## [6.0.8-alpha.36](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.35...v6.0.8-alpha.36) (2025-02-01)
|
|
63
|
+
|
|
64
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
65
|
+
|
|
66
|
+
## [6.0.8-alpha.35](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.34...v6.0.8-alpha.35) (2025-01-31)
|
|
67
|
+
|
|
68
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
69
|
+
|
|
70
|
+
## [6.0.8-alpha.34](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.33...v6.0.8-alpha.34) (2025-01-31)
|
|
71
|
+
|
|
72
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
73
|
+
|
|
74
|
+
## [6.0.8-alpha.33](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.32...v6.0.8-alpha.33) (2025-01-31)
|
|
75
|
+
|
|
76
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
77
|
+
|
|
78
|
+
## [6.0.8-alpha.32](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.31...v6.0.8-alpha.32) (2025-01-31)
|
|
79
|
+
|
|
80
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
81
|
+
|
|
82
|
+
## [6.0.8-alpha.31](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.30...v6.0.8-alpha.31) (2025-01-27)
|
|
83
|
+
|
|
84
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
85
|
+
|
|
86
|
+
## [6.0.8-alpha.30](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.29...v6.0.8-alpha.30) (2025-01-27)
|
|
87
|
+
|
|
88
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
89
|
+
|
|
90
|
+
## [6.0.8-alpha.29](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.28...v6.0.8-alpha.29) (2025-01-27)
|
|
91
|
+
|
|
92
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
93
|
+
|
|
94
|
+
## [6.0.8-alpha.28](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.27...v6.0.8-alpha.28) (2025-01-27)
|
|
95
|
+
|
|
96
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
97
|
+
|
|
98
|
+
## [6.0.8-alpha.27](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.26...v6.0.8-alpha.27) (2025-01-27)
|
|
99
|
+
|
|
100
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
101
|
+
|
|
102
|
+
## [6.0.8-alpha.26](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.25...v6.0.8-alpha.26) (2025-01-27)
|
|
103
|
+
|
|
104
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
105
|
+
|
|
106
|
+
## [6.0.8-alpha.25](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.24...v6.0.8-alpha.25) (2025-01-27)
|
|
107
|
+
|
|
108
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
109
|
+
|
|
110
|
+
## [6.0.8-alpha.24](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.23...v6.0.8-alpha.24) (2025-01-27)
|
|
111
|
+
|
|
112
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
113
|
+
|
|
114
|
+
## [6.0.8-alpha.23](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.22...v6.0.8-alpha.23) (2025-01-22)
|
|
115
|
+
|
|
116
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
117
|
+
|
|
118
|
+
## [6.0.8-alpha.22](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.21...v6.0.8-alpha.22) (2025-01-20)
|
|
119
|
+
|
|
120
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
121
|
+
|
|
122
|
+
## [6.0.8-alpha.21](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.20...v6.0.8-alpha.21) (2025-01-19)
|
|
123
|
+
|
|
124
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
125
|
+
|
|
126
|
+
## [6.0.8-alpha.20](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.19...v6.0.8-alpha.20) (2025-01-17)
|
|
127
|
+
|
|
128
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
129
|
+
|
|
130
|
+
## [6.0.8-alpha.19](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.18...v6.0.8-alpha.19) (2025-01-14)
|
|
131
|
+
|
|
132
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
133
|
+
|
|
134
|
+
## [6.0.8-alpha.18](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.17...v6.0.8-alpha.18) (2025-01-11)
|
|
135
|
+
|
|
136
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
137
|
+
|
|
138
|
+
## [6.0.8-alpha.17](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.16...v6.0.8-alpha.17) (2025-01-08)
|
|
139
|
+
|
|
140
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
141
|
+
|
|
142
|
+
## [6.0.8-alpha.16](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.15...v6.0.8-alpha.16) (2025-01-08)
|
|
143
|
+
|
|
144
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
145
|
+
|
|
146
|
+
## [6.0.8-alpha.15](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.14...v6.0.8-alpha.15) (2025-01-03)
|
|
147
|
+
|
|
148
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
149
|
+
|
|
150
|
+
## [6.0.8-alpha.14](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.13...v6.0.8-alpha.14) (2024-12-30)
|
|
151
|
+
|
|
152
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
153
|
+
|
|
154
|
+
## [6.0.8-alpha.13](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.12...v6.0.8-alpha.13) (2024-12-30)
|
|
155
|
+
|
|
156
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
157
|
+
|
|
158
|
+
## [6.0.8-alpha.12](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.11...v6.0.8-alpha.12) (2024-12-29)
|
|
159
|
+
|
|
160
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
161
|
+
|
|
162
|
+
## [6.0.8-alpha.11](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.10...v6.0.8-alpha.11) (2024-12-29)
|
|
163
|
+
|
|
164
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
165
|
+
|
|
166
|
+
## [6.0.8-alpha.10](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.9...v6.0.8-alpha.10) (2024-12-20)
|
|
167
|
+
|
|
168
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
169
|
+
|
|
170
|
+
## [6.0.8-alpha.9](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.8...v6.0.8-alpha.9) (2024-12-20)
|
|
171
|
+
|
|
172
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
173
|
+
|
|
174
|
+
## [6.0.8-alpha.8](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.7...v6.0.8-alpha.8) (2024-12-19)
|
|
175
|
+
|
|
176
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
177
|
+
|
|
178
|
+
## [6.0.8-alpha.7](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.6...v6.0.8-alpha.7) (2024-12-19)
|
|
179
|
+
|
|
180
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
181
|
+
|
|
182
|
+
## [6.0.8-alpha.6](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.5...v6.0.8-alpha.6) (2024-12-19)
|
|
183
|
+
|
|
184
|
+
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
185
|
+
|
|
6
186
|
## [6.0.8-alpha.5](https://github.com/cdmbase/common-stack/compare/v6.0.8-alpha.4...v6.0.8-alpha.5) (2024-12-19)
|
|
7
187
|
|
|
8
188
|
**Note:** Version bump only for package @common-stack/generate-plugin
|
|
@@ -261,18 +441,18 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
261
441
|
|
|
262
442
|
### Bug Fixes
|
|
263
443
|
|
|
264
|
-
-
|
|
444
|
+
- **server-stack:** apollo server redis cache ([2ef1df3](https://github.com/cdmbase/common-stack/commit/2ef1df30176616baf9816c47168687577f7aa8ff))
|
|
265
445
|
|
|
266
446
|
### Features
|
|
267
447
|
|
|
268
|
-
-
|
|
448
|
+
- enable docker layer caching ([ce2c742](https://github.com/cdmbase/common-stack/commit/ce2c74271a107d5c73580523a4e1822b80e04c8d))
|
|
269
449
|
|
|
270
450
|
## [6.0.6-alpha.0](https://github.com/cdmbase/common-stack/compare/v0.0.251...v6.0.6-alpha.0) (2024-12-16)
|
|
271
451
|
|
|
272
452
|
### Bug Fixes
|
|
273
453
|
|
|
274
|
-
-
|
|
454
|
+
- **server-stack:** apollo server redis cache ([2ef1df3](https://github.com/cdmbase/common-stack/commit/2ef1df30176616baf9816c47168687577f7aa8ff))
|
|
275
455
|
|
|
276
456
|
### Features
|
|
277
457
|
|
|
278
|
-
-
|
|
458
|
+
- enable docker layer caching ([ce2c742](https://github.com/cdmbase/common-stack/commit/ce2c74271a107d5c73580523a4e1822b80e04c8d))
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sample-stack-frontend-server",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"resolutions": {
|
|
6
|
+
"common": "link:./common"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"@admin-layout/ant-design-pro": "10.0.2-alpha.4",
|
|
10
|
+
"@ant-design/static-style-extract": "^1.0.3",
|
|
11
|
+
"@chakra-ui/react": "^2.8.0",
|
|
12
|
+
"@emotion/css": "^11.13.5",
|
|
13
|
+
"@emotion/react": "^11.14.0",
|
|
14
|
+
"@emotion/server": "^11.11.0",
|
|
15
|
+
"@emotion/styled": "^11.14.0",
|
|
16
|
+
"antd": "^5.23.4",
|
|
17
|
+
"autoprefixer": "^10.4.20",
|
|
18
|
+
"framer-motion": "^12.4.1",
|
|
19
|
+
"postcss": "^8.5.1",
|
|
20
|
+
"tailwindcss": "^4.0.4"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {},
|
|
23
|
+
"peerDependencies": {
|
|
24
|
+
"body-parser": "*"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';Object.defineProperty(exports,'__esModule',{value:true});var name = "sample-stack-frontend-server";
|
|
2
|
+
var version = "1.0.0";
|
|
3
|
+
var resolutions = {
|
|
4
|
+
common: "link:./common"
|
|
5
|
+
};
|
|
6
|
+
var dependencies = {
|
|
7
|
+
"@admin-layout/ant-design-pro": "10.0.2-alpha.4",
|
|
8
|
+
"@ant-design/static-style-extract": "^1.0.3",
|
|
9
|
+
"@chakra-ui/react": "^2.8.0",
|
|
10
|
+
"@emotion/css": "^11.13.5",
|
|
11
|
+
"@emotion/react": "^11.14.0",
|
|
12
|
+
"@emotion/server": "^11.11.0",
|
|
13
|
+
"@emotion/styled": "^11.14.0",
|
|
14
|
+
antd: "^5.23.4",
|
|
15
|
+
autoprefixer: "^10.4.20",
|
|
16
|
+
"framer-motion": "^12.4.1",
|
|
17
|
+
postcss: "^8.5.1",
|
|
18
|
+
tailwindcss: "^4.0.4"
|
|
19
|
+
};
|
|
20
|
+
var devDependencies = {
|
|
21
|
+
};
|
|
22
|
+
var peerDependencies = {
|
|
23
|
+
"body-parser": "*"
|
|
24
|
+
};
|
|
25
|
+
var pluginPkg = {
|
|
26
|
+
name: name,
|
|
27
|
+
version: version,
|
|
28
|
+
"private": true,
|
|
29
|
+
resolutions: resolutions,
|
|
30
|
+
dependencies: dependencies,
|
|
31
|
+
devDependencies: devDependencies,
|
|
32
|
+
peerDependencies: peerDependencies
|
|
33
|
+
};exports.default=pluginPkg;exports.dependencies=dependencies;exports.devDependencies=devDependencies;exports.name=name;exports.peerDependencies=peerDependencies;exports.resolutions=resolutions;exports.version=version;//# sourceMappingURL=package.json.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.json.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var name = "sample-stack-frontend-server";
|
|
2
|
+
var version = "1.0.0";
|
|
3
|
+
var resolutions = {
|
|
4
|
+
common: "link:./common"
|
|
5
|
+
};
|
|
6
|
+
var dependencies = {
|
|
7
|
+
"@admin-layout/ant-design-pro": "10.0.2-alpha.4",
|
|
8
|
+
"@ant-design/static-style-extract": "^1.0.3",
|
|
9
|
+
"@chakra-ui/react": "^2.8.0",
|
|
10
|
+
"@emotion/css": "^11.13.5",
|
|
11
|
+
"@emotion/react": "^11.14.0",
|
|
12
|
+
"@emotion/server": "^11.11.0",
|
|
13
|
+
"@emotion/styled": "^11.14.0",
|
|
14
|
+
antd: "^5.23.4",
|
|
15
|
+
autoprefixer: "^10.4.20",
|
|
16
|
+
"framer-motion": "^12.4.1",
|
|
17
|
+
postcss: "^8.5.1",
|
|
18
|
+
tailwindcss: "^4.0.4"
|
|
19
|
+
};
|
|
20
|
+
var devDependencies = {
|
|
21
|
+
};
|
|
22
|
+
var peerDependencies = {
|
|
23
|
+
"body-parser": "*"
|
|
24
|
+
};
|
|
25
|
+
var pluginPkg = {
|
|
26
|
+
name: name,
|
|
27
|
+
version: version,
|
|
28
|
+
"private": true,
|
|
29
|
+
resolutions: resolutions,
|
|
30
|
+
dependencies: dependencies,
|
|
31
|
+
devDependencies: devDependencies,
|
|
32
|
+
peerDependencies: peerDependencies
|
|
33
|
+
};export{pluginPkg as default,dependencies,devDependencies,name,peerDependencies,resolutions,version};//# sourceMappingURL=package.json.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -4,6 +4,7 @@ FROM node:20.16-bullseye
|
|
|
4
4
|
ENV PYTHON=/usr/bin/python
|
|
5
5
|
|
|
6
6
|
COPY .npmrc package.json /tmp/
|
|
7
|
+
COPY common /tmp/common
|
|
7
8
|
|
|
8
9
|
RUN set -ex \
|
|
9
10
|
&& cd /tmp \
|
|
@@ -13,6 +14,7 @@ RUN set -ex \
|
|
|
13
14
|
&& rm -f /tmp/.npmrc \
|
|
14
15
|
&& mkdir -p /home/app \
|
|
15
16
|
&& cp -a /tmp/node_modules /home/app/ \
|
|
17
|
+
&& cp -a /tmp/common /home/app/common \
|
|
16
18
|
&& rm -Rf /tmp/*
|
|
17
19
|
|
|
18
20
|
WORKDIR /home/app
|
|
@@ -29,10 +29,11 @@
|
|
|
29
29
|
"build": "cross-env NODE_ENV=production webpack --config webpack.config.js",
|
|
30
30
|
"build:clean": "rimraf dist .awcache",
|
|
31
31
|
"build:dev": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env webpack --config webpack.config.js",
|
|
32
|
+
"copycommon": "cp -r ../../packages/common .",
|
|
32
33
|
"db:migrate": "knex -- migrate:latest --cwd . --knexfile ./knexfile.js",
|
|
33
34
|
"db:migrate:rollback": "knex -- migrate:rollback --cwd . --knexfile ./knexfile.js",
|
|
34
35
|
"db:seed": "yarn db:migrate && knex -- seed:run --cwd . --knexfile ./knexfile.js",
|
|
35
|
-
"docker:build": "yarn build && docker build . -t $npm_package_name:$npm_package_version",
|
|
36
|
+
"docker:build": "yarn copycommon && yarn build && docker build . -t $npm_package_name:$npm_package_version",
|
|
36
37
|
"docker:build:debug": "yarn build:debug && docker build . -t $npm_package_name:$npm_package_version",
|
|
37
38
|
"docker:run": "docker run --env-file ../../config/staging/docker-staging.env -p 8080:8080 -it $npm_package_name:$npm_package_version",
|
|
38
39
|
"docker:run:debug": "cross-env NODE_ENV=development docker run --env-file ../../config/staging/docker-staging.env -p 8080:8080 -it $npm_package_name:$npm_package_version",
|
|
@@ -57,12 +58,13 @@
|
|
|
57
58
|
"watch:test": "cross-env NODE_ENV=test ENV_FILE=../../config/test/test.env yarn build:test && yarn start:test"
|
|
58
59
|
},
|
|
59
60
|
"resolutions": {
|
|
61
|
+
"common": "link:./common",
|
|
60
62
|
"html-to-text": "^8.0.0"
|
|
61
63
|
},
|
|
62
64
|
"dependencies": {
|
|
63
65
|
"@apollo/client": "^3.9.0",
|
|
64
66
|
"@babel/runtime": "^7.20.1",
|
|
65
|
-
"@common-stack/server-stack": "6.0.8-alpha.
|
|
67
|
+
"@common-stack/server-stack": "6.0.8-alpha.32",
|
|
66
68
|
"@remix-run/node": "~2.10.1",
|
|
67
69
|
"lodash": "^4.17.15",
|
|
68
70
|
"react": "18.2.0"
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
if (process.env.ENV_FILE) {
|
|
2
|
+
require('dotenv').config({ path: process.env.ENV_FILE });
|
|
3
|
+
}
|
|
2
4
|
const webpack = require('webpack');
|
|
3
5
|
const path = require('path');
|
|
4
6
|
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
|
|
@@ -13,8 +13,6 @@ import { ApolloProvider } from '@apollo/client/index.js';
|
|
|
13
13
|
import { SlotFillProvider, removeUniversalPortals } from '@common-stack/components-pro';
|
|
14
14
|
import { InversifyProvider } from '@common-stack/client-react';
|
|
15
15
|
import { Provider as ReduxProvider } from 'react-redux';
|
|
16
|
-
import { PersistGate } from 'redux-persist/integration/react';
|
|
17
|
-
import { persistStore } from 'redux-persist';
|
|
18
16
|
import { CacheProvider } from '@emotion/react';
|
|
19
17
|
import i18next from 'i18next';
|
|
20
18
|
import { I18nextProvider, initReactI18next } from 'react-i18next';
|
|
@@ -32,16 +30,22 @@ import clientModules from '@app/frontend-stack-react/modules.js';
|
|
|
32
30
|
import createEmotionCache from '@app/frontend-stack-react/entries/common/createEmotionCache.js';
|
|
33
31
|
// @ts-ignore
|
|
34
32
|
import config from '@app/cde-webconfig.json';
|
|
33
|
+
import { LocaleContext } from './context';
|
|
35
34
|
|
|
36
35
|
const { apolloClient: client, container, serviceFunc } = createClientContainer();
|
|
37
36
|
const { store } = createReduxStore(client, serviceFunc(), container);
|
|
38
|
-
const persistor = persistStore(store);
|
|
39
37
|
const antCache = createCache();
|
|
40
38
|
const cache = createEmotionCache();
|
|
41
39
|
|
|
42
40
|
(window as any).__remixStore = store;
|
|
43
41
|
removeUniversalPortals((window as any).__SLOT_FILLS__ || []);
|
|
44
42
|
|
|
43
|
+
function LocaleProvider({ children }: any) {
|
|
44
|
+
const locale = (window as any).__LOCALE__ || '';
|
|
45
|
+
|
|
46
|
+
return <LocaleContext.Provider value={locale}>{children}</LocaleContext.Provider>;
|
|
47
|
+
}
|
|
48
|
+
|
|
45
49
|
async function hydrate() {
|
|
46
50
|
if (!i18next.isInitialized && config.i18n.enabled) {
|
|
47
51
|
await i18next
|
|
@@ -66,25 +70,21 @@ async function hydrate() {
|
|
|
66
70
|
document,
|
|
67
71
|
(
|
|
68
72
|
<I18nextProvider i18n={i18next}>
|
|
69
|
-
<
|
|
73
|
+
<LocaleProvider>
|
|
70
74
|
<CacheProvider value={cache}>
|
|
71
75
|
<StyleProvider cache={antCache}>
|
|
72
76
|
<ReduxProvider store={store}>
|
|
73
77
|
<SlotFillProvider>
|
|
74
78
|
<InversifyProvider container={container} modules={clientModules}>
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
<RemixBrowser />
|
|
79
|
-
</ApolloProvider>
|
|
80
|
-
)}
|
|
81
|
-
</PersistGate>
|
|
79
|
+
<ApolloProvider client={client}>
|
|
80
|
+
<RemixBrowser />
|
|
81
|
+
</ApolloProvider>
|
|
82
82
|
</InversifyProvider>
|
|
83
83
|
</SlotFillProvider>
|
|
84
84
|
</ReduxProvider>
|
|
85
85
|
</StyleProvider>
|
|
86
86
|
</CacheProvider>
|
|
87
|
-
</
|
|
87
|
+
</LocaleProvider>
|
|
88
88
|
</I18nextProvider>
|
|
89
89
|
) as any,
|
|
90
90
|
);
|
|
@@ -27,10 +27,14 @@ import Backend from 'i18next-fs-backend';
|
|
|
27
27
|
import { resolve } from 'node:path';
|
|
28
28
|
// @ts-ignore
|
|
29
29
|
import { i18nextInstance as i18next } from '@app/frontend-stack-react/i18n-localization/i18next.server.js';
|
|
30
|
+
// @ts-ignore
|
|
30
31
|
import config from '@app/cde-webconfig.json';
|
|
31
32
|
// @ts-ignore
|
|
32
33
|
import createEmotionCache from '@app/frontend-stack-react/entries/common/createEmotionCache';
|
|
33
34
|
import type { IAppLoadContext } from '@common-stack/client-core';
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
import publicEnv from '@src/config/public-config';
|
|
37
|
+
import { LocaleContext } from './context';
|
|
34
38
|
|
|
35
39
|
const ABORT_DELAY = 5_000;
|
|
36
40
|
const antdCache = createAntdCache();
|
|
@@ -41,18 +45,23 @@ class ConstantsTransform extends Transform {
|
|
|
41
45
|
_apolloState: any;
|
|
42
46
|
_reduxState: any;
|
|
43
47
|
_styleSheet: string;
|
|
48
|
+
_lng: string;
|
|
44
49
|
|
|
45
|
-
constructor(fills: string[], apolloState: any, reduxState: any, styleSheet: any) {
|
|
50
|
+
constructor(fills: string[], apolloState: any, reduxState: any, styleSheet: any, lng: string) {
|
|
46
51
|
super();
|
|
47
52
|
this._fills = fills;
|
|
48
53
|
this._apolloState = apolloState;
|
|
49
54
|
this._reduxState = reduxState;
|
|
50
55
|
this._styleSheet = styleSheet;
|
|
56
|
+
this._lng = lng;
|
|
51
57
|
}
|
|
52
58
|
|
|
53
59
|
_transform(chunk, encoding, callback) {
|
|
54
60
|
let transformedChunk = chunk.toString();
|
|
55
61
|
|
|
62
|
+
if (transformedChunk.includes('[__ENV__]')) {
|
|
63
|
+
transformedChunk = transformedChunk.replace('[__ENV__]', JSON.stringify(publicEnv));
|
|
64
|
+
}
|
|
56
65
|
if (transformedChunk.includes('[__APOLLO_STATE__]')) {
|
|
57
66
|
transformedChunk = transformedChunk.replace(
|
|
58
67
|
'[__APOLLO_STATE__]',
|
|
@@ -71,6 +80,9 @@ class ConstantsTransform extends Transform {
|
|
|
71
80
|
if (transformedChunk.includes('[__STYLESHEET__]')) {
|
|
72
81
|
transformedChunk = transformedChunk.replace('[__STYLESHEET__]', this._styleSheet);
|
|
73
82
|
}
|
|
83
|
+
if (transformedChunk.includes('[__LOCALE__]')) {
|
|
84
|
+
transformedChunk = transformedChunk.replace('[__LOCALE__]', `"${this._lng}"`);
|
|
85
|
+
}
|
|
74
86
|
|
|
75
87
|
callback(null, transformedChunk);
|
|
76
88
|
}
|
|
@@ -86,32 +98,9 @@ export default async function handleRequest(
|
|
|
86
98
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
87
99
|
loadContext: IAppLoadContext,
|
|
88
100
|
) {
|
|
89
|
-
const instance = createInstance();
|
|
90
|
-
const lng = await i18next.getLocale(request);
|
|
91
|
-
const ns = i18next.getRouteNamespaces(remixContext);
|
|
92
|
-
|
|
93
|
-
// First, we create a new instance of i18next so every request will have a
|
|
94
|
-
// completely unique instance and not share any state.
|
|
95
|
-
if (config.i18n.enabled) {
|
|
96
|
-
await instance
|
|
97
|
-
.use(initReactI18next) // Tell our instance to use react-i18next
|
|
98
|
-
.use(Backend) // Setup our backend.init({
|
|
99
|
-
.init({
|
|
100
|
-
fallbackLng: config.i18n.fallbackLng,
|
|
101
|
-
defaultNS: config.i18n.defaultNS,
|
|
102
|
-
react: config.i18n.react,
|
|
103
|
-
supportedLngs: config.i18n.supportedLngs,
|
|
104
|
-
lng, // The locale we detected above
|
|
105
|
-
ns, // The namespaces the routes about to render want to use
|
|
106
|
-
backend: {
|
|
107
|
-
loadPath: resolve(config.i18n.backend.loadServerPath),
|
|
108
|
-
},
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
|
|
112
101
|
return isbot(request.headers.get('user-agent') || '')
|
|
113
|
-
? handleBotRequest(request, responseStatusCode, responseHeaders, remixContext, loadContext
|
|
114
|
-
: handleBrowserRequest(request, responseStatusCode, responseHeaders, remixContext, loadContext
|
|
102
|
+
? handleBotRequest(request, responseStatusCode, responseHeaders, remixContext, loadContext)
|
|
103
|
+
: handleBrowserRequest(request, responseStatusCode, responseHeaders, remixContext, loadContext);
|
|
115
104
|
}
|
|
116
105
|
|
|
117
106
|
function handleBotRequest(
|
|
@@ -120,14 +109,11 @@ function handleBotRequest(
|
|
|
120
109
|
responseHeaders: Headers,
|
|
121
110
|
remixContext: EntryContext,
|
|
122
111
|
loadContext: IAppLoadContext,
|
|
123
|
-
i18nInstance: i18next,
|
|
124
112
|
) {
|
|
125
113
|
return new Promise((resolve, reject) => {
|
|
126
114
|
let shellRendered = false;
|
|
127
115
|
const { pipe, abort } = renderToPipeableStream(
|
|
128
|
-
<
|
|
129
|
-
<RemixServer context={remixContext} url={request.url} abortDelay={ABORT_DELAY} />
|
|
130
|
-
</I18nextProvider>,
|
|
116
|
+
<RemixServer context={remixContext} url={request.url} abortDelay={ABORT_DELAY} />,
|
|
131
117
|
{
|
|
132
118
|
onAllReady() {
|
|
133
119
|
shellRendered = true;
|
|
@@ -164,14 +150,36 @@ function handleBotRequest(
|
|
|
164
150
|
});
|
|
165
151
|
}
|
|
166
152
|
|
|
167
|
-
function handleBrowserRequest(
|
|
153
|
+
async function handleBrowserRequest(
|
|
168
154
|
request: Request,
|
|
169
155
|
responseStatusCode: number,
|
|
170
156
|
responseHeaders: Headers,
|
|
171
157
|
remixContext: EntryContext,
|
|
172
158
|
loadContext: IAppLoadContext,
|
|
173
|
-
i18nInstance: i18next,
|
|
174
159
|
) {
|
|
160
|
+
const instance = createInstance();
|
|
161
|
+
const lng = await i18next.getLocale(request);
|
|
162
|
+
const ns = i18next.getRouteNamespaces(remixContext);
|
|
163
|
+
|
|
164
|
+
// First, we create a new instance of i18next so every request will have a
|
|
165
|
+
// completely unique instance and not share any state.
|
|
166
|
+
if (config.i18n.enabled) {
|
|
167
|
+
await instance
|
|
168
|
+
.use(initReactI18next) // Tell our instance to use react-i18next
|
|
169
|
+
.use(Backend) // Setup our backend.init({
|
|
170
|
+
.init({
|
|
171
|
+
fallbackLng: config.i18n.fallbackLng,
|
|
172
|
+
defaultNS: config.i18n.defaultNS,
|
|
173
|
+
react: config.i18n.react,
|
|
174
|
+
supportedLngs: config.i18n.supportedLngs,
|
|
175
|
+
lng, // The locale we detected above
|
|
176
|
+
ns, // The namespaces the routes about to render want to use
|
|
177
|
+
backend: {
|
|
178
|
+
loadPath: resolve(config.i18n.backend.loadServerPath),
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
|
|
175
183
|
return new Promise((resolve, reject) => {
|
|
176
184
|
let shellRendered = false;
|
|
177
185
|
const slotFillContext = { fills: {} };
|
|
@@ -190,24 +198,26 @@ function handleBrowserRequest(
|
|
|
190
198
|
|
|
191
199
|
const { pipe, abort } = renderToPipeableStream(
|
|
192
200
|
(
|
|
193
|
-
<I18nextProvider i18n={
|
|
194
|
-
<
|
|
195
|
-
<
|
|
196
|
-
<
|
|
197
|
-
<
|
|
198
|
-
<
|
|
199
|
-
<
|
|
200
|
-
<
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
201
|
+
<I18nextProvider i18n={instance}>
|
|
202
|
+
<LocaleContext.Provider value={lng}>
|
|
203
|
+
<CacheProvider value={cache}>
|
|
204
|
+
<StyleProvider cache={antdCache}>
|
|
205
|
+
<ReduxProvider store={store}>
|
|
206
|
+
<SlotFillProvider context={slotFillContext}>
|
|
207
|
+
<InversifyProvider container={container} modules={clientModules as any}>
|
|
208
|
+
<ApolloProvider client={client}>
|
|
209
|
+
<RemixServer
|
|
210
|
+
context={remixContext}
|
|
211
|
+
url={request.url}
|
|
212
|
+
abortDelay={ABORT_DELAY}
|
|
213
|
+
/>
|
|
214
|
+
</ApolloProvider>
|
|
215
|
+
</InversifyProvider>
|
|
216
|
+
</SlotFillProvider>
|
|
217
|
+
</ReduxProvider>
|
|
218
|
+
</StyleProvider>
|
|
219
|
+
</CacheProvider>
|
|
220
|
+
</LocaleContext.Provider>
|
|
211
221
|
</I18nextProvider>
|
|
212
222
|
) as any,
|
|
213
223
|
{
|
|
@@ -220,7 +230,7 @@ function handleBrowserRequest(
|
|
|
220
230
|
const fills = Object.keys(slotFillContext.fills);
|
|
221
231
|
const styleSheet = extractStyle(antdCache);
|
|
222
232
|
|
|
223
|
-
const transform = new ConstantsTransform(fills, apolloState, reduxState, styleSheet);
|
|
233
|
+
const transform = new ConstantsTransform(fills, apolloState, reduxState, styleSheet, lng);
|
|
224
234
|
|
|
225
235
|
responseHeaders.set('Content-Type', 'text/html');
|
|
226
236
|
|