create-react-starter-kit 1.0.0
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/LICENSE +21 -0
- package/README.md +119 -0
- package/bin/create-react-starter-kit.js +7 -0
- package/dist/cli-args.d.ts +15 -0
- package/dist/cli-args.d.ts.map +1 -0
- package/dist/cli-args.js +78 -0
- package/dist/cli-args.js.map +1 -0
- package/dist/generator/dependencies.d.ts +8 -0
- package/dist/generator/dependencies.d.ts.map +1 -0
- package/dist/generator/dependencies.js +356 -0
- package/dist/generator/dependencies.js.map +1 -0
- package/dist/generator/index.d.ts +5 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +358 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/index.d.ts +3 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +267 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/templates/.env.example.ejs +21 -0
- package/dist/templates/.husky/commit-msg +2 -0
- package/dist/templates/.husky/pre-commit +2 -0
- package/dist/templates/README.md.ejs +169 -0
- package/dist/templates/__js__/jsconfig.json +9 -0
- package/dist/templates/__ts__/src/vite-env.d.ts +16 -0
- package/dist/templates/__ts__/tsconfig.json +24 -0
- package/dist/templates/__when_buildTool_esbuild__/scripts/esbuild.build.mjs.ejs +23 -0
- package/dist/templates/__when_buildTool_esbuild__/scripts/esbuild.dev.mjs.ejs +48 -0
- package/dist/templates/__when_buildTool_parcel__/.parcelrc +9 -0
- package/dist/templates/__when_buildTool_rollup__/rollup.config.js.ejs +33 -0
- package/dist/templates/__when_buildTool_rspack__/rspack.config.js.ejs +36 -0
- package/dist/templates/__when_buildTool_vite__/vite.config.ts.ejs +37 -0
- package/dist/templates/__when_buildTool_webpack__/webpack.config.js.ejs +68 -0
- package/dist/templates/__when_e2eTesting_cypress__/cypress/e2e/home.cy.ts.ejs +6 -0
- package/dist/templates/__when_e2eTesting_cypress__/cypress.config.ts.ejs +8 -0
- package/dist/templates/__when_e2eTesting_playwright__/playwright.config.ts.ejs +16 -0
- package/dist/templates/__when_e2eTesting_playwright__/tests/e2e/home.spec.ts.ejs +6 -0
- package/dist/templates/__when_formatting_prettier__/.prettierrc +7 -0
- package/dist/templates/__when_formatting_stylelint__/.stylelintrc.json +3 -0
- package/dist/templates/__when_linting_biome__/biome.json +19 -0
- package/dist/templates/__when_linting_eslint__/eslint.config.js.ejs +42 -0
- package/dist/templates/__when_serverState_rtk-query__/src/store/postsApi.ts.ejs +19 -0
- package/dist/templates/__when_stateManagement_context__/src/store/context.tsx.ejs +57 -0
- package/dist/templates/__when_styling_tailwind__/postcss.config.js +6 -0
- package/dist/templates/__when_styling_tailwind__/tailwind.config.js.ejs +23 -0
- package/dist/templates/__when_unitTesting_jest__/jest.config.json.ejs +11 -0
- package/dist/templates/__when_unitTesting_jest__/tests/App.test.tsx.ejs +13 -0
- package/dist/templates/__when_unitTesting_jest__/tests/setup.ts.ejs +1 -0
- package/dist/templates/__when_unitTesting_jest__/tests/styleMock.ts.ejs +1 -0
- package/dist/templates/__when_unitTesting_rtl__/tests/App.test.tsx.ejs +13 -0
- package/dist/templates/__when_unitTesting_vitest__/tests/App.test.tsx.ejs +16 -0
- package/dist/templates/__when_unitTesting_vitest__/tests/setup.ts.ejs +1 -0
- package/dist/templates/__when_visualTesting_storybook__/.storybook/main.js.ejs +11 -0
- package/dist/templates/__when_visualTesting_storybook__/.storybook/preview.js +8 -0
- package/dist/templates/__when_visualTesting_storybook__/src/components/ui/UiButton.stories.tsx.ejs +15 -0
- package/dist/templates/commitlint.config.js +3 -0
- package/dist/templates/docs/architecture.md.ejs +74 -0
- package/dist/templates/docs/best-practices.md.ejs +56 -0
- package/dist/templates/docs/examples/README.md.ejs +14 -0
- package/dist/templates/docs/examples/api.md.ejs +17 -0
- package/dist/templates/docs/examples/data-fetching.md.ejs +18 -0
- package/dist/templates/docs/examples/forms.md.ejs +18 -0
- package/dist/templates/docs/examples/state.md.ejs +17 -0
- package/dist/templates/docs/examples/styling.md.ejs +23 -0
- package/dist/templates/docs/examples/testing.md.ejs +27 -0
- package/dist/templates/docs/getting-started.md.ejs +55 -0
- package/dist/templates/docs/selected-stack.md.ejs +55 -0
- package/dist/templates/index.html.ejs +19 -0
- package/dist/templates/public/vite.svg +4 -0
- package/dist/templates/src/app/App.tsx.ejs +71 -0
- package/dist/templates/src/app/providers.tsx.ejs +93 -0
- package/dist/templates/src/assets/.gitkeep +0 -0
- package/dist/templates/src/components/StackBadge.tsx.ejs +15 -0
- package/dist/templates/src/components/layout/AppLayout.tsx.ejs +64 -0
- package/dist/templates/src/components/ui/Toast.tsx.ejs +61 -0
- package/dist/templates/src/components/ui/UiButton.tsx.ejs +168 -0
- package/dist/templates/src/config/env.ts.ejs +18 -0
- package/dist/templates/src/features/counter/CounterPanel.tsx.ejs +66 -0
- package/dist/templates/src/features/feedback/FeedbackForm.tsx.ejs +373 -0
- package/dist/templates/src/features/posts/PostsPanel.tsx.ejs +91 -0
- package/dist/templates/src/hooks/useMounted.ts.ejs +15 -0
- package/dist/templates/src/lib/cn.ts.ejs +12 -0
- package/dist/templates/src/lib/monitoring.ts.ejs +66 -0
- package/dist/templates/src/lib/validation.ts.ejs +81 -0
- package/dist/templates/src/main.tsx.ejs +22 -0
- package/dist/templates/src/routes/AboutPage.tsx.ejs +30 -0
- package/dist/templates/src/routes/HomePage.tsx.ejs +47 -0
- package/dist/templates/src/services/api.ts.ejs +84 -0
- package/dist/templates/src/store/index.ts.ejs +80 -0
- package/dist/templates/src/styles/global.css.ejs +457 -0
- package/dist/templates/src/types/index.ts.ejs +7 -0
- package/dist/templates/src/utils/format.ts.ejs +3 -0
- package/dist/types.d.ts +46 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/logger.d.ts +12 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +31 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/validate.d.ts +3 -0
- package/dist/utils/validate.d.ts.map +1 -0
- package/dist/utils/validate.js +24 -0
- package/dist/utils/validate.js.map +1 -0
- package/package.json +62 -0
- package/templates/.env.example.ejs +21 -0
- package/templates/.husky/commit-msg +2 -0
- package/templates/.husky/pre-commit +2 -0
- package/templates/README.md.ejs +169 -0
- package/templates/__js__/jsconfig.json +9 -0
- package/templates/__ts__/src/vite-env.d.ts +16 -0
- package/templates/__ts__/tsconfig.json +24 -0
- package/templates/__when_buildTool_esbuild__/scripts/esbuild.build.mjs.ejs +23 -0
- package/templates/__when_buildTool_esbuild__/scripts/esbuild.dev.mjs.ejs +48 -0
- package/templates/__when_buildTool_parcel__/.parcelrc +9 -0
- package/templates/__when_buildTool_rollup__/rollup.config.js.ejs +33 -0
- package/templates/__when_buildTool_rspack__/rspack.config.js.ejs +36 -0
- package/templates/__when_buildTool_vite__/vite.config.ts.ejs +37 -0
- package/templates/__when_buildTool_webpack__/webpack.config.js.ejs +68 -0
- package/templates/__when_e2eTesting_cypress__/cypress/e2e/home.cy.ts.ejs +6 -0
- package/templates/__when_e2eTesting_cypress__/cypress.config.ts.ejs +8 -0
- package/templates/__when_e2eTesting_playwright__/playwright.config.ts.ejs +16 -0
- package/templates/__when_e2eTesting_playwright__/tests/e2e/home.spec.ts.ejs +6 -0
- package/templates/__when_formatting_prettier__/.prettierrc +7 -0
- package/templates/__when_formatting_stylelint__/.stylelintrc.json +3 -0
- package/templates/__when_linting_biome__/biome.json +19 -0
- package/templates/__when_linting_eslint__/eslint.config.js.ejs +42 -0
- package/templates/__when_serverState_rtk-query__/src/store/postsApi.ts.ejs +19 -0
- package/templates/__when_stateManagement_context__/src/store/context.tsx.ejs +57 -0
- package/templates/__when_styling_tailwind__/postcss.config.js +6 -0
- package/templates/__when_styling_tailwind__/tailwind.config.js.ejs +23 -0
- package/templates/__when_unitTesting_jest__/jest.config.json.ejs +11 -0
- package/templates/__when_unitTesting_jest__/tests/App.test.tsx.ejs +13 -0
- package/templates/__when_unitTesting_jest__/tests/setup.ts.ejs +1 -0
- package/templates/__when_unitTesting_jest__/tests/styleMock.ts.ejs +1 -0
- package/templates/__when_unitTesting_rtl__/tests/App.test.tsx.ejs +13 -0
- package/templates/__when_unitTesting_vitest__/tests/App.test.tsx.ejs +16 -0
- package/templates/__when_unitTesting_vitest__/tests/setup.ts.ejs +1 -0
- package/templates/__when_visualTesting_storybook__/.storybook/main.js.ejs +11 -0
- package/templates/__when_visualTesting_storybook__/.storybook/preview.js +8 -0
- package/templates/__when_visualTesting_storybook__/src/components/ui/UiButton.stories.tsx.ejs +15 -0
- package/templates/commitlint.config.js +3 -0
- package/templates/docs/architecture.md.ejs +74 -0
- package/templates/docs/best-practices.md.ejs +56 -0
- package/templates/docs/examples/README.md.ejs +14 -0
- package/templates/docs/examples/api.md.ejs +17 -0
- package/templates/docs/examples/data-fetching.md.ejs +18 -0
- package/templates/docs/examples/forms.md.ejs +18 -0
- package/templates/docs/examples/state.md.ejs +17 -0
- package/templates/docs/examples/styling.md.ejs +23 -0
- package/templates/docs/examples/testing.md.ejs +27 -0
- package/templates/docs/getting-started.md.ejs +55 -0
- package/templates/docs/selected-stack.md.ejs +55 -0
- package/templates/index.html.ejs +19 -0
- package/templates/public/vite.svg +4 -0
- package/templates/src/app/App.tsx.ejs +71 -0
- package/templates/src/app/providers.tsx.ejs +93 -0
- package/templates/src/assets/.gitkeep +0 -0
- package/templates/src/components/StackBadge.tsx.ejs +15 -0
- package/templates/src/components/layout/AppLayout.tsx.ejs +64 -0
- package/templates/src/components/ui/Toast.tsx.ejs +61 -0
- package/templates/src/components/ui/UiButton.tsx.ejs +168 -0
- package/templates/src/config/env.ts.ejs +18 -0
- package/templates/src/features/counter/CounterPanel.tsx.ejs +66 -0
- package/templates/src/features/feedback/FeedbackForm.tsx.ejs +373 -0
- package/templates/src/features/posts/PostsPanel.tsx.ejs +91 -0
- package/templates/src/hooks/useMounted.ts.ejs +15 -0
- package/templates/src/lib/cn.ts.ejs +12 -0
- package/templates/src/lib/monitoring.ts.ejs +66 -0
- package/templates/src/lib/validation.ts.ejs +81 -0
- package/templates/src/main.tsx.ejs +22 -0
- package/templates/src/routes/AboutPage.tsx.ejs +30 -0
- package/templates/src/routes/HomePage.tsx.ejs +47 -0
- package/templates/src/services/api.ts.ejs +84 -0
- package/templates/src/store/index.ts.ejs +80 -0
- package/templates/src/styles/global.css.ejs +457 -0
- package/templates/src/types/index.ts.ejs +7 -0
- package/templates/src/utils/format.ts.ejs +3 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 create-react-starter-kit contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# create-react-starter-kit
|
|
2
|
+
|
|
3
|
+
Interactive CLI that scaffolds a **production-ready React app** from terminal prompts. Each answer shapes dependencies, configs, a working demo page, and documentation.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Global
|
|
9
|
+
npm install -g create-react-starter-kit
|
|
10
|
+
create-react-starter-kit
|
|
11
|
+
|
|
12
|
+
# Or one-shot
|
|
13
|
+
npx create-react-starter-kit
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
### Interactive (default)
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
create-react-starter-kit
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Answer questions one by one (build tool, language, router, state, data fetching, forms, styling, testing, and more). Press **Enter** to accept each default. Every project includes **Husky + lint-staged + commitlint**, a **feature-based** folder layout, and **`@/` path aliases**.
|
|
25
|
+
|
|
26
|
+
### Non-interactive defaults
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
create-react-starter-kit --defaults --name my-app
|
|
30
|
+
create-react-starter-kit -y --name my-app --dir ./apps/my-app --skip-install
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
| Flag | Description |
|
|
34
|
+
|------|-------------|
|
|
35
|
+
| `-y`, `--yes`, `--defaults` | Use recommended defaults |
|
|
36
|
+
| `-n`, `--name <name>` | Project name |
|
|
37
|
+
| `-d`, `--dir <path>` | Output directory |
|
|
38
|
+
| `--skip-install` | Skip dependency install |
|
|
39
|
+
| `-h`, `--help` | Show help |
|
|
40
|
+
|
|
41
|
+
## What gets generated
|
|
42
|
+
|
|
43
|
+
- Complete React app with navigation, layout, and demo panels
|
|
44
|
+
- Real examples for selected state, data fetching, forms, validation, UI, and API layers
|
|
45
|
+
- `docs/` with architecture, getting started, best practices, and stack notes
|
|
46
|
+
- Tooling configs (Vite/Webpack/Rspack/Parcel/esbuild/Rollup, ESLint/Biome, Prettier, tests, etc.)
|
|
47
|
+
- Husky pre-commit (lint-staged) + commit-msg (commitlint / Conventional Commits)
|
|
48
|
+
- Feature-based `src/` layout + `@/` path aliases (tsconfig + bundler)
|
|
49
|
+
- `README.md` tailored to the selected stack
|
|
50
|
+
|
|
51
|
+
## Develop this package
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
git clone <repo>
|
|
55
|
+
cd create-react-starter-kit
|
|
56
|
+
npm install
|
|
57
|
+
npm run build
|
|
58
|
+
npm start
|
|
59
|
+
# or
|
|
60
|
+
node bin/create-react-starter-kit.js --defaults --name demo --dir ./tmp-generated/demo --skip-install
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Scripts
|
|
64
|
+
|
|
65
|
+
| Script | Purpose |
|
|
66
|
+
|--------|---------|
|
|
67
|
+
| `npm run build` | Compile TypeScript and copy templates |
|
|
68
|
+
| `npm start` | Run the CLI |
|
|
69
|
+
| `npm run validate` | Build + generate a sample project under `tmp-generated/` |
|
|
70
|
+
| `npm run typecheck` | Typecheck without emit |
|
|
71
|
+
|
|
72
|
+
### Local validation before publish
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm run validate
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
This generates `tmp-generated/validation-app` with default stack options and asserts key files exist. Optionally install and run that app:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
cd tmp-generated/validation-app
|
|
82
|
+
pnpm install
|
|
83
|
+
pnpm dev
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Package layout
|
|
87
|
+
|
|
88
|
+
```text
|
|
89
|
+
bin/ CLI entry
|
|
90
|
+
src/ TypeScript source (prompts, generator, utils)
|
|
91
|
+
templates/ EJS templates for generated apps
|
|
92
|
+
scripts/ copy-templates + validate-cli
|
|
93
|
+
dist/ Compiled output (published)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Templates use `__when_<key>_<value>__/` folders and EJS conditionals so only matching configs and examples are emitted.
|
|
97
|
+
|
|
98
|
+
## Publishing to npm
|
|
99
|
+
|
|
100
|
+
1. Update `version` in `package.json` (semver).
|
|
101
|
+
2. Run `npm run validate` and smoke-test a generated app.
|
|
102
|
+
3. Ensure you are logged in: `npm login`
|
|
103
|
+
4. Publish:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
npm publish --access public
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
5. Verify:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
npx create-react-starter-kit@latest --help
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
See [docs/PUBLISHING.md](docs/PUBLISHING.md) for a fuller checklist.
|
|
116
|
+
|
|
117
|
+
## License
|
|
118
|
+
|
|
119
|
+
MIT
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ProjectAnswers } from './types.js';
|
|
2
|
+
export declare function parseArgs(argv: string[]): {
|
|
3
|
+
defaults: boolean;
|
|
4
|
+
name?: string;
|
|
5
|
+
dir?: string;
|
|
6
|
+
skipInstall: boolean;
|
|
7
|
+
help: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function printHelp(): void;
|
|
10
|
+
export declare function buildDefaultAnswers(options: {
|
|
11
|
+
name?: string;
|
|
12
|
+
dir?: string;
|
|
13
|
+
skipInstall?: boolean;
|
|
14
|
+
}): ProjectAnswers;
|
|
15
|
+
//# sourceMappingURL=cli-args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-args.d.ts","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACf,CA8BA;AAED,wBAAgB,SAAS,IAAI,IAAI,CAchC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,cAAc,CA8BjB"}
|
package/dist/cli-args.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { resolveTargetDirectory } from './utils/validate.js';
|
|
3
|
+
export function parseArgs(argv) {
|
|
4
|
+
const args = argv.slice(2);
|
|
5
|
+
const result = {
|
|
6
|
+
defaults: false,
|
|
7
|
+
skipInstall: false,
|
|
8
|
+
help: false,
|
|
9
|
+
name: undefined,
|
|
10
|
+
dir: undefined,
|
|
11
|
+
};
|
|
12
|
+
for (let i = 0; i < args.length; i += 1) {
|
|
13
|
+
const arg = args[i];
|
|
14
|
+
if (arg === '--defaults' || arg === '-y' || arg === '--yes') {
|
|
15
|
+
result.defaults = true;
|
|
16
|
+
}
|
|
17
|
+
else if (arg === '--skip-install') {
|
|
18
|
+
result.skipInstall = true;
|
|
19
|
+
}
|
|
20
|
+
else if (arg === '--help' || arg === '-h') {
|
|
21
|
+
result.help = true;
|
|
22
|
+
}
|
|
23
|
+
else if (arg === '--name' || arg === '-n') {
|
|
24
|
+
result.name = args[i + 1];
|
|
25
|
+
i += 1;
|
|
26
|
+
}
|
|
27
|
+
else if (arg === '--dir' || arg === '-d') {
|
|
28
|
+
result.dir = args[i + 1];
|
|
29
|
+
i += 1;
|
|
30
|
+
}
|
|
31
|
+
else if (!arg.startsWith('-') && !result.name) {
|
|
32
|
+
result.name = arg;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
export function printHelp() {
|
|
38
|
+
console.log(`
|
|
39
|
+
create-react-starter-kit
|
|
40
|
+
|
|
41
|
+
Usage:
|
|
42
|
+
create-react-starter-kit [project-name] [options]
|
|
43
|
+
|
|
44
|
+
Options:
|
|
45
|
+
-y, --yes, --defaults Use recommended defaults (non-interactive)
|
|
46
|
+
-n, --name <name> Project name
|
|
47
|
+
-d, --dir <path> Target directory
|
|
48
|
+
--skip-install Do not install dependencies
|
|
49
|
+
-h, --help Show help
|
|
50
|
+
`);
|
|
51
|
+
}
|
|
52
|
+
export function buildDefaultAnswers(options) {
|
|
53
|
+
const projectName = options.name?.trim() || 'my-react-app';
|
|
54
|
+
const targetDir = resolveTargetDirectory(process.cwd(), projectName, options.dir ?? path.join('.', projectName));
|
|
55
|
+
return {
|
|
56
|
+
projectName,
|
|
57
|
+
targetDir,
|
|
58
|
+
buildTool: 'vite',
|
|
59
|
+
language: 'typescript',
|
|
60
|
+
router: 'react-router',
|
|
61
|
+
stateManagement: 'redux',
|
|
62
|
+
serverState: 'rtk-query',
|
|
63
|
+
forms: 'react-hook-form',
|
|
64
|
+
validation: 'zod',
|
|
65
|
+
styling: 'tailwind',
|
|
66
|
+
uiLibrary: 'shadcn',
|
|
67
|
+
unitTesting: 'vitest',
|
|
68
|
+
e2eTesting: 'playwright',
|
|
69
|
+
visualTesting: 'storybook',
|
|
70
|
+
linting: 'eslint',
|
|
71
|
+
formatting: 'prettier',
|
|
72
|
+
apiLayer: 'axios',
|
|
73
|
+
packageManager: 'pnpm',
|
|
74
|
+
errorTracking: 'sentry',
|
|
75
|
+
installDependencies: !options.skipInstall,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=cli-args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,UAAU,SAAS,CAAC,IAAc;IAOtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG;QACb,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,KAAK;QAClB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,SAA+B;QACrC,GAAG,EAAE,SAA+B;KACrC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC5D,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YACpC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;CAYb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAInC;IACC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC;IAC3D,MAAM,SAAS,GAAG,sBAAsB,CACtC,OAAO,CAAC,GAAG,EAAE,EACb,WAAW,EACX,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAC3C,CAAC;IAEF,OAAO;QACL,WAAW;QACX,SAAS;QACT,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,cAAc;QACtB,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,WAAW;QACxB,KAAK,EAAE,iBAAiB;QACxB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,QAAQ;QACrB,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,WAAW;QAC1B,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE,MAAM;QACtB,aAAa,EAAE,QAAQ;QACvB,mBAAmB,EAAE,CAAC,OAAO,CAAC,WAAW;KAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ProjectAnswers } from '../types.js';
|
|
2
|
+
export interface DependencySets {
|
|
3
|
+
dependencies: Record<string, string>;
|
|
4
|
+
devDependencies: Record<string, string>;
|
|
5
|
+
}
|
|
6
|
+
export declare function resolveDependencies(answers: ProjectAnswers): DependencySets;
|
|
7
|
+
export declare function buildScripts(answers: ProjectAnswers): Record<string, string>;
|
|
8
|
+
//# sourceMappingURL=dependencies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../src/generator/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAOD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CA+R3E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkF5E"}
|
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
const REACT = {
|
|
2
|
+
react: '^19.0.0',
|
|
3
|
+
'react-dom': '^19.0.0',
|
|
4
|
+
};
|
|
5
|
+
export function resolveDependencies(answers) {
|
|
6
|
+
const dependencies = { ...REACT };
|
|
7
|
+
const devDependencies = {};
|
|
8
|
+
const isTs = answers.language === 'typescript';
|
|
9
|
+
// Build tools
|
|
10
|
+
switch (answers.buildTool) {
|
|
11
|
+
case 'vite':
|
|
12
|
+
dependencies['@vitejs/plugin-react'] = '^4.3.4';
|
|
13
|
+
// plugin is typically a dep for simplicity in scaffolds; keep as dep so vite works
|
|
14
|
+
delete dependencies['@vitejs/plugin-react'];
|
|
15
|
+
devDependencies['vite'] = '^6.2.2';
|
|
16
|
+
devDependencies['@vitejs/plugin-react'] = '^4.3.4';
|
|
17
|
+
break;
|
|
18
|
+
case 'webpack':
|
|
19
|
+
devDependencies['webpack'] = '^5.98.0';
|
|
20
|
+
devDependencies['webpack-cli'] = '^6.0.1';
|
|
21
|
+
devDependencies['webpack-dev-server'] = '^5.2.0';
|
|
22
|
+
devDependencies['html-webpack-plugin'] = '^5.6.3';
|
|
23
|
+
devDependencies['css-loader'] = '^7.1.2';
|
|
24
|
+
devDependencies['style-loader'] = '^4.0.0';
|
|
25
|
+
devDependencies['babel-loader'] = '^9.2.1';
|
|
26
|
+
devDependencies['@babel/core'] = '^7.26.10';
|
|
27
|
+
devDependencies['@babel/preset-env'] = '^7.26.9';
|
|
28
|
+
devDependencies['@babel/preset-react'] = '^7.26.3';
|
|
29
|
+
if (isTs) {
|
|
30
|
+
devDependencies['@babel/preset-typescript'] = '^7.26.0';
|
|
31
|
+
devDependencies['ts-loader'] = '^9.5.2';
|
|
32
|
+
}
|
|
33
|
+
break;
|
|
34
|
+
case 'rspack':
|
|
35
|
+
devDependencies['@rspack/core'] = '^1.2.8';
|
|
36
|
+
devDependencies['@rspack/cli'] = '^1.2.8';
|
|
37
|
+
devDependencies['@rspack/plugin-react-refresh'] = '^1.0.1';
|
|
38
|
+
devDependencies['html-rspack-plugin'] = '^6.0.2';
|
|
39
|
+
break;
|
|
40
|
+
case 'parcel':
|
|
41
|
+
devDependencies['parcel'] = '^2.14.1';
|
|
42
|
+
break;
|
|
43
|
+
case 'esbuild':
|
|
44
|
+
devDependencies['esbuild'] = '^0.25.1';
|
|
45
|
+
break;
|
|
46
|
+
case 'rollup':
|
|
47
|
+
devDependencies['rollup'] = '^4.35.0';
|
|
48
|
+
devDependencies['@rollup/plugin-node-resolve'] = '^16.0.1';
|
|
49
|
+
devDependencies['@rollup/plugin-commonjs'] = '^28.0.3';
|
|
50
|
+
devDependencies['@rollup/plugin-replace'] = '^6.0.2';
|
|
51
|
+
devDependencies['@rollup/plugin-alias'] = '^5.1.1';
|
|
52
|
+
if (isTs) {
|
|
53
|
+
devDependencies['@rollup/plugin-typescript'] = '^12.1.2';
|
|
54
|
+
}
|
|
55
|
+
devDependencies['rollup-plugin-postcss'] = '^4.0.2';
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
if (isTs) {
|
|
59
|
+
devDependencies['typescript'] = '^5.8.2';
|
|
60
|
+
devDependencies['@types/react'] = '^19.0.10';
|
|
61
|
+
devDependencies['@types/react-dom'] = '^19.0.4';
|
|
62
|
+
}
|
|
63
|
+
// Router
|
|
64
|
+
if (answers.router === 'react-router') {
|
|
65
|
+
dependencies['react-router-dom'] = '^7.3.0';
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
dependencies['@tanstack/react-router'] = '^1.114.25';
|
|
69
|
+
}
|
|
70
|
+
// State
|
|
71
|
+
switch (answers.stateManagement) {
|
|
72
|
+
case 'redux':
|
|
73
|
+
dependencies['@reduxjs/toolkit'] = '^2.6.1';
|
|
74
|
+
dependencies['react-redux'] = '^9.2.0';
|
|
75
|
+
break;
|
|
76
|
+
case 'zustand':
|
|
77
|
+
dependencies['zustand'] = '^5.0.3';
|
|
78
|
+
break;
|
|
79
|
+
case 'jotai':
|
|
80
|
+
dependencies['jotai'] = '^2.12.2';
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
// Server state
|
|
84
|
+
switch (answers.serverState) {
|
|
85
|
+
case 'tanstack-query':
|
|
86
|
+
dependencies['@tanstack/react-query'] = '^5.68.0';
|
|
87
|
+
break;
|
|
88
|
+
case 'swr':
|
|
89
|
+
dependencies['swr'] = '^2.3.3';
|
|
90
|
+
break;
|
|
91
|
+
case 'rtk-query':
|
|
92
|
+
// RTK Query is only offered when Redux Toolkit is selected.
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
// Forms
|
|
96
|
+
switch (answers.forms) {
|
|
97
|
+
case 'react-hook-form':
|
|
98
|
+
dependencies['react-hook-form'] = '^7.54.2';
|
|
99
|
+
if (answers.validation === 'zod') {
|
|
100
|
+
dependencies['@hookform/resolvers'] = '^4.1.3';
|
|
101
|
+
}
|
|
102
|
+
break;
|
|
103
|
+
case 'formik':
|
|
104
|
+
dependencies['formik'] = '^2.4.6';
|
|
105
|
+
break;
|
|
106
|
+
case 'tanstack-form':
|
|
107
|
+
dependencies['@tanstack/react-form'] = '^1.1.0';
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
// Validation
|
|
111
|
+
switch (answers.validation) {
|
|
112
|
+
case 'zod':
|
|
113
|
+
dependencies['zod'] = '^3.24.2';
|
|
114
|
+
break;
|
|
115
|
+
case 'yup':
|
|
116
|
+
dependencies['yup'] = '^1.6.1';
|
|
117
|
+
break;
|
|
118
|
+
case 'valibot':
|
|
119
|
+
dependencies['valibot'] = '^1.0.0';
|
|
120
|
+
break;
|
|
121
|
+
case 'joi':
|
|
122
|
+
dependencies['joi'] = '^17.13.3';
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
// Styling
|
|
126
|
+
switch (answers.styling) {
|
|
127
|
+
case 'tailwind':
|
|
128
|
+
devDependencies['tailwindcss'] = '^3.4.17';
|
|
129
|
+
devDependencies['postcss'] = '^8.5.3';
|
|
130
|
+
devDependencies['autoprefixer'] = '^10.4.21';
|
|
131
|
+
break;
|
|
132
|
+
case 'styled-components':
|
|
133
|
+
dependencies['styled-components'] = '^6.1.15';
|
|
134
|
+
if (isTs) {
|
|
135
|
+
devDependencies['@types/styled-components'] = '^5.1.34';
|
|
136
|
+
}
|
|
137
|
+
break;
|
|
138
|
+
case 'sass':
|
|
139
|
+
devDependencies['sass'] = '^1.85.1';
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
// UI libraries
|
|
143
|
+
switch (answers.uiLibrary) {
|
|
144
|
+
case 'mui':
|
|
145
|
+
dependencies['@mui/material'] = '^6.4.7';
|
|
146
|
+
dependencies['@emotion/react'] = '^11.14.0';
|
|
147
|
+
dependencies['@emotion/styled'] = '^11.14.0';
|
|
148
|
+
dependencies['@mui/icons-material'] = '^6.4.7';
|
|
149
|
+
break;
|
|
150
|
+
case 'antd':
|
|
151
|
+
dependencies['antd'] = '^5.24.3';
|
|
152
|
+
break;
|
|
153
|
+
case 'chakra':
|
|
154
|
+
dependencies['@chakra-ui/react'] = '^3.13.0';
|
|
155
|
+
dependencies['@emotion/react'] = '^11.14.0';
|
|
156
|
+
dependencies['@emotion/styled'] = '^11.14.0';
|
|
157
|
+
dependencies['framer-motion'] = '^12.5.0';
|
|
158
|
+
break;
|
|
159
|
+
case 'shadcn':
|
|
160
|
+
dependencies['class-variance-authority'] = '^0.7.1';
|
|
161
|
+
dependencies['clsx'] = '^2.1.1';
|
|
162
|
+
dependencies['tailwind-merge'] = '^3.0.2';
|
|
163
|
+
dependencies['lucide-react'] = '^0.482.0';
|
|
164
|
+
if (answers.styling !== 'tailwind') {
|
|
165
|
+
devDependencies['tailwindcss'] = '^3.4.17';
|
|
166
|
+
devDependencies['postcss'] = '^8.5.3';
|
|
167
|
+
devDependencies['autoprefixer'] = '^10.4.21';
|
|
168
|
+
}
|
|
169
|
+
break;
|
|
170
|
+
case 'headless-ui':
|
|
171
|
+
dependencies['@headlessui/react'] = '^2.2.0';
|
|
172
|
+
dependencies['@heroicons/react'] = '^2.2.0';
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
// Unit testing
|
|
176
|
+
switch (answers.unitTesting) {
|
|
177
|
+
case 'vitest':
|
|
178
|
+
devDependencies['vitest'] = '^3.0.8';
|
|
179
|
+
devDependencies['@testing-library/react'] = '^16.2.0';
|
|
180
|
+
devDependencies['@testing-library/jest-dom'] = '^6.6.3';
|
|
181
|
+
devDependencies['@testing-library/user-event'] = '^14.6.1';
|
|
182
|
+
devDependencies['jsdom'] = '^26.0.0';
|
|
183
|
+
break;
|
|
184
|
+
case 'jest':
|
|
185
|
+
devDependencies['jest'] = '^29.7.0';
|
|
186
|
+
devDependencies['jest-environment-jsdom'] = '^29.7.0';
|
|
187
|
+
devDependencies['@testing-library/react'] = '^16.2.0';
|
|
188
|
+
devDependencies['@testing-library/jest-dom'] = '^6.6.3';
|
|
189
|
+
devDependencies['@testing-library/user-event'] = '^14.6.1';
|
|
190
|
+
if (isTs) {
|
|
191
|
+
devDependencies['ts-jest'] = '^29.2.6';
|
|
192
|
+
devDependencies['@types/jest'] = '^29.5.14';
|
|
193
|
+
}
|
|
194
|
+
break;
|
|
195
|
+
case 'rtl':
|
|
196
|
+
devDependencies['@testing-library/react'] = '^16.2.0';
|
|
197
|
+
devDependencies['@testing-library/jest-dom'] = '^6.6.3';
|
|
198
|
+
devDependencies['@testing-library/user-event'] = '^14.6.1';
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
// E2E
|
|
202
|
+
switch (answers.e2eTesting) {
|
|
203
|
+
case 'playwright':
|
|
204
|
+
devDependencies['@playwright/test'] = '^1.51.0';
|
|
205
|
+
break;
|
|
206
|
+
case 'cypress':
|
|
207
|
+
devDependencies['cypress'] = '^14.2.0';
|
|
208
|
+
break;
|
|
209
|
+
}
|
|
210
|
+
// Visual
|
|
211
|
+
switch (answers.visualTesting) {
|
|
212
|
+
case 'storybook':
|
|
213
|
+
devDependencies['storybook'] = '^8.6.4';
|
|
214
|
+
devDependencies['@storybook/react'] = '^8.6.4';
|
|
215
|
+
if (answers.buildTool === 'vite' || answers.buildTool === 'esbuild') {
|
|
216
|
+
devDependencies['@storybook/react-vite'] = '^8.6.4';
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
devDependencies['@storybook/react-webpack5'] = '^8.6.4';
|
|
220
|
+
}
|
|
221
|
+
break;
|
|
222
|
+
case 'chromatic':
|
|
223
|
+
devDependencies['chromatic'] = '^11.27.0';
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
// Linting
|
|
227
|
+
if (answers.linting === 'eslint') {
|
|
228
|
+
devDependencies['eslint'] = '^9.22.0';
|
|
229
|
+
devDependencies['@eslint/js'] = '^9.22.0';
|
|
230
|
+
devDependencies['globals'] = '^16.0.0';
|
|
231
|
+
devDependencies['eslint-plugin-react'] = '^7.37.4';
|
|
232
|
+
devDependencies['eslint-plugin-react-hooks'] = '^5.2.0';
|
|
233
|
+
if (isTs) {
|
|
234
|
+
devDependencies['typescript-eslint'] = '^8.26.1';
|
|
235
|
+
}
|
|
236
|
+
if (answers.formatting === 'prettier') {
|
|
237
|
+
devDependencies['eslint-config-prettier'] = '^10.1.1';
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
devDependencies['@biomejs/biome'] = '^1.9.4';
|
|
242
|
+
}
|
|
243
|
+
// Formatting
|
|
244
|
+
if (answers.formatting === 'prettier') {
|
|
245
|
+
devDependencies['prettier'] = '^3.5.3';
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
devDependencies['stylelint'] = '^16.16.0';
|
|
249
|
+
devDependencies['stylelint-config-standard'] = '^37.0.0';
|
|
250
|
+
}
|
|
251
|
+
// API
|
|
252
|
+
if (answers.apiLayer === 'axios') {
|
|
253
|
+
dependencies['axios'] = '^1.8.3';
|
|
254
|
+
}
|
|
255
|
+
// Error tracking
|
|
256
|
+
switch (answers.errorTracking) {
|
|
257
|
+
case 'sentry':
|
|
258
|
+
dependencies['@sentry/react'] = '^9.5.0';
|
|
259
|
+
break;
|
|
260
|
+
case 'bugsnag':
|
|
261
|
+
dependencies['@bugsnag/js'] = '^8.2.0';
|
|
262
|
+
dependencies['@bugsnag/plugin-react'] = '^8.2.0';
|
|
263
|
+
break;
|
|
264
|
+
case 'logrocket':
|
|
265
|
+
dependencies['logrocket'] = '^9.0.2';
|
|
266
|
+
break;
|
|
267
|
+
case 'datadog':
|
|
268
|
+
dependencies['@datadog/browser-rum'] = '^6.4.0';
|
|
269
|
+
break;
|
|
270
|
+
}
|
|
271
|
+
// Git hooks — always included (Husky + lint-staged + commitlint)
|
|
272
|
+
devDependencies['husky'] = '^9.1.7';
|
|
273
|
+
devDependencies['lint-staged'] = '^15.5.0';
|
|
274
|
+
devDependencies['@commitlint/cli'] = '^19.8.0';
|
|
275
|
+
devDependencies['@commitlint/config-conventional'] = '^19.8.0';
|
|
276
|
+
return { dependencies, devDependencies };
|
|
277
|
+
}
|
|
278
|
+
export function buildScripts(answers) {
|
|
279
|
+
const scripts = {};
|
|
280
|
+
const isTs = answers.language === 'typescript';
|
|
281
|
+
const entry = isTs ? 'src/main.tsx' : 'src/main.jsx';
|
|
282
|
+
switch (answers.buildTool) {
|
|
283
|
+
case 'vite':
|
|
284
|
+
scripts.dev = 'vite';
|
|
285
|
+
scripts.build = 'vite build';
|
|
286
|
+
scripts.preview = 'vite preview';
|
|
287
|
+
break;
|
|
288
|
+
case 'webpack':
|
|
289
|
+
scripts.dev = 'webpack serve --mode development';
|
|
290
|
+
scripts.build = 'webpack --mode production';
|
|
291
|
+
break;
|
|
292
|
+
case 'rspack':
|
|
293
|
+
scripts.dev = 'rspack serve';
|
|
294
|
+
scripts.build = 'rspack build';
|
|
295
|
+
break;
|
|
296
|
+
case 'parcel':
|
|
297
|
+
scripts.dev = 'parcel index.html';
|
|
298
|
+
scripts.build = 'parcel build index.html';
|
|
299
|
+
break;
|
|
300
|
+
case 'esbuild':
|
|
301
|
+
scripts.dev = `node scripts/esbuild.dev.mjs`;
|
|
302
|
+
scripts.build = `node scripts/esbuild.build.mjs`;
|
|
303
|
+
break;
|
|
304
|
+
case 'rollup':
|
|
305
|
+
scripts.dev = 'rollup -c -w';
|
|
306
|
+
scripts.build = 'rollup -c';
|
|
307
|
+
break;
|
|
308
|
+
}
|
|
309
|
+
if (answers.linting === 'eslint') {
|
|
310
|
+
scripts.lint = isTs
|
|
311
|
+
? 'eslint src --ext .ts,.tsx'
|
|
312
|
+
: 'eslint src --ext .js,.jsx';
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
scripts.lint = 'biome check .';
|
|
316
|
+
scripts['lint:fix'] = 'biome check --write .';
|
|
317
|
+
}
|
|
318
|
+
if (answers.formatting === 'prettier') {
|
|
319
|
+
scripts.format = 'prettier --write .';
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
scripts.format = 'stylelint "**/*.{css,scss}" --fix';
|
|
323
|
+
}
|
|
324
|
+
switch (answers.unitTesting) {
|
|
325
|
+
case 'vitest':
|
|
326
|
+
scripts.test = 'vitest run';
|
|
327
|
+
scripts['test:watch'] = 'vitest';
|
|
328
|
+
break;
|
|
329
|
+
case 'jest':
|
|
330
|
+
scripts.test = 'jest';
|
|
331
|
+
scripts['test:watch'] = 'jest --watch';
|
|
332
|
+
break;
|
|
333
|
+
case 'rtl':
|
|
334
|
+
scripts.test = 'echo "Configure your test runner for RTL"';
|
|
335
|
+
break;
|
|
336
|
+
}
|
|
337
|
+
if (answers.e2eTesting === 'playwright') {
|
|
338
|
+
scripts['test:e2e'] = 'playwright test';
|
|
339
|
+
}
|
|
340
|
+
else if (answers.e2eTesting === 'cypress') {
|
|
341
|
+
scripts['test:e2e'] = 'cypress run';
|
|
342
|
+
scripts['cypress:open'] = 'cypress open';
|
|
343
|
+
}
|
|
344
|
+
if (answers.visualTesting === 'storybook') {
|
|
345
|
+
scripts.storybook = 'storybook dev -p 6006';
|
|
346
|
+
scripts['build-storybook'] = 'storybook build';
|
|
347
|
+
}
|
|
348
|
+
else if (answers.visualTesting === 'chromatic') {
|
|
349
|
+
scripts.chromatic = 'chromatic --exit-zero-on-changes';
|
|
350
|
+
}
|
|
351
|
+
scripts.prepare = 'husky';
|
|
352
|
+
// silence unused
|
|
353
|
+
void entry;
|
|
354
|
+
return scripts;
|
|
355
|
+
}
|
|
356
|
+
//# sourceMappingURL=dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/generator/dependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ProjectAnswers } from '../types.js';
|
|
2
|
+
export declare function getStackLabels(answers: ProjectAnswers): Record<string, string>;
|
|
3
|
+
export declare function generateProject(answers: ProjectAnswers): Promise<void>;
|
|
4
|
+
export declare function printSuccess(answers: ProjectAnswers): void;
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,aAAa,CAAC;AAoInE,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuB9E;AAwGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAwI5E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAoB1D"}
|