@transcend-io/cli 4.115.1 → 4.115.3

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 CHANGED
@@ -713,6 +713,12 @@ Then, you'll need to grab that `dataSiloId` and a Transcend API key and pass it
713
713
  yarn tr-discover-silos --scanPath=./myJavascriptProject --auth={{api_key}} ---dataSiloId=abcdefg
714
714
  ```
715
715
 
716
+ Here are some examples of a [Podfile](./examples/Podfile) and [gradle file](./examples/build.gradle). These are scanned like:
717
+
718
+ ```sh
719
+ yarn tr-discover-silos --scanPath=./examples/ --auth=$TRANSCEND_API_KEY ---dataSiloId=b6776589-0b7d-466f-8aad-4378ffd3a321
720
+ ```
721
+
716
722
  This call will look for all the package.json files that in the scan path `./myJavascriptProject`, parse each of the dependencies into their individual package names, and send it to our Transcend backend for classification. These classifications can then be viewed [here](https://app.transcend.io/data-map/data-inventory/silo-discovery/triage). The process is the same for scanning requirements.txt, podfiles and build.gradle files.
717
723
 
718
724
  You can include additional arguments as well:
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ const query_string_1 = require("query-string");
7
8
  const yargs_parser_1 = __importDefault(require("yargs-parser"));
8
9
  const logger_1 = require("./logger");
9
10
  const colors_1 = __importDefault(require("colors"));
@@ -39,9 +40,15 @@ async function main() {
39
40
  const config = plugins_1.SILO_DISCOVERY_FUNCTIONS[plugin.dataSilo.type];
40
41
  const results = await (0, findFilesToScan_1.findFilesToScan)(scanPath, fileGlobs, ignoreDirs, config);
41
42
  await (0, graphql_1.uploadSiloDiscoveryResults)(client, plugin.id, results);
43
+ const newUrl = new URL(constants_1.ADMIN_DASH);
44
+ newUrl.pathname = '/data-map/data-inventory/silo-discovery/triage';
45
+ newUrl.search = (0, query_string_1.stringify)({
46
+ filters: JSON.stringify({ pluginIds: [plugin.id] }),
47
+ });
42
48
  // Indicate success
43
49
  logger_1.logger.info(colors_1.default.green(`Scan found ${results.length} potential data silos at ${scanPath}! ` +
44
- `View at ${constants_1.ADMIN_DASH}/data-map/data-inventory/silo-discovery/triage`));
50
+ `View at '${newUrl.href}' ` +
51
+ '\n\n NOTE: it may take 2-3 minutes for scan results to appear in the UI.'));
45
52
  }
46
53
  main();
47
54
  //# sourceMappingURL=cli-discover-silos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-discover-silos.js","sourceRoot":"","sources":["../src/cli-discover-silos.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAiC;AACjC,qCAAkC;AAClC,oDAA4B;AAC5B,2CAAgE;AAChE,uCAAqD;AACrD,uCAImB;AACnB,+DAA4D;AAE5D;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,IAAI;IACjB,+BAA+B;IAC/B,MAAM,EACJ,QAAQ,GAAG,GAAG,EACd,UAAU,GAAG,EAAE,EACf,YAAY,GAAG,iCAAqB,EACpC,UAAU,GAAG,EAAE,EACf,SAAS,GAAG,EAAE,EACd,IAAI,GACL,GAAG,IAAA,sBAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,2BAA2B;IAC3B,IAAI,CAAC,IAAI,EAAE;QACT,eAAM,CAAC,KAAK,CACV,gBAAM,CAAC,GAAG,CACR,uFAAuF,CACxF,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,0BAA0B;IAC1B,MAAM,MAAM,GAAG,IAAA,qCAA2B,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,MAAM,IAAA,oCAA0B,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,kCAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAe,EACnC,QAAQ,EACR,SAAS,EACT,UAAU,EACV,MAAM,CACP,CAAC;IAEF,MAAM,IAAA,oCAA0B,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAE7D,mBAAmB;IACnB,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,KAAK,CACV,cAAc,OAAO,CAAC,MAAM,4BAA4B,QAAQ,IAAI;QAClE,WAAW,sBAAU,gDAAgD,CACxE,CACF,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"cli-discover-silos.js","sourceRoot":"","sources":["../src/cli-discover-silos.ts"],"names":[],"mappings":";;;;;;AACA,+CAAyC;AACzC,gEAAiC;AACjC,qCAAkC;AAClC,oDAA4B;AAC5B,2CAAgE;AAChE,uCAAqD;AACrD,uCAImB;AACnB,+DAA4D;AAE5D;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,IAAI;IACjB,+BAA+B;IAC/B,MAAM,EACJ,QAAQ,GAAG,GAAG,EACd,UAAU,GAAG,EAAE,EACf,YAAY,GAAG,iCAAqB,EACpC,UAAU,GAAG,EAAE,EACf,SAAS,GAAG,EAAE,EACd,IAAI,GACL,GAAG,IAAA,sBAAK,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjC,2BAA2B;IAC3B,IAAI,CAAC,IAAI,EAAE;QACT,eAAM,CAAC,KAAK,CACV,gBAAM,CAAC,GAAG,CACR,uFAAuF,CACxF,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,0BAA0B;IAC1B,MAAM,MAAM,GAAG,IAAA,qCAA2B,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,MAAM,IAAA,oCAA0B,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,kCAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAe,EACnC,QAAQ,EACR,SAAS,EACT,UAAU,EACV,MAAM,CACP,CAAC;IAEF,MAAM,IAAA,oCAA0B,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,sBAAU,CAAC,CAAC;IACnC,MAAM,CAAC,QAAQ,GAAG,gDAAgD,CAAC;IACnE,MAAM,CAAC,MAAM,GAAG,IAAA,wBAAS,EAAC;QACxB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;KACpD,CAAC,CAAC;IAEH,mBAAmB;IACnB,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,KAAK,CACV,cAAc,OAAO,CAAC,MAAM,4BAA4B,QAAQ,IAAI;QAClE,YAAY,MAAM,CAAC,IAAI,IAAI;QAC3B,0EAA0E,CAC7E,CACF,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -1,5 +1,13 @@
1
1
  import { PromptGroupInput } from '../codecs';
2
2
  import { GraphQLClient } from 'graphql-request';
3
+ export interface EditPromptGroupInput {
4
+ /** Title of prompt group */
5
+ title: string;
6
+ /** Prompt group description */
7
+ description: string;
8
+ /** Prompt IDs */
9
+ promptIds: string[];
10
+ }
3
11
  /**
4
12
  * Create a new prompt group
5
13
  *
@@ -7,21 +15,14 @@ import { GraphQLClient } from 'graphql-request';
7
15
  * @param input - Prompt input
8
16
  * @returns Prompt group ID
9
17
  */
10
- export declare function createPromptGroup(client: GraphQLClient, input: {
11
- /** Title of prompt group */
12
- title: string;
13
- /** Prompt group description */
14
- description: string;
15
- /** Prompt IDs */
16
- promptIds: string[];
17
- }): Promise<string>;
18
+ export declare function createPromptGroup(client: GraphQLClient, input: EditPromptGroupInput): Promise<string>;
18
19
  /**
19
20
  * Update a set of existing prompt groups
20
21
  *
21
22
  * @param client - GraphQL client
22
23
  * @param input - Prompt input
23
24
  */
24
- export declare function updatePromptGroups(client: GraphQLClient, input: [PromptGroupInput, string][]): Promise<void>;
25
+ export declare function updatePromptGroups(client: GraphQLClient, input: [EditPromptGroupInput, string][]): Promise<void>;
25
26
  /**
26
27
  * Sync the prompt groups
27
28
  *
@@ -1 +1 @@
1
- {"version":3,"file":"syncPromptGroups.d.ts","sourceRoot":"","sources":["../../src/graphql/syncPromptGroups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAShD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IACL,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GACA,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,GAClC,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,gBAAgB,EAAE,EAChC,WAAW,SAAK,GACf,OAAO,CAAC,OAAO,CAAC,CAgGlB"}
1
+ {"version":3,"file":"syncPromptGroups.d.ts","sourceRoot":"","sources":["../../src/graphql/syncPromptGroups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAShD,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE,GACtC,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,gBAAgB,EAAE,EAChC,WAAW,SAAK,GACf,OAAO,CAAC,OAAO,CAAC,CAgGlB"}
@@ -99,10 +99,10 @@ async function syncPromptGroups(client, promptGroups, concurrency = 20) {
99
99
  const existingPromptGroups = mapPromptGroupsToExisting.filter((x) => !!x[1]);
100
100
  try {
101
101
  logger_1.logger.info(colors_1.default.magenta(`Updating "${existingPromptGroups.length}" prompt groups...`));
102
- await updatePromptGroups(client, existingPromptGroups.map(([input, id]) => [
102
+ await updatePromptGroups(client, existingPromptGroups.map(([{ prompts, ...input }, id]) => [
103
103
  {
104
104
  ...input,
105
- prompts: input.prompts.map((title) => {
105
+ promptIds: prompts.map((title) => {
106
106
  const prompt = promptByTitle[title];
107
107
  if (!prompt) {
108
108
  throw new Error(`Failed to find prompt with title: "${title}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"syncPromptGroups.js","sourceRoot":"","sources":["../../src/graphql/syncPromptGroups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncPromptGroups.js","sourceRoot":"","sources":["../../src/graphql/syncPromptGroups.ts"],"names":[],"mappings":";;;;;;AACA,oDAA4B;AAE5B,iCAAmE;AACnE,6DAA0D;AAC1D,uCAA+B;AAC/B,2DAA2D;AAC3D,yDAAiC;AACjC,sCAAmC;AACnC,iDAAiD;AAWjD;;;;;;GAMG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAqB,EACrB,KAA2B;IAE3B,MAAM,EACJ,iBAAiB,EAAE,EAAE,WAAW,EAAE,GACnC,GAAG,MAAM,IAAA,uCAAkB,EASzB,MAAM,EAAE,0BAAmB,EAAE;QAC9B,KAAK;KACN,CAAC,CAAC;IACH,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,KAAK,CAAC,sCAAsC,KAAK,CAAC,KAAK,IAAI,CAAC,CACpE,CAAC;IACF,OAAO,WAAW,CAAC,EAAE,CAAC;AACxB,CAAC;AAtBD,8CAsBC;AAED;;;;;GAKG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAqB,EACrB,KAAuC;IAEvC,MAAM,IAAA,uCAAkB,EAAC,MAAM,EAAE,2BAAoB,EAAE;QACrD,KAAK,EAAE;YACL,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxC,GAAG,KAAK;gBACR,EAAE;aACH,CAAC,CAAC;SACJ;KACF,CAAC,CAAC;IACH,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,KAAK,CAAC,wBAAwB,KAAK,CAAC,MAAM,iBAAiB,CAAC,CACpE,CAAC;AACJ,CAAC;AAfD,gDAeC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAqB,EACrB,YAAgC,EAChC,WAAW,GAAG,EAAE;IAEhB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,OAAO,CAAC,YAAY,YAAY,CAAC,MAAM,oBAAoB,CAAC,CACpE,CAAC;IAEF,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,MAAM,IAAA,wCAAoB,EAAC,MAAM,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,MAAM,IAAA,8BAAe,EAAC,MAAM,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,IAAA,eAAK,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,IAAA,eAAK,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEpD,mDAAmD;IACnD,MAAM,yBAAyB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;;QAAC,OAAA;YAClE,WAAW;YACX,MAAA,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,0CAAE,EAAE;SAC1C,CAAA;KAAA,CAAC,CAAC;IAEH,8BAA8B;IAC9B,MAAM,eAAe,GAAG,yBAAyB;SAC9C,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,WAA+B,CAAC,CAAC;IAC3D,IAAI;QACF,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,OAAO,CACZ,aAAa,eAAe,CAAC,MAAM,wBAAwB,CAC5D,CACF,CAAC;QACF,MAAM,IAAA,cAAG,EACP,eAAe,EACf,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,iBAAiB,CAAC,MAAM,EAAE;gBAC9B,GAAG,MAAM;gBACT,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACtC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBACpC,IAAI,CAAC,MAAM,EAAE;wBACX,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,GAAG,CAAC,CAAC;qBACjE;oBACD,OAAO,MAAM,CAAC,EAAE,CAAC;gBACnB,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC,EACD;YACE,WAAW;SACZ,CACF,CAAC;QACF,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,KAAK,CACV,uBAAuB,eAAe,CAAC,MAAM,iBAAiB,CAC/D,CACF,CAAC;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,gBAAgB,GAAG,IAAI,CAAC;QACxB,eAAM,CAAC,IAAI,CAAC,gBAAM,CAAC,GAAG,CAAC,qCAAqC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;KAC7E;IAED,+BAA+B;IAC/B,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAmC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/C,CAAC;IACF,IAAI;QACF,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,OAAO,CACZ,aAAa,oBAAoB,CAAC,MAAM,oBAAoB,CAC7D,CACF,CAAC;QACF,MAAM,kBAAkB,CACtB,MAAM,EACN,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD;gBACE,GAAG,KAAK;gBACR,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC/B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBACpC,IAAI,CAAC,MAAM,EAAE;wBACX,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,GAAG,CAAC,CAAC;qBACjE;oBACD,OAAO,MAAM,CAAC,EAAE,CAAC;gBACnB,CAAC,CAAC;aACH;YACD,EAAE;SACH,CAAC,CACH,CAAC;QACF,eAAM,CAAC,IAAI,CACT,gBAAM,CAAC,KAAK,CACV,yBAAyB,oBAAoB,CAAC,MAAM,kBAAkB,CACvE,CACF,CAAC;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,gBAAgB,GAAG,IAAI,CAAC;QACxB,eAAM,CAAC,IAAI,CAAC,gBAAM,CAAC,GAAG,CAAC,qCAAqC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;KAC7E;IAED,eAAM,CAAC,IAAI,CAAC,gBAAM,CAAC,KAAK,CAAC,WAAW,YAAY,CAAC,MAAM,kBAAkB,CAAC,CAAC,CAAC;IAE5E,2BAA2B;IAC3B,OAAO,CAAC,gBAAgB,CAAC;AAC3B,CAAC;AApGD,4CAoGC"}