create-react-forge 1.0.4 → 1.5.2

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 (37) hide show
  1. package/README.md +46 -18
  2. package/dist/cli/prompts.d.ts.map +1 -1
  3. package/dist/cli/prompts.js +1 -3
  4. package/dist/cli/prompts.js.map +1 -1
  5. package/dist/dependencies/resolver.d.ts.map +1 -1
  6. package/dist/dependencies/resolver.js +34 -23
  7. package/dist/dependencies/resolver.js.map +1 -1
  8. package/dist/docs/architecture-generator.js +6 -6
  9. package/dist/docs/architecture-generator.js.map +1 -1
  10. package/dist/plugins/manager.d.ts +2 -2
  11. package/dist/plugins/manager.d.ts.map +1 -1
  12. package/dist/plugins/manager.js +0 -2
  13. package/dist/plugins/manager.js.map +1 -1
  14. package/dist/templates/registry.d.ts.map +1 -1
  15. package/dist/templates/registry.js +3 -0
  16. package/dist/templates/registry.js.map +1 -1
  17. package/package.json +29 -23
  18. package/src/templates/overlays/base/src/lib/api-client.ts +15 -1
  19. package/src/templates/overlays/features/tanstack-query/manifest.json +2 -2
  20. package/src/templates/overlays/runtime/nextjs/manifest.json +6 -6
  21. package/src/templates/overlays/runtime/nextjs/next.config.js +1 -1
  22. package/src/templates/overlays/runtime/vite/manifest.json +9 -8
  23. package/src/templates/overlays/runtime/vite/tsconfig.node.json +1 -2
  24. package/src/templates/overlays/state/redux/manifest.json +2 -2
  25. package/src/templates/overlays/state/zustand/manifest.json +1 -1
  26. package/src/templates/overlays/styling/styled-components/.babelrc +5 -0
  27. package/src/templates/overlays/styling/styled-components/manifest.json +19 -0
  28. package/src/templates/overlays/styling/styled-components/src/components/ui/Button.styled.ts +42 -0
  29. package/src/templates/overlays/styling/styled-components/src/lib/StyledComponentsRegistry.tsx +29 -0
  30. package/src/templates/overlays/styling/styled-components/src/styles/globals.ts +28 -0
  31. package/src/templates/overlays/styling/tailwind/manifest.json +4 -3
  32. package/src/templates/overlays/styling/tailwind/postcss.config.js +1 -1
  33. package/src/templates/overlays/styling/tailwind/src/styles/globals.css +73 -9
  34. package/src/templates/overlays/styling/tailwind/tailwind.config.js +3 -58
  35. package/src/templates/overlays/testing/jest/manifest.json +6 -6
  36. package/src/templates/overlays/testing/playwright/manifest.json +1 -1
  37. package/src/templates/overlays/testing/vitest/manifest.json +8 -8
