@transcend-io/cli 4.93.0 → 4.95.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -28
- package/build/cli-create-assessment.d.ts +3 -0
- package/build/cli-create-assessment.d.ts.map +1 -0
- package/build/cli-create-assessment.js +162 -0
- package/build/cli-create-assessment.js.map +1 -0
- package/build/cli-push.js +9 -9
- package/build/cli-push.js.map +1 -1
- package/build/codecs.d.ts +54 -0
- package/build/codecs.d.ts.map +1 -1
- package/build/codecs.js +35 -1
- package/build/codecs.js.map +1 -1
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +4 -0
- package/build/constants.js.map +1 -1
- package/build/enums.d.ts +2 -0
- package/build/enums.d.ts.map +1 -1
- package/build/enums.js +2 -0
- package/build/enums.js.map +1 -1
- package/build/graphql/fetchAssessmentTemplates.d.ts +22 -0
- package/build/graphql/fetchAssessmentTemplates.d.ts.map +1 -0
- package/build/graphql/fetchAssessmentTemplates.js +32 -0
- package/build/graphql/fetchAssessmentTemplates.js.map +1 -0
- package/build/graphql/fetchAssessments.d.ts +30 -0
- package/build/graphql/fetchAssessments.d.ts.map +1 -0
- package/build/graphql/fetchAssessments.js +32 -0
- package/build/graphql/fetchAssessments.js.map +1 -0
- package/build/graphql/gqls/assessment.d.ts +7 -0
- package/build/graphql/gqls/assessment.d.ts.map +1 -0
- package/build/graphql/gqls/assessment.js +87 -0
- package/build/graphql/gqls/assessment.js.map +1 -0
- package/build/graphql/gqls/index.d.ts +1 -0
- package/build/graphql/gqls/index.d.ts.map +1 -1
- package/build/graphql/gqls/index.js +1 -0
- package/build/graphql/gqls/index.js.map +1 -1
- package/build/graphql/pullTranscendConfiguration.d.ts.map +1 -1
- package/build/graphql/pullTranscendConfiguration.js +27 -1
- package/build/graphql/pullTranscendConfiguration.js.map +1 -1
- package/build/graphql/syncAssessmentTemplates.d.ts +16 -0
- package/build/graphql/syncAssessmentTemplates.d.ts.map +1 -0
- package/build/graphql/syncAssessmentTemplates.js +61 -0
- package/build/graphql/syncAssessmentTemplates.js.map +1 -0
- package/build/graphql/syncAssessments.d.ts +39 -0
- package/build/graphql/syncAssessments.d.ts.map +1 -0
- package/build/graphql/syncAssessments.js +95 -0
- package/build/graphql/syncAssessments.js.map +1 -0
- package/build/graphql/syncConfigurationToTranscend.d.ts +3 -1
- package/build/graphql/syncConfigurationToTranscend.d.ts.map +1 -1
- package/build/graphql/syncConfigurationToTranscend.js +14 -2
- package/build/graphql/syncConfigurationToTranscend.js.map +1 -1
- package/build/graphql/syncDataSubject.d.ts +1 -1
- package/build/graphql/syncDataSubject.js +1 -1
- package/build/helpers/getVariablesFromHandlebarsTemplate.d.ts +10 -0
- package/build/helpers/getVariablesFromHandlebarsTemplate.d.ts.map +1 -0
- package/build/helpers/getVariablesFromHandlebarsTemplate.js +99 -0
- package/build/helpers/getVariablesFromHandlebarsTemplate.js.map +1 -0
- package/build/helpers/inquirer.d.ts +32 -0
- package/build/helpers/inquirer.d.ts.map +1 -0
- package/build/helpers/inquirer.js +64 -0
- package/build/helpers/inquirer.js.map +1 -0
- package/build/helpers/parseVariablesFromString.d.ts +10 -0
- package/build/helpers/parseVariablesFromString.d.ts.map +1 -0
- package/build/helpers/parseVariablesFromString.js +21 -0
- package/build/helpers/parseVariablesFromString.js.map +1 -0
- package/build/logger.js +0 -1
- package/build/logger.js.map +1 -1
- package/build/tests/getVariablesFromHandlebars.test.d.ts +2 -0
- package/build/tests/getVariablesFromHandlebars.test.d.ts.map +1 -0
- package/build/tests/getVariablesFromHandlebars.test.js +44 -0
- package/build/tests/getVariablesFromHandlebars.test.js.map +1 -0
- package/build/tsbuildinfo +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncAssessments.js","sourceRoot":"","sources":["../../src/graphql/syncAssessments.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,11 @@ import { GraphQLClient } from 'graphql-request';
|
|
|
8
8
|
* @param pageSize - Page size
|
|
9
9
|
* @returns True if an error was encountered
|
|
10
10
|
*/
|
|
11
|
-
export declare function syncConfigurationToTranscend(input: TranscendInput, client: GraphQLClient, { pageSize, publishToPrivacyCenter, classifyService, }: {
|
|
11
|
+
export declare function syncConfigurationToTranscend(input: TranscendInput, client: GraphQLClient, { pageSize, publishToPrivacyCenter, classifyService, creatorId, }: {
|
|
12
12
|
/** Page size */
|
|
13
13
|
pageSize?: number;
|
|
14
|
+
/** Creator ID TODO: https://transcend.height.app/T-29850 - remove this */
|
|
15
|
+
creatorId?: string;
|
|
14
16
|
/** When true, skip publishing to privacy center */
|
|
15
17
|
publishToPrivacyCenter?: boolean;
|
|
16
18
|
/** classify data flow service if missing */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncConfigurationToTranscend.d.ts","sourceRoot":"","sources":["../../src/graphql/syncConfigurationToTranscend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"syncConfigurationToTranscend.d.ts","sourceRoot":"","sources":["../../src/graphql/syncConfigurationToTranscend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA+BhD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,aAAa,EACrB,EACE,QAAa,EAEb,sBAA6B,EAC7B,eAAuB,EACvB,SAAS,GACV,EAAE;IACD,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,4CAA4C;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACA,OAAO,CAAC,OAAO,CAAC,CAgXlB"}
|
|
@@ -13,6 +13,8 @@ const syncEnrichers_1 = require("./syncEnrichers");
|
|
|
13
13
|
const syncAttribute_1 = require("./syncAttribute");
|
|
14
14
|
const syncDataSilos_1 = require("./syncDataSilos");
|
|
15
15
|
const syncCookies_1 = require("./syncCookies");
|
|
16
|
+
const syncAssessments_1 = require("./syncAssessments");
|
|
17
|
+
const syncAssessmentTemplates_1 = require("./syncAssessmentTemplates");
|
|
16
18
|
const fetchDataSubjects_1 = require("./fetchDataSubjects");
|
|
17
19
|
const syncDataSubject_1 = require("./syncDataSubject");
|
|
18
20
|
const fetchApiKeys_1 = require("./fetchApiKeys");
|
|
@@ -34,10 +36,10 @@ const CONCURRENCY = 10;
|
|
|
34
36
|
*/
|
|
35
37
|
async function syncConfigurationToTranscend(input, client, { pageSize = 50,
|
|
36
38
|
// TODO: https://transcend.height.app/T-23779
|
|
37
|
-
publishToPrivacyCenter = true, classifyService = false, }) {
|
|
39
|
+
publishToPrivacyCenter = true, classifyService = false, creatorId, }) {
|
|
38
40
|
let encounteredError = false;
|
|
39
41
|
logger_1.logger.info(colors_1.default.magenta(`Fetching data with page size ${pageSize}...`));
|
|
40
|
-
const { templates, attributes, actions, identifiers, 'data-subjects': dataSubjects, 'business-entities': businessEntities, enrichers, cookies, 'consent-manager': consentManager, 'data-silos': dataSilos, 'data-flows': dataFlows, } = input;
|
|
42
|
+
const { templates, attributes, actions, identifiers, 'data-subjects': dataSubjects, 'business-entities': businessEntities, enrichers, cookies, assessments, 'assessment-templates': assessmentTemplates, 'consent-manager': consentManager, 'data-silos': dataSilos, 'data-flows': dataFlows, } = input;
|
|
41
43
|
const [identifierByName, dataSubjectsByName, apiKeyTitleMap] = await Promise.all([
|
|
42
44
|
// Ensure all identifiers are created and create a map from name -> identifier.id
|
|
43
45
|
enrichers || identifiers
|
|
@@ -222,6 +224,16 @@ publishToPrivacyCenter = true, classifyService = false, }) {
|
|
|
222
224
|
const syncedDataFlows = await (0, syncDataFlows_1.syncDataFlows)(client, dataFlows, classifyService);
|
|
223
225
|
encounteredError = encounteredError || !syncedDataFlows;
|
|
224
226
|
}
|
|
227
|
+
// Sync assessments
|
|
228
|
+
if (assessments) {
|
|
229
|
+
const syncedAssessments = await (0, syncAssessments_1.syncAssessments)(client, assessments, CONCURRENCY);
|
|
230
|
+
encounteredError = encounteredError || !syncedAssessments;
|
|
231
|
+
}
|
|
232
|
+
// Sync assessment templates
|
|
233
|
+
if (assessmentTemplates) {
|
|
234
|
+
const syncedAssessmentTemplates = await (0, syncAssessmentTemplates_1.syncAssessmentTemplates)(client, assessmentTemplates, { concurrency: CONCURRENCY, creatorId });
|
|
235
|
+
encounteredError = encounteredError || !syncedAssessmentTemplates;
|
|
236
|
+
}
|
|
225
237
|
// Store dependency updates
|
|
226
238
|
const dependencyUpdates = [];
|
|
227
239
|
// Sync data silos
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncConfigurationToTranscend.js","sourceRoot":"","sources":["../../src/graphql/syncConfigurationToTranscend.ts"],"names":[],"mappings":";;;;;;AAGA,sCAAmC;AACnC,oDAA4B;AAC5B,uCAA+B;AAC/B,yDAG4B;AAC5B,qDAAkD;AAClD,mDAA+C;AAC/C,mDAAgD;AAChD,mDAA0E;AAC1E,+CAA4C;AAC5C,2DAG6B;AAC7B,uDAAoD;AACpD,iDAA8C;AAC9C,6DAA0D;AAC1D,6DAA0D;AAC1D,iEAA8D;AAC9D,mDAAgD;AAChD,6CAA0C;AAC1C,mDAA+C;AAC/C,uDAAoD;AAEpD,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;;;;;GAOG;AACI,KAAK,UAAU,4BAA4B,CAChD,KAAqB,EACrB,MAAqB,EACrB,EACE,QAAQ,GAAG,EAAE;AACb,6CAA6C;AAC7C,sBAAsB,GAAG,IAAI,EAC7B,eAAe,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"syncConfigurationToTranscend.js","sourceRoot":"","sources":["../../src/graphql/syncConfigurationToTranscend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get variables from handlebars template
|
|
3
|
+
*
|
|
4
|
+
* @param template - Template
|
|
5
|
+
* @returns Variables
|
|
6
|
+
*/
|
|
7
|
+
export declare function getVariablesFromHandlebarsTemplate(template: string): {
|
|
8
|
+
[k in string]: unknown;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=getVariablesFromHandlebarsTemplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVariablesFromHandlebarsTemplate.d.ts","sourceRoot":"","sources":["../../src/helpers/getVariablesFromHandlebarsTemplate.ts"],"names":[],"mappings":"AA6DA;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,MAAM,GAAG;KACnE,CAAC,IAAI,MAAM,GAAG,OAAO;CACvB,CAkCA"}
|
|
@@ -0,0 +1,99 @@
|
|
|
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.getVariablesFromHandlebarsTemplate = void 0;
|
|
7
|
+
const handlebars_1 = __importDefault(require("handlebars"));
|
|
8
|
+
/**
|
|
9
|
+
* Parse AST for variables
|
|
10
|
+
*
|
|
11
|
+
* @param statement - Statement to parse
|
|
12
|
+
* @returns Variables
|
|
13
|
+
*/
|
|
14
|
+
function parseHandlebarsAst(statement) {
|
|
15
|
+
// No variables
|
|
16
|
+
if (statement.type === 'ContentStatement') {
|
|
17
|
+
return {};
|
|
18
|
+
}
|
|
19
|
+
// Parse variables from {{ var }}
|
|
20
|
+
if (statement.type === 'MustacheStatement') {
|
|
21
|
+
const moustacheStatement = statement;
|
|
22
|
+
const paramsExpressionList = moustacheStatement.params;
|
|
23
|
+
const pathExpression = moustacheStatement.path;
|
|
24
|
+
const vars = [
|
|
25
|
+
...paramsExpressionList.map(({ original }) => original),
|
|
26
|
+
pathExpression.original,
|
|
27
|
+
].filter((x) => !!x);
|
|
28
|
+
return vars.reduce((acc, x) => Object.assign(acc, { [x]: null }), {});
|
|
29
|
+
}
|
|
30
|
+
// Parse from {{#each}} or {{#with}}
|
|
31
|
+
if (statement.type === 'BlockStatement' && statement) {
|
|
32
|
+
const moustacheStatement = statement;
|
|
33
|
+
const pathExpression = moustacheStatement.path;
|
|
34
|
+
const paramsExpressionList = moustacheStatement.params;
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
const program = moustacheStatement.program;
|
|
37
|
+
const param = paramsExpressionList[0];
|
|
38
|
+
if (pathExpression.original === 'with') {
|
|
39
|
+
return {
|
|
40
|
+
[param.original]: program.body
|
|
41
|
+
.map(parseHandlebarsAst)
|
|
42
|
+
.reduce((acc, obj) => Object.assign(acc, obj), {}),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
if (pathExpression.original === 'each') {
|
|
46
|
+
return {
|
|
47
|
+
[param.original]: [
|
|
48
|
+
program.body
|
|
49
|
+
.map(parseHandlebarsAst)
|
|
50
|
+
.reduce((acc, obj) => Object.assign(acc, obj), {}),
|
|
51
|
+
],
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
throw new Error(`Got unknown path expression ${pathExpression.original} in statement.type === 'BlockStatement'`);
|
|
55
|
+
}
|
|
56
|
+
throw new Error(`Unknown statement: ${statement.type}`);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get variables from handlebars template
|
|
60
|
+
*
|
|
61
|
+
* @param template - Template
|
|
62
|
+
* @returns Variables
|
|
63
|
+
*/
|
|
64
|
+
function getVariablesFromHandlebarsTemplate(template) {
|
|
65
|
+
const ast = handlebars_1.default.parseWithoutProcessing(template);
|
|
66
|
+
const results = ast.body.map(parseHandlebarsAst);
|
|
67
|
+
return results.reduce((acc, data) => {
|
|
68
|
+
Object.entries(data).forEach(([k, v]) => {
|
|
69
|
+
const existing = acc[k];
|
|
70
|
+
if (!existing) {
|
|
71
|
+
return Object.assign(acc, { [k]: v });
|
|
72
|
+
}
|
|
73
|
+
if (Array.isArray(existing) && Array.isArray(v)) {
|
|
74
|
+
return Object.assign(acc, {
|
|
75
|
+
[k]: [
|
|
76
|
+
{
|
|
77
|
+
...existing[0],
|
|
78
|
+
...v[0],
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
if (typeof existing === 'object' && typeof v === 'object') {
|
|
84
|
+
return Object.assign(acc, {
|
|
85
|
+
[k]: {
|
|
86
|
+
...existing,
|
|
87
|
+
...v,
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return Object.assign(acc, {
|
|
92
|
+
[k]: v,
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
return acc;
|
|
96
|
+
}, {});
|
|
97
|
+
}
|
|
98
|
+
exports.getVariablesFromHandlebarsTemplate = getVariablesFromHandlebarsTemplate;
|
|
99
|
+
//# sourceMappingURL=getVariablesFromHandlebarsTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVariablesFromHandlebarsTemplate.js","sourceRoot":"","sources":["../../src/helpers/getVariablesFromHandlebarsTemplate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inquirer confirm text
|
|
3
|
+
*
|
|
4
|
+
* @param options - Options
|
|
5
|
+
*/
|
|
6
|
+
export declare function inquirerConfirmBoolean({ message, }: {
|
|
7
|
+
/** Message */
|
|
8
|
+
message: string;
|
|
9
|
+
}): Promise<boolean>;
|
|
10
|
+
/**
|
|
11
|
+
* Inquirer confirm text
|
|
12
|
+
*
|
|
13
|
+
* @param options - Options
|
|
14
|
+
*/
|
|
15
|
+
export declare function inquirerConfirmText({ message, }: {
|
|
16
|
+
/** Message */
|
|
17
|
+
message: string;
|
|
18
|
+
}): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Inquirer auto complete
|
|
21
|
+
*
|
|
22
|
+
* @param options - Options
|
|
23
|
+
*/
|
|
24
|
+
export declare function inquirerAutoComplete({ defaultValue, values, message, }: {
|
|
25
|
+
/** Default value */
|
|
26
|
+
defaultValue?: string;
|
|
27
|
+
/** Message */
|
|
28
|
+
message: string;
|
|
29
|
+
/** Values to select */
|
|
30
|
+
values: string[];
|
|
31
|
+
}): Promise<string>;
|
|
32
|
+
//# sourceMappingURL=inquirer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inquirer.d.ts","sourceRoot":"","sources":["../../src/helpers/inquirer.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,OAAO,GACR,EAAE;IACD,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,OAAO,CAAC,CAYnB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,OAAO,GACR,EAAE;IACD,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAalB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE;IACD,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
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.inquirerAutoComplete = exports.inquirerConfirmText = exports.inquirerConfirmBoolean = void 0;
|
|
7
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
|
+
const inquirer_autocomplete_prompt_1 = __importDefault(require("inquirer-autocomplete-prompt"));
|
|
9
|
+
const requests_1 = require("../requests");
|
|
10
|
+
/**
|
|
11
|
+
* Inquirer confirm text
|
|
12
|
+
*
|
|
13
|
+
* @param options - Options
|
|
14
|
+
*/
|
|
15
|
+
async function inquirerConfirmBoolean({ message, }) {
|
|
16
|
+
const { response } = await inquirer_1.default.prompt([
|
|
17
|
+
{
|
|
18
|
+
name: 'response',
|
|
19
|
+
message,
|
|
20
|
+
type: 'confirm',
|
|
21
|
+
},
|
|
22
|
+
]);
|
|
23
|
+
return response;
|
|
24
|
+
}
|
|
25
|
+
exports.inquirerConfirmBoolean = inquirerConfirmBoolean;
|
|
26
|
+
/**
|
|
27
|
+
* Inquirer confirm text
|
|
28
|
+
*
|
|
29
|
+
* @param options - Options
|
|
30
|
+
*/
|
|
31
|
+
async function inquirerConfirmText({ message, }) {
|
|
32
|
+
const { response } = await inquirer_1.default.prompt([
|
|
33
|
+
{
|
|
34
|
+
name: 'response',
|
|
35
|
+
message,
|
|
36
|
+
type: 'text',
|
|
37
|
+
validate: (x) => x.trim().length > 0,
|
|
38
|
+
},
|
|
39
|
+
]);
|
|
40
|
+
return response;
|
|
41
|
+
}
|
|
42
|
+
exports.inquirerConfirmText = inquirerConfirmText;
|
|
43
|
+
/**
|
|
44
|
+
* Inquirer auto complete
|
|
45
|
+
*
|
|
46
|
+
* @param options - Options
|
|
47
|
+
*/
|
|
48
|
+
async function inquirerAutoComplete({ defaultValue, values, message, }) {
|
|
49
|
+
inquirer_1.default.registerPrompt('autocomplete', inquirer_autocomplete_prompt_1.default);
|
|
50
|
+
const { response } = await inquirer_1.default.prompt([
|
|
51
|
+
{
|
|
52
|
+
name: 'response',
|
|
53
|
+
message,
|
|
54
|
+
type: 'autocomplete',
|
|
55
|
+
default: defaultValue,
|
|
56
|
+
source: (answersSoFar, input) => !input
|
|
57
|
+
? values
|
|
58
|
+
: values.filter((x) => typeof x === 'string' && (0, requests_1.fuzzySearch)(input, x)),
|
|
59
|
+
},
|
|
60
|
+
]);
|
|
61
|
+
return response;
|
|
62
|
+
}
|
|
63
|
+
exports.inquirerAutoComplete = inquirerAutoComplete;
|
|
64
|
+
//# sourceMappingURL=inquirer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inquirer.js","sourceRoot":"","sources":["../../src/helpers/inquirer.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,gGAA8D;AAC9D,0CAA0C;AAG1C;;;;GAIG;AACI,KAAK,UAAU,sBAAsB,CAAC,EAC3C,OAAO,GAIR;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAGvC;QACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO;YACP,IAAI,EAAE,SAAS;SAChB;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAjBD,wDAiBC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CAAC,EACxC,OAAO,GAIR;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAGvC;QACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO;YACP,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;SACrC;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAlBD,kDAkBC;AAED;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CAAC,EACzC,YAAY,EACZ,MAAM,EACN,OAAO,GAQR;IACC,kBAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,sCAAkB,CAAC,CAAC;IAC5D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAGvC;QACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO;YACP,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,CAAC,YAAyB,EAAE,KAAa,EAAE,EAAE,CACnD,CAAC,KAAK;gBACJ,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC,MAAM,CACX,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAA,sBAAW,EAAC,KAAK,EAAE,CAAC,CAAC,CACtD;SACR;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AA/BD,oDA+BC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse variables from string
|
|
3
|
+
*
|
|
4
|
+
* @param variables - Variables as string
|
|
5
|
+
* @returns Variables as object
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseVariablesFromString(variables: string): {
|
|
8
|
+
[k in string]: string;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=parseVariablesFromString.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseVariablesFromString.d.ts","sourceRoot":"","sources":["../../src/helpers/parseVariablesFromString.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG;KAC1D,CAAC,IAAI,MAAM,GAAG,MAAM;CACtB,CASA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseVariablesFromString = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Parse variables from string
|
|
6
|
+
*
|
|
7
|
+
* @param variables - Variables as string
|
|
8
|
+
* @returns Variables as object
|
|
9
|
+
*/
|
|
10
|
+
function parseVariablesFromString(variables) {
|
|
11
|
+
// Parse out the variables
|
|
12
|
+
const splitVars = variables.split(',').filter((x) => !!x);
|
|
13
|
+
const vars = {};
|
|
14
|
+
splitVars.forEach((variable) => {
|
|
15
|
+
const [k, v] = variable.split(':');
|
|
16
|
+
vars[k] = v;
|
|
17
|
+
});
|
|
18
|
+
return vars;
|
|
19
|
+
}
|
|
20
|
+
exports.parseVariablesFromString = parseVariablesFromString;
|
|
21
|
+
//# sourceMappingURL=parseVariablesFromString.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseVariablesFromString.js","sourceRoot":"","sources":["../../src/helpers/parseVariablesFromString.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,SAAiB;IAGxD,0BAA0B;IAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,IAAI,GAA8B,EAAE,CAAC;IAC3C,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC7B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAXD,4DAWC"}
|
package/build/logger.js
CHANGED
|
@@ -11,7 +11,6 @@ const yargs_parser_1 = __importDefault(require("yargs-parser"));
|
|
|
11
11
|
exports.logger = console;
|
|
12
12
|
// When the proxy env var of flag is specified, initiate the proxy
|
|
13
13
|
const { httpProxy = process.env.http_proxy } = (0, yargs_parser_1.default)(process.argv.slice(2));
|
|
14
|
-
exports.logger.info(colors_1.default.magenta(`Got httpProxy parameter of '${httpProxy}'`));
|
|
15
14
|
if (httpProxy) {
|
|
16
15
|
exports.logger.info(colors_1.default.green(`Initializing proxy: ${httpProxy}`));
|
|
17
16
|
// Use global-agent, which overrides `request` based requests
|
package/build/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,+CAAyC;AACzC,mCAAyD;AACzD,gEAAiC;AAEpB,QAAA,MAAM,GAAG,OAAO,CAAC;AAE9B,kEAAkE;AAClE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,IAAA,sBAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,+CAAyC;AACzC,mCAAyD;AACzD,gEAAiC;AAEpB,QAAA,MAAM,GAAG,OAAO,CAAC;AAE9B,kEAAkE;AAClE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,IAAA,sBAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,IAAI,SAAS,EAAE;IACb,cAAM,CAAC,IAAI,CAAC,gBAAM,CAAC,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC,CAAC;IAE9D,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAChD,IAAA,wBAAS,GAAE,CAAC;IAEZ,qDAAqD;IACrD,IAAA,4BAAmB,EAAC,IAAI,mBAAU,CAAC,SAAS,CAAC,CAAC,CAAC;CAChD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVariablesFromHandlebars.test.d.ts","sourceRoot":"","sources":["../../src/tests/getVariablesFromHandlebars.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chai_1 = require("chai");
|
|
4
|
+
const getVariablesFromHandlebarsTemplate_1 = require("../helpers/getVariablesFromHandlebarsTemplate");
|
|
5
|
+
const TEST_HBS = `
|
|
6
|
+
<p>
|
|
7
|
+
You are an experienced project manager, constantly juggling a variety of different tasks.
|
|
8
|
+
Other employees at your company are very busy.
|
|
9
|
+
They quickly record notes in slack of things that they want to look into later.
|
|
10
|
+
You are tasked with reviewing those raw notes, and turning them into a structured
|
|
11
|
+
form that will make the notes more easily indexable by the employee when they have more time to review the information.
|
|
12
|
+
{{{ description }}}. Return a JSON object in the following format:
|
|
13
|
+
|
|
14
|
+
({{#each parameters}}{{ name }} - {{slug}}, {{/each}}clarification).
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
{{#with dog}}{{cat}} - {{fish}}{{/with}}
|
|
19
|
+
|
|
20
|
+
<p>
|
|
21
|
+
The following rules define each of the input parameters:
|
|
22
|
+
<ul>
|
|
23
|
+
{{#each parameters}}
|
|
24
|
+
<li>{{ name }}: {{{ description }}}</li>
|
|
25
|
+
{{/each}}
|
|
26
|
+
</ul>
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
{{#with dog}} {{meow}}{{/with}}
|
|
30
|
+
|
|
31
|
+
<p>
|
|
32
|
+
If any of the parameters are not known, it should be set to null.
|
|
33
|
+
If anything is not clear, return a prompt in the clarification key of the response asking for further detail
|
|
34
|
+
</p>`;
|
|
35
|
+
describe('getVariablesFromHandlebars', () => {
|
|
36
|
+
it('should merge together', () => {
|
|
37
|
+
(0, chai_1.expect)((0, getVariablesFromHandlebarsTemplate_1.getVariablesFromHandlebarsTemplate)(TEST_HBS)).to.deep.equal({
|
|
38
|
+
description: null,
|
|
39
|
+
parameters: [{ name: null, slug: null, description: null }],
|
|
40
|
+
dog: { cat: null, fish: null, meow: null },
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=getVariablesFromHandlebars.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVariablesFromHandlebars.test.js","sourceRoot":"","sources":["../../src/tests/getVariablesFromHandlebars.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,sGAAmG;AAEnG,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6BZ,CAAC;AAEN,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,IAAA,aAAM,EAAC,IAAA,uEAAkC,EAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACjE,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC3D,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|