UNPKG

@sap/generator-fiori

Version:

Create an SAPUI5 application using SAP Fiori elements or a freestyle approach

1 lines 439 kB
"use strict";exports.id=97,exports.ids=[97],exports.modules={36071:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.AdaptorManager=void 0;const r=a(58012),s=a(14514),o=a(10654),n=a(19871),E=a(58012),c=a(26677),p=a(48226),C=a(81088),l=a(69884);class AdaptorManager{static set logger(e){this._logger=e}static transformToAdaptorState(e){let i;const a=this.adaptors.find((a=>(i=a.transform(e),!!i)));return a?(r.TelemetryHelper.createTelemetryData({AppGenLaunchSource:a.name}),this._logger.debug((0,o.t)("DEBUG_MSG_ADAPTOR_MATCH_FOUND",{adaptorName:a.name}))):this._logger.debug((0,o.t)("DEBUG_MSG_NO_ADAPTOR_MATCH_FOUND")),i}static transformToStepState(e,i){if(!e)return{state:void 0,steps:i};this._logger.debug((0,o.t)("DEBUG_MSG_APP_GEN_LAUNCHED_WITH_DATA",{inputData:JSON.stringify(e)}));const a=this.transformToAdaptorState(e);if(!a)return{state:void 0,steps:i};const r={service:a.service||{},project:a.project||{}};let n;return a.project?.entityConfig?.tableType&&(r.entityRelatedConfig={tableType:a.project?.entityConfig.tableType}),r.service.version=a.service?.edmx?(0,o.getODataVersion)(a.service.edmx):r.service.version,r.service.version&&(a.floorplans=a.floorplans?.filter((e=>s.FloorplanAttributes[e].supportedODataVersion.includes(r.service.version)))),r.service.source||(r.service.capService?.projectPath?r.service.source=l.DatasourceType.capProject:!r.service.servicePath&&r.service.edmx?r.service.source=l.DatasourceType.metadataFile:r.service.edmx?r.service.apiHubConfig?r.service.source=l.DatasourceType.businessHub:r.service.destination||r.service.connectedSystem?.destination||r.service.connectedSystem?.backendSystem?r.service.source=l.DatasourceType.sapSystem:r.service.source=l.DatasourceType.odataServiceUrl:r.service.source=l.DatasourceType.none),a.skipStepKeys&&Array.isArray(a.skipStepKeys)&&(n=[...i],a.skipStepKeys.forEach((e=>{const i=n.findIndex((i=>i.key===e));n.splice(i,1)}))),{state:r,steps:n,floorplans:a.floorplans,promptSettings:a.promptSettings,generatorOptions:a.generatorOptions}}}i.AdaptorManager=AdaptorManager,AdaptorManager.adaptors=[n.CapServiceAdaptor,n.MtaLaunchAdaptor,n.LCAPServiceAdaptor,c.ServiceCenterStoryboardAdaptor,n.AdtAdaptor,p.SapSystemAdaptor,n.StoryboardNoDatasourceAdaptor,C.ServiceGeneratorAdaptor],AdaptorManager._logger=E.DefaultLogger},4420:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.AdtAdaptor=void 0;const r=a(14514),s=a(69884),o=r.ADT_DATA;i.AdtAdaptor=class ADTAdaptor{static isADTData(e){return!(!e.service?.serviceUrl||!e.service?.edmx||e.type!==o)}static transform(e){if(ADTAdaptor.isADTData(e)){const i=e,{origin:a,pathname:o,searchParams:n}=new URL(i.service.serviceUrl);let E;n.has(r.SAP_CLIENT_KEY)&&(E=n.get(r.SAP_CLIENT_KEY),n.delete(r.SAP_CLIENT_KEY));const c=n.toString()?"?"+n.toString():"",p=[...Object.values(r.FloorplanFE),...Object.values(r.FloorplanFF)],C="/$metadata",l=o.includes(C)?o.replace(C,""):o;return{floorplans:p,service:{source:s.DatasourceType.odataServiceUrl,host:a,servicePath:l+c,client:E,annotations:i.annotations,edmx:i.service.edmx,destination:i.service.destination},generatorOptions:{preselectedEntityName:i.entityConfig.mainEntity.entityName},skipStepKeys:[r.STEP_DATASOURCE_AND_SERVICE]}}}}},1874:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.CapServiceAdaptor=void 0;const r=a(58012),s=a(16928),o=a(14514),n=a(69884);i.CapServiceAdaptor=class CapServiceAdaptor{static isCapServiceBAS(e){return"object"==typeof e&&e.path&&e.name&&e.type&&[o.LEGACY_CAP_TYPE_NODE,o.LEGACY_CAP_TYPE_JAVA].includes(e.type)}static transform(e){if(CapServiceAdaptor.isCapServiceBAS(e)){const i=e,a=(0,r.getCapFolderPathsSync)(i.path)?.app;return{floorplans:[o.FloorplanFE.FE_LROP,o.FloorplanFE.FE_WORKLIST,o.FloorplanFE.FE_ALP,o.FloorplanFE.FE_OVP,o.FloorplanFE.FE_FEOP,o.FloorplanFE.FE_FPM,o.FloorplanFF.FF_SIMPLE],service:{capService:{appPath:a,projectPath:i.path,serviceName:i.service,capType:(0,o.capTypeConversion)(i.type)},version:n.OdataVersion.v4},project:{targetFolder:(0,s.join)(i.path,a)}}}}}},53768:function(e,i,a){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(i,"__esModule",{value:!0}),i.LCAPServiceAdaptor=void 0;const s=a(79896),o=r(a(16928)),n=a(14514);i.LCAPServiceAdaptor=class LCAPServiceAdaptor{static isLCAPService(e){return"object"==typeof e&&e.projectName&&"lcap"===e.type&&e.target&&e.service?.edmxPath&&e.service?.name&&e.service?.path&&e.service?.sourcePath}static transform(e){if(LCAPServiceAdaptor.isLCAPService(e)){const i=e;e.serviceEdmxFilePath&&(i.service.edmxPath=(0,s.readFileSync)(e.serviceEdmxFilePath).toString());const{dir:a,name:r}=o.default.parse(i.target);if(i.service.path.endsWith("/")||(i.service.path=`${i.service.path}/`),i.projectId){const e=`${i.projectId}.${i.projectName}`;i.projectName=e.length>70?e.substring(0,70):e}return{floorplans:[n.FloorplanFE.FE_LROP,n.FloorplanFE.FE_FEOP,n.FloorplanFE.FE_FPM],project:{ui5Version:"1.120.13",ui5Theme:"sap_horizon",name:i.projectName,title:i.displayName||i.projectName,description:i.projectDescription??"",targetFolder:i.target,addFlpConfig:!0,sapux:!0,entityConfig:{tableType:"ResponsiveTable"}},service:{edmx:i.service.edmxPath,capService:{appPath:r,projectPath:a,serviceName:i.service.name,capType:n.CAP_RUNTIME.NODE_JS,serviceCdsPath:i.service.sourcePath.replace(/.csn$|.cds$/,"")},servicePath:i.service.path},generatorOptions:{showLayoutPrompts:!1},skipStepKeys:[n.STEP_DATASOURCE_AND_SERVICE,n.STEP_PROJECT_ATTRIBUTES,n.STEP_FLP_CONFIG]}}}}},6522:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.MtaLaunchAdaptor=void 0;const r=a(16928);i.MtaLaunchAdaptor=class MtaLaunchAdaptor{static isMtaLaunchBAS(e){return"object"==typeof e&&e.mtaFilePath}static transform(e){if(MtaLaunchAdaptor.isMtaLaunchBAS(e)){const i=e;return{project:{targetFolder:(0,r.extname)(i.mtaFilePath||"")?(0,r.dirname)(i.mtaFilePath):i.mtaFilePath}}}}}},26677:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.ServiceCenterStoryboardAdaptor=void 0;const r=a(35685),s=a(79896),o=a(14514),n=a(69884);i.ServiceCenterStoryboardAdaptor=class ServiceCenterStoryboardAdaptor{static isServiceConnectivityData(e){if(!e.serviceConnectivityData)return!1;const i=e.serviceConnectivityData;return!!(i.providerSystem?.name&&i.providerSystem?.url&&i.metadata?.odataContent&&i.relativeURL)}static transform(e){if(ServiceCenterStoryboardAdaptor.isServiceConnectivityData(e)){const i=e,a=i.serviceConnectivityData;e.odataContentPath&&(a.metadata.odataContent=(0,s.readFileSync)(e.odataContentPath,"utf-8").toString()),"SAMLAssertion"===a.providerSystem.authenticationType&&a.providerSystem.url.includes("-api")&&(a.providerSystem.url=a.providerSystem.url.replace(/-api/,""));const{origin:E,pathname:c,searchParams:p}=a.relativeURL.match(/^\/$|^$/)?new URL(a.providerSystem.url):new URL(a.relativeURL,a.providerSystem.url);let C;p.has(o.SAP_CLIENT_KEY)&&(C=p.get(o.SAP_CLIENT_KEY),p.delete(o.SAP_CLIENT_KEY));const l=p.toString()?"?"+p.toString():"";let h,I;if(a.metadata.annotations?.[0]){const e=a.metadata.annotations[0];h=[{Definitions:e.data,TechnicalName:e.technicalName,Uri:e.src,Version:e.version}]}[r.ProviderType.ApiHub,r.ProviderType.ApiHubEnt].includes(a.providerType)&&(I={apiHubKey:a.apiHubKey,apiHubType:a.providerType===r.ProviderType.ApiHub?"API_HUB":"API_HUB_ENTERPRISE"});let f=[...Object.values(o.FloorplanFE),...Object.values(o.FloorplanFF)];i.excludeFloorplans&&(f=f.filter((e=>!i.excludeFloorplans.includes(e))));const d={floorplans:f,service:{source:I?n.DatasourceType.businessHub:n.DatasourceType.sapSystem,host:E,servicePath:c+l,client:C,destination:I?void 0:a.providerSystem.name,destinationAuthType:"API_HUB"===I?.apiHubType?void 0:a.providerSystem.authenticationType,annotations:h,edmx:a.metadata.odataContent,apiHubConfig:I},skipStepKeys:[o.STEP_DATASOURCE_AND_SERVICE]};if(i.targetPath||i.projectName){Object.assign(d,{project:{},promptSettings:{}}),Object.assign(d.project,i.targetPath?{targetFolder:i.targetPath}:void 0,i.projectName?{name:i.projectName}:void 0);const e={name:{hide:!!i.projectName},targetFolder:{hide:!!i.targetPath}};d.promptSettings=e,d.generatorOptions={writeLaunchConfigstoAppOnly:!0}}return d}}}},19871:function(e,i,a){var r=this&&this.__createBinding||(Object.create?function(e,i,a,r){void 0===r&&(r=a);var s=Object.getOwnPropertyDescriptor(i,a);s&&!("get"in s?!i.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return i[a]}}),Object.defineProperty(e,r,s)}:function(e,i,a,r){void 0===r&&(r=a),e[r]=i[a]}),s=this&&this.__exportStar||function(e,i){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(i,a)||r(i,e,a)};Object.defineProperty(i,"__esModule",{value:!0}),s(a(1874),i),s(a(6522),i),s(a(53768),i),s(a(26677),i),s(a(4420),i),s(a(39438),i),s(a(36071),i),s(a(48226),i),s(a(81088),i)},48226:(e,i,a)=>{var r;Object.defineProperty(i,"__esModule",{value:!0}),i.SapSystemAdaptor=void 0;const s=a(14514),o=s.SAP_SYSTEMS_DATA;i.SapSystemAdaptor=((r=class SAPSystemAdaptor{static isSapSystemData(e){return!("object"!=typeof e||!e.systemName||e.type!==o)}static transform(e){if(r.isSapSystemData(e)){const i=e;return{floorplans:r.floorplans,promptSettings:{systemSelection:{defaultChoice:i.systemName}}}}}}).floorplans=[...Object.values(s.FloorplanFE),...Object.values(s.FloorplanFF)],r)},81088:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.ServiceGeneratorAdaptor=void 0;const r=a(14514),s=a(69884);i.ServiceGeneratorAdaptor=class ServiceGeneratorAdaptor{static isServiceGeneratorData(e){return!(!e.system&&!e.service)&&!!("SERVICE_GEN_DATA"===e.type&&e.system&&e.service?.url&&e.service.metadata)}static transform(e){if(ServiceGeneratorAdaptor.isServiceGeneratorData(e)){const i=e,a={service:{source:s.DatasourceType.sapSystem,host:i.system.url,servicePath:i.service.url,client:i.system.client,destination:i.system.destination,edmx:i.service.metadata},skipStepKeys:[r.STEP_DATASOURCE_AND_SERVICE]};if(i.project?.targetPath){const e=i.project.targetPath,r=i.project.name;Object.assign(a,{project:{},promptSettings:{}}),Object.assign(a.project,{targetFolder:e},{name:r});const s={name:{hide:!!r},targetFolder:{hide:!!e}};a.promptSettings=s,a.generatorOptions={writeLaunchConfigstoAppOnly:!0}}return a}}}},39438:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.StoryboardNoDatasourceAdaptor=void 0;const r=a(14514);class StoryboardNoDatasourceAdaptor{static isStoryboardNoDatasource(e){if("storyboard"===e.type&&(e.targetPath||e.projectName)&&!Object.hasOwn(e,"serviceConnectivityData"))return!0}static transform(e){if(StoryboardNoDatasourceAdaptor.isStoryboardNoDatasource(e)){const i=e,a={floorplans:[r.FloorplanFF.FF_SIMPLE],skipStepKeys:[r.STEP_DATASOURCE_AND_SERVICE]};Object.assign(a,{project:{},promptSettings:{}}),Object.assign(a.project,i.targetPath?{targetFolder:i.targetPath}:void 0,i.projectName?{name:i.projectName}:void 0);const s={name:{hide:!!i.projectName},targetFolder:{hide:!!i.targetPath}};return a.promptSettings=s,a.generatorOptions={writeLaunchConfigstoAppOnly:!0,showTemplateSelectionStepIfOnlyOne:!0},i.wizardMessage&&(a.generatorOptions.wizardMessage=i.wizardMessage),a}}}i.StoryboardNoDatasourceAdaptor=StoryboardNoDatasourceAdaptor},64754:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.codeAssistDeps=void 0,i.codeAssistDeps={eslint:"7.32.0","@sap/eslint-plugin-ui5-jsdocs":"2.0.5","@sapui5/ts-types":"1.92.2"}},3249:function(e,i,a){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(i,"__esModule",{value:!0}),i.FioriGenerator=i.APP_GENERATOR_MODULE=void 0;const s=a(73667),o=a(98434),n=a(58012),E=a(2218),c=a(10736),p=a(97133),C=a(57009),l=a(16928),h=r(a(91170)),I=a(14514),f=a(4803),d=a(10654),A=a(1723),S="$fiori-cache";i.APP_GENERATOR_MODULE="@sap/generator-fiori";class FioriGenerator extends h.default{constructor(e,i){super(e,i,{unique:"namespace"}),this.vscode=i.vscode,this.options?.appWizard&&!this.options.appWizard[S]&&(this.options.appWizard[S]={}),FioriGenerator._logger=this.options.logWrapper??n.DefaultLogger}static get logger(){return FioriGenerator._logger}isInternal(){return(0,o.isInternalFeaturesSettingEnabled)()}async initializing(){if(await(0,c.initTelemetrySettings)({consumerModule:{name:i.APP_GENERATOR_MODULE,version:this.rootGeneratorVersion()},internalFeature:this.isInternal(),watchTelemetrySettingStore:!1}),this.promptFn=this.prompt.bind(this),n.TelemetryHelper.createTelemetryData({...this.options.telemetryData}),!this.state.project?.ui5Version){const e={useCache:!0};(0,p.getUI5Versions)(e)}}addToCache(e){this.logIfCacheMissing(),this.options?.appWizard?.[S]&&Object.assign(this.options.appWizard[S],e)}getFromCache(e){return this.logIfCacheMissing(),this.options?.appWizard?.[S]?.[e]}deleteCache(){this.logIfCacheMissing(),this.options?.appWizard?.[S]&&delete this.options.appWizard[S]}logIfCacheMissing(){this.options?.appWizard?.[S]||FioriGenerator.logger.info((0,d.t)("WARNING_CACHING_NOT_SUPPORTED"))}async runPostGenHooks({projectPath:e}){await(0,d.runHooks)("app-generated",{hookParameters:{fsPath:e},vscodeInstance:this.vscode,options:this.options})}async _install(e=!1){let i;if(this.state?.service?.capService){const a=this.state.project.enableNPMWorkspaces||this.state.service.capService.capCdsInfo?.hasCdsUi5Plugin;i=Object.assign({codeAssist:this.state.project?.enableCodeAssist,rootPath:this.state.service.capService.projectPath,depsInstallPath:a?(0,l.join)(this.state.project.targetFolder,this.state.project.name):this.state.service.capService.projectPath,useWorkspaces:a},e?{ui5Version:this.state.project?.ui5Version}:void 0)}await(0,A.installProjectDependencies)(i?.depsInstallPath||this.destinationRoot(),FioriGenerator.logger,i)}async _end(){const e=(0,d.getPlatform)();if(this.state?.service&&e!==f.PLATFORMS.SBAS){const e=this.state?.service;if(e.connectedSystem?.backendSystem&&e.connectedSystem.backendSystem.newOrUpdated){(await(0,E.getService)({logger:FioriGenerator.logger,entityName:"system"})).write(this.state.service.connectedSystem.backendSystem)}}this.state?.service?.capService&&(0,n.isExtensionInstalled)(this.vscode,f.YUI_EXTENSION_ID,f.YUI_MIN_VER_FILES_GENERATED_MSG)&&this.options?.appWizard?.showInformation((0,d.t)("INFO_MSG_FILES_GENERATED"),s.MessageType.notification),e!==f.PLATFORMS.SBAS&&"API_HUB"===this.state?.service?.apiHubConfig?.apiHubType&&await(0,C.saveApiHubApiKey)(this.state.service.apiHubConfig.apiHubKey);const i=(0,l.join)(this.state?.project?.targetFolder,this.state?.project?.name);FioriGenerator.logger.info((0,d.t)("INFO_MESSAGE_APPLICATION_GENERATED",{targetFolder:i})),await(0,n.sendTelemetry)(I.EventName.GENERATION_SUCCESS,n.TelemetryHelper.telemetryData,i),await this.runPostGenHooks({projectPath:(0,l.join)(this.state?.project?.targetFolder,this.state?.project?.name)})}_exitOnError(e){throw(0,n.sendTelemetry)(I.EventName.GENERATION_WRITING_FAIL,n.TelemetryHelper.telemetryData),new Error(e)}}i.FioriGenerator=FioriGenerator,FioriGenerator._logger=n.DefaultLogger},1723:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.installProjectDependencies=async function installProjectDependencies(e,i,a){const E="win32"===process.platform?"npm.cmd":"npm",c=new r.CommandRunner(i),p=[];a?.codeAssist&&p.push(...Object.keys(n.codeAssistDeps).map((e=>`${e}@${n.codeAssistDeps[e]}`)));p.unshift("install");try{i?.info((0,r.t)("INSTALLING_DEPENDENCIES"));const s=performance.now();await c.run(E,p,{cwd:e},!0),o.TelemetryHelper.createTelemetryData({installFailure:!1}),a?.useWorkspaces&&await c.run(E,["install","--no-audit","--no-fund","--silent","--prefer-offline","--no-progress"],{cwd:a.rootPath},!0);const n=performance.now();i?.debug((0,r.t)("DEPENDENCIES_INSTALLED",{installTime:Math.round((n-s)/1e3)}))}catch(e){i?.info(e??(0,r.t)("ERROR_INSTALLING_DEPENDENCIES")),o.TelemetryHelper.createTelemetryData({installFailure:!0}),(0,o.sendTelemetry)(s.EventName.GENERATION_INSTALL_FAIL,o.TelemetryHelper.telemetryData)}};const r=a(10654),s=a(90375),o=a(58012),n=a(64754)},21776:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.FeatureManager=i.Features=void 0;const r=a(98434);var s;!function(e){e.S4HCSystem="s4hcSystem",e.enableTypeScript="enableTypeScript",e.enableGAIntegration="enableGAIntegration",e.showLegacyVersionInfo="showLegacyVersionInfo",e.enableAutocompleteUIPrompt="enableAutocompleteUIPrompt",e.showLegacyPromptMessages="showLegacyPromptMessages"}(s||(i.Features=s={}));class FeatureManager{constructor(){this.featureMap=new Map([[s.S4HCSystem,()=>(0,r.isFeatureEnabled)("sap.ux.system.s4hc")],[s.enableTypeScript,()=>(0,r.isFeatureEnabled)("sap.ux.appGenerator.testBetaFeatures.enableTypeScript")]])}static getInstance(){return FeatureManager.instance||(FeatureManager.instance=new FeatureManager),FeatureManager.instance}isFeatureEnabled(e){const i=this.featureMap.get(e);return i&&i()||!1}}i.FeatureManager=FeatureManager},33212:function(e,i,a){var r=this&&this.__createBinding||(Object.create?function(e,i,a,r){void 0===r&&(r=a);var s=Object.getOwnPropertyDescriptor(i,a);s&&!("get"in s?!i.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return i[a]}}),Object.defineProperty(e,r,s)}:function(e,i,a,r){void 0===r&&(r=a),e[r]=i[a]}),s=this&&this.__exportStar||function(e,i){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(i,a)||r(i,e,a)};Object.defineProperty(i,"__esModule",{value:!0}),s(a(10654),i),s(a(14514),i),s(a(3249),i),s(a(21776),i),s(a(19871),i)},85245:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0})},4803:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.minSupportedUi5VersionV4=i.minSupportedUi5Version=i.EDMX_SIZE_LIMIT_IN_KB=i.YUI_MIN_VER_FILES_GENERATED_MSG=i.YUI_MIN_VER_ADDITIONAL_PROMPT_MESSAGES=i.YUI_MIN_VER_AUTOCOMPLETE_SEARCH=i.GUIDED_ANSWERS_EXTENSION_ID=i.YUI_EXTENSION_ID=i.FPM_DEFAULT_PAGE_NAME=i.GeneratorName=i.MAIN_MODEL_NAME=i.MAIN_DATASOURCE_NAME=i.LOGGING_LEVEL_CONFIG_PROP=i.EXPERIMENTAL_FEATURES=i.MIN_CDS_SCRIPT_VERSION=i.DEFAULT_SERVICE_PATH=i.DEFAULT_CAP_HOST=i.DEFAULT_HOST=i.FIORI_STEPS=i.STEP_FLP_CONFIG=i.STEP_DEPLOY_CONFIG=i.STEP_PROJECT_ATTRIBUTES=i.STEP_ENTITY=i.STEP_DATASOURCE_AND_SERVICE=i.STEP_FLOORPLAN=i.GENERATOR_NAME_FIORI_FREESTYLE=i.GENERATOR_NAME_FIORI_ELEMENTS=i.Template=i.PROJECT_TYPE=i.ApiHubType=i.API_HUB_TYPE=i.API_HUB_API_KEY=i.SAP_CLIENT_KEY=i.UI5_VERSION_PROPS=i.PLATFORMS=i.SapSystemSourceType=i.LEGACY_CAP_TYPE_JAVA=i.LEGACY_CAP_TYPE_NODE=i.SAP_SYSTEMS_DATA=i.ADT_DATA=i.CAP_RUNTIME=i.SapUxLayer=void 0;const r=a(2340);var s,o,n,E,c,p;!function(e){e.VENDOR="VENDOR",e.CUSTOMER_BASE="CUSTOMER_BASE"}(s||(i.SapUxLayer=s={})),i.CAP_RUNTIME={NODE_JS:"Node.js",JAVA:"Java"},i.ADT_DATA="ADT_DATA",i.SAP_SYSTEMS_DATA="SAP_SYSTEMS_DATA",i.LEGACY_CAP_TYPE_NODE="capNode",i.LEGACY_CAP_TYPE_JAVA="capJava",function(e){e.SCP="SCP",e.ON_PREM="ON_PREM",e.S4HC="S4HC"}(o||(i.SapSystemSourceType=o={})),i.PLATFORMS={VSCODE:{name:"Visual Studio Code",technical:"VSCode"},SBAS:{name:"SAP Business Application Studio",technical:"SBAS"},CLI:{name:"CLI",technical:"CLI"}},i.UI5_VERSION_PROPS={OFFICIAL_URL:"https://ui5.sap.com",BCP_OFFICIAL_URL:"https://sapui5.hana.ondemand.com",SNAPSHOT_URL:"https://sapui5preview-sapui5.dispatcher.int.sap.eu2.hana.ondemand.com",VERSIONS_FILE:"neo-app.json"},i.SAP_CLIENT_KEY="sap-client",i.API_HUB_API_KEY="API_HUB_API_KEY",i.API_HUB_TYPE="API_HUB_TYPE",function(e){e.apiHub="API_HUB",e.apiHubEnterprise="API_HUB_ENTERPRISE"}(n||(i.ApiHubType=n={})),function(e){e.Worklist="WORKLIST",e.OverviewPage="OVERVIEW",e.ListReportObjectPage="LIST_REPORT_OBJECT_PAGE",e.AnalyticalListPage="ANALYTICAL_LIST_PAGE",e.FormEntryObjectPage="FORM_ENTRY_OBJECT_PAGE",e.FlexibleProgrammingModel="FLEXIBLE_PROGRAMMING_MODEL"}(E||(i.PROJECT_TYPE=E={})),function(e){e.Simple="simple"}(c||(i.Template=c={})),i.GENERATOR_NAME_FIORI_ELEMENTS="fiori-elements",i.GENERATOR_NAME_FIORI_FREESTYLE="fiori-freestyle",i.STEP_FLOORPLAN="FLOORPLAN",i.STEP_DATASOURCE_AND_SERVICE="DATASOURCE_AND_SERVICE",i.STEP_ENTITY="ENTITY",i.STEP_PROJECT_ATTRIBUTES="PROJECT_ATTRIBUTES",i.STEP_DEPLOY_CONFIG="DEPLOY_CONFIG",i.STEP_FLP_CONFIG="FLP_CONFIG",i.FIORI_STEPS=[{key:i.STEP_FLOORPLAN,name:(0,r.t)("LABEL_FLOORPLAN_SELECTION"),description:(0,r.t)("LABEL_CHOOSE_FLOORPLAN"),order:0},{key:i.STEP_DATASOURCE_AND_SERVICE,name:(0,r.t)("DATASOURCE_AND_SERVICE_SELECTION"),description:(0,r.t)("CONFIGURE_DATASOURCE_AND_SERVICE"),order:1},{key:i.STEP_ENTITY,name:(0,r.t)("SERVICE_ENTITY_SELECTION"),description:(0,r.t)("LABEL_CONFIGURE_FLOORPLAN_SERVICE"),order:2},{key:i.STEP_PROJECT_ATTRIBUTES,name:(0,r.t)("PROJECT_ATTRIBUTES"),description:(0,r.t)("CONFIGURE_MAIN_PROJECT_ATTRIBUTES"),order:3},{key:i.STEP_DEPLOY_CONFIG,name:(0,r.t)("DEPLOYMENT_CONFIG"),description:(0,r.t)("CONFIGURE_DEPLOYMENT"),dependency:(0,r.t)("PROJECT_ATTRIBUTES"),order:4},{key:i.STEP_FLP_CONFIG,name:(0,r.t)("FLP_CONFIG"),description:(0,r.t)("DESCRIPTION_FLP_CONFIG_GENERATOR"),dependency:(0,r.t)("PROJECT_ATTRIBUTES"),order:5}],i.DEFAULT_HOST="http://localhost",i.DEFAULT_CAP_HOST="http://localhost:4004",i.DEFAULT_SERVICE_PATH="/sap/opu/odata",i.MIN_CDS_SCRIPT_VERSION="4.1.4",i.EXPERIMENTAL_FEATURES="sap.ux.applicationModeler.enableExperimentalFeatures",i.LOGGING_LEVEL_CONFIG_PROP="ApplicationWizard.loggingLevel",i.MAIN_DATASOURCE_NAME="mainService",i.MAIN_MODEL_NAME="mainModel",function(e){e.FE="@sap/generator-fiori-elements",e.FF="@sap/generator-fiori-freestyle"}(p||(i.GeneratorName=p={})),i.FPM_DEFAULT_PAGE_NAME="Main",i.YUI_EXTENSION_ID="sapos.yeoman-ui",i.GUIDED_ANSWERS_EXTENSION_ID="saposs.sap-guided-answers-extension",i.YUI_MIN_VER_AUTOCOMPLETE_SEARCH="1.10.9",i.YUI_MIN_VER_ADDITIONAL_PROMPT_MESSAGES="1.11.1",i.YUI_MIN_VER_FILES_GENERATED_MSG="1.16.6",i.EDMX_SIZE_LIMIT_IN_KB=1e3,i.minSupportedUi5Version="1.65.0",i.minSupportedUi5VersionV4="1.84.0"},24023:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.defaultPromptValues=i.DeployTarget=i.FloorplanAttributes=i.FloorplanFE=i.FloorplanFF=void 0,i.capTypeConversion=function capTypeConversion(e){if(e===r.LEGACY_CAP_TYPE_NODE||"Node.js"===e)return r.CAP_RUNTIME.NODE_JS;if(e===r.LEGACY_CAP_TYPE_JAVA||"Java"===e)return r.CAP_RUNTIME.JAVA;return r.CAP_RUNTIME.NODE_JS};const r=a(4803),s=a(4389),o=a(53843),n=a(20280),E=a(69884);var c,p,C;!function(e){e.FF_SIMPLE="simple"}(c||(i.FloorplanFF=c={})),function(e){e.FE_FPM="FLEXIBLE_PROGRAMMING_MODEL",e.FE_LROP="LIST_REPORT_OBJECT_PAGE",e.FE_OVP="OVERVIEW",e.FE_ALP="ANALYTICAL_LIST_PAGE",e.FE_FEOP="FORM_ENTRY_OBJECT_PAGE",e.FE_WORKLIST="WORKLIST"}(p||(i.FloorplanFE=p={})),i.FloorplanAttributes={[p.FE_LROP]:{supportedODataVersion:[E.OdataVersion.v2,E.OdataVersion.v4],templateType:o.TemplateType.ListReportObjectPage},[p.FE_ALP]:{supportedODataVersion:[E.OdataVersion.v2,E.OdataVersion.v4],templateType:o.TemplateType.AnalyticalListPage},[p.FE_WORKLIST]:{supportedODataVersion:[E.OdataVersion.v2,E.OdataVersion.v4],templateType:o.TemplateType.Worklist},[p.FE_FEOP]:{supportedODataVersion:[E.OdataVersion.v4],templateType:o.TemplateType.FormEntryObjectPage},[p.FE_OVP]:{supportedODataVersion:[E.OdataVersion.v2,E.OdataVersion.v4],templateType:o.TemplateType.OverviewPage},[p.FE_FPM]:{supportedODataVersion:[E.OdataVersion.v4],templateType:o.TemplateType.FlexibleProgrammingModel},[c.FF_SIMPLE]:{supportedODataVersion:[E.OdataVersion.v2,E.OdataVersion.v4],templateType:n.TemplateType.Basic}},function(e){e.CF="CF",e.ABAP="ABAP"}(C||(i.DeployTarget=C={})),i.defaultPromptValues={[s.promptNames.enableCodeAssist]:!1,[s.promptNames.enableEslint]:!1,[s.promptNames.skipAnnotations]:!1,[s.promptNames.enableTypeScript]:!1}},14514:function(e,i,a){var r=this&&this.__createBinding||(Object.create?function(e,i,a,r){void 0===r&&(r=a);var s=Object.getOwnPropertyDescriptor(i,a);s&&!("get"in s?!i.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return i[a]}}),Object.defineProperty(e,r,s)}:function(e,i,a,r){void 0===r&&(r=a),e[r]=i[a]}),s=this&&this.__exportStar||function(e,i){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(i,a)||r(i,e,a)};Object.defineProperty(i,"__esModule",{value:!0}),s(a(91389),i),s(a(78123),i),s(a(4803),i),s(a(85245),i),s(a(67531),i),s(a(24023),i),s(a(90375),i),s(a(13569),i)},91389:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0})},13569:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0})},78123:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0})},90375:(e,i)=>{var a,r,s,o;Object.defineProperty(i,"__esModule",{value:!0}),i.TelemetryBusinessHubType=i.TelemetrySapSystemType=i.LaunchSource=i.EventName=void 0,function(e){e.GENERATION_SUCCESS="GENERATION_SUCCESS",e.GENERATION_INSTALL_FAIL="GENERATION_INSTALL_FAIL",e.GENERATION_WRITING_FAIL="GENERATION_WRITING_FAIL",e.SERVICE_INQUIRER_BAS_SUCCESS="SERVICE_INQUIRER_BAS_SUCCESS",e.SERVICE_INQUIRER_BAS_ERROR="SERVICE_INQUIRER_BAS_ERROR",e.GA_LINK_CREATED="GA_LINK_CREATED",e.DEPLOY_CONFIG="DEPLOY_CONFIG"}(a||(i.EventName=a={})),function(e){e.Headless="Headless",e.CapServiceAdaptor="CapServiceAdaptor",e.MtaLaunchAdaptor="MtaLaunchAdaptor",e.LCAPServiceAdaptor="LCAPServiceAdaptor",e.ServiceCenterAdaptor="ServiceCenterAdaptor"}(r||(i.LaunchSource=r={})),function(e){e.SCP="SCP",e.CF="CF",e.ABAP="ABAP"}(s||(i.TelemetrySapSystemType=s={})),function(e){e.BusinessAcceletorHub="BusinessAcceletorHub",e.BusinessHubEnterprise="BusinessHubEnterprise"}(o||(i.TelemetryBusinessHubType=o={}))},67531:(e,i)=>{Object.defineProperty(i,"__esModule",{value:!0})},37930:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.CommandRunner=void 0;const r=a(2340),s=a(35317);i.CommandRunner=class CommandRunner{constructor(e){this.log=e}formatLog(e,...i){const a=i.map((e=>e.toString().trim())).join(" ").trim();this.log?.info(e?e+a:a)}run(e,i=[],a={},o=!1){return new Promise(((n,E)=>{const c={...a},p=[],C=`\`${e} ${i.join(" ")}\``;"win32"===process.platform&&(c.shell=!0);const l=(0,s.spawn)(e,i,c);let h;o&&this.formatLog("Running: ",C),l.stdout.on("data",(e=>{o&&this.formatLog(void 0,e),p.push(e.toString()),h=e.toString()})),l.stderr.on("data",(e=>{o&&this.formatLog(void 0,e),p.push(e.toString())})),l.on("error",(e=>{E(`${(0,r.t)("ERROR_COMMAND_FAILED")}: ${e.message}`)})),l.on("close",((e,i)=>{if(i){const e=-1;return o&&this.formatLog((0,r.t)("COMMAND_FAILED_WITH_ERROR",{command:C,signalCode:e})),E((0,r.t)("ERROR_CODE_RETURNED",{command:C,signalCode:e,stack:p.join(", ")}))}if(0!==e)return o&&this.formatLog((0,r.t)("COMMAND_FAILED_WITH_ERROR",{command:C,errorCode:e})),E((0,r.t)("ERROR_CODE_RETURNED",{command:C,errorCode:e,stack:p.join(", ")}));n(h)}))}))}}},59569:function(e,i,a){var r=this&&this.__createBinding||(Object.create?function(e,i,a,r){void 0===r&&(r=a);var s=Object.getOwnPropertyDescriptor(i,a);s&&!("get"in s?!i.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return i[a]}}),Object.defineProperty(e,r,s)}:function(e,i,a,r){void 0===r&&(r=a),e[r]=i[a]}),s=this&&this.__setModuleDefault||(Object.create?function(e,i){Object.defineProperty(e,"default",{enumerable:!0,value:i})}:function(e,i){e.default=i}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var i={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&r(i,e,a);return s(i,e),i};Object.defineProperty(i,"__esModule",{value:!0}),i.getFlpId=i.getSemanticObject=void 0,i.getPlatform=getPlatform,i.fullyQualifiedProjectName=function fullyQualifiedProjectName(e,i){return[e,i].filter((e=>!!e)).join(".")},i.removeLastMatch=function removeLastMatch(e,i){if(void 0===i)return e;const a=e.lastIndexOf(i);if(-1===a)return e;return e.slice(0,a)},i.getAnnotationPath=function getAnnotationPath(e,i="app"){return A.default.join(i,e,"annotation.cds").replace(/\\/g,"/")},i.getGeneratorName=getGeneratorName,i.getGeneratorNames=function getGeneratorNames(e){if(!e)return[L.GENERATOR_NAME_FIORI_ELEMENTS,L.GENERATOR_NAME_FIORI_FREESTYLE];return[...new Set(e.map((e=>getGeneratorName(e))))]},i.getODataVersion=function getODataVersion(e){try{return(0,n.convert)((0,p.parse)(e)).version.startsWith("4")?f.OdataVersion.v4:f.OdataVersion.v2}catch(e){throw Error((0,P.t)("ERROR_APP_CONFIG_EDMX"))}},i.compareFunc=function compareFunc(e){return(i,a)=>i[e]<a[e]?-1:i[e]>a[e]?1:0},i.getAppId=getAppId,i.buildSapClientParam=function buildSapClientParam(e){return e?`sap-client=${e}`:""},i.getRequiredOdataVersion=function getRequiredOdataVersion(e){const i=u.FloorplanAttributes[e].supportedODataVersion;return 1===i.length?i[0]:void 0},i.getMinSupportedUI5Version=function getMinSupportedUI5Version(e,i){if(i&&i!==u.FloorplanFF.FF_SIMPLE){const a=u.FloorplanAttributes[i].templateType;return C.TemplateTypeAttributes[a].minimumUi5Version[e]}return e===f.OdataVersion.v4?L.minSupportedUi5VersionV4:L.minSupportedUi5Version},i.generateToolsId=function generateToolsId(){return(0,S.v4)()},i.getCdsUi5PluginInfo=async function getCdsUi5PluginInfo(e,i,a){const r=await(0,d.isCapJavaProject)(e)?void 0:a,s=await(0,c.checkCdsUi5PluginEnabled)(e,i,!0,r);return!1===s?void 0:s},i.getCdsAnnotations=getCdsAnnotations,i.isBTPHosted=function isBTPHosted(e){return!!e?.backendSystem?.serviceKeys||!!e?.destination&&(0,E.isAbapEnvironmentOnBtp)(e.destination)},i.getDataSourceLabel=function getDataSourceLabel(e,i,a=!1){let r;if(e===f.DatasourceType.sapSystem){const e=(0,P.t)(`README_LABEL_DATASOURCE_TYPE_${f.DatasourceType.sapSystem}`),i=(0,P.t)("LABEL_SAP_SYSTEM_SOURCE_TYPE_"+(a?"SCP":"ON_PREM"));r=`${e} (${i})`}else e===f.DatasourceType.businessHub&&"API_HUB_ENTERPRISE"===i&&(r=(0,P.t)("LABEL_API_BUSINESS_HUB_ENTERPRISE"));return r},i.generateReadMeFile=function generateReadMeFile(e,{project:i,service:a,readMe:r},s){const o=function getLaunchText(e,i,a,r){if(e){const s=r??e?.capCdsInfo?.isCdsUi5PluginEnabled?getAppId(a,i):void 0;return(0,c.getAppLaunchText)(e.capType,i,s)}return(0,P.t)("TEXT_LAUNCH_DEFAULT")}(a.capService,i.name,i.namespace,i?.enableNPMWorkspaces),n={generationDate:r?.genDate||(new Date).toString(),generatorPlatform:r?.genPlatform||getPlatform().name,serviceType:r.dataSourceLabel||(0,P.t)(`README_LABEL_DATASOURCE_TYPE_${a.source}`),metadataFilename:a.localEdmxFilePath?(0,A.basename)(a.localEdmxFilePath):"",serviceUrl:(a.host??"")+(a.servicePath??"")||(0,P.t)("TEXT_NOT_APPLICABLE"),appName:i.name,appTitle:i.title,appDescription:i.description,appNamespace:i.namespace,ui5Theme:i.ui5Theme,ui5Version:r?.projectUI5Version||i.ui5Version,enableCodeAssist:i.enableCodeAssist,enableEslint:i.enableEslint,enableTypeScript:i.enableTypeScript,showMockDataInfo:!!a.edmx&&!a.capService,generatorVersion:r?.genVersion||"",template:r?.templateLabel||"",generatorName:r?.genId||"",additionalEntries:r?.additionalEntries||[],launchText:o};(0,l.generateReadMe)(e,n,s)},i.generateLaunchConfig=function generateLaunchConfig(e,i,a,r,s=!1){try{if(a){const o=e.source!==f.DatasourceType.metadataFile,n=A.default.join(e.targetFolder,e.projectName),c={vscode:a,addStartCmd:o,sapClientParam:e.sapClientParam,flpAppId:e.flpAppId,flpSandboxAvailable:!0,isAppStudio:(0,E.isAppStudio)(),writeToAppOnly:s};[f.OdataVersion.v2,f.OdataVersion.v4].includes(e.odataVersion)&&(c.odataVersion=e.odataVersion===f.OdataVersion.v2?"2.0":"4.0");const p={name:(0,A.basename)(e.projectName),projectRoot:n,debugOptions:c};(0,I.createLaunchConfig)(n,p,i,r),(0,h.writeApplicationInfoSettings)(n)}}catch(e){r?.error(`${(0,P.t)("ERROR_WRITING_APPLICATION_FILES")} : ${e}`)}},i.convertCapRuntimeToCapProjectType=function convertCapRuntimeToCapProjectType(e="Node.js"){return"Java"===e?"CAPJava":"CAPNodejs"},i.getAnnotations=async function getAnnotations(e,i,a){if(e)return getCdsAnnotations(e,a);{const{TechnicalName:e,Definitions:a}=i||{};return{technicalName:e,xml:a}}},i.createAPIHubKeyFiles=function createAPIHubKeyFiles(e,i,a){const r=(0,A.join)(i,".env"),s=`API_HUB_API_KEY=${a.apiHubKey}\nAPI_HUB_TYPE=${a.apiHubType}`;e.write(r,s)};const n=a(91125),E=a(75199),c=a(64872),p=a(39933),C=a(7428),l=a(58012),h=a(69342),I=a(15669),f=a(69884),d=a(20787),A=o(a(16928)),S=a(60592),L=a(4803),u=a(24023),P=a(2340);function getPlatform(){return process.mainModule&&process.mainModule.filename.includes("yo")||process.stdin.isTTY?L.PLATFORMS.CLI:(0,E.isAppStudio)()?L.PLATFORMS.SBAS:L.PLATFORMS.VSCODE}function getGeneratorName(e){if(Object.values(u.FloorplanFE).indexOf(e)>-1)return L.GENERATOR_NAME_FIORI_ELEMENTS;if(Object.values(u.FloorplanFF).indexOf(e)>-1)return L.GENERATOR_NAME_FIORI_FREESTYLE;throw new Error((0,P.t)("ERROR_UNSUPPORTED_FLOORPLAN",{floorplan:e}))}function getAppId(e,i){return[e,i].filter((e=>!!e)).join(".").replace(/[_-]/g,"")}i.getSemanticObject=e=>{const i=e.replace(/[-_.#]/g,"");return i.length>30?i.substring(0,30):i};async function getCdsAnnotations(e,i){const{appPath:a="app",projectPath:r,serviceCdsPath:s,serviceName:o}=e,n=A.default.join(a,i,"annotation.cds").replace(/\\/g,"/");return{cdsFileContents:`using ${o} as service from '${await(0,d.toReferenceUri)(r,n,s)}';`,projectPath:r,appPath:a,projectName:i}}i.getFlpId=(e,a)=>`${(0,i.getSemanticObject)(e)}${a?"-"+a:""}`},56306:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.showCollabDraftWarning=function showCollabDraftWarning(e){let i=!1;try{const a=function filterDraftEnabledEntities(e){return e.filter((e=>!!e.entityType.entityProperties.find((e=>"HasDraftEntity"===e.name))))}((0,r.convert)((0,s.parse)(e)).entitySets);a?.length>0&&(i=!function hasCollaborativeDraft(e){return!!e.find((e=>!!e.annotations?.Common?.DraftRoot&&!!e.annotations.Common.DraftRoot.ShareAction))}(a))}catch(e){o.LogWrapper.log((0,n.t)("ERROR_ODATA_SERVICE_METADATA_UNPARSEABLE",{error:e.message}))}return i};const r=a(91125),s=a(39933),o=a(58012),n=a(2340)},55992:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.DEFAULT_POST_APP_GEN_COMMAND=void 0,i.runHooks=async function runHooks(e,a){return"app-generated"===e?async function postGenerationHook(e){if(e.vscodeInstance)try{const a=e.options?.followUpCommand??i.DEFAULT_POST_APP_GEN_COMMAND;s.FioriGenerator.logger?.info((0,r.t)("INFO_TRYING_TO_EXECUTE_COMMAND",{command:a})),await(e.vscodeInstance.commands?.executeCommand?.(a,e.hookParameters))}catch(e){try{const i=e.toString().replace("Error: command","Command");s.FioriGenerator.logger?.warn(i)}catch{}}}(a):Promise.reject(new Error((0,r.t)("ERROR_UNRECOGNIZED_EVENT",{event:e})))};const r=a(2340),s=a(33212);i.DEFAULT_POST_APP_GEN_COMMAND="sap.ux.application.generated.handler"},2340:function(e,i,a){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(i,"__esModule",{value:!0}),i.defaultProjectNumber=i.COMMON_NS=void 0,i.initI18n=initI18n,i.addTranslations=function addTranslations(e,i){s.default.addResources("en",i,e)},i.t=function t(e,i){return s.default.t(e,i)};const s=r(a(50201)),o=r(a(81423));async function initI18n(){await s.default.init({resources:{en:{[i.COMMON_NS]:o.default}},lng:"en",fallbackLng:"en",defaultNS:i.COMMON_NS,ns:[i.COMMON_NS],interpolation:{format:function odataVersionFormatter(e){return e?` V${e}`:""},defaultVariables:{defaultProjectNumber:i.defaultProjectNumber}},missingInterpolationHandler:()=>""})}i.COMMON_NS="common",i.defaultProjectNumber=1,initI18n()},10654:function(e,i,a){var r=this&&this.__createBinding||(Object.create?function(e,i,a,r){void 0===r&&(r=a);var s=Object.getOwnPropertyDescriptor(i,a);s&&!("get"in s?!i.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return i[a]}}),Object.defineProperty(e,r,s)}:function(e,i,a,r){void 0===r&&(r=a),e[r]=i[a]}),s=this&&this.__exportStar||function(e,i){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(i,a)||r(i,e,a)};Object.defineProperty(i,"__esModule",{value:!0}),i.showCollabDraftWarning=void 0,s(a(2340),i),s(a(20381),i),s(a(59569),i),s(a(19174),i),s(a(24993),i),s(a(37930),i),s(a(55992),i),s(a(15830),i),s(a(16927),i),s(a(77791),i);var o=a(56306);Object.defineProperty(i,"showCollabDraftWarning",{enumerable:!0,get:function(){return o.showCollabDraftWarning}})},19174:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.MTA_CONFIG_FILENAME=void 0,i.getMtaPath=function getMtaPath(e){return r(i.MTA_CONFIG_FILENAME,{cwd:e})};const r=a(68322);i.MTA_CONFIG_FILENAME="mta.yaml"},77791:function(e,i,a){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(i,"__esModule",{value:!0}),i.createUI5ApplicationPromptOptions=createUI5ApplicationPromptOptions,i.promptUI5ApplicationAnswers=async function promptUI5ApplicationAnswers({project:e,service:i,yeomanUiStepConfig:a,fioriGenOpts:r,adapter:s}){let o;o=s?.actualAdapter?s.actualAdapter:s;const n=Object.assign(r.promptSettings??{},{[E.promptNames.ui5Version]:{hide:r.hideUI5VersionPrompt??!1}}),p=await createUI5ApplicationPromptOptions(e,i,a,r.floorplan,n,r.extensions),C=await(0,E.prompt)(o,p,i.capService?.capCdsInfo,(0,I.getPlatform)()!==h.PLATFORMS.CLI),l=(await(0,c.getUI5Versions)({minSupportedUI5Version:p.ui5Version.minUI5Version,onlyVersionNumbers:!0,onlyNpmVersion:!0,ui5SelectedVersion:C?.ui5Version??c.latestVersionString}))[0]?.version;return{ui5AppAnswers:C,localUI5Version:l}},i.promptOdataServiceAnswers=async function promptOdataServiceAnswers(e,i,a){let r;r=a?.actualAdapter?a.actualAdapter:a;const E=function createOdataServicePromptOptions(e){let i;const a=(0,I.getPlatform)()!==h.PLATFORMS.CLI;e.capService?i=o.DatasourceType.capProject:e.promptOptions?.systemSelection?.defaultChoice&&(i=o.DatasourceType.sapSystem);return{[o.promptNames.datasourceType]:{default:i,includeNone:!!e.allowNoDatasource},[o.promptNames.metadataFilePath]:{requiredOdataVersion:e.requiredOdataVersion},[o.promptNames.capProject]:{capSearchPaths:e.workspaceFolders,defaultChoice:e.capService?.projectPath},[o.promptNames.capService]:{defaultChoice:e.capService},[o.promptNames.serviceUrl]:{requiredOdataVersion:e.requiredOdataVersion,showCollaborativeDraftWarning:e.showCollabDraftWarning&&a},[o.promptNames.serviceSelection]:{useAutoComplete:(0,I.getPlatform)()===h.PLATFORMS.CLI,requiredOdataVersion:e.requiredOdataVersion,showCollaborativeDraftWarning:e.showCollabDraftWarning&&a},[o.promptNames.systemSelection]:Object.assign({destinationFilters:{odata_abap:!0,full_service_url:!0,partial_service_url:!0},useAutoComplete:!a,includeCloudFoundryAbapEnvChoice:!0},e.promptOptions?.systemSelection)}}(e),c=await(0,o.prompt)(r,E,i,(0,s.isFeatureEnabled)(l.Features.enableGAIntegration),n.ClientFactory.getTelemetryClient(),(0,I.getPlatform)()!==h.PLATFORMS.CLI);c.connectedSystem?.serviceProvider&&function removeLogPropsFromServiceProvider(e){for(const i in e.services)delete e.services[i].log;delete e.log}(c.connectedSystem.serviceProvider);return{host:c.origin,client:c.sapClient,servicePath:c.servicePath,edmx:c.metadata,annotations:c.annotations,version:c.odataVersion,capService:c.capService,source:c.datasourceType,localEdmxFilePath:c.metadataFilePath,connectedSystem:c.connectedSystem,ignoreCertError:c.ignoreCertError}};const s=a(98434),o=a(69884),n=a(10736),E=a(4389),c=a(97133),p=r(a(47886)),C=a(16928),l=a(21776),h=a(14514),I=a(59569),f=a(2340),d=a(16927);async function createUI5ApplicationPromptOptions(e,i,a,r,s,n){const l={hide:s?.[E.promptNames.ui5Version]?.hide??!1,minUI5Version:(0,I.getMinSupportedUI5Version)(i.version??o.OdataVersion.v2,r),includeSeparators:(0,I.getPlatform)()!==h.PLATFORMS.CLI,useAutocomplete:(0,I.getPlatform)()===h.PLATFORMS.CLI},A=await(0,c.getSapSystemUI5Version)(i.host);let S;A&&(l.defaultChoice={name:`${A} (Source system version)`,value:A}),S=i.capService?.projectPath?{default:(0,C.join)(i.capService.projectPath,i.capService.appPath)}:{defaultValue:e?.targetFolder,validateFioriAppFolder:!0};const L=(0,p.default)({[E.promptNames.name]:{defaultValue:e.name},[E.promptNames.targetFolder]:S,[E.promptNames.ui5Version]:l,[E.promptNames.skipAnnotations]:{hide:!i.capService},[E.promptNames.addDeployConfig]:{validatorCallback:e=>{(0,d.validateNextStep)(e,a,(0,f.t)("DEPLOYMENT_CONFIG"))}},[E.promptNames.addFlpConfig]:{validatorCallback:e=>{(0,d.validateNextStep)(e,a,(0,f.t)("FLP_CONFIG"))}},[E.promptNames.enableTypeScript]:{defaultValue:h.defaultPromptValues[E.promptNames.enableTypeScript]}},s);return[E.promptNames.enableCodeAssist,E.promptNames.skipAnnotations,E.promptNames.enableEslint,E.promptNames.ui5Theme].forEach((e=>{const i=L[e],a=i?.default??h.defaultPromptValues[e];Object.assign(i??Object.assign(L,{[e]:{}})[e],{advancedOption:!0},void 0!==a?{default:a}:void 0)})),n&&Object.entries(n).forEach((([e,i])=>{Object.assign(L[e]??Object.assign(L,{[e]:{}})[e],i)})),L}},15830:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.assignSapUxLayerValue=function assignSapUxLayerValue(e=!1){if(e)return;return(0,s.isInternalFeaturesSettingEnabled)()?r.SapUxLayer.VENDOR:r.SapUxLayer.CUSTOMER_BASE};const r=a(4803),s=a(98434)},24993:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.updateDependentStep=function updateDependentStep(e,i,a,r){i.forEach((i=>{const s=i.dependentMap[e],o=[];s.forEach((e=>{const a=getStepIndex(e.name,i.activeSteps);o.push(a)}));const n=getStepIndex(e,i.activeSteps);if(r)if(a){let e,a=0;for(let o=0;o<s.length;o++){const n=s[o];if(n.name===r){e=n;break}getStepIndex(n.name,i.activeSteps)>=0&&a++}getStepIndex(e.name,i.activeSteps)<0&&i.activeSteps.splice(n+a+1,0,[{name:e.name,description:e.description}])}else{const e=getStepIndex(r,i.activeSteps);e>=0&&i.activeSteps.splice(e,1,[])}else if(o.length>0&&o[0]>=0&&!a&&o.forEach((()=>{i.activeSteps.splice(o[0],1,[])})),o.length>0&&o[0]<0&&a)for(let e=0;e<o.length;e++){const a=s[e];i.activeSteps.splice(n+e+1,0,[{name:a.name,description:a.description}])}}))},i.getYeomanUiStepConfig=function getYeomanUiStepConfig(e){const i=[],a={};e.forEach(((e,r)=>{if(e.dependency){!function assetIndexWithinBoundary(e){if(e<0)throw(0,s.t)("INVALID_YEOMAN_UI_STEP_CONFIG")}(r-1);const i=e.dependency;a[i]||(a[i]=[]),a[i].push(e)}else i.push(e)}));return{activeSteps:new r.Prompts(i),dependentMap:a}},i.hasActiveStep=function hasActiveStep(e,i){return getStepIndex(e,i)>-1},i.hasStep=function hasStep(e,i){return!!e.find((e=>e.key===i))};const r=a(73667),s=a(2340);function getStepIndex(e,i){return i.items?.findIndex((i=>i.name===(0,s.t)(e)))}},20381:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.getTelemetrySapSystemType=function getTelemetrySapSystemType(e){if((0,o.isBTPHosted)(e))return s.TelemetrySapSystemType.SCP;if(e.destination&&(0,r.isOnPremiseDestination)(e.destination)||e.backendSystem&&!e.backendSystem.serviceKeys)return s.TelemetrySapSystemType.ABAP;if(e.serviceProvider)return s.TelemetrySapSystemType.CF},i.getTelemetryBusinessHubType=function getTelemetryBusinessHubType(e){if("API_HUB"===e)return s.TelemetryBusinessHubType.BusinessAcceletorHub;if("API_HUB_ENTERPRISE"===e)return s.TelemetryBusinessHubType.BusinessHubEnterprise;return};const r=a(75199),s=a(14514),o=a(59569)},16927:function(e,i,a){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(i,"__esModule",{value:!0}),i.validateModuleName=validateModuleName,i.applicationExists=applicationExists,i.validateProjectName=function validateProjectName(e,i){const a=validateModuleName(i);if(!0!==a)return a;if(applicationExists(i,e))return(0,s.t)("ERROR_MODULE_NAME_EXISTS");return!0},i.validateMtaPath=async function validateMtaPath(e){return(0,n.getMtaPath)(e)},i.validateNextStep=function validateNextStep(e,i,a){i&&(0,o.updateDependentStep)(C,i,e,a);return!0};const s=a(2340),o=a(24993),n=a(19174),E=a(79896),c=a(16928),p=r(a(9e3)),C=(0,s.t)("PROJECT_ATTRIBUTES");function validateModuleName(e){if(/^[^a-zA-Z]/.test(e))return(0,s.t)("ERROR_MODULE_NAME_START_WITH_LETTER");if(e?.length>70)return(0,s.t)("ERROR_NAME_TOO_LONG",{length:70});if(e?.length<3)return(0,s.t)("ERROR_NAME_TOO_SHORT",{length:3});const i={"name cannot be null":(0,s.t)("ERROR_NAME_NULL"),"name cannot be undefined":(0,s.t)("ERROR_NAME_UNDEFINED"),"name must be a string":(0,s.t)("ERROR_NAME_NOT_STRING"),"name length must be greater than zero":(0,s.t)("ERROR_NAME_LENGTH_ZERO"),"name cannot start with a period":(0,s.t)("ERROR_NAME_STARTS_WITH_PERIOD"),"name cannot start with an underscore":(0,s.t)("ERROR_NAME_STARTS_WITH_UNDERSCORE"),"name cannot contain leading or trailing spaces":(0,s.t)("ERROR_NAME_STARTS_OR_ENDS_WITH_SPACE"),[e+" is a blocklisted name"]:(0,s.t)("ERROR_NAME_BLOCKLISTED",{modName:e}),[e+" is a core module name"]:(0,s.t)("ERROR_NAME_IS_CORE_MODULE",{modName:e}),"name can no longer contain more than 214 characters":(0,s.t)("ERROR_NAME_TOO_LONG",{length:214}),"name can no longer contain capital letters":(0,s.t)("ERROR_NAME_CONTAINS_CAPITAL"),'name can no longer contain special characters ("~\'!()*")':(0,s.t)("ERROR_NAME_CONTAINS_SPECIAL_CHARACTERS"),"name can only contain URL-friendly characters":(0,s.t)("ERROR_NAME_NOT_URL_FRIENDLY")},a=(0,p.default)(e);return!(!a.validForNewPackages||!a.validForOldPackages)||[...a.errors||[],...a.warnings||[]].filter((e=>!!e)).map((e=>i[e]||(0,s.t)("MODULE_INVALID_MODULE_NAME"))).join(", ")}function applicationExists(e,i){return i?(0,E.existsSync)((0,c.join)(i,e.trim())):(0,E.existsSync)((0,c.join)(process.cwd(),e.trim()))}},79423:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.getFloorplanChoices=function getFloorplanChoices(e){let i=r.PROJECT_TYPE_CHOICES;e&&e.length>0&&(i={},e.forEach((e=>{r.PROJECT_TYPE_CHOICES[e]&&Object.assign(i,{[e]:r.PROJECT_TYPE_CHOICES[e]})})));return i};const r=a(86109)},95693:(e,i,a)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.transformExtState=function transformExtState(e,{readMe:i,sourceTemplate:a}){if(C.FE_APP_CONFIG_SUPPORTED_VERSIONS.indexOf(e.version)<0)throw Error((0,E.t)("ERROR_APP_CONFIG_VERSION",{versions:C.FE_APP_CONFIG_SUPPORTED_VERSIONS.join(", ")}));const{project:s,service:n}=e,l={project:_setProjectDefaults(s),service:_setServiceDefaults(n)};if(n.capService?.projectPath){if(!n.capService.serviceName)throw Error((0,E.t)("ERROR_APP_CONFIG_MISSING_REQUIRED_PROPERTY",{propertyName:"capService.serviceName"}));l.service.capService=function _setCAPServicePaths(e){const i=(0,c.getCapFolderPathsSync)(e.projectPath);return{projectPath:e.projectPath,serviceName:e.serviceName,serviceCdsPath:e.serviceCdsPath,appPath:i?.app,capType:(0,E.capTypeConversion)(e.capType)}}(n.capService),l.project.targetFolder=(0,p.join)(l.service.capService.projectPath,l.service.capService.appPath),l.service.version=r.OdataVersion.v4,l.service.source=o.DatasourceType.capProject}else!n.servicePath&&n.edmx?l.service.source=o.DatasourceType.metadataFile:n.edmx?n.apiHubApiKey?l.service.source=o.DatasourceType.businessHub:n.scp?l.service.source=o.DatasourceType.sapSystem:l.service.source=o.DatasourceType.odataServiceUrl:l.service.source=o.DatasourceType.none;const h={hierarchyQualifier:e.entityConfig?.hierarchyQualifier,tableType:e.entityConfig?.tableType,addFEOPAnnotations:e.entityConfig?.generateFormAnnotations,addLineItemAnnotations:e.entityConfig?.generateLROPAnnotations};e.alpOptions&&(h.tableAutoHide=e.alpOptions?.autoHide,h.tableMultiSelect=e.alpOptions?.multiSelect,h.presentationQualifier=e.alpOptions?.qualifier,h.tableSelectionMode=e.alpOptions?.selectionMode,h.smartVariantManagement=e.alpOptions?.smartVariantManagement);e.entityConfig?.mainEntity&&(h.mainEntity={entitySetName:e.entityConfig.mainEntity.entityName,entitySetType:e.entityConfig.mainEntity.type});e.entityConfig?.navigationEntity&&(h.navigationEntity={entitySetName:e.entityConfig.navigationEntity.EntitySet,navigationPropertyName:e.entityConfig?.navigationEntity.Name});e.entityConfig?.filterEntityType&&(h.filterEntityType={entitySetName:e.entityConfig.filterEntityType,entitySetType:e.entityConfig.filterEntityType});if(l.entityRelatedConfig=h,l.project.projectType=e.projectType??E.FloorplanFE[e.floorplan],!(l.project.projectType&&Object.values(E.PROJECT_TYPE).includes(l.project.projectType)))throw Error((0,E.t)("ERROR_APP_CONFIG_MISSING_REQUIRED_PROPERTY",{propertyName:"0.1"===e.version?"projectType":"floorplan"}));const I=e.service.annotations;return l.service.annotations=Array.isArray(I)?I:[I],l};const r=a(21980),s=a(4389),o=a(69884),n=a(97133),E=a(33212),c=a(58012),p=a(16928),C=a(13088);function _setProjectDefaults(e){const i=e.ui5Version||n.supportedUi5VersionFallbacks[0].version;return{name:e.name||(0,E.t)("DEFAULT_PROJECT_NAME"),targetFolder:e.targetFolder||process.cwd(),namespace:e.namespace||"",title:e.title||(0,E.t)("DEFAULT_PROJECT_TITLE"),description:e.description||(0,E.t)("DEFAULT_PROJECT_DESCRIPTION"),ui5Version:i,localUI5Version:e.localUI5Version||i,ui5Theme:e.ui5Theme||(0,n.getDefaultUI5Theme)(i),skipAnnotations:e.skipAnnotations||E.defaultPromptValues[s.promptNames.skipAnnotations],enableCodeAssist:e.enableCodeAssist||E.defaultPromptValues[s.promptNames.enableCodeAssist],enableEslint:e.enableEslint||E.defaultPromptValues[s.promptNames.enableEslint],enableTypeScript:e.enableTypeScript||E.defaultPromptValues[s.promptNames.enableTypeScript],sapux:e.sapux||!1,manifestVersion:void 0}}function _setServiceDefaults(e){let i;if(e?.edmx)i=(0,E.getODataVersion)(e.edmx);else if(!e.capService?.projectPath)throw Error((0,E.t)("ERROR_APP_CONFIG_MISSING_REQUIRED_PROPERTY",{propertyName:"edmx"}));const a={host:e.host,servicePath:e.servicePath,client:e.client,edmx:e.edmx,version:i};return e?.destination&&(a.destination=e.destination,a.connectedSystem={destination:{Name:e?.destination}}),e.apiHubApiKey&&(a.apiHubConfig={apiHubKey:e.apiHubApiKey,apiHubType:"API_HUB"}),a}},17456:function(e,i,a){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(i,"__esModule",{value:!0});const s=a(33212),o=r(a(48160)),n=a(95693),E=a(98434),c=a(58012);class default_1 extends o.default{constructor(e,i){super(e,i),this.log((0,s.t)("INFO_GENERATOR_NAME_VERSION",{generatorName:"@sap/generator-fiori-elements",generatorVersion:this.rootGeneratorVersion()}));try{this.state=(0,n.transformExt