@salesforce/metadata-enrichment 0.0.6 → 0.0.8
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/enrichment/constants/api.d.ts +33 -4
- package/lib/enrichment/constants/api.js +37 -9
- package/lib/enrichment/constants/api.js.map +1 -1
- package/lib/enrichment/constants/component.d.ts +4 -9
- package/lib/enrichment/constants/component.js +4 -12
- package/lib/enrichment/constants/component.js.map +1 -1
- package/lib/enrichment/constants/index.d.ts +3 -2
- package/lib/enrichment/constants/index.js +2 -2
- package/lib/enrichment/constants/index.js.map +1 -1
- package/lib/enrichment/constants/mimeTypes.js +7 -3
- package/lib/enrichment/constants/mimeTypes.js.map +1 -1
- package/lib/enrichment/enrichmentHandler.d.ts +5 -16
- package/lib/enrichment/enrichmentHandler.js +6 -13
- package/lib/enrichment/enrichmentHandler.js.map +1 -1
- package/lib/enrichment/enrichmentMetrics.d.ts +1 -1
- package/lib/enrichment/enrichmentMetrics.js +1 -1
- package/lib/enrichment/enrichmentMetrics.js.map +1 -1
- package/lib/enrichment/enrichmentRecords.d.ts +3 -4
- package/lib/enrichment/enrichmentRecords.js +14 -59
- package/lib/enrichment/enrichmentRecords.js.map +1 -1
- package/lib/enrichment/index.d.ts +3 -3
- package/lib/enrichment/index.js +2 -2
- package/lib/enrichment/index.js.map +1 -1
- package/lib/enrichment/types/requestTypes.d.ts +1 -1
- package/lib/files/fileProcessor.d.ts +11 -14
- package/lib/files/fileProcessor.js +109 -29
- package/lib/files/fileProcessor.js.map +1 -1
- package/lib/files/sourceComponentProcessor.d.ts +2 -2
- package/lib/files/sourceComponentProcessor.js +25 -7
- package/lib/files/sourceComponentProcessor.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/schemas/index.d.ts +2 -0
- package/lib/{enrichment/validators → schemas}/index.js +1 -1
- package/lib/schemas/index.js.map +1 -0
- package/lib/schemas/schemas.d.ts +47 -0
- package/lib/schemas/schemas.js +113 -0
- package/lib/schemas/schemas.js.map +1 -0
- package/package.json +5 -5
- package/lib/enrichment/validators/index.d.ts +0 -1
- package/lib/enrichment/validators/index.js.map +0 -1
- package/lib/enrichment/validators/lwcComponentValidator.d.ts +0 -8
- package/lib/enrichment/validators/lwcComponentValidator.js +0 -26
- package/lib/enrichment/validators/lwcComponentValidator.js.map +0 -1
- package/lib/files/lwcProcessor.d.ts +0 -14
- package/lib/files/lwcProcessor.js +0 -125
- package/lib/files/lwcProcessor.js.map +0 -1
|
@@ -1,7 +1,36 @@
|
|
|
1
|
+
import type { MetadataType } from '@salesforce/source-deploy-retrieve';
|
|
2
|
+
import type { MetadataTypeConfig } from '../../schemas/index.js';
|
|
3
|
+
import type { EnrichmentRequestBody, EnrichMetadataResponse } from '../types/index.js';
|
|
4
|
+
export declare enum EnrichmentStatus {
|
|
5
|
+
NOT_PROCESSED = "NOT_PROCESSED",
|
|
6
|
+
SUCCESS = "SUCCESS",
|
|
7
|
+
FAIL = "FAIL",
|
|
8
|
+
SKIPPED = "SKIPPED"
|
|
9
|
+
}
|
|
10
|
+
export type EnrichmentRequestRecord = {
|
|
11
|
+
componentName: string;
|
|
12
|
+
componentType: MetadataType;
|
|
13
|
+
requestBody: EnrichmentRequestBody | null;
|
|
14
|
+
response: EnrichMetadataResponse | null;
|
|
15
|
+
message: string | null;
|
|
16
|
+
status: EnrichmentStatus;
|
|
17
|
+
};
|
|
1
18
|
export declare const API_ENDPOINT_ENRICHMENT = "/services/data/v66.0/metadata-intelligence/enrichments/on-demand";
|
|
2
19
|
export declare const ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER = "X-Chatter-Entity-Encoding";
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
20
|
+
export declare const API_METADATA_TYPE_SALESFORCE_OBJECT = "SalesforceObject";
|
|
21
|
+
export declare const API_METADATA_TYPE_FLEXIPAGE = "FlexiPage";
|
|
22
|
+
export declare const API_METADATA_TYPE_LIGHTNING_TYPE = "LightningType";
|
|
23
|
+
export declare const API_METADATA_TYPE_LWC = "Lwc";
|
|
24
|
+
export declare const API_METADATA_TYPE_GENERIC = "Generic";
|
|
25
|
+
/**
|
|
26
|
+
* Central registry for all supported metadata types.
|
|
27
|
+
*
|
|
28
|
+
* To add support for a new type:
|
|
29
|
+
* 1. Add the source component type name constant to component.ts (SOURCE_COMPONENT_TYPE_NAME_*)
|
|
30
|
+
* 2. Add the Connect API type constant above (API_METADATA_TYPE_*)
|
|
31
|
+
* 3. Add a mapping entry here to connect the source component type name to the Connect API type
|
|
32
|
+
* 4. If the type has a different XML metadata structure, define a new schema in src/schemas/schemas.ts and map it here - otherwise reuse DEFAULT_XML_METADATA_SCHEMA
|
|
33
|
+
*/
|
|
34
|
+
export declare const METADATA_TYPE_CONFIGS: Record<string, MetadataTypeConfig>;
|
|
35
|
+
export declare const SUPPORTED_COMPONENT_TYPES: ReadonlySet<string>;
|
|
7
36
|
export declare const MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE: Record<string, string>;
|
|
@@ -13,16 +13,44 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import { DEFAULT_XML_METADATA_SCHEMA, SALESFORCE_OBJECT_XML_METADATA_SCHEMA } from '../../schemas/index.js';
|
|
17
|
+
import { SOURCE_COMPONENT_TYPE_NAME_SALESFORCE_OBJECT, SOURCE_COMPONENT_TYPE_NAME_FLEXIPAGE, SOURCE_COMPONENT_TYPE_NAME_LIGHTNING_TYPE, SOURCE_COMPONENT_TYPE_NAME_LWC, } from './component.js';
|
|
18
|
+
export var EnrichmentStatus;
|
|
19
|
+
(function (EnrichmentStatus) {
|
|
20
|
+
EnrichmentStatus["NOT_PROCESSED"] = "NOT_PROCESSED";
|
|
21
|
+
EnrichmentStatus["SUCCESS"] = "SUCCESS";
|
|
22
|
+
EnrichmentStatus["FAIL"] = "FAIL";
|
|
23
|
+
EnrichmentStatus["SKIPPED"] = "SKIPPED";
|
|
24
|
+
})(EnrichmentStatus || (EnrichmentStatus = {}));
|
|
16
25
|
export const API_ENDPOINT_ENRICHMENT = '/services/data/v66.0/metadata-intelligence/enrichments/on-demand';
|
|
17
26
|
export const ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER = 'X-Chatter-Entity-Encoding';
|
|
18
|
-
|
|
19
|
-
export const
|
|
20
|
-
export const
|
|
21
|
-
export const
|
|
22
|
-
export const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
// Connect API values for supported metadata types
|
|
28
|
+
export const API_METADATA_TYPE_SALESFORCE_OBJECT = 'SalesforceObject';
|
|
29
|
+
export const API_METADATA_TYPE_FLEXIPAGE = 'FlexiPage';
|
|
30
|
+
export const API_METADATA_TYPE_LIGHTNING_TYPE = 'LightningType';
|
|
31
|
+
export const API_METADATA_TYPE_LWC = 'Lwc';
|
|
32
|
+
export const API_METADATA_TYPE_GENERIC = 'Generic';
|
|
33
|
+
/**
|
|
34
|
+
* Central registry for all supported metadata types.
|
|
35
|
+
*
|
|
36
|
+
* To add support for a new type:
|
|
37
|
+
* 1. Add the source component type name constant to component.ts (SOURCE_COMPONENT_TYPE_NAME_*)
|
|
38
|
+
* 2. Add the Connect API type constant above (API_METADATA_TYPE_*)
|
|
39
|
+
* 3. Add a mapping entry here to connect the source component type name to the Connect API type
|
|
40
|
+
* 4. If the type has a different XML metadata structure, define a new schema in src/schemas/schemas.ts and map it here - otherwise reuse DEFAULT_XML_METADATA_SCHEMA
|
|
41
|
+
*/
|
|
42
|
+
export const METADATA_TYPE_CONFIGS = {
|
|
43
|
+
[SOURCE_COMPONENT_TYPE_NAME_SALESFORCE_OBJECT]: { apiType: API_METADATA_TYPE_SALESFORCE_OBJECT,
|
|
44
|
+
xmlSchema: SALESFORCE_OBJECT_XML_METADATA_SCHEMA },
|
|
45
|
+
[SOURCE_COMPONENT_TYPE_NAME_FLEXIPAGE]: { apiType: API_METADATA_TYPE_FLEXIPAGE,
|
|
46
|
+
xmlSchema: DEFAULT_XML_METADATA_SCHEMA },
|
|
47
|
+
[SOURCE_COMPONENT_TYPE_NAME_LIGHTNING_TYPE]: { apiType: API_METADATA_TYPE_LIGHTNING_TYPE,
|
|
48
|
+
xmlSchema: DEFAULT_XML_METADATA_SCHEMA },
|
|
49
|
+
[SOURCE_COMPONENT_TYPE_NAME_LWC]: {
|
|
50
|
+
apiType: API_METADATA_TYPE_LWC,
|
|
51
|
+
xmlSchema: DEFAULT_XML_METADATA_SCHEMA
|
|
52
|
+
},
|
|
27
53
|
};
|
|
54
|
+
export const SUPPORTED_COMPONENT_TYPES = new Set(Object.keys(METADATA_TYPE_CONFIGS));
|
|
55
|
+
export const MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE = Object.fromEntries(Object.entries(METADATA_TYPE_CONFIGS).map(([sourceType, config]) => [sourceType, config.apiType]));
|
|
28
56
|
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/enrichment/constants/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/enrichment/constants/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,2BAA2B,EAAE,qCAAqC,EAAE,MAAM,wBAAwB,CAAC;AAG5G,OAAO,EACL,4CAA4C,EAC5C,oCAAoC,EACpC,yCAAyC,EACzC,8BAA8B,GAC/B,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,mDAA+B,CAAA;IAC/B,uCAAmB,CAAA;IACnB,iCAAa,CAAA;IACb,uCAAmB,CAAA;AACrB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAWD,MAAM,CAAC,MAAM,uBAAuB,GAAG,kEAAkE,CAAC;AAE1G,MAAM,CAAC,MAAM,yCAAyC,GAAG,2BAA2B,CAAC;AAErF,kDAAkD;AAClD,MAAM,CAAC,MAAM,mCAAmC,GAAG,kBAAkB,CAAC;AACtE,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAAC;AACvD,MAAM,CAAC,MAAM,gCAAgC,GAAG,eAAe,CAAC;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAC3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,SAAS,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAuC;IACvE,CAAC,4CAA4C,CAAC,EAC5C,EAAE,OAAO,EAAE,mCAAmC;QAC5C,SAAS,EAAE,qCAAqC,EAAE;IACtD,CAAC,oCAAoC,CAAC,EACpC,EAAE,OAAO,EAAE,2BAA2B;QACpC,SAAS,EAAE,2BAA2B,EAAE;IAC5C,CAAC,yCAAyC,CAAC,EACzC,EAAE,OAAO,EAAE,gCAAgC;QACzC,SAAS,EAAE,2BAA2B,EAAE;IAC5C,CAAC,8BAA8B,CAAC,EAAE;QAC7B,OAAO,EAAE,qBAAqB;QAC9B,SAAS,EAAE,2BAA2B;KAAE;CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAE1G,MAAM,CAAC,MAAM,0CAA0C,GAA2B,MAAM,CAAC,WAAW,CAClG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAClG,CAAC"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
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>;
|
|
1
|
+
export declare const SOURCE_COMPONENT_TYPE_NAME_SALESFORCE_OBJECT = "SalesforceObject";
|
|
2
|
+
export declare const SOURCE_COMPONENT_TYPE_NAME_FLEXIPAGE = "FlexiPage";
|
|
3
|
+
export declare const SOURCE_COMPONENT_TYPE_NAME_LIGHTNING_TYPE = "LightningType";
|
|
4
|
+
export declare const SOURCE_COMPONENT_TYPE_NAME_LWC = "LightningComponentBundle";
|
|
@@ -13,16 +13,8 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
export const
|
|
18
|
-
export const
|
|
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
|
-
]);
|
|
16
|
+
export const SOURCE_COMPONENT_TYPE_NAME_SALESFORCE_OBJECT = 'SalesforceObject';
|
|
17
|
+
export const SOURCE_COMPONENT_TYPE_NAME_FLEXIPAGE = 'FlexiPage';
|
|
18
|
+
export const SOURCE_COMPONENT_TYPE_NAME_LIGHTNING_TYPE = 'LightningType';
|
|
19
|
+
export const SOURCE_COMPONENT_TYPE_NAME_LWC = 'LightningComponentBundle';
|
|
28
20
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/enrichment/constants/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/enrichment/constants/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,4CAA4C,GAAG,kBAAkB,CAAC;AAC/E,MAAM,CAAC,MAAM,oCAAoC,GAAG,WAAW,CAAC;AAChE,MAAM,CAAC,MAAM,yCAAyC,GAAG,eAAe,CAAC;AACzE,MAAM,CAAC,MAAM,8BAA8B,GAAG,0BAA0B,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER, MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE,
|
|
2
|
-
export {
|
|
1
|
+
export { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER, MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE, API_METADATA_TYPE_SALESFORCE_OBJECT, API_METADATA_TYPE_FLEXIPAGE, API_METADATA_TYPE_LIGHTNING_TYPE, API_METADATA_TYPE_LWC, API_METADATA_TYPE_GENERIC, EnrichmentStatus, SUPPORTED_COMPONENT_TYPES, } from './api.js';
|
|
2
|
+
export type { EnrichmentRequestRecord } from './api.js';
|
|
3
|
+
export { SOURCE_COMPONENT_TYPE_NAME_SALESFORCE_OBJECT, SOURCE_COMPONENT_TYPE_NAME_LWC, } from './component.js';
|
|
3
4
|
export { SUPPORTED_MIME_TYPES } from './mimeTypes.js';
|
|
@@ -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 { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER, MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE,
|
|
17
|
-
export {
|
|
16
|
+
export { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER, MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE, API_METADATA_TYPE_SALESFORCE_OBJECT, API_METADATA_TYPE_FLEXIPAGE, API_METADATA_TYPE_LIGHTNING_TYPE, API_METADATA_TYPE_LWC, API_METADATA_TYPE_GENERIC, EnrichmentStatus, SUPPORTED_COMPONENT_TYPES, } from './api.js';
|
|
17
|
+
export { SOURCE_COMPONENT_TYPE_NAME_SALESFORCE_OBJECT, SOURCE_COMPONENT_TYPE_NAME_LWC, } from './component.js';
|
|
18
18
|
export { SUPPORTED_MIME_TYPES } from './mimeTypes.js';
|
|
19
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,0CAA0C,EAC1C,qBAAqB,EACrB,
|
|
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,mCAAmC,EACnC,2BAA2B,EAC3B,gCAAgC,EAChC,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,4CAA4C,EAC5C,8BAA8B,GAC/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -14,10 +14,14 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
export const SUPPORTED_MIME_TYPES = {
|
|
17
|
-
'.
|
|
18
|
-
'.html': 'text/html',
|
|
17
|
+
'.cls': 'text/plain',
|
|
19
18
|
'.css': 'text/css',
|
|
20
|
-
'.
|
|
19
|
+
'.html': 'text/html',
|
|
20
|
+
'.js': 'application/javascript',
|
|
21
|
+
'.json': 'application/json',
|
|
22
|
+
'.md': 'text/markdown',
|
|
23
|
+
'.txt': 'text/plain',
|
|
21
24
|
'.svg': 'image/svg+xml',
|
|
25
|
+
'.xml': 'application/xml'
|
|
22
26
|
};
|
|
23
27
|
//# sourceMappingURL=mimeTypes.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"mimeTypes.js","sourceRoot":"","sources":["../../../src/enrichment/constants/mimeTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,wBAAwB;IAC/B,OAAO,EAAE,kBAAkB;IAC3B,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,iBAAiB;CAC1B,CAAC"}
|
|
@@ -1,20 +1,9 @@
|
|
|
1
1
|
import type { Connection } from '@salesforce/core';
|
|
2
|
-
import type {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
FAIL = "FAIL",
|
|
8
|
-
SKIPPED = "SKIPPED"
|
|
9
|
-
}
|
|
10
|
-
export type EnrichmentRequestRecord = {
|
|
11
|
-
componentName: string;
|
|
12
|
-
componentType: MetadataType;
|
|
13
|
-
requestBody: EnrichmentRequestBody | null;
|
|
14
|
-
response: EnrichMetadataResponse | null;
|
|
15
|
-
message: string | null;
|
|
16
|
-
status: EnrichmentStatus;
|
|
17
|
-
};
|
|
2
|
+
import type { SourceComponent } from '@salesforce/source-deploy-retrieve';
|
|
3
|
+
import { EnrichmentStatus } from './constants/index.js';
|
|
4
|
+
import type { EnrichmentRequestRecord } from './constants/index.js';
|
|
5
|
+
export { EnrichmentStatus };
|
|
6
|
+
export type { EnrichmentRequestRecord };
|
|
18
7
|
export declare function getMimeTypeFromExtension(filePath: string): string;
|
|
19
8
|
export declare class EnrichmentHandler {
|
|
20
9
|
/**
|
|
@@ -16,17 +16,11 @@
|
|
|
16
16
|
import { basename, extname } from 'node:path';
|
|
17
17
|
import { SfError } from '@salesforce/core';
|
|
18
18
|
import { Messages } from '@salesforce/core/messages';
|
|
19
|
-
import { FileProcessor } from '../files/
|
|
20
|
-
import { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER, SUPPORTED_MIME_TYPES, MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE,
|
|
19
|
+
import { FileProcessor } from '../files/fileProcessor.js';
|
|
20
|
+
import { API_ENDPOINT_ENRICHMENT, ENRICHMENT_REQUEST_ENTITY_ENCODING_HEADER, SUPPORTED_MIME_TYPES, MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE, API_METADATA_TYPE_GENERIC, SUPPORTED_COMPONENT_TYPES, EnrichmentStatus, } from './constants/index.js';
|
|
21
21
|
Messages.importMessagesDirectory(import.meta.dirname);
|
|
22
22
|
const messages = Messages.loadMessages('@salesforce/metadata-enrichment', 'errors');
|
|
23
|
-
export
|
|
24
|
-
(function (EnrichmentStatus) {
|
|
25
|
-
EnrichmentStatus["NOT_PROCESSED"] = "NOT_PROCESSED";
|
|
26
|
-
EnrichmentStatus["SUCCESS"] = "SUCCESS";
|
|
27
|
-
EnrichmentStatus["FAIL"] = "FAIL";
|
|
28
|
-
EnrichmentStatus["SKIPPED"] = "SKIPPED";
|
|
29
|
-
})(EnrichmentStatus || (EnrichmentStatus = {}));
|
|
23
|
+
export { EnrichmentStatus };
|
|
30
24
|
export function getMimeTypeFromExtension(filePath) {
|
|
31
25
|
const ext = extname(filePath).toLowerCase();
|
|
32
26
|
return SUPPORTED_MIME_TYPES[ext] || 'application/octet-stream';
|
|
@@ -71,7 +65,7 @@ export class EnrichmentHandler {
|
|
|
71
65
|
};
|
|
72
66
|
}
|
|
73
67
|
const contentBundle = EnrichmentHandler.createContentBundle(componentName, files);
|
|
74
|
-
const metadataType = MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE[component.type?.name ?? ''] ??
|
|
68
|
+
const metadataType = MAP_SOURCE_COMPONENT_TYPE_TO_METADATA_TYPE[component.type?.name ?? ''] ?? API_METADATA_TYPE_GENERIC;
|
|
75
69
|
const requestBody = EnrichmentHandler.createEnrichmentRequestBody(contentBundle, metadataType);
|
|
76
70
|
return {
|
|
77
71
|
componentName,
|
|
@@ -112,11 +106,10 @@ export class EnrichmentHandler {
|
|
|
112
106
|
files: contentBundleFiles,
|
|
113
107
|
};
|
|
114
108
|
}
|
|
115
|
-
static createEnrichmentRequestBody(contentBundle, metadataType =
|
|
109
|
+
static createEnrichmentRequestBody(contentBundle, metadataType = API_METADATA_TYPE_GENERIC) {
|
|
116
110
|
return {
|
|
117
111
|
contentBundles: [contentBundle],
|
|
118
|
-
metadataType
|
|
119
|
-
maxTokens: 50,
|
|
112
|
+
metadataType
|
|
120
113
|
};
|
|
121
114
|
}
|
|
122
115
|
static async sendEnrichmentRequest(connection, record) {
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"enrichmentHandler.js","sourceRoot":"","sources":["../../src/enrichment/enrichmentHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentEnrichmentStatus } from '../common/types.js';
|
|
2
|
-
import type { EnrichmentRequestRecord } from './
|
|
2
|
+
import type { EnrichmentRequestRecord } from './constants/api.js';
|
|
3
3
|
/**
|
|
4
4
|
* A metrics data object for storing the final enrichment results.
|
|
5
5
|
* This includes components that were successfully enriched, failed, or skipped.
|
|
@@ -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
|
-
import { EnrichmentStatus } from './
|
|
16
|
+
import { EnrichmentStatus } from './constants/api.js';
|
|
17
17
|
/**
|
|
18
18
|
* A metrics data object for storing the final enrichment results.
|
|
19
19
|
* This includes components that were successfully enriched, failed, or skipped.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrichmentMetrics.js","sourceRoot":"","sources":["../../src/enrichment/enrichmentMetrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"enrichmentMetrics.js","sourceRoot":"","sources":["../../src/enrichment/enrichmentMetrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SourceComponent } from '@salesforce/source-deploy-retrieve';
|
|
2
2
|
import type { MetadataTypeAndName } from '../common/types.js';
|
|
3
|
-
import type { EnrichmentRequestRecord } from './
|
|
4
|
-
import { EnrichmentStatus } from './
|
|
3
|
+
import type { EnrichmentRequestRecord } from './constants/api.js';
|
|
4
|
+
import { EnrichmentStatus } from './constants/api.js';
|
|
5
5
|
/**
|
|
6
6
|
* An all-in-one data object used for tracking the enrichment process storing the components,
|
|
7
7
|
* their enrichment request and responses, and their enrichment results.
|
|
@@ -9,8 +9,7 @@ import { EnrichmentStatus } from './enrichmentHandler.js';
|
|
|
9
9
|
export declare class EnrichmentRecords {
|
|
10
10
|
readonly recordSet: Set<EnrichmentRequestRecord>;
|
|
11
11
|
constructor(projectSourceComponents: SourceComponent[]);
|
|
12
|
-
|
|
12
|
+
addRecords(records: Set<EnrichmentRequestRecord>): void;
|
|
13
13
|
updateWithStatus(componentsToUpdate: Set<MetadataTypeAndName>, status: EnrichmentStatus): void;
|
|
14
14
|
updateWithResults(results: EnrichmentRequestRecord[]): void;
|
|
15
|
-
generateSkipReasons(componentsToSkip: Set<MetadataTypeAndName>, projectSourceComponents: SourceComponent[]): void;
|
|
16
15
|
}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import {
|
|
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');
|
|
1
|
+
import { EnrichmentStatus } from './constants/api.js';
|
|
6
2
|
const DEFAULT_REQUEST_BODY = {
|
|
7
3
|
contentBundles: [],
|
|
8
|
-
metadataType: 'Generic'
|
|
9
|
-
maxTokens: 50,
|
|
4
|
+
metadataType: 'Generic'
|
|
10
5
|
};
|
|
11
6
|
/**
|
|
12
7
|
* An all-in-one data object used for tracking the enrichment process storing the components,
|
|
@@ -31,23 +26,18 @@ export class EnrichmentRecords {
|
|
|
31
26
|
}
|
|
32
27
|
}
|
|
33
28
|
}
|
|
34
|
-
|
|
35
|
-
for (const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
requestBody: DEFAULT_REQUEST_BODY,
|
|
47
|
-
response: null,
|
|
48
|
-
message: null,
|
|
49
|
-
status: EnrichmentStatus.SKIPPED,
|
|
50
|
-
});
|
|
29
|
+
addRecords(records) {
|
|
30
|
+
for (const record of records) {
|
|
31
|
+
const existingRecord = Array.from(this.recordSet).find((r) => r.componentName === record.componentName);
|
|
32
|
+
// Upsert the record if it already exists
|
|
33
|
+
// This is so we can preserve attributes like the message
|
|
34
|
+
if (existingRecord) {
|
|
35
|
+
this.recordSet.delete(existingRecord);
|
|
36
|
+
this.recordSet.add(record);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.recordSet.add(record);
|
|
40
|
+
}
|
|
51
41
|
}
|
|
52
42
|
}
|
|
53
43
|
updateWithStatus(componentsToUpdate, status) {
|
|
@@ -78,40 +68,5 @@ export class EnrichmentRecords {
|
|
|
78
68
|
}
|
|
79
69
|
}
|
|
80
70
|
}
|
|
81
|
-
generateSkipReasons(componentsToSkip, projectSourceComponents) {
|
|
82
|
-
const sourceComponentMap = new Map();
|
|
83
|
-
for (const component of projectSourceComponents) {
|
|
84
|
-
const componentName = component.fullName ?? component.name;
|
|
85
|
-
if (componentName) {
|
|
86
|
-
sourceComponentMap.set(componentName, component);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
for (const skip of componentsToSkip) {
|
|
90
|
-
if (!skip.componentName)
|
|
91
|
-
continue;
|
|
92
|
-
const record = Array.from(this.recordSet).find((r) => r.componentName === skip.componentName);
|
|
93
|
-
if (!record || record.status !== EnrichmentStatus.SKIPPED || record.message)
|
|
94
|
-
continue;
|
|
95
|
-
const sourceComponent = sourceComponentMap.get(skip.componentName);
|
|
96
|
-
const componentTypeName = sourceComponent?.type?.name ?? '';
|
|
97
|
-
let message;
|
|
98
|
-
if (!sourceComponent) {
|
|
99
|
-
message = messages.getMessage('errors.component.not.found');
|
|
100
|
-
}
|
|
101
|
-
else if (!SUPPORTED_COMPONENT_TYPES.has(componentTypeName)) {
|
|
102
|
-
message = messages.getMessage('errors.unsupported.type', [componentTypeName]);
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
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
|
-
}
|
|
112
|
-
}
|
|
113
|
-
record.message = message;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
71
|
}
|
|
117
72
|
//# sourceMappingURL=enrichmentRecords.js.map
|
|
@@ -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,7 +1,7 @@
|
|
|
1
|
-
export type { EnrichmentRequestRecord } from './
|
|
1
|
+
export type { EnrichmentRequestRecord } from './constants/api.js';
|
|
2
2
|
export type { ContentBundleFile, ContentBundle, EnrichmentRequestBody, EnrichmentMetadata, EnrichmentResult, EnrichMetadataResponse, } from './types/index.js';
|
|
3
3
|
export { API_ENDPOINT_ENRICHMENT, SUPPORTED_MIME_TYPES } from './constants/index.js';
|
|
4
|
-
export {
|
|
4
|
+
export { EnrichmentStatus } from './constants/api.js';
|
|
5
|
+
export { getMimeTypeFromExtension, EnrichmentHandler } from './enrichmentHandler.js';
|
|
5
6
|
export { EnrichmentRecords } from './enrichmentRecords.js';
|
|
6
7
|
export { EnrichmentMetrics } from './enrichmentMetrics.js';
|
|
7
|
-
export { LwcComponentValidator } from './validators/index.js';
|
package/lib/enrichment/index.js
CHANGED
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
export { API_ENDPOINT_ENRICHMENT, SUPPORTED_MIME_TYPES } from './constants/index.js';
|
|
17
|
-
export {
|
|
17
|
+
export { EnrichmentStatus } from './constants/api.js';
|
|
18
|
+
export { getMimeTypeFromExtension, EnrichmentHandler } from './enrichmentHandler.js';
|
|
18
19
|
export { EnrichmentRecords } from './enrichmentRecords.js';
|
|
19
20
|
export { EnrichmentMetrics } from './enrichmentMetrics.js';
|
|
20
|
-
export { LwcComponentValidator } from './validators/index.js';
|
|
21
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,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
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;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SourceComponent } from '@salesforce/source-deploy-retrieve';
|
|
2
|
-
import type { EnrichmentRequestRecord } from '../enrichment/
|
|
2
|
+
import type { EnrichmentRequestRecord } from '../enrichment/constants/api.js';
|
|
3
|
+
import type { EnrichmentResult } from '../enrichment/types/index.js';
|
|
3
4
|
export type FileReadResult = {
|
|
4
5
|
componentName: string;
|
|
5
6
|
filePath: string;
|
|
@@ -7,22 +8,18 @@ export type FileReadResult = {
|
|
|
7
8
|
mimeType: string;
|
|
8
9
|
};
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
export type ComponentTypeProcessor = {
|
|
15
|
-
updateMetadata(components: SourceComponent[], enrichmentRecords: Set<EnrichmentRequestRecord>): Promise<Set<EnrichmentRequestRecord>>;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* A main entryway for processing file operations for metadata files.
|
|
19
|
-
* This includes reading and writing component files.
|
|
20
|
-
* Supported component types are defined in SUPPORTED_COMPONENT_TYPES and each maps
|
|
21
|
-
* to a dedicated processor in COMPONENT_TYPE_PROCESSOR_MAP.
|
|
11
|
+
* A main entryway for processing metadata file operations
|
|
12
|
+
* with support for reading from and writing to component files.
|
|
13
|
+
* All supported component types write enrichment results to their xml metadata file (component.xml).
|
|
22
14
|
*/
|
|
23
15
|
export declare class FileProcessor {
|
|
24
16
|
static updateMetadata(componentsToProcess: SourceComponent[], enrichmentRecords: Set<EnrichmentRequestRecord>): Promise<Set<EnrichmentRequestRecord>>;
|
|
25
17
|
static readComponentFile(componentName: string, filePath: string): Promise<FileReadResult | null>;
|
|
26
18
|
static readComponentFiles(component: SourceComponent): Promise<FileReadResult[]>;
|
|
27
|
-
|
|
19
|
+
static updateMetaXml(xmlContent: string, result: EnrichmentResult, componentTypeName?: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Checks if the component has opted out of enrichment.
|
|
22
|
+
* Delegates to the per-type XML schema's isSkipUpliftEnabled implementation.
|
|
23
|
+
*/
|
|
24
|
+
private static isSkipUpliftEnabled;
|
|
28
25
|
}
|