@kitalive/sfdx-plugin 0.2.0 → 0.4.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.
Files changed (40) hide show
  1. package/README.md +90 -42
  2. package/lib/bulk.js +81 -38
  3. package/lib/bulk.js.map +1 -1
  4. package/lib/commands/kit/data/bulk/delete.js +42 -15
  5. package/lib/commands/kit/data/bulk/delete.js.map +1 -1
  6. package/lib/commands/kit/data/bulk/insert.js +1 -1
  7. package/lib/commands/kit/data/bulk/insert.js.map +1 -1
  8. package/lib/commands/kit/data/bulk/query.js +12 -5
  9. package/lib/commands/kit/data/bulk/query.js.map +1 -1
  10. package/lib/commands/kit/data/bulk/update.js +1 -1
  11. package/lib/commands/kit/data/bulk/update.js.map +1 -1
  12. package/lib/commands/kit/data/bulk/upsert.js +1 -1
  13. package/lib/commands/kit/data/bulk/upsert.js.map +1 -1
  14. package/lib/commands/kit/data/csv/convert.d.ts +0 -13
  15. package/lib/commands/kit/data/csv/convert.js +45 -77
  16. package/lib/commands/kit/data/csv/convert.js.map +1 -1
  17. package/lib/commands/kit/layout/assignments/deploy.d.ts +0 -1
  18. package/lib/commands/kit/layout/assignments/deploy.js +9 -8
  19. package/lib/commands/kit/layout/assignments/deploy.js.map +1 -1
  20. package/lib/commands/kit/layout/assignments/retrieve.d.ts +1 -1
  21. package/lib/commands/kit/layout/assignments/retrieve.js +71 -21
  22. package/lib/commands/kit/layout/assignments/retrieve.js.map +1 -1
  23. package/lib/commands/kit/object/fields/describe.d.ts +14 -0
  24. package/lib/commands/kit/object/fields/describe.js +85 -0
  25. package/lib/commands/kit/object/fields/describe.js.map +1 -0
  26. package/lib/commands/kit/object/fields/setup.d.ts +21 -0
  27. package/lib/commands/kit/object/fields/setup.js +197 -0
  28. package/lib/commands/kit/object/fields/setup.js.map +1 -0
  29. package/lib/commands/kit/script/execute.d.ts +1 -1
  30. package/lib/commands/kit/script/execute.js +19 -8
  31. package/lib/commands/kit/script/execute.js.map +1 -1
  32. package/lib/metadata.d.ts +18 -0
  33. package/lib/metadata.js +69 -0
  34. package/lib/metadata.js.map +1 -0
  35. package/lib/types.d.ts +24 -0
  36. package/lib/utils.d.ts +16 -1
  37. package/lib/utils.js +76 -1
  38. package/lib/utils.js.map +1 -1
  39. package/oclif.manifest.json +1 -1
  40. package/package.json +27 -18
@@ -5,11 +5,12 @@ const soql_parser_js_1 = require("soql-parser-js");
5
5
  const bulk_1 = require("../../../../bulk");
