alpic 0.0.0-dev.ff063bb → 0.0.0-dev.ff13ae5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/auth.e2e.test.d.ts +1 -0
- package/dist/__tests__/auth.e2e.test.js +142 -0
- package/dist/__tests__/auth.e2e.test.js.map +1 -0
- package/dist/__tests__/deploy-flags.e2e.test.d.ts +1 -0
- package/dist/__tests__/deploy-flags.e2e.test.js +111 -0
- package/dist/__tests__/deploy-flags.e2e.test.js.map +1 -0
- package/dist/__tests__/deploy.e2e.test.d.ts +1 -0
- package/dist/__tests__/deploy.e2e.test.js +168 -0
- package/dist/__tests__/deploy.e2e.test.js.map +1 -0
- package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.d.ts +1 -0
- package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js +250 -0
- package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js.map +1 -0
- package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.d.ts +1 -0
- package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js +121 -0
- package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js.map +1 -0
- package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.d.ts +1 -0
- package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js +139 -0
- package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js.map +1 -0
- package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.d.ts +1 -0
- package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js +319 -0
- package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js.map +1 -0
- package/dist/__tests__/environment-variable/environment-variable-validation.test.d.ts +1 -0
- package/dist/__tests__/environment-variable/environment-variable-validation.test.js +20 -0
- package/dist/__tests__/environment-variable/environment-variable-validation.test.js.map +1 -0
- package/dist/__tests__/fixtures/demo-project/index.d.ts +1 -0
- package/dist/__tests__/fixtures/demo-project/index.js +4 -0
- package/dist/__tests__/fixtures/demo-project/index.js.map +1 -0
- package/dist/__tests__/git-flags.e2e.test.d.ts +1 -0
- package/dist/__tests__/git-flags.e2e.test.js +124 -0
- package/dist/__tests__/git-flags.e2e.test.js.map +1 -0
- package/dist/__tests__/git.e2e.test.d.ts +1 -0
- package/dist/__tests__/git.e2e.test.js +221 -0
- package/dist/__tests__/git.e2e.test.js.map +1 -0
- package/dist/__tests__/mock-server.d.ts +23 -0
- package/dist/__tests__/mock-server.js +583 -0
- package/dist/__tests__/mock-server.js.map +1 -0
- package/dist/__tests__/utils.d.ts +67 -0
- package/dist/__tests__/utils.js +255 -0
- package/dist/__tests__/utils.js.map +1 -0
- package/dist/api.d.ts +3 -9
- package/dist/api.js +14 -32
- package/dist/api.js.map +1 -1
- package/dist/commands/deploy.d.ts +7 -4
- package/dist/commands/deploy.js +63 -31
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/environment-variable/add.d.ts +14 -0
- package/dist/commands/environment-variable/add.js +46 -0
- package/dist/commands/environment-variable/add.js.map +1 -0
- package/dist/commands/environment-variable/list.d.ts +9 -0
- package/dist/commands/environment-variable/list.js +44 -0
- package/dist/commands/environment-variable/list.js.map +1 -0
- package/dist/commands/environment-variable/remove.d.ts +11 -0
- package/dist/commands/environment-variable/remove.js +32 -0
- package/dist/commands/environment-variable/remove.js.map +1 -0
- package/dist/commands/environment-variable/update.d.ts +13 -0
- package/dist/commands/environment-variable/update.js +40 -0
- package/dist/commands/environment-variable/update.js.map +1 -0
- package/dist/commands/git/connect.d.ts +10 -0
- package/dist/commands/git/connect.js +58 -0
- package/dist/commands/git/connect.js.map +1 -0
- package/dist/commands/git/disconnect.d.ts +9 -0
- package/dist/commands/git/disconnect.js +41 -0
- package/dist/commands/git/disconnect.js.map +1 -0
- package/dist/commands/git.d.ts +6 -0
- package/dist/commands/git.js +17 -0
- package/dist/commands/git.js.map +1 -0
- package/dist/commands/login.d.ts +6 -0
- package/dist/commands/login.js +32 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +6 -0
- package/dist/commands/logout.js +20 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/telemetry/disable.d.ts +5 -0
- package/dist/commands/telemetry/disable.js +14 -0
- package/dist/commands/telemetry/disable.js.map +1 -0
- package/dist/commands/telemetry/enable.d.ts +5 -0
- package/dist/commands/telemetry/enable.js +13 -0
- package/dist/commands/telemetry/enable.js.map +1 -0
- package/dist/commands/telemetry/status.d.ts +5 -0
- package/dist/commands/telemetry/status.js +19 -0
- package/dist/commands/telemetry/status.js.map +1 -0
- package/dist/commands/whoami.d.ts +6 -0
- package/dist/commands/whoami.js +13 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/env.d.ts +4 -0
- package/dist/env.js +10 -0
- package/dist/env.js.map +1 -0
- package/dist/lib/alpic-command.d.ts +6 -0
- package/dist/lib/alpic-command.js +27 -0
- package/dist/lib/alpic-command.js.map +1 -0
- package/dist/lib/archive.d.ts +3 -3
- package/dist/lib/archive.js +11 -15
- package/dist/lib/archive.js.map +1 -1
- package/dist/lib/auth/auth.d.ts +2 -0
- package/dist/lib/auth/auth.js +21 -0
- package/dist/lib/auth/auth.js.map +1 -0
- package/dist/lib/auth/oauth/client.d.ts +28 -0
- package/dist/lib/auth/oauth/client.js +110 -0
- package/dist/lib/auth/oauth/client.js.map +1 -0
- package/dist/lib/auth/oauth/constants.d.ts +2 -0
- package/dist/lib/auth/oauth/constants.js +3 -0
- package/dist/lib/auth/oauth/constants.js.map +1 -0
- package/dist/lib/auth/oauth/server/assets/alpic-mountain.png +0 -0
- package/dist/lib/auth/oauth/server/assets/authorize.html +195 -0
- package/dist/lib/auth/oauth/server/assets/callback.html +88 -0
- package/dist/lib/auth/oauth/server/index.d.ts +8 -0
- package/dist/lib/auth/oauth/server/index.js +102 -0
- package/dist/lib/auth/oauth/server/index.js.map +1 -0
- package/dist/lib/auth/whoami.d.ts +1 -0
- package/dist/lib/auth/whoami.js +41 -0
- package/dist/lib/auth/whoami.js.map +1 -0
- package/dist/lib/base-workflow.d.ts +10 -0
- package/dist/lib/base-workflow.js +22 -0
- package/dist/lib/base-workflow.js.map +1 -0
- package/dist/lib/config.d.ts +2 -2
- package/dist/lib/config.js +7 -7
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/deployment.d.ts +20 -0
- package/dist/lib/deployment.js +42 -0
- package/dist/lib/deployment.js.map +1 -0
- package/dist/lib/environment-variable.d.ts +41 -0
- package/dist/lib/environment-variable.js +304 -0
- package/dist/lib/environment-variable.js.map +1 -0
- package/dist/lib/git.d.ts +22 -0
- package/dist/lib/git.js +131 -0
- package/dist/lib/git.js.map +1 -0
- package/dist/lib/global-store.d.ts +28 -0
- package/dist/lib/global-store.js +76 -0
- package/dist/lib/global-store.js.map +1 -0
- package/dist/lib/project.d.ts +71 -10
- package/dist/lib/project.js +274 -124
- package/dist/lib/project.js.map +1 -1
- package/dist/lib/table.d.ts +8 -0
- package/dist/lib/table.js +27 -0
- package/dist/lib/table.js.map +1 -0
- package/dist/lib/telemetry.d.ts +7 -0
- package/dist/lib/telemetry.js +66 -0
- package/dist/lib/telemetry.js.map +1 -0
- package/dist/lib/utils.d.ts +1 -0
- package/dist/lib/utils.js +17 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/utils.test.d.ts +1 -0
- package/dist/lib/utils.test.js +14 -0
- package/dist/lib/utils.test.js.map +1 -0
- package/dist/posthog.d.ts +3 -0
- package/dist/posthog.js +10 -0
- package/dist/posthog.js.map +1 -0
- package/dist/types.d.ts +0 -34
- package/package.json +35 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/environment-variable/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEtG,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IACtD,MAAM,CAAU,WAAW,GAAG,yDAAyD,CAAC;IAExF,MAAM,CAAU,QAAQ,GAAG;QACzB,4CAA4C;QAC5C,+FAA+F;QAC/F,gFAAgF;QAChF,4DAA4D;QAC5D,6FAA6F;KAC9F,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,gCAAgC;YAC7C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,WAAW,EAAE,mEAAmE;YAChF,OAAO,EAAE,IAAI;SACd,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EAAE,sFAAsF;YACnG,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,0EAA0E;YACvF,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAE3D,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAElD,MAAM,IAAI,2BAA2B,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
2
|
+
export declare class EnvironmentVariableList extends AlpicCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"environment-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
};
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as p from "@clack/prompts";
|
|
2
|
+
import { Flags } from "@oclif/core";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
5
|
+
import { fetchEnvironmentVariables, resolveEnvironmentId } from "../../lib/environment-variable.js";
|
|
6
|
+
import { formatTable } from "../../lib/table.js";
|
|
7
|
+
import { formatAgo } from "../../lib/utils.js";
|
|
8
|
+
export class EnvironmentVariableList extends AlpicCommand {
|
|
9
|
+
static description = "List all environment variables for an environment";
|
|
10
|
+
static examples = [
|
|
11
|
+
"<%= config.bin %> environment-variable list",
|
|
12
|
+
"<%= config.bin %> environment-variable list --environment-id <environmentId>",
|
|
13
|
+
];
|
|
14
|
+
static flags = {
|
|
15
|
+
"environment-id": Flags.string({
|
|
16
|
+
description: "The ID of the environment",
|
|
17
|
+
required: false,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
const { flags } = await this.parse(EnvironmentVariableList);
|
|
22
|
+
await this.ensureAuthenticated();
|
|
23
|
+
const environmentId = resolveEnvironmentId(flags);
|
|
24
|
+
const environmentVariables = await fetchEnvironmentVariables(environmentId);
|
|
25
|
+
if (environmentVariables.length === 0) {
|
|
26
|
+
p.log.info("No environment variables defined.");
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const rows = environmentVariables.map((variable) => ({
|
|
30
|
+
...variable,
|
|
31
|
+
createdAt: formatAgo(variable.createdAt),
|
|
32
|
+
}));
|
|
33
|
+
console.log(formatTable(rows, [
|
|
34
|
+
{ key: "key", header: "key", format: (value) => chalk.cyan(value) },
|
|
35
|
+
{
|
|
36
|
+
key: "value",
|
|
37
|
+
header: "value",
|
|
38
|
+
format: (value, row) => (row.isSecret ? chalk.gray.italic("<secret>") : chalk.bold(value)),
|
|
39
|
+
},
|
|
40
|
+
{ key: "createdAt", header: "created at" },
|
|
41
|
+
]));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/environment-variable/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,OAAO,uBAAwB,SAAQ,YAAY;IACvD,MAAM,CAAU,WAAW,GAAG,mDAAmD,CAAC;IAElF,MAAM,CAAU,QAAQ,GAAG;QACzB,6CAA6C;QAC7C,8EAA8E;KAC/E,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,oBAAoB,GAAG,MAAM,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAE5E,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACnD,GAAG,QAAQ;YACX,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;SACzC,CAAC,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,IAAI,EAAE;YAChB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACnE;gBACE,GAAG,EAAE,OAAO;gBACZ,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3F;YACD,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE;SAC3C,CAAC,CACH,CAAC;IACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
2
|
+
export declare class EnvironmentVariableRemove extends AlpicCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"environment-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
key: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
"non-interactive": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
3
|
+
import { EnvironmentVariableWorkflow, resolveEnvironmentId } from "../../lib/environment-variable.js";
|
|
4
|
+
export class EnvironmentVariableRemove extends AlpicCommand {
|
|
5
|
+
static description = "Remove an environment variable";
|
|
6
|
+
static examples = [
|
|
7
|
+
"<%= config.bin %> environment-variable remove",
|
|
8
|
+
"<%= config.bin %> environment-variable remove --key DATABASE_URL",
|
|
9
|
+
"<%= config.bin %> environment-variable remove --key DATABASE_URL --environment-id <environmentId>",
|
|
10
|
+
];
|
|
11
|
+
static flags = {
|
|
12
|
+
"environment-id": Flags.string({
|
|
13
|
+
description: "The ID of the environment",
|
|
14
|
+
required: false,
|
|
15
|
+
}),
|
|
16
|
+
key: Flags.string({
|
|
17
|
+
description: "The key of the environment variable to remove",
|
|
18
|
+
required: false,
|
|
19
|
+
}),
|
|
20
|
+
"non-interactive": Flags.boolean({
|
|
21
|
+
description: "Disable interactive prompts. Requires --key.",
|
|
22
|
+
default: false,
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
async run() {
|
|
26
|
+
const { flags } = await this.parse(EnvironmentVariableRemove);
|
|
27
|
+
await this.ensureAuthenticated();
|
|
28
|
+
const environmentId = resolveEnvironmentId(flags);
|
|
29
|
+
await new EnvironmentVariableWorkflow(flags).remove(environmentId);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/commands/environment-variable/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEtG,MAAM,OAAO,yBAA0B,SAAQ,YAAY;IACzD,MAAM,CAAU,WAAW,GAAG,gCAAgC,CAAC;IAE/D,MAAM,CAAU,QAAQ,GAAG;QACzB,+CAA+C;QAC/C,kEAAkE;QAClE,mGAAmG;KACpG,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,8CAA8C;YAC3D,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE9D,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAElD,MAAM,IAAI,2BAA2B,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACrE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
2
|
+
export declare class EnvironmentVariableUpdate extends AlpicCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"environment-id": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
key: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
value: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
secret: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
"non-interactive": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
3
|
+
import { EnvironmentVariableWorkflow, resolveEnvironmentId } from "../../lib/environment-variable.js";
|
|
4
|
+
export class EnvironmentVariableUpdate extends AlpicCommand {
|
|
5
|
+
static description = "Update the value and/or secret status of an environment variable";
|
|
6
|
+
static examples = [
|
|
7
|
+
"<%= config.bin %> environment-variable update",
|
|
8
|
+
"<%= config.bin %> environment-variable update --key DATABASE_URL --value postgres://prod/db",
|
|
9
|
+
"<%= config.bin %> environment-variable update --key PORT --value 8080 --environment-id <environmentId>",
|
|
10
|
+
];
|
|
11
|
+
static flags = {
|
|
12
|
+
"environment-id": Flags.string({
|
|
13
|
+
description: "The ID of the environment",
|
|
14
|
+
required: false,
|
|
15
|
+
}),
|
|
16
|
+
key: Flags.string({
|
|
17
|
+
description: "The key of the environment variable to update",
|
|
18
|
+
required: false,
|
|
19
|
+
}),
|
|
20
|
+
value: Flags.string({
|
|
21
|
+
description: "The new value (omit to keep the current value)",
|
|
22
|
+
required: false,
|
|
23
|
+
}),
|
|
24
|
+
secret: Flags.boolean({
|
|
25
|
+
description: "Mark the variable as secret. Use --no-secret to make it visible.",
|
|
26
|
+
allowNo: true,
|
|
27
|
+
}),
|
|
28
|
+
"non-interactive": Flags.boolean({
|
|
29
|
+
description: "Disable interactive prompts. Requires --key and one of --value or --secret/--no-secret.",
|
|
30
|
+
default: false,
|
|
31
|
+
}),
|
|
32
|
+
};
|
|
33
|
+
async run() {
|
|
34
|
+
const { flags } = await this.parse(EnvironmentVariableUpdate);
|
|
35
|
+
await this.ensureAuthenticated();
|
|
36
|
+
const environmentId = resolveEnvironmentId(flags);
|
|
37
|
+
await new EnvironmentVariableWorkflow(flags).update(environmentId);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/environment-variable/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEtG,MAAM,OAAO,yBAA0B,SAAQ,YAAY;IACzD,MAAM,CAAU,WAAW,GAAG,kEAAkE,CAAC;IAEjG,MAAM,CAAU,QAAQ,GAAG;QACzB,+CAA+C;QAC/C,6FAA6F;QAC7F,wGAAwG;KACzG,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,WAAW,EAAE,kEAAkE;YAC/E,OAAO,EAAE,IAAI;SACd,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,yFAAyF;YACtG,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE9D,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAElD,MAAM,IAAI,2BAA2B,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACrE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
2
|
+
export default class GitConnect extends AlpicCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"non-interactive": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
"remote-name": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
};
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as p from "@clack/prompts";
|
|
2
|
+
import { Flags } from "@oclif/core";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import { api } from "../../api.js";
|
|
5
|
+
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
6
|
+
import { config } from "../../lib/config.js";
|
|
7
|
+
import { GitWorkflow, confirmLinkAnotherIfAlreadyConnected, isGitRepository, listGithubRemotes, showGitSetupInstructions, } from "../../lib/git.js";
|
|
8
|
+
export default class GitConnect extends AlpicCommand {
|
|
9
|
+
static description = "Connect a linked Alpic project to a git remote source";
|
|
10
|
+
static examples = [
|
|
11
|
+
"<%= config.bin %> git connect",
|
|
12
|
+
"<%= config.bin %> git connect --non-interactive",
|
|
13
|
+
"<%= config.bin %> git connect --remote-name origin",
|
|
14
|
+
];
|
|
15
|
+
static flags = {
|
|
16
|
+
"non-interactive": Flags.boolean({
|
|
17
|
+
description: "Automatically select the remote when only one is available",
|
|
18
|
+
default: false,
|
|
19
|
+
}),
|
|
20
|
+
"remote-name": Flags.string({
|
|
21
|
+
description: "Name of the remote to connect",
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
const { flags } = await this.parse(GitConnect);
|
|
26
|
+
p.intro("Connecting git repository to Alpic");
|
|
27
|
+
await this.ensureAuthenticated();
|
|
28
|
+
const linkedConfig = config.load();
|
|
29
|
+
if (!linkedConfig) {
|
|
30
|
+
throw new Error("This directory is not linked to an Alpic project. Link it first using `alpic deploy`.");
|
|
31
|
+
}
|
|
32
|
+
if (!isGitRepository()) {
|
|
33
|
+
p.log.message("This directory is not a git repository.");
|
|
34
|
+
showGitSetupInstructions();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const remotes = listGithubRemotes();
|
|
38
|
+
if (remotes.length === 0) {
|
|
39
|
+
p.log.message("This git repository has no remotes configured.");
|
|
40
|
+
showGitSetupInstructions();
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const project = await api.projects.get.v1({ projectId: linkedConfig.projectId });
|
|
44
|
+
await confirmLinkAnotherIfAlreadyConnected(project);
|
|
45
|
+
const workflow = new GitWorkflow({
|
|
46
|
+
"non-interactive": flags["non-interactive"],
|
|
47
|
+
remoteName: flags["remote-name"],
|
|
48
|
+
});
|
|
49
|
+
const selectedSourceRepository = await workflow.selectRemoteSourceRepository(remotes);
|
|
50
|
+
await api.projects.update.v1({
|
|
51
|
+
projectId: linkedConfig.projectId,
|
|
52
|
+
sourceRepository: selectedSourceRepository,
|
|
53
|
+
});
|
|
54
|
+
p.log.info("To automatically trigger deployments on every push,\nmake sure to install the Alpic GitHub App on this repository.");
|
|
55
|
+
p.outro(`✅ Connected ${chalk.bold(selectedSourceRepository)} to project ${chalk.bold(project.name)}.`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=connect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/commands/git/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,oCAAoC,EACpC,eAAe,EACf,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAY;IAClD,MAAM,CAAU,WAAW,GAAG,uDAAuD,CAAC;IAEtF,MAAM,CAAU,QAAQ,GAAG;QACzB,+BAA+B;QAC/B,iDAAiD;QACjD,oDAAoD;KACrD,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,KAAK;SACf,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,+BAA+B;SAC7C,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAE9C,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC3G,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YACvB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;YACzD,wBAAwB,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;YAChE,wBAAwB,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;QACjF,MAAM,oCAAoC,CAAC,OAAO,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC;YAC/B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;YAC3C,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;SACjC,CAAC,CAAC;QACH,MAAM,wBAAwB,GAAG,MAAM,QAAQ,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAEtF,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,gBAAgB,EAAE,wBAAwB;SAC3C,CAAC,CAAC;QAEH,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,oHAAoH,CACrH,CAAC;QACF,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzG,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
2
|
+
export default class GitDisconnect extends AlpicCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"non-interactive": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
};
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as p from "@clack/prompts";
|
|
2
|
+
import { Flags } from "@oclif/core";
|
|
3
|
+
import chalk from "chalk";
|
|
4
|
+
import { api } from "../../api.js";
|
|
5
|
+
import { AlpicCommand } from "../../lib/alpic-command.js";
|
|
6
|
+
import { config } from "../../lib/config.js";
|
|
7
|
+
import { GitWorkflow } from "../../lib/git.js";
|
|
8
|
+
export default class GitDisconnect extends AlpicCommand {
|
|
9
|
+
static description = "Disconnect a linked Alpic project from its git remote source";
|
|
10
|
+
static examples = ["<%= config.bin %> git disconnect", "<%= config.bin %> git disconnect --non-interactive"];
|
|
11
|
+
static flags = {
|
|
12
|
+
"non-interactive": Flags.boolean({
|
|
13
|
+
description: "Skip the confirmation prompt",
|
|
14
|
+
default: false,
|
|
15
|
+
}),
|
|
16
|
+
};
|
|
17
|
+
async run() {
|
|
18
|
+
const { flags } = await this.parse(GitDisconnect);
|
|
19
|
+
p.intro("Disconnecting git repository from Alpic");
|
|
20
|
+
await this.ensureAuthenticated();
|
|
21
|
+
const linkedConfig = config.load();
|
|
22
|
+
if (!linkedConfig) {
|
|
23
|
+
throw new Error("This directory is not linked to an Alpic project. Link it first using `alpic deploy`.");
|
|
24
|
+
}
|
|
25
|
+
const project = await api.projects.get.v1({ projectId: linkedConfig.projectId });
|
|
26
|
+
if (!project.sourceRepository) {
|
|
27
|
+
throw new Error(`Project "${project.name}" is not connected to any repository.`);
|
|
28
|
+
}
|
|
29
|
+
const workflow = new GitWorkflow({ "non-interactive": flags["non-interactive"] });
|
|
30
|
+
const confirmed = await workflow.confirmDisconnect(project.sourceRepository, project.name);
|
|
31
|
+
if (!confirmed) {
|
|
32
|
+
throw new Error("Git disconnect cancelled");
|
|
33
|
+
}
|
|
34
|
+
await api.projects.update.v1({
|
|
35
|
+
projectId: linkedConfig.projectId,
|
|
36
|
+
sourceRepository: null,
|
|
37
|
+
});
|
|
38
|
+
p.outro(`✅ Disconnected ${chalk.bold(project.sourceRepository)} from project ${chalk.bold(project.name)}.`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=disconnect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disconnect.js","sourceRoot":"","sources":["../../../src/commands/git/disconnect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,MAAM,CAAU,WAAW,GAAG,8DAA8D,CAAC;IAE7F,MAAM,CAAU,QAAQ,GAAG,CAAC,kCAAkC,EAAE,oDAAoD,CAAC,CAAC;IAEtH,MAAM,CAAU,KAAK,GAAG;QACtB,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,8BAA8B;YAC3C,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAEnD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC3G,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,uCAAuC,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3F,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,CAAC,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9G,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
export default class Git extends Command {
|
|
4
|
+
static description = "Manage git repository connection for a linked Alpic project";
|
|
5
|
+
static examples = ["<%= config.bin %> git connect", "<%= config.bin %> git disconnect"];
|
|
6
|
+
async run() {
|
|
7
|
+
await this.parse(Git);
|
|
8
|
+
this.log(chalk.bold("Usage:"));
|
|
9
|
+
this.log(" alpic git connect");
|
|
10
|
+
this.log(" alpic git disconnect");
|
|
11
|
+
this.log("");
|
|
12
|
+
this.log(chalk.bold("Commands:"));
|
|
13
|
+
this.log(" connect Connect the linked Alpic project to a git remote source");
|
|
14
|
+
this.log(" disconnect Disconnect the linked Alpic project from its git remote source");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/commands/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,OAAO;IACtC,MAAM,CAAU,WAAW,GAAG,6DAA6D,CAAC;IAE5F,MAAM,CAAU,QAAQ,GAAG,CAAC,+BAA+B,EAAE,kCAAkC,CAAC,CAAC;IAEjG,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QAClF,IAAI,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;IAC3F,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as p from "@clack/prompts";
|
|
2
|
+
import open from "open";
|
|
3
|
+
import { AlpicCommand } from "../lib/alpic-command.js";
|
|
4
|
+
import { oAuthClient } from "../lib/auth/oauth/client.js";
|
|
5
|
+
import { getLoginPageUrl, listenToOAuthCallback } from "../lib/auth/oauth/server/index.js";
|
|
6
|
+
import { getWhoamiInfoMessage } from "../lib/auth/whoami.js";
|
|
7
|
+
import { globalStore } from "../lib/global-store.js";
|
|
8
|
+
export class Login extends AlpicCommand {
|
|
9
|
+
static description = "Log in to Alpic (opens browser, stores tokens)";
|
|
10
|
+
static examples = ["<%= config.bin %> login"];
|
|
11
|
+
async run() {
|
|
12
|
+
await this.parse(Login);
|
|
13
|
+
p.intro("Log in to Alpic");
|
|
14
|
+
const token = await oAuthClient.getValidAccessToken();
|
|
15
|
+
if (token) {
|
|
16
|
+
p.outro("Already logged in.");
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const { authorizeUrl, state, nonce, codeVerifier } = await oAuthClient.prepareOAuthConfig();
|
|
20
|
+
p.log.message("Opening browser to log in…");
|
|
21
|
+
await open(getLoginPageUrl());
|
|
22
|
+
const storedToken = await listenToOAuthCallback({
|
|
23
|
+
state,
|
|
24
|
+
nonce,
|
|
25
|
+
codeVerifier,
|
|
26
|
+
authorizeUrl: authorizeUrl.toString(),
|
|
27
|
+
});
|
|
28
|
+
globalStore.saveCredentials(storedToken);
|
|
29
|
+
p.outro(await getWhoamiInfoMessage());
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,OAAO,KAAM,SAAQ,YAAY;IACrC,MAAM,CAAU,WAAW,GAAG,gDAAgD,CAAC;IAE/E,MAAM,CAAU,QAAQ,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAExB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,WAAW,CAAC,kBAAkB,EAAE,CAAC;QAE5F,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAE9B,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC;YAC9C,KAAK;YACL,KAAK;YACL,YAAY;YACZ,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;SACtC,CAAC,CAAC;QAEH,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAEzC,CAAC,CAAC,KAAK,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC;IACxC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as p from "@clack/prompts";
|
|
2
|
+
import { AlpicCommand } from "../lib/alpic-command.js";
|
|
3
|
+
import { globalStore } from "../lib/global-store.js";
|
|
4
|
+
export class Logout extends AlpicCommand {
|
|
5
|
+
static description = "Log out from Alpic (removes stored OAuth credentials)";
|
|
6
|
+
static examples = ["<%= config.bin %> logout"];
|
|
7
|
+
async run() {
|
|
8
|
+
await this.parse(Logout);
|
|
9
|
+
p.intro("Log out from Alpic");
|
|
10
|
+
const hasCredentials = globalStore.getCredentials() !== null;
|
|
11
|
+
if (!hasCredentials) {
|
|
12
|
+
p.outro("You are not logged in.");
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
globalStore.clearCredentials();
|
|
16
|
+
p.log.success("✅ User authentication cleared.");
|
|
17
|
+
p.outro("You are logged out.");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=logout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,OAAO,MAAO,SAAQ,YAAY;IACtC,MAAM,CAAU,WAAW,GAAG,uDAAuD,CAAC;IAEtF,MAAM,CAAU,QAAQ,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAExD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEzB,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAE9B,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC;QAE7D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAE/B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAEhD,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { setEnabled } from "../../lib/telemetry.js";
|
|
4
|
+
export default class TelemetryDisable extends Command {
|
|
5
|
+
static description = "Disable Alpic telemetry on this machine";
|
|
6
|
+
async run() {
|
|
7
|
+
await this.parse(TelemetryDisable);
|
|
8
|
+
setEnabled(false);
|
|
9
|
+
console.log(chalk.yellow("✓"), "Telemetry has been", chalk.yellow.bold("disabled"));
|
|
10
|
+
console.log(chalk.gray("Config saved to ~/.alpic/config.json"));
|
|
11
|
+
console.log(chalk.gray("Alpic never collects Personally Identifiable Information (PII). If you'd like to help us improve Alpic by allowing anonymous CLI usage data, please re-enable telemetry with: alpic telemetry enable"));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=disable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disable.js","sourceRoot":"","sources":["../../../src/commands/telemetry/disable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IACnD,MAAM,CAAU,WAAW,GAAG,yCAAyC,CAAC;IAExE,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,sMAAsM,CACvM,CACF,CAAC;IACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { setEnabled } from "../../lib/telemetry.js";
|
|
4
|
+
export default class TelemetryEnable extends Command {
|
|
5
|
+
static description = "Enable Alpic telemetry on this machine";
|
|
6
|
+
async run() {
|
|
7
|
+
await this.parse(TelemetryEnable);
|
|
8
|
+
setEnabled(true);
|
|
9
|
+
console.log(chalk.green("✓"), "Telemetry has been", chalk.green.bold("enabled"));
|
|
10
|
+
console.log(chalk.gray("Config saved to ~/.alpic/config.json"));
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=enable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enable.js","sourceRoot":"","sources":["../../../src/commands/telemetry/enable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,MAAM,CAAU,WAAW,GAAG,wCAAwC,CAAC;IAEvE,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAClE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { getMachineId, isEnabled } from "../../lib/telemetry.js";
|
|
4
|
+
export default class TelemetryStatus extends Command {
|
|
5
|
+
static description = "Show Alpic telemetry settings for this machine";
|
|
6
|
+
async run() {
|
|
7
|
+
await this.parse(TelemetryStatus);
|
|
8
|
+
const enabled = isEnabled();
|
|
9
|
+
console.log(chalk.bold.underline("Alpic Telemetry"));
|
|
10
|
+
console.log();
|
|
11
|
+
console.log("Status:", enabled ? chalk.green.bold("Enabled") : chalk.yellow.bold("Disabled"));
|
|
12
|
+
console.log(chalk.gray("Machine ID:"), getMachineId());
|
|
13
|
+
console.log();
|
|
14
|
+
console.log(chalk.gray("To opt out, run: alpic telemetry disable"));
|
|
15
|
+
console.log(chalk.gray("Or set: ALPIC_TELEMETRY_DISABLED=1"));
|
|
16
|
+
console.log(chalk.gray("Debug mode: ALPIC_TELEMETRY_DEBUG=1"));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/telemetry/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,MAAM,CAAU,WAAW,GAAG,gDAAgD,CAAC;IAE/E,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;IACjE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as p from "@clack/prompts";
|
|
2
|
+
import { AlpicCommand } from "../lib/alpic-command.js";
|
|
3
|
+
import { getWhoamiInfoMessage } from "../lib/auth/whoami.js";
|
|
4
|
+
export class Whoami extends AlpicCommand {
|
|
5
|
+
static description = "Show the current Alpic identity (API key or logged-in user)";
|
|
6
|
+
static examples = ["<%= config.bin %> whoami"];
|
|
7
|
+
async run() {
|
|
8
|
+
await this.parse(Whoami);
|
|
9
|
+
p.intro("Reading authentication status…");
|
|
10
|
+
p.outro(await getWhoamiInfoMessage());
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=whoami.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,OAAO,MAAO,SAAQ,YAAY;IACtC,MAAM,CAAU,WAAW,GAAG,6DAA6D,CAAC;IAE5F,MAAM,CAAU,QAAQ,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAExD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEzB,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAE1C,CAAC,CAAC,KAAK,CAAC,MAAM,oBAAoB,EAAE,CAAC,CAAC;IACxC,CAAC"}
|
package/dist/env.d.ts
ADDED
package/dist/env.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createEnv } from "@t3-oss/env-core";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
export const env = createEnv({
|
|
4
|
+
server: {
|
|
5
|
+
ALPIC_API_BASE_URL: z.string().default("https://api.alpic.ai"),
|
|
6
|
+
ALPIC_COGNITO_CLIENT_ID: z.string().default("h9nqsttp8ddb40ddi1aoni91h"),
|
|
7
|
+
},
|
|
8
|
+
runtimeEnv: process.env,
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE;QACN,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;QAC9D,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC;KACzE;IACD,UAAU,EAAE,OAAO,CAAC,GAAG;CACxB,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as p from "@clack/prompts";
|
|
2
|
+
import { Command } from "@oclif/core";
|
|
3
|
+
import { ORPCError } from "@orpc/client";
|
|
4
|
+
import { isAuthenticated } from "./auth/auth.js";
|
|
5
|
+
export class AlpicCommand extends Command {
|
|
6
|
+
async catch(error) {
|
|
7
|
+
if (error instanceof ORPCError) {
|
|
8
|
+
this.exitWithErrorMessage(`An error occurred while connecting to Alpic: ${error.message}`);
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (error instanceof Error) {
|
|
12
|
+
this.exitWithErrorMessage(error.message);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
this.exitWithErrorMessage(String(error));
|
|
16
|
+
}
|
|
17
|
+
async ensureAuthenticated() {
|
|
18
|
+
if (!(await isAuthenticated())) {
|
|
19
|
+
this.exitWithErrorMessage("Not authenticated. Run `alpic login` or set ALPIC_API_KEY. Get an API key from Team settings in the Alpic dashboard.");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exitWithErrorMessage(message) {
|
|
23
|
+
p.cancel(message);
|
|
24
|
+
this.exit(1);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=alpic-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alpic-command.js","sourceRoot":"","sources":["../../src/lib/alpic-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,OAAgB,YAAa,SAAQ,OAAO;IACvC,KAAK,CAAC,KAAK,CAAC,KAAc;QACjC,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,gDAAgD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CACvB,sHAAsH,CACvH,CAAC;QACJ,CAAC;IACH,CAAC;IAES,oBAAoB,CAAC,OAAe;QAC5C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;CACF"}
|
package/dist/lib/archive.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare function ensureGitAvailable(): void;
|
|
2
|
-
export declare function getGitFiles(
|
|
3
|
-
export declare function getFilesToPack(
|
|
4
|
-
export declare function createTarArchive(files: string[]
|
|
2
|
+
export declare function getGitFiles(): string[];
|
|
3
|
+
export declare function getFilesToPack(): string[];
|
|
4
|
+
export declare function createTarArchive(files: string[]): Promise<{
|
|
5
5
|
tmpDir: string;
|
|
6
6
|
archivePath: string;
|
|
7
7
|
}>;
|