create-quapp 1.0.24 → 1.1.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/README.md +167 -20
- package/index.js +395 -250
- package/lib/args.js +306 -0
- package/lib/colors.js +41 -0
- package/lib/constants.js +44 -0
- package/lib/git.js +80 -0
- package/lib/logger.js +153 -0
- package/lib/package-manager.js +112 -0
- package/lib/prompts.js +202 -0
- package/lib/templates.js +152 -0
- package/package.json +46 -19
package/README.md
CHANGED
|
@@ -1,20 +1,167 @@
|
|
|
1
|
-
# create-quapp
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
|
|
1
|
+
# create-quapp
|
|
2
|
+
|
|
3
|
+
Scaffold a new Quapp project with your choice of framework.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Interactive mode
|
|
9
|
+
npm create quapp
|
|
10
|
+
|
|
11
|
+
# With project name
|
|
12
|
+
npm create quapp my-app
|
|
13
|
+
|
|
14
|
+
# Full automation (AI-friendly)
|
|
15
|
+
npm create quapp my-app -t react-ts -a "Author Name" -d "My app description" --git --install --yes
|
|
16
|
+
|
|
17
|
+
# Preview without creating (dry run)
|
|
18
|
+
npm create quapp my-app -t react-ts --dry-run
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm create quapp [project-name] [options]
|
|
25
|
+
npx create-quapp [project-name] [options]
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Options
|
|
29
|
+
|
|
30
|
+
| Flag | Short | Description |
|
|
31
|
+
|------|-------|-------------|
|
|
32
|
+
| `--template <name>` | `-t` | Template to use (see below) |
|
|
33
|
+
| `--author <name>` | `-a` | Author name (for package.json) |
|
|
34
|
+
| `--description <text>` | `-d` | Project description |
|
|
35
|
+
| `--force` | `-f` | Overwrite existing directory |
|
|
36
|
+
| `--git` | `-g` | Initialize git repository |
|
|
37
|
+
| `--install` | `-i` | Install dependencies |
|
|
38
|
+
| `--yes` | `-y` | Skip prompts, use defaults |
|
|
39
|
+
| `--dry-run` | | Preview what would be created (no changes) |
|
|
40
|
+
| `--no-git` | | Skip git initialization |
|
|
41
|
+
| `--no-install` | | Skip dependency installation |
|
|
42
|
+
| `--pm <manager>` | | Package manager (npm, yarn, pnpm, bun) |
|
|
43
|
+
| `--json` | | Output as JSON (for AI/automation) |
|
|
44
|
+
| `--no-color` | | Disable colored output |
|
|
45
|
+
| `--verbose` | | Show detailed logs |
|
|
46
|
+
| `--version` | `-v` | Show version |
|
|
47
|
+
| `--help` | `-h` | Show help |
|
|
48
|
+
|
|
49
|
+
## Available Templates
|
|
50
|
+
|
|
51
|
+
### React
|
|
52
|
+
- `react` - React with JavaScript
|
|
53
|
+
- `react-ts` - React with TypeScript
|
|
54
|
+
- `react+swc` - React with JavaScript + SWC
|
|
55
|
+
- `react-ts+swc` - React with TypeScript + SWC
|
|
56
|
+
|
|
57
|
+
### Vue
|
|
58
|
+
- `vue` - Vue with JavaScript
|
|
59
|
+
- `vue-ts` - Vue with TypeScript
|
|
60
|
+
|
|
61
|
+
### Vanilla
|
|
62
|
+
- `vanilla-js` - Vanilla JavaScript
|
|
63
|
+
- `vanilla-ts` - Vanilla TypeScript
|
|
64
|
+
|
|
65
|
+
### Solid
|
|
66
|
+
- `solid-js` - Solid.js with JavaScript
|
|
67
|
+
- `solid-ts` - Solid.js with TypeScript
|
|
68
|
+
|
|
69
|
+
## Examples
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Interactive mode - prompts for all options
|
|
73
|
+
npm create quapp
|
|
74
|
+
|
|
75
|
+
# Create React TypeScript project
|
|
76
|
+
npm create quapp my-app -t react-ts
|
|
77
|
+
|
|
78
|
+
# Create Vue project with git and dependencies
|
|
79
|
+
npm create quapp my-vue-app -t vue --git --install
|
|
80
|
+
|
|
81
|
+
# Full automation for CI/CD or AI
|
|
82
|
+
npm create quapp my-app -t react-ts -g -i -y --json
|
|
83
|
+
|
|
84
|
+
# Use pnpm as package manager
|
|
85
|
+
npx create-quapp my-app -t solid-ts --pm pnpm -y -i
|
|
86
|
+
|
|
87
|
+
# Overwrite existing directory
|
|
88
|
+
npm create quapp existing-project -t react --force
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## AI/Automation Usage
|
|
92
|
+
|
|
93
|
+
For non-interactive environments (CI/CD, AI assistants), use the `--yes` flag with required options:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Minimal automation
|
|
97
|
+
npm create quapp my-app --template react --yes
|
|
98
|
+
|
|
99
|
+
# Full automation with JSON output
|
|
100
|
+
npm create quapp my-app -t react-ts -a "Dev Name" -d "My project" --git --install --yes --json
|
|
101
|
+
|
|
102
|
+
# Dry run to preview (validates without creating)
|
|
103
|
+
npm create quapp my-app -t react-ts --dry-run --json
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### JSON Output
|
|
107
|
+
|
|
108
|
+
Success output:
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"success": true,
|
|
112
|
+
"projectName": "my-app",
|
|
113
|
+
"projectPath": "/path/to/my-app",
|
|
114
|
+
"template": "react-ts",
|
|
115
|
+
"framework": "react",
|
|
116
|
+
"author": "Dev Name",
|
|
117
|
+
"description": "My project",
|
|
118
|
+
"packageManager": "npm",
|
|
119
|
+
"gitInitialized": true,
|
|
120
|
+
"dependenciesInstalled": true,
|
|
121
|
+
"nextSteps": ["cd my-app", "npm run dev"]
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Dry run output:
|
|
126
|
+
```json
|
|
127
|
+
{
|
|
128
|
+
"success": true,
|
|
129
|
+
"dryRun": true,
|
|
130
|
+
"wouldCreate": {
|
|
131
|
+
"projectName": "my-app",
|
|
132
|
+
"projectPath": "/path/to/my-app",
|
|
133
|
+
"template": "react-ts",
|
|
134
|
+
"framework": "react",
|
|
135
|
+
"author": "Dev Name",
|
|
136
|
+
"description": "My project",
|
|
137
|
+
"gitInit": true,
|
|
138
|
+
"installDeps": true
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Error output (includes suggestion for AI to fix):
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"success": false,
|
|
147
|
+
"errorCode": "MISSING_TEMPLATE",
|
|
148
|
+
"error": "Template is required",
|
|
149
|
+
"suggestion": "Add template: --template react-ts"
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Exit Codes
|
|
154
|
+
|
|
155
|
+
| Code | Description |
|
|
156
|
+
|------|-------------|
|
|
157
|
+
| 0 | Success |
|
|
158
|
+
| 1 | General error |
|
|
159
|
+
| 2 | Invalid arguments |
|
|
160
|
+
| 3 | Template not found |
|
|
161
|
+
| 4 | Git error |
|
|
162
|
+
| 5 | Network error |
|
|
163
|
+
| 130 | User cancelled (Ctrl+C) |
|
|
164
|
+
|
|
165
|
+
## License
|
|
166
|
+
|
|
167
|
+
MIT
|