Skip to content

Commit fffaea9

Browse files
committed
fix: allow more undefined from adapters
1 parent 1727cd3 commit fffaea9

File tree

3 files changed

+8
-9
lines changed

3 files changed

+8
-9
lines changed

src/resolve/adapters/baseSourceAdapter.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
66
*/
77
import { basename, dirname, sep } from 'node:path';
8-
import { Messages, SfError } from '@salesforce/core';
8+
import { Lifecycle, Messages, SfError } from '@salesforce/core';
99
import { ensureString } from '@salesforce/ts-types';
1010
import { MetadataXml } from '../types';
1111
import { parseMetadataXml, parseNestedFullName } from '../../utils/path';
1212
import { SourceComponent } from '../sourceComponent';
1313
import { SourcePath } from '../../common/types';
1414
import { MetadataType } from '../../registry/types';
1515
import { RegistryAccess, typeAllowsMetadataWithContent } from '../../registry/registryAccess';
16-
import { FindRootMetadata, GetComponent } from './types';
16+
import { FindRootMetadata, MaybeGetComponent } from './types';
1717

1818
Messages.importMessagesDirectory(__dirname);
1919
const messages = Messages.loadMessages('@salesforce/source-deploy-retrieve', 'sdr');
@@ -76,17 +76,16 @@ export const trimPathToContent =
7676
return pathParts.slice(0, typeFolderIndex + offset).join(sep);
7777
};
7878

79-
export const getComponent: GetComponent =
79+
export const getComponent: MaybeGetComponent =
8080
(context) =>
8181
({ type, path, metadataXml: findRootMetadata = defaultFindRootMetadata }) => {
8282
// find rootMetadata
8383
const metadataXml = typeof findRootMetadata === 'function' ? findRootMetadata(type, path) : findRootMetadata;
8484
if (!metadataXml) {
85-
throw SfError.create({
86-
message: messages.getMessage('error_parsing_xml', [path, type.name]),
87-
name: 'MissingXml',
88-
});
85+
void Lifecycle.getInstance().emitWarning(messages.getMessage('error_parsing_xml', [path, type.name]));
86+
return;
8987
}
88+
9089
if (context.forceIgnore?.denies(metadataXml.path)) {
9190
throw SfError.create({
9291
message: messages.getMessage('error_no_metadata_xml_ignore', [metadataXml.path, path]),

src/resolve/adapters/digitalExperienceSourceAdapter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ export const getDigitalExperienceComponent: MaybeGetComponent =
8181
? ensure(parseMetadataXmlForDEB(context.registry)(type)(metaFilePath))
8282
: ({ path: metaFilePath, fullName: 'foo' } satisfies MetadataXml);
8383
const sourceComponent = getComponent(context)({ type, path, metadataXml: rootMetaXml });
84-
return populate(context)(type)(path, sourceComponent);
84+
return sourceComponent ? populate(context)(type)(path, sourceComponent) : undefined;
8585
};
8686

8787
const getNonDEBRoot = (type: MetadataType, path: SourcePath): SourcePath => {

src/resolve/adapters/matchingContentSourceAdapter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const removeMetaXmlSuffix = (fsPath: SourcePath): SourcePath => fsPath.slice(0,
3838
export const getMatchingContentComponent: GetComponent =
3939
(context) =>
4040
({ type, path }) => {
41-
const sourceComponent = getComponent(context)({ type, path, metadataXml: findRootMetadata });
41+
const sourceComponent = ensure(getComponent(context)({ type, path, metadataXml: findRootMetadata }));
4242
return populate(context)(type)(path, sourceComponent);
4343
};
4444

0 commit comments

Comments
 (0)