helix-lang 11.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/README.md +168 -0
- package/dist/architect.d.ts +14 -0
- package/dist/architect.d.ts.map +1 -0
- package/dist/architect.js +127 -0
- package/dist/architect.js.map +1 -0
- package/dist/bin/helix.d.ts +20 -0
- package/dist/bin/helix.d.ts.map +1 -0
- package/dist/bin/helix.js +921 -0
- package/dist/bin/helix.js.map +1 -0
- package/dist/commands/collaborate/index.d.ts +2 -0
- package/dist/commands/collaborate/index.d.ts.map +1 -0
- package/dist/commands/collaborate/index.js +129 -0
- package/dist/commands/collaborate/index.js.map +1 -0
- package/dist/commands/collaborate/server.d.ts +31 -0
- package/dist/commands/collaborate/server.d.ts.map +1 -0
- package/dist/commands/collaborate/server.js +159 -0
- package/dist/commands/collaborate/server.js.map +1 -0
- package/dist/commands/deploy/index.d.ts +25 -0
- package/dist/commands/deploy/index.d.ts.map +1 -0
- package/dist/commands/deploy/index.js +130 -0
- package/dist/commands/deploy/index.js.map +1 -0
- package/dist/commands/deploy/platforms/fly.d.ts +9 -0
- package/dist/commands/deploy/platforms/fly.d.ts.map +1 -0
- package/dist/commands/deploy/platforms/fly.js +68 -0
- package/dist/commands/deploy/platforms/fly.js.map +1 -0
- package/dist/commands/deploy/platforms/railway.d.ts +9 -0
- package/dist/commands/deploy/platforms/railway.d.ts.map +1 -0
- package/dist/commands/deploy/platforms/railway.js +115 -0
- package/dist/commands/deploy/platforms/railway.js.map +1 -0
- package/dist/commands/deploy/platforms/vercel.d.ts +10 -0
- package/dist/commands/deploy/platforms/vercel.d.ts.map +1 -0
- package/dist/commands/deploy/platforms/vercel.js +126 -0
- package/dist/commands/deploy/platforms/vercel.js.map +1 -0
- package/dist/commands/deploy.d.ts +6 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +56 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/evolve/analyzers/performance.d.ts +13 -0
- package/dist/commands/evolve/analyzers/performance.d.ts.map +1 -0
- package/dist/commands/evolve/analyzers/performance.js +591 -0
- package/dist/commands/evolve/analyzers/performance.js.map +1 -0
- package/dist/commands/evolve/analyzers/security.d.ts +21 -0
- package/dist/commands/evolve/analyzers/security.d.ts.map +1 -0
- package/dist/commands/evolve/analyzers/security.js +280 -0
- package/dist/commands/evolve/analyzers/security.js.map +1 -0
- package/dist/commands/evolve/index.d.ts +2 -0
- package/dist/commands/evolve/index.d.ts.map +1 -0
- package/dist/commands/evolve/index.js +122 -0
- package/dist/commands/evolve/index.js.map +1 -0
- package/dist/commands/generate.d.ts +6 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +277 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/install.d.ts +2 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +176 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/library/index.d.ts +27 -0
- package/dist/commands/library/index.d.ts.map +1 -0
- package/dist/commands/library/index.js +126 -0
- package/dist/commands/library/index.js.map +1 -0
- package/dist/commands/migrate.d.ts +5 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +258 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/new.d.ts +6 -0
- package/dist/commands/new.d.ts.map +1 -0
- package/dist/commands/new.js +195 -0
- package/dist/commands/new.js.map +1 -0
- package/dist/commands/preflight.d.ts +20 -0
- package/dist/commands/preflight.d.ts.map +1 -0
- package/dist/commands/preflight.js +182 -0
- package/dist/commands/preflight.js.map +1 -0
- package/dist/commands/preview.d.ts +13 -0
- package/dist/commands/preview.d.ts.map +1 -0
- package/dist/commands/preview.js +260 -0
- package/dist/commands/preview.js.map +1 -0
- package/dist/commands/run.d.ts +6 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +96 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/spawn.d.ts +11 -0
- package/dist/commands/spawn.d.ts.map +1 -0
- package/dist/commands/spawn.js +916 -0
- package/dist/commands/spawn.js.map +1 -0
- package/dist/compiler.d.ts +12 -0
- package/dist/compiler.d.ts.map +1 -0
- package/dist/compiler.js +92 -0
- package/dist/compiler.js.map +1 -0
- package/dist/core/file-writer.d.ts +36 -0
- package/dist/core/file-writer.d.ts.map +1 -0
- package/dist/core/file-writer.js +268 -0
- package/dist/core/file-writer.js.map +1 -0
- package/dist/core/registry.d.ts +57 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +222 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/self-healing.d.ts +47 -0
- package/dist/core/self-healing.d.ts.map +1 -0
- package/dist/core/self-healing.js +250 -0
- package/dist/core/self-healing.js.map +1 -0
- package/dist/core/types.d.ts +126 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +7 -0
- package/dist/core/types.js.map +1 -0
- package/dist/generators/databases/mongodb.d.ts +10 -0
- package/dist/generators/databases/mongodb.d.ts.map +1 -0
- package/dist/generators/databases/mongodb.js +83 -0
- package/dist/generators/databases/mongodb.js.map +1 -0
- package/dist/generators/databases/redis.d.ts +2 -0
- package/dist/generators/databases/redis.d.ts.map +1 -0
- package/dist/generators/databases/redis.js +140 -0
- package/dist/generators/databases/redis.js.map +1 -0
- package/dist/generators/flutter.d.ts +32 -0
- package/dist/generators/flutter.d.ts.map +1 -0
- package/dist/generators/flutter.js +628 -0
- package/dist/generators/flutter.js.map +1 -0
- package/dist/openrouter.d.ts +68 -0
- package/dist/openrouter.d.ts.map +1 -0
- package/dist/openrouter.js +241 -0
- package/dist/openrouter.js.map +1 -0
- package/dist/page-generator.d.ts +22 -0
- package/dist/page-generator.d.ts.map +1 -0
- package/dist/page-generator.js +192 -0
- package/dist/page-generator.js.map +1 -0
- package/dist/parser.d.ts +76 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +691 -0
- package/dist/parser.js.map +1 -0
- package/dist/prompts/master-architect.d.ts +9 -0
- package/dist/prompts/master-architect.d.ts.map +1 -0
- package/dist/prompts/master-architect.js +150 -0
- package/dist/prompts/master-architect.js.map +1 -0
- package/dist/researcher.d.ts +12 -0
- package/dist/researcher.d.ts.map +1 -0
- package/dist/researcher.js +85 -0
- package/dist/researcher.js.map +1 -0
- package/dist/self-heal.d.ts +29 -0
- package/dist/self-heal.d.ts.map +1 -0
- package/dist/self-heal.js +260 -0
- package/dist/self-heal.js.map +1 -0
- package/dist/services/SupabaseDeployer.d.ts +9 -0
- package/dist/services/SupabaseDeployer.d.ts.map +1 -0
- package/dist/services/SupabaseDeployer.js +50 -0
- package/dist/services/SupabaseDeployer.js.map +1 -0
- package/dist/test-generator.d.ts +18 -0
- package/dist/test-generator.d.ts.map +1 -0
- package/dist/test-generator.js +180 -0
- package/dist/test-generator.js.map +1 -0
- package/dist/themes/index.d.ts +52 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +273 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +81 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/constitutional-validator.d.ts +73 -0
- package/dist/utils/constitutional-validator.d.ts.map +1 -0
- package/dist/utils/constitutional-validator.js +249 -0
- package/dist/utils/constitutional-validator.js.map +1 -0
- package/library/auth-flow/app/api/auth/[...nextauth]/route.ts +31 -0
- package/library/auth-flow/app/api/auth/login/route.ts +90 -0
- package/library/auth-flow/app/api/auth/register/route.ts +91 -0
- package/library/auth-flow/components/auth/AuthMiddleware.tsx +139 -0
- package/library/auth-flow/components/auth/LoginForm.tsx +125 -0
- package/library/auth-flow/components/auth/RegisterForm.tsx +168 -0
- package/library/auth-flow/components/auth/nextauth-config.ts +99 -0
- package/library/auth-flow/manifest.json +29 -0
- package/library/auth-flow/schema.prisma +45 -0
- package/library/dashboard-analytics/components/dashboard/ActivityFeed.tsx +109 -0
- package/library/dashboard-analytics/components/dashboard/LineChart.tsx +180 -0
- package/library/dashboard-analytics/components/dashboard/StatsCard.tsx +47 -0
- package/library/dashboard-analytics/components/dashboard/SummaryGrid.tsx +39 -0
- package/library/dashboard-analytics/manifest.json +19 -0
- package/library/data-table/components/table/BulkActions.tsx +59 -0
- package/library/data-table/components/table/ColumnToggle.tsx +65 -0
- package/library/data-table/components/table/DataTable.tsx +318 -0
- package/library/data-table/components/table/ExportCSV.tsx +52 -0
- package/library/data-table/components/table/SearchFilter.tsx +48 -0
- package/library/data-table/manifest.json +20 -0
- package/library/file-upload/app/api/upload/route.ts +107 -0
- package/library/file-upload/components/upload/DropZone.tsx +268 -0
- package/library/file-upload/components/upload/FilePreview.tsx +82 -0
- package/library/file-upload/components/upload/UploadProgress.tsx +92 -0
- package/library/file-upload/components/upload/fileStorage.ts +142 -0
- package/library/file-upload/manifest.json +21 -0
- package/library/notification-system/app/api/notifications/route.ts +121 -0
- package/library/notification-system/components/notifications/NotificationBell.tsx +154 -0
- package/library/notification-system/components/notifications/NotificationProvider.tsx +161 -0
- package/library/notification-system/components/notifications/Toast.tsx +112 -0
- package/library/notification-system/manifest.json +20 -0
- package/package.json +66 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FlyDeployer = void 0;
|
|
7
|
+
const index_1 = require("../index");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
class FlyDeployer extends index_1.Deployer {
|
|
10
|
+
appName;
|
|
11
|
+
async initialize() {
|
|
12
|
+
console.log(chalk_1.default.cyan('šŖ° Initializing Fly.io deployment...'));
|
|
13
|
+
// Check for Fly CLI
|
|
14
|
+
try {
|
|
15
|
+
await this.runCommand('fly version');
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
console.log(chalk_1.default.red('ā Fly CLI not found'));
|
|
19
|
+
console.log(chalk_1.default.yellow('Install: https://fly.io/docs/hands-on/install-flyctl/'));
|
|
20
|
+
throw new Error('Fly CLI not installed');
|
|
21
|
+
}
|
|
22
|
+
console.log(chalk_1.default.green('ā
Fly.io initialized'));
|
|
23
|
+
}
|
|
24
|
+
async validateConfig() {
|
|
25
|
+
console.log(chalk_1.default.cyan('š Validating Fly.io configuration...'));
|
|
26
|
+
// Check if fly.toml exists
|
|
27
|
+
const hasFlyToml = await this.fileExists('fly.toml');
|
|
28
|
+
if (!hasFlyToml) {
|
|
29
|
+
console.log(chalk_1.default.yellow('ā ļø fly.toml not found. Initializing...'));
|
|
30
|
+
await this.runCommand('fly launch --no-deploy');
|
|
31
|
+
}
|
|
32
|
+
console.log(chalk_1.default.green('ā
Configuration valid'));
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
async deploy() {
|
|
36
|
+
console.log(chalk_1.default.cyan('\nšŖ° Deploying to Fly.io...'));
|
|
37
|
+
try {
|
|
38
|
+
const output = await this.runCommand('fly deploy');
|
|
39
|
+
// Get app URL
|
|
40
|
+
const statusOutput = await this.runCommand('fly status');
|
|
41
|
+
const urlMatch = statusOutput.match(/https:\/\/[^\s]+/);
|
|
42
|
+
const url = urlMatch ? urlMatch[0] : '';
|
|
43
|
+
const deploymentId = new Date().getTime().toString();
|
|
44
|
+
return {
|
|
45
|
+
url,
|
|
46
|
+
platform: 'fly',
|
|
47
|
+
env: this.env,
|
|
48
|
+
deploymentId,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
console.error(chalk_1.default.red('ā Fly.io deployment failed'));
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async rollback(deploymentId) {
|
|
57
|
+
console.log(chalk_1.default.yellow('ā®ļø Rolling back Fly.io deployment...'));
|
|
58
|
+
// Fly uses version numbers for rollback
|
|
59
|
+
if (deploymentId) {
|
|
60
|
+
await this.runCommand(`fly releases rollback ${deploymentId}`);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
await this.runCommand('fly releases rollback');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.FlyDeployer = FlyDeployer;
|
|
68
|
+
//# sourceMappingURL=fly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fly.js","sourceRoot":"","sources":["../../../../src/commands/deploy/platforms/fly.ts"],"names":[],"mappings":";;;;;;AAAA,oCAAkD;AAClD,kDAA0B;AAE1B,MAAa,WAAY,SAAQ,gBAAQ;IAC7B,OAAO,CAAU;IAEzB,KAAK,CAAC,UAAU;QACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAEhE,oBAAoB;QACpB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;YACnF,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAEjE,2BAA2B;QAC3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM;QACR,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAEnD,cAAc;YACd,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAExC,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;YAErD,OAAO;gBACH,GAAG;gBACH,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,YAAY;aACf,CAAC;QACN,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAqB;QAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAEnE,wCAAwC;QACxC,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,UAAU,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;CACJ;AAnED,kCAmEC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Deployer, DeployResult } from '../index';
|
|
2
|
+
export declare class RailwayDeployer extends Deployer {
|
|
3
|
+
private projectId?;
|
|
4
|
+
initialize(): Promise<void>;
|
|
5
|
+
validateConfig(): Promise<boolean>;
|
|
6
|
+
deploy(): Promise<DeployResult>;
|
|
7
|
+
rollback(deploymentId?: string): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=railway.d.ts.map
|
|
@@ -0,0 +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;AAKlD,qBAAa,eAAgB,SAAQ,QAAQ;IACzC,OAAO,CAAC,SAAS,CAAC,CAAS;IAErB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IA0BlC,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA0B/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIvD"}
|
|
@@ -0,0 +1,115 @@
|
|
|
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
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.RailwayDeployer = void 0;
|
|
40
|
+
const index_1 = require("../index");
|
|
41
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
42
|
+
const fs = __importStar(require("fs-extra"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
class RailwayDeployer extends index_1.Deployer {
|
|
45
|
+
projectId;
|
|
46
|
+
async initialize() {
|
|
47
|
+
console.log(chalk_1.default.cyan('š Initializing Railway deployment...'));
|
|
48
|
+
// Check for Railway CLI
|
|
49
|
+
try {
|
|
50
|
+
await this.runCommand('railway --version');
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
console.log(chalk_1.default.yellow('ā ļø Railway CLI not found'));
|
|
54
|
+
console.log(chalk_1.default.gray('Install: npm install -g @railway/cli'));
|
|
55
|
+
throw new Error('Railway CLI not installed');
|
|
56
|
+
}
|
|
57
|
+
// Check if project is linked
|
|
58
|
+
const railwayJsonPath = path.join(this.projectPath, 'railway.json');
|
|
59
|
+
if (await fs.pathExists(railwayJsonPath)) {
|
|
60
|
+
const railwayJson = await fs.readJSON(railwayJsonPath);
|
|
61
|
+
this.projectId = railwayJson.projectId;
|
|
62
|
+
}
|
|
63
|
+
console.log(chalk_1.default.green('ā
Railway initialized'));
|
|
64
|
+
}
|
|
65
|
+
async validateConfig() {
|
|
66
|
+
console.log(chalk_1.default.cyan('š Validating Railway configuration...'));
|
|
67
|
+
// Check if logged in
|
|
68
|
+
try {
|
|
69
|
+
await this.runCommand('railway whoami');
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
console.log(chalk_1.default.red('ā Not logged in to Railway'));
|
|
73
|
+
console.log(chalk_1.default.yellow('Run: railway login'));
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
// linkproject if not linked
|
|
77
|
+
if (!this.projectId) {
|
|
78
|
+
console.log(chalk_1.default.yellow('ā ļø Project not linked to Railway'));
|
|
79
|
+
console.log(chalk_1.default.gray('Linking project...'));
|
|
80
|
+
await this.runCommand('railway link');
|
|
81
|
+
const railwayJson = await fs.readJSON(path.join(this.projectPath, 'railway.json'));
|
|
82
|
+
this.projectId = railwayJson.projectId;
|
|
83
|
+
}
|
|
84
|
+
console.log(chalk_1.default.green('ā
Configuration valid'));
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
async deploy() {
|
|
88
|
+
console.log(chalk_1.default.cyan('\nš Deploying to Railway...'));
|
|
89
|
+
try {
|
|
90
|
+
const output = await this.runCommand('railway up --detach');
|
|
91
|
+
// Get deployment URL
|
|
92
|
+
const urlOutput = await this.runCommand('railway domain');
|
|
93
|
+
const url = urlOutput.trim();
|
|
94
|
+
// Get deployment ID from status
|
|
95
|
+
const statusOutput = await this.runCommand('railway status');
|
|
96
|
+
const deploymentId = new Date().getTime().toString();
|
|
97
|
+
return {
|
|
98
|
+
url: url || 'https://railway.app',
|
|
99
|
+
platform: 'railway',
|
|
100
|
+
env: this.env,
|
|
101
|
+
deploymentId,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
console.error(chalk_1.default.red('ā Railway deployment failed'));
|
|
106
|
+
throw error;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
async rollback(deploymentId) {
|
|
110
|
+
console.log(chalk_1.default.yellow('ā®ļø Railway rollback not directly supported'));
|
|
111
|
+
console.log(chalk_1.default.gray('Use Railway dashboard to rollback: https://railway.app'));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.RailwayDeployer = RailwayDeployer;
|
|
115
|
+
//# sourceMappingURL=railway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"railway.js","sourceRoot":"","sources":["../../../../src/commands/deploy/platforms/railway.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Deployer, DeployResult } from '../index';
|
|
2
|
+
export declare class VercelDeployer extends Deployer {
|
|
3
|
+
private vercelToken?;
|
|
4
|
+
private projectName?;
|
|
5
|
+
initialize(): Promise<void>;
|
|
6
|
+
validateConfig(): Promise<boolean>;
|
|
7
|
+
deploy(): Promise<DeployResult>;
|
|
8
|
+
rollback(deploymentId?: string): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=vercel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../../src/commands/deploy/platforms/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKlD,qBAAa,cAAe,SAAQ,QAAQ;IACxC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAS;IAEvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B3B,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;CAYvD"}
|
|
@@ -0,0 +1,126 @@
|
|
|
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
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.VercelDeployer = void 0;
|
|
40
|
+
const index_1 = require("../index");
|
|
41
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
42
|
+
const fs = __importStar(require("fs-extra"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
class VercelDeployer extends index_1.Deployer {
|
|
45
|
+
vercelToken;
|
|
46
|
+
projectName;
|
|
47
|
+
async initialize() {
|
|
48
|
+
console.log(chalk_1.default.cyan('š¦ Initializing Vercel deployment...'));
|
|
49
|
+
// Check for Vercel CLI
|
|
50
|
+
try {
|
|
51
|
+
await this.runCommand('vercel --version');
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
console.log(chalk_1.default.yellow('ā ļø Vercel CLI not found. Installing...'));
|
|
55
|
+
await this.runCommand('npm install -g vercel');
|
|
56
|
+
}
|
|
57
|
+
// Get Vercel token from env or prompt
|
|
58
|
+
this.vercelToken = process.env.VERCEL_TOKEN;
|
|
59
|
+
if (!this.vercelToken) {
|
|
60
|
+
console.log(chalk_1.default.yellow('ā ļø VERCEL_TOKEN not found in environment'));
|
|
61
|
+
console.log(chalk_1.default.gray('Run: vercel login'));
|
|
62
|
+
}
|
|
63
|
+
// Get project name from package.json
|
|
64
|
+
const packageJson = await fs.readJSON(path.join(this.projectPath, 'package.json'));
|
|
65
|
+
this.projectName = packageJson.name || path.basename(this.projectPath);
|
|
66
|
+
console.log(chalk_1.default.green(`ā
Project: ${this.projectName}`));
|
|
67
|
+
}
|
|
68
|
+
async validateConfig() {
|
|
69
|
+
console.log(chalk_1.default.cyan('š Validating configuration...'));
|
|
70
|
+
// Check for required files
|
|
71
|
+
const hasPackageJson = await this.fileExists('package.json');
|
|
72
|
+
if (!hasPackageJson) {
|
|
73
|
+
console.log(chalk_1.default.red('ā package.json not found'));
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
// Check for build script
|
|
77
|
+
const packageJson = await fs.readJSON(path.join(this.projectPath, 'package.json'));
|
|
78
|
+
if (!packageJson.scripts?.build) {
|
|
79
|
+
console.log(chalk_1.default.yellow('ā ļø No build script found in package.json'));
|
|
80
|
+
}
|
|
81
|
+
// Create .vercelignore if not exists
|
|
82
|
+
const vercelIgnorePath = path.join(this.projectPath, '.vercelignore');
|
|
83
|
+
if (!await fs.pathExists(vercelIgnorePath)) {
|
|
84
|
+
await fs.writeFile(vercelIgnorePath, `node_modules\n.next\n.env.local\n`);
|
|
85
|
+
}
|
|
86
|
+
console.log(chalk_1.default.green('ā
Configuration valid'));
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
async deploy() {
|
|
90
|
+
console.log(chalk_1.default.cyan(`\nš Deploying to Vercel (${this.env})...`));
|
|
91
|
+
const deployCommand = this.env === 'production'
|
|
92
|
+
? 'vercel --prod --yes'
|
|
93
|
+
: 'vercel --yes';
|
|
94
|
+
try {
|
|
95
|
+
const output = await this.runCommand(deployCommand);
|
|
96
|
+
// Extract URL from Vercel output
|
|
97
|
+
const urlMatch = output.match(/https:\/\/[^\s]+/);
|
|
98
|
+
const url = urlMatch ? urlMatch[0] : '';
|
|
99
|
+
// Parse deployment ID from output
|
|
100
|
+
const deploymentId = url.split('/').pop() || new Date().getTime().toString();
|
|
101
|
+
return {
|
|
102
|
+
url,
|
|
103
|
+
platform: 'vercel',
|
|
104
|
+
env: this.env,
|
|
105
|
+
deploymentId,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
console.error(chalk_1.default.red('ā Deployment failed'));
|
|
110
|
+
throw error;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async rollback(deploymentId) {
|
|
114
|
+
console.log(chalk_1.default.yellow('ā®ļø Rolling back Vercel deployment...'));
|
|
115
|
+
if (deploymentId) {
|
|
116
|
+
await this.runCommand(`vercel rollback ${deploymentId}`);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
// Rollback to previous production deployment
|
|
120
|
+
await this.runCommand('vercel rollback');
|
|
121
|
+
}
|
|
122
|
+
console.log(chalk_1.default.green('ā
Rollback complete'));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.VercelDeployer = VercelDeployer;
|
|
126
|
+
//# sourceMappingURL=vercel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../../../src/commands/deploy/platforms/vercel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,wBAAsB,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.deploy = deploy;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const execa = require("execa");
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
/**
|
|
11
|
+
* Main deploy entry point
|
|
12
|
+
*/
|
|
13
|
+
async function deploy(platform, token) {
|
|
14
|
+
console.log(chalk_1.default.cyan(`\nš HELIX ORBIT - Deploying to ${platform.toUpperCase()}\n`));
|
|
15
|
+
const projectPath = process.cwd();
|
|
16
|
+
switch (platform) {
|
|
17
|
+
case "vercel":
|
|
18
|
+
await deployToVercel(projectPath, token);
|
|
19
|
+
break;
|
|
20
|
+
default:
|
|
21
|
+
console.error(chalk_1.default.red(`ā Platform ${platform} not supported yet.`));
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Deploys a Helix project to Vercel
|
|
27
|
+
*/
|
|
28
|
+
async function deployToVercel(projectPath, token) {
|
|
29
|
+
const spinner = (0, ora_1.default)("Initializing Vercel connection...").start();
|
|
30
|
+
try {
|
|
31
|
+
spinner.text = "Deploying to Vercel (this may take a minute)...";
|
|
32
|
+
// Construct command
|
|
33
|
+
const args = ["vercel", "--prod", "--yes", "--no-clipboard"];
|
|
34
|
+
// If token provided, add it
|
|
35
|
+
if (token) {
|
|
36
|
+
args.push("--token", token);
|
|
37
|
+
}
|
|
38
|
+
// Capture output to find URL
|
|
39
|
+
const { stdout } = await execa("npx", args, {
|
|
40
|
+
cwd: projectPath,
|
|
41
|
+
stdio: "pipe",
|
|
42
|
+
});
|
|
43
|
+
spinner.succeed("Deployment successful!");
|
|
44
|
+
// Extract URL (usually the last line is the Production URL)
|
|
45
|
+
console.log(chalk_1.default.green(`\nā
Live URL: ${stdout.trim()}\n`));
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
spinner.fail("Deployment failed");
|
|
49
|
+
console.error(chalk_1.default.red(`\nā Error details:`));
|
|
50
|
+
console.error(chalk_1.default.red(error.stderr || error.message));
|
|
51
|
+
if (error.stderr?.includes("Not authorized") || error.message?.includes("token")) {
|
|
52
|
+
console.error(chalk_1.default.yellow("-> Check your Vercel Token."));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":";;;;;AASA,wBAaC;AAtBD,kDAA0B;AAC1B,+BAAgC;AAChC,8CAAsB;AAItB;;GAEG;AACI,KAAK,UAAU,MAAM,CAAC,QAA4B,EAAE,KAAc;IACrE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mCAAmC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAEvF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAElC,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,QAAQ;YACT,MAAM,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM;QACV;YACI,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,QAAQ,qBAAqB,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,WAAmB,EAAE,KAAc;IAC7D,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,mCAAmC,CAAC,CAAC,KAAK,EAAE,CAAC;IAEjE,IAAI,CAAC;QACD,OAAO,CAAC,IAAI,GAAG,iDAAiD,CAAC;QAEjE,oBAAoB;QACpB,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAE7D,4BAA4B;QAC5B,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,6BAA6B;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;YACxC,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE1C,4DAA4D;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEjE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAExD,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/E,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface PerformanceIssue {
|
|
2
|
+
type: 'n+1-query' | 'missing-index' | 'large-component' | 'unused-import' | 'inefficient-render';
|
|
3
|
+
file: string;
|
|
4
|
+
line: number;
|
|
5
|
+
description: string;
|
|
6
|
+
suggestion: string;
|
|
7
|
+
severity: 'low' | 'medium' | 'high';
|
|
8
|
+
autoFixable: boolean;
|
|
9
|
+
fixData?: Record<string, string>;
|
|
10
|
+
}
|
|
11
|
+
export declare function analyzePerformance(projectPath: string): Promise<PerformanceIssue[]>;
|
|
12
|
+
export declare function autoFixPerformanceIssues(projectPath: string, issues: PerformanceIssue[]): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=performance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../../src/commands/evolve/analyzers/performance.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,WAAW,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,GAAG,oBAAoB,CAAC;IACjG,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAuBD,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA2DzF;AA+VD,wBAAsB,wBAAwB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,EAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CA4Mf"}
|