@salesforce/plugin-metadata-enrichment 0.0.1 → 0.0.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 +33 -22
- package/lib/commands/metadata/enrich.d.ts +1 -0
- package/lib/commands/metadata/enrich.js +56 -13
- package/lib/commands/metadata/enrich.js.map +1 -1
- package/messages/metadata.enrich.md +6 -4
- package/messages/metrics.md +0 -16
- package/npm-shrinkwrap.json +125 -12
- package/oclif.lock +59 -9
- package/oclif.manifest.json +3 -2
- package/package.json +6 -4
- package/schemas/metadata-enrich.json +26 -7
- package/lib/component/componentProcessor.d.ts +0 -24
- package/lib/component/componentProcessor.js +0 -132
- package/lib/component/componentProcessor.js.map +0 -1
- package/lib/component/index.d.ts +0 -1
- package/lib/component/index.js +0 -17
- package/lib/component/index.js.map +0 -1
- package/lib/utils/enrichmentRecords.d.ts +0 -12
- package/lib/utils/enrichmentRecords.js +0 -117
- package/lib/utils/enrichmentRecords.js.map +0 -1
- package/lib/utils/index.d.ts +0 -2
- package/lib/utils/index.js +0 -18
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/metricsFormatter.d.ts +0 -12
- package/lib/utils/metricsFormatter.js +0 -62
- package/lib/utils/metricsFormatter.js.map +0 -1
package/README.md
CHANGED
|
@@ -67,14 +67,14 @@ sf plugins
|
|
|
67
67
|
|
|
68
68
|
## `sf metadata enrich`
|
|
69
69
|
|
|
70
|
-
Enrich metadata
|
|
70
|
+
Enrich metadata components in your DX project by adding AI-generated descriptions.
|
|
71
71
|
|
|
72
72
|
```
|
|
73
73
|
USAGE
|
|
74
74
|
$ sf metadata enrich -o <value> -m <value>... [--json] [--flags-dir <value>]
|
|
75
75
|
|
|
76
76
|
FLAGS
|
|
77
|
-
-m, --metadata=<value>... (required)
|
|
77
|
+
-m, --metadata=<value>... (required) Metadata type and optional component name to enrich.
|
|
78
78
|
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
79
79
|
configuration variable is already set.
|
|
80
80
|
|
|
@@ -83,40 +83,51 @@ GLOBAL FLAGS
|
|
|
83
83
|
--json Format output as json.
|
|
84
84
|
|
|
85
85
|
DESCRIPTION
|
|
86
|
-
Enrich metadata
|
|
86
|
+
Enrich metadata components in your DX project by adding AI-generated descriptions.
|
|
87
|
+
|
|
88
|
+
Use this command to add AI-generated descriptions right in the metadata source files in your local DX project. These
|
|
89
|
+
enriched descriptions succinctly outline the metadata component’s purpose and capabilities, which in turn provide
|
|
90
|
+
context when vibe coding with an AI tool, such as Agentforce Vibes.
|
|
87
91
|
|
|
88
|
-
|
|
92
|
+
This command updates only the local metadata source files in your DX project; it doesn't change the components in your
|
|
93
|
+
org. If you want the AI-generated descriptions in your org, then you must explicitly deploy the updated metadata
|
|
94
|
+
components to your org by using, for example, the "project deploy start" CLI command.
|
|
89
95
|
|
|
90
|
-
|
|
91
|
-
|
|
96
|
+
To enrich multiple metadata components, specify multiple --metadata <name> flags. Enclose names that contain spaces in
|
|
97
|
+
double quotes.
|
|
92
98
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
--source-dir.
|
|
99
|
+
Even though this command updates only local files in your DX project, you're still required to authorize and specify
|
|
100
|
+
an org, which is how the command accesses a large language model (LLM).
|
|
96
101
|
|
|
97
|
-
|
|
102
|
+
Currently, this command supports enriching only Lightning Web Components, represented by the LightningComponentBundle
|
|
103
|
+
metadata type.
|
|
98
104
|
|
|
99
|
-
|
|
105
|
+
Your org must be eligible for metadata enrichment. Your Salesforce admin can help with that.
|
|
100
106
|
|
|
101
107
|
EXAMPLES
|
|
102
|
-
Enrich
|
|
103
|
-
|
|
108
|
+
Enrich the "HelloWorld" LightningComponentBundle metadata component in the local DX project; use your default org:
|
|
109
|
+
|
|
110
|
+
$ sf metadata enrich --metadata LightningComponentBundle:HelloWorld
|
|
111
|
+
|
|
112
|
+
Enrich the "HelloWorld" LightningComponentBundle metadata component and use the org with alias "my-org":
|
|
104
113
|
|
|
105
|
-
|
|
106
|
-
$ sf metadata enrich --metadata LightningComponentBundle:ComponentName --target-org OrgAlias
|
|
114
|
+
$ sf metadata enrich --metadata LightningComponentBundle:HelloWorld --target-org my-org
|
|
107
115
|
|
|
108
|
-
Enrich metadata for multiple
|
|
109
|
-
$ sf metadata enrich --metadata LightningComponentBundle:Component1 --metadata LightningComponentBundle:Component2
|
|
116
|
+
Enrich metadata for multiple LightningComponentBundles using your default org:
|
|
110
117
|
|
|
111
|
-
|
|
112
|
-
|
|
118
|
+
$ sf metadata enrich --metadata LightningComponentBundle:Component1 --metadata \
|
|
119
|
+
LightningComponentBundle:Component2
|
|
120
|
+
|
|
121
|
+
Enrich metadata for multiple LightningComponentBundles using a matching wildcard:
|
|
122
|
+
|
|
123
|
+
$ sf metadata enrich --metadata "LightningComponentBundle:Component\*"
|
|
113
124
|
|
|
114
125
|
FLAG DESCRIPTIONS
|
|
115
|
-
-m, --metadata=<value>...
|
|
126
|
+
-m, --metadata=<value>... Metadata type and optional component name to enrich.
|
|
116
127
|
|
|
117
|
-
Wildcards (
|
|
128
|
+
Wildcards ("_") are supported as long as you use double quotes, such as "LightningComponentBundle:MyClass_".
|
|
118
129
|
```
|
|
119
130
|
|
|
120
|
-
_See code: [src/commands/metadata/enrich.ts](https://github.com/salesforcecli/plugin-metadata-enrichment/blob/
|
|
131
|
+
_See code: [src/commands/metadata/enrich.ts](https://github.com/salesforcecli/plugin-metadata-enrichment/blob/0.0.3/src/commands/metadata/enrich.ts)_
|
|
121
132
|
|
|
122
133
|
<!-- commandsstop -->
|
|
@@ -4,6 +4,7 @@ export default class MetadataEnrich extends SfCommand<EnrichmentMetrics> {
|
|
|
4
4
|
static readonly summary: string;
|
|
5
5
|
static readonly description: string;
|
|
6
6
|
static readonly examples: string[];
|
|
7
|
+
static readonly state = "preview";
|
|
7
8
|
static readonly flags: {
|
|
8
9
|
'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
10
|
metadata: import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -13,20 +13,19 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import { MultiStageOutput } from '@oclif/multi-stage-output';
|
|
16
17
|
import { Messages, SfProject } from '@salesforce/core';
|
|
17
|
-
import { SfCommand,
|
|
18
|
+
import { Flags, SfCommand, Ux } from '@salesforce/sf-plugins-core';
|
|
18
19
|
import { ComponentSetBuilder } from '@salesforce/source-deploy-retrieve';
|
|
19
|
-
import { EnrichmentHandler, EnrichmentMetrics, EnrichmentStatus, FileProcessor } from '@salesforce/metadata-enrichment';
|
|
20
|
-
import { ComponentProcessor } from '../../component/index.js';
|
|
21
|
-
import { MetricsFormatter, EnrichmentRecords } from '../../utils/index.js';
|
|
20
|
+
import { ComponentProcessor, EnrichmentHandler, EnrichmentMetrics, EnrichmentRecords, EnrichmentStatus, FileProcessor } from '@salesforce/metadata-enrichment';
|
|
22
21
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
23
22
|
const commandMessages = Messages.loadMessages('@salesforce/plugin-metadata-enrichment', 'metadata.enrich');
|
|
24
|
-
const errorsMessages = Messages.loadMessages('@salesforce/plugin-metadata-enrichment', 'errors');
|
|
25
23
|
const metricsMessages = Messages.loadMessages('@salesforce/plugin-metadata-enrichment', 'metrics');
|
|
26
24
|
export default class MetadataEnrich extends SfCommand {
|
|
27
25
|
static summary = commandMessages.getMessage('summary');
|
|
28
26
|
static description = commandMessages.getMessage('description');
|
|
29
27
|
static examples = commandMessages.getMessages('examples');
|
|
28
|
+
static state = 'preview';
|
|
30
29
|
static flags = {
|
|
31
30
|
'target-org': Flags.requiredOrg(),
|
|
32
31
|
metadata: Flags.string({
|
|
@@ -42,7 +41,17 @@ export default class MetadataEnrich extends SfCommand {
|
|
|
42
41
|
const { flags } = await this.parse(MetadataEnrich);
|
|
43
42
|
const org = flags['target-org'];
|
|
44
43
|
const metadataEntries = flags['metadata'];
|
|
45
|
-
|
|
44
|
+
const STAGES_MSO = [
|
|
45
|
+
commandMessages.getMessage('stage.setup'),
|
|
46
|
+
commandMessages.getMessage('stage.executing'),
|
|
47
|
+
commandMessages.getMessage('stage.updating.files'),
|
|
48
|
+
];
|
|
49
|
+
const mso = new MultiStageOutput({
|
|
50
|
+
stages: STAGES_MSO,
|
|
51
|
+
title: commandMessages.getMessage('summary'),
|
|
52
|
+
jsonEnabled: this.jsonEnabled(),
|
|
53
|
+
});
|
|
54
|
+
mso.goto(STAGES_MSO[0]);
|
|
46
55
|
const projectComponentSet = await ComponentSetBuilder.build({
|
|
47
56
|
metadata: {
|
|
48
57
|
metadataEntries,
|
|
@@ -50,7 +59,7 @@ export default class MetadataEnrich extends SfCommand {
|
|
|
50
59
|
},
|
|
51
60
|
});
|
|
52
61
|
const projectSourceComponents = projectComponentSet.getSourceComponents().toArray();
|
|
53
|
-
const enrichmentRecords = new EnrichmentRecords(projectSourceComponents
|
|
62
|
+
const enrichmentRecords = new EnrichmentRecords(projectSourceComponents);
|
|
54
63
|
const componentsToSkip = ComponentProcessor.getComponentsToSkip(projectSourceComponents, metadataEntries, project.getPath());
|
|
55
64
|
enrichmentRecords.addSkippedComponents(componentsToSkip);
|
|
56
65
|
enrichmentRecords.updateWithStatus(componentsToSkip, EnrichmentStatus.SKIPPED);
|
|
@@ -65,18 +74,52 @@ export default class MetadataEnrich extends SfCommand {
|
|
|
65
74
|
}
|
|
66
75
|
return true;
|
|
67
76
|
});
|
|
68
|
-
|
|
69
|
-
this.spinner.start(commandMessages.getMessage('spinner.executing', [componentsEligibleToProcess.length]));
|
|
77
|
+
mso.next();
|
|
70
78
|
const connection = org.getConnection();
|
|
71
79
|
const enrichmentResults = await EnrichmentHandler.enrich(connection, componentsEligibleToProcess);
|
|
72
80
|
enrichmentRecords.updateWithResults(enrichmentResults);
|
|
73
|
-
|
|
74
|
-
this.spinner.start(commandMessages.getMessage('spinner.updating.files'));
|
|
81
|
+
mso.next();
|
|
75
82
|
const fileUpdatedRecords = await FileProcessor.updateMetadataFiles(componentsEligibleToProcess, enrichmentRecords.recordSet);
|
|
76
83
|
enrichmentRecords.updateWithResults(Array.from(fileUpdatedRecords));
|
|
77
|
-
|
|
84
|
+
mso.stop();
|
|
78
85
|
const metrics = EnrichmentMetrics.createEnrichmentMetrics(Array.from(enrichmentRecords.recordSet));
|
|
79
|
-
|
|
86
|
+
const ux = new Ux();
|
|
87
|
+
ux.log('');
|
|
88
|
+
ux.log(metricsMessages.getMessage('metrics.total.count', [metrics.total]));
|
|
89
|
+
const tableRows = [
|
|
90
|
+
...metrics.success.components.map((c) => ({
|
|
91
|
+
status: 'Success',
|
|
92
|
+
type: c.typeName,
|
|
93
|
+
component: c.componentName,
|
|
94
|
+
message: c.message,
|
|
95
|
+
})),
|
|
96
|
+
...metrics.skipped.components.map((c) => ({
|
|
97
|
+
status: 'Skipped',
|
|
98
|
+
type: c.typeName,
|
|
99
|
+
component: c.componentName,
|
|
100
|
+
message: c.message,
|
|
101
|
+
})),
|
|
102
|
+
...metrics.fail.components.map((c) => ({
|
|
103
|
+
status: 'Failed',
|
|
104
|
+
type: c.typeName,
|
|
105
|
+
component: c.componentName,
|
|
106
|
+
message: c.message,
|
|
107
|
+
})),
|
|
108
|
+
];
|
|
109
|
+
if (tableRows.length > 0) {
|
|
110
|
+
ux.log('');
|
|
111
|
+
ux.table({
|
|
112
|
+
columns: [
|
|
113
|
+
{ key: 'status', name: 'Status' },
|
|
114
|
+
{ key: 'type', name: 'Type' },
|
|
115
|
+
{ key: 'component', name: 'Component' },
|
|
116
|
+
{ key: 'message', name: 'Message' },
|
|
117
|
+
],
|
|
118
|
+
data: tableRows,
|
|
119
|
+
overflow: 'wrap',
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
ux.log('');
|
|
80
123
|
return metrics;
|
|
81
124
|
}
|
|
82
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrich.js","sourceRoot":"","sources":["../../../src/commands/metadata/enrich.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"enrich.js","sourceRoot":"","sources":["../../../src/commands/metadata/enrich.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ Even though this command updates only local files in your DX project, you're sti
|
|
|
14
14
|
|
|
15
15
|
Currently, this command supports enriching only Lightning Web Components, represented by the LightningComponentBundle metadata type.
|
|
16
16
|
|
|
17
|
+
Your org must be eligible for metadata enrichment. Your Salesforce admin can help with that.
|
|
18
|
+
|
|
17
19
|
# examples
|
|
18
20
|
|
|
19
21
|
- Enrich the "HelloWorld" LightningComponentBundle metadata component in the local DX project; use your default org:
|
|
@@ -40,14 +42,14 @@ Metadata type and optional component name to enrich.
|
|
|
40
42
|
|
|
41
43
|
Wildcards ("_") are supported as long as you use double quotes, such as "LightningComponentBundle:MyClass_".
|
|
42
44
|
|
|
43
|
-
#
|
|
45
|
+
# stage.setup
|
|
44
46
|
|
|
45
47
|
Setting up and retrieving project source components
|
|
46
48
|
|
|
47
|
-
#
|
|
49
|
+
# stage.executing
|
|
48
50
|
|
|
49
|
-
Executing metadata enrichment
|
|
51
|
+
Executing metadata enrichment
|
|
50
52
|
|
|
51
|
-
#
|
|
53
|
+
# stage.updating.files
|
|
52
54
|
|
|
53
55
|
Updating metadata configuration with enriched results
|
package/messages/metrics.md
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
1
|
# metrics.total.count
|
|
2
2
|
|
|
3
3
|
Total Components Processed: %s
|
|
4
|
-
|
|
5
|
-
# metrics.success.count
|
|
6
|
-
|
|
7
|
-
✓ Successfully Enriched: %s
|
|
8
|
-
|
|
9
|
-
# metrics.skipped.count
|
|
10
|
-
|
|
11
|
-
⊘ Skipped: %s
|
|
12
|
-
|
|
13
|
-
# metrics.fail.count
|
|
14
|
-
|
|
15
|
-
✗ Failed: %s
|
|
16
|
-
|
|
17
|
-
# metrics.message
|
|
18
|
-
|
|
19
|
-
Message: %s
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-metadata-enrichment",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@salesforce/plugin-metadata-enrichment",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.3",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@oclif/core": "^4",
|
|
13
|
+
"@oclif/multi-stage-output": "^0.8.30",
|
|
14
|
+
"@oclif/table": "^0.5.1",
|
|
13
15
|
"@salesforce/core": "^8.24.0",
|
|
14
16
|
"@salesforce/kit": "^3.2.4",
|
|
15
|
-
"@salesforce/metadata-enrichment": "^0.0.
|
|
17
|
+
"@salesforce/metadata-enrichment": "^0.0.4",
|
|
16
18
|
"@salesforce/sf-plugins-core": "^12",
|
|
17
19
|
"@salesforce/source-deploy-retrieve": "^12.0.1"
|
|
18
20
|
},
|
|
@@ -3561,6 +3563,91 @@
|
|
|
3561
3563
|
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
|
3562
3564
|
}
|
|
3563
3565
|
},
|
|
3566
|
+
"node_modules/@oclif/multi-stage-output": {
|
|
3567
|
+
"version": "0.8.30",
|
|
3568
|
+
"resolved": "https://registry.npmjs.org/@oclif/multi-stage-output/-/multi-stage-output-0.8.30.tgz",
|
|
3569
|
+
"integrity": "sha512-WNEqTdK9GsZGc/yOgm/2drpdTXp7FGDxH3nbWSpMJBJU5CqrWmvoqNqrXZmlVRQHjKCo8qW3hI9FXse5brFVNg==",
|
|
3570
|
+
"license": "MIT",
|
|
3571
|
+
"dependencies": {
|
|
3572
|
+
"@oclif/core": "^4",
|
|
3573
|
+
"@types/react": "^18.3.12",
|
|
3574
|
+
"cli-spinners": "^2",
|
|
3575
|
+
"figures": "^6.1.0",
|
|
3576
|
+
"ink": "5.0.1",
|
|
3577
|
+
"react": "^18.3.1",
|
|
3578
|
+
"wrap-ansi": "^9.0.2"
|
|
3579
|
+
},
|
|
3580
|
+
"engines": {
|
|
3581
|
+
"node": ">=18.0.0"
|
|
3582
|
+
}
|
|
3583
|
+
},
|
|
3584
|
+
"node_modules/@oclif/multi-stage-output/node_modules/ansi-regex": {
|
|
3585
|
+
"version": "6.2.2",
|
|
3586
|
+
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
|
3587
|
+
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
|
|
3588
|
+
"license": "MIT",
|
|
3589
|
+
"engines": {
|
|
3590
|
+
"node": ">=12"
|
|
3591
|
+
},
|
|
3592
|
+
"funding": {
|
|
3593
|
+
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
|
3594
|
+
}
|
|
3595
|
+
},
|
|
3596
|
+
"node_modules/@oclif/multi-stage-output/node_modules/emoji-regex": {
|
|
3597
|
+
"version": "10.6.0",
|
|
3598
|
+
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
|
|
3599
|
+
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
|
|
3600
|
+
"license": "MIT"
|
|
3601
|
+
},
|
|
3602
|
+
"node_modules/@oclif/multi-stage-output/node_modules/string-width": {
|
|
3603
|
+
"version": "7.2.0",
|
|
3604
|
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
|
3605
|
+
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
|
|
3606
|
+
"license": "MIT",
|
|
3607
|
+
"dependencies": {
|
|
3608
|
+
"emoji-regex": "^10.3.0",
|
|
3609
|
+
"get-east-asian-width": "^1.0.0",
|
|
3610
|
+
"strip-ansi": "^7.1.0"
|
|
3611
|
+
},
|
|
3612
|
+
"engines": {
|
|
3613
|
+
"node": ">=18"
|
|
3614
|
+
},
|
|
3615
|
+
"funding": {
|
|
3616
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
3617
|
+
}
|
|
3618
|
+
},
|
|
3619
|
+
"node_modules/@oclif/multi-stage-output/node_modules/strip-ansi": {
|
|
3620
|
+
"version": "7.1.2",
|
|
3621
|
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
|
3622
|
+
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
|
3623
|
+
"license": "MIT",
|
|
3624
|
+
"dependencies": {
|
|
3625
|
+
"ansi-regex": "^6.0.1"
|
|
3626
|
+
},
|
|
3627
|
+
"engines": {
|
|
3628
|
+
"node": ">=12"
|
|
3629
|
+
},
|
|
3630
|
+
"funding": {
|
|
3631
|
+
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
|
3632
|
+
}
|
|
3633
|
+
},
|
|
3634
|
+
"node_modules/@oclif/multi-stage-output/node_modules/wrap-ansi": {
|
|
3635
|
+
"version": "9.0.2",
|
|
3636
|
+
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
|
|
3637
|
+
"integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
|
|
3638
|
+
"license": "MIT",
|
|
3639
|
+
"dependencies": {
|
|
3640
|
+
"ansi-styles": "^6.2.1",
|
|
3641
|
+
"string-width": "^7.0.0",
|
|
3642
|
+
"strip-ansi": "^7.1.0"
|
|
3643
|
+
},
|
|
3644
|
+
"engines": {
|
|
3645
|
+
"node": ">=18"
|
|
3646
|
+
},
|
|
3647
|
+
"funding": {
|
|
3648
|
+
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
|
3649
|
+
}
|
|
3650
|
+
},
|
|
3564
3651
|
"node_modules/@oclif/plugin-command-snapshot": {
|
|
3565
3652
|
"version": "5.3.8",
|
|
3566
3653
|
"resolved": "https://registry.npmjs.org/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-5.3.8.tgz",
|
|
@@ -4105,9 +4192,9 @@
|
|
|
4105
4192
|
}
|
|
4106
4193
|
},
|
|
4107
4194
|
"node_modules/@salesforce/metadata-enrichment": {
|
|
4108
|
-
"version": "0.0.
|
|
4109
|
-
"resolved": "https://registry.npmjs.org/@salesforce/metadata-enrichment/-/metadata-enrichment-0.0.
|
|
4110
|
-
"integrity": "sha512-
|
|
4195
|
+
"version": "0.0.4",
|
|
4196
|
+
"resolved": "https://registry.npmjs.org/@salesforce/metadata-enrichment/-/metadata-enrichment-0.0.4.tgz",
|
|
4197
|
+
"integrity": "sha512-5NPGDd0vrzxiFvB/OfaGvYyZ+4aIDaiTa7wayTqAlQsvzTKWwf26TEtRGkLFV48uNqLt4/uGC5sDfuXRQlI+uQ==",
|
|
4111
4198
|
"license": "Apache-2.0",
|
|
4112
4199
|
"dependencies": {
|
|
4113
4200
|
"@salesforce/core": "^8.24.0",
|
|
@@ -5511,7 +5598,6 @@
|
|
|
5511
5598
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz",
|
|
5512
5599
|
"integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==",
|
|
5513
5600
|
"license": "MIT",
|
|
5514
|
-
"peer": true,
|
|
5515
5601
|
"dependencies": {
|
|
5516
5602
|
"@types/prop-types": "*",
|
|
5517
5603
|
"csstype": "^3.2.2"
|
|
@@ -9016,6 +9102,21 @@
|
|
|
9016
9102
|
"node": ">=0.8.0"
|
|
9017
9103
|
}
|
|
9018
9104
|
},
|
|
9105
|
+
"node_modules/figures": {
|
|
9106
|
+
"version": "6.1.0",
|
|
9107
|
+
"resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz",
|
|
9108
|
+
"integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==",
|
|
9109
|
+
"license": "MIT",
|
|
9110
|
+
"dependencies": {
|
|
9111
|
+
"is-unicode-supported": "^2.0.0"
|
|
9112
|
+
},
|
|
9113
|
+
"engines": {
|
|
9114
|
+
"node": ">=18"
|
|
9115
|
+
},
|
|
9116
|
+
"funding": {
|
|
9117
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
9118
|
+
}
|
|
9119
|
+
},
|
|
9019
9120
|
"node_modules/file-entry-cache": {
|
|
9020
9121
|
"version": "6.0.1",
|
|
9021
9122
|
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
|
|
@@ -10969,13 +11070,12 @@
|
|
|
10969
11070
|
"license": "MIT"
|
|
10970
11071
|
},
|
|
10971
11072
|
"node_modules/is-unicode-supported": {
|
|
10972
|
-
"version": "
|
|
10973
|
-
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-
|
|
10974
|
-
"integrity": "sha512-
|
|
10975
|
-
"dev": true,
|
|
11073
|
+
"version": "2.1.0",
|
|
11074
|
+
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
|
|
11075
|
+
"integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
|
|
10976
11076
|
"license": "MIT",
|
|
10977
11077
|
"engines": {
|
|
10978
|
-
"node": ">=
|
|
11078
|
+
"node": ">=18"
|
|
10979
11079
|
},
|
|
10980
11080
|
"funding": {
|
|
10981
11081
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
@@ -11814,6 +11914,19 @@
|
|
|
11814
11914
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
11815
11915
|
}
|
|
11816
11916
|
},
|
|
11917
|
+
"node_modules/log-symbols/node_modules/is-unicode-supported": {
|
|
11918
|
+
"version": "0.1.0",
|
|
11919
|
+
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
|
|
11920
|
+
"integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
|
|
11921
|
+
"dev": true,
|
|
11922
|
+
"license": "MIT",
|
|
11923
|
+
"engines": {
|
|
11924
|
+
"node": ">=10"
|
|
11925
|
+
},
|
|
11926
|
+
"funding": {
|
|
11927
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
11928
|
+
}
|
|
11929
|
+
},
|
|
11817
11930
|
"node_modules/loose-envify": {
|
|
11818
11931
|
"version": "1.4.0",
|
|
11819
11932
|
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
package/oclif.lock
CHANGED
|
@@ -1546,6 +1546,19 @@
|
|
|
1546
1546
|
wordwrap "^1.0.0"
|
|
1547
1547
|
wrap-ansi "^7.0.0"
|
|
1548
1548
|
|
|
1549
|
+
"@oclif/multi-stage-output@^0.8.30":
|
|
1550
|
+
version "0.8.30"
|
|
1551
|
+
resolved "https://registry.yarnpkg.com/@oclif/multi-stage-output/-/multi-stage-output-0.8.30.tgz#c95261d669bc466ce06701e26248f49282034a12"
|
|
1552
|
+
integrity sha512-WNEqTdK9GsZGc/yOgm/2drpdTXp7FGDxH3nbWSpMJBJU5CqrWmvoqNqrXZmlVRQHjKCo8qW3hI9FXse5brFVNg==
|
|
1553
|
+
dependencies:
|
|
1554
|
+
"@oclif/core" "^4"
|
|
1555
|
+
"@types/react" "^18.3.12"
|
|
1556
|
+
cli-spinners "^2"
|
|
1557
|
+
figures "^6.1.0"
|
|
1558
|
+
ink "5.0.1"
|
|
1559
|
+
react "^18.3.1"
|
|
1560
|
+
wrap-ansi "^9.0.2"
|
|
1561
|
+
|
|
1549
1562
|
"@oclif/plugin-command-snapshot@^5.3.8":
|
|
1550
1563
|
version "5.3.8"
|
|
1551
1564
|
resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-5.3.8.tgz#b952a270bfdfaea941f244363c4bcf781398d9b9"
|
|
@@ -1590,7 +1603,7 @@
|
|
|
1590
1603
|
lodash "^4.17.23"
|
|
1591
1604
|
registry-auth-token "^5.1.1"
|
|
1592
1605
|
|
|
1593
|
-
"@oclif/table@^0.5.0":
|
|
1606
|
+
"@oclif/table@^0.5.0", "@oclif/table@^0.5.1":
|
|
1594
1607
|
version "0.5.2"
|
|
1595
1608
|
resolved "https://registry.yarnpkg.com/@oclif/table/-/table-0.5.2.tgz#ddedab03c61086050dd10047cb05dcea6893839c"
|
|
1596
1609
|
integrity sha512-7QnG9tqVEDqRbCZGvCU1uueoLWdiSVqFmslOfEpEW++XkqLi8hKu3TX6J22yqrvgCwx9CnNeAkaOD2UZ9NoWKw==
|
|
@@ -1726,10 +1739,10 @@
|
|
|
1726
1739
|
dependencies:
|
|
1727
1740
|
"@salesforce/ts-types" "^2.0.12"
|
|
1728
1741
|
|
|
1729
|
-
"@salesforce/metadata-enrichment@^0.0.
|
|
1730
|
-
version "0.0.
|
|
1731
|
-
resolved "https://registry.yarnpkg.com/@salesforce/metadata-enrichment/-/metadata-enrichment-0.0.
|
|
1732
|
-
integrity sha512-
|
|
1742
|
+
"@salesforce/metadata-enrichment@^0.0.4":
|
|
1743
|
+
version "0.0.4"
|
|
1744
|
+
resolved "https://registry.yarnpkg.com/@salesforce/metadata-enrichment/-/metadata-enrichment-0.0.4.tgz#542b2d49ef844c802942c252f602f3aed232c6ad"
|
|
1745
|
+
integrity sha512-5NPGDd0vrzxiFvB/OfaGvYyZ+4aIDaiTa7wayTqAlQsvzTKWwf26TEtRGkLFV48uNqLt4/uGC5sDfuXRQlI+uQ==
|
|
1733
1746
|
dependencies:
|
|
1734
1747
|
"@salesforce/core" "^8.24.0"
|
|
1735
1748
|
"@salesforce/kit" "^3.2.4"
|
|
@@ -3468,7 +3481,7 @@ cli-progress@^3.12.0:
|
|
|
3468
3481
|
dependencies:
|
|
3469
3482
|
string-width "^4.2.3"
|
|
3470
3483
|
|
|
3471
|
-
cli-spinners@^2.9.2:
|
|
3484
|
+
cli-spinners@^2, cli-spinners@^2.9.2:
|
|
3472
3485
|
version "2.9.2"
|
|
3473
3486
|
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41"
|
|
3474
3487
|
integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==
|
|
@@ -4522,6 +4535,13 @@ fdir@^6.5.0:
|
|
|
4522
4535
|
resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350"
|
|
4523
4536
|
integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==
|
|
4524
4537
|
|
|
4538
|
+
figures@^6.1.0:
|
|
4539
|
+
version "6.1.0"
|
|
4540
|
+
resolved "https://registry.yarnpkg.com/figures/-/figures-6.1.0.tgz#935479f51865fa7479f6fa94fc6fc7ac14e62c4a"
|
|
4541
|
+
integrity sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==
|
|
4542
|
+
dependencies:
|
|
4543
|
+
is-unicode-supported "^2.0.0"
|
|
4544
|
+
|
|
4525
4545
|
file-entry-cache@^6.0.1:
|
|
4526
4546
|
version "6.0.1"
|
|
4527
4547
|
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
|
|
@@ -5584,6 +5604,11 @@ is-unicode-supported@^0.1.0:
|
|
|
5584
5604
|
resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
|
|
5585
5605
|
integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
|
|
5586
5606
|
|
|
5607
|
+
is-unicode-supported@^2.0.0:
|
|
5608
|
+
version "2.1.0"
|
|
5609
|
+
resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz#09f0ab0de6d3744d48d265ebb98f65d11f2a9b3a"
|
|
5610
|
+
integrity sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==
|
|
5611
|
+
|
|
5587
5612
|
is-weakmap@^2.0.2:
|
|
5588
5613
|
version "2.0.2"
|
|
5589
5614
|
resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd"
|
|
@@ -7913,7 +7938,16 @@ stop-iteration-iterator@^1.1.0:
|
|
|
7913
7938
|
es-errors "^1.3.0"
|
|
7914
7939
|
internal-slot "^1.1.0"
|
|
7915
7940
|
|
|
7916
|
-
"string-width-cjs@npm:string-width@^4.2.0"
|
|
7941
|
+
"string-width-cjs@npm:string-width@^4.2.0":
|
|
7942
|
+
version "4.2.3"
|
|
7943
|
+
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
|
7944
|
+
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
|
7945
|
+
dependencies:
|
|
7946
|
+
emoji-regex "^8.0.0"
|
|
7947
|
+
is-fullwidth-code-point "^3.0.0"
|
|
7948
|
+
strip-ansi "^6.0.1"
|
|
7949
|
+
|
|
7950
|
+
string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
|
|
7917
7951
|
version "4.2.3"
|
|
7918
7952
|
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
|
7919
7953
|
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
|
@@ -7994,7 +8028,14 @@ stringify-entities@^4.0.0:
|
|
|
7994
8028
|
character-entities-html4 "^2.0.0"
|
|
7995
8029
|
character-entities-legacy "^3.0.0"
|
|
7996
8030
|
|
|
7997
|
-
"strip-ansi-cjs@npm:strip-ansi@^6.0.1"
|
|
8031
|
+
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
|
|
8032
|
+
version "6.0.1"
|
|
8033
|
+
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
|
|
8034
|
+
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
|
|
8035
|
+
dependencies:
|
|
8036
|
+
ansi-regex "^5.0.1"
|
|
8037
|
+
|
|
8038
|
+
strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
|
7998
8039
|
version "6.0.1"
|
|
7999
8040
|
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
|
|
8000
8041
|
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
|
|
@@ -8669,7 +8710,7 @@ workerpool@^6.5.1:
|
|
|
8669
8710
|
resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544"
|
|
8670
8711
|
integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==
|
|
8671
8712
|
|
|
8672
|
-
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0"
|
|
8713
|
+
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
|
|
8673
8714
|
version "7.0.0"
|
|
8674
8715
|
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
|
|
8675
8716
|
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
|
|
@@ -8687,6 +8728,15 @@ wrap-ansi@^6.2.0:
|
|
|
8687
8728
|
string-width "^4.1.0"
|
|
8688
8729
|
strip-ansi "^6.0.0"
|
|
8689
8730
|
|
|
8731
|
+
wrap-ansi@^7.0.0:
|
|
8732
|
+
version "7.0.0"
|
|
8733
|
+
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
|
|
8734
|
+
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
|
|
8735
|
+
dependencies:
|
|
8736
|
+
ansi-styles "^4.0.0"
|
|
8737
|
+
string-width "^4.1.0"
|
|
8738
|
+
strip-ansi "^6.0.0"
|
|
8739
|
+
|
|
8690
8740
|
wrap-ansi@^8.1.0:
|
|
8691
8741
|
version "8.1.0"
|
|
8692
8742
|
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
|
package/oclif.manifest.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"metadata:enrich": {
|
|
4
4
|
"aliases": [],
|
|
5
5
|
"args": {},
|
|
6
|
-
"description": "Use this command to add AI-generated descriptions right in the metadata source files in your local DX project. These enriched descriptions succinctly outline the metadata component’s purpose and capabilities, which in turn provide context when vibe coding with an AI tool, such as Agentforce Vibes.\n\nThis command updates only the local metadata source files in your DX project; it doesn't change the components in your org. If you want the AI-generated descriptions in your org, then you must explicitly deploy the updated metadata components to your org by using, for example, the \"project deploy start\" CLI command.\n\nTo enrich multiple metadata components, specify multiple --metadata <name> flags. Enclose names that contain spaces in double quotes.\n\nEven though this command updates only local files in your DX project, you're still required to authorize and specify an org, which is how the command accesses a large language model (LLM).\n\nCurrently, this command supports enriching only Lightning Web Components, represented by the LightningComponentBundle metadata type.",
|
|
6
|
+
"description": "Use this command to add AI-generated descriptions right in the metadata source files in your local DX project. These enriched descriptions succinctly outline the metadata component’s purpose and capabilities, which in turn provide context when vibe coding with an AI tool, such as Agentforce Vibes.\n\nThis command updates only the local metadata source files in your DX project; it doesn't change the components in your org. If you want the AI-generated descriptions in your org, then you must explicitly deploy the updated metadata components to your org by using, for example, the \"project deploy start\" CLI command.\n\nTo enrich multiple metadata components, specify multiple --metadata <name> flags. Enclose names that contain spaces in double quotes.\n\nEven though this command updates only local files in your DX project, you're still required to authorize and specify an org, which is how the command accesses a large language model (LLM).\n\nCurrently, this command supports enriching only Lightning Web Components, represented by the LightningComponentBundle metadata type.\n\nYour org must be eligible for metadata enrichment. Your Salesforce admin can help with that.",
|
|
7
7
|
"examples": [
|
|
8
8
|
"Enrich the \"HelloWorld\" LightningComponentBundle metadata component in the local DX project; use your default org:\n<%= config.bin %> <%= command.id %> --metadata LightningComponentBundle:HelloWorld",
|
|
9
9
|
"Enrich the \"HelloWorld\" LightningComponentBundle metadata component and use the org with alias \"my-org\":\n<%= config.bin %> <%= command.id %> --metadata LightningComponentBundle:HelloWorld --target-org my-org",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"pluginAlias": "@salesforce/plugin-metadata-enrichment",
|
|
54
54
|
"pluginName": "@salesforce/plugin-metadata-enrichment",
|
|
55
55
|
"pluginType": "core",
|
|
56
|
+
"state": "preview",
|
|
56
57
|
"strict": true,
|
|
57
58
|
"summary": "Enrich metadata components in your DX project by adding AI-generated descriptions.",
|
|
58
59
|
"enableJsonFlag": true,
|
|
@@ -70,5 +71,5 @@
|
|
|
70
71
|
]
|
|
71
72
|
}
|
|
72
73
|
},
|
|
73
|
-
"version": "0.0.
|
|
74
|
+
"version": "0.0.3"
|
|
74
75
|
}
|
package/package.json
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-metadata-enrichment",
|
|
3
3
|
"description": "A Salesforce CLI plugin to enrich metadata for Salesforce resources",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.3",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"bugs": "https://github.com/forcedotcom/cli/issues",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@oclif/core": "^4",
|
|
9
|
+
"@oclif/multi-stage-output": "^0.8.30",
|
|
10
|
+
"@oclif/table": "^0.5.1",
|
|
9
11
|
"@salesforce/core": "^8.24.0",
|
|
10
12
|
"@salesforce/kit": "^3.2.4",
|
|
11
|
-
"@salesforce/metadata-enrichment": "^0.0.
|
|
13
|
+
"@salesforce/metadata-enrichment": "^0.0.4",
|
|
12
14
|
"@salesforce/sf-plugins-core": "^12",
|
|
13
15
|
"@salesforce/source-deploy-retrieve": "^12.0.1"
|
|
14
16
|
},
|
|
@@ -201,7 +203,7 @@
|
|
|
201
203
|
"exports": "./lib/index.js",
|
|
202
204
|
"type": "module",
|
|
203
205
|
"sfdx": {
|
|
204
|
-
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-metadata-enrichment/0.0.
|
|
205
|
-
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-metadata-enrichment/0.0.
|
|
206
|
+
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-metadata-enrichment/0.0.3.crt",
|
|
207
|
+
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-metadata-enrichment/0.0.3.sig"
|
|
206
208
|
}
|
|
207
209
|
}
|
|
@@ -18,7 +18,10 @@
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
|
-
"required": [
|
|
21
|
+
"required": [
|
|
22
|
+
"count",
|
|
23
|
+
"components"
|
|
24
|
+
],
|
|
22
25
|
"additionalProperties": false
|
|
23
26
|
},
|
|
24
27
|
"fail": {
|
|
@@ -34,7 +37,10 @@
|
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
39
|
},
|
|
37
|
-
"required": [
|
|
40
|
+
"required": [
|
|
41
|
+
"count",
|
|
42
|
+
"components"
|
|
43
|
+
],
|
|
38
44
|
"additionalProperties": false
|
|
39
45
|
},
|
|
40
46
|
"skipped": {
|
|
@@ -50,15 +56,24 @@
|
|
|
50
56
|
}
|
|
51
57
|
}
|
|
52
58
|
},
|
|
53
|
-
"required": [
|
|
59
|
+
"required": [
|
|
60
|
+
"count",
|
|
61
|
+
"components"
|
|
62
|
+
],
|
|
54
63
|
"additionalProperties": false
|
|
55
64
|
},
|
|
56
65
|
"total": {
|
|
57
66
|
"type": "number"
|
|
58
67
|
}
|
|
59
68
|
},
|
|
60
|
-
"required": [
|
|
61
|
-
|
|
69
|
+
"required": [
|
|
70
|
+
"success",
|
|
71
|
+
"fail",
|
|
72
|
+
"skipped",
|
|
73
|
+
"total"
|
|
74
|
+
],
|
|
75
|
+
"additionalProperties": false,
|
|
76
|
+
"description": "A metrics data object for storing the final enrichment results. This includes components that were successfully enriched, failed, or skipped. This metrics object can be used to generate the final console or json output."
|
|
62
77
|
},
|
|
63
78
|
"ComponentEnrichmentStatus": {
|
|
64
79
|
"type": "object",
|
|
@@ -74,7 +89,11 @@
|
|
|
74
89
|
"type": "string"
|
|
75
90
|
}
|
|
76
91
|
},
|
|
77
|
-
"required": [
|
|
92
|
+
"required": [
|
|
93
|
+
"componentName",
|
|
94
|
+
"message",
|
|
95
|
+
"typeName"
|
|
96
|
+
]
|
|
78
97
|
}
|
|
79
98
|
}
|
|
80
|
-
}
|
|
99
|
+
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { type SourceComponent } from '@salesforce/source-deploy-retrieve';
|
|
2
|
-
import type { MetadataTypeAndName } from '@salesforce/metadata-enrichment';
|
|
3
|
-
export declare class ComponentProcessor {
|
|
4
|
-
/**
|
|
5
|
-
*
|
|
6
|
-
* Determine the components to SKIP based on the source components and the metadata entries.
|
|
7
|
-
* This includes:
|
|
8
|
-
* - Input components that do not exist in the source project
|
|
9
|
-
* - Non-LWC components
|
|
10
|
-
* - LWC components that are missing their metadata configuration file
|
|
11
|
-
*
|
|
12
|
-
* @param sourceComponents
|
|
13
|
-
* @param metadataEntries
|
|
14
|
-
* @param projectDir
|
|
15
|
-
* @returns
|
|
16
|
-
*/
|
|
17
|
-
static getComponentsToSkip(sourceComponents: SourceComponent[], metadataEntries: string[], projectDir?: string): Set<MetadataTypeAndName>;
|
|
18
|
-
private static filterComponents;
|
|
19
|
-
private static diffRequestedComponents;
|
|
20
|
-
private static parseRequestedComponents;
|
|
21
|
-
private static getExistingSourceComponentNames;
|
|
22
|
-
private static createSourceComponentMap;
|
|
23
|
-
private static parseMetadataEntry;
|
|
24
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2026, Salesforce, Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { RegistryAccess } from '@salesforce/source-deploy-retrieve';
|
|
17
|
-
export class ComponentProcessor {
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
* Determine the components to SKIP based on the source components and the metadata entries.
|
|
21
|
-
* This includes:
|
|
22
|
-
* - Input components that do not exist in the source project
|
|
23
|
-
* - Non-LWC components
|
|
24
|
-
* - LWC components that are missing their metadata configuration file
|
|
25
|
-
*
|
|
26
|
-
* @param sourceComponents
|
|
27
|
-
* @param metadataEntries
|
|
28
|
-
* @param projectDir
|
|
29
|
-
* @returns
|
|
30
|
-
*/
|
|
31
|
-
static getComponentsToSkip(sourceComponents, metadataEntries, projectDir) {
|
|
32
|
-
const requestedComponents = ComponentProcessor.parseRequestedComponents(metadataEntries, projectDir);
|
|
33
|
-
const missingComponents = ComponentProcessor.diffRequestedComponents(sourceComponents, requestedComponents);
|
|
34
|
-
const filteredComponents = ComponentProcessor.filterComponents(sourceComponents, requestedComponents);
|
|
35
|
-
return new Set([...missingComponents, ...filteredComponents]);
|
|
36
|
-
}
|
|
37
|
-
static filterComponents(sourceComponents, requestedComponents) {
|
|
38
|
-
const sourceComponentMap = ComponentProcessor.createSourceComponentMap(sourceComponents);
|
|
39
|
-
const filteredComponents = new Set();
|
|
40
|
-
for (const requestedComponent of requestedComponents) {
|
|
41
|
-
if (!requestedComponent?.componentName)
|
|
42
|
-
continue;
|
|
43
|
-
const sourceComponent = sourceComponentMap.get(requestedComponent.componentName);
|
|
44
|
-
if (!sourceComponent)
|
|
45
|
-
continue;
|
|
46
|
-
// Filter out non-LWC components
|
|
47
|
-
if (sourceComponent.type?.name !== 'LightningComponentBundle') {
|
|
48
|
-
filteredComponents.add({
|
|
49
|
-
typeName: sourceComponent.type.name,
|
|
50
|
-
componentName: requestedComponent.componentName,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
// Filter out LWC components that are missing the metadata xml file
|
|
54
|
-
else if (sourceComponent.type?.name === 'LightningComponentBundle' && !sourceComponent.xml) {
|
|
55
|
-
filteredComponents.add({
|
|
56
|
-
typeName: sourceComponent.type.name,
|
|
57
|
-
componentName: requestedComponent.componentName,
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return filteredComponents;
|
|
62
|
-
}
|
|
63
|
-
static diffRequestedComponents(sourceComponents, requestedComponents) {
|
|
64
|
-
const existingSourceComponentNames = ComponentProcessor.getExistingSourceComponentNames(sourceComponents);
|
|
65
|
-
const missingComponents = new Set();
|
|
66
|
-
for (const requestedComponent of requestedComponents) {
|
|
67
|
-
if (requestedComponent.componentName && !existingSourceComponentNames.has(requestedComponent.componentName)) {
|
|
68
|
-
missingComponents.add(requestedComponent);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return missingComponents;
|
|
72
|
-
}
|
|
73
|
-
static parseRequestedComponents(metadataEntries, projectDir) {
|
|
74
|
-
const requestedComponents = new Set();
|
|
75
|
-
for (const entry of metadataEntries) {
|
|
76
|
-
const parsed = ComponentProcessor.parseMetadataEntry(entry, projectDir);
|
|
77
|
-
if (!parsed) {
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
// Ignore wildcarded component names
|
|
81
|
-
if (parsed.componentName?.includes('*')) {
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
84
|
-
requestedComponents.add(parsed);
|
|
85
|
-
}
|
|
86
|
-
return requestedComponents;
|
|
87
|
-
}
|
|
88
|
-
static getExistingSourceComponentNames(sourceComponents) {
|
|
89
|
-
const existingSourceComponentNames = new Set();
|
|
90
|
-
for (const component of sourceComponents) {
|
|
91
|
-
const componentName = component.fullName ?? component.name;
|
|
92
|
-
if (componentName) {
|
|
93
|
-
existingSourceComponentNames.add(componentName);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return existingSourceComponentNames;
|
|
97
|
-
}
|
|
98
|
-
static createSourceComponentMap(sourceComponents) {
|
|
99
|
-
const componentMap = new Map();
|
|
100
|
-
for (const component of sourceComponents) {
|
|
101
|
-
const componentName = component.fullName ?? component.name;
|
|
102
|
-
if (componentName) {
|
|
103
|
-
componentMap.set(componentName, component);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return componentMap;
|
|
107
|
-
}
|
|
108
|
-
static parseMetadataEntry(rawEntry, projectDir) {
|
|
109
|
-
try {
|
|
110
|
-
const registry = new RegistryAccess(undefined, projectDir);
|
|
111
|
-
// Split on the first colon, and then join the rest back together to support names that include colons
|
|
112
|
-
const [typeName, ...nameParts] = rawEntry.split(':');
|
|
113
|
-
const type = registry.getTypeByName(typeName.trim());
|
|
114
|
-
if (!type) {
|
|
115
|
-
return null;
|
|
116
|
-
}
|
|
117
|
-
const metadataName = nameParts.length > 0 ? nameParts.join(':').trim() : '*';
|
|
118
|
-
// Return null for wildcards since componentName is required
|
|
119
|
-
if (metadataName === '*') {
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
return {
|
|
123
|
-
typeName: type.name,
|
|
124
|
-
componentName: metadataName,
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
//# sourceMappingURL=componentProcessor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"componentProcessor.js","sourceRoot":"","sources":["../../src/component/componentProcessor.ts"],"names":[],"mappings":"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"}
|
package/lib/component/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { ComponentProcessor } from './componentProcessor.js';
|
package/lib/component/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2026, Salesforce, Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export { ComponentProcessor } from './componentProcessor.js';
|
|
17
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/component/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { SourceComponent } from '@salesforce/source-deploy-retrieve';
|
|
2
|
-
import type { Messages } from '@salesforce/core';
|
|
3
|
-
import { EnrichmentStatus, type EnrichmentRequestRecord, type MetadataTypeAndName } from '@salesforce/metadata-enrichment';
|
|
4
|
-
export declare class EnrichmentRecords {
|
|
5
|
-
readonly recordSet: Set<EnrichmentRequestRecord>;
|
|
6
|
-
private readonly errorMessages;
|
|
7
|
-
constructor(projectSourceComponents: SourceComponent[], errorMessages: Messages<string>);
|
|
8
|
-
addSkippedComponents(componentsToSkip: Set<MetadataTypeAndName>): void;
|
|
9
|
-
updateWithStatus(componentsToUpdate: Set<MetadataTypeAndName>, status: EnrichmentStatus): void;
|
|
10
|
-
updateWithResults(results: EnrichmentRequestRecord[]): void;
|
|
11
|
-
generateSkipReasons(componentsToSkip: Set<MetadataTypeAndName>, projectSourceComponents: SourceComponent[]): void;
|
|
12
|
-
}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2026, Salesforce, Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { EnrichmentStatus, } from '@salesforce/metadata-enrichment';
|
|
17
|
-
export class EnrichmentRecords {
|
|
18
|
-
recordSet;
|
|
19
|
-
errorMessages;
|
|
20
|
-
constructor(projectSourceComponents, errorMessages) {
|
|
21
|
-
this.errorMessages = errorMessages;
|
|
22
|
-
this.recordSet = new Set();
|
|
23
|
-
// Create initial records for all provided source components
|
|
24
|
-
for (const component of projectSourceComponents) {
|
|
25
|
-
const componentName = component.fullName ?? component.name;
|
|
26
|
-
if (componentName && component.type) {
|
|
27
|
-
this.recordSet.add({
|
|
28
|
-
componentName,
|
|
29
|
-
componentType: component.type,
|
|
30
|
-
requestBody: { contentBundles: [], metadataType: 'Generic', maxTokens: 50 },
|
|
31
|
-
response: null,
|
|
32
|
-
message: null,
|
|
33
|
-
status: EnrichmentStatus.NOT_PROCESSED,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
addSkippedComponents(componentsToSkip) {
|
|
39
|
-
for (const component of componentsToSkip) {
|
|
40
|
-
if (!component.componentName)
|
|
41
|
-
continue;
|
|
42
|
-
// Check if record already exists
|
|
43
|
-
const existingRecord = Array.from(this.recordSet).find((r) => r.componentName === component.componentName);
|
|
44
|
-
if (existingRecord)
|
|
45
|
-
continue;
|
|
46
|
-
// Create a new record for the skipped component
|
|
47
|
-
this.recordSet.add({
|
|
48
|
-
componentName: component.componentName,
|
|
49
|
-
componentType: { name: component.typeName },
|
|
50
|
-
requestBody: { contentBundles: [], metadataType: 'Generic', maxTokens: 50 },
|
|
51
|
-
response: null,
|
|
52
|
-
message: null,
|
|
53
|
-
status: EnrichmentStatus.SKIPPED,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
updateWithStatus(componentsToUpdate, status) {
|
|
58
|
-
const componentsToUpdateMap = new Map();
|
|
59
|
-
for (const component of componentsToUpdate) {
|
|
60
|
-
if (component.componentName) {
|
|
61
|
-
componentsToUpdateMap.set(component.componentName, component);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
for (const record of this.recordSet) {
|
|
65
|
-
const componentToUpdate = componentsToUpdateMap.get(record.componentName);
|
|
66
|
-
if (componentToUpdate) {
|
|
67
|
-
record.status = status;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
updateWithResults(results) {
|
|
72
|
-
const resultsMap = new Map(results.map((r) => [r.componentName, r]));
|
|
73
|
-
for (const record of this.recordSet) {
|
|
74
|
-
const processedResult = resultsMap.get(record.componentName);
|
|
75
|
-
if (processedResult) {
|
|
76
|
-
record.requestBody = processedResult.requestBody;
|
|
77
|
-
record.response = processedResult.response;
|
|
78
|
-
if (record.status !== EnrichmentStatus.SKIPPED) {
|
|
79
|
-
record.status = processedResult.response ? EnrichmentStatus.SUCCESS : EnrichmentStatus.FAIL;
|
|
80
|
-
}
|
|
81
|
-
record.message = processedResult.message;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
generateSkipReasons(componentsToSkip, projectSourceComponents) {
|
|
86
|
-
const sourceComponentMap = new Map();
|
|
87
|
-
for (const component of projectSourceComponents) {
|
|
88
|
-
const componentName = component.fullName ?? component.name;
|
|
89
|
-
if (componentName) {
|
|
90
|
-
sourceComponentMap.set(componentName, component);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
for (const skip of componentsToSkip) {
|
|
94
|
-
if (!skip.componentName)
|
|
95
|
-
continue;
|
|
96
|
-
const record = Array.from(this.recordSet).find((r) => r.componentName === skip.componentName);
|
|
97
|
-
if (!record || record.status !== EnrichmentStatus.SKIPPED || record.message)
|
|
98
|
-
continue;
|
|
99
|
-
const sourceComponent = sourceComponentMap.get(skip.componentName);
|
|
100
|
-
let message;
|
|
101
|
-
if (!sourceComponent) {
|
|
102
|
-
message = this.errorMessages.getMessage('errors.component.not.found');
|
|
103
|
-
}
|
|
104
|
-
else if (sourceComponent?.type?.name !== 'LightningComponentBundle') {
|
|
105
|
-
message = this.errorMessages.getMessage('errors.lwc.only');
|
|
106
|
-
}
|
|
107
|
-
else if (sourceComponent?.type?.name === 'LightningComponentBundle' && !sourceComponent.xml) {
|
|
108
|
-
message = this.errorMessages.getMessage('errors.lwc.configuration.not.found');
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
message = this.errorMessages.getMessage('errors.unknown');
|
|
112
|
-
}
|
|
113
|
-
record.message = message;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
//# sourceMappingURL=enrichmentRecords.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enrichmentRecords.js","sourceRoot":"","sources":["../../src/utils/enrichmentRecords.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/index.d.ts
DELETED
package/lib/utils/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2026, Salesforce, Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export { MetricsFormatter } from './metricsFormatter.js';
|
|
17
|
-
export { EnrichmentRecords } from './enrichmentRecords.js';
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
package/lib/utils/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Messages } from '@salesforce/core';
|
|
2
|
-
import type { EnrichmentMetrics } from '@salesforce/metadata-enrichment';
|
|
3
|
-
export declare class MetricsFormatter {
|
|
4
|
-
/**
|
|
5
|
-
* Log the formatted enrichment metrics to the console
|
|
6
|
-
*
|
|
7
|
-
* @param log
|
|
8
|
-
* @param metrics
|
|
9
|
-
* @param metricsMessages
|
|
10
|
-
*/
|
|
11
|
-
static logMetrics(log: (message: string) => void, metrics: EnrichmentMetrics, metricsMessages: Messages<string>): void;
|
|
12
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2026, Salesforce, Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export class MetricsFormatter {
|
|
17
|
-
/**
|
|
18
|
-
* Log the formatted enrichment metrics to the console
|
|
19
|
-
*
|
|
20
|
-
* @param log
|
|
21
|
-
* @param metrics
|
|
22
|
-
* @param metricsMessages
|
|
23
|
-
*/
|
|
24
|
-
static logMetrics(log, metrics, metricsMessages) {
|
|
25
|
-
log('');
|
|
26
|
-
log(metricsMessages.getMessage('metrics.total.count', [metrics.total]));
|
|
27
|
-
log('');
|
|
28
|
-
// Success section
|
|
29
|
-
log(metricsMessages.getMessage('metrics.success.count', [metrics.success.count]));
|
|
30
|
-
if (metrics.success.components.length > 0) {
|
|
31
|
-
for (const component of metrics.success.components) {
|
|
32
|
-
log(` • ${component.typeName}:${component.componentName ?? '*'}`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
log('');
|
|
36
|
-
// Skipped section
|
|
37
|
-
log(metricsMessages.getMessage('metrics.skipped.count', [metrics.skipped.count]));
|
|
38
|
-
if (metrics.skipped.components.length > 0) {
|
|
39
|
-
for (const component of metrics.skipped.components) {
|
|
40
|
-
log(` • ${component.typeName}:${component.componentName ?? '*'}`);
|
|
41
|
-
if (component.message) {
|
|
42
|
-
log(` ` + metricsMessages.getMessage(`metrics.message`, [component.message]));
|
|
43
|
-
log('');
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
log('');
|
|
48
|
-
// Failed section
|
|
49
|
-
log(metricsMessages.getMessage('metrics.fail.count', [metrics.fail.count]));
|
|
50
|
-
if (metrics.fail.components.length > 0) {
|
|
51
|
-
for (const component of metrics.fail.components) {
|
|
52
|
-
log(` • ${component.typeName}:${component.componentName ?? '*'}`);
|
|
53
|
-
if (component.message) {
|
|
54
|
-
log(` ` + metricsMessages.getMessage(`metrics.message`, [component.message]));
|
|
55
|
-
log('');
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
log('');
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=metricsFormatter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metricsFormatter.js","sourceRoot":"","sources":["../../src/utils/metricsFormatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,MAAM,OAAO,gBAAgB;IAC3B;;;;;;OAMG;IACI,MAAM,CAAC,UAAU,CACtB,GAA8B,EAC9B,OAA0B,EAC1B,eAAiC;QAEjC,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,GAAG,CAAC,EAAE,CAAC,CAAC;QAER,kBAAkB;QAClB,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClF,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACnD,GAAG,CAAC,OAAO,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,CAAC;QAER,kBAAkB;QAClB,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClF,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACnD,GAAG,CAAC,OAAO,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC,CAAC;gBACnE,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACjF,GAAG,CAAC,EAAE,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,CAAC;QAER,iBAAiB;QACjB,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChD,GAAG,CAAC,OAAO,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC,CAAC;gBACnE,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACjF,GAAG,CAAC,EAAE,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,CAAC;IACV,CAAC;CACF"}
|