@dewtech/dare-cli 2.5.0 → 2.6.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
CHANGED
|
@@ -7,6 +7,51 @@ A structured methodology for AI-assisted software development with mandatory hum
|
|
|
7
7
|
[](https://www.npmjs.com/package/@dewtech/dare-cli)
|
|
8
8
|
[](https://github.com/dewtech-technologies/dare-method/blob/main/LICENSE)
|
|
9
9
|
|
|
10
|
+
## Prerequisites
|
|
11
|
+
|
|
12
|
+
### Required for the CLI itself
|
|
13
|
+
|
|
14
|
+
| Tool | Why | Install |
|
|
15
|
+
|------|-----|---------|
|
|
16
|
+
| **Node.js 18+** | runs `dare`, `dare-mcp-server` and the bundled GraphRAG engine | https://nodejs.org/ |
|
|
17
|
+
|
|
18
|
+
### Required to scaffold the chosen stack
|
|
19
|
+
|
|
20
|
+
`dare init` runs the **official scaffold** of the stack you pick (e.g.
|
|
21
|
+
`composer create-project laravel/laravel`, `npm create vite@latest`,
|
|
22
|
+
`go mod init`). It tries the native toolchain first; if it isn't on PATH,
|
|
23
|
+
it falls back to running the equivalent **Docker image** automatically.
|
|
24
|
+
|
|
25
|
+
Pick **one** of the two paths per stack:
|
|
26
|
+
|
|
27
|
+
| Stack | Native toolchain | Docker fallback (used if native missing) |
|
|
28
|
+
|-------|------------------|------------------------------------------|
|
|
29
|
+
| `php-laravel` | PHP 8.2+ · Composer 2+ — https://getcomposer.org/ | `composer:latest` |
|
|
30
|
+
| `node-nestjs` | Node 18+ (bundles `npx`) | `node:20-alpine` |
|
|
31
|
+
| `python-fastapi` | Python 3.11+ — https://www.python.org/downloads/ | `python:3.12-slim` |
|
|
32
|
+
| `rust-axum` | Rust 1.83+ (rustup) — https://www.rust-lang.org/tools/install | `rust:1.83` |
|
|
33
|
+
| `go-gin` | Go 1.22+ — https://go.dev/dl/ | `golang:1.22` |
|
|
34
|
+
| `react`, `vue` | Node 18+ (bundles `npm`) | `node:20-alpine` |
|
|
35
|
+
| `mcp-server-node-ts` | Node 18+ | `node:20-alpine` |
|
|
36
|
+
| `mcp-server-python` | Python 3.11+ | `python:3.12-slim` |
|
|
37
|
+
|
|
38
|
+
> **TL;DR:** if you have **Docker Desktop** installed, you don't strictly need
|
|
39
|
+
> any other toolchain — `dare init` will pull the right image on demand.
|
|
40
|
+
> Native toolchains are faster and don't depend on Docker pulling images.
|
|
41
|
+
|
|
42
|
+
If neither the native CLI **nor** Docker is available, `dare init` fails
|
|
43
|
+
fast with a clear error message — it never falls back to a fake template.
|
|
44
|
+
|
|
45
|
+
### Required for the Ralph Loop (per project)
|
|
46
|
+
|
|
47
|
+
Once the project is scaffolded, every `dare execute --complete` runs the
|
|
48
|
+
stack's gates: `build → test → lint`. The same toolchain (native or Docker)
|
|
49
|
+
that scaffolded the project is needed to run those gates. Plan accordingly:
|
|
50
|
+
if you chose `php-laravel` and only have Docker, `dare execute --complete`
|
|
51
|
+
needs to invoke `php artisan test` somehow — typically by running it inside
|
|
52
|
+
your `docker-compose` app service (this is the kind of thing the
|
|
53
|
+
`task-001 = Containerize app` task sets up).
|
|
54
|
+
|
|
10
55
|
## Installation
|
|
11
56
|
|
|
12
57
|
```bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-bootstrap.d.ts","sourceRoot":"","sources":["../../src/utils/stack-bootstrap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stack-bootstrap.d.ts","sourceRoot":"","sources":["../../src/utils/stack-bootstrap.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,WAAW,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAenF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CASrF;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3E"}
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
* frontend / MCP stack. Called by `dare init` BEFORE the DARE artifacts are
|
|
4
4
|
* copied on top.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* on PATH,
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* Toolchain resolution order:
|
|
7
|
+
* 1. Native CLI on PATH (composer, npm, cargo, python, go) — fastest path
|
|
8
|
+
* 2. Docker fallback using the official image — works when the user has
|
|
9
|
+
* only Docker installed (no PHP / Go / Rust / Python toolchain)
|
|
10
|
+
* 3. Hard error with both install hints — never falls back to a fake
|
|
11
|
+
* template, since fake templates were the v1.x bug we're fixing
|
|
10
12
|
*/
|
|
11
13
|
import { spawn } from 'node:child_process';
|
|
12
14
|
import path from 'node:path';
|
|
@@ -49,32 +51,117 @@ export async function bootstrapMcp(opts) {
|
|
|
49
51
|
throw new Error(`Unknown MCP language: ${opts.language}`);
|
|
50
52
|
}
|
|
51
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Resolves a toolchain (native vs Docker) and runs commands through it.
|
|
56
|
+
* Created via the static factories below — one per language ecosystem.
|
|
57
|
+
*/
|
|
58
|
+
class StackTool {
|
|
59
|
+
constructor(nativeCmd, mode, dir,
|
|
60
|
+
/** Docker image to use when `mode === 'docker'`. */
|
|
61
|
+
image,
|
|
62
|
+
/**
|
|
63
|
+
* Some Docker images (e.g. `composer:latest`) declare the tool as their
|
|
64
|
+
* ENTRYPOINT, so we only pass arguments. Others (e.g. `node:20`) are
|
|
65
|
+
* shell-based — we prepend the tool name to the args.
|
|
66
|
+
*/
|
|
67
|
+
imageHasEntrypoint) {
|
|
68
|
+
this.nativeCmd = nativeCmd;
|
|
69
|
+
this.mode = mode;
|
|
70
|
+
this.dir = dir;
|
|
71
|
+
this.image = image;
|
|
72
|
+
this.imageHasEntrypoint = imageHasEntrypoint;
|
|
73
|
+
}
|
|
74
|
+
static async resolve(opts) {
|
|
75
|
+
const dir = path.resolve(opts.dir);
|
|
76
|
+
if (await hasCommand(opts.nativeCmd)) {
|
|
77
|
+
return new StackTool(opts.nativeCmd, 'native', dir, null, false);
|
|
78
|
+
}
|
|
79
|
+
if (await hasCommand('docker')) {
|
|
80
|
+
console.log(chalk.yellow(`⚠ ${opts.nativeCmd} not found on PATH — falling back to Docker (${opts.dockerImage}).`));
|
|
81
|
+
return new StackTool(opts.nativeCmd, 'docker', dir, opts.dockerImage, opts.imageHasEntrypoint ?? false);
|
|
82
|
+
}
|
|
83
|
+
throw new Error(`Required tool not found: ${opts.nativeCmd}\n` +
|
|
84
|
+
` ${opts.nativeHint}\n` +
|
|
85
|
+
` …or install Docker (https://www.docker.com/products/docker-desktop/) — DARE will use the\n` +
|
|
86
|
+
` ${opts.dockerImage} image automatically.`);
|
|
87
|
+
}
|
|
88
|
+
get usingDocker() {
|
|
89
|
+
return this.mode === 'docker';
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Run the tool with the given arguments. Native mode invokes the CLI
|
|
93
|
+
* directly; Docker mode runs `docker run --rm -v <dir>:/app -w /app`.
|
|
94
|
+
*/
|
|
95
|
+
async run(args) {
|
|
96
|
+
if (this.mode === 'native') {
|
|
97
|
+
await runCmd(this.nativeCmd, args, this.dir);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const dockerArgs = this.buildDockerArgs(args);
|
|
101
|
+
await runCmd('docker', dockerArgs, this.dir);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* For tools that ship in the official image but with a different entrypoint
|
|
105
|
+
* (e.g. running `pip` from inside `python:3.12-slim`).
|
|
106
|
+
*/
|
|
107
|
+
async runOther(otherCmd, args) {
|
|
108
|
+
if (this.mode === 'native') {
|
|
109
|
+
await runCmd(otherCmd, args, this.dir);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const dockerArgs = [
|
|
113
|
+
'run',
|
|
114
|
+
'--rm',
|
|
115
|
+
'-v',
|
|
116
|
+
`${dockerizePath(this.dir)}:/app`,
|
|
117
|
+
'-w',
|
|
118
|
+
'/app',
|
|
119
|
+
...currentUserFlags(),
|
|
120
|
+
this.image,
|
|
121
|
+
otherCmd,
|
|
122
|
+
...args,
|
|
123
|
+
];
|
|
124
|
+
await runCmd('docker', dockerArgs, this.dir);
|
|
125
|
+
}
|
|
126
|
+
buildDockerArgs(args) {
|
|
127
|
+
const base = [
|
|
128
|
+
'run',
|
|
129
|
+
'--rm',
|
|
130
|
+
'-v',
|
|
131
|
+
`${dockerizePath(this.dir)}:/app`,
|
|
132
|
+
'-w',
|
|
133
|
+
'/app',
|
|
134
|
+
...currentUserFlags(),
|
|
135
|
+
this.image,
|
|
136
|
+
];
|
|
137
|
+
return this.imageHasEntrypoint ? [...base, ...args] : [...base, this.nativeCmd, ...args];
|
|
138
|
+
}
|
|
139
|
+
}
|
|
52
140
|
// ─── Per-stack scaffolds ────────────────────────────────────────────────────
|
|
53
141
|
async function bootstrapPhpLaravel(dir, projectName) {
|
|
54
|
-
await ensureCommand('composer', 'Install Composer: https://getcomposer.org/download/');
|
|
55
142
|
banner(`Bootstrapping Laravel 11 in ${dir}`);
|
|
56
|
-
await
|
|
57
|
-
'
|
|
58
|
-
'
|
|
59
|
-
'
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
await
|
|
64
|
-
await
|
|
65
|
-
|
|
66
|
-
'--dev',
|
|
67
|
-
'laravel/pint',
|
|
68
|
-
'larastan/larastan',
|
|
69
|
-
'--no-interaction',
|
|
70
|
-
], dir);
|
|
71
|
-
// Best-effort: rename app to projectName in composer.json
|
|
143
|
+
const composer = await StackTool.resolve({
|
|
144
|
+
nativeCmd: 'composer',
|
|
145
|
+
nativeHint: 'Install Composer: https://getcomposer.org/download/',
|
|
146
|
+
dockerImage: 'composer:latest',
|
|
147
|
+
imageHasEntrypoint: true,
|
|
148
|
+
dir,
|
|
149
|
+
});
|
|
150
|
+
await composer.run(['create-project', 'laravel/laravel:^11', '.', '--no-interaction', '--prefer-dist']);
|
|
151
|
+
await composer.run(['require', 'laravel/sanctum', 'tymon/jwt-auth', '--no-interaction']);
|
|
152
|
+
await composer.run(['require', '--dev', 'laravel/pint', 'larastan/larastan', '--no-interaction']);
|
|
72
153
|
await tryRenameComposerProject(dir, projectName);
|
|
73
154
|
}
|
|
74
155
|
async function bootstrapNodeNestjs(dir, projectName) {
|
|
75
|
-
await ensureCommand('npx', 'Install Node.js (includes npx): https://nodejs.org/');
|
|
76
156
|
banner(`Bootstrapping NestJS in ${dir}`);
|
|
77
|
-
await
|
|
157
|
+
const npx = await StackTool.resolve({
|
|
158
|
+
nativeCmd: 'npx',
|
|
159
|
+
nativeHint: 'Install Node.js (includes npx): https://nodejs.org/',
|
|
160
|
+
dockerImage: 'node:20-alpine',
|
|
161
|
+
imageHasEntrypoint: false,
|
|
162
|
+
dir,
|
|
163
|
+
});
|
|
164
|
+
await npx.run([
|
|
78
165
|
'-y',
|
|
79
166
|
'@nestjs/cli@latest',
|
|
80
167
|
'new',
|
|
@@ -85,17 +172,21 @@ async function bootstrapNodeNestjs(dir, projectName) {
|
|
|
85
172
|
'npm',
|
|
86
173
|
'--directory',
|
|
87
174
|
'.',
|
|
88
|
-
]
|
|
175
|
+
]);
|
|
89
176
|
await tryRenameNpmProject(dir, projectName);
|
|
90
177
|
}
|
|
91
178
|
async function bootstrapPythonFastapi(dir) {
|
|
92
|
-
await ensureCommand('python', 'Install Python 3.11+ from https://www.python.org/downloads/');
|
|
93
179
|
banner(`Bootstrapping FastAPI in ${dir}`);
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
180
|
+
const python = await StackTool.resolve({
|
|
181
|
+
nativeCmd: 'python',
|
|
182
|
+
nativeHint: 'Install Python 3.11+: https://www.python.org/downloads/',
|
|
183
|
+
dockerImage: 'python:3.12-slim',
|
|
184
|
+
imageHasEntrypoint: false,
|
|
185
|
+
dir,
|
|
186
|
+
});
|
|
187
|
+
// Even in Docker mode, we keep .venv in the project folder so it survives
|
|
188
|
+
// across runs and the agent can read it from the host.
|
|
189
|
+
await python.run(['-m', 'venv', '.venv']);
|
|
99
190
|
const reqPath = path.join(dir, 'requirements.txt');
|
|
100
191
|
if (!(await fs.pathExists(reqPath))) {
|
|
101
192
|
await fs.writeFile(reqPath, [
|
|
@@ -113,16 +204,24 @@ async function bootstrapPythonFastapi(dir) {
|
|
|
113
204
|
'',
|
|
114
205
|
].join('\n'));
|
|
115
206
|
}
|
|
116
|
-
// pip
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
207
|
+
// Install via the venv's pip — works the same in native or Docker mode
|
|
208
|
+
// because the venv lives inside `dir` (and thus inside the volume).
|
|
209
|
+
const pipBin = process.platform === 'win32' && !python.usingDocker
|
|
210
|
+
? path.join('.venv', 'Scripts', 'pip.exe')
|
|
211
|
+
: path.join('.venv', 'bin', 'pip');
|
|
212
|
+
await python.runOther(pipBin, ['install', '--upgrade', 'pip']);
|
|
213
|
+
await python.runOther(pipBin, ['install', '-r', 'requirements.txt']);
|
|
120
214
|
}
|
|
121
215
|
async function bootstrapRustAxum(dir, projectName) {
|
|
122
|
-
await ensureCommand('cargo', 'Install Rust toolchain: https://www.rust-lang.org/tools/install');
|
|
123
216
|
banner(`Bootstrapping Rust + Axum in ${dir}`);
|
|
124
|
-
|
|
125
|
-
|
|
217
|
+
const cargo = await StackTool.resolve({
|
|
218
|
+
nativeCmd: 'cargo',
|
|
219
|
+
nativeHint: 'Install Rust toolchain: https://www.rust-lang.org/tools/install',
|
|
220
|
+
dockerImage: 'rust:1.83',
|
|
221
|
+
imageHasEntrypoint: false,
|
|
222
|
+
dir,
|
|
223
|
+
});
|
|
224
|
+
await cargo.run(['init', '--name', sanitizeCrateName(projectName)]);
|
|
126
225
|
const cargoToml = path.join(dir, 'Cargo.toml');
|
|
127
226
|
await fs.writeFile(cargoToml, [
|
|
128
227
|
`[package]`,
|
|
@@ -148,22 +247,21 @@ async function bootstrapRustAxum(dir, projectName) {
|
|
|
148
247
|
`tokio = { version = "1.40", features = ["macros", "rt-multi-thread"] }`,
|
|
149
248
|
``,
|
|
150
249
|
].join('\n'));
|
|
151
|
-
|
|
152
|
-
await runCmd('cargo', ['fetch'], dir);
|
|
250
|
+
await cargo.run(['fetch']);
|
|
153
251
|
}
|
|
154
252
|
async function bootstrapGoGin(dir, projectName) {
|
|
155
|
-
await ensureCommand('go', 'Install Go 1.22+: https://go.dev/dl/');
|
|
156
253
|
banner(`Bootstrapping Go + Gin in ${dir}`);
|
|
254
|
+
const go = await StackTool.resolve({
|
|
255
|
+
nativeCmd: 'go',
|
|
256
|
+
nativeHint: 'Install Go 1.22+: https://go.dev/dl/',
|
|
257
|
+
dockerImage: 'golang:1.22',
|
|
258
|
+
imageHasEntrypoint: false,
|
|
259
|
+
dir,
|
|
260
|
+
});
|
|
157
261
|
const moduleName = sanitizeGoModule(projectName);
|
|
158
|
-
|
|
159
|
-
await
|
|
160
|
-
|
|
161
|
-
await runCmd('go', ['get', 'github.com/gin-gonic/gin@latest'], dir);
|
|
162
|
-
await runCmd('go', ['get', 'github.com/joho/godotenv@latest'], dir);
|
|
163
|
-
// 3) Lay down a working starter so go build / go test / go vet have
|
|
164
|
-
// something to compile against. Without this, `go vet ./...` would
|
|
165
|
-
// succeed trivially with zero packages and the Ralph Loop would be
|
|
166
|
-
// a no-op until the agent writes code.
|
|
262
|
+
await go.run(['mod', 'init', moduleName]);
|
|
263
|
+
await go.run(['get', 'github.com/gin-gonic/gin@latest']);
|
|
264
|
+
await go.run(['get', 'github.com/joho/godotenv@latest']);
|
|
167
265
|
await fs.ensureDir(path.join(dir, 'cmd', 'api'));
|
|
168
266
|
await fs.ensureDir(path.join(dir, 'internal', 'handlers'));
|
|
169
267
|
await fs.ensureDir(path.join(dir, 'internal', 'middleware'));
|
|
@@ -235,45 +333,54 @@ func TestHealth(t *testing.T) {
|
|
|
235
333
|
\t}
|
|
236
334
|
}
|
|
237
335
|
`);
|
|
238
|
-
|
|
239
|
-
await runCmd('go', ['mod', 'tidy'], dir);
|
|
336
|
+
await go.run(['mod', 'tidy']);
|
|
240
337
|
}
|
|
241
338
|
async function bootstrapVite(dir, template) {
|
|
242
|
-
await ensureCommand('npm', 'Install Node.js: https://nodejs.org/');
|
|
243
339
|
banner(`Bootstrapping Vite (${template}) in ${dir}`);
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
340
|
+
const npm = await StackTool.resolve({
|
|
341
|
+
nativeCmd: 'npm',
|
|
342
|
+
nativeHint: 'Install Node.js: https://nodejs.org/',
|
|
343
|
+
dockerImage: 'node:20-alpine',
|
|
344
|
+
imageHasEntrypoint: false,
|
|
345
|
+
dir,
|
|
346
|
+
});
|
|
347
|
+
await npm.run(['create', 'vite@latest', '.', '--', '--template', template]);
|
|
348
|
+
await npm.run(['install']);
|
|
249
349
|
}
|
|
250
350
|
async function bootstrapMcpNode(dir, projectName) {
|
|
251
|
-
await ensureCommand('npm', 'Install Node.js: https://nodejs.org/');
|
|
252
351
|
banner(`Bootstrapping MCP server (TypeScript) in ${dir}`);
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
352
|
+
const npm = await StackTool.resolve({
|
|
353
|
+
nativeCmd: 'npm',
|
|
354
|
+
nativeHint: 'Install Node.js: https://nodejs.org/',
|
|
355
|
+
dockerImage: 'node:20-alpine',
|
|
356
|
+
imageHasEntrypoint: false,
|
|
357
|
+
dir,
|
|
358
|
+
});
|
|
359
|
+
await npm.run(['init', '-y']);
|
|
360
|
+
await npm.run(['install', '@modelcontextprotocol/sdk']);
|
|
361
|
+
await npm.run(['install', '--save-dev', 'typescript', '@types/node', 'tsx', 'vitest']);
|
|
256
362
|
await tryRenameNpmProject(dir, projectName);
|
|
257
363
|
}
|
|
258
364
|
async function bootstrapMcpPython(dir) {
|
|
259
|
-
await ensureCommand('python', 'Install Python 3.11+: https://www.python.org/downloads/');
|
|
260
365
|
banner(`Bootstrapping MCP server (Python) in ${dir}`);
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
366
|
+
const python = await StackTool.resolve({
|
|
367
|
+
nativeCmd: 'python',
|
|
368
|
+
nativeHint: 'Install Python 3.11+: https://www.python.org/downloads/',
|
|
369
|
+
dockerImage: 'python:3.12-slim',
|
|
370
|
+
imageHasEntrypoint: false,
|
|
371
|
+
dir,
|
|
372
|
+
});
|
|
373
|
+
await python.run(['-m', 'venv', '.venv']);
|
|
374
|
+
const pipBin = process.platform === 'win32' && !python.usingDocker
|
|
375
|
+
? path.join('.venv', 'Scripts', 'pip.exe')
|
|
376
|
+
: path.join('.venv', 'bin', 'pip');
|
|
377
|
+
await python.runOther(pipBin, ['install', '--upgrade', 'pip']);
|
|
378
|
+
await python.runOther(pipBin, ['install', 'mcp[cli]', 'pytest', 'ruff']);
|
|
265
379
|
}
|
|
266
380
|
// ─── Helpers ────────────────────────────────────────────────────────────────
|
|
267
381
|
function banner(msg) {
|
|
268
382
|
console.log(chalk.blue.bold(`\n📦 ${msg}\n`));
|
|
269
383
|
}
|
|
270
|
-
async function ensureCommand(cmd, hint) {
|
|
271
|
-
const exists = await hasCommand(cmd);
|
|
272
|
-
if (!exists) {
|
|
273
|
-
throw new Error(`Required tool not found on PATH: ${cmd}\n ${hint}\n` +
|
|
274
|
-
`dare init requires a working ${cmd} to scaffold the chosen stack.`);
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
384
|
async function hasCommand(cmd) {
|
|
278
385
|
return new Promise((resolve) => {
|
|
279
386
|
const probe = spawn(cmd, ['--version'], { shell: true, stdio: 'ignore' });
|
|
@@ -298,11 +405,38 @@ async function runCmd(cmd, args, cwd) {
|
|
|
298
405
|
});
|
|
299
406
|
});
|
|
300
407
|
}
|
|
408
|
+
/**
|
|
409
|
+
* On Linux/macOS, run the Docker container as the host user so files written
|
|
410
|
+
* to the bind mount don't end up owned by root. On Windows / Docker Desktop
|
|
411
|
+
* this is unnecessary (and `id` doesn't exist), so we skip.
|
|
412
|
+
*/
|
|
413
|
+
function currentUserFlags() {
|
|
414
|
+
if (process.platform === 'win32')
|
|
415
|
+
return [];
|
|
416
|
+
// Best-effort: read uid/gid from process. If unavailable, fall back to the
|
|
417
|
+
// image's default user.
|
|
418
|
+
const uid = process.getuid?.();
|
|
419
|
+
const gid = process.getgid?.();
|
|
420
|
+
if (typeof uid === 'number' && typeof gid === 'number') {
|
|
421
|
+
return ['--user', `${uid}:${gid}`];
|
|
422
|
+
}
|
|
423
|
+
return [];
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Convert a Windows path (`C:\foo\bar`) to a form Docker Desktop accepts as
|
|
427
|
+
* a bind-mount source. Modern Docker Desktop accepts native Windows paths
|
|
428
|
+
* unmodified, but some configurations require POSIX form.
|
|
429
|
+
*/
|
|
430
|
+
function dockerizePath(p) {
|
|
431
|
+
if (process.platform !== 'win32')
|
|
432
|
+
return p;
|
|
433
|
+
// Normalize backslashes; Docker Desktop accepts forward slashes here.
|
|
434
|
+
return p.replace(/\\/g, '/');
|
|
435
|
+
}
|
|
301
436
|
function sanitizeCrateName(name) {
|
|
302
437
|
return name.toLowerCase().replace(/[^a-z0-9_]+/g, '_').replace(/^_+|_+$/g, '') || 'app';
|
|
303
438
|
}
|
|
304
439
|
function sanitizeGoModule(name) {
|
|
305
|
-
// Go module path: lowercase, hyphens allowed, no spaces or symbols.
|
|
306
440
|
return name.toLowerCase().replace(/[^a-z0-9-]+/g, '-').replace(/^-+|-+$/g, '') || 'app';
|
|
307
441
|
}
|
|
308
442
|
async function tryRenameComposerProject(dir, projectName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-bootstrap.js","sourceRoot":"","sources":["../../src/utils/stack-bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stack-bootstrap.js","sourceRoot":"","sources":["../../src/utils/stack-bootstrap.ts"],"names":[],"mappings":"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"}
|