@launchmatic/cli 0.3.0 → 0.4.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 +178 -0
- package/dist/c.js +14185 -260
- package/dist/index.js +25506 -46
- package/package.json +37 -36
- package/dist/api.d.ts +0 -7
- package/dist/api.d.ts.map +0 -1
- package/dist/api.js +0 -79
- package/dist/api.js.map +0 -1
- package/dist/c.d.ts +0 -11
- package/dist/c.d.ts.map +0 -1
- package/dist/c.js.map +0 -1
- package/dist/commands/api-key.d.ts +0 -3
- package/dist/commands/api-key.d.ts.map +0 -1
- package/dist/commands/api-key.js +0 -89
- package/dist/commands/api-key.js.map +0 -1
- package/dist/commands/browser.d.ts +0 -3
- package/dist/commands/browser.d.ts.map +0 -1
- package/dist/commands/browser.js +0 -410
- package/dist/commands/browser.js.map +0 -1
- package/dist/commands/db.d.ts +0 -3
- package/dist/commands/db.d.ts.map +0 -1
- package/dist/commands/db.js +0 -481
- package/dist/commands/db.js.map +0 -1
- package/dist/commands/deploy.d.ts +0 -3
- package/dist/commands/deploy.d.ts.map +0 -1
- package/dist/commands/deploy.js +0 -219
- package/dist/commands/deploy.js.map +0 -1
- package/dist/commands/deployments.d.ts +0 -3
- package/dist/commands/deployments.d.ts.map +0 -1
- package/dist/commands/deployments.js +0 -158
- package/dist/commands/deployments.js.map +0 -1
- package/dist/commands/destroy.d.ts +0 -3
- package/dist/commands/destroy.d.ts.map +0 -1
- package/dist/commands/destroy.js +0 -53
- package/dist/commands/destroy.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -3
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js +0 -160
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/domains.d.ts +0 -3
- package/dist/commands/domains.d.ts.map +0 -1
- package/dist/commands/domains.js +0 -38
- package/dist/commands/domains.js.map +0 -1
- package/dist/commands/env.d.ts +0 -3
- package/dist/commands/env.d.ts.map +0 -1
- package/dist/commands/env.js +0 -74
- package/dist/commands/env.js.map +0 -1
- package/dist/commands/infra.d.ts +0 -3
- package/dist/commands/infra.d.ts.map +0 -1
- package/dist/commands/infra.js +0 -193
- package/dist/commands/infra.js.map +0 -1
- package/dist/commands/init.d.ts +0 -3
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -239
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/lightspeed.d.ts +0 -3
- package/dist/commands/lightspeed.d.ts.map +0 -1
- package/dist/commands/lightspeed.js +0 -175
- package/dist/commands/lightspeed.js.map +0 -1
- package/dist/commands/login.d.ts +0 -3
- package/dist/commands/login.d.ts.map +0 -1
- package/dist/commands/login.js +0 -175
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logs.d.ts +0 -3
- package/dist/commands/logs.d.ts.map +0 -1
- package/dist/commands/logs.js +0 -49
- package/dist/commands/logs.js.map +0 -1
- package/dist/commands/preview.d.ts +0 -3
- package/dist/commands/preview.d.ts.map +0 -1
- package/dist/commands/preview.js +0 -96
- package/dist/commands/preview.js.map +0 -1
- package/dist/commands/quicklaunch.d.ts +0 -3
- package/dist/commands/quicklaunch.d.ts.map +0 -1
- package/dist/commands/quicklaunch.js +0 -452
- package/dist/commands/quicklaunch.js.map +0 -1
- package/dist/commands/repo.d.ts +0 -3
- package/dist/commands/repo.d.ts.map +0 -1
- package/dist/commands/repo.js +0 -433
- package/dist/commands/repo.js.map +0 -1
- package/dist/commands/status.d.ts +0 -3
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -77
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/usage.d.ts +0 -3
- package/dist/commands/usage.d.ts.map +0 -1
- package/dist/commands/usage.js +0 -95
- package/dist/commands/usage.js.map +0 -1
- package/dist/config.d.ts +0 -12
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -41
- package/dist/config.js.map +0 -1
- package/dist/connectors.d.ts +0 -16
- package/dist/connectors.d.ts.map +0 -1
- package/dist/connectors.js +0 -95
- package/dist/connectors.js.map +0 -1
- package/dist/context.d.ts +0 -10
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js +0 -32
- package/dist/context.js.map +0 -1
- package/dist/detect.d.ts +0 -20
- package/dist/detect.d.ts.map +0 -1
- package/dist/detect.js +0 -281
- package/dist/detect.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/commands/usage.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import ora from "ora";
|
|
3
|
-
import { api } from "../api.js";
|
|
4
|
-
import { isLoggedIn } from "../config.js";
|
|
5
|
-
import { readContext } from "../context.js";
|
|
6
|
-
export function registerUsage(program) {
|
|
7
|
-
const usage = program
|
|
8
|
-
.command("usage")
|
|
9
|
-
.description("View resource usage and metrics");
|
|
10
|
-
// ── lm usage summary ──
|
|
11
|
-
usage
|
|
12
|
-
.command("summary")
|
|
13
|
-
.description("Show aggregated usage stats for the current service")
|
|
14
|
-
.action(async () => {
|
|
15
|
-
if (!isLoggedIn()) {
|
|
16
|
-
console.error(chalk.red('Not logged in. Run "lm login" first.'));
|
|
17
|
-
process.exitCode = 1;
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
const ctx = readContext();
|
|
21
|
-
const spinner = ora("Fetching usage summary...").start();
|
|
22
|
-
try {
|
|
23
|
-
const { data } = await api(`/api/usage/summary?serviceId=${ctx.serviceId}`);
|
|
24
|
-
spinner.stop();
|
|
25
|
-
console.log(chalk.bold("\n Resource Usage\n"));
|
|
26
|
-
console.log(` ${chalk.bold("CPU")} avg ${fmtCpu(data.avgCpu)} peak ${fmtCpu(data.peakCpu)}`);
|
|
27
|
-
console.log(` ${chalk.bold("Memory")} avg ${fmtMem(data.avgMemory)} peak ${fmtMem(data.peakMemory)}`);
|
|
28
|
-
console.log(` ${chalk.bold("Network In")} ${data.totalNetworkIn.toFixed(1)} MB`);
|
|
29
|
-
console.log(` ${chalk.bold("Network Out")} ${data.totalNetworkOut.toFixed(1)} MB`);
|
|
30
|
-
console.log(` ${chalk.bold("Replicas")} ${data.currentReplicas}`);
|
|
31
|
-
console.log(chalk.bold("\n Deployments\n"));
|
|
32
|
-
console.log(` ${chalk.bold("Total")} ${data.totalDeploys}`);
|
|
33
|
-
console.log(` ${chalk.bold("Success Rate")} ${(data.successRate * 100).toFixed(0)}%`);
|
|
34
|
-
console.log(` ${chalk.bold("Avg Build")} ${data.avgBuildMinutes.toFixed(1)} min`);
|
|
35
|
-
console.log();
|
|
36
|
-
}
|
|
37
|
-
catch (err) {
|
|
38
|
-
spinner.fail(chalk.red(`Failed: ${err instanceof Error ? err.message : "Unknown error"}`));
|
|
39
|
-
process.exitCode = 1;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
// ── lm usage history ──
|
|
43
|
-
usage
|
|
44
|
-
.command("history")
|
|
45
|
-
.description("Show time-series resource snapshots")
|
|
46
|
-
.option("-h, --hours <hours>", "Hours of history", "24")
|
|
47
|
-
.action(async (opts) => {
|
|
48
|
-
if (!isLoggedIn()) {
|
|
49
|
-
console.error(chalk.red('Not logged in. Run "lm login" first.'));
|
|
50
|
-
process.exitCode = 1;
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const ctx = readContext();
|
|
54
|
-
const spinner = ora("Fetching usage history...").start();
|
|
55
|
-
try {
|
|
56
|
-
const { data } = await api(`/api/usage?serviceId=${ctx.serviceId}&hours=${opts.hours}`);
|
|
57
|
-
spinner.stop();
|
|
58
|
-
if (data.length === 0) {
|
|
59
|
-
console.log(chalk.dim("No usage data available yet."));
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
console.log(chalk.bold(padR("TIME", 22) +
|
|
63
|
-
padR("CPU", 10) +
|
|
64
|
-
padR("MEM", 10) +
|
|
65
|
-
padR("NET IN", 10) +
|
|
66
|
-
padR("NET OUT", 10) +
|
|
67
|
-
"REPLICAS"));
|
|
68
|
-
for (const snap of data) {
|
|
69
|
-
const ts = new Date(snap.timestamp).toLocaleString(undefined, {
|
|
70
|
-
month: "short", day: "numeric", hour: "2-digit", minute: "2-digit",
|
|
71
|
-
});
|
|
72
|
-
console.log(padR(ts, 22) +
|
|
73
|
-
padR(fmtCpu(snap.cpuMillicores), 10) +
|
|
74
|
-
padR(fmtMem(snap.memoryMb), 10) +
|
|
75
|
-
padR(`${snap.networkInMb.toFixed(1)}MB`, 10) +
|
|
76
|
-
padR(`${snap.networkOutMb.toFixed(1)}MB`, 10) +
|
|
77
|
-
String(snap.replicas));
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
spinner.fail(chalk.red(`Failed: ${err instanceof Error ? err.message : "Unknown error"}`));
|
|
82
|
-
process.exitCode = 1;
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
function fmtCpu(m) {
|
|
87
|
-
return m >= 1000 ? `${(m / 1000).toFixed(1)} cores` : `${m}m`;
|
|
88
|
-
}
|
|
89
|
-
function fmtMem(mb) {
|
|
90
|
-
return mb >= 1024 ? `${(mb / 1024).toFixed(1)} GB` : `${mb.toFixed(0)} MB`;
|
|
91
|
-
}
|
|
92
|
-
function padR(s, n) {
|
|
93
|
-
return s + " ".repeat(Math.max(0, n - s.length));
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=usage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/commands/usage.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare function getApiUrl(): string;
|
|
2
|
-
export declare function setApiUrl(url: string): void;
|
|
3
|
-
export declare function getTokens(): {
|
|
4
|
-
accessToken: string;
|
|
5
|
-
refreshToken: string;
|
|
6
|
-
};
|
|
7
|
-
export declare function setTokens(accessToken: string, refreshToken: string): void;
|
|
8
|
-
export declare function getUsername(): string;
|
|
9
|
-
export declare function setUsername(username: string): void;
|
|
10
|
-
export declare function clearAuth(): void;
|
|
11
|
-
export declare function isLoggedIn(): boolean;
|
|
12
|
-
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAmBA,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,SAAS,IAAI;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAKzE;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAGzE;AAED,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,SAAS,IAAI,IAAI,CAIhC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAEpC"}
|
package/dist/config.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import Conf from "conf";
|
|
2
|
-
const store = new Conf({
|
|
3
|
-
projectName: "launchmatic",
|
|
4
|
-
schema: {
|
|
5
|
-
apiUrl: { type: "string", default: "https://api.launchmatic.io" },
|
|
6
|
-
accessToken: { type: "string", default: "" },
|
|
7
|
-
refreshToken: { type: "string", default: "" },
|
|
8
|
-
username: { type: "string", default: "" },
|
|
9
|
-
},
|
|
10
|
-
});
|
|
11
|
-
export function getApiUrl() {
|
|
12
|
-
return process.env.LM_API_URL || store.get("apiUrl");
|
|
13
|
-
}
|
|
14
|
-
export function setApiUrl(url) {
|
|
15
|
-
store.set("apiUrl", url);
|
|
16
|
-
}
|
|
17
|
-
export function getTokens() {
|
|
18
|
-
return {
|
|
19
|
-
accessToken: store.get("accessToken"),
|
|
20
|
-
refreshToken: store.get("refreshToken"),
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export function setTokens(accessToken, refreshToken) {
|
|
24
|
-
store.set("accessToken", accessToken);
|
|
25
|
-
store.set("refreshToken", refreshToken);
|
|
26
|
-
}
|
|
27
|
-
export function getUsername() {
|
|
28
|
-
return store.get("username");
|
|
29
|
-
}
|
|
30
|
-
export function setUsername(username) {
|
|
31
|
-
store.set("username", username);
|
|
32
|
-
}
|
|
33
|
-
export function clearAuth() {
|
|
34
|
-
store.delete("accessToken");
|
|
35
|
-
store.delete("refreshToken");
|
|
36
|
-
store.delete("username");
|
|
37
|
-
}
|
|
38
|
-
export function isLoggedIn() {
|
|
39
|
-
return !!store.get("accessToken");
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AASxB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAY;IAChC,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE;QACN,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,4BAA4B,EAAE;QACjE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5C,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC7C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;KAC1C;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;QACrC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,WAAmB,EAAE,YAAoB;IACjE,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACtC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5B,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC7B,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/connectors.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface ConnectorInfo {
|
|
2
|
-
service: string;
|
|
3
|
-
url: string;
|
|
4
|
-
hint: string;
|
|
5
|
-
autoValue?: string;
|
|
6
|
-
}
|
|
7
|
-
export declare function getConnector(envKey: string, appName?: string): ConnectorInfo | null;
|
|
8
|
-
/**
|
|
9
|
-
* Detect required environment variables from .env.example, .env.local.example, or .env
|
|
10
|
-
*/
|
|
11
|
-
export declare function detectEnvVars(cwd: string): string[];
|
|
12
|
-
/**
|
|
13
|
-
* Format connector info for CLI display
|
|
14
|
-
*/
|
|
15
|
-
export declare function formatConnectorLine(key: string, connector: ConnectorInfo | null): string;
|
|
16
|
-
//# sourceMappingURL=connectors.d.ts.map
|
package/dist/connectors.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../src/connectors.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0CD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAKnF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BnD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,GAAG,MAAM,CAQxF"}
|
package/dist/connectors.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import { randomBytes } from "node:crypto";
|
|
4
|
-
import chalk from "chalk";
|
|
5
|
-
const CONNECTOR_REGISTRY = [
|
|
6
|
-
// Stripe
|
|
7
|
-
{ pattern: /^STRIPE_(SECRET|PUBLISHABLE|API)_KEY$/i, info: () => ({ service: "Stripe", url: "https://dashboard.stripe.com/apikeys", hint: "Copy your Secret key" }) },
|
|
8
|
-
{ pattern: /^STRIPE_WEBHOOK_SECRET$/i, info: () => ({ service: "Stripe", url: "https://dashboard.stripe.com/webhooks", hint: "Create webhook and copy signing secret" }) },
|
|
9
|
-
// OpenAI
|
|
10
|
-
{ pattern: /^OPENAI_API_KEY$/i, info: () => ({ service: "OpenAI", url: "https://platform.openai.com/api-keys", hint: "Create a new API key" }) },
|
|
11
|
-
// Anthropic
|
|
12
|
-
{ pattern: /^ANTHROPIC_API_KEY$/i, info: () => ({ service: "Anthropic", url: "https://console.anthropic.com/settings/keys", hint: "Create a new API key" }) },
|
|
13
|
-
// Supabase
|
|
14
|
-
{ pattern: /^(NEXT_PUBLIC_)?SUPABASE_(URL|ANON_KEY|SERVICE_ROLE_KEY)$/i, info: () => ({ service: "Supabase", url: "https://supabase.com/dashboard/project/_/settings/api", hint: "Project Settings → API" }) },
|
|
15
|
-
// Firebase
|
|
16
|
-
{ pattern: /^(NEXT_PUBLIC_)?FIREBASE_(API_KEY|AUTH_DOMAIN|PROJECT_ID)$/i, info: () => ({ service: "Firebase", url: "https://console.firebase.google.com/", hint: "Project Settings → General → Config" }) },
|
|
17
|
-
// Resend
|
|
18
|
-
{ pattern: /^RESEND_API_KEY$/i, info: () => ({ service: "Resend", url: "https://resend.com/api-keys", hint: "Create an API key" }) },
|
|
19
|
-
// SendGrid
|
|
20
|
-
{ pattern: /^SENDGRID_API_KEY$/i, info: () => ({ service: "SendGrid", url: "https://app.sendgrid.com/settings/api_keys", hint: "Create an API key" }) },
|
|
21
|
-
// Twilio
|
|
22
|
-
{ pattern: /^TWILIO_(ACCOUNT_SID|AUTH_TOKEN|PHONE_NUMBER)$/i, info: () => ({ service: "Twilio", url: "https://console.twilio.com/", hint: "Console dashboard" }) },
|
|
23
|
-
// Clerk
|
|
24
|
-
{ pattern: /^(NEXT_PUBLIC_)?CLERK_(PUBLISHABLE_KEY|SECRET_KEY)$/i, info: () => ({ service: "Clerk", url: "https://dashboard.clerk.com/", hint: "API Keys section" }) },
|
|
25
|
-
// Auth0
|
|
26
|
-
{ pattern: /^AUTH0_(SECRET|CLIENT_ID|CLIENT_SECRET|ISSUER_BASE_URL)$/i, info: () => ({ service: "Auth0", url: "https://manage.auth0.com/dashboard", hint: "Applications → Settings" }) },
|
|
27
|
-
// Cloudinary
|
|
28
|
-
{ pattern: /^CLOUDINARY_(CLOUD_NAME|API_KEY|API_SECRET|URL)$/i, info: () => ({ service: "Cloudinary", url: "https://console.cloudinary.com/settings/api-keys", hint: "Dashboard or API Keys page" }) },
|
|
29
|
-
// AWS
|
|
30
|
-
{ pattern: /^AWS_(ACCESS_KEY_ID|SECRET_ACCESS_KEY|REGION)$/i, info: () => ({ service: "AWS", url: "https://console.aws.amazon.com/iam/home#/security_credentials", hint: "IAM → Security credentials" }) },
|
|
31
|
-
// GitHub
|
|
32
|
-
{ pattern: /^GITHUB_(TOKEN|CLIENT_ID|CLIENT_SECRET)$/i, info: () => ({ service: "GitHub", url: "https://github.com/settings/tokens", hint: "Generate personal access token" }) },
|
|
33
|
-
// Google Maps
|
|
34
|
-
{ pattern: /^(NEXT_PUBLIC_)?GOOGLE_MAPS_API_KEY$/i, info: () => ({ service: "Google Maps", url: "https://console.cloud.google.com/apis/credentials", hint: "Create API key" }) },
|
|
35
|
-
// ─── Auto-filled internal resources ───
|
|
36
|
-
{ pattern: /^DATABASE_URL$/i, info: () => ({ service: "Database", url: "", hint: "Auto-provisioned by Launchmatic", autoValue: "auto-provisioned" }) },
|
|
37
|
-
{ pattern: /^REDIS_URL$/i, info: () => ({ service: "Redis", url: "", hint: "Auto-provisioned by Launchmatic", autoValue: "auto-provisioned" }) },
|
|
38
|
-
{ pattern: /^(JWT_SECRET|SESSION_SECRET|NEXTAUTH_SECRET|SECRET_KEY|APP_SECRET|ENCRYPTION_KEY)$/i, info: () => ({ service: "Secret", url: "", hint: "Auto-generated", autoValue: randomBytes(32).toString("hex") }) },
|
|
39
|
-
{ pattern: /^(NEXT_PUBLIC_)?(APP_URL|BASE_URL|SITE_URL|NEXTAUTH_URL)$/i, info: () => ({ service: "URL", url: "", hint: "Auto-set to deployment URL after first deploy", autoValue: "auto-provisioned" }) },
|
|
40
|
-
{ pattern: /^NODE_ENV$/i, info: () => ({ service: "Node", url: "", hint: "Production environment", autoValue: "production" }) },
|
|
41
|
-
{ pattern: /^PORT$/i, info: () => ({ service: "Port", url: "", hint: "Set by platform", autoValue: "3000" }) },
|
|
42
|
-
];
|
|
43
|
-
export function getConnector(envKey, appName) {
|
|
44
|
-
for (const entry of CONNECTOR_REGISTRY) {
|
|
45
|
-
if (entry.pattern.test(envKey))
|
|
46
|
-
return entry.info(appName);
|
|
47
|
-
}
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Detect required environment variables from .env.example, .env.local.example, or .env
|
|
52
|
-
*/
|
|
53
|
-
export function detectEnvVars(cwd) {
|
|
54
|
-
const envFiles = [".env.example", ".env.local.example", ".env.sample", ".env"];
|
|
55
|
-
for (const file of envFiles) {
|
|
56
|
-
const filePath = join(cwd, file);
|
|
57
|
-
if (existsSync(filePath)) {
|
|
58
|
-
try {
|
|
59
|
-
const content = readFileSync(filePath, "utf-8");
|
|
60
|
-
const keys = [];
|
|
61
|
-
for (const line of content.split("\n")) {
|
|
62
|
-
const trimmed = line.trim();
|
|
63
|
-
if (!trimmed || trimmed.startsWith("#"))
|
|
64
|
-
continue;
|
|
65
|
-
const match = trimmed.match(/^([A-Z][A-Z0-9_]*)=/);
|
|
66
|
-
if (match) {
|
|
67
|
-
const key = match[1];
|
|
68
|
-
// Skip keys that already have real values (not placeholders)
|
|
69
|
-
const value = trimmed.slice(key.length + 1).trim();
|
|
70
|
-
if (!value || value === '""' || value === "''" || value.startsWith("your_") || value.startsWith("sk_test_") || value.includes("xxx") || value.includes("CHANGE_ME")) {
|
|
71
|
-
keys.push(key);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
if (keys.length > 0)
|
|
76
|
-
return keys;
|
|
77
|
-
}
|
|
78
|
-
catch { /* ignore */ }
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return [];
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Format connector info for CLI display
|
|
85
|
-
*/
|
|
86
|
-
export function formatConnectorLine(key, connector) {
|
|
87
|
-
if (!connector) {
|
|
88
|
-
return ` ${chalk.yellow("?")} ${chalk.bold(key)} ${chalk.dim("— manual entry required")}`;
|
|
89
|
-
}
|
|
90
|
-
if (connector.autoValue) {
|
|
91
|
-
return ` ${chalk.green("✓")} ${chalk.bold(key)} ${chalk.dim(`← ${connector.hint}`)}`;
|
|
92
|
-
}
|
|
93
|
-
return ` ${chalk.cyan("→")} ${chalk.bold(key)} ${chalk.dim(`← ${connector.service}`)} ${chalk.cyan.underline(connector.url)}`;
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=connectors.js.map
|
package/dist/connectors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connectors.js","sourceRoot":"","sources":["../src/connectors.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface ProjectContext {
|
|
2
|
-
projectId: string;
|
|
3
|
-
serviceId: string;
|
|
4
|
-
teamId: string;
|
|
5
|
-
}
|
|
6
|
-
export declare function readContext(): ProjectContext;
|
|
7
|
-
export declare function writeContext(ctx: ProjectContext): void;
|
|
8
|
-
export declare function contextExists(): boolean;
|
|
9
|
-
export declare function removeContext(): void;
|
|
10
|
-
//# sourceMappingURL=context.d.ts.map
|
package/dist/context.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,WAAW,IAAI,cAAc,CAe5C;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAEtD;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}
|
package/dist/context.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { readFileSync, writeFileSync, existsSync, unlinkSync } from "node:fs";
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
|
-
const CONFIG_FILE = ".launchmatic.json";
|
|
4
|
-
function configPath() {
|
|
5
|
-
return resolve(process.cwd(), CONFIG_FILE);
|
|
6
|
-
}
|
|
7
|
-
export function readContext() {
|
|
8
|
-
const path = configPath();
|
|
9
|
-
if (!existsSync(path)) {
|
|
10
|
-
throw new Error(`No ${CONFIG_FILE} found in current directory. Run "lm init" first.`);
|
|
11
|
-
}
|
|
12
|
-
const raw = readFileSync(path, "utf-8");
|
|
13
|
-
try {
|
|
14
|
-
return JSON.parse(raw);
|
|
15
|
-
}
|
|
16
|
-
catch {
|
|
17
|
-
throw new Error(`${CONFIG_FILE} is corrupted. Delete it and run "lm init" to recreate.`);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
export function writeContext(ctx) {
|
|
21
|
-
writeFileSync(configPath(), JSON.stringify(ctx, null, 2) + "\n");
|
|
22
|
-
}
|
|
23
|
-
export function contextExists() {
|
|
24
|
-
return existsSync(configPath());
|
|
25
|
-
}
|
|
26
|
-
export function removeContext() {
|
|
27
|
-
const path = configPath();
|
|
28
|
-
if (existsSync(path)) {
|
|
29
|
-
unlinkSync(path);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=context.js.map
|
package/dist/context.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAQxC,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,MAAM,WAAW,mDAAmD,CACrE,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,yDAAyD,CACxE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAmB;IAC9C,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
|
package/dist/detect.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export interface DetectionResult {
|
|
2
|
-
runtime: string;
|
|
3
|
-
framework?: string;
|
|
4
|
-
buildCmd?: string;
|
|
5
|
-
startCmd?: string;
|
|
6
|
-
port: number;
|
|
7
|
-
confidence: "high" | "low";
|
|
8
|
-
}
|
|
9
|
-
export interface GitInfo {
|
|
10
|
-
repoOwner?: string;
|
|
11
|
-
repoName?: string;
|
|
12
|
-
repoBranch: string;
|
|
13
|
-
commitSha?: string;
|
|
14
|
-
hasUncommitted: boolean;
|
|
15
|
-
hasUnpushed: boolean;
|
|
16
|
-
hasRemote: boolean;
|
|
17
|
-
}
|
|
18
|
-
export declare function detectLocal(cwd: string): DetectionResult;
|
|
19
|
-
export declare function getGitInfo(cwd: string): GitInfo;
|
|
20
|
-
//# sourceMappingURL=detect.d.ts.map
|
package/dist/detect.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAyLxD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAuE/C"}
|