package/README.md CHANGED
@@ -1,10 +1,14 @@
1
+ [![CodeQL Security Analysis](https://github.com/chiragmak10/create-react-forge/actions/workflows/codeql.yml/badge.svg)](https://github.com/chiragmak10/create-react-forge/actions/workflows/codeql.yml)
2
+ [![Release](https://github.com/chiragmak10/create-react-forge/actions/workflows/release.yml/badge.svg)](https://github.com/chiragmak10/create-react-forge/actions/workflows/release.yml)
3
+ [![Dependency Review](https://github.com/chiragmak10/create-react-forge/actions/workflows/dependency-review.yml/badge.svg)](https://github.com/chiragmak10/create-react-forge/actions/workflows/dependency-review.yml)
4
+ [![CI](https://github.com/chiragmak10/create-react-forge/actions/workflows/ci.yml/badge.svg)](https://github.com/chiragmak10/create-react-forge/actions/workflows/ci.yml)
1
5
  # create-react-forge
2
6
 
3
7
  Production-ready React scaffolding CLI with first-class testing, flexible runtimes (Vite/Next.js), and a composable template system inspired by [bulletproof-react](https://github.com/alan2207/bulletproof-react).
4
8
 
5
9
  ## Requirements
6
10
 
7
- - Node.js **>= 18**
11
+ - Node.js **>= 20.9.0**
8
12
 
9
13
  ## Quick start
10
14
 
@@ -27,14 +31,14 @@ When you run `create-react-forge`, it will:
27
31
 
28
32
  - Ask a few questions (runtime, language, styling, testing, etc.)
29
33
  - Generate a new project directory (the directory **must not already exist**)
30
- - Optionally initialize a git repo (depending on your answers)
31
- - Print the next steps commands
34
+ - Optionally initialize a git repository
35
+ - Print the "next steps" commands
32
36
 
33
- Note: it **does not automatically install dependencies** — youll run your package manager install after generation.
37
+ Note: it **does not automatically install dependencies** — you'll run your package manager install after generation.
34
38
 
35
- ## Interactive prompts (current)
39
+ ## Interactive prompts
36
40
 
37
- The CLI is currently **prompt-driven**. Youll choose:
41
+ The CLI is **prompt-driven**. You'll choose:
38
42
 
39
43
  - **Project name** (lowercase letters/numbers/hyphens)
40
44
  - **Project directory**
@@ -48,7 +52,6 @@ The CLI is currently **prompt-driven**. You’ll choose:
48
52
  - **Data fetching**: include TanStack Query
49
53
  - **Package manager**: npm / yarn / pnpm
50
54
  - **Git init**: yes/no
51
- - **Prettier**: yes/no
52
55
 
53
56
  ## What you get
54
57
 
@@ -59,17 +62,21 @@ my-app/
59
62
  ├── src/
60
63
  │ ├── app/ # App setup (providers, router)
61
64
  │ ├── components/ # Shared UI components
65
+ │ │ ├── ui/ # Base UI primitives
66
+ │ │ └── errors/ # Error boundaries & fallbacks
62
67
  │ ├── features/ # Feature-based modules
63
68
  │ ├── hooks/ # Custom hooks
64
69
  │ ├── lib/ # Utilities, API client
65
70
  │ ├── stores/ # State management (if selected)
71
+ │ ├── styles/ # Global styles
66
72
  │ ├── testing/ # Test utilities, mocks (if selected)
67
73
  │ └── types/ # Shared types
68
74
  ├── tests/ # E2E tests (if selected)
75
+ ├── ARCHITECTURE.md # Auto-generated architecture docs
69
76
  └── [config files]
70
77
  ```
71
78
 
72
- ## Configuration options (summary)
79
+ ## Configuration options
73
80
 
74
81
  | Category | Choices |
75
82
  |---|---|
@@ -82,10 +89,25 @@ my-app/
82
89
  | **E2E runner** | `playwright`, `cypress` |
83
90
  | **Data fetching** | TanStack Query on/off |
84
91
  | **Package manager** | `npm`, `yarn`, `pnpm` |
85
- | **Formatting** | Prettier on/off |
86
92
  | **Git** | init on/off |
87
93
 
94
+ ## Dependency versions
95
+
96
+ The CLI uses pinned, tested versions for all dependencies:
97
+
98
+ | Package | Version |
99
+ |---|---|
100
+ | React | ^19.0.0 |
101
+ | Vite | ^6.0.7 |
102
+ | Next.js | ^16.1.6 |
103
+ | Tailwind CSS | ^4.0.0 |
104
+ | TanStack Query | ^5.62.10 |
105
+ | Vitest | ^2.1.8 |
106
+ | Playwright | ^1.49.1 |
107
+ | TypeScript | ^5.7.2 |
108
+
88
109
  ## Screenshot
110
+
89
111
  <img width="709" height="1047" alt="image" src="https://github.com/user-attachments/assets/dc8956a9-473b-4001-8c2d-0b3b54f29583" />
90
112
 
91
113
  ## Next steps (after generation)
@@ -96,9 +118,9 @@ npm install
96
118
  npm run dev
97
119
  ```
98
120
 
99
- ## Advanced: config schema & templates API
121
+ ## Advanced: API exports
100
122
 
101
- This package exposes a couple of **advanced** entrypoints intended for tooling:
123
+ This package exposes advanced entrypoints for tooling integration:
102
124
 
103
125
  ### Config schema (Zod)
104
126
 
@@ -114,24 +136,30 @@ const parsed = ProjectConfigSchema.parse(DEFAULT_CONFIG);
114
136
  import { TemplateRegistry } from 'create-react-forge/templates';
115
137
 
116
138
  const registry = new TemplateRegistry();
117
- // registry.loadTemplatesForConfig(...) etc.
139
+ const templates = registry.loadTemplatesForConfig({
140
+ runtime: 'vite',
141
+ styling: { solution: 'tailwind' },
142
+ stateManagement: 'zustand',
143
+ testing: { enabled: true, unit: { runner: 'vitest' }, e2e: { enabled: true, runner: 'playwright' } },
144
+ dataFetching: { enabled: true },
145
+ });
118
146
  ```
119
147
 
120
148
  ## Troubleshooting
121
149
 
122
- - **“Directory already exists”**: pick a new project directory (or delete the existing folder).
123
- - **Node version issues**: ensure `node -v` is **18+**.
150
+ - **"Directory already exists"**: pick a new project directory (or delete the existing folder).
151
+ - **Node version issues**: ensure `node -v` is **20.9.0+**.
124
152
  - **Install step**: dependencies are not installed automatically — run your package manager install in the generated folder.
125
153
 
126
154
  ## Architecture & development
127
155
 
128
- See [ARCHITECTURE.md](https://github.com/chiragmak10/react-setup/blob/master/ARCHITECTURE.md) for internal design details.
156
+ See [ARCHITECTURE.md](./ARCHITECTURE.md) for internal design details.
129
157
 
130
158
  ```bash
131
159
  npm install
132
- npm run dev
133
- npm run test
134
- npm run build
160
+ npm run dev # Run CLI in development
161
+ npm run test # Run tests
162
+ npm run build # Build to dist/
135
163
  ```
136
164
 
137
165
  ## License
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,QAAQ,EAAE,YAAY,GAAG,YAAY,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,MAAM,CAAC;IAC5C,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9B,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;IAC7C,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,aAAa,CAAC,CA2HxB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,MAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAKnF"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,QAAQ,EAAE,YAAY,GAAG,YAAY,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,MAAM,CAAC;IAC5C,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9B,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;IAC7C,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,aAAa,CAAC,CAyHxB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,MAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAKnF"}
@@ -37,9 +37,7 @@ export async function promptForProjectDetails(suggestedName) {
37
37
  message: 'Styling solution:',
38
38
  choices: [
39
39
  { name: STYLING_DESCRIPTIONS.tailwind, value: 'tailwind' },
40
- { name: STYLING_DESCRIPTIONS.css, value: 'css' },
41
- { name: STYLING_DESCRIPTIONS['styled-components'], value: 'styled-components' },
42
- { name: STYLING_DESCRIPTIONS['css-modules'], value: 'css-modules' },
40
+ { name: 'None - Plain CSS', value: 'css' },
43
41
  ],
44
42
  }));
45
43
  const stateManagement = (await select({
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/dependencies/resolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4CnD,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,SAAS,CAAsD;IAEvE;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAE,OAAe,GAAG,IAAI;IAsB3E;;OAEG;IACH,OAAO,IAAI;QACT,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,SAAS,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KAC3D;IAoBD;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAI9D;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/dependencies/resolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyDnD,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,SAAS,CAAsD;IAEvE;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAE,OAAe,GAAG,IAAI;IAsB3E;;OAEG;IACH,OAAO,IAAI;QACT,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,SAAS,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KAC3D;IAoBD;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAI9D;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
@@ -3,39 +3,50 @@
3
3
  */
4
4
  export const VERSION_REGISTRY = {
5
5
  // Runtime
6
- 'vite': '^5.4.0',
7
- '@vitejs/plugin-react': '^4.2.0',
8
- 'next': '^14.2.0',
6
+ 'vite': '^6.0.7',
7
+ '@vitejs/plugin-react': '^4.3.4',
8
+ 'next': '^16.1.6',
9
+ 'react': '^19.0.0',
10
+ 'react-dom': '^19.0.0',
9
11
  // Language
10
- 'typescript': '^5.3.0',
12
+ 'typescript': '^5.7.2',
11
13
  // Styling
12
- 'tailwindcss': '^3.4.0',
13
- 'postcss': '^8.4.0',
14
- 'autoprefixer': '^10.4.0',
15
- 'styled-components': '^6.1.0',
14
+ 'tailwindcss': '^4.0.0',
15
+ '@tailwindcss/postcss': '^4.0.0',
16
+ 'postcss': '^8.4.49',
17
+ 'autoprefixer': '^10.4.20',
18
+ 'styled-components': '^6.1.14',
16
19
  // State Management
17
- '@reduxjs/toolkit': '^2.2.0',
18
- 'react-redux': '^9.1.0',
19
- 'zustand': '^4.5.0',
20
+ '@reduxjs/toolkit': '^2.5.0',
21
+ 'react-redux': '^9.2.0',
22
+ 'zustand': '^5.0.3',
20
23
  // Data Fetching
21
- '@tanstack/react-query': '^5.60.0',
22
- '@tanstack/react-query-devtools': '^5.60.0',
24
+ '@tanstack/react-query': '^5.62.10',
25
+ '@tanstack/react-query-devtools': '^5.62.10',
23
26
  // Testing - Unit
24
- 'vitest': '^2.0.0',
25
- '@vitest/ui': '^2.0.0',
27
+ 'vitest': '^2.1.8',
28
+ '@vitest/ui': '^2.1.8',
26
29
  'jest': '^29.7.0',
27
30
  // Testing - Component
28
- '@testing-library/react': '^16.0.0',
29
- '@testing-library/jest-dom': '^6.4.0',
30
- '@testing-library/user-event': '^14.5.0',
31
- 'jsdom': '^24.0.0',
31
+ '@testing-library/react': '^16.1.0',
32
+ '@testing-library/jest-dom': '^6.6.3',
33
+ '@testing-library/user-event': '^14.5.2',
34
+ 'jsdom': '^25.0.1',
32
35
  // Testing - E2E
33
- 'playwright': '^1.45.0',
34
- 'cypress': '^13.13.0',
36
+ 'playwright': '^1.49.1',
37
+ '@playwright/test': '^1.49.1',
38
+ 'cypress': '^13.17.0',
35
39
  // Formatting
36
- 'prettier': '^3.1.1',
40
+ 'prettier': '^3.4.2',
37
41
  // Build & Dev
38
- 'tsx': '^4.7.0',
42
+ 'tsx': '^4.19.2',
43
+ // Type definitions
44
+ '@types/react': '^19.0.6',
45
+ '@types/react-dom': '^19.0.3',
46
+ '@types/node': '^22.10.5',
47
+ // Routing
48
+ 'react-router-dom': '^7.1.1',
49
+ 'react-error-boundary': '^4.1.2',
39
50
  };
40
51
  /**
41
52
  * Dependency resolver for collecting and deduplicating dependencies
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/dependencies/resolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,UAAU;IACV,MAAM,EAAE,QAAQ;IAChB,sBAAsB,EAAE,QAAQ;IAChC,MAAM,EAAE,SAAS;IAEjB,WAAW;IACX,YAAY,EAAE,QAAQ;IAEtB,UAAU;IACV,aAAa,EAAE,QAAQ;IACvB,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE,SAAS;IACzB,mBAAmB,EAAE,QAAQ;IAE7B,mBAAmB;IACnB,kBAAkB,EAAE,QAAQ;IAC5B,aAAa,EAAE,QAAQ;IACvB,SAAS,EAAE,QAAQ;IAEnB,gBAAgB;IAChB,uBAAuB,EAAE,SAAS;IAClC,gCAAgC,EAAE,SAAS;IAE3C,iBAAiB;IACjB,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,QAAQ;IACtB,MAAM,EAAE,SAAS;IAEjB,sBAAsB;IACtB,wBAAwB,EAAE,SAAS;IACnC,2BAA2B,EAAE,QAAQ;IACrC,6BAA6B,EAAE,SAAS;IACxC,OAAO,EAAE,SAAS;IAElB,gBAAgB;IAChB,YAAY,EAAE,SAAS;IACvB,SAAS,EAAE,UAAU;IAErB,aAAa;IACb,UAAU,EAAE,QAAQ;IAEpB,cAAc;IACd,KAAK,EAAE,QAAQ;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAA/B;QACU,iBAAY,GAAwB,IAAI,GAAG,EAAE,CAAC;QAC9C,oBAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;QACjD,cAAS,GAAmD,EAAE,CAAC;IAqFzE,CAAC;IAnFC;;OAEG;IACH,eAAe,CAAC,IAA4B,EAAE,QAAiB,KAAK;QAClE,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAElE,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACrC,8BAA8B;gBAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,OAAO,EAAE,GAAG;oBACZ,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;iBAC9B,CAAC,CAAC;YACL,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAEtB,kDAAkD;YAClD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QAKL,MAAM,IAAI,GAA2B,EAAE,CAAC;QACxC,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,oDAAoD;QACpD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,OAAO;YACxB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,OAAe;QAChC,kCAAkC;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAC5C,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,OAAO,CAC3C,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,uBAAuB;QACvB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/dependencies/resolver.ts"],"names":[],"mappings":"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"}
@@ -29,10 +29,10 @@ ${stateManagement !== 'none' ? '├── stores/ # State managemen
29
29
  ## Naming Conventions
30
30
 
31
31
  ### Files
32
- - **Components**: PascalCase (e.g., \`UserProfile.tsx\`)
33
- - **Hooks**: camelCase with \`use\` prefix (e.g., \`useAuth.ts\`)
34
- - **Utilities**: camelCase (e.g., \`formatDate.ts\`)
35
- - **Constants**: SCREAMING_SNAKE_CASE (e.g., \`constants.ts\`)
32
+ - **Components**: PascalCase (e.g., UserProfile.tsx)
33
+ - **Hooks**: camelCase with "use" prefix (e.g., useAuth.ts)
34
+ - **Utilities**: camelCase (e.g., formatDate.ts)
35
+ - **Constants**: SCREAMING_SNAKE_CASE (e.g., constants.ts)
36
36
 
37
37
  ### Code
38
38
  - **Components**: PascalCase
@@ -61,13 +61,13 @@ We use **${dataFetching.library}** for server state management.
61
61
 
62
62
  - **Queries**: Located in \`features/*/api/*.queries.ts\` or \`hooks/queries/*.ts\`
63
63
  - **Mutations**: Co-located with queries
64
- ` : 'Standard \`fetch\` or \`axios\` is used for data fetching.'}
64
+ ` : 'Standard `fetch` or `axios` is used for data fetching.'}
65
65
 
66
66
  ## State Management
67
67
 
68
68
  ${stateManagement !== 'none' ? `
69
69
  We use **${stateManagement}** for global client state.
70
- ` : 'Local state (\`useState\`) is preferred. Global state is managed via Context API if needed.'}
70
+ ` : 'Local state (`useState`) is preferred. Global state is managed via Context API if needed.'}
71
71
  `;
72
72
  }
73
73
  //# sourceMappingURL=architecture-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"architecture-generator.js","sourceRoot":"","sources":["../../src/docs/architecture-generator.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,MAAqB;IAC3D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEtF,OAAO;;;;;;iBAMQ,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,sBAAsB;kBACzD,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;iBACxD,OAAO,CAAC,QAAQ;0BACP,eAAe;uBAClB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;iBAC1D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;;;;;;;;;;EAUvD,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,EAAE;EACtF,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;EAqBxF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACA,OAAO,CAAC,IAAI,CAAC,MAAM;yBACd,OAAO,CAAC,SAAS,CAAC,OAAO;EAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;CAMpE,CAAC,CAAC,CAAC,gCAAgC;;;;EAIlC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;WACd,YAAY,CAAC,OAAO;;;;CAI9B,CAAC,CAAC,CAAC,4DAA4D;;;;EAI9D,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC;WACpB,eAAe;CACzB,CAAC,CAAC,CAAC,6FAA6F;CAChG,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"architecture-generator.js","sourceRoot":"","sources":["../../src/docs/architecture-generator.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,MAAqB;IAC3D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEtF,OAAO;;;;;;iBAMQ,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,sBAAsB;kBACzD,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;iBACxD,OAAO,CAAC,QAAQ;0BACP,eAAe;uBAClB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;iBAC1D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;;;;;;;;;;EAUvD,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,EAAE;EACtF,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;EAqBxF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACA,OAAO,CAAC,IAAI,CAAC,MAAM;yBACd,OAAO,CAAC,SAAS,CAAC,OAAO;EAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;CAMpE,CAAC,CAAC,CAAC,gCAAgC;;;;EAIlC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;WACd,YAAY,CAAC,OAAO;;;;CAI9B,CAAC,CAAC,CAAC,wDAAwD;;;;EAI1D,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC;WACpB,eAAe;CACzB,CAAC,CAAC,CAAC,2FAA2F;CAC9F,CAAC;AACF,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { ProjectConfig } from '../config/schema.js';
2
- import type { ReactSetupPlugin, PluginContext } from './types.js';
2
+ import type { PluginContext, ReactSetupPlugin } from './types.js';
3
3
  export declare class PluginManager {
4
4
  private plugins;
5
5
  register(plugin: ReactSetupPlugin): void;
6
- runHook(hookName: keyof NonNullable<ReactSetupPlugin['hooks']>, context: PluginContext): Promise<void>;
6
+ runHook(hookName: Exclude<keyof NonNullable<ReactSetupPlugin['hooks']>, 'beforeCreate'>, context: PluginContext): Promise<void>;
7
7
  runBeforeCreate(config: ProjectConfig): Promise<ProjectConfig>;
8
8
  }
9
9
  //# sourceMappingURL=manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/plugins/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElE,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA0B;IAEzC,QAAQ,CAAC,MAAM,EAAE,gBAAgB;IAI3B,OAAO,CACX,QAAQ,EAAE,MAAM,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EACtD,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC;IAeV,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;CAgBrE"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/plugins/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA0B;IAEzC,QAAQ,CAAC,MAAM,EAAE,gBAAgB;IAI3B,OAAO,CACX,QAAQ,EAAE,OAAO,CAAC,MAAM,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,EAC/E,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC;IAaV,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;CAgBrE"}
@@ -10,8 +10,6 @@ export class PluginManager {
10
10
  const hook = plugin.hooks?.[hookName];
11
11
  if (hook) {
12
12
  try {
13
- // Type assertion needed because TypeScript doesn't correlate the hookName with the specific hook signature
14
- // efficiently in this generic context without more complex types
15
13
  await hook(context);
16
14
  }
17
15
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/plugins/manager.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;IAA1B;QACU,YAAO,GAAuB,EAAE,CAAC;IAwC3C,CAAC;IAtCC,QAAQ,CAAC,MAAwB;QAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAsD,EACtD,OAAsB;QAEtB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,2GAA2G;oBAC3G,iEAAiE;oBACjE,MAAO,IAAiB,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,mBAAmB,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAqB;QACzC,IAAI,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC9D,IAAI,MAAM,EAAE,CAAC;wBACX,aAAa,GAAG,MAAM,CAAC;oBACzB,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/plugins/manager.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;IAA1B;QACU,YAAO,GAAuB,EAAE,CAAC;IAsC3C,CAAC;IApCC,QAAQ,CAAC,MAAwB;QAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAA+E,EAC/E,OAAsB;QAEtB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,mBAAmB,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAqB;QACzC,IAAI,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC9D,IAAI,MAAM,EAAE,CAAC;wBACX,aAAa,GAAG,MAAM,CAAC;oBACzB,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE;QACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAwFD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,YAAY,CAAS;gBAEjB,YAAY,CAAC,EAAE,MAAM;IAIjC;;OAEG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB;IASpD;;OAEG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe;IAsBnD;;OAEG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe;IAMtD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAItD;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI9C;;OAEG;IACH,IAAI,IAAI,eAAe,EAAE;IAIzB;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,EAAE;IAMtF;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE;QAC7B,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;QAC3B,OAAO,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,EAAE,OAAO,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QACrG,YAAY,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;KACpC,GAAG,eAAe,EAAE;IAyCrB;;OAEG;IACH,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG;QACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC;IAeD;;OAEG;IACH,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAa3D;;OAEG;IACH,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAYrC;;OAEG;IACH,qBAAqB,IAAI;QACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC;CAaF"}
@@ -161,6 +161,9 @@ export class TemplateRegistry {
161
161
  else if (config.styling.solution === 'css-modules') {
162
162
  templates.push(this.loadAndRegister('styling/css-modules'));
163
163
  }
164
+ else if (config.styling.solution === 'styled-components') {
165
+ templates.push(this.loadAndRegister('styling/styled-components'));
166
+ }
164
167
  // Load state management template
165
168
  if (config.stateManagement && config.stateManagement !== 'none') {
166
169
  templates.push(this.loadAndRegister(`state/${config.stateManagement}`));
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-react-forge",
3
- "version": "1.0.4",
3
+ "version": "1.5.2",
4
4
  "description": "Production-ready React CLI scaffolder with Vite/Next.js, testing as first-class citizen",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -51,35 +51,41 @@
51
51
  "LICENSE"
52
52
  ],
53
53
  "engines": {
54
- "node": ">=18.0.0"
54
+ "node": ">=20.9.0"
55
55
  },
56
56
  "dependencies": {
57
- "@inquirer/prompts": "^3.3.0",
58
- "chalk": "^5.3.0",
59
- "commander": "^11.1.0",
57
+ "@inquirer/prompts": "^8.2.0",
58
+ "chalk": "^5.4.1",
59
+ "commander": "^12.1.0",
60
60
  "deepmerge": "^4.3.1",
61
- "detect-package-manager": "^2.0.1",
61
+ "detect-package-manager": "^3.0.2",
62
62
  "ejs": "^3.1.10",
63
- "execa": "^8.0.1",
63
+ "execa": "^9.5.2",
64
64
  "fs-extra": "^11.2.0",
65
- "ora": "^8.0.1",
66
- "zod": "^3.22.4"
65
+ "ora": "^8.1.1",
66
+ "zod": "^3.24.1"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@types/ejs": "^3.1.5",
70
70
  "@types/fs-extra": "^11.0.4",
71
- "@types/node": "^20.10.6",
72
- "@typescript-eslint/eslint-plugin": "^6.17.0",
73
- "@typescript-eslint/parser": "^6.17.0",
74
- "@vitest/ui": "^1.1.1",
75
- "eslint": "^8.56.0",
76
- "prettier": "^3.1.1",
77
- "tsx": "^4.7.0",
78
- "typescript": "^5.3.3",
79
- "vitest": "^1.1.1"
80
- }
71
+ "@types/node": "^22.10.5",
72
+ "@typescript-eslint/eslint-plugin": "^8.21.0",
73
+ "@typescript-eslint/parser": "^8.21.0",
74
+ "@vitest/coverage-v8": "^2.1.8",
75
+ "@vitest/ui": "^2.1.8",
76
+ "eslint": "^9.19.0",
77
+ "prettier": "^3.4.2",
78
+ "tsx": "^4.19.2",
79
+ "typescript": "^5.7.2",
80
+ "typescript-eslint": "^8.54.0",
81
+ "vitest": "^2.1.8"
82
+ },
83
+ "repository": {
84
+ "type": "git",
85
+ "url": "https://github.com/chiragmak10/react-setup"
86
+ },
87
+ "bugs": {
88
+ "url": "https://github.com/chiragmak10/react-setup/issues"
89
+ },
90
+ "homepage": "https://github.com/chiragmak10/react-setup#readme"
81
91
  }
82
-
83
-
84
-
85
-
@@ -15,7 +15,21 @@ export type ApiResponse<T> = {
15
15
  status: number;
16
16
  };
17
17
 
18
- const API_URL = import.meta.env.VITE_API_URL || 'http://localhost:3001';
18
+ // Get API URL from environment - works for both Vite and Next.js
19
+ const getApiUrl = (): string => {
20
+ // Check for Vite environment variable (import.meta.env)
21
+ if (typeof import.meta !== 'undefined' && (import.meta as any).env) {
22
+ return (import.meta as any).env.VITE_API_URL || 'http://localhost:3001';
23
+ }
24
+ // Check for Next.js environment variable (process.env)
25
+ if (typeof process !== 'undefined' && process.env) {
26
+ return process.env.NEXT_PUBLIC_API_URL || 'http://localhost:3001';
27
+ }
28
+ // Fallback
29
+ return 'http://localhost:3001';
30
+ };
31
+
32
+ const API_URL = getApiUrl();
19
33
 
20
34
  /**
21
35
  * Build URL with query parameters
@@ -4,8 +4,8 @@
4
4
  "description": "TanStack Query (React Query) data fetching setup",
5
5
  "compatibleWith": ["runtime-vite", "runtime-nextjs"],
6
6
  "dependencies": {
7
- "@tanstack/react-query": "^5.60.0",
8
- "@tanstack/react-query-devtools": "^5.60.0"
7
+ "@tanstack/react-query": "^5.62.10",
8
+ "@tanstack/react-query-devtools": "^5.62.10"
9
9
  },
10
10
  "devDependencies": {},
11
11
  "scripts": {},
@@ -4,14 +4,14 @@
4
4
  "description": "Next.js App Router runtime following bulletproof-react patterns",
5
5
  "compatibleWith": ["base"],
6
6
  "dependencies": {
7
- "react": "^18.2.0",
8
- "react-dom": "^18.2.0",
9
- "next": "^14.2.0"
7
+ "react": "^19.0.0",
8
+ "react-dom": "^19.0.0",
9
+ "next": "^16.1.6"
10
10
  },
11
11
  "devDependencies": {
12
- "@types/react": "^18.2.0",
13
- "@types/react-dom": "^18.2.0",
14
- "@types/node": "^20.0.0"
12
+ "@types/react": "^19.0.6",
13
+ "@types/react-dom": "^19.0.3",
14
+ "@types/node": "^22.10.5"
15
15
  },
16
16
  "scripts": {
17
17
  "dev": "next dev",
@@ -8,5 +8,5 @@ const nextConfig = {
8
8
  // },
9
9
  };
10
10
 
11
- module.exports = nextConfig;
11
+ export default nextConfig;
12
12
 
@@ -4,16 +4,17 @@
4
4
  "description": "Vite runtime with React SPA setup following bulletproof-react patterns",
5
5
  "compatibleWith": ["base"],
6
6
  "dependencies": {
7
- "react": "^18.2.0",
8
- "react-dom": "^18.2.0",
9
- "react-router-dom": "^6.22.0",
10
- "react-error-boundary": "^4.0.0"
7
+ "react": "^19.0.0",
8
+ "react-dom": "^19.0.0",
9
+ "react-router-dom": "^7.1.1",
10
+ "react-error-boundary": "^4.1.2"
11
11
  },
12
12
  "devDependencies": {
13
- "vite": "^5.4.0",
14
- "@vitejs/plugin-react": "^4.2.0",
15
- "@types/react": "^18.2.0",
16
- "@types/react-dom": "^18.2.0"
13
+ "vite": "^6.0.7",
14
+ "@vitejs/plugin-react": "^4.3.4",
15
+ "@types/react": "^19.0.6",
16
+ "@types/react-dom": "^19.0.3",
17
+ "@types/node": "^22.10.5"
17
18
  },
18
19
  "scripts": {
19
20
  "dev": "vite",
@@ -7,10 +7,9 @@
7
7
 
8
8
  /* Bundler mode */
9
9
  "moduleResolution": "bundler",
10
- "allowImportingTsExtensions": true,
11
10
  "isolatedModules": true,
12
11
  "moduleDetection": "force",
13
- "noEmit": true,
12
+ "composite": true,
14
13
 
15
14
  /* Linting */
16
15
  "strict": true,
@@ -4,8 +4,8 @@
4
4
  "description": "Redux Toolkit state management with typed hooks",
5
5
  "compatibleWith": ["runtime-vite", "runtime-nextjs"],
6
6
  "dependencies": {
7
- "@reduxjs/toolkit": "^2.2.0",
8
- "react-redux": "^9.1.0"
7
+ "@reduxjs/toolkit": "^2.5.0",
8
+ "react-redux": "^9.2.0"
9
9
  },
10
10
  "devDependencies": {},
11
11
  "scripts": {},
@@ -4,7 +4,7 @@
4
4
  "description": "Zustand state management following bulletproof-react patterns",
5
5
  "compatibleWith": ["runtime-vite", "runtime-nextjs"],
6
6
  "dependencies": {
7
- "zustand": "^4.5.0"
7
+ "zustand": "^5.0.3"
8
8
  },
9
9
  "devDependencies": {},
10
10
  "scripts": {},
@@ -0,0 +1,5 @@
1
+ {
2
+ "presets": ["next/babel"],
3
+ "plugins": [["styled-components", { "ssr": true }]]
4
+ }
5
+
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "styling-styled-components",
3
+ "version": "1.0.0",
4
+ "description": "Styled Components CSS-in-JS styling solution",
5
+ "compatibleWith": ["runtime-vite", "runtime-nextjs"],
6
+ "dependencies": {
7
+ "styled-components": "^6.1.14"
8
+ },
9
+ "devDependencies": {
10
+ "@types/styled-components": "^5.1.34",
11
+ "babel-plugin-styled-components": "^2.1.4"
12
+ },
13
+ "scripts": {},
14
+ "filePatterns": {
15
+ "include": ["**/*"],
16
+ "exclude": ["manifest.json"]
17
+ }
18
+ }
19
+
@@ -0,0 +1,42 @@
1
+ import styled from 'styled-components';
2
+
3
+ export const StyledButton = styled.button<{ variant?: 'primary' | 'secondary' }>`
4
+ padding: 0.5rem 1rem;
5
+ font-size: 1rem;
6
+ font-weight: 500;
7
+ border-radius: 0.375rem;
8
+ border: none;
9
+ cursor: pointer;
10
+ transition: all 0.2s ease-in-out;
11
+
12
+ ${({ variant = 'primary' }) =>
13
+ variant === 'primary'
14
+ ? `
15
+ background-color: #3b82f6;
16
+ color: white;
17
+
18
+ &:hover {
19
+ background-color: #2563eb;
20
+ }
21
+
22
+ &:disabled {
23
+ background-color: #9ca3af;
24
+ cursor: not-allowed;
25
+ }
26
+ `
27
+ : `
28
+ background-color: #e5e7eb;
29
+ color: #1f2937;
30
+
31
+ &:hover {
32
+ background-color: #d1d5db;
33
+ }
34
+
35
+ &:disabled {
36
+ background-color: #f3f4f6;
37
+ color: #9ca3af;
38
+ cursor: not-allowed;
39
+ }
40
+ `}
41
+ `;
42
+
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+
3
+ import React, { useState } from 'react';
4
+ import { useServerInsertedHTML } from 'next/navigation';
5
+ import { ServerStyleSheet, StyleSheetManager } from 'styled-components';
6
+
7
+ export default function StyledComponentsRegistry({
8
+ children,
9
+ }: {
10
+ children: React.ReactNode;
11
+ }) {
12
+ // Only create stylesheet once with lazy initial state
13
+ const [styledComponentsStyleSheet] = useState(() => new ServerStyleSheet());
14
+
15
+ useServerInsertedHTML(() => {
16
+ const styles = styledComponentsStyleSheet.getStyleElement();
17
+ styledComponentsStyleSheet.instance.clearTag();
18
+ return <>{styles}</>;
19
+ });
20
+
21
+ if (typeof window !== 'undefined') return <>{children}</>;
22
+
23
+ return (
24
+ <StyleSheetManager sheet={styledComponentsStyleSheet.instance}>
25
+ {children}
26
+ </StyleSheetManager>
27
+ );
28
+ }
29
+
@@ -0,0 +1,28 @@
1
+ import { createGlobalStyle } from 'styled-components';
2
+
3
+ export const GlobalStyles = createGlobalStyle`
4
+ * {
5
+ margin: 0;
6
+ padding: 0;
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ html,
11
+ body {
12
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
13
+ Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
14
+ -webkit-font-smoothing: antialiased;
15
+ -moz-osx-font-smoothing: grayscale;
16
+ }
17
+
18
+ a {
19
+ color: inherit;
20
+ text-decoration: none;
21
+ }
22
+
23
+ code {
24
+ font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
25
+ monospace;
26
+ }
27
+ `;
28
+
@@ -5,9 +5,10 @@
5
5
  "compatibleWith": ["runtime-vite", "runtime-nextjs"],
6
6
  "dependencies": {},
7
7
  "devDependencies": {
8
- "tailwindcss": "^3.4.0",
9
- "postcss": "^8.4.0",
10
- "autoprefixer": "^10.4.0"
8
+ "tailwindcss": "^4.0.0",
9
+ "@tailwindcss/postcss": "^4.0.0",
10
+ "postcss": "^8.4.49",
11
+ "autoprefixer": "^10.4.20"
11
12
  },
12
13
  "scripts": {},
13
14
  "filePatterns": {
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  plugins: {
3
- tailwindcss: {},
3
+ '@tailwindcss/postcss': {},
4
4
  autoprefixer: {},
5
5
  },
6
6
  };
@@ -1,35 +1,99 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
1
+ @import "tailwindcss";
2
+
3
+ /* Custom theme configuration */
4
+ @theme {
5
+ /* Brand colors */
6
+ --color-brand-50: #eff6ff;
7
+ --color-brand-100: #dbeafe;
8
+ --color-brand-200: #bfdbfe;
9
+ --color-brand-300: #93c5fd;
10
+ --color-brand-400: #60a5fa;
11
+ --color-brand-500: #3b82f6;
12
+ --color-brand-600: #2563eb;
13
+ --color-brand-700: #1d4ed8;
14
+ --color-brand-800: #1e40af;
15
+ --color-brand-900: #1e3a8a;
16
+ --color-brand-950: #172554;
17
+
18
+ /* Custom animations */
19
+ --animate-fade-in: fade-in 0.3s ease-out;
20
+ --animate-slide-up: slide-up 0.3s ease-out;
21
+ --animate-slide-down: slide-down 0.3s ease-out;
22
+
23
+ @keyframes fade-in {
24
+ 0% { opacity: 0; }
25
+ 100% { opacity: 1; }
26
+ }
27
+
28
+ @keyframes slide-up {
29
+ 0% { transform: translateY(10px); opacity: 0; }
30
+ 100% { transform: translateY(0); opacity: 1; }
31
+ }
32
+
33
+ @keyframes slide-down {
34
+ 0% { transform: translateY(-10px); opacity: 0; }
35
+ 100% { transform: translateY(0); opacity: 1; }
36
+ }
37
+ }
4
38
 
5
39
  /* Custom base styles */
6
40
  @layer base {
7
41
  html {
8
- @apply antialiased;
42
+ -webkit-font-smoothing: antialiased;
43
+ -moz-osx-font-smoothing: grayscale;
9
44
  }
10
45
 
11
46
  body {
12
- @apply bg-white text-gray-900;
47
+ background-color: var(--color-white);
48
+ color: var(--color-gray-900);
13
49
  }
14
50
 
15
51
  /* Focus styles for accessibility */
16
52
  :focus-visible {
17
- @apply outline-none ring-2 ring-indigo-500 ring-offset-2;
53
+ outline: none;
54
+ box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-indigo-500);
18
55
  }
19
56
  }
20
57
 
21
58
  /* Custom component classes */
22
59
  @layer components {
23
60
  .container-app {
24
- @apply mx-auto max-w-7xl px-4 sm:px-6 lg:px-8;
61
+ margin-left: auto;
62
+ margin-right: auto;
63
+ max-width: 80rem;
64
+ padding-left: 1rem;
65
+ padding-right: 1rem;
66
+ }
67
+
68
+ @media (min-width: 640px) {
69
+ .container-app {
70
+ padding-left: 1.5rem;
71
+ padding-right: 1.5rem;
72
+ }
73
+ }
74
+
75
+ @media (min-width: 1024px) {
76
+ .container-app {
77
+ padding-left: 2rem;
78
+ padding-right: 2rem;
79
+ }
25
80
  }
26
81
 
27
82
  .card {
28
- @apply rounded-lg border border-gray-200 bg-white p-6 shadow-sm;
83
+ border-radius: 0.5rem;
84
+ border: 1px solid var(--color-gray-200);
85
+ background-color: var(--color-white);
86
+ padding: 1.5rem;
87
+ box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
29
88
  }
30
89
 
31
90
  .link {
32
- @apply text-indigo-600 hover:text-indigo-500 hover:underline;
91
+ color: var(--color-indigo-600);
92
+ }
93
+
94
+ .link:hover {
95
+ color: var(--color-indigo-500);
96
+ text-decoration: underline;
33
97
  }
34
98
  }
35
99
 
@@ -1,62 +1,7 @@
1
1
  /** @type {import('tailwindcss').Config} */
2
2
  export default {
3
- content: [
4
- './index.html',
5
- './src/**/*.{js,ts,jsx,tsx}',
6
- './app/**/*.{js,ts,jsx,tsx}',
7
- ],
8
- theme: {
9
- extend: {
10
- colors: {
11
- // Add custom colors here
12
- brand: {
13
- 50: '#eff6ff',
14
- 100: '#dbeafe',
15
- 200: '#bfdbfe',
16
- 300: '#93c5fd',
17
- 400: '#60a5fa',
18
- 500: '#3b82f6',
19
- 600: '#2563eb',
20
- 700: '#1d4ed8',
21
- 800: '#1e40af',
22
- 900: '#1e3a8a',
23
- 950: '#172554',
24
- },
25
- },
26
- fontFamily: {
27
- sans: [
28
- 'Inter',
29
- 'system-ui',
30
- '-apple-system',
31
- 'BlinkMacSystemFont',
32
- 'Segoe UI',
33
- 'Roboto',
34
- 'Helvetica Neue',
35
- 'Arial',
36
- 'sans-serif',
37
- ],
38
- },
39
- animation: {
40
- 'fade-in': 'fade-in 0.3s ease-out',
41
- 'slide-up': 'slide-up 0.3s ease-out',
42
- 'slide-down': 'slide-down 0.3s ease-out',
43
- },
44
- keyframes: {
45
- 'fade-in': {
46
- '0%': { opacity: '0' },
47
- '100%': { opacity: '1' },
48
- },
49
- 'slide-up': {
50
- '0%': { transform: 'translateY(10px)', opacity: '0' },
51
- '100%': { transform: 'translateY(0)', opacity: '1' },
52
- },
53
- 'slide-down': {
54
- '0%': { transform: 'translateY(-10px)', opacity: '0' },
55
- '100%': { transform: 'translateY(0)', opacity: '1' },
56
- },
57
- },
58
- },
59
- },
60
- plugins: [],
3
+ // Tailwind v4 uses automatic content detection
4
+ // Theme configuration is done in src/styles/globals.css using @theme directive
5
+ // This config file is optional but kept for compatibility
61
6
  };
62
7
 
@@ -7,12 +7,12 @@
7
7
  "devDependencies": {
8
8
  "jest": "^29.7.0",
9
9
  "jest-environment-jsdom": "^29.7.0",
10
- "@types/jest": "^29.5.0",
11
- "@testing-library/react": "^16.0.0",
12
- "@testing-library/jest-dom": "^6.4.0",
13
- "@testing-library/user-event": "^14.5.0",
14
- "ts-jest": "^29.2.0",
15
- "msw": "^2.4.0"
10
+ "@types/jest": "^29.5.14",
11
+ "@testing-library/react": "^16.1.0",
12
+ "@testing-library/jest-dom": "^6.6.3",
13
+ "@testing-library/user-event": "^14.5.2",
14
+ "ts-jest": "^29.2.6",
15
+ "msw": "^2.7.0"
16
16
  },
17
17
  "scripts": {
18
18
  "test": "jest",
@@ -5,7 +5,7 @@
5
5
  "compatibleWith": ["runtime-vite", "runtime-nextjs"],
6
6
  "dependencies": {},
7
7
  "devDependencies": {
8
- "@playwright/test": "^1.45.0"
8
+ "@playwright/test": "^1.49.1"
9
9
  },
10
10
  "scripts": {
11
11
  "test:e2e": "playwright test",
@@ -5,14 +5,14 @@
5
5
  "compatibleWith": ["runtime-vite", "runtime-nextjs"],
6
6
  "dependencies": {},
7
7
  "devDependencies": {
8
- "vitest": "^2.0.0",
9
- "@vitest/ui": "^2.0.0",
10
- "@vitest/coverage-v8": "^2.0.0",
11
- "@testing-library/react": "^16.0.0",
12
- "@testing-library/jest-dom": "^6.4.0",
13
- "@testing-library/user-event": "^14.5.0",
14
- "jsdom": "^24.0.0",
15
- "msw": "^2.4.0"
8
+ "vitest": "^2.1.8",
9
+ "@vitest/ui": "^2.1.8",
10
+ "@vitest/coverage-v8": "^2.1.8",
11
+ "@testing-library/react": "^16.1.0",
12
+ "@testing-library/jest-dom": "^6.6.3",
13
+ "@testing-library/user-event": "^14.5.2",
14
+ "jsdom": "^25.0.1",
15
+ "msw": "^2.7.0"
16
16
  },
17
17
  "scripts": {
18
18
  "test": "vitest run",