generator-kodly-react-app 1.0.15 → 1.0.17

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 (106) hide show
  1. package/generators/app/index.js +15 -1
  2. package/generators/app/templates/.env.sandbox +4 -3
  3. package/generators/app/templates/.node-version +1 -0
  4. package/generators/app/templates/.pnpmfile.cjs +14 -0
  5. package/generators/app/templates/.prettierignore +13 -0
  6. package/generators/app/templates/AGENTS.md +14 -0
  7. package/generators/app/templates/I18N_MIGRATION.md +13 -13
  8. package/generators/app/templates/STRUCTURE.md +26 -26
  9. package/generators/app/templates/TESTING.md +30 -0
  10. package/generators/app/templates/index.html +6 -14
  11. package/generators/app/templates/openapi-ts.config.ts +16 -12
  12. package/generators/app/templates/oxlint.config.ts +72 -0
  13. package/generators/app/templates/package.json +66 -52
  14. package/generators/app/templates/pnpm-workspace.yaml +19 -0
  15. package/generators/app/templates/scripts/check-duplicates.mjs +28 -0
  16. package/generators/app/templates/scripts/generated-files.mjs +21 -0
  17. package/generators/app/templates/src/app.tsx +20 -20
  18. package/generators/app/templates/src/components/layout/language-switcher.tsx +20 -16
  19. package/generators/app/templates/src/components/layout/page-layout.tsx +31 -0
  20. package/generators/app/templates/src/components/layout/theme-switcher.tsx +16 -15
  21. package/generators/app/templates/src/components/theme/theme-provider.tsx +20 -13
  22. package/generators/app/templates/src/components/ui/button.tsx +15 -14
  23. package/generators/app/templates/src/components/ui/card.tsx +23 -16
  24. package/generators/app/templates/src/components/ui/field.tsx +35 -35
  25. package/generators/app/templates/src/components/ui/form.tsx +66 -30
  26. package/generators/app/templates/src/components/ui/input-group.tsx +22 -28
  27. package/generators/app/templates/src/components/ui/input.tsx +8 -8
  28. package/generators/app/templates/src/components/ui/label.tsx +9 -9
  29. package/generators/app/templates/src/components/ui/select.tsx +0 -1
  30. package/generators/app/templates/src/components/ui/separator.tsx +10 -10
  31. package/generators/app/templates/src/components/ui/textarea.tsx +7 -7
  32. package/generators/app/templates/src/index.css +78 -68
  33. package/generators/app/templates/src/lib/i18n.ts +40 -31
  34. package/generators/app/templates/src/lib/routes.ts +2 -3
  35. package/generators/app/templates/src/lib/utils/error-handler.ts +21 -14
  36. package/generators/app/templates/src/lib/utils.ts +3 -3
  37. package/generators/app/templates/src/locales/index.ts +12 -12
  38. package/generators/app/templates/src/locales/ja/theme.json +0 -1
  39. package/generators/app/templates/src/main.tsx +10 -12
  40. package/generators/app/templates/src/modules/app/layouts/app-layout.tsx +14 -25
  41. package/generators/app/templates/src/modules/app/locales/app-en.json +0 -1
  42. package/generators/app/templates/src/modules/app/locales/app-ja.json +0 -1
  43. package/generators/app/templates/src/modules/auth/components/auth-form.tsx +86 -0
  44. package/generators/app/templates/src/modules/auth/components/forgot-password-form.tsx +27 -52
  45. package/generators/app/templates/src/modules/auth/components/login-form.tsx +42 -72
  46. package/generators/app/templates/src/modules/auth/components/login-link.tsx +12 -0
  47. package/generators/app/templates/src/modules/auth/components/reset-password-form.tsx +46 -92
  48. package/generators/app/templates/src/modules/auth/components/signup-form.tsx +35 -71
  49. package/generators/app/templates/src/modules/auth/contexts/auth-context.tsx +10 -6
  50. package/generators/app/templates/src/modules/auth/hooks/use-auth-hook.ts +54 -39
  51. package/generators/app/templates/src/modules/auth/layouts/auth-layout.tsx +12 -15
  52. package/generators/app/templates/src/modules/auth/locales/auth-en.json +0 -1
  53. package/generators/app/templates/src/modules/auth/locales/auth-ja.json +0 -1
  54. package/generators/app/templates/src/modules/auth/schemas/form-schemas.ts +14 -10
  55. package/generators/app/templates/src/modules/landing/components/auth-hero.tsx +20 -18
  56. package/generators/app/templates/src/modules/landing/components/welcome-hero.tsx +13 -11
  57. package/generators/app/templates/src/modules/landing/landing-page-layout.tsx +1 -24
  58. package/generators/app/templates/src/modules/landing/landing-page.tsx +11 -6
  59. package/generators/app/templates/src/modules/landing/layouts/landing-page-layout.tsx +2 -21
  60. package/generators/app/templates/src/modules/landing/locales/landing-en.json +0 -1
  61. package/generators/app/templates/src/openapi-client-config.ts +1 -1
  62. package/generators/app/templates/src/routeTree.gen.ts +188 -188
  63. package/generators/app/templates/src/router.tsx +4 -4
  64. package/generators/app/templates/src/routes/$.tsx +0 -1
  65. package/generators/app/templates/src/routes/__root.tsx +3 -3
  66. package/generators/app/templates/src/routes/_landing/index.tsx +3 -3
  67. package/generators/app/templates/src/routes/_landing/route.tsx +3 -3
  68. package/generators/app/templates/src/routes/app/index.tsx +6 -6
  69. package/generators/app/templates/src/routes/app/route.tsx +4 -4
  70. package/generators/app/templates/src/routes/auth/forgot-password.tsx +1 -1
  71. package/generators/app/templates/src/routes/auth/login.tsx +3 -3
  72. package/generators/app/templates/src/routes/auth/reset-password.tsx +3 -3
  73. package/generators/app/templates/src/routes/auth/route.tsx +16 -8
  74. package/generators/app/templates/src/routes/auth/signup.tsx +1 -2
  75. package/generators/app/templates/src/sdk/@tanstack/react-query.gen.ts +157 -76
  76. package/generators/app/templates/src/sdk/client/client.gen.ts +35 -37
  77. package/generators/app/templates/src/sdk/client/index.ts +8 -8
  78. package/generators/app/templates/src/sdk/client/types.gen.ts +22 -19
  79. package/generators/app/templates/src/sdk/client/utils.gen.ts +53 -45
  80. package/generators/app/templates/src/sdk/client.gen.ts +14 -5
  81. package/generators/app/templates/src/sdk/core/auth.gen.ts +6 -6
  82. package/generators/app/templates/src/sdk/core/bodySerializer.gen.ts +25 -27
  83. package/generators/app/templates/src/sdk/core/params.gen.ts +12 -12
  84. package/generators/app/templates/src/sdk/core/pathSerializer.gen.ts +40 -41
  85. package/generators/app/templates/src/sdk/core/queryKeySerializer.gen.ts +12 -29
  86. package/generators/app/templates/src/sdk/core/serverSentEvents.gen.ts +26 -24
  87. package/generators/app/templates/src/sdk/core/types.gen.ts +17 -15
  88. package/generators/app/templates/src/sdk/core/utils.gen.ts +18 -18
  89. package/generators/app/templates/src/sdk/index.ts +40 -2
  90. package/generators/app/templates/src/sdk/schemas.gen.ts +108 -166
  91. package/generators/app/templates/src/sdk/sdk.gen.ts +145 -63
  92. package/generators/app/templates/src/sdk/types.gen.ts +90 -84
  93. package/generators/app/templates/src/sdk/zod.gen.ts +57 -74
  94. package/generators/app/templates/src/types/i18n.d.ts +0 -1
  95. package/generators/app/templates/stylelint.config.js +55 -0
  96. package/generators/app/templates/tailwind.config.js +0 -1
  97. package/generators/app/templates/tests/form-controls.test.tsx +39 -0
  98. package/generators/app/templates/tests/sdk.test.ts +49 -0
  99. package/generators/app/templates/tests/setup.ts +5 -0
  100. package/generators/app/templates/tsconfig.app.json +0 -2
  101. package/generators/app/templates/tsconfig.json +2 -2
  102. package/generators/app/templates/tsr.config.json +4 -0
  103. package/generators/app/templates/vite.config.js +14 -16
  104. package/generators/app/templates/vitest.config.ts +14 -0
  105. package/package.json +9 -10
  106. package/generators/app/templates/postcss.config.js +0 -6
