@@ -202,8 +202,10 @@ export async function createPackageVersionCreateRequest(
202202 const packageVersTmpRoot = path . join ( os . tmpdir ( ) , uniqueId ) ;
203203 const packageVersMetadataFolder = path . join ( packageVersTmpRoot , 'md-files' ) ;
204204 const seedMetadataFolder = path . join ( packageVersTmpRoot , 'seed-md-files' ) ;
205+ const unpackagedMetadataFolder = path . join ( packageVersTmpRoot , 'unpackaged-md-files' ) ;
205206 const packageVersBlobDirectory = path . join ( packageVersTmpRoot , 'package-version-info' ) ;
206207 const seedMetadataZipFile = path . join ( packageVersBlobDirectory , 'seed-metadata-package.zip' ) ;
208+ const unpackagedMetadataZipFile = path . join ( packageVersBlobDirectory , 'unpackaged-metadata-package.zip' ) ;
207209 const settingsZipFile = path . join ( packageVersBlobDirectory , 'settings.zip' ) ;
208210 const metadataZipFile = path . join ( packageVersBlobDirectory , 'package.zip' ) ;
209211 const packageVersBlobZipFile = path . join ( packageVersTmpRoot , 'package-version-info.zip' ) ;
@@ -241,13 +243,31 @@ export async function createPackageVersionCreateRequest(
241243 await fs . promises . mkdir ( packageVersMetadataFolder , { recursive : true } ) ;
242244
243245 const seedMetadataPath = context . seedmetadata ?? packageDescriptorJson . seedMetadata ?. path ;
246+
244247 const hasSeedMetadata = await new MetadataResolver ( ) . resolveMetadata (
245248 seedMetadataPath ,
246249 seedMetadataFolder ,
247250 'seedMDDirectoryDoesNotExist' ,
248251 apiVersion
249252 ) ;
250253
254+ if ( context . codecoverage ) {
255+ const unpackagedMetadataPath = packageDescriptorJson . unpackagedMetadata ?. path ;
256+ const hasUnpackaged = await new MetadataResolver ( ) . resolveMetadata (
257+ unpackagedMetadataPath ,
258+ unpackagedMetadataFolder ,
259+ 'unpackagedMDDirectoryDoesNotExist' ,
260+ apiVersion
261+ ) ;
262+
263+ if ( hasUnpackaged ) {
264+ Logger . childFromRoot ( 'packageConvert' ) . debug (
265+ `Including unpackaged metadata found in '${ unpackagedMetadataPath ?? '<undefined unpackagedmetadata>' } '.`
266+ ) ;
267+ await pkgUtils . zipDir ( unpackagedMetadataFolder , unpackagedMetadataZipFile ) ;
268+ }
269+ }
270+
251271 if ( hasSeedMetadata ) {
252272 // Zip the seedMetadataFolder folder and put the zip in {packageVersBlobDirectory}/{seedMetadataZipFile}
253273 Logger . childFromRoot ( 'packageConvert:pollForStatusWithInterval' ) . debug (
@@ -295,7 +315,7 @@ function buildPackageDescriptorJson(args: {
295315 ...( base ?? { } ) ,
296316 } ;
297317 if ( packageObject && isPackagingDirectory ( packageObject ) ) {
298- const allowedKeys : Array < keyof PackageDescriptorJson > = [ 'apexTestAccess' , 'seedMetadata' ] ;
318+ const allowedKeys : Array < keyof PackageDescriptorJson > = [ 'apexTestAccess' , 'seedMetadata' , 'unpackagedMetadata' ] ;
299319 for ( const key of allowedKeys ) {
300320 if ( Object . prototype . hasOwnProperty . call ( packageObject , key ) ) {
301321 const value = ( packageObject as unknown as PackageDescriptorJson ) [ key ] ;
0 commit comments