6
6
  class DeleteCommand extends command_1.SfdxCommand {
7
7
  async run() {
8
- const query = soql_parser_js_1.parseQuery(this.flags.query);
9
- query.fields = [soql_parser_js_1.getField('Id')];
10
- const soql = soql_parser_js_1.composeQuery(query);
8
+ var _a;
9
+ const query = (0, soql_parser_js_1.parseQuery)(this.flags.query);
10
+ query.fields = [(0, soql_parser_js_1.getField)('Id')];
11
+ const soql = (0, soql_parser_js_1.composeQuery)(query);
11
12
  const conn = this.org.getConnection();
12
- const { concurrencymode: concurrencyMode, batchsize: batchSize, wait, hard } = this.flags;
13
+ const { concurrencymode: concurrencyMode, batchsize: batchSize, wait, hard, } = this.flags;
13
14
  this.ux.startSpinner(hard ? 'Bulk hard delete' : 'Bulk delete');
14
15
  try {
15
16
  const rows = await this.bulkQuery(conn, soql);
@@ -18,10 +19,16 @@ class DeleteCommand extends command_1.SfdxCommand {
18
19
  return { records: [] };
19
20
  }
20
21
  const operation = hard ? 'hardDelete' : 'delete';
21
- const result = await this.bulkLoad(conn, query.sObject, operation, rows, { concurrencyMode, batchSize, wait });
22
+ const result = await this.bulkLoad(conn, query.sObject, operation, rows, {
23
+ concurrencyMode,
24
+ batchSize,
25
+ wait,
26
+ });
22
27
  if (wait) {
23
28
  const { numberRecordsProcessed, numberRecordsFailed } = result.job;
24
- const errors = result.records.filter(r => !r.success).map(r => ({ id: r.id, errors: r.errors.join(', ') }));
29
+ const errors = result.records
30
+ .filter((r) => !r.success)
31
+ .map((r) => ({ id: r.id, errors: r.errors.join(', ') }));
25
32
  this.ux.stopSpinner(`${numberRecordsProcessed} processed, ${numberRecordsFailed} failed.`);
26
33
  if (errors.length) {
27
34
  this.ux.styledHeader('Error details');
@@ -31,7 +38,7 @@ class DeleteCommand extends command_1.SfdxCommand {
31
38
  else {
32
39
  this.ux.stopSpinner();
33
40
  this.ux.log('Check bulk job status with the command: ');
34
- this.ux.log(`sfdx force:org:open -u ${this.flags.targetusername} -p "lightning/setup/AsyncApiJobStatus/page?address=%2F${result.job.id}"`);
41
+ this.ux.log(`sfdx force:org:open -u ${this.flags.targetusername} -p "lightning/setup/AsyncApiJobStatus/page?address=%2F${(_a = result.job) === null || _a === void 0 ? void 0 : _a.id}"`);
35
42
  }
36
43
  return result;
37
44
  }
@@ -41,24 +48,44 @@ class DeleteCommand extends command_1.SfdxCommand {
41
48
  }
42
49
  }
43
50
  bulkQuery(conn, query) {
44
- return bulk_1.bulkQuery(conn, query);
51
+ return (0, bulk_1.bulkQuery)(conn, query);
45
52
  }
46
53
  bulkLoad(conn, sobject, operation, rows, options) {
47
- return bulk_1.bulkLoad(conn, sobject, operation, rows, options);
54
+ return (0, bulk_1.bulkLoad)(conn, sobject, operation, rows, options);
48
55
  }
49
56
  }
50
57
  exports.default = DeleteCommand;
51
58
  DeleteCommand.description = 'bulk delete records by SOQL select query';
52
59
  DeleteCommand.examples = [
53
- '$ sfdx kit:data:bulk:delete -q \'SELECT Id FROM Opportunity WHERE CloseDate < LAST_N_YEARS:5\''
60
+ "$ sfdx kit:data:bulk:delete -q 'SELECT Id FROM Opportunity WHERE CloseDate < LAST_N_YEARS:5'",
54
61
  ];
55
62
  DeleteCommand.requiresUsername = true;
56
63
  DeleteCommand.requiresProject = false;
57
64
  DeleteCommand.flagsConfig = {
58
- query: command_1.flags.string({ char: 'q', required: true, description: 'SOQL query to delete' }),
59
- hard: command_1.flags.boolean({ default: false, description: 'perform a hard delete' }),
60
- concurrencymode: command_1.flags.string({ default: 'Parallel', description: 'the concurrency mode (Parallel or Serial) for the job' }),
61
- batchsize: command_1.flags.integer({ char: 's', min: 1, max: 10000, default: 10000, description: 'the batch size of the job' }),
62
- wait: command_1.flags.integer({ char: 'w', min: 0, description: 'the number of minutes to wait for the command to complete before displaying the results' })
65
+ query: command_1.flags.string({
66
+ char: 'q',
67
+ required: true,
68
+ description: 'SOQL query to delete',
69
+ }),
70
+ hard: command_1.flags.boolean({
71
+ default: false,
72
+ description: 'perform a hard delete',
73
+ }),
74
+ concurrencymode: command_1.flags.string({
75
+ default: 'Parallel',
76
+ description: 'the concurrency mode (Parallel or Serial) for the job',
77
+ }),
78
+ batchsize: command_1.flags.integer({
79
+ char: 's',
80
+ min: 1,
81
+ max: 10000,
82
+ default: 10000,
83
+ description: 'the batch size of the job',
84
+ }),
85
+ wait: command_1.flags.integer({
86
+ char: 'w',
87
+ min: 0,
88
+ description: 'the number of minutes to wait for the command to complete before displaying the results',
89
+ }),
63
90
  };
64
91
  //# sourceMappingURL=delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/delete.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const bulk_1 = require("../../../../bulk");
4
- exports.default = bulk_1.createBulkCommand('insert');
4
+ exports.default = (0, bulk_1.createBulkCommand)('insert');
5
5
  //# sourceMappingURL=insert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/insert.ts"],"names":[],"mappings":";;AAAA,2CAAqD;AAErD,kBAAe,wBAAiB,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/insert.ts"],"names":[],"mappings":";;AAAA,2CAAqD;AAErD,kBAAe,IAAA,wBAAiB,EAAC,QAAQ,CAAC,CAAC"}
@@ -30,21 +30,28 @@ class QueryCommand extends command_1.SfdxCommand {
30
30
  }
31
31
  }
32
32
  writeCsv(rows, stream) {
33
- format_1.write(rows, { headers: true, writeBOM: true }).pipe(stream);
33
+ (0, format_1.write)(rows, { headers: true, writeBOM: true }).pipe(stream);
34
34
  }
35
35
  bulkQuery(conn, query) {
36
- return bulk_1.bulkQuery(conn, query);
36
+ return (0, bulk_1.bulkQuery)(conn, query);
37
37
  }
38
38
  }
39
39
  exports.default = QueryCommand;
40
40
  QueryCommand.description = 'bulk query records';
41
41
  QueryCommand.examples = [
42
- '$ sfdx kit:data:bulk:query -q \'SELECT Id, Name FROM Account\' -f ./path/to/Account.csv'
42
+ "$ sfdx kit:data:bulk:query -q 'SELECT Id, Name FROM Account' -f ./path/to/Account.csv",
43
43
  ];
44
44
  QueryCommand.requiresUsername = true;
45
45
  QueryCommand.requiresProject = false;
46
46
  QueryCommand.flagsConfig = {
47
- query: command_1.flags.string({ char: 'q', required: true, description: 'SOQL query to export' }),
48
- csvfile: command_1.flags.string({ char: 'f', description: 'output csv file (default: standard output)' })
47
+ query: command_1.flags.string({
48
+ char: 'q',
49
+ required: true,
50
+ description: 'SOQL query to export',
51
+ }),
52
+ csvfile: command_1.flags.string({
53
+ char: 'f',
54
+ description: 'output csv file (default: standard output)',
55
+ }),
49
56
  };
50
57
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/query.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,iDAAyD;AAEzD,yBAAyB;AACzB,2CAA6C;AAE7C,MAAqB,YAAa,SAAQ,qBAAW;IAe5C,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAEhC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACnC,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC;aACb;YAED,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC;YAE9C,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;iBAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;aACrC;YAED,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IAEO,QAAQ,CAAC,IAAI,EAAE,MAAM;QAC3B,cAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEO,SAAS,CAAC,IAAI,EAAE,KAAK;QAC3B,OAAO,gBAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;;AAhDH,+BAiDC;AAhDe,wBAAW,GAAG,oBAAoB,CAAC;AAEnC,qBAAQ,GAAG;IACvB,yFAAyF;CAC1F,CAAC;AAEe,6BAAgB,GAAG,IAAI,CAAC;AACxB,4BAAe,GAAG,KAAK,CAAC;AAExB,wBAAW,GAAG;IAC7B,KAAK,EAAE,eAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACvF,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC;CAChG,CAAC"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/query.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,iDAAyD;AAEzD,yBAAyB;AACzB,2CAA6C;AAE7C,MAAqB,YAAa,SAAQ,qBAAW;IAsB5C,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAEhC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACnC,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC;aACb;YAED,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC;YAE9C,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;iBAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;aACrC;YAED,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IAEO,QAAQ,CAAC,IAAI,EAAE,MAAM;QAC3B,IAAA,cAAK,EAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEO,SAAS,CAAC,IAAI,EAAE,KAAK;QAC3B,OAAO,IAAA,gBAAS,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;;AAvDH,+BAwDC;AAvDe,wBAAW,GAAG,oBAAoB,CAAC;AAEnC,qBAAQ,GAAG;IACvB,uFAAuF;CACxF,CAAC;AAEe,6BAAgB,GAAG,IAAI,CAAC;AACxB,4BAAe,GAAG,KAAK,CAAC;AAExB,wBAAW,GAAG;IAC7B,KAAK,EAAE,eAAK,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,sBAAsB;KACpC,CAAC;IACF,OAAO,EAAE,eAAK,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,4CAA4C;KAC1D,CAAC;CACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const bulk_1 = require("../../../../bulk");
4
- exports.default = bulk_1.createBulkCommand('update');
4
+ exports.default = (0, bulk_1.createBulkCommand)('update');
5
5
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/update.ts"],"names":[],"mappings":";;AAAA,2CAAqD;AAErD,kBAAe,wBAAiB,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/update.ts"],"names":[],"mappings":";;AAAA,2CAAqD;AAErD,kBAAe,IAAA,wBAAiB,EAAC,QAAQ,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const bulk_1 = require("../../../../bulk");
4
- exports.default = bulk_1.createBulkCommand('upsert');
4
+ exports.default = (0, bulk_1.createBulkCommand)('upsert');
5
5
  //# sourceMappingURL=upsert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/upsert.ts"],"names":[],"mappings":";;AAAA,2CAAqD;AAErD,kBAAe,wBAAiB,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"upsert.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/bulk/upsert.ts"],"names":[],"mappings":";;AAAA,2CAAqD;AAErD,kBAAe,IAAA,wBAAiB,EAAC,QAAQ,CAAC,CAAC"}
@@ -1,7 +1,5 @@
1
- /// <reference types="node" />
2
1
  import { flags, SfdxCommand } from '@salesforce/command';
3
2
  import { JsonMap } from '@salesforce/ts-types';
4
- import { Readable } from 'stream';
5
3
  export default class CsvConvertCommand extends SfdxCommand {
6
4
  static description: string;
7
5
  static examples: string[];
@@ -22,14 +20,3 @@ export default class CsvConvertCommand extends SfdxCommand {
22
20
  private writeCsv;
23
21
  private loadConverter;
24
22
  }
25
- export declare function parseCsv(input: Readable, options?: {
26
- encoding?: string;
27
- delimiter?: string;
28
- quote?: string;
29
- skiplines?: number;
30
- trim?: boolean;
31
- mapping?: JsonMap;
32
- convert?: (row: JsonMap) => JsonMap | null | undefined;
33
- }): Promise<JsonMap[]>;
34
- export declare function loadScript(file: any): any;
35
- export declare function columnMapper(mapping: any): (row: any) => {};
@@ -1,29 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.columnMapper = exports.loadScript = exports.parseCsv = void 0;
4
3
  const command_1 = require("@salesforce/command");
5
4
  const csv = require("fast-csv");
6
5
  const fs = require("fs-extra");
7
- const iconv_lite_1 = require("iconv-lite");
8
- const path = require("path");
9
- const stream_1 = require("stream");
6
+ const utils_1 = require("../../../../utils");
10
7
  class CsvConvertCommand extends command_1.SfdxCommand {
11
8
  async run() {
12
- const { inputfile, outputfile, mapping, converter, encoding, delimiter, quote, skiplines, trim } = this.flags;
13
- const mappingJson = mapping ? (await fs.readJson(mapping)) : undefined;
9
+ const { inputfile, outputfile, mapping, converter, encoding, delimiter, quote, skiplines, trim, } = this.flags;
10
+ const mappingJson = mapping ? await fs.readJson(mapping) : undefined;
14
11
  const convert = converter ? this.loadConverter(converter) : undefined;
15
12
  const input = inputfile ? fs.createReadStream(inputfile) : process.stdin;
16
- const rows = await parseCsv(input, {
13
+ const rows = await (0, utils_1.parseCsv)(input, {
17
14
  encoding,
18
15
  delimiter,
19
16
  quote,
20
17
  skiplines,
21
18
  trim,
22
19
  mapping: mappingJson,
23
- convert
20
+ convert,
24
21
  });
25
22
  if (!this.flags.json) {
26
- const output = outputfile ? fs.createWriteStream(outputfile) : process.stdout;
23
+ const output = outputfile
24
+ ? fs.createWriteStream(outputfile)
25
+ : process.stdout;
27
26
  this.writeCsv(rows, output);
28
27
  }
29
28
  return rows;
@@ -32,84 +31,53 @@ class CsvConvertCommand extends command_1.SfdxCommand {
32
31
  csv.writeToStream(stream, rows, { headers: true });
33
32
  }
34
33
  loadConverter(file) {
35
- return loadScript(file).convert;
34
+ return (0, utils_1.loadScript)(file).convert;
36
35
  }
37
36
  }
38
37
  exports.default = CsvConvertCommand;
39
38
  CsvConvertCommand.description = 'convert CSV data using column mapping file or Node.js script';
40
39
  CsvConvertCommand.examples = [
41
40
  '$ sfdx kit:data:csv:convert -f ./path/to/input.csv -m ./path/to/mapping.json',
42
- '$ sfdx kit:data:csv:convert -f ./path/to/input.csv -o ./path/to/output.csv -c ./path/to/convert.js -e cp932 -d :'
41
+ '$ sfdx kit:data:csv:convert -f ./path/to/input.csv -o ./path/to/output.csv -c ./path/to/convert.js -e cp932 -d :',
43
42
  ];
44
43
  CsvConvertCommand.requiresUsername = false;
45
44
  CsvConvertCommand.requiresProject = false;
46
45
  CsvConvertCommand.flagsConfig = {
47
- inputfile: command_1.flags.filepath({ char: 'f', description: 'the path of the input CSV file (default: standard input)' }),
48
- outputfile: command_1.flags.filepath({ char: 'o', description: 'the path of the output CSV file (default: standard output)' }),
49
- encoding: command_1.flags.string({ char: 'e', default: 'utf8', description: 'the input CSV file encoding' }),
50
- delimiter: command_1.flags.string({ char: 'd', default: ',', description: 'the input CSV file delimiter' }),
51
- quote: command_1.flags.string({ char: 'q', default: '"', description: 'the input CSV file quote character' }),
52
- skiplines: command_1.flags.integer({ default: 0, description: 'the number of lines to skip' }),
46
+ inputfile: command_1.flags.filepath({
47
+ char: 'f',
48
+ description: 'the path of the input CSV file (default: standard input)',
49
+ }),
50
+ outputfile: command_1.flags.filepath({
51
+ char: 'o',
52
+ description: 'the path of the output CSV file (default: standard output)',
53
+ }),
54
+ encoding: command_1.flags.string({
55
+ char: 'e',
56
+ default: 'utf8',
57
+ description: 'the input CSV file encoding',
58
+ }),
59
+ delimiter: command_1.flags.string({
60
+ char: 'd',
61
+ default: ',',
62
+ description: 'the input CSV file delimiter',
63
+ }),
64
+ quote: command_1.flags.string({
65
+ char: 'q',
66
+ default: '"',
67
+ description: 'the input CSV file quote character',
68
+ }),
69
+ skiplines: command_1.flags.integer({
70
+ default: 0,
71
+ description: 'the number of lines to skip',
72
+ }),
53
73
  trim: command_1.flags.boolean({ description: 'trim all white space from columns' }),
54
- mapping: command_1.flags.filepath({ char: 'm', description: 'the path of the JSON file that defines CSV column mappings' }),
55
- converter: command_1.flags.filepath({ char: 'c', description: 'the path of the script to convert CSV rows' })
74
+ mapping: command_1.flags.filepath({
75
+ char: 'm',
76
+ description: 'the path of the JSON file that defines CSV column mappings',
77
+ }),
78
+ converter: command_1.flags.filepath({
79
+ char: 'c',
80
+ description: 'the path of the script to convert CSV rows',
81
+ }),
56
82
  };
57
- function parseCsv(input, options) {
58
- const { encoding, delimiter, quote, skiplines, trim, mapping, convert } = options !== null && options !== void 0 ? options : {};
59
- return new Promise((resolve, reject) => {
60
- const mapper = mapping ? columnMapper(mapping) : undefined;
61
- let lines = 2;
62
- const rows = [];
63
- const parser = csv.parse({
64
- headers: true,
65
- ignoreEmpty: true,
66
- delimiter: delimiter === '\\t' ? '\t' : (delimiter || ','),
67
- quote: quote !== null && quote !== void 0 ? quote : '"',
68
- skipLines: skiplines,
69
- trim
70
- }).on('data', row => {
71
- try {
72
- if (mapper)
73
- row = mapper(row);
74
- if (convert)
75
- row = convert(row);
76
- if (row)
77
- rows.push(row);
78
- lines++;
79
- }
80
- catch (e) {
81
- throw new Error(`A error occurred in csv file at line ${lines}: ${e.message}\ndata: ${JSON.stringify(row)}`);
82
- }
83
- });
84
- const callback = e => e ? reject(e) : resolve(rows);
85
- if (!encoding || encoding === 'utf8') {
86
- stream_1.pipeline(input, parser, callback);
87
- }
88
- else {
89
- stream_1.pipeline(input, iconv_lite_1.decodeStream(encoding), parser, callback);
90
- }
91
- });
92
- }
93
- exports.parseCsv = parseCsv;
94
- function loadScript(file) {
95
- const script = require(path.resolve(file));
96
- if (!script.convert)
97
- throw new Error('function convert is not exported');
98
- return script;
99
- }
100
- exports.loadScript = loadScript;
101
- function columnMapper(mapping) {
102
- const keys = Object.keys(mapping);
103
- return row => {
104
- const result = {};
105
- for (const to of keys) {
106
- const from = mapping[to];
107
- if (!(from in row))
108
- throw new Error(`The column '${from}' is not found`);
109
- result[to] = row[from];
110
- }
111
- return result;
112
- };
113
- }
114
- exports.columnMapper = columnMapper;
115
83
  //# sourceMappingURL=convert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/csv/convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../../../src/commands/kit/data/csv/convert.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,4 @@ export default class LayoutAssignmentsDeployCommand extends SfdxCommand {
10
10
  };
11
11
  run(): Promise<SaveResult[]>;
12
12
  private readFile;
13
- private deploy;
14
13
  }
@@ -3,33 +3,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const command_1 = require("@salesforce/command");
4
4
  const fs = require("fs-extra");
5
5
  const path = require("path");
6
- const utils_1 = require("../../../../utils");
6
+ const metadata_1 = require("../../../../metadata");
7
7
  class LayoutAssignmentsDeployCommand extends command_1.SfdxCommand {
8
8
  async run() {
9
9
  this.ux.log('deploy layout assignments from ' + this.flags.file);
10
10
  const layoutAssignmentsPerProfile = await this.readFile(this.flags.file);
11
11
  const profiles = Object.entries(layoutAssignmentsPerProfile).map(([fullName, layoutAssignments]) => ({ fullName, layoutAssignments }));
12
- // limit 10 records per one API call
13
- return Promise.all(utils_1.chunk(profiles, 10).map(data => this.deploy(data))).then(a => [].concat(...a));
12
+ return (0, metadata_1.updateMetadata)(this.org.getConnection(), 'Profile', profiles);
14
13
  }
15
14
  readFile(file) {
16
15
  const inputFile = path.join(this.project.getPath(), file);
17
16
  return fs.readJson(inputFile);
18
17
  }
19
- deploy(data) {
20
- return this.org.getConnection().metadata.update('Profile', data);
21
- }
22
18
  }
23
19
  exports.default = LayoutAssignmentsDeployCommand;
24
20
  LayoutAssignmentsDeployCommand.description = 'deploy page layout assignments from JSON file';
25
21
  LayoutAssignmentsDeployCommand.examples = [
26
22
  '$ sfdx kit:layout:assignments:deploy',
27
23
  '$ sfdx kit:layout:assignments:deploy -f config/layout-assignments.scratch.json',
28
- '$ sfdx kit:layout:assignments:deploy -u me@my.org -f config/layout-assignments.sandbox.json'
24
+ '$ sfdx kit:layout:assignments:deploy -u me@my.org -f config/layout-assignments.sandbox.json',
29
25
  ];
30
26
  LayoutAssignmentsDeployCommand.requiresUsername = true;
31
27
  LayoutAssignmentsDeployCommand.requiresProject = true;
32
28
  LayoutAssignmentsDeployCommand.flagsConfig = {
33
- file: command_1.flags.string({ char: 'f', required: true, description: 'input file path', default: 'config/layout-assignments.json' })
29
+ file: command_1.flags.string({
30
+ char: 'f',
31
+ required: true,
32
+ description: 'input file path',
33
+ default: 'config/layout-assignments.json',
34
+ }),
34
35
  };
35
36
  //# sourceMappingURL=deploy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../../src/commands/kit/layout/assignments/deploy.ts"],"names":[],"mappings":";;AAAA,iDAAyD;AACzD,+BAA+B;AAE/B,6BAA6B;AAE7B,6CAA0C;AAE1C,MAAqB,8BAA+B,SAAQ,qBAAW;IAgB9D,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,2BAA2B,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACvI,oCAAoC;QACpC,OAAO,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpG,CAAC;IAEO,QAAQ,CAAC,IAAI;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,IAAuB;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;;AA/BH,iDAgCC;AA/Be,0CAAW,GAAG,+CAA+C,CAAC;AAE9D,uCAAQ,GAAG;IACvB,sCAAsC;IACtC,gFAAgF;IAChF,6FAA6F;CAC9F,CAAC;AAEe,+CAAgB,GAAG,IAAI,CAAC;AACxB,8CAAe,GAAG,IAAI,CAAC;AAEvB,0CAAW,GAAG;IAC7B,IAAI,EAAE,eAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;CAC7H,CAAC"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../../src/commands/kit/layout/assignments/deploy.ts"],"names":[],"mappings":";;AAAA,iDAAyD;AACzD,+BAA+B;AAE/B,6BAA6B;AAE7B,mDAAsD;AAEtD,MAAqB,8BAA+B,SAAQ,qBAAW;IAqB9D,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,2BAA2B,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAC9D,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CACrE,CAAC;QACF,OAAO,IAAA,yBAAc,EAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAEO,QAAQ,CAAC,IAAI;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;;AAjCH,iDAkCC;AAjCe,0CAAW,GAAG,+CAA+C,CAAC;AAE9D,uCAAQ,GAAG;IACvB,sCAAsC;IACtC,gFAAgF;IAChF,6FAA6F;CAC9F,CAAC;AAEe,+CAAgB,GAAG,IAAI,CAAC;AACxB,8CAAe,GAAG,IAAI,CAAC;AAEvB,0CAAW,GAAG;IAC7B,IAAI,EAAE,eAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,gCAAgC;KAC1C,CAAC;CACH,CAAC"}
@@ -13,8 +13,8 @@ export default class LayoutAssignmentsRetrieveCommand extends SfdxCommand {
13
13
  };
14
14
  run(): Promise<LayoutAssignmentsPerProfile>;
15
15
  objectNamesFromLayouts(): Promise<string[]>;
16
+ private getProjectConfig;
16
17
  private getProfileNames;
17
- private getProfiles;
18
18
  private findFiles;
19
19
  private readFile;
20
20
  private writeFile;
@@ -5,30 +5,57 @@ const core_1 = require("@salesforce/core");
5
5
  const glob = require("fast-glob");
6
6
  const fs = require("fs-extra");
7
7
  const path = require("path");
8
- const utils_1 = require("../../../../utils");
8
+ const metadata_1 = require("../../../../metadata");
9
+ function assignmentsPerObject(assignments, filterObjects) {
10
+ var _a;
11
+ const result = new Map();
12
+ for (const assignment of assignments) {
13
+ const object = assignment.layout.split('-')[0];
14
+ if (filterObjects && !filterObjects.includes(object))
15
+ continue;
16
+ const a = (_a = result.get(object)) !== null && _a !== void 0 ? _a : [];
17
+ a.push(assignment);
18
+ result.set(object, a);
19
+ }
20
+ return result;
21
+ }
9
22
  class LayoutAssignmentsRetrieveCommand extends command_1.SfdxCommand {
10
23
  async run() {
11
- const filterObjects = this.flags.object ? this.flags.object.split(',') : await this.objectNamesFromLayouts();
24
+ const filterObjects = this.flags.object
25
+ ? this.flags.object.split(',')
26
+ : await this.objectNamesFromLayouts();
12
27
  if (filterObjects.length === 0)
13
28
  throw new core_1.SfdxError('There are no objects to retrieve');
14
- const data = this.flags.merge ? await this.readFile(this.flags.file) : {};
15
- const profileNames = this.flags.profile ? this.flags.profile.split(',') : await this.getProfileNames();
29
+ const data = this.flags.merge
30
+ ? await this.readFile(this.flags.file)
31
+ : {};
32
+ const profileNames = this.flags.profile
33
+ ? this.flags.profile.split(',')
34
+ : await this.getProfileNames();
16
35
  this.ux.log(`retrieve layout assignments\n\tprofiles: ${profileNames.join(', ')}\n\tobjects: ${filterObjects.join(', ')}`);
17
- // limit 10 records per one API call
18
- const profiles = await Promise.all(utils_1.chunk(profileNames, 10).map(names => this.getProfiles(names))).then(a => [].concat(...a));
36
+ const conn = this.org.getConnection();
37
+ const profiles = (await (0, metadata_1.readMetadata)(conn, 'Profile', profileNames));
19
38
  for (const profile of profiles) {
20
39
  if (!profile.fullName || !profile.layoutAssignments)
21
40
  continue;
22
- data[profile.fullName] = profile.layoutAssignments.filter(assignment => filterObjects.includes(assignment.layout.split('-')[0])).sort((a, b) => a.layout.localeCompare(b.layout));
41
+ let assignmentsMap = assignmentsPerObject(profile.layoutAssignments, await (0, metadata_1.completeDefaultNamespace)(conn, filterObjects));
42
+ if (data[profile.fullName]) {
43
+ const oldAssignmentsMap = assignmentsPerObject(data[profile.fullName]);
44
+ assignmentsMap = new Map([...oldAssignmentsMap, ...assignmentsMap]);
45
+ }
46
+ data[profile.fullName] = Array.from(assignmentsMap.values())
47
+ .flat()
48
+ .sort((a, b) => a.layout.localeCompare(b.layout));
23
49
  }
24
50
  this.ux.log('save to ' + this.flags.file);
25
51
  await this.writeFile(this.flags.file, data);
26
52
  return data;
27
53
  }
28
54
  async objectNamesFromLayouts() {
29
- // tslint:disable-next-line
30
- const config = await this.project.resolveProjectConfig();
31
- const packageDir = config.packageDirectories && config.packageDirectories.find(dir => dir.default);
55
+ // eslint-disable-next-line
56
+ const config = await this.getProjectConfig();
57
+ const packageDir = config.packageDirectories &&
58
+ config.packageDirectories.find((dir) => dir.default);
32
59
  if (!packageDir)
33
60
  return [];
34
61
  const pattern = path.join(this.project.getPath(), packageDir.path, '**/*.layout-meta.xml');
@@ -37,13 +64,18 @@ class LayoutAssignmentsRetrieveCommand extends command_1.SfdxCommand {
37
64
  const object = path.basename(filepath).split('-')[0];
38
65
  objectCounts[object] = (objectCounts[object] || 0) + 1;
39
66
  }
40
- return Object.keys(objectCounts).filter(object => objectCounts[object] >= 2).sort();
67
+ return Object.keys(objectCounts)
68
+ .filter((object) => objectCounts[object] >= 2)
69
+ .sort();
41
70
  }
42
- getProfileNames() {
43
- return this.org.getConnection().metadata.list({ type: 'Profile' }).then(profiles => profiles.map(p => p.fullName));
71
+ getProjectConfig() {
72
+ return this.project.resolveProjectConfig();
44
73
  }
45
- getProfiles(names) {
46
- return this.org.getConnection().metadata.read('Profile', names);
74
+ getProfileNames() {
75
+ return this.org
76
+ .getConnection()
77
+ .metadata.list({ type: 'Profile' })
78
+ .then((profiles) => profiles.map((p) => p.fullName));
47
79
  }
48
80
  findFiles(pattern) {
49
81
  return glob(pattern);
@@ -52,7 +84,9 @@ class LayoutAssignmentsRetrieveCommand extends command_1.SfdxCommand {
52
84
  return fs.readJson(path.join(this.project.getPath(), file));
53
85
  }
54
86
  writeFile(file, data) {
55
- return fs.outputJson(path.join(this.project.getPath(), file), data, { spaces: '\t' });
87
+ return fs.outputJson(path.join(this.project.getPath(), file), data, {
88
+ spaces: '\t',
89
+ });
56
90
  }
57
91
  }
58
92
  exports.default = LayoutAssignmentsRetrieveCommand;
@@ -60,14 +94,30 @@ LayoutAssignmentsRetrieveCommand.description = 'retrieve page layout assignments
60
94
  LayoutAssignmentsRetrieveCommand.examples = [
61
95
  '$ sfdx kit:layout:assignments:retrieve',
62
96
  '$ sfdx kit:layout:assignments:retrieve -p Admin,Standard,StandardAul -o Account,CustomObject__c -f config/layout-assignments.scratch.json',
63
- '$ sfdx kit:layout:assignments:retrieve -u me@my.org -f config/layout-assignments.sandbox.json'
97
+ '$ sfdx kit:layout:assignments:retrieve -u me@my.org -f config/layout-assignments.sandbox.json',
64
98
  ];
65
99
  LayoutAssignmentsRetrieveCommand.requiresUsername = true;
66
100
  LayoutAssignmentsRetrieveCommand.requiresProject = true;
67
101
  LayoutAssignmentsRetrieveCommand.flagsConfig = {
68
- file: command_1.flags.string({ char: 'f', required: true, description: 'output file path', default: 'config/layout-assignments.json' }),
69
- profile: command_1.flags.string({ char: 'p', required: false, description: 'comma separated profile names to retrieve (default: all profiles)' }),
70
- object: command_1.flags.string({ char: 'o', required: false, description: 'comma separated object names to retrieve (default: objects which have multiple layouts)' }),
71
- merge: command_1.flags.boolean({ required: false, description: 'merge retrieved configurations with existing file' })
102
+ file: command_1.flags.string({
103
+ char: 'f',
104
+ required: true,
105
+ description: 'output file path',
106
+ default: 'config/layout-assignments.json',
107
+ }),
108
+ profile: command_1.flags.string({
109
+ char: 'p',
110
+ required: false,
111
+ description: 'comma separated profile names to retrieve (default: all profiles)',
112
+ }),
113
+ object: command_1.flags.string({
114
+ char: 'o',
115
+ required: false,
116
+ description: 'comma separated object names to retrieve (default: objects which have multiple layouts)',
117
+ }),
118
+ merge: command_1.flags.boolean({
119
+ required: false,
120
+ description: 'merge retrieved configurations with existing file',
121
+ }),
72
122
  };
73
123
  //# sourceMappingURL=retrieve.js.map