UNPKG

@sap/generator-fiori

Version:

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

1 lines 9.83 kB
"use strict";exports.id=830,exports.ids=[830],exports.modules={7333:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.getMainServiceDataSource=function getMainServiceDataSource(e){let n;const i=function getMainServiceDataSourceName(e){const n=e["sap.ovp"]?.globalFilterModel??"";return e["sap.ui5"]?.models?.[n]?.dataSource}(e);i&&(n=e["sap.app"].dataSources?.[i]);return n},n.getODataSources=function getODataSources(e,n="OData"){const i={},r=e["sap.app"]?.dataSources??{};for(const e in r)r[e].uri&&r[e].type===n&&(i[e]=r[e]);return i}},55371:function(e,n,i){var r=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 c.t(e,n)};const o=r(i(68801)),s=r(i(58107)),a="mockserver-config-writer";let c;async function initI18n(){c=o.default.createInstance({resources:{en:{[a]:s.default}},lng:"en",fallbackLng:"en",defaultNS:a,ns:[a]}),await c.init()}initI18n().catch((()=>{}))},25403:function(e,n,i){var r=this&&this.__createBinding||(Object.create?function(e,n,i,r){void 0===r&&(r=i);var o=Object.getOwnPropertyDescriptor(n,i);o&&!("get"in o?!n.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return n[i]}}),Object.defineProperty(e,r,o)}:function(e,n,i,r){void 0===r&&(r=i),e[r]=n[i]}),o=this&&this.__exportStar||function(e,n){for(var i in e)"default"===i||Object.prototype.hasOwnProperty.call(n,i)||r(n,e,i)};Object.defineProperty(n,"__esModule",{value:!0}),n.t=n.getMockserverConfigQuestions=n.removeMockserverConfig=n.generateMockserverConfig=void 0;var s=i(40870);Object.defineProperty(n,"generateMockserverConfig",{enumerable:!0,get:function(){return s.generateMockserverConfig}}),Object.defineProperty(n,"removeMockserverConfig",{enumerable:!0,get:function(){return s.removeMockserverConfig}});var a=i(95770);Object.defineProperty(n,"getMockserverConfigQuestions",{enumerable:!0,get:function(){return a.getMockserverConfigQuestions}});var c=i(55371);Object.defineProperty(n,"t",{enumerable:!0,get:function(){return c.t}}),o(i(98393),n)},40870:(e,n,i)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.generateMockserverConfig=async function generateMockserverConfig(e,n,i){i||(i=(0,o.create)((0,r.create)()));n.packageJsonConfig?.skip||(0,s.enhancePackageJson)(i,e,n.packageJsonConfig);return await(0,a.enhanceYaml)(i,e,n.webappPath,n.ui5MockYamlConfig),i},n.removeMockserverConfig=async function removeMockserverConfig(e,n){n||(n=(0,o.create)((0,r.create)()));return(0,s.removeFromPackageJson)(n,e),(0,a.removeUi5MockYaml)(n,e),await(0,a.removeMockDataFolders)(n,e),n};const r=i(64812),o=i(90718),s=i(38629),a=i(44336)},38629:(e,n,i)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.enhancePackageJson=function enhancePackageJson(e,n,i){const o=(0,r.join)(n,"package.json"),s=e.readJSON(o);(function enhanceDependencies(e,n="@sap-ux/ui5-middleware-fe-mockserver",i="2"){if(e.devDependencies=e.devDependencies??{},delete e.devDependencies["@sap/ux-ui5-fe-mockserver-middleware"],e.devDependencies[n]=i,function isUi5CliHigherTwo(e){let n=!1;try{const i=e["@ui5/cli"];if("string"==typeof i){n=parseInt(i.split(".")[0].match(/\d+/)?.[0]||"0",10)>2}}catch{}return n}(e.devDependencies))removeMockserverUi5Dependencies(e);else{e.ui5||={},e.ui5.dependencies||=[];const i=e.ui5.dependencies.filter((e=>"@sap/ux-ui5-fe-mockserver-middleware"!==e));i.includes(n)||i.push(n),e.ui5.dependencies=i}})(s,i?.mockserverModule,i?.mockserverVersion),function enhanceScripts(e,n){n.scripts||={},n.scripts["start-mock"]=function copyStartScript(e){if("string"!=typeof e)return;const n="fiori run",i=e.indexOf(n);if(i<0)return;const r=e.indexOf("--config",i);return r<0?e.replace(n,`${n} --config ./ui5-mock.yaml`):function replaceConfig(e,n){const i=n+"--config".length+1,r=e.slice(i).search(/[^\s]/)+i;let o=" ",s=0;'"'!==e[r]&&"'"!==e[r]||(o=e[r],s=1);let a=e.indexOf(o,r+s);a=-1===a?e.length:a+s;return`${e.substring(0,i)}./ui5-mock.yaml${e.substring(a)}`}(e,r)}(n.scripts.start)??n.scripts["start-mock"]??'fiori run --config ./ui5-mock.yaml --open "/"'}(0,s),e.writeJSON(o,s)},n.removeFromPackageJson=function removeFromPackageJson(e,n){const i=(0,r.join)(n,"package.json"),o=e.readJSON(i);delete o.scripts?.["start-mock"],o.scripts&&0===Object.keys(o.scripts).length&&delete o.scripts;delete o.devDependencies?.["@sap/ux-ui5-fe-mockserver-middleware"],delete o.devDependencies?.["@sap-ux/ui5-middleware-fe-mockserver"],o.devDependencies&&0===Object.keys(o.devDependencies).length&&delete o.devDependencies;removeMockserverUi5Dependencies(o),e.writeJSON(i,o)};const r=i(16928);function removeMockserverUi5Dependencies(e){const n=new Set(["@sap/ux-ui5-fe-mockserver-middleware","@sap-ux/ui5-middleware-fe-mockserver"]);e.ui5?.dependencies&&Array.isArray(e.ui5.dependencies)&&(e.ui5.dependencies=e.ui5.dependencies.filter((e=>!n.has(e))),0===e.ui5.dependencies.length&&delete e.ui5.dependencies),e.ui5&&0===Object.keys(e.ui5).length&&delete e.ui5}},44336:(e,n,i)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.enhanceYaml=async function enhanceYaml(e,n,i,c){const u=!!c?.overwrite,d=(0,r.join)(n,"ui5-mock.yaml");let l;const p=e.readJSON((0,r.join)(i,"manifest.json")),f=Object.values((0,a.getODataSources)(p,"ODataAnnotation")),g=[];f.forEach((e=>{if(e.settings?.localUri!==e.uri){const o=e.settings?.localUri;g.push({localPath:o?`.${r.posix.sep}${(0,r.relative)(n,(0,r.join)(i,o)).replaceAll(r.sep,r.posix.sep)}`:void 0,urlPath:e.uri})}}));const m=(0,a.getODataSources)(p),v=[];for(const e in m){const o=m[e].settings?.localUri;v.push({serviceName:e,servicePath:m[e].uri,metadataPath:o?`.${r.posix.sep}${(0,r.relative)(n,(0,r.join)(i,o)).replaceAll(r.sep,r.posix.sep)}`:void 0})}l=e.exists(d)?await async function updateUi5MockYamlConfig(e,n,i,r,s,a,c=!1){const u=await o.UI5Config.newInstance(e.read(r));if(c){const e=await getNewMockserverMiddleware(n,i,s,a);u.updateCustomMiddleware(e)}else for(const e in s)u.addServiceToMockserverMiddleware(n,i,s[e],a);return u}(e,n,i,d,v,g,u):e.exists((0,r.join)(n,"ui5.yaml"))?await async function generateUi5MockYamlBasedOnUi5Yaml(e,n,i,r,o){const a=await(0,s.readUi5Yaml)(n,s.FileName.Ui5Yaml,e),c=await getNewMockserverMiddleware(n,i,r,o);return a.updateCustomMiddleware(c),a}(e,n,i,v,g):await async function generateNewUi5MockYamlConfig(e,n,i,r,s){const a=await o.UI5Config.newInstance('# yaml-language-server: $schema=https://sap.github.io/ui5-tooling/schema/ui5.yaml.json\n\nspecVersion: "2.5"');return a.setMetadata({name:e}),a.setType("application"),a.addFioriToolsProxydMiddleware({ui5:{}}),a.addFioriToolsAppReloadMiddleware(),a.addMockServerMiddleware(n,i,r,s),a}(p["sap.app"]?.id||"",n,i,v,g);const k=l.toString();e.write(d,k)},n.removeMockDataFolders=async function removeMockDataFolders(e,n){const i=await(0,s.getWebappPath)(n,e),o=(0,r.join)(i,s.FileName.Manifest),a=e.readJSON(o)["sap.app"].dataSources;if(a){Object.keys(a).forEach((n=>{const o=(0,r.join)(i,s.DirName.LocalService,n,s.DirName.Data);o&&e.delete(o)}))}},n.removeUi5MockYaml=function removeUi5MockYaml(e,n){const i=(0,r.join)(n,"ui5-mock.yaml");e.exists(i)&&e.delete(i)};const r=i(16928),o=i(8231),s=i(20787),a=i(7333);async function getNewMockserverMiddleware(e,n,i,r){const s=await o.UI5Config.newInstance("");s.addMockServerMiddleware(e,n,i,r);const a=s.findCustomMiddleware("sap-fe-mockserver");if(!a)throw Error("Could not create new mockserver config");return a}},95770:(e,n,i)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.getMockserverConfigQuestions=function getMockserverConfigQuestions(e){const n=[],i={name:"path",message:(0,c.t)("questions.pathToMock")};if(e?.webappPath){const n=e.fs??(0,s.create)((0,o.create)()),c=JSON.parse(n.read((0,r.join)(e.webappPath,"manifest.json"))),u=(0,a.getMainServiceDataSource)(c)?.uri??"",d=(0,a.getODataSources)(c),l=[];for(const e in d)l.push({title:`${e}: ${d[e].uri}`,value:d[e].uri,description:d[e].settings?.odataVersion??void 0});l.length>0&&(i.type="select",i.choices=l,i.initial=l.findIndex((e=>e.value===u)))}if(i.type||="text",n.push(i),e?.askForOverwrite){const e={type:"confirm",name:"overwrite",message:(0,c.t)("questions.overwrite")};n.push(e)}return n};const r=i(16928),o=i(64812),s=i(90718),a=i(7333),c=i(25403)},98393:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0})},58107:e=>{e.exports=JSON.parse('{"questions":{"pathToMock":"Path to mocked service","overwrite":"Overwrite services"}}')},15224:e=>{e.exports=JSON.parse('{"name":"@sap-ux/telemetry","version":"0.6.13","description":"Library for sending usage telemetry data","repository":{"type":"git","url":"https://github.com/SAP/open-ux-tools.git","directory":"packages/telemetry"},"bugs":{"url":"https://github.com/SAP/open-ux-tools/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3Atelemetry"},"license":"Apache-2.0","private":false,"main":"dist/index.js","dependencies":{"applicationinsights":"2.9.2","axios":"1.8.2","performance-now":"2.1.0","yaml":"2.3.3","@sap-ux/store":"1.1.2","@sap-ux/project-access":"1.30.10","@sap-ux/btp-utils":"1.1.0","@sap-ux/ui5-config":"0.29.1","@sap-ux/logger":"0.7.0"},"devDependencies":{"jest-extended":"6.0.0","memfs":"3.4.13","ts-jest":"29.4.0","ts-node":"10.9.2","unionfs":"4.4.0","dotenv":"16.3.1"},"files":["dist","LICENSE","!dist/*.map","!dist/**/*.map"],"engines":{"node":">=20.x"},"scripts":{"build":"tsc --build","watch":"tsc --watch","clean":"rimraf --glob dist coverage *.tsbuildinfo","format":"prettier --write \'**/*.{js,json,ts,yaml,yml}\' --ignore-path ../../.prettierignore","lint":"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix","test":"jest --ci --forceExit --detectOpenHandles --colors","test-u":"jest --ci --forceExit --detectOpenHandles --colors -u","link":"pnpm link --global","unlink":"pnpm unlink --global","example":"ts-node example/index.ts"}}')}};