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.
Files changed (193) hide show
  1. package/README.md +168 -0
  2. package/dist/architect.d.ts +14 -0
  3. package/dist/architect.d.ts.map +1 -0
  4. package/dist/architect.js +127 -0
  5. package/dist/architect.js.map +1 -0
  6. package/dist/bin/helix.d.ts +20 -0
  7. package/dist/bin/helix.d.ts.map +1 -0
  8. package/dist/bin/helix.js +921 -0
  9. package/dist/bin/helix.js.map +1 -0
  10. package/dist/commands/collaborate/index.d.ts +2 -0
  11. package/dist/commands/collaborate/index.d.ts.map +1 -0
  12. package/dist/commands/collaborate/index.js +129 -0
  13. package/dist/commands/collaborate/index.js.map +1 -0
  14. package/dist/commands/collaborate/server.d.ts +31 -0
  15. package/dist/commands/collaborate/server.d.ts.map +1 -0
  16. package/dist/commands/collaborate/server.js +159 -0
  17. package/dist/commands/collaborate/server.js.map +1 -0
  18. package/dist/commands/deploy/index.d.ts +25 -0
  19. package/dist/commands/deploy/index.d.ts.map +1 -0
  20. package/dist/commands/deploy/index.js +130 -0
  21. package/dist/commands/deploy/index.js.map +1 -0
  22. package/dist/commands/deploy/platforms/fly.d.ts +9 -0
  23. package/dist/commands/deploy/platforms/fly.d.ts.map +1 -0
  24. package/dist/commands/deploy/platforms/fly.js +68 -0
  25. package/dist/commands/deploy/platforms/fly.js.map +1 -0
  26. package/dist/commands/deploy/platforms/railway.d.ts +9 -0
  27. package/dist/commands/deploy/platforms/railway.d.ts.map +1 -0
  28. package/dist/commands/deploy/platforms/railway.js +115 -0
  29. package/dist/commands/deploy/platforms/railway.js.map +1 -0
  30. package/dist/commands/deploy/platforms/vercel.d.ts +10 -0
  31. package/dist/commands/deploy/platforms/vercel.d.ts.map +1 -0
  32. package/dist/commands/deploy/platforms/vercel.js +126 -0
  33. package/dist/commands/deploy/platforms/vercel.js.map +1 -0
  34. package/dist/commands/deploy.d.ts +6 -0
  35. package/dist/commands/deploy.d.ts.map +1 -0
  36. package/dist/commands/deploy.js +56 -0
  37. package/dist/commands/deploy.js.map +1 -0
  38. package/dist/commands/evolve/analyzers/performance.d.ts +13 -0
  39. package/dist/commands/evolve/analyzers/performance.d.ts.map +1 -0
  40. package/dist/commands/evolve/analyzers/performance.js +591 -0
  41. package/dist/commands/evolve/analyzers/performance.js.map +1 -0
  42. package/dist/commands/evolve/analyzers/security.d.ts +21 -0
  43. package/dist/commands/evolve/analyzers/security.d.ts.map +1 -0
  44. package/dist/commands/evolve/analyzers/security.js +280 -0
  45. package/dist/commands/evolve/analyzers/security.js.map +1 -0
  46. package/dist/commands/evolve/index.d.ts +2 -0
  47. package/dist/commands/evolve/index.d.ts.map +1 -0
  48. package/dist/commands/evolve/index.js +122 -0
  49. package/dist/commands/evolve/index.js.map +1 -0
  50. package/dist/commands/generate.d.ts +6 -0
  51. package/dist/commands/generate.d.ts.map +1 -0
  52. package/dist/commands/generate.js +277 -0
  53. package/dist/commands/generate.js.map +1 -0
  54. package/dist/commands/install.d.ts +2 -0
  55. package/dist/commands/install.d.ts.map +1 -0
  56. package/dist/commands/install.js +176 -0
  57. package/dist/commands/install.js.map +1 -0
  58. package/dist/commands/library/index.d.ts +27 -0
  59. package/dist/commands/library/index.d.ts.map +1 -0
  60. package/dist/commands/library/index.js +126 -0
  61. package/dist/commands/library/index.js.map +1 -0
  62. package/dist/commands/migrate.d.ts +5 -0
  63. package/dist/commands/migrate.d.ts.map +1 -0
  64. package/dist/commands/migrate.js +258 -0
  65. package/dist/commands/migrate.js.map +1 -0
  66. package/dist/commands/new.d.ts +6 -0
  67. package/dist/commands/new.d.ts.map +1 -0
  68. package/dist/commands/new.js +195 -0
  69. package/dist/commands/new.js.map +1 -0
  70. package/dist/commands/preflight.d.ts +20 -0
  71. package/dist/commands/preflight.d.ts.map +1 -0
  72. package/dist/commands/preflight.js +182 -0
  73. package/dist/commands/preflight.js.map +1 -0
  74. package/dist/commands/preview.d.ts +13 -0
  75. package/dist/commands/preview.d.ts.map +1 -0
  76. package/dist/commands/preview.js +260 -0
  77. package/dist/commands/preview.js.map +1 -0
  78. package/dist/commands/run.d.ts +6 -0
  79. package/dist/commands/run.d.ts.map +1 -0
  80. package/dist/commands/run.js +96 -0
  81. package/dist/commands/run.js.map +1 -0
  82. package/dist/commands/spawn.d.ts +11 -0
  83. package/dist/commands/spawn.d.ts.map +1 -0
  84. package/dist/commands/spawn.js +916 -0
  85. package/dist/commands/spawn.js.map +1 -0
  86. package/dist/compiler.d.ts +12 -0
  87. package/dist/compiler.d.ts.map +1 -0
  88. package/dist/compiler.js +92 -0
  89. package/dist/compiler.js.map +1 -0
  90. package/dist/core/file-writer.d.ts +36 -0
  91. package/dist/core/file-writer.d.ts.map +1 -0
  92. package/dist/core/file-writer.js +268 -0
  93. package/dist/core/file-writer.js.map +1 -0
  94. package/dist/core/registry.d.ts +57 -0
  95. package/dist/core/registry.d.ts.map +1 -0
  96. package/dist/core/registry.js +222 -0
  97. package/dist/core/registry.js.map +1 -0
  98. package/dist/core/self-healing.d.ts +47 -0
  99. package/dist/core/self-healing.d.ts.map +1 -0
  100. package/dist/core/self-healing.js +250 -0
  101. package/dist/core/self-healing.js.map +1 -0
  102. package/dist/core/types.d.ts +126 -0
  103. package/dist/core/types.d.ts.map +1 -0
  104. package/dist/core/types.js +7 -0
  105. package/dist/core/types.js.map +1 -0
  106. package/dist/generators/databases/mongodb.d.ts +10 -0
  107. package/dist/generators/databases/mongodb.d.ts.map +1 -0
  108. package/dist/generators/databases/mongodb.js +83 -0
  109. package/dist/generators/databases/mongodb.js.map +1 -0
  110. package/dist/generators/databases/redis.d.ts +2 -0
  111. package/dist/generators/databases/redis.d.ts.map +1 -0
  112. package/dist/generators/databases/redis.js +140 -0
  113. package/dist/generators/databases/redis.js.map +1 -0
  114. package/dist/generators/flutter.d.ts +32 -0
  115. package/dist/generators/flutter.d.ts.map +1 -0
  116. package/dist/generators/flutter.js +628 -0
  117. package/dist/generators/flutter.js.map +1 -0
  118. package/dist/openrouter.d.ts +68 -0
  119. package/dist/openrouter.d.ts.map +1 -0
  120. package/dist/openrouter.js +241 -0
  121. package/dist/openrouter.js.map +1 -0
  122. package/dist/page-generator.d.ts +22 -0
  123. package/dist/page-generator.d.ts.map +1 -0
  124. package/dist/page-generator.js +192 -0
  125. package/dist/page-generator.js.map +1 -0
  126. package/dist/parser.d.ts +76 -0
  127. package/dist/parser.d.ts.map +1 -0
  128. package/dist/parser.js +691 -0
  129. package/dist/parser.js.map +1 -0
  130. package/dist/prompts/master-architect.d.ts +9 -0
  131. package/dist/prompts/master-architect.d.ts.map +1 -0
  132. package/dist/prompts/master-architect.js +150 -0
  133. package/dist/prompts/master-architect.js.map +1 -0
  134. package/dist/researcher.d.ts +12 -0
  135. package/dist/researcher.d.ts.map +1 -0
  136. package/dist/researcher.js +85 -0
  137. package/dist/researcher.js.map +1 -0
  138. package/dist/self-heal.d.ts +29 -0
  139. package/dist/self-heal.d.ts.map +1 -0
  140. package/dist/self-heal.js +260 -0
  141. package/dist/self-heal.js.map +1 -0
  142. package/dist/services/SupabaseDeployer.d.ts +9 -0
  143. package/dist/services/SupabaseDeployer.d.ts.map +1 -0
  144. package/dist/services/SupabaseDeployer.js +50 -0
  145. package/dist/services/SupabaseDeployer.js.map +1 -0
  146. package/dist/test-generator.d.ts +18 -0
  147. package/dist/test-generator.d.ts.map +1 -0
  148. package/dist/test-generator.js +180 -0
  149. package/dist/test-generator.js.map +1 -0
  150. package/dist/themes/index.d.ts +52 -0
  151. package/dist/themes/index.d.ts.map +1 -0
  152. package/dist/themes/index.js +273 -0
  153. package/dist/themes/index.js.map +1 -0
  154. package/dist/types.d.ts +9 -0
  155. package/dist/types.d.ts.map +1 -0
  156. package/dist/types.js +81 -0
  157. package/dist/types.js.map +1 -0
  158. package/dist/utils/constitutional-validator.d.ts +73 -0
  159. package/dist/utils/constitutional-validator.d.ts.map +1 -0
  160. package/dist/utils/constitutional-validator.js +249 -0
  161. package/dist/utils/constitutional-validator.js.map +1 -0
  162. package/library/auth-flow/app/api/auth/[...nextauth]/route.ts +31 -0
  163. package/library/auth-flow/app/api/auth/login/route.ts +90 -0
  164. package/library/auth-flow/app/api/auth/register/route.ts +91 -0
  165. package/library/auth-flow/components/auth/AuthMiddleware.tsx +139 -0
  166. package/library/auth-flow/components/auth/LoginForm.tsx +125 -0
  167. package/library/auth-flow/components/auth/RegisterForm.tsx +168 -0
  168. package/library/auth-flow/components/auth/nextauth-config.ts +99 -0
  169. package/library/auth-flow/manifest.json +29 -0
  170. package/library/auth-flow/schema.prisma +45 -0
  171. package/library/dashboard-analytics/components/dashboard/ActivityFeed.tsx +109 -0
  172. package/library/dashboard-analytics/components/dashboard/LineChart.tsx +180 -0
  173. package/library/dashboard-analytics/components/dashboard/StatsCard.tsx +47 -0
  174. package/library/dashboard-analytics/components/dashboard/SummaryGrid.tsx +39 -0
  175. package/library/dashboard-analytics/manifest.json +19 -0
  176. package/library/data-table/components/table/BulkActions.tsx +59 -0
  177. package/library/data-table/components/table/ColumnToggle.tsx +65 -0
  178. package/library/data-table/components/table/DataTable.tsx +318 -0
  179. package/library/data-table/components/table/ExportCSV.tsx +52 -0
  180. package/library/data-table/components/table/SearchFilter.tsx +48 -0
  181. package/library/data-table/manifest.json +20 -0
  182. package/library/file-upload/app/api/upload/route.ts +107 -0
  183. package/library/file-upload/components/upload/DropZone.tsx +268 -0
  184. package/library/file-upload/components/upload/FilePreview.tsx +82 -0
  185. package/library/file-upload/components/upload/UploadProgress.tsx +92 -0
  186. package/library/file-upload/components/upload/fileStorage.ts +142 -0
  187. package/library/file-upload/manifest.json +21 -0
  188. package/library/notification-system/app/api/notifications/route.ts +121 -0
  189. package/library/notification-system/components/notifications/NotificationBell.tsx +154 -0
  190. package/library/notification-system/components/notifications/NotificationProvider.tsx +161 -0
  191. package/library/notification-system/components/notifications/Toast.tsx +112 -0
  192. package/library/notification-system/manifest.json +20 -0
  193. 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,6 @@
1
+ import { DeploymentPlatform } from "../core/types";
2
+ /**
3
+ * Main deploy entry point
4
+ */
5
+ export declare function deploy(platform: DeploymentPlatform, token?: string): Promise<void>;
6
+ //# sourceMappingURL=deploy.d.ts.map
@@ -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"}