@sap/generator-fiori
Version:
Create an SAPUI5 application using SAP Fiori elements or a freestyle approach
1 lines • 354 kB
JavaScript
(()=>{var e,r,s={48676:e=>{function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=48676,e.exports=webpackEmptyContext},69179:e=>{function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=69179,e.exports=webpackEmptyContext},58685:e=>{function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=58685,e.exports=webpackEmptyContext},15411:e=>{function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=15411,e.exports=webpackEmptyContext},36649:e=>{function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=36649,e.exports=webpackEmptyContext},31629:e=>{function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=31629,e.exports=webpackEmptyContext},1320:e=>{function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=1320,e.exports=webpackEmptyContext},53306:e=>{function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=53306,e.exports=webpackEmptyContext},10263:e=>{function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=10263,e.exports=webpackEmptyContext},69433:(e,r,s)=>{var o={"./cat":4921,"./cat.js":4921,"./cd":5414,"./cd.js":5414,"./chmod":77140,"./chmod.js":77140,"./common":46656,"./common.js":46656,"./cp":92906,"./cp.js":92906,"./dirs":54425,"./dirs.js":54425,"./echo":82448,"./echo.js":82448,"./error":75691,"./error.js":75691,"./exec":38196,"./exec-child":82587,"./exec-child.js":82587,"./exec.js":38196,"./find":1350,"./find.js":1350,"./grep":45965,"./grep.js":45965,"./head":87595,"./head.js":87595,"./ln":8267,"./ln.js":8267,"./ls":3296,"./ls.js":3296,"./mkdir":3890,"./mkdir.js":3890,"./mv":10994,"./mv.js":10994,"./popd":92148,"./popd.js":92148,"./pushd":43573,"./pushd.js":43573,"./pwd":83158,"./pwd.js":83158,"./rm":72836,"./rm.js":72836,"./sed":1285,"./sed.js":1285,"./set":6037,"./set.js":6037,"./sort":62909,"./sort.js":62909,"./tail":77795,"./tail.js":77795,"./tempdir":58988,"./tempdir.js":58988,"./test":99237,"./test.js":99237,"./to":59951,"./to.js":59951,"./toEnd":34339,"./toEnd.js":34339,"./touch":12062,"./touch.js":12062,"./uniq":23256,"./uniq.js":23256,"./which":52540,"./which.js":52540};function webpackContext(e){var r=webpackContextResolve(e);return s(r)}function webpackContextResolve(e){if(!s.o(o,e)){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}return o[e]}webpackContext.keys=function webpackContextKeys(){return Object.keys(o)},webpackContext.resolve=webpackContextResolve,e.exports=webpackContext,webpackContext.id=69433},90803:e=>{function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=90803,e.exports=webpackEmptyContext},29963:e=>{function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=29963,e.exports=webpackEmptyContext},86380:(e,r,s)=>{var o={"./Find-VisualStudio.cs":99077,"./build":40603,"./build.js":40603,"./clean":36382,"./clean.js":36382,"./configure":48791,"./configure.js":48791,"./create-config-gypi":22612,"./create-config-gypi.js":22612,"./find-node-directory":17847,"./find-node-directory.js":17847,"./find-python":54615,"./find-python.js":54615,"./find-visualstudio":68271,"./find-visualstudio.js":68271,"./install":1476,"./install.js":1476,"./list":53123,"./list.js":53123,"./node-gyp":27626,"./node-gyp.js":27626,"./process-release":35546,"./process-release.js":35546,"./rebuild":52832,"./rebuild.js":52832,"./remove":20227,"./remove.js":20227,"./util":22383,"./util.js":22383};function webpackContext(e){var r=webpackContextResolve(e);return s(r)}function webpackContextResolve(e){if(!s.o(o,e)){var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}return o[e]}webpackContext.keys=function webpackContextKeys(){return Object.keys(o)},webpackContext.resolve=webpackContextResolve,e.exports=webpackContext,webpackContext.id=86380},40096:(e,r,s)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AbapFullstackStoryboardAdaptor=void 0;const o=s(69884),C="abapCSN";r.AbapFullstackStoryboardAdaptor=class AbapFullstackStoryboardAdaptor{static isAbapFullStackStoryboardData(e){return!!(e?.services?.length>0&&e?.services[0]?.type===C&&e.csnName&&e.system&&e.packageUri)}static transform(e){if(AbapFullstackStoryboardAdaptor.isAbapFullStackStoryboardData(e)){const r=e,s=r.services.filter((e=>e.type===C)).map((e=>({packageUri:r.packageUri,csnName:r.csnName,serviceNameCsn:e.csnServiceName}))),a=r.services.map((e=>e.runtimeName.toUpperCase()));return{appGenInfo:{externalParameters:[{abapCSN:s}]},promptSettings:{addDeployConfig:{default:!0},systemSelection:{defaultChoice:r.system},serviceSelection:{serviceFilter:a,requiredOdataVersion:o.OdataVersion.v4},"@sap-ux/deploy-config-sub-generator":{packageManual:{default:r.packageName}}},generatorOptions:{writeLaunchConfigstoAppOnly:!0}}}}}},67094:(e,r,s)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AdaptorManager=void 0;const o=s(53369),C=s(58012),a=s(69884),i=s(9347),f=s(99415),n=s(74015),h=s(55639),E=s(63771),I=s(9062),c=s(52548),p=s(60743),L=s(39623),Q=s(40096);class AdaptorManager{static set logger(e){this._logger=e}static transformToAdaptorState(e){let r;const s=this.adaptors.find((s=>(r=s.transform(e),!!r)));return s?(C.TelemetryHelper.createTelemetryData({AppGenLaunchSource:s.name}),this._logger.debug((0,i.t)("DEBUG_MSG_ADAPTOR_MATCH_FOUND",{adaptorName:s.name}))):this._logger.debug((0,i.t)("DEBUG_MSG_NO_ADAPTOR_MATCH_FOUND")),r}static transformToStepState(e,r){if(!e)return{state:void 0,steps:r};this._logger.debug((0,i.t)("DEBUG_MSG_APP_GEN_LAUNCHED_WITH_DATA",{inputData:JSON.stringify(e)}));const s=this.transformToAdaptorState(e);if(!s)return{state:void 0,steps:r};const C={service:s.service||{},project:s.project||{},appGenInfo:s.appGenInfo||{}};let f;return s.project?.entityConfig?.tableType&&(C.entityRelatedConfig={tableType:s.project?.entityConfig.tableType}),C.service.version=s.service?.edmx?(0,o.getODataVersion)(s.service.edmx):C.service.version,C.service.version&&(s.floorplans=(s.floorplans??[...Object.values(o.FloorplanFF),...Object.values(o.FloorplanFE)]).filter((e=>o.FloorplanAttributes[e].supportedODataVersion.includes(C.service.version)))),C.service.source||(C.service.capService?.projectPath?C.service.source=a.DatasourceType.capProject:!C.service.servicePath&&C.service.edmx?C.service.source=a.DatasourceType.metadataFile:C.service.edmx?C.service.apiHubConfig?C.service.source=a.DatasourceType.businessHub:C.service.destinationName||C.service.connectedSystem?.destination||C.service.connectedSystem?.backendSystem?C.service.source=a.DatasourceType.sapSystem:C.service.source=a.DatasourceType.odataServiceUrl:C.service.source=a.DatasourceType.none),s.skipStepKeys&&Array.isArray(s.skipStepKeys)&&(f=[...r],s.skipStepKeys.forEach((e=>{const r=f.findIndex((r=>r.key===e));f.splice(r,1)}))),{state:C,steps:f,floorplans:s.floorplans,promptSettings:s.promptSettings,generatorOptions:s.generatorOptions}}}r.AdaptorManager=AdaptorManager,AdaptorManager.adaptors=[n.CapServiceAdaptor,E.MtaLaunchAdaptor,h.LCAPServiceAdaptor,I.ServiceCenterStoryboardAdaptor,f.AdtAdaptor,c.SapSystemAdaptor,L.StoryboardNoDatasourceAdaptor,p.ServiceGeneratorAdaptor,Q.AbapFullstackStoryboardAdaptor],AdaptorManager._logger=C.DefaultLogger},99415:(e,r,s)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AdtAdaptor=void 0;const o=s(53369),C=s(69884);r.AdtAdaptor=class ADTAdaptor{static isADTData(e){return!(!e.service?.serviceUrl||!e.service?.edmx||"ADT_DATA"!==e.type)}static transform(e){if(ADTAdaptor.isADTData(e)){const r=e,{origin:s,pathname:a,searchParams:i}=new URL(r.service.serviceUrl),f="sap-client";let n;i.has(f)&&(n=i.get(f),i.delete(f));const h=i.toString()?"?"+i.toString():"",E="/$metadata",I=a.includes(E)?a.replace(E,""):a;return{service:{source:C.DatasourceType.odataServiceUrl,host:s,servicePath:I+h,client:n,annotations:r.annotations,edmx:r.service.edmx,destinationName:r.service.destination},generatorOptions:{preselectedEntityName:r.entityConfig.mainEntity.entityName},skipStepKeys:[o.STEP_DATASOURCE_AND_SERVICE]}}}}},74015:(e,r,s)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.CapServiceAdaptor=void 0;const o=s(53369),C=s(58012),a=s(69884),i=s(16928);r.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 r=e,s=(0,C.getCapFolderPathsSync)(r.path)?.app;return{service:{capService:{appPath:s,projectPath:r.path,serviceName:r.service,capType:(0,o.capTypeConversion)(r.type)},version:a.OdataVersion.v4},project:{targetFolder:(0,i.join)(r.path,s)}}}}}},55639:function(e,r,s){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.LCAPServiceAdaptor=void 0;const C=s(79896),a=o(s(16928)),i=s(53369);r.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 r=e;e.serviceEdmxFilePath&&(r.service.edmxPath=(0,C.readFileSync)(e.serviceEdmxFilePath).toString());const{dir:s,name:o}=a.default.parse(r.target);if(r.service.path.endsWith("/")||(r.service.path=`${r.service.path}/`),r.projectId){const e=`${r.projectId}.${r.projectName}`;r.projectName=e.length>70?e.substring(0,70):e}return{floorplans:[i.FloorplanFE.FE_LROP,i.FloorplanFE.FE_FEOP,i.FloorplanFE.FE_FPM],project:{ui5Version:"1.120.13",ui5Theme:"sap_horizon",name:r.projectName,title:r.displayName||r.projectName,description:r.projectDescription??"",targetFolder:r.target,addFlpConfig:!0,sapux:!0,entityConfig:{tableType:"ResponsiveTable"}},service:{edmx:r.service.edmxPath,capService:{appPath:o,projectPath:s,serviceName:r.service.name,capType:"Node.js",serviceCdsPath:r.service.sourcePath.replace(/.csn$|.cds$/,"")},servicePath:r.service.path},generatorOptions:{showLayoutPrompts:!1},skipStepKeys:[i.STEP_DATASOURCE_AND_SERVICE,i.STEP_PROJECT_ATTRIBUTES,i.STEP_FLP_CONFIG]}}}}},63771:(e,r,s)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.MtaLaunchAdaptor=void 0;const o=s(16928);r.MtaLaunchAdaptor=class MtaLaunchAdaptor{static isMtaLaunchBAS(e){return"object"==typeof e&&e.mtaFilePath}static transform(e){if(MtaLaunchAdaptor.isMtaLaunchBAS(e)){const r=e;return{project:{targetFolder:(0,o.extname)(r.mtaFilePath||"")?(0,o.dirname)(r.mtaFilePath):r.mtaFilePath}}}}}},9062:(e,r,s)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.ServiceCenterStoryboardAdaptor=void 0;const o=s(53369),C=s(69884),a=s(35685),i=s(79896);r.ServiceCenterStoryboardAdaptor=class ServiceCenterStoryboardAdaptor{static isServiceConnectivityData(e){if(!e.serviceConnectivityData)return!1;const r=e.serviceConnectivityData;return!!(r.providerSystem?.name&&r.providerSystem?.url&&r.metadata?.odataContent&&r.relativeURL)}static transform(e){if(ServiceCenterStoryboardAdaptor.isServiceConnectivityData(e)){const r=e,s=r.serviceConnectivityData;e.odataContentPath&&(s.metadata.odataContent=(0,i.readFileSync)(e.odataContentPath,"utf-8").toString()),"SAMLAssertion"===s.providerSystem.authenticationType&&s.providerSystem.url.includes("-api")&&(s.providerSystem.url=s.providerSystem.url.replace(/-api/,""));const{origin:f,pathname:n,searchParams:h}=s.relativeURL.match(/^\/$|^$/)?new URL(s.providerSystem.url):new URL(s.relativeURL,s.providerSystem.url);let E;h.has(o.SAP_CLIENT_KEY)&&(E=h.get(o.SAP_CLIENT_KEY),h.delete(o.SAP_CLIENT_KEY));const I=h.toString()?"?"+h.toString():"";let c,p;if(s.metadata.annotations?.[0]){const e=s.metadata.annotations[0];c=[{Definitions:e.data,TechnicalName:e.technicalName,Uri:e.src,Version:e.version}]}[a.ProviderType.ApiHub,a.ProviderType.ApiHubEnt].includes(s.providerType)&&(p={apiHubKey:s.apiHubKey,apiHubType:s.providerType===a.ProviderType.ApiHub?"API_HUB":"API_HUB_ENTERPRISE"});let L=[...Object.values(o.FloorplanFF),...Object.values(o.FloorplanFE)];r.excludeFloorplans&&(L=L.filter((e=>!r.excludeFloorplans.includes(e))));const Q={floorplans:L,service:{source:p?C.DatasourceType.businessHub:C.DatasourceType.sapSystem,host:f,servicePath:n+I,client:E,destinationName:p?void 0:s.providerSystem.name,destinationAuthType:"API_HUB"===p?.apiHubType?void 0:s.providerSystem.authenticationType,annotations:c,edmx:s.metadata.odataContent,apiHubConfig:p},skipStepKeys:[o.STEP_DATASOURCE_AND_SERVICE]};if(r.targetPath||r.projectName){Object.assign(Q,{project:{},promptSettings:{}}),Object.assign(Q.project,r.targetPath?{targetFolder:r.targetPath}:void 0,r.projectName?{name:r.projectName}:void 0);const e={name:{hide:!!r.projectName},targetFolder:{hide:!!r.targetPath}};Q.promptSettings=e,Q.generatorOptions={writeLaunchConfigstoAppOnly:!0}}return Q}}}},52548:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.SapSystemAdaptor=r.adaptorTypeSapSystem=void 0,r.adaptorTypeSapSystem="SAP_SYSTEMS_DATA";r.SapSystemAdaptor=class SAPSystemAdaptor{static isSapSystemData(e){return!("object"!=typeof e||!e.systemName||e.type!==r.adaptorTypeSapSystem)}static transform(e){if(SAPSystemAdaptor.isSapSystemData(e)){return{promptSettings:{systemSelection:{defaultChoice:e.systemName}}}}}}},60743:(e,r,s)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.ServiceGeneratorAdaptor=void 0;const o=s(53369),C=s(69884);r.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 r=e,s={service:{source:C.DatasourceType.sapSystem,host:r.system.url,servicePath:r.service.url,client:r.system.client,destinationName:r.system.destination,edmx:r.service.metadata},skipStepKeys:[o.STEP_DATASOURCE_AND_SERVICE]};if(r.project?.targetPath){const e=r.project.targetPath,o=r.project.name;Object.assign(s,{project:{},promptSettings:{}}),Object.assign(s.project,{targetFolder:e},{name:o});const C={name:{hide:!!o},targetFolder:{hide:!!e}};s.promptSettings=C,s.generatorOptions={writeLaunchConfigstoAppOnly:!0}}return s}}}},39623:(e,r,s)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.StoryboardNoDatasourceAdaptor=void 0;const o=s(53369);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 r=e,s={floorplans:[o.FloorplanFF.FF_SIMPLE],skipStepKeys:[o.STEP_DATASOURCE_AND_SERVICE]};Object.assign(s,{project:{},promptSettings:{}}),Object.assign(s.project,r.targetPath?{targetFolder:r.targetPath}:void 0,r.projectName?{name:r.projectName}:void 0);const C={name:{hide:!!r.projectName},targetFolder:{hide:!!r.targetPath}};return s.promptSettings=C,s.generatorOptions={writeLaunchConfigstoAppOnly:!0,showTemplateSelectionStepIfOnlyOne:!0},r.wizardMessage&&(s.generatorOptions.wizardMessage=r.wizardMessage),s}}}r.StoryboardNoDatasourceAdaptor=StoryboardNoDatasourceAdaptor},98548:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.GUIDED_ANSWERS_EXTENSION_ID=void 0,r.GUIDED_ANSWERS_EXTENSION_ID="saposs.sap-guided-answers-extension"},93829:function(e,r,s){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.Template=r.PROJECT_TYPE=r.OdataVersion=r.generatorName=r.FloorplanFF=r.FloorplanFE=void 0;const C=s(98434),a=s(58012),i=s(35752),f=s(69884);Object.defineProperty(r,"OdataVersion",{enumerable:!0,get:function(){return f.OdataVersion}});const n=s(53369);Object.defineProperty(r,"FloorplanFE",{enumerable:!0,get:function(){return n.FloorplanFE}}),Object.defineProperty(r,"FloorplanFF",{enumerable:!0,get:function(){return n.FloorplanFF}}),Object.defineProperty(r,"generatorName",{enumerable:!0,get:function(){return n.generatorName}}),Object.defineProperty(r,"PROJECT_TYPE",{enumerable:!0,get:function(){return n.PROJECT_TYPE}}),Object.defineProperty(r,"Template",{enumerable:!0,get:function(){return n.Template}});const h=s(76982),E=o(s(27381)),I=o(s(63422)),c=o(s(91170)),p=s(52935),L=s(63852),Q=s(67094),v=s(98548);class Fiori extends c.default{constructor(e,r){if(r.force=!0,super(e,r),r.testMode||this.env.lookup({packagePatterns:["@sap/generator-fiori"]}),"function"==typeof r.appWizard?.setHeaderTitle){const{packageJson:{displayName:e="",name:s="",version:o=""}={}}=I.default.sync({cwd:this.resolved,normalize:!1})||{};r.appWizard.setHeaderTitle(e||s,`${s}@${o}`)}this.argument("logLevel",{default:"off",description:(0,p.t)("INFO_MSG_CLI_ARGUMENT_LOG_LEVEL_DESCRIPTION"),required:!1,type:String}),this.option("disableGeneratorExtensions",{description:(0,p.t)("INFO_OPTIONS_DISABLE_GENERATOR_EXTENSIONS"),type:Boolean,default:!1}),(0,a.isExtensionInstalled)(this.options.vscode,v.GUIDED_ANSWERS_EXTENSION_ID)&&(0,C.enableFeature)(n.Features.enableGAIntegration),this.options.logWrapper=this.logger=Q.AdaptorManager.logger=this._configureLogging(this.options.logLevel,this.options.logger,this.options.vscode);const{state:s={},steps:o=[...n.FIORI_STEPS],floorplans:i,promptSettings:f,generatorOptions:h}=Q.AdaptorManager.transformToStepState(this.options.data,n.FIORI_STEPS);if(this.state=s,this.floorplans=i,this.promptSettings=f,Object.assign(this.options,h),r.appWizard&&this.options.wizardMessage&&(0,L.showWizardMessage)(this.options.wizardMessage,r.appWizard),!this.state?.project?.targetFolder&&this.options.vscode&&(this.state.project=Object.assign({},this.state?.project??{},{targetFolder:(0,a.getDefaultTargetFolder)(this.options.vscode)})),this.options.workspaceFolders=(0,L.getWorkspaceFolders)(this.options.vscode),this.floorplans&&1===this.floorplans.length&&!this.options.showTemplateSelectionStepIfOnlyOne){const e=o.findIndex((e=>e.key===n.STEP_FLOORPLAN));o.splice(e,1)}this.fioriSteps=o,this._setPrompts(o),this.env.conflicter&&(this.env.conflicter.force=r.force||!1)}_configureLogging(e,r,s){const o=new a.LogWrapper(this.rootGeneratorName(),this.log,e,r,s);return o.debug((0,p.t)("LOGGING_INITIALISED",{logLevel:e})),o}_setPrompts(e){this.yeomanUiStepConfig=(0,n.getYeomanUiStepConfig)(e),this.prompts=this.yeomanUiStepConfig.activeSteps,this.setPromptsCallback=e=>{this.prompts&&this.prompts.setCallback(e)}}async prompting(){let e;if((0,n.hasStep)(this.fioriSteps,n.STEP_FLOORPLAN)){const r=await this.prompt([await(0,L.getFloorplanPrompt)(this.floorplans)]);e=r.templateSelection}else e=Array.isArray(this.floorplans)&&this.floorplans.length>0?this.floorplans[0]:void 0;this.composeWith((0,p.getFioriAppSubGeneratorName)(),{arguments:this.args,...Object.assign(this.options,{yeomanUiStepConfig:this.yeomanUiStepConfig,fioriSteps:this.fioriSteps,state:this.state,floorplan:e,telemetryData:a.TelemetryHelper.telemetryData,promptSettings:this.promptSettings}),parent:this}),this.options.conditionalSteps?.forEach((r=>{r.when({floorplan:e})&&this.prompts.splice(this.prompts.size()-1,0,[r])}))}default(){if(this.fioriGenExtPath){const e={project:(0,E.default)(this.state.project)??{},service:(0,E.default)(this.state.service),entityRelatedConfig:(0,E.default)(this.state.entityRelatedConfig),floorplan:this.state.floorplan};e.floorplan===n.FloorplanFF.FF_SIMPLE?e.project.template=n.Template.Simple:e.project.projectType=e.floorplan,this.composeWith(this.fioriGenExtPath,{state:e})}}async _findGeneratorExtensions(){const e=await(0,i.findInstalledPackages)("fiori-gen-ext",{keyword:"fiori-generator-extension",vscWorkspaceConfig:this.options.vscode?.workspace?.getConfiguration()});let r;for await(const s of e)if(this.logger.info((0,p.t)("INFO_MSG_SUB_GENERATOR_FOUND",{generatorInfo:{path:s.path,name:s.packageInfo.name,version:s.packageInfo.version}})),!r){r=s;const e=this.env.create(s.path),o="function"==typeof e._getSteps?e._getSteps():[];this.prompts.splice(this.prompts.size(),0,o.filter((e=>!e.when))),this.options.conditionalSteps=o.filter((e=>!!e.when));const C="function"==typeof e._getExtensions?e._getExtensions()?.[this.rootGeneratorName()]:{};this.options.extensions=C;const i="function"==typeof e._getSettings?e._getSettings():void 0;Object.assign(this.options,i),this.logger.info((0,p.t)("INFO_MSG_SUB_GENERATOR_APPLIED",{generatorInfo:{name:s.packageInfo.name,version:s.packageInfo.version,additionalSteps:Array.isArray(o)?o.length:0,extensionsAdded:!!C}})),this.logger.trace(`Creating telemetry data for Fiori generator extension. 'enableTelemetryData': ${e.enableTelemetryData}`);let f={FioriGenExtId:(0,h.createHash)("sha256").update(s.packageInfo.name??"").digest("hex"),FioriGenExtCustomisedPrompts:Object.keys(C??[]).join(),FioriGenExtAddedSteps:o.length.toString()};const n={FioriGenExtModuleName:s.packageInfo.name},E={FioriGenExtModuleVersion:s.packageInfo.version};e.enableTelemetryData&&(f=Object.assign(f,n,E)),a.TelemetryHelper.createTelemetryData(f)}return r?.path}async initializing(){this.options.disableGeneratorExtensions||(this.fioriGenExtPath=await this._findGeneratorExtensions())}install(){}}r.default=Fiori},63852:(e,r,s)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getTemplateChoices=getTemplateChoices,r.getFloorplanPrompt=async function getFloorplanPrompt(e){let r=[];const s=await getTemplateChoices();r=e?e.map((e=>s[e])):Object.values(s);return{type:"list",name:"templateSelection",guiType:"tiles",message:`${(0,f.t)("CREATE_APP_MESSAGE")}`,guiOptions:{breadcrumb:(0,f.t)("LABEL_SELECTED_TEMPLATE_BREADCRUMB")},choices:r,when:e=>!e.applicationType||"SAP Fiori"===e.applicationType}},r.getWorkspaceFolders=function getWorkspaceFolders(e){const r=[];e&&e.workspace?.workspaceFolders?.length>0?e.workspace.workspaceFolders.filter((e=>"file"===e.uri.scheme)).forEach((e=>{r.push(e.uri.fsPath)})):(0,a.getHostEnvironment)()===a.hostEnvironment.cli&&r.push(process.cwd());return r},r.showWizardMessage=function showWizardMessage(e,r){({[o.Severity.information]:e=>r.showInformation(e,o.MessageType.prompt),[o.Severity.warning]:e=>r.showWarning(e,o.MessageType.prompt),[o.Severity.error]:e=>r.showError(e,o.MessageType.prompt)})[e.severity??o.Severity.information](e.text)};const o=s(73667),C=s(53369),a=s(58012),i=s(65799),f=s(9347);async function getTemplateChoices(){return await(0,C.initI18nFioriAppSubGenerator)(),{[C.FloorplanFF.FF_SIMPLE]:{name:(0,C.t)("floorplans.label.basic"),value:C.FloorplanFF.FF_SIMPLE,homepage:"https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/14fdcc0a9d834090a07435cfef962b01.html",description:(0,C.t)("floorplans.description.basic"),image:i.getImage[C.FloorplanFF.FF_SIMPLE]},[C.FloorplanFE.FE_FPM]:{name:(0,C.t)("floorplans.label.fpm"),value:C.FloorplanFE.FE_FPM,homepage:"https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/2b2b12e708944d85a40d087194cc1edd.html",description:(0,C.t)("floorplans.description.fpm"),image:i.getImage[C.FloorplanFE.FE_FPM]},[C.FloorplanFE.FE_LROP]:{name:(0,C.t)("floorplans.label.lrop"),value:C.FloorplanFE.FE_LROP,homepage:"https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/2b2b12e708944d85a40d087194cc1edd.html",description:(0,C.t)("floorplans.description.lrop"),image:i.getImage[C.FloorplanFE.FE_LROP]},[C.FloorplanFE.FE_OVP]:{name:(0,C.t)("floorplans.label.ovp"),value:C.FloorplanFE.FE_OVP,homepage:"https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/2b2b12e708944d85a40d087194cc1edd.html",description:(0,C.t)("floorplans.description.ovp"),image:i.getImage[C.FloorplanFE.FE_OVP]},[C.FloorplanFE.FE_ALP]:{name:(0,C.t)("floorplans.label.alp"),value:C.FloorplanFE.FE_ALP,homepage:"https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/2b2b12e708944d85a40d087194cc1edd.html",description:(0,C.t)("floorplans.description.alp"),image:i.getImage[C.FloorplanFE.FE_ALP]},[C.FloorplanFE.FE_FEOP]:{name:(0,C.t)("floorplans.label.feop"),value:C.FloorplanFE.FE_FEOP,homepage:"https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/2b2b12e708944d85a40d087194cc1edd.html",description:(0,C.t)("floorplans.description.feop"),image:i.getImage[C.FloorplanFE.FE_FEOP]},[C.FloorplanFE.FE_WORKLIST]:{name:(0,C.t)("floorplans.label.worklist"),value:C.FloorplanFE.FE_WORKLIST,homepage:"https://help.sap.com/viewer/17d50220bcd848aa854c9c182d65b699/Latest/en-US/2b2b12e708944d85a40d087194cc1edd.html",description:(0,C.t)("floorplans.description.worklist"),image:i.getImage[C.FloorplanFE.FE_WORKLIST]}}}},8769:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.FE_ALP_png_base64=void 0,r.FE_ALP_png_base64="data:image/png;base64,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