@kitalive/sfdx-plugin 0.7.3 → 0.8.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 CHANGED
@@ -17,7 +17,7 @@ $ npm install -g @kitalive/sfdx-plugin
17
17
  $ sf COMMAND
18
18
  running command...
19
19
  $ sf (--version)
20
- @kitalive/sfdx-plugin/0.7.3 darwin-arm64 node-v18.16.0
20
+ @kitalive/sfdx-plugin/0.8.0 darwin-arm64 node-v20.14.0
21
21
  $ sf --help [COMMAND]
22
22
  USAGE
23
23
  $ sf COMMAND
@@ -37,6 +37,7 @@ USAGE
37
37
  * [`sf kit graphql editor`](#sf-kit-graphql-editor)
38
38
  * [`sf kit layout assignments deploy`](#sf-kit-layout-assignments-deploy)
39
39
  * [`sf kit layout assignments retrieve`](#sf-kit-layout-assignments-retrieve)
40
+ * [`sf kit metadata dependencies`](#sf-kit-metadata-dependencies)
40
41
  * [`sf kit object fields describe`](#sf-kit-object-fields-describe)
41
42
  * [`sf kit object fields setup`](#sf-kit-object-fields-setup)
42
43
  * [`sf kit script`](#sf-kit-script)
@@ -67,7 +68,7 @@ EXAMPLES
67
68
  $ sf kit data bulk delete -q "SELECT Id FROM Opportunity WHERE CloseDate < LAST_N_YEARS:2"
68
69
  ```
69
70
 
70
- _See code: [src/commands/kit/data/bulk/delete.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/data/bulk/delete.ts)_
71
+ _See code: [src/commands/kit/data/bulk/delete.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/data/bulk/delete.ts)_
71
72
 
72
73
  ## `sf kit data bulk insert`
73
74
 
@@ -116,7 +117,7 @@ EXAMPLES
116
117
  $ sf kit data bulk insert -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -w 10
117
118
  ```
118
119
 
119
- _See code: [src/commands/kit/data/bulk/insert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/data/bulk/insert.ts)_
120
+ _See code: [src/commands/kit/data/bulk/insert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/data/bulk/insert.ts)_
120
121
 
121
122
  ## `sf kit data bulk query`
122
123
 
@@ -142,7 +143,7 @@ EXAMPLES
142
143
  $ sf kit data bulk query -q "SELECT Id, Name FROM Account" -f ./path/to/Account.csv
143
144
  ```
144
145
 
145
- _See code: [src/commands/kit/data/bulk/query.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/data/bulk/query.ts)_
146
+ _See code: [src/commands/kit/data/bulk/query.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/data/bulk/query.ts)_
146
147
 
147
148
  ## `sf kit data bulk update`
148
149
 
@@ -191,7 +192,7 @@ EXAMPLES
191
192
  $ sf kit data bulk update -o MyObject__c -f ./path/to/MyObject__c.csv -c ./path/to/convert.js -w 10
192
193
  ```
193
194
 
194
- _See code: [src/commands/kit/data/bulk/update.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/data/bulk/update.ts)_
195
+ _See code: [src/commands/kit/data/bulk/update.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/data/bulk/update.ts)_
195
196
 
196
197
  ## `sf kit data bulk upsert`
197
198
 
@@ -242,7 +243,7 @@ EXAMPLES
242
243
  -w 10
243
244
  ```
244
245
 
245
- _See code: [src/commands/kit/data/bulk/upsert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/data/bulk/upsert.ts)_
246
+ _See code: [src/commands/kit/data/bulk/upsert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/data/bulk/upsert.ts)_
246
247
 
247
248
  ## `sf kit data csv convert`
248
249
 
@@ -274,7 +275,7 @@ EXAMPLES
274
275
  $ sf kit data csv convert -i ./path/to/input.csv -o ./path/to/output.csv -c ./path/to/convert.js
275
276
  ```
276
277
 
277
- _See code: [src/commands/kit/data/csv/convert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/data/csv/convert.ts)_
278
+ _See code: [src/commands/kit/data/csv/convert.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/data/csv/convert.ts)_
278
279
 
279
280
  ## `sf kit graphql editor`
280
281
 
@@ -301,7 +302,7 @@ EXAMPLES
301
302
  $ sf kit graphql editor --port 8080
302
303
  ```
303
304
 
304
- _See code: [src/commands/kit/graphql/editor.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/graphql/editor.ts)_
305
+ _See code: [src/commands/kit/graphql/editor.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/graphql/editor.ts)_
305
306
 
306
307
  ## `sf kit layout assignments deploy`
307
308
 
@@ -332,7 +333,7 @@ EXAMPLES
332
333
  $ sf kit layout assignments deploy -o me@my.org -f config/layout-assignments.sandbox.json
333
334
  ```
334
335
 
335
- _See code: [src/commands/kit/layout/assignments/deploy.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/layout/assignments/deploy.ts)_
336
+ _See code: [src/commands/kit/layout/assignments/deploy.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/layout/assignments/deploy.ts)_
336
337
 
337
338
  ## `sf kit layout assignments retrieve`
338
339
 
@@ -366,7 +367,27 @@ EXAMPLES
366
367
  $ sf kit layout assignments retrieve -o me@my.org -f config/layout-assignments.sandbox.json
367
368
  ```
368
369
 
369
- _See code: [src/commands/kit/layout/assignments/retrieve.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/layout/assignments/retrieve.ts)_
370
+ _See code: [src/commands/kit/layout/assignments/retrieve.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/layout/assignments/retrieve.ts)_
371
+
372
+ ## `sf kit metadata dependencies`
373
+
374
+ Analyze metadata dependencies
375
+
376
+ ```
377
+ USAGE
378
+ $ sf kit metadata dependencies -o <value> [-p <value>] [--api-version <value>]
379
+
380
+ FLAGS
381
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
382
+ configuration variable is already set.
383
+ -p, --port=<value> [default: 3000] local server port number
384
+ --api-version=<value> Override the api version used for api requests made by this command
385
+
386
+ EXAMPLES
387
+ $ sf kit metadata dependencies
388
+ ```
389
+
390
+ _See code: [src/commands/kit/metadata/dependencies.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/metadata/dependencies.ts)_
370
391
 
371
392
  ## `sf kit object fields describe`
372
393
 
@@ -393,7 +414,7 @@ EXAMPLES
393
414
  $ sf kit object fields describe -o me@my.org -s CustomObject__c --json
394
415
  ```
395
416
 
396
- _See code: [src/commands/kit/object/fields/describe.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/object/fields/describe.ts)_
417
+ _See code: [src/commands/kit/object/fields/describe.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/object/fields/describe.ts)_
397
418
 
398
419
  ## `sf kit object fields setup`
399
420
 
@@ -422,7 +443,7 @@ EXAMPLES
422
443
  $ sf kit object fields setup -o me@my.org -s CustomObject__c -f path/to/custom_object_fields.csv --delete
423
444
  ```
424
445
 
425
- _See code: [src/commands/kit/object/fields/setup.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/object/fields/setup.ts)_
446
+ _See code: [src/commands/kit/object/fields/setup.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/object/fields/setup.ts)_
426
447
 
427
448
  ## `sf kit script`
428
449
 
@@ -508,5 +529,5 @@ EXAMPLES
508
529
  > await conn.query('SELECT Id, Name FROM Account LIMIT 1')
509
530
  ```
510
531
 
511
- _See code: [src/commands/kit/script/execute.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.7.3/src/commands/kit/script/execute.ts)_
532
+ _See code: [src/commands/kit/script/execute.ts](https://github.com/Kitalive-Inc/sfdx-plugin/blob/v0.8.0/src/commands/kit/script/execute.ts)_
512
533
  <!-- commandsstop -->
@@ -1,52 +1,29 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const express_1 = __importDefault(require("express"));
7
- const open_1 = __importDefault(require("open"));
8
- const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
9
3
  const core_1 = require("@salesforce/core");
4
+ const server_1 = require("../../../server");
10
5
  core_1.Messages.importMessagesDirectory(__dirname);
11
6
  const messages = core_1.Messages.loadMessages('@kitalive/sfdx-plugin', 'graphql.editor');
12
- class GraphqlEditor extends sf_plugins_core_1.SfCommand {
7
+ class GraphqlEditor extends server_1.ServerCommand {
13
8
  async run() {
14
9
  const { flags } = await this.parse(GraphqlEditor);
15
10
  const conn = flags['target-org'].getConnection(flags['api-version']);
16
11
  const endpoint = `/services/data/v${conn.version}/graphql`;
17
- const app = (0, express_1.default)();
18
- app.use(express_1.default.static(__dirname + '/../../../../public/graphql'));
19
- app.use(express_1.default.json());
20
- app.post('/graphql', async (req, res) => {
21
- res.json(await conn.requestPost(endpoint, req.body));
12
+ this.serve(flags.port, (app) => {
13
+ app.get('/', (req, res) => {
14
+ res.sendFile('index.html', {
15
+ root: __dirname + '/../../../../public/graphql',
16
+ });
17
+ });
18
+ app.post('/api/graphql', async (req, res) => {
19
+ res.json(await conn.requestPost(endpoint, req.body));
20
+ });
22
21
  });
23
- app.post('/quit', () => process.exit(0));
24
- app.listen(flags.port, '127.0.0.1', async () => {
25
- this.log(`Listening on port ${flags.port}`);
26
- this.log('Use Ctrl-C to stop');
27
- await (0, open_1.default)(`http://localhost:${flags.port}`);
28
- });
29
- }
30
- exit(code = 0) {
31
- if (code === 130) {
32
- process.exit(0);
33
- }
34
- else {
35
- super.exit(code);
36
- }
37
22
  }
38
23
  }
39
24
  GraphqlEditor.summary = messages.getMessage('summary');
40
25
  GraphqlEditor.description = messages.getMessage('description');
41
26
  GraphqlEditor.examples = messages.getMessages('examples');
42
- GraphqlEditor.flags = {
43
- port: sf_plugins_core_1.Flags.integer({
44
- summary: messages.getMessage('flags.port.summary'),
45
- char: 'p',
46
- default: 3000,
47
- }),
48
- 'target-org': sf_plugins_core_1.Flags.requiredOrg(),
49
- 'api-version': sf_plugins_core_1.Flags.orgApiVersion(),
50
- };
27
+ GraphqlEditor.flags = server_1.ServerCommand.flags;
51
28
  exports.default = GraphqlEditor;
52
29
  //# sourceMappingURL=editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../../src/commands/kit/graphql/editor.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,gDAAwB;AAExB,iEAA+D;AAC/D,2CAA4C;AAE5C,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CACpC,uBAAuB,EACvB,gBAAgB,CACjB,CAAC;AAEF,MAAqB,aAAc,SAAQ,2BAAe;IAejD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAE,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAAG,mBAAmB,IAAI,CAAC,OAAO,UAAU,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,SAAS,GAAG,6BAA6B,CAAC,CAAC,CAAC;QACnE,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAExB,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACtC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;YAC7C,IAAI,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC/B,MAAM,IAAA,cAAI,EAAC,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,IAAI,CAAC,IAAI,GAAG,CAAC;QAClB,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;IACH,CAAC;;AAzCsB,qBAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,yBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,sBAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAE5C,mBAAK,GAAG;IAC7B,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC;QAClB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAClD,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,IAAI;KACd,CAAC;IACF,YAAY,EAAE,uBAAK,CAAC,WAAW,EAAE;IACjC,aAAa,EAAE,uBAAK,CAAC,aAAa,EAAE;CACrC,CAAC;kBAbiB,aAAa"}
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../../src/commands/kit/graphql/editor.ts"],"names":[],"mappings":";;AAAA,2CAA4C;AAC5C,4CAAgD;AAEhD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CACpC,uBAAuB,EACvB,gBAAgB,CACjB,CAAC;AAEF,MAAqB,aAAc,SAAQ,sBAAa;IAO/C,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAE,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAAG,mBAAmB,IAAI,CAAC,OAAO,UAAU,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACxB,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE;oBACzB,IAAI,EAAE,SAAS,GAAG,6BAA6B;iBAChD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC1C,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;AAtBsB,qBAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACzC,yBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACjD,sBAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAE5C,mBAAK,GAAG,sBAAa,CAAC,KAAK,CAAC;kBALhC,aAAa"}
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const core_1 = require("@salesforce/core");
30
+ const csv = __importStar(require("fast-csv"));
31
+ const express_1 = __importDefault(require("express"));
32
+ const server_1 = require("../../../server");
33
+ core_1.Messages.importMessagesDirectory(__dirname);
34
+ const messages = core_1.Messages.loadMessages('@kitalive/sfdx-plugin', 'metadata.dependencies');
35
+ function orderByField(array, field) {
36
+ return array.sort((a, b) => String(a[field] ?? '').localeCompare(String(b[field] ?? '')));
37
+ }
38
+ function packageXml(data, version) {
39
+ data.sort((a, b) => a.type.localeCompare(b.type) || a.fullName.localeCompare(b.fullName));
40
+ const metadataByType = {};
41
+ for (const meta of data) {
42
+ (metadataByType[meta.type] ??= []).push(meta);
43
+ }
44
+ return ('<?xml version="1.0" encoding="UTF-8"?>\n' +
45
+ '<Package xmlns="http://soap.sforce.com/2006/04/metadata">\n' +
46
+ Object.entries(metadataByType)
47
+ .map(([name, members]) => ' <types>\n' +
48
+ members
49
+ .map((meta) => ` <members>${meta.fullName}</members>`)
50
+ .join('\n') +
51
+ `\n <name>${name}</name>\n` +
52
+ ' </types>')
53
+ .join('\n') +
54
+ `\n <version>${version}</version>\n</Package>`);
55
+ }
56
+ class MetadataQuery {
57
+ constructor(connection) {
58
+ this.typeCache = {};
59
+ this.metadataCache = {};
60
+ this.usageCache = {};
61
+ this.referencesCache = {};
62
+ this.recursiveUsageCache = {};
63
+ this.recursiveReferencesCache = {};
64
+ this.conn = connection;
65
+ }
66
+ async describe() {
67
+ if (!this.describeCache) {
68
+ const { metadataObjects } = await this.conn.metadata.describe();
69
+ this.describeCache = metadataObjects
70
+ .flatMap((m) => [m.xmlName].concat(m.childXmlNames))
71
+ .sort();
72
+ this.describeCache.forEach((name) => (this.typeCache[name] = name));
73
+ }
74
+ return this.describeCache;
75
+ }
76
+ async list(type) {
77
+ const idMap = await this.getMetadataMap(type);
78
+ return Array.from(idMap.values());
79
+ }
80
+ async usage(type, id, recursive) {
81
+ const cache = recursive ? this.recursiveUsageCache : this.usageCache;
82
+ const result = [
83
+ ...(await this.dependencies(id, cache, 'RefMetadataComponentId', recursive)),
84
+ ];
85
+ if (recursive) {
86
+ const idMap = await this.getMetadataMap(type);
87
+ result.unshift(idMap.get(id));
88
+ }
89
+ return result;
90
+ }
91
+ async references(type, id, recursive) {
92
+ const cache = recursive
93
+ ? this.recursiveReferencesCache
94
+ : this.referencesCache;
95
+ const result = [
96
+ ...(await this.dependencies(id, cache, 'MetadataComponentId', recursive)),
97
+ ];
98
+ if (recursive) {
99
+ const idMap = await this.getMetadataMap(type);
100
+ result.unshift(idMap.get(id));
101
+ }
102
+ return result;
103
+ }
104
+ async getMetadataMap(type) {
105
+ if (this.metadataCache[type])
106
+ return this.metadataCache[type];
107
+ const idMap = new Map();
108
+ const list = await this.conn.metadata.list({ type });
109
+ for (const meta of orderByField(list, 'fullName')) {
110
+ idMap.set(meta.id, meta);
111
+ }
112
+ this.metadataCache[type] = idMap;
113
+ return idMap;
114
+ }
115
+ async dependencies(ids, cache, sourceIdField, recursive, result) {
116
+ result ??= new Set();
117
+ ids = [].concat(ids);
118
+ const dependentIds = [];
119
+ const fetchIds = [];
120
+ const add = (item) => {
121
+ if (result.has(item))
122
+ return;
123
+ result.add(item);
124
+ dependentIds.push(item.id);
125
+ };
126
+ for (const id of ids) {
127
+ if (cache[id]) {
128
+ cache[id].forEach(add);
129
+ }
130
+ else {
131
+ fetchIds.push(id);
132
+ cache[id] = new Set();
133
+ }
134
+ }
135
+ if (fetchIds.length) {
136
+ const targetFieldPrefix = sourceIdField === 'MetadataComponentId' ? 'Ref' : '';
137
+ const items = await this.conn.tooling
138
+ .sobject('MetadataComponentDependency')
139
+ .select('MetadataComponentId, MetadataComponentType, RefMetadataComponentId, RefMetadataComponentType')
140
+ .where({ [sourceIdField]: fetchIds });
141
+ for (const item of items) {
142
+ const cacheSet = (cache[item[sourceIdField]] ??= new Set());
143
+ const type = item[targetFieldPrefix + 'MetadataComponentType'];
144
+ if (!this.typeCache[type])
145
+ continue;
146
+ // eslint-disable-next-line no-await-in-loop
147
+ const idMap = await this.getMetadataMap(type);
148
+ const meta = idMap.get(item[targetFieldPrefix + 'MetadataComponentId']);
149
+ if (!meta)
150
+ continue;
151
+ cacheSet.add(meta);
152
+ add(meta);
153
+ }
154
+ }
155
+ if (recursive && dependentIds.length) {
156
+ return this.dependencies(dependentIds, cache, sourceIdField, recursive, result);
157
+ }
158
+ return result;
159
+ }
160
+ }
161
+ class MetadataDependencies extends server_1.ServerCommand {
162
+ async run() {
163
+ const { flags } = await this.parse(MetadataDependencies);
164
+ const conn = flags['target-org'].getConnection(flags['api-version']);
165
+ const metadata = new MetadataQuery(conn);
166
+ await metadata.describe();
167
+ function handleDependencies(data, format, res) {
168
+ switch (format) {
169
+ case 'xml':
170
+ res.set('Content-Type', 'text/xml');
171
+ res.send(packageXml(data, conn.version));
172
+ break;
173
+ case 'csv':
174
+ res.set('Content-Type', 'text/csv');
175
+ csv.writeToStream(res, data, { headers: ['fullName', 'type'] });
176
+ break;
177
+ default:
178
+ res.json(data);
179
+ break;
180
+ }
181
+ }
182
+ this.serve(flags.port, (app) => {
183
+ app.use('/assets', express_1.default.static(__dirname + '/../../../../public/dist/assets'));
184
+ app.get('/', (req, res) => {
185
+ res.sendFile('metadata-dependencies.html', {
186
+ root: __dirname + '/../../../../public/dist',
187
+ });
188
+ });
189
+ app.get('/api/metadata', async (req, res) => {
190
+ res.json(await metadata.describe());
191
+ });
192
+ app.get('/api/metadata/:type', async (req, res) => {
193
+ res.json(await metadata.list(req.params.type));
194
+ });
195
+ app.get('/api/metadata/usage/:type/:id', async (req, res) => {
196
+ const data = await metadata.usage(req.params.type, req.params.id, req.query.recursive === 'true');
197
+ handleDependencies(data, req.query.format, res);
198
+ });
199
+ app.get('/api/metadata/references/:type/:id', async (req, res) => {
200
+ const data = await metadata.references(req.params.type, req.params.id, req.query.recursive === 'true');
201
+ handleDependencies(data, req.query.format, res);
202
+ });
203
+ });
204
+ }
205
+ }
206
+ MetadataDependencies.summary = messages.getMessage('summary');
207
+ MetadataDependencies.examples = messages.getMessages('examples');
208
+ MetadataDependencies.flags = server_1.ServerCommand.flags;
209
+ exports.default = MetadataDependencies;
210
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../src/commands/kit/metadata/dependencies.ts"],"names":[],"mappings":"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"}
package/lib/server.js ADDED
@@ -0,0 +1,45 @@
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.ServerCommand = void 0;
7
+ const express_1 = __importDefault(require("express"));
8
+ require("express-async-errors");
9
+ const open_1 = __importDefault(require("open"));
10
+ const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
11
+ const core_1 = require("@salesforce/core");
12
+ core_1.Messages.importMessagesDirectory(__dirname);
13
+ const messages = core_1.Messages.loadMessages('@kitalive/sfdx-plugin', 'server');
14
+ class ServerCommand extends sf_plugins_core_1.SfCommand {
15
+ serve(port, callback) {
16
+ const app = (0, express_1.default)();
17
+ app.use(express_1.default.json());
18
+ callback(app, express_1.default);
19
+ app.post('/quit', () => process.exit(0));
20
+ app.listen(port, 'localhost', async () => {
21
+ this.log(`Listening on port ${port}`);
22
+ this.log('Use Ctrl-C to stop');
23
+ await (0, open_1.default)(`http://localhost:${port}`);
24
+ });
25
+ }
26
+ exit(code = 0) {
27
+ if (code === 130) {
28
+ process.exit(0);
29
+ }
30
+ else {
31
+ super.exit(code);
32
+ }
33
+ }
34
+ }
35
+ exports.ServerCommand = ServerCommand;
36
+ ServerCommand.flags = {
37
+ port: sf_plugins_core_1.Flags.integer({
38
+ summary: messages.getMessage('flags.port.summary'),
39
+ char: 'p',
40
+ default: 3000,
41
+ }),
42
+ 'target-org': sf_plugins_core_1.Flags.requiredOrg(),
43
+ 'api-version': sf_plugins_core_1.Flags.orgApiVersion(),
44
+ };
45
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAC9B,gCAA8B;AAC9B,gDAAwB;AAExB,iEAA+D;AAC/D,2CAA4C;AAE5C,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;AAE1E,MAAsB,aAAc,SAAQ,2BAAe;IAWlD,KAAK,CACV,IAAY,EACZ,QAA6D;QAE7D,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,iBAAO,CAAC,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC/B,MAAM,IAAA,cAAI,EAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,IAAI,CAAC,IAAI,GAAG,CAAC;QAClB,IAAI,IAAI,KAAK,GAAG,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;IACH,CAAC;;AAjCH,sCAkCC;AAjCwB,mBAAK,GAAG;IAC7B,IAAI,EAAE,uBAAK,CAAC,OAAO,CAAC;QAClB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAClD,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,IAAI;KACd,CAAC;IACF,YAAY,EAAE,uBAAK,CAAC,WAAW,EAAE;IACjC,aAAa,EAAE,uBAAK,CAAC,aAAa,EAAE;CACrC,CAAC"}
@@ -0,0 +1,8 @@
1
+ # summary
2
+
3
+ Analyze metadata dependencies
4
+
5
+ # examples
6
+
7
+ - <%= config.bin %> <%= command.id %>
8
+
@@ -0,0 +1,4 @@
1
+ # flags.port.summary
2
+
3
+ local server port number
4
+
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.7.3",
2
+ "version": "0.8.0",
3
3
  "commands": {
4
4
  "kit:graphql:editor": {
5
5
  "id": "kit:graphql:editor",
@@ -41,6 +41,44 @@
41
41
  "args": {},
42
42
  "hasDynamicHelp": true
43
43
  },
44
+ "kit:metadata:dependencies": {
45
+ "id": "kit:metadata:dependencies",
46
+ "summary": "Analyze metadata dependencies",
47
+ "strict": true,
48
+ "pluginName": "@kitalive/sfdx-plugin",
49
+ "pluginAlias": "@kitalive/sfdx-plugin",
50
+ "pluginType": "core",
51
+ "aliases": [],
52
+ "examples": [
53
+ "<%= config.bin %> <%= command.id %>"
54
+ ],
55
+ "flags": {
56
+ "port": {
57
+ "name": "port",
58
+ "type": "option",
59
+ "char": "p",
60
+ "summary": "local server port number",
61
+ "multiple": false,
62
+ "default": 3000
63
+ },
64
+ "target-org": {
65
+ "name": "target-org",
66
+ "type": "option",
67
+ "char": "o",
68
+ "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
69
+ "required": true,
70
+ "multiple": false
71
+ },
72
+ "api-version": {
73
+ "name": "api-version",
74
+ "type": "option",
75
+ "description": "Override the api version used for api requests made by this command",
76
+ "multiple": false
77
+ }
78
+ },
79
+ "args": {},
80
+ "hasDynamicHelp": true
81
+ },
44
82
  "kit:script:execute": {
45
83
  "id": "kit:script:execute",
46
84
  "summary": "Execute Node.js scripts in SfCommand context.",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kitalive/sfdx-plugin",
3
3
  "description": "Kitalive SFDX plugin",
4
- "version": "0.7.3",
4
+ "version": "0.8.0",
5
5
  "author": "Akihiro Ono",
6
6
  "bugs": "https://github.com/Kitalive-Inc/sfdx-plugin/issues",
7
7
  "dependencies": {
@@ -11,6 +11,7 @@
11
11
  "@salesforce/sf-plugins-core": "^5",
12
12
  "dayjs": "^1.11.9",
13
13
  "express": "^4.18.2",
14
+ "express-async-errors": "^3.1.1",
14
15
  "fast-csv": "^4.3.6",
15
16
  "fs-extra": "^11.1.1",
16
17
  "iconv-lite": "^0.6.3",
@@ -83,6 +84,7 @@
83
84
  "repository": "Kitalive-Inc/sfdx-plugin",
84
85
  "scripts": {
85
86
  "build": "wireit",
87
+ "build:vuetify": "cd vuetify && yarn && yarn build",
86
88
  "clean": "sf-clean",
87
89
  "clean-all": "sf-clean all",
88
90
  "clean:lib": "shx rm -rf lib && shx rm -rf coverage && shx rm -rf .nyc_output && shx rm -f oclif.manifest.json",
@@ -102,7 +104,8 @@
102
104
  "build": {
103
105
  "dependencies": [
104
106
  "compile",
105
- "lint"
107
+ "lint",
108
+ "build:vuetify"
106
109
  ]
107
110
  },
108
111
  "compile": {