@salesforce/metadata-enrichment 0.0.4 → 0.0.6
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/lib/common/types.d.ts +1 -0
- package/lib/enrichment/constants/api.d.ts +0 -1
- package/lib/enrichment/constants/api.js +0 -1
- package/lib/enrichment/constants/api.js.map +1 -1
- package/lib/enrichment/constants/component.d.ts +9 -0
- package/lib/enrichment/constants/component.js +28 -0
- package/lib/enrichment/constants/component.js.map +1 -0
- package/lib/enrichment/constants/index.d.ts +3 -2
- package/lib/enrichment/constants/index.js +3 -2
- package/lib/enrichment/constants/index.js.map +1 -1
- package/lib/enrichment/constants/mimeTypes.d.ts +1 -1
- package/lib/enrichment/constants/mimeTypes.js +1 -1
- package/lib/enrichment/constants/mimeTypes.js.map +1 -1
- package/lib/enrichment/enrichmentHandler.d.ts +3 -3
- package/lib/enrichment/enrichmentHandler.js +15 -16
- package/lib/enrichment/enrichmentHandler.js.map +1 -1
- package/lib/enrichment/enrichmentMetrics.js +1 -0
- package/lib/enrichment/enrichmentMetrics.js.map +1 -1
- package/lib/enrichment/enrichmentRecords.js +15 -24
- package/lib/enrichment/enrichmentRecords.js.map +1 -1
- package/lib/enrichment/index.d.ts +3 -2
- package/lib/enrichment/index.js +2 -1
- package/lib/enrichment/index.js.map +1 -1
- package/lib/enrichment/types/index.d.ts +1 -1
- package/lib/enrichment/types/responseTypes.d.ts +2 -1
- package/lib/enrichment/validators/index.d.ts +1 -0
- package/lib/enrichment/validators/index.js +17 -0
- package/lib/enrichment/validators/index.js.map +1 -0
- package/lib/enrichment/validators/lwcComponentValidator.d.ts +8 -0
- package/lib/enrichment/validators/lwcComponentValidator.js +26 -0
- package/lib/enrichment/validators/lwcComponentValidator.js.map +1 -0
- package/lib/files/fileProcessor.d.ts +11 -3
- package/lib/files/fileProcessor.js +22 -8
- package/lib/files/fileProcessor.js.map +1 -1
- package/lib/files/index.d.ts +1 -1
- package/lib/files/index.js +1 -1
- package/lib/files/index.js.map +1 -1
- package/lib/files/lwcProcessor.d.ts +7 -7
- package/lib/files/lwcProcessor.js +23 -22
- package/lib/files/lwcProcessor.js.map +1 -1
- package/lib/files/{componentProcessor.d.ts → sourceComponentProcessor.d.ts} +3 -3
- package/lib/files/{componentProcessor.js → sourceComponentProcessor.js} +18 -14
- package/lib/files/sourceComponentProcessor.js.map +1 -0
- package/lib/index.d.ts +3 -3
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/messages/errors.md +20 -4
- package/package.json +1 -1
- package/lib/files/componentProcessor.js.map +0 -1
- package/messages/enrichment.md +0 -15
package/lib/common/types.d.ts
CHANGED
|
@@ -5,4 +5,3 @@ export declare const METADATA_TYPE_LWC = "Lwc";
|
|
|
5
5
|
export declare const METADATA_TYPE_APEX_CLASS = "ApexClass";
|
|
6
6
|
export declare const METADATA_TYPE_FLEXIPAGE = "Flexipage";
|
|
7
7
|
export declare const MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE: Record<string, string>;
|
|
8
|
-
export declare const LWC_METADATA_TYPE_NAME = "LightningComponentBundle";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/enrichment/constants/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,kEAAkE,CAAC;AAE1G,MAAM,CAAC,MAAM,yCAAyC,GAAG,2BAA2B,CAAC;AAErF,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AACvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC;AACnD,MAAM,CAAC,MAAM,0CAA0C,GAA2B;IAC9E,SAAS,EAAE,wBAAwB;IACnC,SAAS,EAAE,uBAAuB;IAClC,wBAAwB,EAAE,iBAAiB;IAC3C,OAAO,EAAE,qBAAqB;CACjC,CAAC
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/enrichment/constants/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,kEAAkE,CAAC;AAE1G,MAAM,CAAC,MAAM,yCAAyC,GAAG,2BAA2B,CAAC;AAErF,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AACvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC;AACnD,MAAM,CAAC,MAAM,0CAA0C,GAA2B;IAC9E,SAAS,EAAE,wBAAwB;IACnC,SAAS,EAAE,uBAAuB;IAClC,wBAAwB,EAAE,iBAAiB;IAC3C,OAAO,EAAE,qBAAqB;CACjC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SourceComponent } from '@salesforce/source-deploy-retrieve';
|
|
2
|
+
export declare const LWC_METADATA_TYPE_NAME = "LightningComponentBundle";
|
|
3
|
+
export declare const SUPPORTED_COMPONENT_TYPES: ReadonlySet<string>;
|
|
4
|
+
/**
|
|
5
|
+
* Maps component type names to a validator function that determines if the component
|
|
6
|
+
* meets the requirements for enrichment processing.
|
|
7
|
+
* Returns true if the component is valid, false if it should be skipped.
|
|
8
|
+
*/
|
|
9
|
+
export declare const COMPONENT_TYPE_VALIDATORS: ReadonlyMap<string, (component: SourceComponent) => boolean>;
|
|
@@ -0,0 +1,28 @@
|
|
|
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 { LwcComponentValidator } from '../validators/index.js';
|
|
17
|
+
export const LWC_METADATA_TYPE_NAME = 'LightningComponentBundle';
|
|
18
|
+
export const SUPPORTED_COMPONENT_TYPES = new Set([LWC_METADATA_TYPE_NAME]);
|
|
19
|
+
/**
|
|
20
|
+
* Maps component type names to a validator function that determines if the component
|
|
21
|
+
* meets the requirements for enrichment processing.
|
|
22
|
+
* Returns true if the component is valid, false if it should be skipped.
|
|
23
|
+
*/
|
|
24
|
+
export const COMPONENT_TYPE_VALIDATORS = new Map([
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
26
|
+
[LWC_METADATA_TYPE_NAME, LwcComponentValidator.validate],
|
|
27
|
+
]);
|
|
28
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/enrichment/constants/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAEjE,MAAM,CAAC,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;AAEhG;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAiE,IAAI,GAAG,CAAC;IAC7G,6DAA6D;IAC7D,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,QAAQ,CAAC;CACzD,CAAC,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER,
|
|
2
|
-
export {
|
|
1
|
+
export { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER, MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE, METADATA_TYPE_GENERIC, METADATA_TYPE_LWC, } from './api.js';
|
|
2
|
+
export { COMPONENT_TYPE_VALIDATORS, LWC_METADATA_TYPE_NAME, SUPPORTED_COMPONENT_TYPES } from './component.js';
|
|
3
|
+
export { SUPPORTED_MIME_TYPES } from './mimeTypes.js';
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER,
|
|
17
|
-
export {
|
|
16
|
+
export { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER, MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE, METADATA_TYPE_GENERIC, METADATA_TYPE_LWC, } from './api.js';
|
|
17
|
+
export { COMPONENT_TYPE_VALIDATORS, LWC_METADATA_TYPE_NAME, SUPPORTED_COMPONENT_TYPES } from './component.js';
|
|
18
|
+
export { SUPPORTED_MIME_TYPES } from './mimeTypes.js';
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enrichment/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,uBAAuB,EACvB,yCAAyC,EACzC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enrichment/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,uBAAuB,EACvB,yCAAyC,EACzC,0CAA0C,EAC1C,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const SUPPORTED_MIME_TYPES: Record<string, string>;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export const
|
|
16
|
+
export const SUPPORTED_MIME_TYPES = {
|
|
17
17
|
'.js': 'application/javascript',
|
|
18
18
|
'.html': 'text/html',
|
|
19
19
|
'.css': 'text/css',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mimeTypes.js","sourceRoot":"","sources":["../../../src/enrichment/constants/mimeTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"mimeTypes.js","sourceRoot":"","sources":["../../../src/enrichment/constants/mimeTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,KAAK,EAAE,wBAAwB;IAC/B,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,eAAe;CACxB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Connection } from '@salesforce/core';
|
|
2
2
|
import type { MetadataType, SourceComponent } from '@salesforce/source-deploy-retrieve';
|
|
3
|
-
import type { EnrichmentRequestBody,
|
|
3
|
+
import type { EnrichmentRequestBody, EnrichMetadataResponse } from './types/index.js';
|
|
4
4
|
export declare enum EnrichmentStatus {
|
|
5
5
|
NOT_PROCESSED = "NOT_PROCESSED",
|
|
6
6
|
SUCCESS = "SUCCESS",
|
|
@@ -11,7 +11,7 @@ export type EnrichmentRequestRecord = {
|
|
|
11
11
|
componentName: string;
|
|
12
12
|
componentType: MetadataType;
|
|
13
13
|
requestBody: EnrichmentRequestBody | null;
|
|
14
|
-
response:
|
|
14
|
+
response: EnrichMetadataResponse | null;
|
|
15
15
|
message: string | null;
|
|
16
16
|
status: EnrichmentStatus;
|
|
17
17
|
};
|
|
@@ -20,7 +20,7 @@ export declare class EnrichmentHandler {
|
|
|
20
20
|
/**
|
|
21
21
|
* Processes and sends metadata enrichment requests for the input source components in the project.
|
|
22
22
|
* Automatically determines the metadata type for enrichment requests based on the source component.
|
|
23
|
-
*
|
|
23
|
+
* Supported component types are defined in SUPPORTED_COMPONENT_TYPES. All other component types are skipped.
|
|
24
24
|
*
|
|
25
25
|
* @param connection Salesforce connection instance
|
|
26
26
|
* @param sourceComponents Array of source components to enrich
|
|
@@ -17,9 +17,9 @@ import { basename, extname } from 'node:path';
|
|
|
17
17
|
import { SfError } from '@salesforce/core';
|
|
18
18
|
import { Messages } from '@salesforce/core/messages';
|
|
19
19
|
import { FileProcessor } from '../files/index.js';
|
|
20
|
-
import { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER,
|
|
20
|
+
import { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER, SUPPORTED_MIME_TYPES, MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE, METADATA_TYPE_GENERIC, SUPPORTED_COMPONENT_TYPES, } from './constants/index.js';
|
|
21
21
|
Messages.importMessagesDirectory(import.meta.dirname);
|
|
22
|
-
const messages = Messages.loadMessages('@salesforce/metadata-enrichment', '
|
|
22
|
+
const messages = Messages.loadMessages('@salesforce/metadata-enrichment', 'errors');
|
|
23
23
|
export var EnrichmentStatus;
|
|
24
24
|
(function (EnrichmentStatus) {
|
|
25
25
|
EnrichmentStatus["NOT_PROCESSED"] = "NOT_PROCESSED";
|
|
@@ -29,34 +29,33 @@ export var EnrichmentStatus;
|
|
|
29
29
|
})(EnrichmentStatus || (EnrichmentStatus = {}));
|
|
30
30
|
export function getMimeTypeFromExtension(filePath) {
|
|
31
31
|
const ext = extname(filePath).toLowerCase();
|
|
32
|
-
return
|
|
32
|
+
return SUPPORTED_MIME_TYPES[ext] || 'application/octet-stream';
|
|
33
33
|
}
|
|
34
34
|
export class EnrichmentHandler {
|
|
35
35
|
/**
|
|
36
36
|
* Processes and sends metadata enrichment requests for the input source components in the project.
|
|
37
37
|
* Automatically determines the metadata type for enrichment requests based on the source component.
|
|
38
|
-
*
|
|
38
|
+
* Supported component types are defined in SUPPORTED_COMPONENT_TYPES. All other component types are skipped.
|
|
39
39
|
*
|
|
40
40
|
* @param connection Salesforce connection instance
|
|
41
41
|
* @param sourceComponents Array of source components to enrich
|
|
42
42
|
* @returns Promise resolving to enrichment request records
|
|
43
43
|
*/
|
|
44
44
|
static async enrich(connection, sourceComponents) {
|
|
45
|
-
|
|
46
|
-
const
|
|
47
|
-
const nonLwcComponents = [];
|
|
45
|
+
const supportedComponents = [];
|
|
46
|
+
const unsupportedComponents = [];
|
|
48
47
|
for (const component of sourceComponents) {
|
|
49
|
-
if (component.type?.name
|
|
50
|
-
|
|
48
|
+
if (SUPPORTED_COMPONENT_TYPES.has(component.type?.name ?? '')) {
|
|
49
|
+
supportedComponents.push(component);
|
|
51
50
|
}
|
|
52
51
|
else {
|
|
53
|
-
|
|
52
|
+
unsupportedComponents.push(component);
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
|
-
const
|
|
57
|
-
const
|
|
58
|
-
const enrichmentResults = await EnrichmentHandler.sendEnrichmentRequests(connection,
|
|
59
|
-
return [...enrichmentResults, ...
|
|
55
|
+
const supportedRecords = await EnrichmentHandler.createEnrichmentRequestRecords(supportedComponents);
|
|
56
|
+
const unsupportedRecords = await EnrichmentHandler.createEnrichmentRequestRecords(unsupportedComponents, EnrichmentStatus.SKIPPED, messages.getMessage('errors.unsupported.type.default'));
|
|
57
|
+
const enrichmentResults = await EnrichmentHandler.sendEnrichmentRequests(connection, supportedRecords);
|
|
58
|
+
return [...enrichmentResults, ...unsupportedRecords];
|
|
60
59
|
}
|
|
61
60
|
static async createEnrichmentRequestRecord(component, status, message) {
|
|
62
61
|
const componentName = component.fullName ?? component.name;
|
|
@@ -67,7 +66,7 @@ export class EnrichmentHandler {
|
|
|
67
66
|
componentType: component.type ?? null,
|
|
68
67
|
requestBody: null,
|
|
69
68
|
response: null,
|
|
70
|
-
message: messages.getMessage('
|
|
69
|
+
message: messages.getMessage('errors.file.read.failed', [componentName]),
|
|
71
70
|
status: EnrichmentStatus.SKIPPED,
|
|
72
71
|
};
|
|
73
72
|
}
|
|
@@ -135,7 +134,7 @@ export class EnrichmentHandler {
|
|
|
135
134
|
}
|
|
136
135
|
catch (error) {
|
|
137
136
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
138
|
-
throw new SfError(messages.getMessage('
|
|
137
|
+
throw new SfError(messages.getMessage('errors.enrichment.request', [record.componentName, errorMessage]));
|
|
139
138
|
}
|
|
140
139
|
}
|
|
141
140
|
static async sendEnrichmentRequests(connection, records) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrichmentHandler.js","sourceRoot":"","sources":["../../src/enrichment/enrichmentHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACL,uBAAuB,EACvB,yCAAyC,EACzC,
|
|
1
|
+
{"version":3,"file":"enrichmentHandler.js","sourceRoot":"","sources":["../../src/enrichment/enrichmentHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,7 @@ export class EnrichmentMetrics {
|
|
|
58
58
|
typeName,
|
|
59
59
|
componentName,
|
|
60
60
|
message: record.message ?? (record.status === EnrichmentStatus.SUCCESS ? '' : 'Enrichment request failed'),
|
|
61
|
+
requestId: record.response?.metadata?.requestId,
|
|
61
62
|
};
|
|
62
63
|
if (record.status === EnrichmentStatus.SUCCESS) {
|
|
63
64
|
metrics.addSuccessComponent(component);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrichmentMetrics.js","sourceRoot":"","sources":["../../src/enrichment/enrichmentMetrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IACrB,OAAO,CAGZ;IACK,IAAI,CAGT;IACK,OAAO,CAGZ;IACK,KAAK,CAAS;IAErB;QACE,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,EAAE;SACf,CAAC;QACF,IAAI,CAAC,IAAI,GAAG;YACV,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,EAAE;SACf,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,EAAE;SACf,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,uBAAuB,CACnC,iBAA4C;QAE5C,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAExC,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;YAE3C,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;YACvC,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1E,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACrD,CAAC;YAED,0DAA0D;YAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAA8B;gBAC3C,QAAQ;gBACR,aAAa;gBACb,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"enrichmentMetrics.js","sourceRoot":"","sources":["../../src/enrichment/enrichmentMetrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,13 @@
|
|
|
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 { Messages } from '@salesforce/core';
|
|
1
|
+
import { Messages } from '@salesforce/core/messages';
|
|
17
2
|
import { EnrichmentStatus } from './enrichmentHandler.js';
|
|
3
|
+
import { COMPONENT_TYPE_VALIDATORS, SUPPORTED_COMPONENT_TYPES } from './constants/component.js';
|
|
4
|
+
Messages.importMessagesDirectory(import.meta.dirname);
|
|
5
|
+
const messages = Messages.loadMessages('@salesforce/metadata-enrichment', 'errors');
|
|
18
6
|
const DEFAULT_REQUEST_BODY = {
|
|
19
7
|
contentBundles: [],
|
|
20
8
|
metadataType: 'Generic',
|
|
21
9
|
maxTokens: 50,
|
|
22
10
|
};
|
|
23
|
-
const ERROR_MESSAGES = Messages.loadMessages('@salesforce/metadata-enrichment', 'errors');
|
|
24
11
|
/**
|
|
25
12
|
* An all-in-one data object used for tracking the enrichment process storing the components,
|
|
26
13
|
* their enrichment request and responses, and their enrichment results.
|
|
@@ -106,18 +93,22 @@ export class EnrichmentRecords {
|
|
|
106
93
|
if (!record || record.status !== EnrichmentStatus.SKIPPED || record.message)
|
|
107
94
|
continue;
|
|
108
95
|
const sourceComponent = sourceComponentMap.get(skip.componentName);
|
|
96
|
+
const componentTypeName = sourceComponent?.type?.name ?? '';
|
|
109
97
|
let message;
|
|
110
98
|
if (!sourceComponent) {
|
|
111
|
-
message =
|
|
112
|
-
}
|
|
113
|
-
else if (sourceComponent?.type?.name !== 'LightningComponentBundle') {
|
|
114
|
-
message = ERROR_MESSAGES.getMessage('errors.lwc.only');
|
|
99
|
+
message = messages.getMessage('errors.component.not.found');
|
|
115
100
|
}
|
|
116
|
-
else if (
|
|
117
|
-
message =
|
|
101
|
+
else if (!SUPPORTED_COMPONENT_TYPES.has(componentTypeName)) {
|
|
102
|
+
message = messages.getMessage('errors.unsupported.type', [componentTypeName]);
|
|
118
103
|
}
|
|
119
104
|
else {
|
|
120
|
-
|
|
105
|
+
const validator = COMPONENT_TYPE_VALIDATORS.get(componentTypeName);
|
|
106
|
+
if (validator && !validator(sourceComponent)) {
|
|
107
|
+
message = messages.getMessage('errors.component.configuration.not.found');
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
message = messages.getMessage('errors.unknown');
|
|
111
|
+
}
|
|
121
112
|
}
|
|
122
113
|
record.message = message;
|
|
123
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrichmentRecords.js","sourceRoot":"","sources":["../../src/enrichment/enrichmentRecords.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"enrichmentRecords.js","sourceRoot":"","sources":["../../src/enrichment/enrichmentRecords.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export type { EnrichmentRequestRecord } from './enrichmentHandler.js';
|
|
2
|
-
export type { ContentBundleFile, ContentBundle, EnrichmentRequestBody, EnrichmentMetadata, EnrichmentResult,
|
|
3
|
-
export { API_ENDPOINT_ENRICHMENT,
|
|
2
|
+
export type { ContentBundleFile, ContentBundle, EnrichmentRequestBody, EnrichmentMetadata, EnrichmentResult, EnrichMetadataResponse, } from './types/index.js';
|
|
3
|
+
export { API_ENDPOINT_ENRICHMENT, SUPPORTED_MIME_TYPES } from './constants/index.js';
|
|
4
4
|
export { getMimeTypeFromExtension, EnrichmentHandler, EnrichmentStatus } from './enrichmentHandler.js';
|
|
5
5
|
export { EnrichmentRecords } from './enrichmentRecords.js';
|
|
6
6
|
export { EnrichmentMetrics } from './enrichmentMetrics.js';
|
|
7
|
+
export { LwcComponentValidator } from './validators/index.js';
|
package/lib/enrichment/index.js
CHANGED
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export { API_ENDPOINT_ENRICHMENT,
|
|
16
|
+
export { API_ENDPOINT_ENRICHMENT, SUPPORTED_MIME_TYPES } from './constants/index.js';
|
|
17
17
|
export { getMimeTypeFromExtension, EnrichmentHandler, EnrichmentStatus } from './enrichmentHandler.js';
|
|
18
18
|
export { EnrichmentRecords } from './enrichmentRecords.js';
|
|
19
19
|
export { EnrichmentMetrics } from './enrichmentMetrics.js';
|
|
20
|
+
export { LwcComponentValidator } from './validators/index.js';
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enrichment/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,OAAO,EAAE,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enrichment/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export type { ContentBundleFile, ContentBundle, EnrichmentRequestBody, } from './requestTypes.js';
|
|
2
|
-
export type { EnrichmentMetadata, EnrichmentResult,
|
|
2
|
+
export type { EnrichmentMetadata, EnrichmentResult, EnrichMetadataResponse, } from './responseTypes.js';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export type EnrichmentMetadata = {
|
|
2
2
|
durationMs: number;
|
|
3
3
|
failureCount: number;
|
|
4
|
+
requestId?: string;
|
|
4
5
|
successCount: number;
|
|
5
6
|
timestamp: string;
|
|
6
7
|
};
|
|
@@ -12,7 +13,7 @@ export type EnrichmentResult = {
|
|
|
12
13
|
description: string;
|
|
13
14
|
descriptionScore: number;
|
|
14
15
|
};
|
|
15
|
-
export type
|
|
16
|
+
export type EnrichMetadataResponse = {
|
|
16
17
|
metadata: EnrichmentMetadata;
|
|
17
18
|
results: EnrichmentResult[];
|
|
18
19
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { LwcComponentValidator } from './lwcComponentValidator.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
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 { LwcComponentValidator } from './lwcComponentValidator.js';
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enrichment/validators/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SourceComponent } from '@salesforce/source-deploy-retrieve';
|
|
2
|
+
/**
|
|
3
|
+
* Validator for LWC - "LightningComponentBundle" source components processing
|
|
4
|
+
* Validates that a corresponding metadata XML file exists
|
|
5
|
+
*/
|
|
6
|
+
export declare class LwcComponentValidator {
|
|
7
|
+
static validate(this: void, component: SourceComponent): boolean;
|
|
8
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
/**
|
|
17
|
+
* Validator for LWC - "LightningComponentBundle" source components processing
|
|
18
|
+
* Validates that a corresponding metadata XML file exists
|
|
19
|
+
*/
|
|
20
|
+
export class LwcComponentValidator {
|
|
21
|
+
static validate(component) {
|
|
22
|
+
const hasMetadataFile = (component.xml !== undefined);
|
|
23
|
+
return hasMetadataFile;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=lwcComponentValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lwcComponentValidator.js","sourceRoot":"","sources":["../../../src/enrichment/validators/lwcComponentValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IACzB,MAAM,CAAC,QAAQ,CAAa,SAA0B;QAC3D,MAAM,eAAe,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QACtD,OAAO,eAAe,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -6,14 +6,22 @@ export type FileReadResult = {
|
|
|
6
6
|
fileContents: string;
|
|
7
7
|
mimeType: string;
|
|
8
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* Contract for all component-type-specific processors.
|
|
11
|
+
* To add support for a new component type, implement this interface and register
|
|
12
|
+
* the processor in COMPONENT_TYPE_PROCESSOR_MAP below.
|
|
13
|
+
*/
|
|
14
|
+
export type ComponentTypeProcessor = {
|
|
15
|
+
updateMetadata(components: SourceComponent[], enrichmentRecords: Set<EnrichmentRequestRecord>): Promise<Set<EnrichmentRequestRecord>>;
|
|
16
|
+
};
|
|
9
17
|
/**
|
|
10
18
|
* A main entryway for processing file operations for metadata files.
|
|
11
19
|
* This includes reading and writing component files.
|
|
12
|
-
*
|
|
13
|
-
*
|
|
20
|
+
* Supported component types are defined in SUPPORTED_COMPONENT_TYPES and each maps
|
|
21
|
+
* to a dedicated processor in COMPONENT_TYPE_PROCESSOR_MAP.
|
|
14
22
|
*/
|
|
15
23
|
export declare class FileProcessor {
|
|
16
|
-
static
|
|
24
|
+
static updateMetadata(componentsToProcess: SourceComponent[], enrichmentRecords: Set<EnrichmentRequestRecord>): Promise<Set<EnrichmentRequestRecord>>;
|
|
17
25
|
static readComponentFile(componentName: string, filePath: string): Promise<FileReadResult | null>;
|
|
18
26
|
static readComponentFiles(component: SourceComponent): Promise<FileReadResult[]>;
|
|
19
27
|
private static groupComponentsByType;
|
|
@@ -15,22 +15,36 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { readFile } from 'node:fs/promises';
|
|
17
17
|
import { getMimeTypeFromExtension } from '../enrichment/enrichmentHandler.js';
|
|
18
|
+
import { LWC_METADATA_TYPE_NAME, SUPPORTED_COMPONENT_TYPES } from '../enrichment/constants/component.js';
|
|
18
19
|
import { LwcProcessor } from './lwcProcessor.js';
|
|
20
|
+
/**
|
|
21
|
+
* Maps each supported component type to its corresponding processor.
|
|
22
|
+
* Add new entries here when introducing support for additional component types.
|
|
23
|
+
*/
|
|
24
|
+
const COMPONENT_TYPE_PROCESSOR_MAP = new Map([
|
|
25
|
+
[LWC_METADATA_TYPE_NAME, new LwcProcessor()],
|
|
26
|
+
]);
|
|
19
27
|
/**
|
|
20
28
|
* A main entryway for processing file operations for metadata files.
|
|
21
29
|
* This includes reading and writing component files.
|
|
22
|
-
*
|
|
23
|
-
*
|
|
30
|
+
* Supported component types are defined in SUPPORTED_COMPONENT_TYPES and each maps
|
|
31
|
+
* to a dedicated processor in COMPONENT_TYPE_PROCESSOR_MAP.
|
|
24
32
|
*/
|
|
25
33
|
export class FileProcessor {
|
|
26
|
-
static async
|
|
34
|
+
static async updateMetadata(componentsToProcess, enrichmentRecords) {
|
|
27
35
|
const componentsByType = FileProcessor.groupComponentsByType(componentsToProcess);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
for (const [componentType, components] of componentsByType) {
|
|
37
|
+
if (!SUPPORTED_COMPONENT_TYPES.has(componentType)) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
const processor = COMPONENT_TYPE_PROCESSOR_MAP.get(componentType);
|
|
41
|
+
if (!processor) {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
// eslint-disable-next-line no-await-in-loop
|
|
45
|
+
enrichmentRecords = await processor.updateMetadata(components, enrichmentRecords);
|
|
32
46
|
}
|
|
33
|
-
return
|
|
47
|
+
return enrichmentRecords;
|
|
34
48
|
}
|
|
35
49
|
static async readComponentFile(componentName, filePath) {
|
|
36
50
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileProcessor.js","sourceRoot":"","sources":["../../src/files/fileProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"fileProcessor.js","sourceRoot":"","sources":["../../src/files/fileProcessor.ts"],"names":[],"mappings":"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"}
|
package/lib/files/index.d.ts
CHANGED
package/lib/files/index.js
CHANGED
|
@@ -13,6 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export {
|
|
16
|
+
export { SourceComponentProcessor } from './sourceComponentProcessor.js';
|
|
17
17
|
export { FileProcessor } from './fileProcessor.js';
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
package/lib/files/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { SourceComponent } from '@salesforce/source-deploy-retrieve';
|
|
2
2
|
import type { EnrichmentRequestRecord } from '../enrichment/enrichmentHandler.js';
|
|
3
3
|
import type { EnrichmentResult } from '../enrichment/types/index.js';
|
|
4
|
-
import type { FileReadResult } from './fileProcessor.js';
|
|
4
|
+
import type { ComponentTypeProcessor, FileReadResult } from './fileProcessor.js';
|
|
5
5
|
/**
|
|
6
6
|
* A LWC specific processor for reading and updating LWC metadata files.
|
|
7
7
|
*/
|
|
8
|
-
export declare class LwcProcessor {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
private
|
|
8
|
+
export declare class LwcProcessor implements ComponentTypeProcessor {
|
|
9
|
+
updateMetadata(lightningComponentBundles: SourceComponent[], enrichmentRecords: Set<EnrichmentRequestRecord>): Promise<Set<EnrichmentRequestRecord>>;
|
|
10
|
+
readComponentFiles(sourceComponents: SourceComponent[]): Promise<FileReadResult[]>;
|
|
11
|
+
updateMetaXml(xmlContent: string, result: EnrichmentResult): string;
|
|
12
|
+
isMetaXmlFile(filePath: string): boolean;
|
|
13
|
+
private isSkipUpliftEnabled;
|
|
14
14
|
}
|
|
@@ -21,27 +21,16 @@ import { XMLParser, XMLBuilder } from 'fast-xml-parser';
|
|
|
21
21
|
import { EnrichmentStatus } from '../enrichment/enrichmentHandler.js';
|
|
22
22
|
import { FileProcessor } from './fileProcessor.js';
|
|
23
23
|
Messages.importMessagesDirectory(import.meta.dirname);
|
|
24
|
-
const messages = Messages.loadMessages('@salesforce/metadata-enrichment', '
|
|
24
|
+
const messages = Messages.loadMessages('@salesforce/metadata-enrichment', 'errors');
|
|
25
25
|
/**
|
|
26
26
|
* A LWC specific processor for reading and updating LWC metadata files.
|
|
27
27
|
*/
|
|
28
|
+
/* eslint-disable class-methods-use-this */
|
|
28
29
|
export class LwcProcessor {
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
for (const component of sourceComponents) {
|
|
32
|
-
const componentName = component.fullName ?? component.name;
|
|
33
|
-
if (!componentName || !component.xml) {
|
|
34
|
-
continue;
|
|
35
|
-
}
|
|
36
|
-
fileReadPromises.push(FileProcessor.readComponentFile(componentName, component.xml));
|
|
37
|
-
}
|
|
38
|
-
const fileResults = await Promise.all(fileReadPromises);
|
|
39
|
-
return fileResults.filter((result) => result !== null);
|
|
40
|
-
}
|
|
41
|
-
static async updateMetadataFiles(lightningComponentBundles, enrichmentRecords) {
|
|
42
|
-
const fileContents = await LwcProcessor.readComponentFiles(lightningComponentBundles);
|
|
30
|
+
async updateMetadata(lightningComponentBundles, enrichmentRecords) {
|
|
31
|
+
const fileContents = await this.readComponentFiles(lightningComponentBundles);
|
|
43
32
|
for (const file of fileContents) {
|
|
44
|
-
if (!
|
|
33
|
+
if (!this.isMetaXmlFile(file.filePath)) {
|
|
45
34
|
continue;
|
|
46
35
|
}
|
|
47
36
|
let enrichmentRecord;
|
|
@@ -59,13 +48,13 @@ export class LwcProcessor {
|
|
|
59
48
|
continue;
|
|
60
49
|
}
|
|
61
50
|
// Check if skipUplift is enabled before processing
|
|
62
|
-
if (
|
|
51
|
+
if (this.isSkipUpliftEnabled(file.fileContents)) {
|
|
63
52
|
enrichmentRecord.message = 'skipUplift is set to true';
|
|
64
53
|
enrichmentRecord.status = EnrichmentStatus.SKIPPED;
|
|
65
54
|
continue;
|
|
66
55
|
}
|
|
67
56
|
try {
|
|
68
|
-
const updatedXml =
|
|
57
|
+
const updatedXml = this.updateMetaXml(file.fileContents, enrichmentResult);
|
|
69
58
|
// eslint-disable-next-line no-await-in-loop
|
|
70
59
|
await writeFile(file.filePath, updatedXml, 'utf-8');
|
|
71
60
|
}
|
|
@@ -76,7 +65,19 @@ export class LwcProcessor {
|
|
|
76
65
|
}
|
|
77
66
|
return enrichmentRecords;
|
|
78
67
|
}
|
|
79
|
-
|
|
68
|
+
async readComponentFiles(sourceComponents) {
|
|
69
|
+
const fileReadPromises = [];
|
|
70
|
+
for (const component of sourceComponents) {
|
|
71
|
+
const componentName = component.fullName ?? component.name;
|
|
72
|
+
if (!componentName || !component.xml) {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
fileReadPromises.push(FileProcessor.readComponentFile(componentName, component.xml));
|
|
76
|
+
}
|
|
77
|
+
const fileResults = await Promise.all(fileReadPromises);
|
|
78
|
+
return fileResults.filter((result) => result !== null);
|
|
79
|
+
}
|
|
80
|
+
updateMetaXml(xmlContent, result) {
|
|
80
81
|
const parser = new XMLParser({
|
|
81
82
|
htmlEntities: true,
|
|
82
83
|
ignoreAttributes: false,
|
|
@@ -102,14 +103,14 @@ export class LwcProcessor {
|
|
|
102
103
|
return builtXml.trim().replace(/\n{3,}/g, '\n\n');
|
|
103
104
|
}
|
|
104
105
|
catch (error) {
|
|
105
|
-
throw new SfError(messages.getMessage('
|
|
106
|
+
throw new SfError(messages.getMessage('errors.parsing.xml', [error instanceof Error ? error.message : String(error)]));
|
|
106
107
|
}
|
|
107
108
|
}
|
|
108
|
-
|
|
109
|
+
isMetaXmlFile(filePath) {
|
|
109
110
|
const fileName = basename(filePath);
|
|
110
111
|
return fileName.endsWith('.js-meta.xml');
|
|
111
112
|
}
|
|
112
|
-
|
|
113
|
+
isSkipUpliftEnabled(xmlContent) {
|
|
113
114
|
try {
|
|
114
115
|
const parser = new XMLParser({ ignoreAttributes: false, preserveOrder: false, trimValues: true });
|
|
115
116
|
const xmlObj = parser.parse(xmlContent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lwcProcessor.js","sourceRoot":"","sources":["../../src/files/lwcProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,iCAAiC,EAAE,
|
|
1
|
+
{"version":3,"file":"lwcProcessor.js","sourceRoot":"","sources":["../../src/files/lwcProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,iCAAiC,EAAE,QAAQ,CAAC,CAAC;AAEpF;;GAEG;AACH,2CAA2C;AAC3C,MAAM,OAAO,YAAY;IAEhB,KAAK,CAAC,cAAc,CACzB,yBAA4C,EAC5C,iBAA+C;QAE/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;QAE9E,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,IAAI,gBAAqD,CAAC;YAC1D,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;gBACvC,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;oBAChD,gBAAgB,GAAG,MAAM,CAAC;oBAC1B,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,MAAM,gBAAgB,GAAiC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YAED,mDAAmD;YACnD,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,gBAAgB,CAAC,OAAO,GAAG,2BAA2B,CAAC;gBACvD,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC;gBACnD,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;gBAC3E,4CAA4C;gBAC5C,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,gBAAgB,CAAC,OAAO,GAAG,YAAY,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,gBAAmC;QACjE,MAAM,gBAAgB,GAA0C,EAAE,CAAC;QAEnE,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC;YAC3D,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACxD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,EAA4B,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IACnF,CAAC;IAEM,aAAa,CAAC,UAAkB,EAAE,MAAwB;QAC/D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;YAC3B,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE,KAAK;YACvB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC;YAC7B,MAAM,EAAE,IAAI;YACZ,gBAAgB,EAAE,KAAK;YACvB,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAQrC,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;gBACrC,MAAM,CAAC,wBAAwB,GAAG,EAAE,CAAC;YACvC,CAAC;YAED,MAAM,CAAC,wBAAwB,CAAC,EAAE,GAAG;gBACnC,UAAU,EAAE,OAAO;gBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;aACvC,CAAC;YAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzH,CAAC;IACH,CAAC;IAEM,aAAa,CAAC,QAAgB;QACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAEO,mBAAmB,CAAC,UAAkB;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAClG,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAErC,CAAC;YAEF,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,EAAE,UAAU,CAAC;YACnE,OAAO,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { type SourceComponent } from '@salesforce/source-deploy-retrieve';
|
|
2
2
|
import type { MetadataTypeAndName } from '../common/types.js';
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class SourceComponentProcessor {
|
|
4
4
|
/**
|
|
5
5
|
*
|
|
6
6
|
* Determine the components to SKIP based on the source components and the metadata entries.
|
|
7
7
|
* This includes:
|
|
8
8
|
* - Input components that do not exist in the source project
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
9
|
+
* - Components of unsupported types (not in SUPPORTED_COMPONENT_TYPES)
|
|
10
|
+
* - Components that fail type-specific validation (e.g., missing metadata configuration file)
|
|
11
11
|
*
|
|
12
12
|
* @param sourceComponents
|
|
13
13
|
* @param metadataEntries
|
|
@@ -14,14 +14,15 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { RegistryAccess } from '@salesforce/source-deploy-retrieve';
|
|
17
|
-
|
|
17
|
+
import { COMPONENT_TYPE_VALIDATORS, SUPPORTED_COMPONENT_TYPES } from '../enrichment/constants/component.js';
|
|
18
|
+
export class SourceComponentProcessor {
|
|
18
19
|
/**
|
|
19
20
|
*
|
|
20
21
|
* Determine the components to SKIP based on the source components and the metadata entries.
|
|
21
22
|
* This includes:
|
|
22
23
|
* - Input components that do not exist in the source project
|
|
23
|
-
* -
|
|
24
|
-
* -
|
|
24
|
+
* - Components of unsupported types (not in SUPPORTED_COMPONENT_TYPES)
|
|
25
|
+
* - Components that fail type-specific validation (e.g., missing metadata configuration file)
|
|
25
26
|
*
|
|
26
27
|
* @param sourceComponents
|
|
27
28
|
* @param metadataEntries
|
|
@@ -29,13 +30,13 @@ export class ComponentProcessor {
|
|
|
29
30
|
* @returns
|
|
30
31
|
*/
|
|
31
32
|
static getComponentsToSkip(sourceComponents, metadataEntries, projectDir) {
|
|
32
|
-
const requestedComponents =
|
|
33
|
-
const missingComponents =
|
|
34
|
-
const filteredComponents =
|
|
33
|
+
const requestedComponents = SourceComponentProcessor.parseRequestedComponents(metadataEntries, projectDir);
|
|
34
|
+
const missingComponents = SourceComponentProcessor.diffRequestedComponents(sourceComponents, requestedComponents);
|
|
35
|
+
const filteredComponents = SourceComponentProcessor.filterComponents(sourceComponents, requestedComponents);
|
|
35
36
|
return new Set([...missingComponents, ...filteredComponents]);
|
|
36
37
|
}
|
|
37
38
|
static filterComponents(sourceComponents, requestedComponents) {
|
|
38
|
-
const sourceComponentMap =
|
|
39
|
+
const sourceComponentMap = SourceComponentProcessor.createSourceComponentMap(sourceComponents);
|
|
39
40
|
const filteredComponents = new Set();
|
|
40
41
|
for (const requestedComponent of requestedComponents) {
|
|
41
42
|
if (!requestedComponent?.componentName)
|
|
@@ -43,15 +44,18 @@ export class ComponentProcessor {
|
|
|
43
44
|
const sourceComponent = sourceComponentMap.get(requestedComponent.componentName);
|
|
44
45
|
if (!sourceComponent)
|
|
45
46
|
continue;
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
const typeName = sourceComponent.type?.name ?? '';
|
|
48
|
+
// Filter out unsupported component types
|
|
49
|
+
if (!SUPPORTED_COMPONENT_TYPES.has(typeName)) {
|
|
48
50
|
filteredComponents.add({
|
|
49
51
|
typeName: sourceComponent.type.name,
|
|
50
52
|
componentName: requestedComponent.componentName,
|
|
51
53
|
});
|
|
54
|
+
continue;
|
|
52
55
|
}
|
|
53
|
-
//
|
|
54
|
-
|
|
56
|
+
// Run type-specific validation
|
|
57
|
+
const validator = COMPONENT_TYPE_VALIDATORS.get(typeName);
|
|
58
|
+
if (validator && !validator(sourceComponent)) {
|
|
55
59
|
filteredComponents.add({
|
|
56
60
|
typeName: sourceComponent.type.name,
|
|
57
61
|
componentName: requestedComponent.componentName,
|
|
@@ -61,7 +65,7 @@ export class ComponentProcessor {
|
|
|
61
65
|
return filteredComponents;
|
|
62
66
|
}
|
|
63
67
|
static diffRequestedComponents(sourceComponents, requestedComponents) {
|
|
64
|
-
const existingSourceComponentNames =
|
|
68
|
+
const existingSourceComponentNames = SourceComponentProcessor.getExistingSourceComponentNames(sourceComponents);
|
|
65
69
|
const missingComponents = new Set();
|
|
66
70
|
for (const requestedComponent of requestedComponents) {
|
|
67
71
|
if (requestedComponent.componentName && !existingSourceComponentNames.has(requestedComponent.componentName)) {
|
|
@@ -73,7 +77,7 @@ export class ComponentProcessor {
|
|
|
73
77
|
static parseRequestedComponents(metadataEntries, projectDir) {
|
|
74
78
|
const requestedComponents = new Set();
|
|
75
79
|
for (const entry of metadataEntries) {
|
|
76
|
-
const parsed =
|
|
80
|
+
const parsed = SourceComponentProcessor.parseMetadataEntry(entry, projectDir);
|
|
77
81
|
if (!parsed) {
|
|
78
82
|
continue;
|
|
79
83
|
}
|
|
@@ -129,4 +133,4 @@ export class ComponentProcessor {
|
|
|
129
133
|
}
|
|
130
134
|
}
|
|
131
135
|
}
|
|
132
|
-
//# sourceMappingURL=
|
|
136
|
+
//# sourceMappingURL=sourceComponentProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sourceComponentProcessor.js","sourceRoot":"","sources":["../../src/files/sourceComponentProcessor.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { SourceComponentProcessor, FileProcessor } from './files/index.js';
|
|
2
2
|
export type { FileReadResult } from './files/index.js';
|
|
3
|
-
export { getMimeTypeFromExtension, API_ENDPOINT_ENRICHMENT,
|
|
4
|
-
export type { ContentBundleFile, ContentBundle, EnrichmentRequestBody, EnrichmentMetadata, EnrichmentResult,
|
|
3
|
+
export { getMimeTypeFromExtension, API_ENDPOINT_ENRICHMENT, SUPPORTED_MIME_TYPES, EnrichmentHandler, EnrichmentMetrics, EnrichmentRecords, EnrichmentStatus, LwcComponentValidator, } from './enrichment/index.js';
|
|
4
|
+
export type { ContentBundleFile, ContentBundle, EnrichmentRequestBody, EnrichmentMetadata, EnrichmentResult, EnrichMetadataResponse, EnrichmentRequestRecord, } from './enrichment/index.js';
|
|
5
5
|
export type { ComponentEnrichmentStatus, MetadataTypeAndName } from './common/index.js';
|
package/lib/index.js
CHANGED
|
@@ -13,6 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export {
|
|
17
|
-
export { getMimeTypeFromExtension, API_ENDPOINT_ENRICHMENT,
|
|
16
|
+
export { SourceComponentProcessor, FileProcessor } from './files/index.js';
|
|
17
|
+
export { getMimeTypeFromExtension, API_ENDPOINT_ENRICHMENT, SUPPORTED_MIME_TYPES, EnrichmentHandler, EnrichmentMetrics, EnrichmentRecords, EnrichmentStatus, LwcComponentValidator, } from './enrichment/index.js';
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG3E,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC"}
|
package/messages/errors.md
CHANGED
|
@@ -2,14 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
Component not found in project.
|
|
4
4
|
|
|
5
|
-
# errors.
|
|
5
|
+
# errors.unsupported.type.default
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This component type is not currently supported for enrichment.
|
|
8
8
|
|
|
9
|
-
# errors.
|
|
9
|
+
# errors.unsupported.type
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Component type '%s' is not currently supported for enrichment.
|
|
12
|
+
|
|
13
|
+
# errors.component.configuration.not.found
|
|
14
|
+
|
|
15
|
+
The component's metadata configuration file doesn't exist.
|
|
16
|
+
|
|
17
|
+
# errors.enrichment.request
|
|
18
|
+
|
|
19
|
+
Error sending request for component %s %s.
|
|
12
20
|
|
|
13
21
|
# errors.unknown
|
|
14
22
|
|
|
15
23
|
An unknown error occurred.
|
|
24
|
+
|
|
25
|
+
# errors.parsing.xml
|
|
26
|
+
|
|
27
|
+
Failed to parse XML: %s.
|
|
28
|
+
|
|
29
|
+
# errors.file.read.failed
|
|
30
|
+
|
|
31
|
+
Failed to read file for component %s.
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"componentProcessor.js","sourceRoot":"","sources":["../../src/files/componentProcessor.ts"],"names":[],"mappings":"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"}
|
package/messages/enrichment.md
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# error.enrichment.request
|
|
2
|
-
|
|
3
|
-
Error sending request for component %s %s.
|
|
4
|
-
|
|
5
|
-
# error.parsing.xml
|
|
6
|
-
|
|
7
|
-
Failed to parse XML: %s.
|
|
8
|
-
|
|
9
|
-
# error.file.read.failed
|
|
10
|
-
|
|
11
|
-
Failed to read file for component %s.
|
|
12
|
-
|
|
13
|
-
# error.enrich.lwc.only
|
|
14
|
-
|
|
15
|
-
Enrichment currently supports only Lightning Web Components, represented by the LightningComponentBundle metadata type.
|