@credibledata/cred-cli 0.1.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/.eslintrc +33 -0
- package/.github/workflows/build.yml +23 -0
- package/.mocharc.json +10 -0
- package/.prettierignore +1 -0
- package/.prettierrc +4 -0
- package/README.md +40 -0
- package/bun.lock +1259 -0
- package/dist/client/api.js +7022 -0
- package/dist/client/api.js.map +1 -0
- package/dist/client/base.js +69 -0
- package/dist/client/base.js.map +1 -0
- package/dist/client/common.js +162 -0
- package/dist/client/common.js.map +1 -0
- package/dist/client/configuration.js +44 -0
- package/dist/client/configuration.js.map +1 -0
- package/dist/client/index.js +32 -0
- package/dist/client/index.js.map +1 -0
- package/dist/clientconfiguration.js +163 -0
- package/dist/clientconfiguration.js.map +1 -0
- package/dist/clientconfiguration.spec.js +92 -0
- package/dist/clientconfiguration.spec.js.map +1 -0
- package/dist/commands/add.js +61 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/connection/createconnections.js +62 -0
- package/dist/commands/connection/createconnections.js.map +1 -0
- package/dist/commands/connection/deleteconnection.js +52 -0
- package/dist/commands/connection/deleteconnection.js.map +1 -0
- package/dist/commands/connection/listconnections.js +44 -0
- package/dist/commands/connection/listconnections.js.map +1 -0
- package/dist/commands/get.js +28 -0
- package/dist/commands/get.js.map +1 -0
- package/dist/commands/group/addmember.js +73 -0
- package/dist/commands/group/addmember.js.map +1 -0
- package/dist/commands/group/creategroup.js +55 -0
- package/dist/commands/group/creategroup.js.map +1 -0
- package/dist/commands/group/deletegroup.js +48 -0
- package/dist/commands/group/deletegroup.js.map +1 -0
- package/dist/commands/group/getgroup.js +50 -0
- package/dist/commands/group/getgroup.js.map +1 -0
- package/dist/commands/group/listgroups.js +56 -0
- package/dist/commands/group/listgroups.js.map +1 -0
- package/dist/commands/group/removemember.js +68 -0
- package/dist/commands/group/removemember.js.map +1 -0
- package/dist/commands/groupaccesstoken/createToken.js +49 -0
- package/dist/commands/groupaccesstoken/createToken.js.map +1 -0
- package/dist/commands/groupaccesstoken/deleteToken.js +24 -0
- package/dist/commands/groupaccesstoken/deleteToken.js.map +1 -0
- package/dist/commands/groupaccesstoken/groupContainer.js +71 -0
- package/dist/commands/groupaccesstoken/groupContainer.js.map +1 -0
- package/dist/commands/groupaccesstoken/listTokens.js +25 -0
- package/dist/commands/groupaccesstoken/listTokens.js.map +1 -0
- package/dist/commands/list.js +68 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/misc/login.js +166 -0
- package/dist/commands/misc/login.js.map +1 -0
- package/dist/commands/misc/login.spec.js +138 -0
- package/dist/commands/misc/login.spec.js.map +1 -0
- package/dist/commands/misc/logout.js +11 -0
- package/dist/commands/misc/logout.js.map +1 -0
- package/dist/commands/misc/set-access-token.js +27 -0
- package/dist/commands/misc/set-access-token.js.map +1 -0
- package/dist/commands/package/deletepackage.js +54 -0
- package/dist/commands/package/deletepackage.js.map +1 -0
- package/dist/commands/package/listpackages.js +52 -0
- package/dist/commands/package/listpackages.js.map +1 -0
- package/dist/commands/package/publish.js +134 -0
- package/dist/commands/package/publish.js.map +1 -0
- package/dist/commands/package/updatepackage.js +75 -0
- package/dist/commands/package/updatepackage.js.map +1 -0
- package/dist/commands/package/updatepackage.spec.js +139 -0
- package/dist/commands/package/updatepackage.spec.js.map +1 -0
- package/dist/commands/project/createproject.js +65 -0
- package/dist/commands/project/createproject.js.map +1 -0
- package/dist/commands/project/deleteproject.js +49 -0
- package/dist/commands/project/deleteproject.js.map +1 -0
- package/dist/commands/project/getproject.js +44 -0
- package/dist/commands/project/getproject.js.map +1 -0
- package/dist/commands/project/listprojects.js +46 -0
- package/dist/commands/project/listprojects.js.map +1 -0
- package/dist/commands/project/setproject.js +26 -0
- package/dist/commands/project/setproject.js.map +1 -0
- package/dist/commands/rm.js +68 -0
- package/dist/commands/rm.js.map +1 -0
- package/dist/commands/set.js +17 -0
- package/dist/commands/set.js.map +1 -0
- package/dist/commands/update.js +29 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/version/archive-unarchive-version.js +79 -0
- package/dist/commands/version/archive-unarchive-version.js.map +1 -0
- package/dist/commands/version/archive-unarchive-version.spec.js +244 -0
- package/dist/commands/version/archive-unarchive-version.spec.js.map +1 -0
- package/dist/commands/version/listversions.js +46 -0
- package/dist/commands/version/listversions.js.map +1 -0
- package/dist/common/UserGroupId.js +112 -0
- package/dist/common/UserGroupId.js.map +1 -0
- package/dist/constants.js +54 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.js +137 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.js +77 -0
- package/dist/logger.js.map +1 -0
- package/dist/polyfills/file.polyfill.js +6 -0
- package/dist/polyfills/file.polyfill.js.map +1 -0
- package/dist/utils.js +51 -0
- package/dist/utils.js.map +1 -0
- package/dist/validator.js +53 -0
- package/dist/validator.js.map +1 -0
- package/dist/validator.spec.js +41 -0
- package/dist/validator.spec.js.map +1 -0
- package/docker/Dockerfile.ci +10 -0
- package/docker-compose.yml +18 -0
- package/mocha.setup.ts +4 -0
- package/openapitools.json +7 -0
- package/package.json +67 -0
- package/src/client/.openapi-generator/FILES +8 -0
- package/src/client/.openapi-generator/VERSION +1 -0
- package/src/client/.openapi-generator-ignore +23 -0
- package/src/client/api.ts +8408 -0
- package/src/client/base.ts +86 -0
- package/src/client/common.ts +150 -0
- package/src/client/configuration.ts +110 -0
- package/src/client/git_push.sh +57 -0
- package/src/client/index.ts +18 -0
- package/src/clientconfiguration.spec.ts +116 -0
- package/src/clientconfiguration.ts +204 -0
- package/src/commands/add.ts +106 -0
- package/src/commands/connection/createconnections.ts +67 -0
- package/src/commands/connection/deleteconnection.ts +57 -0
- package/src/commands/connection/listconnections.ts +39 -0
- package/src/commands/get.ts +31 -0
- package/src/commands/group/addmember.ts +83 -0
- package/src/commands/group/creategroup.ts +54 -0
- package/src/commands/group/deletegroup.ts +45 -0
- package/src/commands/group/getgroup.ts +47 -0
- package/src/commands/group/listgroups.ts +45 -0
- package/src/commands/group/removemember.ts +74 -0
- package/src/commands/groupaccesstoken/createToken.ts +68 -0
- package/src/commands/groupaccesstoken/deleteToken.ts +24 -0
- package/src/commands/groupaccesstoken/groupContainer.ts +83 -0
- package/src/commands/groupaccesstoken/listTokens.ts +24 -0
- package/src/commands/list.ts +90 -0
- package/src/commands/misc/login.spec.ts +128 -0
- package/src/commands/misc/login.ts +142 -0
- package/src/commands/misc/logout.ts +9 -0
- package/src/commands/misc/set-access-token.ts +32 -0
- package/src/commands/package/deletepackage.ts +58 -0
- package/src/commands/package/listpackages.ts +44 -0
- package/src/commands/package/publish.ts +179 -0
- package/src/commands/package/updatepackage.spec.ts +221 -0
- package/src/commands/package/updatepackage.ts +95 -0
- package/src/commands/project/createproject.ts +59 -0
- package/src/commands/project/deleteproject.ts +48 -0
- package/src/commands/project/getproject.ts +43 -0
- package/src/commands/project/listprojects.ts +36 -0
- package/src/commands/project/setproject.ts +14 -0
- package/src/commands/rm.ts +106 -0
- package/src/commands/set.ts +16 -0
- package/src/commands/update.ts +41 -0
- package/src/commands/version/archive-unarchive-version.spec.ts +456 -0
- package/src/commands/version/archive-unarchive-version.ts +111 -0
- package/src/commands/version/listversions.ts +45 -0
- package/src/common/UserGroupId.ts +137 -0
- package/src/constants.ts +70 -0
- package/src/index.ts +183 -0
- package/src/logger.ts +86 -0
- package/src/polyfills/file.polyfill.ts +5 -0
- package/src/utils.ts +34 -0
- package/src/validator.spec.ts +51 -0
- package/src/validator.ts +44 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.listVersions = listVersions;
|
|
13
|
+
const api_1 = require("../../client/api");
|
|
14
|
+
const configuration_1 = require("../../client/configuration");
|
|
15
|
+
const clientconfiguration_1 = require("../../clientconfiguration");
|
|
16
|
+
const logger_1 = require("../../logger");
|
|
17
|
+
const utils_1 = require("../../utils");
|
|
18
|
+
const versionsApi = new api_1.VersionsApi(new configuration_1.Configuration());
|
|
19
|
+
function listVersions(controlPlane, packagePath, debug) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const clientConfig = new clientconfiguration_1.ClientConfiguration();
|
|
22
|
+
const organizationName = clientConfig.getOrganization();
|
|
23
|
+
const projectName = clientConfig.getProject();
|
|
24
|
+
if (!clientConfig.doesConfigExists()) {
|
|
25
|
+
logger_1.logger.error("Please, make sure that you are logged in");
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (!projectName) {
|
|
29
|
+
logger_1.logger.error("Please, make sure to set a project");
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const packageName = packagePath.replace("/", "");
|
|
34
|
+
const response = yield versionsApi.listVersions(organizationName, projectName, packageName, {
|
|
35
|
+
baseURL: controlPlane,
|
|
36
|
+
headers: clientConfig.getHeaders(),
|
|
37
|
+
});
|
|
38
|
+
console.log((0, utils_1.prettifyJson)(response.data));
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
logger_1.logger.error("Failed to list versions");
|
|
42
|
+
(0, utils_1.printOutError)(e, debug);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=listversions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listversions.js","sourceRoot":"","sources":["../../../src/commands/version/listversions.ts"],"names":[],"mappings":";;;;;;;;;;;AAQA,oCAoCC;AA5CD,0CAA+C;AAC/C,8DAA2D;AAC3D,mEAAgE;AAChE,yCAAsC;AACtC,uCAA0D;AAE1D,MAAM,WAAW,GAAG,IAAI,iBAAW,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC;AAEzD,SAAsB,YAAY,CAC/B,YAAoB,EACpB,WAAmB,EACnB,KAAc;;QAEd,MAAM,YAAY,GAAG,IAAI,yCAAmB,EAAE,CAAC;QAC/C,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;QAE9C,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACpC,eAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACzD,OAAO;QACV,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YAChB,eAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACnD,OAAO;QACV,CAAC;QAED,IAAI,CAAC;YACF,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,CAC5C,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX;gBACG,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE;aACpC,CACH,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,IAAA,oBAAY,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACV,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACxC,IAAA,qBAAa,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;IACJ,CAAC;CAAA"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UserGroupId = exports.ResourceType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Enum representing the different types of user/group resources.
|
|
6
|
+
*/
|
|
7
|
+
var ResourceType;
|
|
8
|
+
(function (ResourceType) {
|
|
9
|
+
ResourceType["USER"] = "USER";
|
|
10
|
+
ResourceType["GROUP"] = "GROUP";
|
|
11
|
+
})(ResourceType || (exports.ResourceType = ResourceType = {}));
|
|
12
|
+
/**
|
|
13
|
+
* Represents a user or group identifier in the format 'user:userId' or 'group:groupId'.
|
|
14
|
+
* This class parses the input string and provides methods to extract the
|
|
15
|
+
* resource type and name.
|
|
16
|
+
*/
|
|
17
|
+
class UserGroupId {
|
|
18
|
+
static forPublicAccess() {
|
|
19
|
+
return new UserGroupId(`user:*`);
|
|
20
|
+
}
|
|
21
|
+
static forUser(userName) {
|
|
22
|
+
if (!userName) {
|
|
23
|
+
throw new Error("User name cannot be undefined");
|
|
24
|
+
}
|
|
25
|
+
return new UserGroupId(`user:${userName}`);
|
|
26
|
+
}
|
|
27
|
+
static forGroup(groupName) {
|
|
28
|
+
return new UserGroupId(`group:${groupName}`);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Creates a UserGroupId from a string in the format 'user:userId' or 'group:groupId'.
|
|
32
|
+
*
|
|
33
|
+
* @param value the string to parse
|
|
34
|
+
* @throws BadRequestException if the format is invalid
|
|
35
|
+
*/
|
|
36
|
+
constructor(value) {
|
|
37
|
+
if (!value || value.trim().length === 0) {
|
|
38
|
+
throw new Error("UserGroupId cannot be null or empty");
|
|
39
|
+
}
|
|
40
|
+
this.originalValue = value.trim();
|
|
41
|
+
if (!this.originalValue.match(/^(user:[^:]+|group:[^:]+)$/)) {
|
|
42
|
+
throw new Error(`Invalid UserGroupId format. Expected 'user:userId' or 'group:groupId', got: ${this.originalValue}`);
|
|
43
|
+
}
|
|
44
|
+
const parts = this.originalValue.split(":", 2);
|
|
45
|
+
const typeStr = parts[0];
|
|
46
|
+
const name = parts[1];
|
|
47
|
+
if (!name || name.length === 0) {
|
|
48
|
+
throw new Error(`UserGroupId name cannot be empty. Expected 'user:userId' or 'group:groupId', got: ${this.originalValue}`);
|
|
49
|
+
}
|
|
50
|
+
switch (typeStr) {
|
|
51
|
+
case "user":
|
|
52
|
+
this.resourceType = ResourceType.USER;
|
|
53
|
+
break;
|
|
54
|
+
case "group":
|
|
55
|
+
this.resourceType = ResourceType.GROUP;
|
|
56
|
+
break;
|
|
57
|
+
default:
|
|
58
|
+
throw new Error(`Invalid UserGroupId type. Expected 'user' or 'group', got: ${typeStr}`);
|
|
59
|
+
}
|
|
60
|
+
this.resourceName = name;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Creates a UserGroupId from resource type and name.
|
|
64
|
+
*
|
|
65
|
+
* @param resourceType the resource type
|
|
66
|
+
* @param userName the user or group name
|
|
67
|
+
*/
|
|
68
|
+
static create(resourceType, userName) {
|
|
69
|
+
return new UserGroupId(`${resourceType.toLowerCase()}:${userName}`);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Returns the resource type (USER or GROUP).
|
|
73
|
+
*
|
|
74
|
+
* @return the resource type
|
|
75
|
+
*/
|
|
76
|
+
getResourceType() {
|
|
77
|
+
return this.resourceType;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Returns the resource name (the part after the colon).
|
|
81
|
+
*
|
|
82
|
+
* @return the resource name
|
|
83
|
+
*/
|
|
84
|
+
getResourceName() {
|
|
85
|
+
return this.resourceName;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Returns the original string value.
|
|
89
|
+
*
|
|
90
|
+
* @return the original string value
|
|
91
|
+
*/
|
|
92
|
+
getValue() {
|
|
93
|
+
return this.originalValue;
|
|
94
|
+
}
|
|
95
|
+
toString() {
|
|
96
|
+
return this.originalValue;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Custom JSON serialization method for axios/openapi.
|
|
100
|
+
* This ensures UserGroupId is serialized as a string (originalValue) instead of an object.
|
|
101
|
+
*
|
|
102
|
+
* @return the original string value for JSON serialization
|
|
103
|
+
*/
|
|
104
|
+
toJSON() {
|
|
105
|
+
return this.originalValue;
|
|
106
|
+
}
|
|
107
|
+
isPublicAccess() {
|
|
108
|
+
return (this.resourceType === ResourceType.USER && this.originalValue === "*");
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.UserGroupId = UserGroupId;
|
|
112
|
+
//# sourceMappingURL=UserGroupId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserGroupId.js","sourceRoot":"","sources":["../../src/common/UserGroupId.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ASCII_TITLE = exports.LOGIN_TIMEOUT_MS = exports.DAY = exports.HOUR = exports.MINUTE = exports.SECOND = exports.auth0ConfigsByEnv = exports.controlPlanesByEnv = void 0;
|
|
4
|
+
exports.controlPlanesByEnv = {
|
|
5
|
+
production: "https://admin.ms2.co/api/v0",
|
|
6
|
+
dev: "https://dev-admin.ms2.co/api/v0",
|
|
7
|
+
staging: "https://staging-admin.ms2.co/api/v0",
|
|
8
|
+
localhost: "http://admin.ms2.localhost/api/v0",
|
|
9
|
+
"e2e-test": "http://admin.ms2.localhost/api/v0",
|
|
10
|
+
};
|
|
11
|
+
exports.auth0ConfigsByEnv = {
|
|
12
|
+
production: {
|
|
13
|
+
domain: "https://ms2data.us.auth0.com",
|
|
14
|
+
clientId: "ge8JL5TJNwqy7bygAaJkD92KdluqEZgO",
|
|
15
|
+
audience: "https://ms2data.us.auth0.com/api/v2/",
|
|
16
|
+
},
|
|
17
|
+
dev: {
|
|
18
|
+
domain: "https://dev-ohaafogw5p8uyx1m.us.auth0.com",
|
|
19
|
+
clientId: "rr6mzJNj9b104MjCc9xWKPPehq1MJx0L",
|
|
20
|
+
audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
|
|
21
|
+
},
|
|
22
|
+
staging: {
|
|
23
|
+
domain: "https://dev-ohaafogw5p8uyx1m.us.auth0.com",
|
|
24
|
+
clientId: "rr6mzJNj9b104MjCc9xWKPPehq1MJx0L",
|
|
25
|
+
audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
|
|
26
|
+
},
|
|
27
|
+
localhost: {
|
|
28
|
+
domain: "https://dev-ohaafogw5p8uyx1m.us.auth0.com",
|
|
29
|
+
clientId: "rr6mzJNj9b104MjCc9xWKPPehq1MJx0L",
|
|
30
|
+
audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
|
|
31
|
+
},
|
|
32
|
+
"e2e-test": {
|
|
33
|
+
domain: "https://dev-ohaafogw5p8uyx1m.us.auth0.com",
|
|
34
|
+
clientId: "atd8n8dEiGUiNRM7Geuvg41fi5s8ZKqY",
|
|
35
|
+
clientSecret: "ZrEvs86WLqKO9EPp4y_cOvUn3NQT1qc3XC8111f6DBt9oyaclV5sWHz6Nkyo_bEF",
|
|
36
|
+
audience: "https://dev-ohaafogw5p8uyx1m.us.auth0.com/api/v2/",
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
// Time constants in ms
|
|
40
|
+
exports.SECOND = 1000;
|
|
41
|
+
exports.MINUTE = exports.SECOND * 60;
|
|
42
|
+
exports.HOUR = exports.MINUTE * 60;
|
|
43
|
+
exports.DAY = exports.HOUR * 24;
|
|
44
|
+
// Login related
|
|
45
|
+
exports.LOGIN_TIMEOUT_MS = exports.MINUTE * 5;
|
|
46
|
+
exports.ASCII_TITLE = `
|
|
47
|
+
_____ _ _ _ _ _____ _ _____
|
|
48
|
+
/ ____| | (_) | | | / ____| | |_ _|
|
|
49
|
+
| | _ __ ___ __| |_| |__ | | ___ | | | | | |
|
|
50
|
+
| | | '__/ _ \\/ _\` | | '_ \\| |/ _ \\ | | | | | |
|
|
51
|
+
| |____| | | __/ (_| | | |_) | | __/ | |____| |____ _| |_
|
|
52
|
+
\\_____|_| \\___|\\__,_|_|_.__/|_|\\___| \\_____|______|_____|
|
|
53
|
+
`;
|
|
54
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAOa,QAAA,kBAAkB,GAAgC;IAC5D,UAAU,EAAE,6BAA6B;IACzC,GAAG,EAAE,iCAAiC;IACtC,OAAO,EAAE,qCAAqC;IAC9C,SAAS,EAAE,mCAAmC;IAC9C,UAAU,EAAE,mCAAmC;CACjD,CAAC;AAEW,QAAA,iBAAiB,GAQ1B;IACD,UAAU,EAAE;QACT,MAAM,EAAE,8BAA8B;QACtC,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,sCAAsC;KAClD;IACD,GAAG,EAAE;QACF,MAAM,EAAE,2CAA2C;QACnD,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,mDAAmD;KAC/D;IACD,OAAO,EAAE;QACN,MAAM,EAAE,2CAA2C;QACnD,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,mDAAmD;KAC/D;IACD,SAAS,EAAE;QACR,MAAM,EAAE,2CAA2C;QACnD,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,mDAAmD;KAC/D;IACD,UAAU,EAAE;QACT,MAAM,EAAE,2CAA2C;QACnD,QAAQ,EAAE,kCAAkC;QAC5C,YAAY,EACT,kEAAkE;QACrE,QAAQ,EAAE,mDAAmD;KAC/D;CACH,CAAC;AAEF,uBAAuB;AACV,QAAA,MAAM,GAAG,IAAI,CAAC;AACd,QAAA,MAAM,GAAG,cAAM,GAAG,EAAE,CAAC;AACrB,QAAA,IAAI,GAAG,cAAM,GAAG,EAAE,CAAC;AACnB,QAAA,GAAG,GAAG,YAAI,GAAG,EAAE,CAAC;AAE7B,gBAAgB;AACH,QAAA,gBAAgB,GAAG,cAAM,GAAG,CAAC,CAAC;AAE9B,QAAA,WAAW,GAAG;;;;;;;CAO1B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
+
};
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
const axios_1 = __importDefault(require("axios"));
|
|
17
|
+
const commander_1 = require("commander");
|
|
18
|
+
const kleur_1 = __importDefault(require("kleur"));
|
|
19
|
+
const omelette_1 = __importDefault(require("omelette"));
|
|
20
|
+
const package_json_1 = __importDefault(require("../package.json"));
|
|
21
|
+
const clientconfiguration_1 = require("./clientconfiguration");
|
|
22
|
+
const add_1 = require("./commands/add");
|
|
23
|
+
const get_1 = require("./commands/get");
|
|
24
|
+
const list_1 = require("./commands/list");
|
|
25
|
+
const login_1 = require("./commands/misc/login");
|
|
26
|
+
const logout_1 = require("./commands/misc/logout");
|
|
27
|
+
const set_access_token_1 = require("./commands/misc/set-access-token");
|
|
28
|
+
const listpackages_1 = require("./commands/package/listpackages");
|
|
29
|
+
const publish_1 = require("./commands/package/publish");
|
|
30
|
+
const listprojects_1 = require("./commands/project/listprojects");
|
|
31
|
+
const rm_1 = require("./commands/rm");
|
|
32
|
+
const set_1 = require("./commands/set");
|
|
33
|
+
const update_1 = require("./commands/update");
|
|
34
|
+
const archive_unarchive_version_1 = require("./commands/version/archive-unarchive-version");
|
|
35
|
+
const constants_1 = require("./constants");
|
|
36
|
+
const clientConfig = new clientconfiguration_1.ClientConfiguration();
|
|
37
|
+
const activeEnvironment = clientConfig.getEnvironment();
|
|
38
|
+
axios_1.default.defaults.baseURL = constants_1.controlPlanesByEnv[activeEnvironment];
|
|
39
|
+
const cli = commander_1.program
|
|
40
|
+
.version(package_json_1.default.version)
|
|
41
|
+
.description(kleur_1.default.green(constants_1.ASCII_TITLE));
|
|
42
|
+
// Nested CRUD commands for resource management
|
|
43
|
+
(0, get_1.registerGetCommands)(cli, activeEnvironment);
|
|
44
|
+
(0, list_1.registerListCommands)(cli, activeEnvironment);
|
|
45
|
+
(0, update_1.registerUpdateCommands)(cli, activeEnvironment);
|
|
46
|
+
(0, rm_1.registerRmCommands)(cli, activeEnvironment);
|
|
47
|
+
(0, add_1.registerAddCommands)(cli, activeEnvironment);
|
|
48
|
+
(0, set_1.registerSetCommands)(cli);
|
|
49
|
+
// Root commands
|
|
50
|
+
cli.command("publish")
|
|
51
|
+
.description("Publish a new version of the package.")
|
|
52
|
+
.option("--debug")
|
|
53
|
+
.option("-y, --yes", "Skip confirmation.")
|
|
54
|
+
.option("--replication <replication_count>", "The number of replicas to create.", (v) => (v === undefined ? undefined : parseInt(v)), undefined)
|
|
55
|
+
.option("--set-latest", "Set this version as the latest version of the package.", false)
|
|
56
|
+
.action((options) => {
|
|
57
|
+
(0, publish_1.publish)(constants_1.controlPlanesByEnv[activeEnvironment], options.replicationCount, options.debug, options.yes, options.setLatest);
|
|
58
|
+
});
|
|
59
|
+
cli.command("archive")
|
|
60
|
+
.description("Archive a version of a package.")
|
|
61
|
+
.argument("<packageName>", "The name of the package to archive the version of.")
|
|
62
|
+
.argument("<versionId>", "The id of the version to archive.")
|
|
63
|
+
.option("--debug")
|
|
64
|
+
.option("-y, --yes", "Skip confirmation.")
|
|
65
|
+
.action((packageName, versionId, options) => {
|
|
66
|
+
(0, archive_unarchive_version_1.archiveVersion)(constants_1.controlPlanesByEnv[activeEnvironment], packageName, versionId, options.debug, options.yes);
|
|
67
|
+
});
|
|
68
|
+
cli.command("unarchive")
|
|
69
|
+
.description("Unarchive a version of a package.")
|
|
70
|
+
.argument("<packageName>", "The name of the package to unarchive the version of.")
|
|
71
|
+
.argument("<versionId>", "The id of the version to unarchive.")
|
|
72
|
+
.option("--debug")
|
|
73
|
+
.option("-y, --yes", "Skip confirmation.")
|
|
74
|
+
.action((packageName, versionId, options) => {
|
|
75
|
+
(0, archive_unarchive_version_1.unarchiveVersion)(constants_1.controlPlanesByEnv[activeEnvironment], packageName, versionId, options.debug, options.yes);
|
|
76
|
+
});
|
|
77
|
+
cli.command("login")
|
|
78
|
+
.description("Login into Credible service.")
|
|
79
|
+
.argument("<organizationName>", "The organization to login to.")
|
|
80
|
+
.action((organizationName) => {
|
|
81
|
+
(0, login_1.login)(organizationName);
|
|
82
|
+
});
|
|
83
|
+
cli.command("logout")
|
|
84
|
+
.description("Resets Credible service credentials")
|
|
85
|
+
.action(logout_1.logout);
|
|
86
|
+
cli.command("set-access-token")
|
|
87
|
+
.description("Set a service account JWT token for CLI authentication")
|
|
88
|
+
.argument("<jwtToken>", "The JWT token to use for authentication")
|
|
89
|
+
.option("-o, --organization <organizationName>", "Organization name to set")
|
|
90
|
+
.action((jwtToken, options) => {
|
|
91
|
+
(0, set_access_token_1.setAccessToken)(jwtToken, options.organization);
|
|
92
|
+
});
|
|
93
|
+
cli.command("status")
|
|
94
|
+
.description("Shows the currently active organization and project.")
|
|
95
|
+
.action(() => {
|
|
96
|
+
const config = new clientconfiguration_1.ClientConfiguration();
|
|
97
|
+
config.printStatus();
|
|
98
|
+
});
|
|
99
|
+
const complete = (0, omelette_1.default)("cred").tree({
|
|
100
|
+
// CRUD commands
|
|
101
|
+
get: ["project", "group"],
|
|
102
|
+
ls: ["project", "connection", "package", "version", "group", "group-access-token"],
|
|
103
|
+
update: ["package"],
|
|
104
|
+
rm: ["project", "connection", "package", "group", "member", "group-access-token"],
|
|
105
|
+
add: ["project", "connection", "group", "member", "group-access-token"],
|
|
106
|
+
// Misc commands
|
|
107
|
+
set: ["project"],
|
|
108
|
+
login: [],
|
|
109
|
+
logout: [],
|
|
110
|
+
"set-access-token": [],
|
|
111
|
+
status: [],
|
|
112
|
+
publish: [],
|
|
113
|
+
archive: [],
|
|
114
|
+
unarchive: [],
|
|
115
|
+
});
|
|
116
|
+
complete.onAsync("$3", (_a) => __awaiter(void 0, [_a], void 0, function* ({ reply, line }) {
|
|
117
|
+
const projectRelatedCommands = ["set project", "get project", "rm project"];
|
|
118
|
+
if (projectRelatedCommands.some((cmd) => line.includes(cmd))) {
|
|
119
|
+
reply((0, listprojects_1.listProjects)(constants_1.controlPlanesByEnv[activeEnvironment], false).then((projects) => projects.map((project) => project.name)));
|
|
120
|
+
}
|
|
121
|
+
const packageRelatedCommands = ["rm package", "ls version"];
|
|
122
|
+
if (packageRelatedCommands.some((cmd) => line.includes(cmd))) {
|
|
123
|
+
reply((0, listpackages_1.listPackages)(constants_1.controlPlanesByEnv[activeEnvironment], false).then((packages) => packages.map((_package) => _package.name)));
|
|
124
|
+
}
|
|
125
|
+
}));
|
|
126
|
+
complete.next(() => {
|
|
127
|
+
commander_1.program.parse(process.argv);
|
|
128
|
+
});
|
|
129
|
+
if (~process.argv.indexOf("--cleanup")) {
|
|
130
|
+
complete.cleanupShellInitFile();
|
|
131
|
+
}
|
|
132
|
+
if (~process.argv.indexOf("--install")) {
|
|
133
|
+
complete.setupShellInitFile();
|
|
134
|
+
console.log("CLI installed successfully!");
|
|
135
|
+
}
|
|
136
|
+
complete.init();
|
|
137
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.logAxiosError = exports.logger = void 0;
|
|
7
|
+
const kleur_1 = __importDefault(require("kleur"));
|
|
8
|
+
const winston_1 = __importDefault(require("winston"));
|
|
9
|
+
const logColors = {
|
|
10
|
+
error: kleur_1.default.red,
|
|
11
|
+
warn: kleur_1.default.yellow,
|
|
12
|
+
info: kleur_1.default.cyan,
|
|
13
|
+
http: kleur_1.default.magenta,
|
|
14
|
+
debug: kleur_1.default.gray,
|
|
15
|
+
};
|
|
16
|
+
// Custom console log format
|
|
17
|
+
const consoleFormat = winston_1.default.format.printf(({ level, message, timestamp }) => {
|
|
18
|
+
const colorFn = logColors[level] || ((text) => text);
|
|
19
|
+
return `[${kleur_1.default.gray(timestamp)}] ${colorFn(level.toUpperCase())}: ${message}`;
|
|
20
|
+
});
|
|
21
|
+
// Create Winston logger
|
|
22
|
+
exports.logger = winston_1.default.createLogger({
|
|
23
|
+
level: "debug",
|
|
24
|
+
format: winston_1.default.format.combine(winston_1.default.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), winston_1.default.format.errors({ stack: true }), winston_1.default.format.splat()),
|
|
25
|
+
transports: [
|
|
26
|
+
// Console transport with colored logs
|
|
27
|
+
new winston_1.default.transports.Console({
|
|
28
|
+
format: consoleFormat,
|
|
29
|
+
}),
|
|
30
|
+
// NOTE disabled app.log logging
|
|
31
|
+
// File transport (logs without colors)
|
|
32
|
+
// new winston.transports.File({
|
|
33
|
+
// filename: "app.log",
|
|
34
|
+
// level: "info",
|
|
35
|
+
// format: winston.format.json(),
|
|
36
|
+
// }),
|
|
37
|
+
],
|
|
38
|
+
});
|
|
39
|
+
const logAxiosError = (error, debug) => {
|
|
40
|
+
if (error.response) {
|
|
41
|
+
// The request was made and the server responded with a status code
|
|
42
|
+
// that falls out of the range of 2xx
|
|
43
|
+
if (debug) {
|
|
44
|
+
exports.logger.error(`Error ${error.response.status} at ${error.request.path}`);
|
|
45
|
+
}
|
|
46
|
+
switch (error.response.status) {
|
|
47
|
+
case 401:
|
|
48
|
+
exports.logger.error("Unauthorized: Please double check that you are logged in");
|
|
49
|
+
break;
|
|
50
|
+
case 403:
|
|
51
|
+
exports.logger.error("Forbidden: You're not allowed to perform this operation");
|
|
52
|
+
break;
|
|
53
|
+
case 500:
|
|
54
|
+
exports.logger.error("Internal Server Error");
|
|
55
|
+
break;
|
|
56
|
+
default:
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
if (error.response.data) {
|
|
60
|
+
exports.logger.error(error.response.data);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else if (error.request) {
|
|
64
|
+
// The request was made but no response was received
|
|
65
|
+
// `error.request` is an instance of XMLHttpRequest in the browser and an instance of
|
|
66
|
+
// http.ClientRequest in node.js
|
|
67
|
+
const requestOptions = error.request._options;
|
|
68
|
+
exports.logger.error(`Failed to ${requestOptions.method} resource ${requestOptions.path} on ${requestOptions.hostname}:${requestOptions.port}`);
|
|
69
|
+
exports.logger.error(error.code, error.message);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// Something happened in setting up the request that triggered an Error
|
|
73
|
+
exports.logger.error("Error", error.message);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
exports.logAxiosError = logAxiosError;
|
|
77
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// TODO: Polyfill leads to errors when pushing packages.
|
|
4
|
+
//globalThis.File = File as unknown as typeof globalThis.File;
|
|
5
|
+
//globalThis.Blob = Blob as unknown as typeof globalThis.Blob;
|
|
6
|
+
//# sourceMappingURL=file.polyfill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.polyfill.js","sourceRoot":"","sources":["../../src/polyfills/file.polyfill.ts"],"names":[],"mappings":";;AAEA,wDAAwD;AACxD,8DAA8D;AAC9D,8DAA8D"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.sleep = sleep;
|
|
16
|
+
exports.prettifyJson = prettifyJson;
|
|
17
|
+
exports.printOutError = printOutError;
|
|
18
|
+
exports.getConfirmation = getConfirmation;
|
|
19
|
+
const axios_1 = __importDefault(require("axios"));
|
|
20
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
21
|
+
const logger_1 = require("./logger");
|
|
22
|
+
function sleep(time_in_ms) {
|
|
23
|
+
return new Promise((resolve) => setTimeout(resolve, time_in_ms));
|
|
24
|
+
}
|
|
25
|
+
function prettifyJson(payload) {
|
|
26
|
+
return JSON.stringify(payload, null, 2);
|
|
27
|
+
}
|
|
28
|
+
function printOutError(e, debug) {
|
|
29
|
+
if (axios_1.default.isAxiosError(e)) {
|
|
30
|
+
(0, logger_1.logAxiosError)(e, debug);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
logger_1.logger.error("Unexpected error", e);
|
|
34
|
+
}
|
|
35
|
+
if (debug) {
|
|
36
|
+
logger_1.logger.debug(e);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function getConfirmation(message) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const answer = yield inquirer_1.default.prompt([
|
|
42
|
+
{
|
|
43
|
+
type: "confirm",
|
|
44
|
+
name: "confirm",
|
|
45
|
+
message,
|
|
46
|
+
},
|
|
47
|
+
]);
|
|
48
|
+
return answer.confirm;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,sBAEC;AAED,oCAEC;AAED,sCAUC;AAED,0CASC;AAjCD,kDAA0B;AAC1B,wDAAgC;AAChC,qCAAiD;AAEjD,SAAgB,KAAK,CAAC,UAAkB;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAgB,YAAY,CAAC,OAAe;IACzC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,aAAa,CAAC,CAAQ,EAAE,KAAc;IACnD,IAAI,eAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,IAAA,sBAAa,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACL,eAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACT,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;AACJ,CAAC;AAED,SAAsB,eAAe,CAAC,OAAe;;QAClD,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YAClC;gBACG,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO;aACT;SACH,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC;IACzB,CAAC;CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PathType = void 0;
|
|
4
|
+
exports.validatePath = validatePath;
|
|
5
|
+
exports.validateManifest = validateManifest;
|
|
6
|
+
const logger_1 = require("./logger");
|
|
7
|
+
const idRegex = new RegExp("^[a-zA-Z0-9\\-]+$");
|
|
8
|
+
const versionRegex = new RegExp("^[a-zA-Z0-9\\.]+$");
|
|
9
|
+
var PathType;
|
|
10
|
+
(function (PathType) {
|
|
11
|
+
PathType[PathType["Root"] = 0] = "Root";
|
|
12
|
+
PathType[PathType["Package"] = 1] = "Package";
|
|
13
|
+
PathType[PathType["Version"] = 2] = "Version";
|
|
14
|
+
PathType[PathType["Invalid"] = 3] = "Invalid";
|
|
15
|
+
})(PathType || (exports.PathType = PathType = {}));
|
|
16
|
+
function validatePath(path) {
|
|
17
|
+
if (!path.startsWith("/")) {
|
|
18
|
+
return PathType.Invalid;
|
|
19
|
+
}
|
|
20
|
+
const pathParts = path.split("/");
|
|
21
|
+
if (pathParts.length === 2 && !pathParts[1]) {
|
|
22
|
+
return PathType.Root;
|
|
23
|
+
}
|
|
24
|
+
else if (pathParts.length === 2 && idRegex.test(pathParts[1])) {
|
|
25
|
+
return PathType.Package;
|
|
26
|
+
}
|
|
27
|
+
else if (pathParts.length === 3 &&
|
|
28
|
+
idRegex.test(pathParts[1]) &&
|
|
29
|
+
versionRegex.test(pathParts[2])) {
|
|
30
|
+
return PathType.Version;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return PathType.Invalid;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function validateManifest() {
|
|
37
|
+
try {
|
|
38
|
+
// const packageManifestJson = fs.readFileSync("malloy-package.json");
|
|
39
|
+
// const packageManifest = JSON.parse(packageManifestJson.toString());
|
|
40
|
+
// TODO: Validate packageManigfest.
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
let message;
|
|
45
|
+
if (error instanceof Error)
|
|
46
|
+
message = error.message;
|
|
47
|
+
else
|
|
48
|
+
message = String(error);
|
|
49
|
+
logger_1.logger.error("Unable to open and parse manifest: " + message);
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":";;;AAUA,oCAkBC;AAED,4CAaC;AA3CD,qCAAkC;AAElC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAChD,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACrD,IAAY,QAKX;AALD,WAAY,QAAQ;IACjB,uCAAI,CAAA;IACJ,6CAAO,CAAA;IACP,6CAAO,CAAA;IACP,6CAAO,CAAA;AACV,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AACD,SAAgB,YAAY,CAAC,IAAY;IACtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC3B,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC,IAAI,CAAC;IACxB,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC3B,CAAC;SAAM,IACJ,SAAS,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAChC,CAAC;QACA,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC3B,CAAC;SAAM,CAAC;QACL,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC3B,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB;IAC7B,IAAI,CAAC;QACF,sEAAsE;QACtE,sEAAsE;QACtE,mCAAmC;QACnC,OAAO,IAAI,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACd,IAAI,OAAO,CAAC;QACZ,IAAI,KAAK,YAAY,KAAK;YAAE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;;YAC/C,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,eAAM,CAAC,KAAK,CAAC,qCAAqC,GAAG,OAAO,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC;IAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chai_1 = require("chai");
|
|
4
|
+
const validator_1 = require("./validator");
|
|
5
|
+
describe("validator", () => {
|
|
6
|
+
describe("validatePath", () => {
|
|
7
|
+
it("should return PathType.Invalid for a path not starting with '/'", () => {
|
|
8
|
+
(0, chai_1.expect)((0, validator_1.validatePath)("invalidPath")).to.equal(validator_1.PathType.Invalid);
|
|
9
|
+
});
|
|
10
|
+
it("should return PathType.Root for '/'", () => {
|
|
11
|
+
(0, chai_1.expect)((0, validator_1.validatePath)("/")).to.equal(validator_1.PathType.Root);
|
|
12
|
+
});
|
|
13
|
+
it("should return PathType.Package for a valid package path", () => {
|
|
14
|
+
(0, chai_1.expect)((0, validator_1.validatePath)("/package123")).to.equal(validator_1.PathType.Package);
|
|
15
|
+
(0, chai_1.expect)((0, validator_1.validatePath)("/abc-def")).to.equal(validator_1.PathType.Package);
|
|
16
|
+
});
|
|
17
|
+
it("should return PathType.Invalid for a package path with invalid characters", () => {
|
|
18
|
+
(0, chai_1.expect)((0, validator_1.validatePath)("/package@123")).to.equal(validator_1.PathType.Invalid);
|
|
19
|
+
});
|
|
20
|
+
it("should return PathType.Version for a valid package and version path", () => {
|
|
21
|
+
(0, chai_1.expect)((0, validator_1.validatePath)("/package123/1.0.0")).to.equal(validator_1.PathType.Version);
|
|
22
|
+
(0, chai_1.expect)((0, validator_1.validatePath)("/abc-def/2.3.4")).to.equal(validator_1.PathType.Version);
|
|
23
|
+
});
|
|
24
|
+
it("should return PathType.Invalid for a version path with invalid characters", () => {
|
|
25
|
+
(0, chai_1.expect)((0, validator_1.validatePath)("/package123/1.0.0-beta")).to.equal(validator_1.PathType.Invalid);
|
|
26
|
+
(0, chai_1.expect)((0, validator_1.validatePath)("/abc-def/2.3.4!")).to.equal(validator_1.PathType.Invalid);
|
|
27
|
+
});
|
|
28
|
+
it("should return PathType.Invalid for a path with too many segments", () => {
|
|
29
|
+
(0, chai_1.expect)((0, validator_1.validatePath)("/package123/1.0.0/extra")).to.equal(validator_1.PathType.Invalid);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
describe("validateManifest", () => {
|
|
33
|
+
it("should return true if manifest validation passes", () => {
|
|
34
|
+
(0, chai_1.expect)((0, validator_1.validateManifest)()).to.be.true;
|
|
35
|
+
});
|
|
36
|
+
// it("should log an error and return false if manifest validation fails", () => {
|
|
37
|
+
// expect(validateManifest()).to.be.false;
|
|
38
|
+
// });
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=validator.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.spec.js","sourceRoot":"","sources":["../src/validator.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,2CAAuE;AAEvE,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACxB,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACxE,IAAA,aAAM,EAAC,IAAA,wBAAY,EAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAQ,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC5C,IAAA,aAAM,EAAC,IAAA,wBAAY,EAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YAChE,IAAA,aAAM,EAAC,IAAA,wBAAY,EAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAQ,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAA,aAAM,EAAC,IAAA,wBAAY,EAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAQ,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;YAClF,IAAA,aAAM,EAAC,IAAA,wBAAY,EAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAQ,CAAC,OAAO,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC5E,IAAA,aAAM,EAAC,IAAA,wBAAY,EAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAQ,CAAC,OAAO,CAAC,CAAC;YACrE,IAAA,aAAM,EAAC,IAAA,wBAAY,EAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAQ,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;YAClF,IAAA,aAAM,EAAC,IAAA,wBAAY,EAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACpD,oBAAQ,CAAC,OAAO,CAClB,CAAC;YACF,IAAA,aAAM,EAAC,IAAA,wBAAY,EAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAQ,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YACzE,IAAA,aAAM,EAAC,IAAA,wBAAY,EAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACrD,oBAAQ,CAAC,OAAO,CAClB,CAAC;QACL,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YACzD,IAAA,aAAM,EAAC,IAAA,4BAAgB,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,kFAAkF;QAClF,6CAA6C;QAC7C,MAAM;IACT,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC"}
|