11import * as fs from 'fs' ;
22import * as path from 'path' ;
3+ import { Messages } from '@salesforce/core' ;
34import {
45 ApexAssessmentInfo ,
56 ExperienceSiteAssessmentInfo ,
67 FlexiPageAssessmentInfo ,
78 LWCAssessmentInfo ,
89} from './interfaces' ;
10+ import { Logger } from './logger' ;
911
1012export class generatePackageXml {
1113 // Method to generate package.xml with additional types
@@ -14,8 +16,10 @@ export class generatePackageXml {
1416 lwcAssessmentInfos : LWCAssessmentInfo [ ] ,
1517 experienceSiteAssessmentInfo : ExperienceSiteAssessmentInfo [ ] ,
1618 flexipageAssessmentInfos : FlexiPageAssessmentInfo [ ] ,
17- version : string
19+ version : string ,
20+ messages : Messages
1821 ) : void {
22+ fs . rmSync ( path . join ( process . cwd ( ) , 'package.xml' ) , { force : true } ) ;
1923 const apexXml = generatePackageXml . getXmlElementforMembers ( this . getApexclasses ( apexAssementInfos ) , 'ApexClass' ) ;
2024 const lwcXml = generatePackageXml . getXmlElementforMembers (
2125 this . getLwcs ( lwcAssessmentInfos ) ,
@@ -32,6 +36,11 @@ export class generatePackageXml {
3236 'FlexiPage'
3337 ) ;
3438
39+ if ( ! apexXml && ! lwcXml && ! expsiteXml && ! flexipageXml ) {
40+ Logger . warn ( messages . getMessage ( 'noMetadataToDeploy' ) ) ;
41+ return ;
42+ }
43+
3544 const packageXmlContent = `
3645<?xml version="1.0" encoding="UTF-8"?>
3746<Package xmlns="http://soap.sforce.com/2006/04/metadata">
0 commit comments