helix-lang 11.0.0 ā 12.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/dist/bin/helix.js +125 -38
- package/dist/bin/helix.js.map +1 -1
- package/dist/commands/deploy/platforms/fly.d.ts +1 -0
- package/dist/commands/deploy/platforms/fly.d.ts.map +1 -1
- package/dist/commands/deploy/platforms/fly.js +75 -10
- package/dist/commands/deploy/platforms/fly.js.map +1 -1
- package/dist/commands/deploy/platforms/railway.d.ts +1 -0
- package/dist/commands/deploy/platforms/railway.d.ts.map +1 -1
- package/dist/commands/deploy/platforms/railway.js +26 -16
- package/dist/commands/deploy/platforms/railway.js.map +1 -1
- package/dist/commands/spawn.d.ts +2 -2
- package/dist/commands/spawn.d.ts.map +1 -1
- package/dist/commands/spawn.js +41 -824
- package/dist/commands/spawn.js.map +1 -1
- package/dist/errors/index.d.ts +32 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +97 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/generators/auth.d.ts +19 -0
- package/dist/generators/auth.d.ts.map +1 -0
- package/dist/generators/auth.js +434 -0
- package/dist/generators/auth.js.map +1 -0
- package/dist/parser/ast.d.ts +76 -0
- package/dist/parser/ast.d.ts.map +1 -0
- package/dist/parser/ast.js +16 -0
- package/dist/parser/ast.js.map +1 -0
- package/dist/parser/errors.d.ts +21 -0
- package/dist/parser/errors.d.ts.map +1 -0
- package/dist/parser/errors.js +42 -0
- package/dist/parser/errors.js.map +1 -0
- package/dist/parser/index.d.ts +31 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +76 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/lexer.d.ts +60 -0
- package/dist/parser/lexer.d.ts.map +1 -0
- package/dist/parser/lexer.js +233 -0
- package/dist/parser/lexer.js.map +1 -0
- package/dist/parser/parser.d.ts +46 -0
- package/dist/parser/parser.d.ts.map +1 -0
- package/dist/parser/parser.js +576 -0
- package/dist/parser/parser.js.map +1 -0
- package/dist/parser.d.ts +8 -43
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +13 -129
- package/dist/parser.js.map +1 -1
- package/dist/pipeline/blueprint.d.ts +10 -0
- package/dist/pipeline/blueprint.d.ts.map +1 -0
- package/dist/pipeline/blueprint.js +150 -0
- package/dist/pipeline/blueprint.js.map +1 -0
- package/dist/pipeline/codegen.d.ts +9 -0
- package/dist/pipeline/codegen.d.ts.map +1 -0
- package/dist/pipeline/codegen.js +160 -0
- package/dist/pipeline/codegen.js.map +1 -0
- package/dist/pipeline/database.d.ts +10 -0
- package/dist/pipeline/database.d.ts.map +1 -0
- package/dist/pipeline/database.js +139 -0
- package/dist/pipeline/database.js.map +1 -0
- package/dist/pipeline/homepage.d.ts +7 -0
- package/dist/pipeline/homepage.d.ts.map +1 -0
- package/dist/pipeline/homepage.js +184 -0
- package/dist/pipeline/homepage.js.map +1 -0
- package/dist/pipeline/index.d.ts +11 -0
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline/index.js +19 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/scaffold.d.ts +6 -0
- package/dist/pipeline/scaffold.d.ts.map +1 -0
- package/dist/pipeline/scaffold.js +253 -0
- package/dist/pipeline/scaffold.js.map +1 -0
- package/dist/pipeline/scope.d.ts +10 -0
- package/dist/pipeline/scope.d.ts.map +1 -0
- package/dist/pipeline/scope.js +99 -0
- package/dist/pipeline/scope.js.map +1 -0
- package/dist/pipeline/types.d.ts +20 -0
- package/dist/pipeline/types.d.ts.map +1 -0
- package/dist/pipeline/types.js +8 -0
- package/dist/pipeline/types.js.map +1 -0
- package/dist/pipeline/verify.d.ts +9 -0
- package/dist/pipeline/verify.d.ts.map +1 -0
- package/dist/pipeline/verify.js +70 -0
- package/dist/pipeline/verify.js.map +1 -0
- package/dist/themes/index.d.ts.map +1 -1
- package/dist/themes/index.js +108 -0
- package/dist/themes/index.js.map +1 -1
- package/dist/utils/constitutional-validator.d.ts.map +1 -1
- package/dist/utils/constitutional-validator.js +2 -1
- package/dist/utils/constitutional-validator.js.map +1 -1
- package/package.json +5 -3
package/dist/bin/helix.js
CHANGED
|
@@ -90,7 +90,7 @@ const program = new commander_1.Command();
|
|
|
90
90
|
program
|
|
91
91
|
.name("helix")
|
|
92
92
|
.description("Helix - AI-Native Development Platform")
|
|
93
|
-
.version("
|
|
93
|
+
.version("12.0.0")
|
|
94
94
|
.addHelpText("before", banner);
|
|
95
95
|
// ============================================================================
|
|
96
96
|
// V4.0 COMMAND: One-Shot Spawn
|
|
@@ -100,7 +100,7 @@ program
|
|
|
100
100
|
.description("One-shot generation: Full app from natural language")
|
|
101
101
|
.option("-t, --target <platform>", "Target: 'web' (Next.js) or 'flutter'", "web")
|
|
102
102
|
.option("-d, --db <database>", "Database: 'postgres', 'mongodb', 'redis', or comma-separated")
|
|
103
|
-
.option("--theme <theme>", "UI theme: glassmorphism, professional, minimal, vibrant", "glassmorphism")
|
|
103
|
+
.option("--theme <theme>", "UI theme: glassmorphism, professional, minimal, vibrant, midnight, sunset", "glassmorphism")
|
|
104
104
|
.option("--ai-context", "Enable AI context layer with Redis")
|
|
105
105
|
.option("--cache", "Add Redis caching layer")
|
|
106
106
|
.option("--no-constitution", "Bypass constitutional validation")
|
|
@@ -135,7 +135,7 @@ program
|
|
|
135
135
|
console.log(chalk_1.default.white("\n Would generate:"));
|
|
136
136
|
console.log(chalk_1.default.gray(" ⢠Next.js project scaffold"));
|
|
137
137
|
console.log(chalk_1.default.gray(" ⢠AI-generated .helix blueprint from prompt"));
|
|
138
|
-
console.log(chalk_1.default.gray(
|
|
138
|
+
console.log(chalk_1.default.gray(` ⢠Prisma schema + ${options.db === 'postgres' ? 'PostgreSQL' : options.db === 'supabase' ? 'Supabase (PostgreSQL)' : 'SQLite'} database`));
|
|
139
139
|
console.log(chalk_1.default.gray(" ⢠API routes with validation, rate limiting, pagination"));
|
|
140
140
|
console.log(chalk_1.default.gray(" ⢠React UI pages with theme applied"));
|
|
141
141
|
console.log(chalk_1.default.gray(" ⢠globals.css with theme CSS"));
|
|
@@ -503,83 +503,170 @@ program
|
|
|
503
503
|
console.log(banner);
|
|
504
504
|
console.log(chalk_1.default.cyan("\n𩺠Helix Doctor ā System Health Check\n"));
|
|
505
505
|
let issues = 0;
|
|
506
|
+
let warnings = 0;
|
|
507
|
+
// āā Runtime āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
508
|
+
console.log(chalk_1.default.white(" Runtime"));
|
|
506
509
|
// Check Node.js version
|
|
507
510
|
const nodeVersion = process.version;
|
|
508
511
|
const major = parseInt(nodeVersion.slice(1).split('.')[0]);
|
|
509
512
|
if (major >= 18) {
|
|
510
|
-
console.log(chalk_1.default.green(`
|
|
513
|
+
console.log(chalk_1.default.green(` ā
Node.js ${nodeVersion}`));
|
|
511
514
|
}
|
|
512
515
|
else {
|
|
513
|
-
console.log(chalk_1.default.red(`
|
|
516
|
+
console.log(chalk_1.default.red(` ā Node.js ${nodeVersion} ā requires >= 18`));
|
|
514
517
|
issues++;
|
|
515
518
|
}
|
|
516
|
-
// Check
|
|
517
|
-
|
|
518
|
-
const
|
|
519
|
-
console.log(chalk_1.default.green(`
|
|
519
|
+
// Check npm
|
|
520
|
+
try {
|
|
521
|
+
const { stdout } = await Promise.resolve().then(() => __importStar(require("execa"))).then(m => m.default("npm", ["--version"]));
|
|
522
|
+
console.log(chalk_1.default.green(` ā
npm v${stdout.trim()}`));
|
|
520
523
|
}
|
|
521
|
-
|
|
522
|
-
console.log(chalk_1.default.red("
|
|
524
|
+
catch {
|
|
525
|
+
console.log(chalk_1.default.red(" ā npm not found"));
|
|
523
526
|
issues++;
|
|
524
527
|
}
|
|
528
|
+
// Check npx (for prisma, create-next-app)
|
|
529
|
+
try {
|
|
530
|
+
const { stdout } = await Promise.resolve().then(() => __importStar(require("execa"))).then(m => m.default("npx", ["--version"]));
|
|
531
|
+
console.log(chalk_1.default.green(` ā
npx v${stdout.trim()}`));
|
|
532
|
+
}
|
|
533
|
+
catch {
|
|
534
|
+
console.log(chalk_1.default.red(" ā npx not found"));
|
|
535
|
+
issues++;
|
|
536
|
+
}
|
|
537
|
+
// Check git
|
|
538
|
+
try {
|
|
539
|
+
const { stdout } = await Promise.resolve().then(() => __importStar(require("execa"))).then(m => m.default("git", ["--version"]));
|
|
540
|
+
console.log(chalk_1.default.green(` ā
${stdout.trim()}`));
|
|
541
|
+
}
|
|
542
|
+
catch {
|
|
543
|
+
console.log(chalk_1.default.yellow(" ā ļø git not found (optional, needed for version control)"));
|
|
544
|
+
warnings++;
|
|
545
|
+
}
|
|
546
|
+
// āā AI Configuration āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
547
|
+
console.log(chalk_1.default.white("\n AI Configuration"));
|
|
525
548
|
// Check .env file
|
|
526
549
|
const envPath = path.resolve(__dirname, "..", "..", ".env");
|
|
527
550
|
if (fs.existsSync(envPath)) {
|
|
528
|
-
console.log(chalk_1.default.green(`
|
|
551
|
+
console.log(chalk_1.default.green(` ā
.env file found`));
|
|
529
552
|
}
|
|
530
553
|
else {
|
|
531
|
-
console.log(chalk_1.default.yellow("
|
|
554
|
+
console.log(chalk_1.default.yellow(" ā ļø No .env file found (using environment variables)"));
|
|
555
|
+
warnings++;
|
|
532
556
|
}
|
|
533
|
-
// Check
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
557
|
+
// Check API key
|
|
558
|
+
if (process.env.OPENROUTER_API_KEY) {
|
|
559
|
+
const key = process.env.OPENROUTER_API_KEY;
|
|
560
|
+
console.log(chalk_1.default.green(` ā
OPENROUTER_API_KEY (${key.substring(0, 12)}...)`));
|
|
561
|
+
// Validate API key with a test call
|
|
562
|
+
try {
|
|
563
|
+
const response = await fetch("https://openrouter.ai/api/v1/models", {
|
|
564
|
+
headers: { "Authorization": `Bearer ${key}` },
|
|
565
|
+
});
|
|
566
|
+
if (response.ok) {
|
|
567
|
+
console.log(chalk_1.default.green(" ā
OpenRouter API key is valid"));
|
|
568
|
+
}
|
|
569
|
+
else {
|
|
570
|
+
console.log(chalk_1.default.red(` ā OpenRouter API key rejected (HTTP ${response.status})`));
|
|
571
|
+
issues++;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
catch {
|
|
575
|
+
console.log(chalk_1.default.yellow(" ā ļø Could not validate API key (network error)"));
|
|
576
|
+
warnings++;
|
|
577
|
+
}
|
|
539
578
|
}
|
|
540
579
|
else {
|
|
541
|
-
console.log(chalk_1.default.
|
|
580
|
+
console.log(chalk_1.default.red(" ā OPENROUTER_API_KEY not set"));
|
|
581
|
+
console.log(chalk_1.default.gray(" Set it in .env or export OPENROUTER_API_KEY=sk-or-..."));
|
|
582
|
+
issues++;
|
|
542
583
|
}
|
|
543
|
-
// Check
|
|
584
|
+
// Check Ollama (optional local model)
|
|
544
585
|
try {
|
|
545
|
-
const
|
|
546
|
-
|
|
586
|
+
const ollamaResponse = await fetch("http://localhost:11434/api/tags", { signal: AbortSignal.timeout(3000) });
|
|
587
|
+
if (ollamaResponse.ok) {
|
|
588
|
+
const data = await ollamaResponse.json();
|
|
589
|
+
const modelCount = data.models?.length || 0;
|
|
590
|
+
console.log(chalk_1.default.green(` ā
Ollama running (${modelCount} model${modelCount !== 1 ? 's' : ''} available)`));
|
|
591
|
+
}
|
|
592
|
+
else {
|
|
593
|
+
console.log(chalk_1.default.gray(" ā¹ļø Ollama not responding (optional ā for local AI)"));
|
|
594
|
+
}
|
|
547
595
|
}
|
|
548
596
|
catch {
|
|
549
|
-
console.log(chalk_1.default.
|
|
550
|
-
issues++;
|
|
597
|
+
console.log(chalk_1.default.gray(" ā¹ļø Ollama not running (optional ā for local AI)"));
|
|
551
598
|
}
|
|
552
|
-
//
|
|
599
|
+
// āā Deploy CLIs āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
600
|
+
console.log(chalk_1.default.white("\n Deploy Tools"));
|
|
601
|
+
// Check Vercel CLI
|
|
553
602
|
try {
|
|
554
|
-
const { stdout } = await Promise.resolve().then(() => __importStar(require("execa"))).then(m => m.default("
|
|
555
|
-
console.log(chalk_1.default.green(`
|
|
603
|
+
const { stdout } = await Promise.resolve().then(() => __importStar(require("execa"))).then(m => m.default("vercel", ["--version"]));
|
|
604
|
+
console.log(chalk_1.default.green(` ā
Vercel CLI v${stdout.trim()}`));
|
|
556
605
|
}
|
|
557
606
|
catch {
|
|
558
|
-
console.log(chalk_1.default.
|
|
559
|
-
|
|
607
|
+
console.log(chalk_1.default.gray(" ā¹ļø Vercel CLI not installed (optional ā npm i -g vercel)"));
|
|
608
|
+
}
|
|
609
|
+
// Check Railway CLI
|
|
610
|
+
try {
|
|
611
|
+
const { stdout } = await Promise.resolve().then(() => __importStar(require("execa"))).then(m => m.default("railway", ["version"]));
|
|
612
|
+
console.log(chalk_1.default.green(` ā
Railway CLI ${stdout.trim()}`));
|
|
560
613
|
}
|
|
561
|
-
|
|
614
|
+
catch {
|
|
615
|
+
console.log(chalk_1.default.gray(" ā¹ļø Railway CLI not installed (optional)"));
|
|
616
|
+
}
|
|
617
|
+
// Check Docker
|
|
618
|
+
try {
|
|
619
|
+
const { stdout } = await Promise.resolve().then(() => __importStar(require("execa"))).then(m => m.default("docker", ["--version"]));
|
|
620
|
+
console.log(chalk_1.default.green(` ā
${stdout.trim().split(',')[0]}`));
|
|
621
|
+
}
|
|
622
|
+
catch {
|
|
623
|
+
console.log(chalk_1.default.gray(" ā¹ļø Docker not installed (optional ā for containerized builds)"));
|
|
624
|
+
}
|
|
625
|
+
// āā Project State āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
626
|
+
console.log(chalk_1.default.white("\n Project State"));
|
|
627
|
+
// Check builds directory
|
|
628
|
+
const buildsDir = path.resolve(__dirname, "..", "..", "builds");
|
|
629
|
+
if (fs.existsSync(buildsDir)) {
|
|
630
|
+
const projects = fs.readdirSync(buildsDir, { withFileTypes: true })
|
|
631
|
+
.filter((d) => d.isDirectory());
|
|
632
|
+
console.log(chalk_1.default.green(` ā
Builds directory: ${projects.length} project(s)`));
|
|
633
|
+
if (projects.length > 0) {
|
|
634
|
+
for (const p of projects.slice(0, 5)) {
|
|
635
|
+
console.log(chalk_1.default.gray(` ā ${p.name}`));
|
|
636
|
+
}
|
|
637
|
+
if (projects.length > 5) {
|
|
638
|
+
console.log(chalk_1.default.gray(` ... and ${projects.length - 5} more`));
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
else {
|
|
643
|
+
console.log(chalk_1.default.gray(" ā¹ļø No builds directory yet (run 'helix spawn' to create one)"));
|
|
644
|
+
}
|
|
645
|
+
// Check disk space
|
|
562
646
|
try {
|
|
563
647
|
const { stdout } = await Promise.resolve().then(() => __importStar(require("execa"))).then(m => m.default("df", ["-h", "."]));
|
|
564
648
|
const lines = stdout.split('\n');
|
|
565
649
|
if (lines.length > 1) {
|
|
566
650
|
const parts = lines[1].split(/\s+/);
|
|
567
651
|
const available = parts[3];
|
|
568
|
-
console.log(chalk_1.default.green(`
|
|
652
|
+
console.log(chalk_1.default.green(` ā
Disk space available: ${available}`));
|
|
569
653
|
}
|
|
570
654
|
}
|
|
571
655
|
catch {
|
|
572
|
-
|
|
656
|
+
// Windows: try wmic or just skip
|
|
657
|
+
console.log(chalk_1.default.gray(" ā¹ļø Could not check disk space"));
|
|
573
658
|
}
|
|
574
|
-
// Summary
|
|
659
|
+
// āā Summary āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
575
660
|
console.log('');
|
|
576
|
-
if (issues === 0) {
|
|
577
|
-
console.log(chalk_1.default.green(" š All checks passed! Helix is ready to go
|
|
661
|
+
if (issues === 0 && warnings === 0) {
|
|
662
|
+
console.log(chalk_1.default.green(" š All checks passed! Helix is ready to go.\n"));
|
|
663
|
+
}
|
|
664
|
+
else if (issues === 0) {
|
|
665
|
+
console.log(chalk_1.default.green(` ā
Ready to go (${warnings} optional warning${warnings !== 1 ? 's' : ''}).\n`));
|
|
578
666
|
}
|
|
579
667
|
else {
|
|
580
|
-
console.log(chalk_1.default.red(` ā ļø ${issues} issue(s) found. Fix them above and run 'helix doctor' again
|
|
668
|
+
console.log(chalk_1.default.red(` ā ļø ${issues} issue(s) found. Fix them above and run 'helix doctor' again.\n`));
|
|
581
669
|
}
|
|
582
|
-
console.log('');
|
|
583
670
|
});
|
|
584
671
|
// ============================================================================
|
|
585
672
|
// DRIFT COMMAND: Detect manual changes vs original blueprint
|
package/dist/bin/helix.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helix.js","sourceRoot":"","sources":["../../src/bin/helix.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helix.js","sourceRoot":"","sources":["../../src/bin/helix.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fly.d.ts","sourceRoot":"","sources":["../../../../src/commands/deploy/platforms/fly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"fly.d.ts","sourceRoot":"","sources":["../../../../src/commands/deploy/platforms/fly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAMlD,qBAAa,WAAY,SAAQ,QAAQ;IACrC,OAAO,CAAC,OAAO,CAAC,CAAS;IAEnB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAuBlC,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA8B/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAStC,yBAAyB;CAuB1C"}
|
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
@@ -6,18 +39,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
39
|
exports.FlyDeployer = void 0;
|
|
7
40
|
const index_1 = require("../index");
|
|
8
41
|
const chalk_1 = __importDefault(require("chalk"));
|
|
42
|
+
const fs = __importStar(require("fs-extra"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const index_js_1 = require("../../../errors/index.js");
|
|
9
45
|
class FlyDeployer extends index_1.Deployer {
|
|
10
46
|
appName;
|
|
11
47
|
async initialize() {
|
|
12
48
|
console.log(chalk_1.default.cyan('šŖ° Initializing Fly.io deployment...'));
|
|
13
|
-
// Check for Fly CLI
|
|
14
49
|
try {
|
|
15
50
|
await this.runCommand('fly version');
|
|
16
51
|
}
|
|
17
52
|
catch {
|
|
18
|
-
|
|
19
|
-
console.log(chalk_1.default.yellow('Install: https://fly.io/docs/hands-on/install-flyctl/'));
|
|
20
|
-
throw new Error('Fly CLI not installed');
|
|
53
|
+
throw new index_js_1.HelixDeployError('Fly CLI not installed', 'Install it from: https://fly.io/docs/hands-on/install-flyctl/', { platform: 'fly' });
|
|
21
54
|
}
|
|
22
55
|
console.log(chalk_1.default.green('ā
Fly.io initialized'));
|
|
23
56
|
}
|
|
@@ -29,17 +62,28 @@ class FlyDeployer extends index_1.Deployer {
|
|
|
29
62
|
console.log(chalk_1.default.yellow('ā ļø fly.toml not found. Initializing...'));
|
|
30
63
|
await this.runCommand('fly launch --no-deploy');
|
|
31
64
|
}
|
|
65
|
+
// Extract app name
|
|
66
|
+
try {
|
|
67
|
+
const flyToml = await fs.readFile(path.join(this.projectPath, 'fly.toml'), 'utf-8');
|
|
68
|
+
const appMatch = flyToml.match(/app\s*=\s*"([^"]+)"/);
|
|
69
|
+
if (appMatch)
|
|
70
|
+
this.appName = appMatch[1];
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// Non-fatal
|
|
74
|
+
}
|
|
32
75
|
console.log(chalk_1.default.green('ā
Configuration valid'));
|
|
33
76
|
return true;
|
|
34
77
|
}
|
|
35
78
|
async deploy() {
|
|
36
79
|
console.log(chalk_1.default.cyan('\nšŖ° Deploying to Fly.io...'));
|
|
80
|
+
// Check if Prisma uses PostgreSQL and offer to provision
|
|
81
|
+
await this.provisionPostgresIfNeeded();
|
|
37
82
|
try {
|
|
38
|
-
|
|
39
|
-
// Get app URL
|
|
83
|
+
await this.runCommand('fly deploy');
|
|
40
84
|
const statusOutput = await this.runCommand('fly status');
|
|
41
85
|
const urlMatch = statusOutput.match(/https:\/\/[^\s]+/);
|
|
42
|
-
const url = urlMatch ? urlMatch[0] : '';
|
|
86
|
+
const url = urlMatch ? urlMatch[0] : this.appName ? `https://${this.appName}.fly.dev` : '';
|
|
43
87
|
const deploymentId = new Date().getTime().toString();
|
|
44
88
|
return {
|
|
45
89
|
url,
|
|
@@ -49,13 +93,11 @@ class FlyDeployer extends index_1.Deployer {
|
|
|
49
93
|
};
|
|
50
94
|
}
|
|
51
95
|
catch (error) {
|
|
52
|
-
|
|
53
|
-
throw error;
|
|
96
|
+
throw new index_js_1.HelixDeployError(`Fly.io deployment failed: ${error.message}`, 'Check logs with: fly logs', { platform: 'fly' });
|
|
54
97
|
}
|
|
55
98
|
}
|
|
56
99
|
async rollback(deploymentId) {
|
|
57
100
|
console.log(chalk_1.default.yellow('ā®ļø Rolling back Fly.io deployment...'));
|
|
58
|
-
// Fly uses version numbers for rollback
|
|
59
101
|
if (deploymentId) {
|
|
60
102
|
await this.runCommand(`fly releases rollback ${deploymentId}`);
|
|
61
103
|
}
|
|
@@ -63,6 +105,29 @@ class FlyDeployer extends index_1.Deployer {
|
|
|
63
105
|
await this.runCommand('fly releases rollback');
|
|
64
106
|
}
|
|
65
107
|
}
|
|
108
|
+
async provisionPostgresIfNeeded() {
|
|
109
|
+
const schemaPath = path.join(this.projectPath, 'prisma', 'schema.prisma');
|
|
110
|
+
if (!await fs.pathExists(schemaPath))
|
|
111
|
+
return;
|
|
112
|
+
const schema = await fs.readFile(schemaPath, 'utf-8');
|
|
113
|
+
if (!schema.includes('provider = "postgresql"'))
|
|
114
|
+
return;
|
|
115
|
+
console.log(chalk_1.default.cyan('š PostgreSQL detected ā creating Fly Postgres cluster...'));
|
|
116
|
+
try {
|
|
117
|
+
const pgName = this.appName ? `${this.appName}-db` : 'helix-db';
|
|
118
|
+
await this.runCommand(`fly postgres create --name ${pgName} --region sjc --vm-size shared-cpu-1x`);
|
|
119
|
+
console.log(chalk_1.default.green(` ā
Postgres cluster "${pgName}" created`));
|
|
120
|
+
// Attach to app
|
|
121
|
+
if (this.appName) {
|
|
122
|
+
await this.runCommand(`fly postgres attach ${pgName} --app ${this.appName}`);
|
|
123
|
+
console.log(chalk_1.default.green(' ā
Postgres attached ā DATABASE_URL set as secret'));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
console.log(chalk_1.default.yellow(' ā ļø Could not auto-provision PostgreSQL'));
|
|
128
|
+
console.log(chalk_1.default.gray(' Create manually: fly postgres create --name mydb'));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
66
131
|
}
|
|
67
132
|
exports.FlyDeployer = FlyDeployer;
|
|
68
133
|
//# sourceMappingURL=fly.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fly.js","sourceRoot":"","sources":["../../../../src/commands/deploy/platforms/fly.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fly.js","sourceRoot":"","sources":["../../../../src/commands/deploy/platforms/fly.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"railway.d.ts","sourceRoot":"","sources":["../../../../src/commands/deploy/platforms/railway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"railway.d.ts","sourceRoot":"","sources":["../../../../src/commands/deploy/platforms/railway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAMlD,qBAAa,eAAgB,SAAQ,QAAQ;IACzC,OAAO,CAAC,SAAS,CAAC,CAAS;IAErB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB3B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IA0BlC,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA6B/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAKtC,yBAAyB;CAiB1C"}
|