UNPKG

@sap/generator-fiori

Version:

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

1 lines 9.56 kB
"use strict";exports.id=380,exports.ids=[380],exports.modules={76524:(e,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.minCdsVersion=n.satisfiesMinCdsVersion=void 0,n.enableCdsUi5Plugin=async function enableCdsUi5Plugin(e,n){n||(n=(0,r.create)((0,i.create)()));const s=(0,a.join)(e,"package.json"),c=n.readJSON(s)??{};return(0,o.ensureMinCdsVersion)(c),await(0,o.enableWorkspaces)(e,c),(0,o.addCdsPluginUi5)(c),n.writeJSON(s,c),n},n.checkCdsUi5PluginEnabled=async function checkCdsUi5PluginEnabled(e,n,s,c){n||(n=(0,r.create)((0,i.create)()));const d=(0,a.join)(e,"package.json");if(!n.exists(d))return!1;const l=n.readJSON(d),{workspaceEnabled:u}=await(0,o.getWorkspaceInfo)(e,l),f={hasMinCdsVersion:c?.version?(0,p.satisfies)(c?.version,`>=${o.minCdsVersion}`):(0,o.satisfiesMinCdsVersion)(l),isWorkspaceEnabled:u,hasCdsUi5Plugin:(0,o.hasCdsPluginUi5)(l),isCdsUi5PluginEnabled:!1};return f.isCdsUi5PluginEnabled=f.hasMinCdsVersion&&f.isWorkspaceEnabled&&f.hasCdsUi5Plugin,s?f:f.isCdsUi5PluginEnabled};const a=s(16928),i=s(64812),r=s(90718),o=s(7279);Object.defineProperty(n,"minCdsVersion",{enumerable:!0,get:function(){return o.minCdsVersion}});var c=s(7279);Object.defineProperty(n,"satisfiesMinCdsVersion",{enumerable:!0,get:function(){return c.satisfiesMinCdsVersion}});const p=s(85263)},7279:(e,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.minCdsVersion=void 0,n.ensureMinCdsVersion=function ensureMinCdsVersion(e){hasMinCdsVersion(e)||(e.dependencies??={},e.dependencies["@sap/cds"]=`^${n.minCdsVersion}`)},n.enableWorkspaces=async function enableWorkspaces(e,n){const{appWorkspace:s,workspaceEnabled:a}=await getWorkspaceInfo(e,n);if(a)return;let i=getWorkspacePackages(n);i||(n.workspaces??=[],Array.isArray(n.workspaces)?i=n.workspaces:(n.workspaces.packages=[],i=n.workspaces.packages));i.push(s)},n.addCdsPluginUi5=function addCdsPluginUi5(e){hasCdsPluginUi5(e)||(e.devDependencies??={},e.devDependencies["cds-plugin-ui5"]="^0.9.3")},n.hasMinCdsVersion=hasMinCdsVersion,n.satisfiesMinCdsVersion=function satisfiesMinCdsVersion(e){return hasMinCdsVersion(e)||(0,a.satisfies)(n.minCdsVersion,e.dependencies?.["@sap/cds"]??"0.0.0")},n.getWorkspaceInfo=getWorkspaceInfo,n.hasCdsPluginUi5=hasCdsPluginUi5;const a=s(85263),i=s(20787);n.minCdsVersion="6.8.2";function hasMinCdsVersion(e){return(0,a.gte)((0,a.coerce)(e.dependencies?.["@sap/cds"])??"0.0.0",n.minCdsVersion)}async function getWorkspaceInfo(e,n){const s=await(0,i.getCapCustomPaths)(e),a=s.app.endsWith("/")?`${s.app}*`:`${s.app}/*`;return{appWorkspace:a,workspaceEnabled:(getWorkspacePackages(n)??[]).includes(a)}}function getWorkspacePackages(e){let n;return Array.isArray(e.workspaces)?n=e.workspaces:Array.isArray(e.workspaces?.packages)&&(n=e.workspaces?.packages),n}function hasCdsPluginUi5(e){return!!e.devDependencies?.["cds-plugin-ui5"]}},81541:(e,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.getAppLaunchText=n.applyCAPUpdates=void 0;var a=s(5787);Object.defineProperty(n,"applyCAPUpdates",{enumerable:!0,get:function(){return a.applyCAPUpdates}});var i=s(68288);Object.defineProperty(n,"getAppLaunchText",{enumerable:!0,get:function(){return i.getAppLaunchText}})},34332:(e,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.getCDSWatchScript=getCDSWatchScript,n.updateRootPackageJson=async function updateRootPackageJson(e,n,s,o,c,p,d){const l=(0,i.join)(o.projectPath,"package.json"),u=e.readJSON(l)??{};d&&u&&await(0,r.enableCdsUi5Plugin)(o.projectPath,e);"Node.js"===o?.capType&&await async function updateScripts(e,n,s,a,o){const c=await(0,r.checkCdsUi5PluginEnabled)((0,i.dirname)(n),e);let p;p=o||c?getCDSWatchScript(s,a):getCDSWatchScript(s);!function updatePackageJsonWithScripts(e,n,s){e.extendJSON(n,{scripts:s})}(e,n,p)}(e,l,n,c,d);if(s){const s=(0,i.join)(o.appPath??(await(0,a.getCapCustomPaths)(o.projectPath)).app,n),r=(0,i.normalize)(s).split(/[\\/]/g).join(i.posix.sep),c=Array.isArray(u?.sapux)?[...u.sapux,r]:[r];e.extendJSON(l,{sapux:c})}},n.updateAppPackageJson=function updateAppPackageJson(e,n){const s=(0,i.join)(n,"package.json"),a=e.readJSON(s)??{};delete a.sapux,a?.scripts&&delete a.scripts["int-test"];for(const e in a.scripts)e.startsWith("start")&&delete a.scripts[e];e.writeJSON(s,a)};const a=s(20787),i=s(16928),r=s(76524);function getCDSWatchScript(e,n){return{[`watch-${e}`]:`cds watch --open ${n??e+"/webapp"}/index.html?sap-ui-xx-viewCache=false${n?" --livereload false":""}`}}},15565:(e,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.updatePomXml=function updatePomXml(e,n,s){try{const s=function readPomXml(e,n){return e.read(n).toString()}(e,n),i=(0,a.xml2js)(s,{compact:!1,ignoreComment:!1}),r="spring-boot-maven-plugin";if(0===Object.keys(i).length)return;const o=i.elements.filter((e=>"project"===e.name))?.[0].elements.filter((e=>"build"===e.name))?.[0].elements.filter((e=>"plugins"===e.name))?.[0].elements.filter((e=>"plugin"===e.name))?.filter((e=>e?.elements?.some((e=>"artifactId"===e.name&&(e.elements??[]).some((e=>e.text===r))))))?.[0].elements?.filter((e=>"configuration"===e.name))?.[0];o&&(!function addWorkspaceElement(e){if(!e?.elements||function checkIfNameExists(e,n){return e?.some((e=>e.name===n))}(e.elements,"workingDirectory"))return!1;return e.elements.push({type:"element",name:"workingDirectory",elements:[{type:"text",text:".."}]}),!0}(o),function writePomXml(e,n,s){const i=(0,a.js2xml)(s,{compact:!1,ignoreComment:!1,spaces:4}),r=/&gt/g;e.write(n,i.replace(r,"&gt"))}(e,n,i))}catch(e){s?.error(e)}};const a=s(1940)},85432:(e,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.updateTsConfig=function updateTsConfig(e,n){const s=(0,r.join)(n,a.FileName.Tsconfig);if(e.exists(s)){const n=e.readJSON(s);if(n.compilerOptions.typeRoots){const a=n.compilerOptions.typeRoots,i=a.map((e=>e.replace(/\.\//g,"../../")));e.extendJSON(s,{compilerOptions:{typeRoots:[...a,...i]}})}}},n.updateStaticLocationsInApplicationYaml=async function updateStaticLocationsInApplicationYaml(e,n,s,a){try{const a=e.read(n).toString(),r=await i.YamlDocument.newInstance(a),o=JSON.stringify(r),c=JSON.parse(o).documents;if(1===c.length&&void 0===c[0].spring["web.resources.static-locations"]){const a=c[0];a.spring["web.resources.static-locations"]=`file:./${s}`,e.write(n,(0,i.yamlDocumentToYamlString)(a))}}catch(e){a?.error((0,o.t)("error.updateApplicationYaml",{error:e}))}};const a=s(20787),i=s(55968),r=s(16928),o=s(34058)},5787:(e,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.applyCAPUpdates=async function applyCAPUpdates(e,n,s,p){const{appRoot:d,packageName:l,appId:u,sapux:f=!1,enableNPMWorkspaces:g=!1,enableCdsUi5Plugin:m=!1,enableTypescript:C=!1}=s;if(await(0,i.updateRootPackageJson)(e,l,f,n,u,p,g),"Java"===n.capType){const s=n.projectPath,i=(0,a.getCapFolderPathsSync)(s),d=(0,c.join)(s,"pom.xml");e.exists(d)&&(0,o.updatePomXml)(e,d,p);const l=(0,c.join)(s,i.srv,"src","main","resources","application.yaml");e.exists(l)&&await(0,r.updateStaticLocationsInApplicationYaml)(e,l,i.app,p)}C&&(0,r.updateTsConfig)(e,d);(m||g)&&(0,i.updateAppPackageJson)(e,d)};const a=s(58012),i=s(34332),r=s(85432),o=s(15565),c=s(16928)},68288:(e,n,s)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.getAppLaunchText=function getAppLaunchText(e,n,s){const i="Java"===e?" (```mvn spring-boot:run```)":"",r=function getCapUrl(e,n,s){const a=s??n+"/webapp";return"Java"===e?`http://localhost:8080/${n}/webapp/index.html`:`http://localhost:4004/${a}/index.html`}(e,n,s);return`${(0,a.t)("launchCapText",{mvnCommand:i,capUrl:r})}`};const a=s(34058)},34058:function(e,n,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.initI18n=initI18n,n.t=function t(e,n){return i.default.t(e,n)};const i=a(s(18092)),r=a(s(56209)),o="cap-config-writer";async function initI18n(){await i.default.init({resources:{en:{[o]:r.default}},lng:"en",fallbackLng:"en",defaultNS:o,ns:[o]})}initI18n().catch((()=>{}))},64872:function(e,n,s){var a=this&&this.__createBinding||(Object.create?function(e,n,s,a){void 0===a&&(a=s);var i=Object.getOwnPropertyDescriptor(n,s);i&&!("get"in i?!n.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return n[s]}}),Object.defineProperty(e,a,i)}:function(e,n,s,a){void 0===a&&(a=s),e[a]=n[s]}),i=this&&this.__exportStar||function(e,n){for(var s in e)"default"===s||Object.prototype.hasOwnProperty.call(n,s)||a(n,e,s)};Object.defineProperty(n,"__esModule",{value:!0}),n.satisfiesMinCdsVersion=n.enableCdsUi5Plugin=n.checkCdsUi5PluginEnabled=void 0;var r=s(76524);Object.defineProperty(n,"checkCdsUi5PluginEnabled",{enumerable:!0,get:function(){return r.checkCdsUi5PluginEnabled}}),Object.defineProperty(n,"enableCdsUi5Plugin",{enumerable:!0,get:function(){return r.enableCdsUi5Plugin}}),Object.defineProperty(n,"satisfiesMinCdsVersion",{enumerable:!0,get:function(){return r.satisfiesMinCdsVersion}}),i(s(81541),n)},56209:e=>{e.exports=JSON.parse('{"info":{"capServiceName":"cap service name {{ capServiceName }}.","cdsUpdateInfo":"Update cds file with projectPath: {{ projectPath }}, annotationPath: {{ annotationPath }}, capService: {{ capService }}."},"warn":{"cdsDKNotInstalled":"minimum cds-dk {{ minCdsVersion }} version is required to add cds watch scripts"},"error":{"updateApplicationYaml":"Error occured while updating application yaml {{ error }}"},"launchCapText":"In order to launch the generated app, simply start your CAP project{{mvnCommand}} and navigate to the following location in your browser:\\n\\n{{- capUrl}}"}')}};