fix: bootstrap DTO class erasure + wizard failure + port prefill + Pi SDK copy (IUV-M01, #436)
- Bug 1 [CRITICAL]: drop `import type` on BootstrapSetupDto in bootstrap.controller.ts so NestJS preserves the class reference for design:paramtypes; ValidationPipe now correctly validates the DTO instead of 400ing on every field. Add e2e integration test (bootstrap.e2e.spec.ts) via @nestjs/testing + supertest that exercises the real DI/Fastify binding path to guard against regressions. Configure vitest to use unplugin-swc with decoratorMetadata:true. - Bug 2: remove `&& headlessRun` guard in wizard.ts so bootstrap failure (completed:false) aborts with process.exit(1) in both interactive and headless modes — no more silent '✔ Wizard complete' after a 400. - Bug 3: add `initialValue` to WizardPrompter.text() interface, ClackPrompter, and HeadlessPrompter; use it in gateway-config.ts promptPort() so 14242 prefills the input buffer and users can press Enter to accept. Apply same pattern to other gateway config prompts (databaseUrl, valkeyUrl, corsOrigin). - Bug 4: add Pi SDK to the 'What is Mosaic?' intro copy in welcome.ts. - Bump @mosaicstack/mosaic 0.0.25 → 0.0.26. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import swc from 'unplugin-swc';
|
||||
import { defineConfig } from 'vitest/config';
|
||||
|
||||
export default defineConfig({
|
||||
@@ -5,4 +6,22 @@ export default defineConfig({
|
||||
globals: true,
|
||||
environment: 'node',
|
||||
},
|
||||
plugins: [
|
||||
swc.vite({
|
||||
jsc: {
|
||||
parser: {
|
||||
syntax: 'typescript',
|
||||
decorators: true,
|
||||
},
|
||||
transform: {
|
||||
decoratorMetadata: true,
|
||||
legacyDecorator: true,
|
||||
},
|
||||
target: 'es2022',
|
||||
},
|
||||
module: {
|
||||
type: 'nodenext',
|
||||
},
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user