@codemarc/blt 1.4.3 → 1.4.4
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/blt +2 -0
- package/dist/blt.d.ts.map +1 -1
- package/dist/blt.js.map +1 -1
- package/dist/commands/init/script.d.ts +13 -0
- package/dist/commands/init/script.d.ts.map +1 -0
- package/dist/commands/init/script.js +126 -0
- package/dist/commands/init/script.js.map +1 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +46 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/show/repo.d.ts.map +1 -1
- package/dist/commands/show/repo.js +1 -41
- package/dist/commands/show/repo.js.map +1 -1
- package/dist/lib/repositories.d.ts +11 -0
- package/dist/lib/repositories.d.ts.map +1 -0
- package/dist/lib/repositories.js +54 -0
- package/dist/lib/repositories.js.map +1 -0
- package/package.json +1 -1
package/dist/blt
CHANGED
|
@@ -4,6 +4,7 @@ import bucketCommand from "./commands/bucket";
|
|
|
4
4
|
import buildCommand from "./commands/build";
|
|
5
5
|
import deployCommand from "./commands/deploy";
|
|
6
6
|
import imageCommand from "./commands/image";
|
|
7
|
+
import initCommand from "./commands/init";
|
|
7
8
|
import pdfCommand from "./commands/pdf";
|
|
8
9
|
import versionCommand from "./commands/version";
|
|
9
10
|
import showCommand from "./commands/show";
|
|
@@ -22,6 +23,7 @@ program.name("blt")
|
|
|
22
23
|
.version(getPackageVersion())
|
|
23
24
|
.description("BLT Core Cli");
|
|
24
25
|
imageCommand(program);
|
|
26
|
+
initCommand(program);
|
|
25
27
|
pdfCommand(program);
|
|
26
28
|
versionCommand(program);
|
|
27
29
|
buildCommand(program);
|
package/dist/blt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blt.d.ts","sourceRoot":"","sources":["../src/blt.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"blt.d.ts","sourceRoot":"","sources":["../src/blt.ts"],"names":[],"mappings":";AAoBA,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C"}
|
package/dist/blt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blt.js","sourceRoot":"","sources":["../src/blt.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC;AAE/D,MAAM,UAAU,iBAAiB;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;KACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC;KAC5B,WAAW,CAAC,cAAc,CAAC,CAAC;AAE5B,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,cAAc,CAAC,OAAO,CAAC,CAAC;AAE1B,uCAAuC;AACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AACD,OAAO,CAAC,GAAG,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"blt.js","sourceRoot":"","sources":["../src/blt.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAG,IAAI,EAAE,cAAc,CAAC,CAAC;AAE/D,MAAM,UAAU,iBAAiB;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;KACjB,OAAO,CAAC,iBAAiB,EAAE,CAAC;KAC5B,WAAW,CAAC,cAAc,CAAC,CAAC;AAE5B,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,cAAc,CAAC,OAAO,CAAC,CAAC;AAE1B,uCAAuC;AACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AACD,OAAO,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Logger } from "@caporal/core";
|
|
2
|
+
interface InitScriptOptions {
|
|
3
|
+
output: string;
|
|
4
|
+
ssh: boolean;
|
|
5
|
+
workspace: boolean;
|
|
6
|
+
connectionsFromEnv: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Generate a shell script that clones or pulls all BLT projects into the current directory
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateInitScript(options: InitScriptOptions, logger: Logger): Promise<void>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=script.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/commands/init/script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAiED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAqFf"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { chmodSync, existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join, resolve } from "node:path";
|
|
3
|
+
import { REPOSITORIES } from "../../lib/repositories";
|
|
4
|
+
function parseEnvFile(envPath) {
|
|
5
|
+
const content = readFileSync(envPath, "utf-8");
|
|
6
|
+
const out = {};
|
|
7
|
+
for (const line of content.split("\n")) {
|
|
8
|
+
const trimmed = line.trim();
|
|
9
|
+
if (!trimmed || trimmed.startsWith("#"))
|
|
10
|
+
continue;
|
|
11
|
+
const eq = trimmed.indexOf("=");
|
|
12
|
+
if (eq === -1)
|
|
13
|
+
continue;
|
|
14
|
+
const key = trimmed.slice(0, eq).trim();
|
|
15
|
+
const value = trimmed.slice(eq + 1).trim();
|
|
16
|
+
if (value.startsWith('"') && value.endsWith('"')) {
|
|
17
|
+
out[key] = value.slice(1, -1).replace(/\\"/g, '"');
|
|
18
|
+
}
|
|
19
|
+
else if (value.startsWith("'") && value.endsWith("'")) {
|
|
20
|
+
out[key] = value.slice(1, -1).replace(/\\'/g, "'");
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
out[key] = value;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return out;
|
|
27
|
+
}
|
|
28
|
+
function connectionFromSupabaseEnv(env) {
|
|
29
|
+
const connectionString = env.SUPABASE_CONNECTION_STRING;
|
|
30
|
+
if (!connectionString?.startsWith("postgresql://"))
|
|
31
|
+
return null;
|
|
32
|
+
try {
|
|
33
|
+
const u = new URL(connectionString);
|
|
34
|
+
const name = env.SUPABASE_PROJECT_REF ?? u.hostname?.replace(/\./g, "-") ?? "supabase";
|
|
35
|
+
return {
|
|
36
|
+
ssh: "Disabled",
|
|
37
|
+
previewLimit: 50,
|
|
38
|
+
server: u.hostname ?? "",
|
|
39
|
+
port: parseInt(u.port || "5432", 10),
|
|
40
|
+
driver: "PostgreSQL",
|
|
41
|
+
name,
|
|
42
|
+
group: "BLT",
|
|
43
|
+
database: u.pathname?.slice(1) || "postgres",
|
|
44
|
+
password: decodeURIComponent(u.password ?? ""),
|
|
45
|
+
username: decodeURIComponent(u.username ?? ""),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Generate a shell script that clones or pulls all BLT projects into the current directory
|
|
54
|
+
*/
|
|
55
|
+
export async function generateInitScript(options, logger) {
|
|
56
|
+
const lines = [
|
|
57
|
+
"#!/usr/bin/env bash",
|
|
58
|
+
"# BLT project init script - clones or pulls all projects into the current directory",
|
|
59
|
+
"# Generated by: blt init",
|
|
60
|
+
"",
|
|
61
|
+
'set -e',
|
|
62
|
+
"",
|
|
63
|
+
"cd \"$(dirname \"$0\")\"",
|
|
64
|
+
"",
|
|
65
|
+
];
|
|
66
|
+
for (const repo of REPOSITORIES) {
|
|
67
|
+
const url = options.ssh ? repo.sshUrl : repo.url;
|
|
68
|
+
lines.push(`# ${repo.description || repo.name}`);
|
|
69
|
+
lines.push(`if [ -d "${repo.name}" ]; then`);
|
|
70
|
+
lines.push(` echo "Pulling ${repo.name}..."`);
|
|
71
|
+
lines.push(` (cd ${repo.name} && git pull)`);
|
|
72
|
+
lines.push(`else`);
|
|
73
|
+
lines.push(` echo "Cloning ${repo.name}..."`);
|
|
74
|
+
lines.push(` git clone ${url} ${repo.name}`);
|
|
75
|
+
lines.push(`fi`);
|
|
76
|
+
lines.push("");
|
|
77
|
+
}
|
|
78
|
+
lines.push("echo \"Done! All projects are up to date.\"");
|
|
79
|
+
const script = lines.join("\n");
|
|
80
|
+
try {
|
|
81
|
+
await Bun.write(options.output, script);
|
|
82
|
+
// Make executable on Unix
|
|
83
|
+
try {
|
|
84
|
+
chmodSync(options.output, 0o755);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// chmod may fail on Windows, ignore
|
|
88
|
+
}
|
|
89
|
+
logger.info(`Created init script: ${options.output}`);
|
|
90
|
+
if (options.workspace || options.connectionsFromEnv) {
|
|
91
|
+
const baseDir = resolve(dirname(options.output));
|
|
92
|
+
const workspacePath = join(baseDir, "blt.code-workspace");
|
|
93
|
+
const workspaceContent = {};
|
|
94
|
+
if (options.workspace) {
|
|
95
|
+
workspaceContent.folders = REPOSITORIES.map((repo) => ({
|
|
96
|
+
name: repo.name,
|
|
97
|
+
path: repo.name,
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
if (options.connectionsFromEnv) {
|
|
101
|
+
const envPath = join(baseDir, ".env");
|
|
102
|
+
if (existsSync(envPath)) {
|
|
103
|
+
const env = parseEnvFile(envPath);
|
|
104
|
+
const connection = connectionFromSupabaseEnv(env);
|
|
105
|
+
if (connection) {
|
|
106
|
+
workspaceContent.settings = {
|
|
107
|
+
"sqltools.connections": [connection],
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Ensure we have at least folders so the file is valid
|
|
113
|
+
if (!workspaceContent.folders) {
|
|
114
|
+
workspaceContent.folders = [];
|
|
115
|
+
}
|
|
116
|
+
await Bun.write(workspacePath, JSON.stringify(workspaceContent, null, "\t") + "\n");
|
|
117
|
+
logger.info(`Created workspace: ${workspacePath}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
122
|
+
logger.error(`Failed to write script: ${message}`);
|
|
123
|
+
process.exit(1);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script.js","sourceRoot":"","sources":["../../../src/commands/init/script.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,EAAE,OAAO,QA4CnD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { generateInitScript } from "./init/script";
|
|
2
|
+
/**
|
|
3
|
+
* Register init command with the CLI program
|
|
4
|
+
*/
|
|
5
|
+
export default function initCommand(program) {
|
|
6
|
+
const initHelpText = `
|
|
7
|
+
Initialize a BLT workspace by creating a script to clone/pull all projects
|
|
8
|
+
|
|
9
|
+
Usage:
|
|
10
|
+
blt init [options]
|
|
11
|
+
|
|
12
|
+
Creates a shell script that will clone all BLT repositories (if they don't exist)
|
|
13
|
+
or pull the latest changes (if they do). Run the generated script in the
|
|
14
|
+
directory where you want the projects to live.
|
|
15
|
+
|
|
16
|
+
With -w, also creates blt.code-workspace with folder entries from the repository list.
|
|
17
|
+
With -c (and -w), adds sqltools.connections from SUPABASE_* vars in .env if present.
|
|
18
|
+
|
|
19
|
+
Example:
|
|
20
|
+
blt init
|
|
21
|
+
blt init -w -c
|
|
22
|
+
./getblt.sh
|
|
23
|
+
`;
|
|
24
|
+
program
|
|
25
|
+
.command("init", "clone repo script")
|
|
26
|
+
.help(initHelpText)
|
|
27
|
+
.option("-o, --output <path>", "Output path for the script", {
|
|
28
|
+
default: "./getblt.sh",
|
|
29
|
+
})
|
|
30
|
+
.option("-s, --ssh", "Use SSH URLs instead of HTTPS URLs", { default: false })
|
|
31
|
+
.option("-w, --workspace", "Also generate blt.code-workspace with folders from repositories", {
|
|
32
|
+
default: false,
|
|
33
|
+
})
|
|
34
|
+
.option("-c, --connections", "Add sqltools.connections from .env if present", {
|
|
35
|
+
default: false,
|
|
36
|
+
})
|
|
37
|
+
.action(async ({ options, logger }) => {
|
|
38
|
+
await generateInitScript({
|
|
39
|
+
output: options.output,
|
|
40
|
+
ssh: options.ssh,
|
|
41
|
+
workspace: options.workspace,
|
|
42
|
+
connectionsFromEnv: options.connections,
|
|
43
|
+
}, logger);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAgB;IACnD,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;CAiBrB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC;SACpC,IAAI,CAAC,YAAY,CAAC;SAClB,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE;QAC5D,OAAO,EAAE,aAAa;KACtB,CAAC;SACD,MAAM,CAAC,WAAW,EAAE,oCAAoC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SAC7E,MAAM,CAAC,iBAAiB,EAAE,iEAAiE,EAAE;QAC7F,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,EAAE;QAC7E,OAAO,EAAE,KAAK;KACd,CAAC;SACD,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACrC,MAAM,kBAAkB,CACvB;YACC,MAAM,EAAE,OAAO,CAAC,MAAgB;YAChC,GAAG,EAAE,OAAO,CAAC,GAAc;YAC3B,SAAS,EAAE,OAAO,CAAC,SAAoB;YACvC,kBAAkB,EAAE,OAAO,CAAC,WAAsB;SAClD,EACD,MAAM,CACN,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../../src/commands/show/repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../../src/commands/show/repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,UAAU,WAAW;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAgBD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmClF"}
|
|
@@ -1,44 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Hardcoded list of valid repositories in the current working set
|
|
3
|
-
*/
|
|
4
|
-
const REPOSITORIES = [
|
|
5
|
-
{
|
|
6
|
-
name: "cli",
|
|
7
|
-
url: "https://github.com/codemarc/blt-cli.git",
|
|
8
|
-
sshUrl: "git@github.com:codemarc/blt-cli.git",
|
|
9
|
-
description: "BLT command line interface",
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
name: "pos",
|
|
13
|
-
url: "https://github.com/bltcore-com/blt-core-pos.git",
|
|
14
|
-
sshUrl: "git@github.com:bltcore-com/blt-core-pos.git",
|
|
15
|
-
description: "core pos application",
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
name: "data",
|
|
19
|
-
url: "https://github.com/bltcore-com/blt-core-data.git",
|
|
20
|
-
sshUrl: "git@github.com:bltcore-com/blt-core-data.git",
|
|
21
|
-
description: "data schema & sample data",
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
name: "gateway",
|
|
25
|
-
url: "https://github.com/bltcore-com/blt-device-gateway.git",
|
|
26
|
-
sshUrl: "git@github.com:bltcore-com/blt-device-gateway.git",
|
|
27
|
-
description: "device gateway",
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
name: "deploy",
|
|
31
|
-
url: "https://github.com/bltcore-com/deploy.git",
|
|
32
|
-
sshUrl: "git@github.com:bltcore-com/deploy.git",
|
|
33
|
-
description: "deployment scripts",
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: "customers",
|
|
37
|
-
url: "https://github.com/bltcore-com/customers.git",
|
|
38
|
-
sshUrl: "git@github.com:bltcore-com/customers.git",
|
|
39
|
-
description: "customer repository",
|
|
40
|
-
},
|
|
41
|
-
];
|
|
1
|
+
import { REPOSITORIES } from "../../lib/repositories";
|
|
42
2
|
/**
|
|
43
3
|
* Render a table row for ASCII table display
|
|
44
4
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.js","sourceRoot":"","sources":["../../../src/commands/show/repo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repo.js","sourceRoot":"","sources":["../../../src/commands/show/repo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAMtD;;GAEG;AACH,SAAS,SAAS,CAAC,GAAa,EAAE,SAAmB;IACnD,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,SAAmB;IACxC,OAAO,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAoB,EAAE,MAAc;IACjE,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,SAAS,GAAe,CAAC,OAAO,CAAC,CAAC;QAExC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,CAAC,IAAI;gBACT,IAAI,CAAC,WAAW,IAAI,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;aACrC,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAC9D,CAAC;QAEF,cAAc;QACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,gBAAgB;QAChB,OAAO,CAAC,GAAG,CAAC,uBAAuB,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface Repository {
|
|
2
|
+
name: string;
|
|
3
|
+
url: string;
|
|
4
|
+
sshUrl: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Hardcoded list of valid repositories in the current working set
|
|
9
|
+
*/
|
|
10
|
+
export declare const REPOSITORIES: Repository[];
|
|
11
|
+
//# sourceMappingURL=repositories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repositories.d.ts","sourceRoot":"","sources":["../../src/lib/repositories.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAAU,EAiDpC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hardcoded list of valid repositories in the current working set
|
|
3
|
+
*/
|
|
4
|
+
export const REPOSITORIES = [
|
|
5
|
+
{
|
|
6
|
+
name: "cli",
|
|
7
|
+
url: "https://github.com/codemarc/blt-cli.git",
|
|
8
|
+
sshUrl: "git@github.com:codemarc/blt-cli.git",
|
|
9
|
+
description: "BLT command line interface",
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: "tools",
|
|
13
|
+
url: "https://github.com/bltcore-com/tools.git",
|
|
14
|
+
sshUrl: "git@github.com:bltcore-com/tools.git",
|
|
15
|
+
description: "BLT core repository",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: "pos",
|
|
19
|
+
url: "https://github.com/bltcore-com/blt-core-pos.git",
|
|
20
|
+
sshUrl: "git@github.com:bltcore-com/blt-core-pos.git",
|
|
21
|
+
description: "core pos application",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "data",
|
|
25
|
+
url: "https://github.com/bltcore-com/blt-core-data.git",
|
|
26
|
+
sshUrl: "git@github.com:bltcore-com/blt-core-data.git",
|
|
27
|
+
description: "data schema & sample data",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "gateway",
|
|
31
|
+
url: "https://github.com/bltcore-com/blt-device-gateway.git",
|
|
32
|
+
sshUrl: "git@github.com:bltcore-com/blt-device-gateway.git",
|
|
33
|
+
description: "device gateway",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "deploy",
|
|
37
|
+
url: "https://github.com/bltcore-com/deploy.git",
|
|
38
|
+
sshUrl: "git@github.com:bltcore-com/deploy.git",
|
|
39
|
+
description: "deployment scripts",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: "customers",
|
|
43
|
+
url: "https://github.com/bltcore-com/customers.git",
|
|
44
|
+
sshUrl: "git@github.com:bltcore-com/customers.git",
|
|
45
|
+
description: "customer repository",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: "logz",
|
|
49
|
+
url: "https://github.com/bltcore-com/blt-core-logz.git",
|
|
50
|
+
sshUrl: "git@github.com:bltcore-com/blt-core-logz.git",
|
|
51
|
+
description: "BLT core logz repository",
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
//# sourceMappingURL=repositories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../src/lib/repositories.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC;QACE,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,yCAAyC;QAC9C,MAAM,EAAE,qCAAqC;QAC7C,WAAW,EAAE,4BAA4B;KAC1C;IACD;QACE,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,0CAA0C;QAC/C,MAAM,EAAE,sCAAsC;QAC9C,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,iDAAiD;QACtD,MAAM,EAAE,6CAA6C;QACrD,WAAW,EAAE,sBAAsB;KACpC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,kDAAkD;QACvD,MAAM,EAAE,8CAA8C;QACtD,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,uDAAuD;QAC5D,MAAM,EAAE,mDAAmD;QAC3D,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,2CAA2C;QAChD,MAAM,EAAE,uCAAuC;QAC/C,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,8CAA8C;QACnD,MAAM,EAAE,0CAA0C;QAClD,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,kDAAkD;QACvD,MAAM,EAAE,8CAA8C;QACtD,WAAW,EAAE,0BAA0B;KACxC;CACF,CAAC"}
|