generator-kodly-react-app 1.0.6 → 1.0.10
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/generators/app/index.js +63 -11
- package/generators/app/templates/.env.dev +4 -0
- package/generators/app/templates/.env.sandbox +4 -0
- package/generators/app/templates/STRUCTURE.md +661 -0
- package/generators/app/templates/components.json +22 -0
- package/generators/app/templates/index.html +14 -6
- package/generators/app/templates/openapi-ts.config.ts +29 -0
- package/generators/app/templates/package.json +46 -26
- package/generators/app/templates/public/favicon.svg +4 -0
- package/generators/app/templates/src/app.tsx +8 -8
- package/generators/app/templates/src/components/layout/language-switcher.tsx +40 -0
- package/generators/app/templates/src/components/layout/theme-switcher.tsx +37 -0
- package/generators/app/templates/src/components/theme/theme-provider.tsx +22 -28
- package/generators/app/templates/src/components/ui/button.tsx +34 -32
- package/generators/app/templates/src/components/ui/card.tsx +76 -0
- package/generators/app/templates/src/components/ui/field.tsx +242 -0
- package/generators/app/templates/src/components/ui/form.tsx +129 -0
- package/generators/app/templates/src/components/ui/input-group.tsx +170 -0
- package/generators/app/templates/src/components/ui/input.tsx +19 -21
- package/generators/app/templates/src/components/ui/label.tsx +24 -0
- package/generators/app/templates/src/components/ui/select.tsx +184 -0
- package/generators/app/templates/src/components/ui/separator.tsx +31 -0
- package/generators/app/templates/src/components/ui/textarea.tsx +22 -0
- package/generators/app/templates/src/index.css +83 -26
- package/generators/app/templates/src/lib/api/client.ts +4 -5
- package/generators/app/templates/src/lib/i18n.ts +31 -16
- package/generators/app/templates/src/lib/routes.ts +14 -0
- package/generators/app/templates/src/lib/utils/error-handler.ts +7 -2
- package/generators/app/templates/src/lib/utils/init-form-schema.ts +12 -0
- package/generators/app/templates/src/lib/utils.ts +3 -4
- package/generators/app/templates/src/locales/en/common.json +5 -0
- package/generators/app/templates/src/locales/en/theme.json +5 -0
- package/generators/app/templates/src/locales/index.ts +31 -0
- package/generators/app/templates/src/locales/ja/common.json +5 -0
- package/generators/app/templates/src/locales/ja/theme.json +6 -0
- package/generators/app/templates/src/main.tsx +19 -15
- package/generators/app/templates/src/modules/app/layouts/app-layout.tsx +37 -0
- package/generators/app/templates/src/modules/app/locales/app-en.json +9 -0
- package/generators/app/templates/src/modules/app/locales/app-ja.json +9 -0
- package/generators/app/templates/src/modules/auth/components/forgot-password-form.tsx +74 -0
- package/generators/app/templates/src/modules/auth/components/login-form.tsx +95 -0
- package/generators/app/templates/src/modules/auth/components/reset-password-form.tsx +112 -0
- package/generators/app/templates/src/modules/auth/components/signup-form.tsx +92 -0
- package/generators/app/templates/src/modules/auth/contexts/auth-context.tsx +11 -0
- package/generators/app/templates/src/modules/auth/hooks/use-auth-hook.ts +175 -0
- package/generators/app/templates/src/modules/auth/layouts/auth-layout.tsx +28 -0
- package/generators/app/templates/src/modules/auth/locales/auth-en.json +105 -0
- package/generators/app/templates/src/modules/auth/locales/auth-ja.json +105 -0
- package/generators/app/templates/src/modules/landing/components/auth-hero.tsx +34 -0
- package/generators/app/templates/src/modules/landing/components/welcome-hero.tsx +24 -0
- package/generators/app/templates/src/modules/landing/landing-page-layout.tsx +24 -0
- package/generators/app/templates/src/modules/landing/landing-page.tsx +17 -0
- package/generators/app/templates/src/modules/landing/layouts/landing-page-layout.tsx +24 -0
- package/generators/app/templates/src/modules/landing/locales/landing-en.json +12 -0
- package/generators/app/templates/src/modules/landing/locales/landing-ja.json +11 -0
- package/generators/app/templates/src/openapi-client-config.ts +6 -0
- package/generators/app/templates/src/routeTree.gen.ts +268 -3
- package/generators/app/templates/src/router.tsx +2 -2
- package/generators/app/templates/src/routes/__root.tsx +3 -3
- package/generators/app/templates/src/routes/_landing/index.tsx +10 -0
- package/generators/app/templates/src/routes/_landing/route.tsx +14 -0
- package/generators/app/templates/src/routes/app/index.tsx +4 -21
- package/generators/app/templates/src/routes/app/route.tsx +12 -8
- package/generators/app/templates/src/routes/auth/forgot-password.tsx +10 -0
- package/generators/app/templates/src/routes/auth/login.tsx +6 -7
- package/generators/app/templates/src/routes/auth/reset-password.tsx +15 -0
- package/generators/app/templates/src/routes/auth/route.tsx +23 -6
- package/generators/app/templates/src/routes/auth/signup.tsx +11 -0
- package/generators/app/templates/src/sdk/@tanstack/react-query.gen.ts +91 -0
- package/generators/app/templates/src/sdk/client/client.gen.ts +167 -0
- package/generators/app/templates/src/sdk/client/index.ts +23 -0
- package/generators/app/templates/src/sdk/client/types.gen.ts +197 -0
- package/generators/app/templates/src/sdk/client/utils.gen.ts +213 -0
- package/generators/app/templates/src/sdk/client.gen.ts +18 -0
- package/generators/app/templates/src/sdk/core/auth.gen.ts +42 -0
- package/generators/app/templates/src/sdk/core/bodySerializer.gen.ts +100 -0
- package/generators/app/templates/src/sdk/core/params.gen.ts +176 -0
- package/generators/app/templates/src/sdk/core/pathSerializer.gen.ts +181 -0
- package/generators/app/templates/src/sdk/core/queryKeySerializer.gen.ts +136 -0
- package/generators/app/templates/src/sdk/core/serverSentEvents.gen.ts +266 -0
- package/generators/app/templates/src/sdk/core/types.gen.ts +118 -0
- package/generators/app/templates/src/sdk/core/utils.gen.ts +143 -0
- package/generators/app/templates/src/sdk/index.ts +4 -0
- package/generators/app/templates/src/sdk/schemas.gen.ts +195 -0
- package/generators/app/templates/src/sdk/sdk.gen.ts +80 -0
- package/generators/app/templates/src/sdk/types.gen.ts +158 -0
- package/generators/app/templates/src/sdk/zod.gen.ts +148 -0
- package/generators/app/templates/src/vite-env.d.ts +2 -1
- package/generators/app/templates/tsconfig.json +1 -1
- package/generators/app/templates/vite.config.js +35 -21
- package/generators/constants.js +9 -9
- package/package.json +3 -2
- package/generators/app/templates/.env.example +0 -5
- package/generators/app/templates/README.md +0 -57
- package/generators/app/templates/src/locales/en.json +0 -18
- package/generators/app/templates/src/modules/auth/auth-context.tsx +0 -13
- package/generators/app/templates/src/modules/auth/login/login-form.tsx +0 -49
- package/generators/app/templates/src/modules/auth/login/login-page.tsx +0 -12
- package/generators/app/templates/src/modules/auth/use-auth-hook.ts +0 -87
- package/generators/app/templates/src/routes/index.tsx +0 -12
- package/generators/app/templates/types.d.ts +0 -3
package/generators/app/index.js
CHANGED
|
@@ -13,6 +13,9 @@ export default class ReactAppGenerator extends BaseGenerator {
|
|
|
13
13
|
this._writeComponentFiles();
|
|
14
14
|
this._writeLibFiles();
|
|
15
15
|
this._writeLocaleFiles();
|
|
16
|
+
this._writeLandingFiles();
|
|
17
|
+
this._writeAppModuleFiles();
|
|
18
|
+
this._writeSdkFiles();
|
|
16
19
|
}
|
|
17
20
|
|
|
18
21
|
_writeConfigFiles() {
|
|
@@ -24,9 +27,10 @@ export default class ReactAppGenerator extends BaseGenerator {
|
|
|
24
27
|
'tailwind.config.js',
|
|
25
28
|
'postcss.config.js',
|
|
26
29
|
'index.html',
|
|
27
|
-
'
|
|
28
|
-
'.
|
|
29
|
-
'
|
|
30
|
+
'components.json',
|
|
31
|
+
'openapi-ts.config.ts',
|
|
32
|
+
'.env.dev',
|
|
33
|
+
'.env.sandbox',
|
|
30
34
|
];
|
|
31
35
|
configFiles.forEach((file) => this._writeFile(file));
|
|
32
36
|
this._writeFileWithPaths('gitignore.template', '.gitignore');
|
|
@@ -41,6 +45,7 @@ export default class ReactAppGenerator extends BaseGenerator {
|
|
|
41
45
|
'src/index.css',
|
|
42
46
|
'src/vite-env.d.ts',
|
|
43
47
|
'src/types/i18n.d.ts',
|
|
48
|
+
'src/openapi-client-config.ts',
|
|
44
49
|
];
|
|
45
50
|
srcFiles.forEach((file) => this._writeFile(file));
|
|
46
51
|
}
|
|
@@ -48,31 +53,50 @@ export default class ReactAppGenerator extends BaseGenerator {
|
|
|
48
53
|
_writeRouteFiles() {
|
|
49
54
|
const routeFiles = [
|
|
50
55
|
'src/routes/__root.tsx',
|
|
51
|
-
'src/routes/index.tsx',
|
|
52
56
|
'src/routes/$.tsx',
|
|
53
57
|
'src/routes/auth/route.tsx',
|
|
54
58
|
'src/routes/auth/login.tsx',
|
|
59
|
+
'src/routes/auth/signup.tsx',
|
|
60
|
+
'src/routes/auth/forgot-password.tsx',
|
|
61
|
+
'src/routes/auth/reset-password.tsx',
|
|
55
62
|
'src/routes/app/route.tsx',
|
|
56
63
|
'src/routes/app/index.tsx',
|
|
64
|
+
'src/routes/_landing/index.tsx',
|
|
65
|
+
'src/routes/_landing/route.tsx',
|
|
57
66
|
];
|
|
58
67
|
routeFiles.forEach((file) => this._writeFile(file));
|
|
59
68
|
}
|
|
60
69
|
|
|
61
70
|
_writeAuthFiles() {
|
|
62
71
|
const authFiles = [
|
|
63
|
-
'src/modules/auth/
|
|
64
|
-
'src/modules/auth/
|
|
65
|
-
'src/modules/auth/
|
|
66
|
-
'src/modules/auth/
|
|
72
|
+
'src/modules/auth/components/signup-form.tsx',
|
|
73
|
+
'src/modules/auth/components/forgot-password-form.tsx',
|
|
74
|
+
'src/modules/auth/components/reset-password-form.tsx',
|
|
75
|
+
'src/modules/auth/components/login-form.tsx',
|
|
76
|
+
'src/modules/auth/contexts/auth-context.tsx',
|
|
77
|
+
'src/modules/auth/hooks/use-auth-hook.ts',
|
|
78
|
+
'src/modules/auth/layouts/auth-layout.tsx',
|
|
79
|
+
'src/modules/auth/locales/auth-en.json',
|
|
80
|
+
'src/modules/auth/locales/auth-ja.json',
|
|
67
81
|
];
|
|
68
82
|
authFiles.forEach((file) => this._writeFile(file));
|
|
69
83
|
}
|
|
70
84
|
|
|
71
85
|
_writeComponentFiles() {
|
|
72
86
|
const componentFiles = [
|
|
87
|
+
'src/components/layout/language-switcher.tsx',
|
|
88
|
+
'src/components/layout/theme-switcher.tsx',
|
|
89
|
+
'src/components/theme/theme-provider.tsx',
|
|
73
90
|
'src/components/ui/button.tsx',
|
|
91
|
+
'src/components/ui/card.tsx',
|
|
92
|
+
'src/components/ui/field.tsx',
|
|
93
|
+
'src/components/ui/form.tsx',
|
|
74
94
|
'src/components/ui/input.tsx',
|
|
75
|
-
'src/components/
|
|
95
|
+
'src/components/ui/input-group.tsx',
|
|
96
|
+
'src/components/ui/label.tsx',
|
|
97
|
+
'src/components/ui/select.tsx',
|
|
98
|
+
'src/components/ui/separator.tsx',
|
|
99
|
+
'src/components/ui/textarea.tsx',
|
|
76
100
|
];
|
|
77
101
|
componentFiles.forEach((file) => this._writeFile(file));
|
|
78
102
|
}
|
|
@@ -81,17 +105,45 @@ export default class ReactAppGenerator extends BaseGenerator {
|
|
|
81
105
|
const libFiles = [
|
|
82
106
|
'src/lib/utils.ts',
|
|
83
107
|
'src/lib/i18n.ts',
|
|
108
|
+
'src/lib/routes.ts',
|
|
84
109
|
'src/lib/api/client.ts',
|
|
85
110
|
'src/lib/utils/error-handler.ts',
|
|
111
|
+
'src/lib/utils/init-form-schema.ts',
|
|
86
112
|
];
|
|
87
113
|
libFiles.forEach((file) => this._writeFile(file));
|
|
88
114
|
}
|
|
89
115
|
|
|
90
116
|
_writeLocaleFiles() {
|
|
91
117
|
const localeFiles = [
|
|
92
|
-
'src/locales/
|
|
118
|
+
'src/locales/index.ts',
|
|
119
|
+
'src/locales/en/common.json',
|
|
120
|
+
'src/locales/en/theme.json',
|
|
121
|
+
'src/locales/ja/common.json',
|
|
122
|
+
'src/locales/ja/theme.json',
|
|
93
123
|
];
|
|
94
124
|
localeFiles.forEach((file) => this._writeFile(file));
|
|
95
125
|
}
|
|
96
|
-
}
|
|
97
126
|
|
|
127
|
+
_writeLandingFiles() {
|
|
128
|
+
const landingFiles = [
|
|
129
|
+
'src/modules/landing/components/auth-hero.tsx',
|
|
130
|
+
'src/modules/landing/components/welcome-hero.tsx',
|
|
131
|
+
'src/modules/landing/landing-page-layout.tsx',
|
|
132
|
+
'src/modules/landing/landing-page.tsx',
|
|
133
|
+
'src/modules/landing/layouts/landing-page-layout.tsx',
|
|
134
|
+
'src/modules/landing/locales/landing-en.json',
|
|
135
|
+
'src/modules/landing/locales/landing-ja.json',
|
|
136
|
+
];
|
|
137
|
+
landingFiles.forEach((file) => this._writeFile(file));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
_writeAppModuleFiles() {
|
|
141
|
+
const appModuleFiles = ['src/modules/app/layouts/app-layout.tsx', 'src/modules/app/locales/app-en.json', 'src/modules/app/locales/app-ja.json'];
|
|
142
|
+
appModuleFiles.forEach((file) => this._writeFile(file));
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
_writeSdkFiles() {
|
|
146
|
+
// SDK files are typically generated, but we copy the template structure
|
|
147
|
+
this._writeDir('src/sdk');
|
|
148
|
+
}
|
|
149
|
+
}
|