generator-kodly-react-app 1.0.7 → 1.0.11

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