@lightdash/cli 0.2644.1 → 0.2645.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/dist/.tsbuildinfo +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +13 -1
- package/dist/handlers/download.d.ts.map +1 -1
- package/dist/handlers/download.js +12 -2
- package/dist/handlers/login.d.ts.map +1 -1
- package/dist/handlers/login.js +5 -2
- package/dist/handlers/renameHandler.d.ts.map +1 -1
- package/dist/handlers/renameHandler.js +6 -1
- package/dist/handlers/setProject.d.ts +5 -1
- package/dist/handlers/setProject.d.ts.map +1 -1
- package/dist/handlers/setProject.js +51 -10
- package/dist/index.js +8 -1
- package/package.json +3 -3
package/dist/config.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export type Config = {
|
|
|
24
24
|
};
|
|
25
25
|
export declare const getConfig: () => Promise<Config>;
|
|
26
26
|
export declare const setProject: (projectUuid: string, projectName: string) => Promise<void>;
|
|
27
|
+
export declare const unsetProject: () => Promise<void>;
|
|
27
28
|
export declare const setPreviewProject: (projectUuid: string, name: string) => Promise<void>;
|
|
28
29
|
export declare const unsetPreviewProject: () => Promise<void>;
|
|
29
30
|
export declare const setDefaultUser: (userUuid: string, organizationUuid: string) => Promise<void>;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,QAAsC,CAAC;AAElE,MAAM,MAAM,MAAM,GAAG;IACjB,IAAI,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,OAAO,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,OAAO,CAAC,EAAE;QACN,qCAAqC,CAAC,EAAE,OAAO,CAAC;KACnD,CAAC;CACL,CAAC;AAgCF,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,MAAM,CAmBhD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,aAAa,MAAM,EAAE,aAAa,MAAM,kBAUxE,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,aAAa,MAAM,EAAE,MAAM,MAAM,kBAUxE,CAAC;AAEF,eAAO,MAAM,mBAAmB,qBAU/B,CAAC;AAEF,eAAO,MAAM,cAAc,GACvB,UAAU,MAAM,EAChB,kBAAkB,MAAM,kBAW3B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,SAAS,MAAM,CAAC,SAAS,CAAC,kBAM1D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,QAAQ,MAAM,CAAC,SAAS,CAAC,kBAMxD,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,QAAsC,CAAC;AAElE,MAAM,MAAM,MAAM,GAAG;IACjB,IAAI,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,OAAO,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,OAAO,CAAC,EAAE;QACN,qCAAqC,CAAC,EAAE,OAAO,CAAC;KACnD,CAAC;CACL,CAAC;AAgCF,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,MAAM,CAmBhD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,aAAa,MAAM,EAAE,aAAa,MAAM,kBAUxE,CAAC;AAEF,eAAO,MAAM,YAAY,qBAUxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,aAAa,MAAM,EAAE,MAAM,MAAM,kBAUxE,CAAC;AAEF,eAAO,MAAM,mBAAmB,qBAU/B,CAAC;AAEF,eAAO,MAAM,cAAc,GACvB,UAAU,MAAM,EAChB,kBAAkB,MAAM,kBAW3B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,SAAS,MAAM,CAAC,SAAS,CAAC,kBAM1D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,QAAQ,MAAM,CAAC,SAAS,CAAC,kBAMxD,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setAnswer = exports.setContext = exports.setDefaultUser = exports.unsetPreviewProject = exports.setPreviewProject = exports.setProject = exports.getConfig = exports.configFilePath = void 0;
|
|
3
|
+
exports.setAnswer = exports.setContext = exports.setDefaultUser = exports.unsetPreviewProject = exports.setPreviewProject = exports.unsetProject = exports.setProject = exports.getConfig = exports.configFilePath = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const fs_1 = require("fs");
|
|
6
6
|
const yaml = tslib_1.__importStar(require("js-yaml"));
|
|
@@ -68,6 +68,18 @@ const setProject = async (projectUuid, projectName) => {
|
|
|
68
68
|
});
|
|
69
69
|
};
|
|
70
70
|
exports.setProject = setProject;
|
|
71
|
+
const unsetProject = async () => {
|
|
72
|
+
const config = await getRawConfig();
|
|
73
|
+
await setConfig({
|
|
74
|
+
...config,
|
|
75
|
+
context: {
|
|
76
|
+
...(config.context || {}),
|
|
77
|
+
project: undefined,
|
|
78
|
+
projectName: undefined,
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
exports.unsetProject = unsetProject;
|
|
71
83
|
const setPreviewProject = async (projectUuid, name) => {
|
|
72
84
|
const config = await getRawConfig();
|
|
73
85
|
await setConfig({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/handlers/download.ts"],"names":[],"mappings":"AAqCA,MAAM,MAAM,sBAAsB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAmQF,KAAK,mBAAmB,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;AAkDjE,eAAO,MAAM,eAAe,GACxB,KAAK,MAAM,EAAE,EACb,MAAM,mBAAmB,EACzB,WAAW,MAAM,EACjB,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,cAAa,OAAe,EAC5B,SAAQ,OAAe,KACxB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA2G5B,CAAC;AAEF,eAAO,MAAM,eAAe,GACxB,SAAS,sBAAsB,KAChC,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/handlers/download.ts"],"names":[],"mappings":"AAqCA,MAAM,MAAM,sBAAsB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAmQF,KAAK,mBAAmB,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;AAkDjE,eAAO,MAAM,eAAe,GACxB,KAAK,MAAM,EAAE,EACb,MAAM,mBAAmB,EACzB,WAAW,MAAM,EACjB,aAAa,MAAM,EACnB,aAAa,MAAM,EACnB,cAAa,OAAe,EAC5B,SAAQ,OAAe,KACxB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA2G5B,CAAC;AAEF,eAAO,MAAM,eAAe,GACxB,SAAS,sBAAsB,KAChC,OAAO,CAAC,IAAI,CA0Kd,CAAC;AA4ZF,eAAO,MAAM,aAAa,GACtB,SAAS,sBAAsB,KAChC,OAAO,CAAC,IAAI,CAkJd,CAAC"}
|
|
@@ -278,7 +278,12 @@ const downloadHandler = async (options) => {
|
|
|
278
278
|
}
|
|
279
279
|
const projectSelection = await (0, selectProject_1.selectProject)(config, options.project);
|
|
280
280
|
if (!projectSelection) {
|
|
281
|
-
throw new
|
|
281
|
+
throw new common_1.LightdashError({
|
|
282
|
+
message: 'No project selected. Run lightdash config set-project',
|
|
283
|
+
name: 'Not Found',
|
|
284
|
+
statusCode: 404,
|
|
285
|
+
data: {},
|
|
286
|
+
});
|
|
282
287
|
}
|
|
283
288
|
const projectId = projectSelection.projectUuid;
|
|
284
289
|
// Log current project info
|
|
@@ -612,7 +617,12 @@ const uploadHandler = async (options) => {
|
|
|
612
617
|
}
|
|
613
618
|
const projectSelection = await (0, selectProject_1.selectProject)(config, options.project);
|
|
614
619
|
if (!projectSelection) {
|
|
615
|
-
throw new
|
|
620
|
+
throw new common_1.LightdashError({
|
|
621
|
+
message: 'No project selected. Run lightdash config set-project',
|
|
622
|
+
name: 'Not Found',
|
|
623
|
+
statusCode: 404,
|
|
624
|
+
data: {},
|
|
625
|
+
});
|
|
616
626
|
}
|
|
617
627
|
const projectId = projectSelection.projectUuid;
|
|
618
628
|
// Log current project info
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/handlers/login.ts"],"names":[],"mappings":"AAkBA,KAAK,YAAY,GAAG;IAChB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AA4JF,eAAO,MAAM,KAAK,GACd,UAAU,MAAM,GAAG,SAAS,EAC5B,SAAS,YAAY,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/handlers/login.ts"],"names":[],"mappings":"AAkBA,KAAK,YAAY,GAAG;IAChB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AA4JF,eAAO,MAAM,KAAK,GACd,UAAU,MAAM,GAAG,SAAS,EAC5B,SAAS,YAAY,kBA2JxB,CAAC"}
|
package/dist/handlers/login.js
CHANGED
|
@@ -221,11 +221,14 @@ const login = async (urlInput, options) => {
|
|
|
221
221
|
await (0, setProject_1.setFirstProject)();
|
|
222
222
|
}
|
|
223
223
|
else {
|
|
224
|
-
const
|
|
225
|
-
if (
|
|
224
|
+
const result = await (0, setProject_1.setProjectCommand)();
|
|
225
|
+
if (result === 'empty') {
|
|
226
226
|
console.error('Now you can add your first project to lightdash by doing: ');
|
|
227
227
|
console.error(`\n ${styles.bold(`⚡️ lightdash deploy --create`)}\n`);
|
|
228
228
|
}
|
|
229
|
+
else if (result === 'skipped') {
|
|
230
|
+
console.error(`\n No project selected — use ${styles.bold('lightdash config set-project')} or ${styles.bold('--project <uuid>')} when running commands.\n`);
|
|
231
|
+
}
|
|
229
232
|
}
|
|
230
233
|
}
|
|
231
234
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renameHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/renameHandler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"renameHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/renameHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,UAAU,EAEb,MAAM,mBAAmB,CAAC;AAkB3B,KAAK,oBAAoB,GAAG;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACrB,CAAC;AAsCF,eAAO,MAAM,aAAa,GAAU,SAAS,oBAAoB,kBAmMhE,CAAC"}
|
|
@@ -48,7 +48,12 @@ const renameHandler = async (options) => {
|
|
|
48
48
|
config.context.previewProject ||
|
|
49
49
|
config.context.project;
|
|
50
50
|
if (!projectUuid) {
|
|
51
|
-
throw new
|
|
51
|
+
throw new common_1.LightdashError({
|
|
52
|
+
message: 'No project selected. Run lightdash config set-project',
|
|
53
|
+
name: 'Not Found',
|
|
54
|
+
statusCode: 404,
|
|
55
|
+
data: {},
|
|
56
|
+
});
|
|
52
57
|
}
|
|
53
58
|
// Log current project info
|
|
54
59
|
if (options.project) {
|
|
@@ -3,8 +3,12 @@ type SetProjectOptions = {
|
|
|
3
3
|
name: string;
|
|
4
4
|
uuid: string;
|
|
5
5
|
};
|
|
6
|
-
export declare const setProjectCommand: (name?: string, uuid?: string) => Promise<
|
|
6
|
+
export declare const setProjectCommand: (name?: string, uuid?: string) => Promise<"selected" | "skipped" | "empty">;
|
|
7
7
|
export declare const setFirstProject: () => Promise<void>;
|
|
8
8
|
export declare const setProjectHandler: (options: SetProjectOptions) => Promise<void>;
|
|
9
|
+
export declare const unsetProjectCommand: () => Promise<void>;
|
|
10
|
+
export declare const unsetProjectHandler: (options: {
|
|
11
|
+
verbose: boolean;
|
|
12
|
+
}) => Promise<void>;
|
|
9
13
|
export {};
|
|
10
14
|
//# sourceMappingURL=setProject.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setProject.d.ts","sourceRoot":"","sources":["../../src/handlers/setProject.ts"],"names":[],"mappings":"AAQA,KAAK,iBAAiB,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"setProject.d.ts","sourceRoot":"","sources":["../../src/handlers/setProject.ts"],"names":[],"mappings":"AAQA,KAAK,iBAAiB,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC1B,OAAO,MAAM,EACb,OAAO,MAAM,KACd,OAAO,CAAC,UAAU,GAAG,SAAS,GAAG,OAAO,CAmE1C,CAAC;AAEF,eAAO,MAAM,eAAe,qBAmB3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,SAAS,iBAAiB,kBAsBjE,CAAC;AAEF,eAAO,MAAM,mBAAmB,qBAG/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,SAAS;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,kBAmBtE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setProjectHandler = exports.setFirstProject = exports.setProjectCommand = void 0;
|
|
3
|
+
exports.unsetProjectHandler = exports.unsetProjectCommand = exports.setProjectHandler = exports.setFirstProject = exports.setProjectCommand = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
|
|
6
6
|
const url_1 = require("url");
|
|
@@ -16,7 +16,7 @@ const setProjectCommand = async (name, uuid) => {
|
|
|
16
16
|
});
|
|
17
17
|
globalState_1.default.debug(`> Set project returned response: ${JSON.stringify(projects)}`);
|
|
18
18
|
if (projects.length === 0)
|
|
19
|
-
return;
|
|
19
|
+
return 'empty';
|
|
20
20
|
let selectedProject;
|
|
21
21
|
// --uuid or --name options
|
|
22
22
|
if (uuid !== undefined || name !== undefined) {
|
|
@@ -27,16 +27,27 @@ const setProjectCommand = async (name, uuid) => {
|
|
|
27
27
|
[selectedProject] = projects;
|
|
28
28
|
}
|
|
29
29
|
else {
|
|
30
|
+
const SKIP_VALUE = '__skip__';
|
|
30
31
|
const answers = await inquirer_1.default.prompt([
|
|
31
32
|
{
|
|
32
33
|
type: 'list',
|
|
33
34
|
name: 'project',
|
|
34
|
-
choices:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
choices: [
|
|
36
|
+
{
|
|
37
|
+
name: "Don't select a project",
|
|
38
|
+
value: SKIP_VALUE,
|
|
39
|
+
},
|
|
40
|
+
...projects.map((project) => ({
|
|
41
|
+
name: project.name,
|
|
42
|
+
value: project.projectUuid,
|
|
43
|
+
})),
|
|
44
|
+
],
|
|
38
45
|
},
|
|
39
46
|
]);
|
|
47
|
+
if (answers.project === SKIP_VALUE) {
|
|
48
|
+
await (0, config_1.unsetProject)();
|
|
49
|
+
return 'skipped';
|
|
50
|
+
}
|
|
40
51
|
selectedProject = projects.find((project) => project.projectUuid === answers.project);
|
|
41
52
|
}
|
|
42
53
|
if (selectedProject !== undefined) {
|
|
@@ -45,10 +56,9 @@ const setProjectCommand = async (name, uuid) => {
|
|
|
45
56
|
const projectUrl = config.context?.serverUrl &&
|
|
46
57
|
new url_1.URL(`/projects/${selectedProject.projectUuid}/home`, config.context.serverUrl);
|
|
47
58
|
console.error(`\n ✅️ Connected to Lightdash project: ${projectUrl || ''}\n`);
|
|
59
|
+
return 'selected';
|
|
48
60
|
}
|
|
49
|
-
|
|
50
|
-
throw new Error(`Project not found.`);
|
|
51
|
-
}
|
|
61
|
+
throw new Error(`Project not found.`);
|
|
52
62
|
};
|
|
53
63
|
exports.setProjectCommand = setProjectCommand;
|
|
54
64
|
const setFirstProject = async () => {
|
|
@@ -70,7 +80,10 @@ const setProjectHandler = async (options) => {
|
|
|
70
80
|
let success = true;
|
|
71
81
|
globalState_1.default.setVerbose(options.verbose);
|
|
72
82
|
try {
|
|
73
|
-
await (0, exports.setProjectCommand)(options.name, options.uuid);
|
|
83
|
+
const result = await (0, exports.setProjectCommand)(options.name, options.uuid);
|
|
84
|
+
if (result === 'skipped') {
|
|
85
|
+
console.error(`\n Project unset.\n`);
|
|
86
|
+
}
|
|
74
87
|
}
|
|
75
88
|
catch (e) {
|
|
76
89
|
success = false;
|
|
@@ -88,3 +101,31 @@ const setProjectHandler = async (options) => {
|
|
|
88
101
|
}
|
|
89
102
|
};
|
|
90
103
|
exports.setProjectHandler = setProjectHandler;
|
|
104
|
+
const unsetProjectCommand = async () => {
|
|
105
|
+
await (0, config_1.unsetProject)();
|
|
106
|
+
console.error(`\n Project unset.\n`);
|
|
107
|
+
};
|
|
108
|
+
exports.unsetProjectCommand = unsetProjectCommand;
|
|
109
|
+
const unsetProjectHandler = async (options) => {
|
|
110
|
+
const startTime = Date.now();
|
|
111
|
+
let success = true;
|
|
112
|
+
globalState_1.default.setVerbose(options.verbose);
|
|
113
|
+
try {
|
|
114
|
+
await (0, exports.unsetProjectCommand)();
|
|
115
|
+
}
|
|
116
|
+
catch (e) {
|
|
117
|
+
success = false;
|
|
118
|
+
throw e;
|
|
119
|
+
}
|
|
120
|
+
finally {
|
|
121
|
+
await analytics_1.LightdashAnalytics.track({
|
|
122
|
+
event: 'command.executed',
|
|
123
|
+
properties: {
|
|
124
|
+
command: 'unset-project',
|
|
125
|
+
durationMs: Date.now() - startTime,
|
|
126
|
+
success,
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
exports.unsetProjectHandler = unsetProjectHandler;
|
package/dist/index.js
CHANGED
|
@@ -111,7 +111,9 @@ ${styles.bold('Examples:')}
|
|
|
111
111
|
${styles.title('⚡')}️lightdash ${styles.bold('login')} http://localhost:3000 --email demo@lightdash.com ${styles.secondary('-- Local dev only: prompts for password securely')}
|
|
112
112
|
`)
|
|
113
113
|
.option('--token <token>', 'Login with an API access token', undefined)
|
|
114
|
-
.
|
|
114
|
+
.addOption(new commander_1.Option('--project <project uuid>', 'Select a project by UUID after login')
|
|
115
|
+
.argParser(parseProjectArgument)
|
|
116
|
+
.conflicts('skipProjectSelection'))
|
|
115
117
|
.option('--email <email>', 'Login with email and password', undefined)
|
|
116
118
|
.option('--oauth-port <port>', 'Port for the local OAuth callback server (default: random available port)', (value) => {
|
|
117
119
|
const port = parseInt(value, 10);
|
|
@@ -143,6 +145,11 @@ configProgram
|
|
|
143
145
|
.description('Show the currently selected project')
|
|
144
146
|
.option('--verbose', undefined, false)
|
|
145
147
|
.action(getProject_1.getProjectHandler);
|
|
148
|
+
configProgram
|
|
149
|
+
.command('unset-project')
|
|
150
|
+
.description('Clear the currently selected project')
|
|
151
|
+
.option('--verbose', undefined, false)
|
|
152
|
+
.action(setProject_1.unsetProjectHandler);
|
|
146
153
|
const dbtProgram = commander_1.program.command('dbt').description('Runs dbt commands');
|
|
147
154
|
dbtProgram
|
|
148
155
|
.command('run')
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lightdash/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2645.0",
|
|
4
4
|
"description": "Lightdash CLI tool",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"unique-names-generator": "^4.7.1",
|
|
41
41
|
"uuid": "^11.0.3",
|
|
42
42
|
"yaml": "^2.7.0",
|
|
43
|
-
"@lightdash/
|
|
44
|
-
"@lightdash/
|
|
43
|
+
"@lightdash/common": "0.2645.0",
|
|
44
|
+
"@lightdash/warehouses": "0.2645.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/inquirer": "^8.2.1",
|