@@ -1,40 +1,38 @@
1
- import { defineConfig, loadEnv } from 'vite';
2
- import viteReact from '@vitejs/plugin-react';
3
- import { tanstackRouter } from '@tanstack/router-plugin/vite';
4
- import tailwindcss from '@tailwindcss/vite';
5
- import { resolve } from 'node:path';
1
+ import { defineConfig, loadEnv } from "vite";
2
+ import viteReact, { reactCompilerPreset } from "@vitejs/plugin-react";
3
+ import babel from "@rolldown/plugin-babel";
4
+ import { tanstackRouter } from "@tanstack/router-plugin/vite";
5
+ import tailwindcss from "@tailwindcss/vite";
6
+ import { resolve } from "node:path";
6
7
 
7
8
  export default defineConfig(({ mode }) => {
8
9
  // Load env file based on `mode` in the current working directory.
9
10
  // Set the third parameter to '' to load all env regardless of the `VITE_` prefix.
10
- const env = loadEnv(mode, process.cwd(), '');
11
+ const env = loadEnv(mode, process.cwd(), "");
11
12
 
12
13
  return {
13
- base: env.BASE_URL || '/',
14
+ base: env.BASE_URL || "/",
14
15
  plugins: [
15
16
  tanstackRouter({
16
- target: 'react',
17
+ target: "react",
17
18
  autoCodeSplitting: true,
18
19
  spa: {
19
20
  enabled: true,
20
21
  },
21
22
  }),
22
- viteReact({
23
- babel: {
24
- plugins: [['babel-plugin-react-compiler']],
25
- },
26
- }),
23
+ viteReact(),
24
+ babel({ presets: [reactCompilerPreset()] }),
27
25
  tailwindcss(),
28
26
  ],
29
27
  resolve: {
30
28
  alias: {
31
- '@': resolve(__dirname, './src'),
29
+ "@": resolve(import.meta.dirname, "./src"),
32
30
  },
33
31
  },
34
32
  server: {
35
33
  host: true,
36
- port: parseInt(env.PORT || '3000', 10),
37
- allowedHosts: [env.ALLOWED_HOSTS || 'localhost'],
34
+ port: parseInt(env.PORT || "3000", 10),
35
+ allowedHosts: [env.ALLOWED_HOSTS || "localhost"],
38
36
  },
39
37
  build: {
40
38
  // Raise chunk size warning threshold to reduce noise in CI builds.
@@ -0,0 +1,14 @@
1
+ import { defineConfig } from "vitest/config";
2
+ import react from "@vitejs/plugin-react";
3
+ import { fileURLToPath } from "node:url";
4
+
5
+ export default defineConfig({
6
+ plugins: [react()],
7
+ resolve: { alias: { "@": fileURLToPath(new URL("./src", import.meta.url)) } },
8
+ test: {
9
+ environment: "jsdom",
10
+ setupFiles: ["./tests/setup.ts"],
11
+ include: ["src/**/*.test.{ts,tsx}", "tests/**/*.test.{ts,tsx}"],
12
+ restoreMocks: true,
13
+ },
14
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "generator-kodly-react-app",
3
- "version": "1.0.15",
3
+ "version": "1.0.17",
4
4
  "description": "A Yeoman generator for creating React.js applications with Vite, TanStack Router, authentication, and i18n",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -18,7 +18,7 @@
18
18
  "generator"
19
19
  ],
20
20
  "scripts": {
21
- "test": "echo \"Error: no test specified\" && exit 1",
21
+ "test": "node --test test/*.test.mjs",
22
22
  "prepublishOnly": "rm -rf generators/app/templates/node_modules generators/app/templates/dist generators/app/templates/.tanstack generators/app/templates/package-lock.json generators/app/templates/*.tsbuildinfo"
23
23
  },
24
24
  "author": "The Panther <info@thepanther.io>",
@@ -32,15 +32,14 @@
32
32
  },
33
33
  "homepage": "https://github.com/thepanther-io/kodly-react-yo-generator#readme",
34
34
  "engines": {
35
- "node": ">=14.0.0"
35
+ "node": ">=26.12.1"
36
36
  },
37
37
  "dependencies": {
38
- "yeoman-generator": "^7.5.1",
39
- "lodash": "^4.17.21",
40
- "mem-fs": "^4.1.2",
41
- "mem-fs-editor": "^11.1.4"
38
+ "yeoman-generator": "10.2.1",
39
+ "lodash": "4.18.1",
40
+ "mem-fs": "6.0.0",
41
+ "mem-fs-editor": "12.1.0",
42
+ "chalk": "6.0.1"
42
43
  },
43
- "devDependencies": {
44
- "chalk": "^5.4.1"
45
- }
44
+ "packageManager": "pnpm@12.14.0"
46
45
  }
@@ -1,6 +0,0 @@
1
- export default {
2
- plugins: {
3
- "@tailwindcss/postcss": {},
4
- },
5
- };
6
-