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.
Files changed (101) hide show
  1. package/generators/app/index.js +63 -11
  2. package/generators/app/templates/.env.dev +4 -0
  3. package/generators/app/templates/.env.sandbox +4 -0
  4. package/generators/app/templates/STRUCTURE.md +661 -0
  5. package/generators/app/templates/components.json +22 -0
  6. package/generators/app/templates/index.html +14 -6
  7. package/generators/app/templates/openapi-ts.config.ts +29 -0
  8. package/generators/app/templates/package.json +46 -26
  9. package/generators/app/templates/public/favicon.svg +4 -0
  10. package/generators/app/templates/src/app.tsx +8 -8
  11. package/generators/app/templates/src/components/layout/language-switcher.tsx +40 -0
  12. package/generators/app/templates/src/components/layout/theme-switcher.tsx +37 -0
  13. package/generators/app/templates/src/components/theme/theme-provider.tsx +22 -28
  14. package/generators/app/templates/src/components/ui/button.tsx +34 -32
  15. package/generators/app/templates/src/components/ui/card.tsx +76 -0
  16. package/generators/app/templates/src/components/ui/field.tsx +242 -0
  17. package/generators/app/templates/src/components/ui/form.tsx +129 -0
  18. package/generators/app/templates/src/components/ui/input-group.tsx +170 -0
  19. package/generators/app/templates/src/components/ui/input.tsx +19 -21
  20. package/generators/app/templates/src/components/ui/label.tsx +24 -0
  21. package/generators/app/templates/src/components/ui/select.tsx +184 -0
  22. package/generators/app/templates/src/components/ui/separator.tsx +31 -0
  23. package/generators/app/templates/src/components/ui/textarea.tsx +22 -0
  24. package/generators/app/templates/src/index.css +83 -26
  25. package/generators/app/templates/src/lib/api/client.ts +4 -5
  26. package/generators/app/templates/src/lib/i18n.ts +31 -16
  27. package/generators/app/templates/src/lib/routes.ts +14 -0
  28. package/generators/app/templates/src/lib/utils/error-handler.ts +7 -2
  29. package/generators/app/templates/src/lib/utils/init-form-schema.ts +12 -0
  30. package/generators/app/templates/src/lib/utils.ts +3 -4
  31. package/generators/app/templates/src/locales/en/common.json +5 -0
  32. package/generators/app/templates/src/locales/en/theme.json +5 -0
  33. package/generators/app/templates/src/locales/index.ts +31 -0
  34. package/generators/app/templates/src/locales/ja/common.json +5 -0
  35. package/generators/app/templates/src/locales/ja/theme.json +6 -0
  36. package/generators/app/templates/src/main.tsx +19 -15
  37. package/generators/app/templates/src/modules/app/layouts/app-layout.tsx +37 -0
  38. package/generators/app/templates/src/modules/app/locales/app-en.json +9 -0
  39. package/generators/app/templates/src/modules/app/locales/app-ja.json +9 -0
  40. package/generators/app/templates/src/modules/auth/components/forgot-password-form.tsx +74 -0
  41. package/generators/app/templates/src/modules/auth/components/login-form.tsx +95 -0
  42. package/generators/app/templates/src/modules/auth/components/reset-password-form.tsx +112 -0
  43. package/generators/app/templates/src/modules/auth/components/signup-form.tsx +92 -0
  44. package/generators/app/templates/src/modules/auth/contexts/auth-context.tsx +11 -0
  45. package/generators/app/templates/src/modules/auth/hooks/use-auth-hook.ts +175 -0
  46. package/generators/app/templates/src/modules/auth/layouts/auth-layout.tsx +28 -0
  47. package/generators/app/templates/src/modules/auth/locales/auth-en.json +105 -0
  48. package/generators/app/templates/src/modules/auth/locales/auth-ja.json +105 -0
  49. package/generators/app/templates/src/modules/landing/components/auth-hero.tsx +34 -0
  50. package/generators/app/templates/src/modules/landing/components/welcome-hero.tsx +24 -0
  51. package/generators/app/templates/src/modules/landing/landing-page-layout.tsx +24 -0
  52. package/generators/app/templates/src/modules/landing/landing-page.tsx +17 -0
  53. package/generators/app/templates/src/modules/landing/layouts/landing-page-layout.tsx +24 -0
  54. package/generators/app/templates/src/modules/landing/locales/landing-en.json +12 -0
  55. package/generators/app/templates/src/modules/landing/locales/landing-ja.json +11 -0
  56. package/generators/app/templates/src/openapi-client-config.ts +6 -0
  57. package/generators/app/templates/src/routeTree.gen.ts +268 -3
  58. package/generators/app/templates/src/router.tsx +2 -2
  59. package/generators/app/templates/src/routes/__root.tsx +3 -3
  60. package/generators/app/templates/src/routes/_landing/index.tsx +10 -0
  61. package/generators/app/templates/src/routes/_landing/route.tsx +14 -0
  62. package/generators/app/templates/src/routes/app/index.tsx +4 -21
  63. package/generators/app/templates/src/routes/app/route.tsx +12 -8
  64. package/generators/app/templates/src/routes/auth/forgot-password.tsx +10 -0
  65. package/generators/app/templates/src/routes/auth/login.tsx +6 -7
  66. package/generators/app/templates/src/routes/auth/reset-password.tsx +15 -0
  67. package/generators/app/templates/src/routes/auth/route.tsx +23 -6
  68. package/generators/app/templates/src/routes/auth/signup.tsx +11 -0
  69. package/generators/app/templates/src/sdk/@tanstack/react-query.gen.ts +91 -0
  70. package/generators/app/templates/src/sdk/client/client.gen.ts +167 -0
  71. package/generators/app/templates/src/sdk/client/index.ts +23 -0
  72. package/generators/app/templates/src/sdk/client/types.gen.ts +197 -0
  73. package/generators/app/templates/src/sdk/client/utils.gen.ts +213 -0
  74. package/generators/app/templates/src/sdk/client.gen.ts +18 -0
  75. package/generators/app/templates/src/sdk/core/auth.gen.ts +42 -0
  76. package/generators/app/templates/src/sdk/core/bodySerializer.gen.ts +100 -0
  77. package/generators/app/templates/src/sdk/core/params.gen.ts +176 -0
  78. package/generators/app/templates/src/sdk/core/pathSerializer.gen.ts +181 -0
  79. package/generators/app/templates/src/sdk/core/queryKeySerializer.gen.ts +136 -0
  80. package/generators/app/templates/src/sdk/core/serverSentEvents.gen.ts +266 -0
  81. package/generators/app/templates/src/sdk/core/types.gen.ts +118 -0
  82. package/generators/app/templates/src/sdk/core/utils.gen.ts +143 -0
  83. package/generators/app/templates/src/sdk/index.ts +4 -0
  84. package/generators/app/templates/src/sdk/schemas.gen.ts +195 -0
  85. package/generators/app/templates/src/sdk/sdk.gen.ts +80 -0
  86. package/generators/app/templates/src/sdk/types.gen.ts +158 -0
  87. package/generators/app/templates/src/sdk/zod.gen.ts +148 -0
  88. package/generators/app/templates/src/vite-env.d.ts +2 -1
  89. package/generators/app/templates/tsconfig.json +1 -1
  90. package/generators/app/templates/vite.config.js +35 -21
  91. package/generators/constants.js +9 -9
  92. package/package.json +3 -2
  93. package/generators/app/templates/.env.example +0 -5
  94. package/generators/app/templates/README.md +0 -57
  95. package/generators/app/templates/src/locales/en.json +0 -18
  96. package/generators/app/templates/src/modules/auth/auth-context.tsx +0 -13
  97. package/generators/app/templates/src/modules/auth/login/login-form.tsx +0 -49
  98. package/generators/app/templates/src/modules/auth/login/login-page.tsx +0 -12
  99. package/generators/app/templates/src/modules/auth/use-auth-hook.ts +0 -87
  100. package/generators/app/templates/src/routes/index.tsx +0 -12
  101. package/generators/app/templates/types.d.ts +0 -3
@@ -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
- 'types.d.ts',
28
- '.env.example',
29
- 'README.md',
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/auth-context.tsx',
64
- 'src/modules/auth/use-auth-hook.ts',
65
- 'src/modules/auth/login/login-page.tsx',
66
- 'src/modules/auth/login/login-form.tsx',
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/theme/theme-provider.tsx',
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/en.json',
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
+ }
@@ -0,0 +1,4 @@
1
+ BASE_URL=/
2
+ PORT=3000
3
+ ALLOWED_HOSTS=localhost
4
+ VITE_API_BASE_URL=https://localhost:8081
@@ -0,0 +1,4 @@
1
+ BASE_URL=/
2
+ PORT=3000
3
+ ALLOWED_HOSTS=sandbox.beta.kodly.dev
4
+ VITE_API_BASE_URL=${VITE_API_BASE_URL} //injected by env variables - https://sandbox.beta.kodly.dev/proxy/95-2