@sap/generator-fiori
Version:
Create an SAPUI5 application using SAP Fiori elements or a freestyle approach
19 lines (18 loc) • 50.5 kB
JavaScript
const __esmImportMetaUrl = require('node:url').pathToFileURL(__filename).href;
var pt=Object.create;var me=Object.defineProperty;var gt=Object.getOwnPropertyDescriptor;var mt=Object.getOwnPropertyNames;var dt=Object.getPrototypeOf,ht=Object.prototype.hasOwnProperty;var s=(e,t)=>me(e,"name",{value:t,configurable:!0});var bt=(e,t)=>{for(var r in t)me(e,r,{get:t[r],enumerable:!0})},sn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of mt(t))!ht.call(e,i)&&i!==r&&me(e,i,{get:()=>t[i],enumerable:!(n=gt(t,i))||n.enumerable});return e};var Ot=(e,t,r)=>(r=e!=null?pt(dt(e)):{},sn(t||!e||!e.__esModule?me(r,"default",{value:e,enumerable:!0}):r,e)),At=e=>sn(me({},"__esModule",{value:!0}),e);var ir={};bt(ir,{Arguments:()=>J,FIORI_TOOLS_LAUNCH_CONFIG_HANDLER_ID:()=>de,LAUNCH_JSON_FILE:()=>z,RUN_SCRIPT:()=>yt,convertOldLaunchConfigToFioriRun:()=>Qn,createLaunchConfig:()=>$n,default:()=>rr,deleteLaunchConfig:()=>Hn,generateNewFioriLaunchConfig:()=>ne,getDefaultLaunchConfigOptionsForProject:()=>tt,getFioriOptions:()=>hn,getIndexOfArgument:()=>se,getLaunchConfigByName:()=>Kn,getLaunchConfigs:()=>Xn,handleWorkspaceConfig:()=>Ue,updateLaunchConfig:()=>nt,updateLaunchJSON:()=>Q,updateWorkspaceFoldersIfNeeded:()=>Xe});module.exports=At(ir);var J;(function(e){e.FrameworkVersion="--framework-version",e.Open="--open",e.Config="--config"})(J||(J={}));var de="fiori_tools",z="launch.json",yt="run-script";var Jn=require("../../commonlibs/mem-fs/index.js"),Pn=require("../../commonlibs/mem-fs-editor/index.js"),le=require("node:path"),Ze=require("../../open-ux-shared/project-access/index.js");var oe=require("node:path"),be=require("../../open-ux-shared/project-access/index.js");var un=require("util"),je=require("path");function ee(e){if(e!==e.toLowerCase()&&e!==e.toUpperCase()||(e=e.toLowerCase()),e.indexOf("-")===-1&&e.indexOf("_")===-1)return e;{let r="",n=!1,i=e.match(/^-+/);for(let a=i?i[0].length:0;a<e.length;a++){let u=e.charAt(a);n&&(n=!1,u=u.toUpperCase()),a!==0&&(u==="-"||u==="_")?n=!0:u!=="-"&&u!=="_"&&(r+=u)}return r}}s(ee,"camelCase");function xe(e,t){let r=e.toLowerCase();t=t||"-";let n="";for(let i=0;i<e.length;i++){let a=r.charAt(i),u=e.charAt(i);a!==u&&i>0?n+=`${t}${r.charAt(i)}`:n+=u}return n}s(xe,"decamelize");function Se(e){return e==null?!1:typeof e=="number"||/^0x[0-9a-f]+$/i.test(e)?!0:/^0[^.]/.test(e)?!1:/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(e)}s(Se,"looksLikeNumber");function cn(e){if(Array.isArray(e))return e.map(u=>typeof u!="string"?u+"":u);e=e.trim();let t=0,r=null,n=null,i=null,a=[];for(let u=0;u<e.length;u++){if(r=n,n=e.charAt(u),n===" "&&!i){r!==" "&&t++;continue}n===i?i=null:(n==="'"||n==='"')&&!i&&(i=n),a[t]||(a[t]=""),a[t]+=n}return a}s(cn,"tokenizeArgString");var H;(function(e){e.BOOLEAN="boolean",e.STRING="string",e.NUMBER="number",e.ARRAY="array"})(H||(H={}));var Y,Te=class{static{s(this,"YargsParser")}constructor(t){Y=t}parse(t,r){let n=Object.assign({alias:void 0,array:void 0,boolean:void 0,config:void 0,configObjects:void 0,configuration:void 0,coerce:void 0,count:void 0,default:void 0,envPrefix:void 0,narg:void 0,normalize:void 0,string:void 0,number:void 0,__:void 0,key:void 0},r),i=cn(t),a=typeof t=="string",u=kt(Object.assign(Object.create(null),n.alias)),l=Object.assign({"boolean-negation":!0,"camel-case-expansion":!0,"combine-arrays":!1,"dot-notation":!0,"duplicate-arguments-array":!0,"flatten-duplicate-arrays":!0,"greedy-arrays":!0,"halt-at-non-option":!1,"nargs-eats-options":!1,"negation-prefix":"no-","parse-numbers":!0,"parse-positional-numbers":!0,"populate--":!1,"set-placeholder-key":!1,"short-option-groups":!0,"strip-aliased":!1,"strip-dashed":!1,"unknown-options-as-args":!1},n.configuration),g=Object.assign(Object.create(null),n.default),h=n.configObjects||[],O=n.envPrefix,N=l["populate--"],E=N?"--":"_",x=Object.create(null),T=Object.create(null),v=n.__||Y.format,p={aliases:Object.create(null),arrays:Object.create(null),bools:Object.create(null),strings:Object.create(null),numbers:Object.create(null),counts:Object.create(null),normalize:Object.create(null),configs:Object.create(null),nargs:Object.create(null),coercions:Object.create(null),keys:[]},U=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,M=new RegExp("^--"+l["negation-prefix"]+"(.+)");[].concat(n.array||[]).filter(Boolean).forEach(function(o){let f=typeof o=="object"?o.key:o,d=Object.keys(o).map(function(m){return{boolean:"bools",string:"strings",number:"numbers"}[m]}).filter(Boolean).pop();d&&(p[d][f]=!0),p.arrays[f]=!0,p.keys.push(f)}),[].concat(n.boolean||[]).filter(Boolean).forEach(function(o){p.bools[o]=!0,p.keys.push(o)}),[].concat(n.string||[]).filter(Boolean).forEach(function(o){p.strings[o]=!0,p.keys.push(o)}),[].concat(n.number||[]).filter(Boolean).forEach(function(o){p.numbers[o]=!0,p.keys.push(o)}),[].concat(n.count||[]).filter(Boolean).forEach(function(o){p.counts[o]=!0,p.keys.push(o)}),[].concat(n.normalize||[]).filter(Boolean).forEach(function(o){p.normalize[o]=!0,p.keys.push(o)}),typeof n.narg=="object"&&Object.entries(n.narg).forEach(([o,f])=>{typeof f=="number"&&(p.nargs[o]=f,p.keys.push(o))}),typeof n.coerce=="object"&&Object.entries(n.coerce).forEach(([o,f])=>{typeof f=="function"&&(p.coercions[o]=f,p.keys.push(o))}),typeof n.config<"u"&&(Array.isArray(n.config)||typeof n.config=="string"?[].concat(n.config).filter(Boolean).forEach(function(o){p.configs[o]=!0}):typeof n.config=="object"&&Object.entries(n.config).forEach(([o,f])=>{(typeof f=="boolean"||typeof f=="function")&&(p.configs[o]=f)})),ot(n.key,u,n.default,p.arrays),Object.keys(g).forEach(function(o){(p.aliases[o]||[]).forEach(function(f){g[f]=g[o]})});let A=null;ut();let j=[],k=Object.assign(Object.create(null),{_:[]}),I={};for(let o=0;o<i.length;o++){let f=i[o],d=f.replace(/^-{3,}/,"---"),m,c,w,y,L,B;if(f!=="--"&&/^-/.test(f)&&_e(f))b(f);else if(d.match(/^---+(=|$)/)){b(f);continue}else if(f.match(/^--.+=/)||!l["short-option-groups"]&&f.match(/^-.+=/))y=f.match(/^--?([^=]+)=([\s\S]*)$/),y!==null&&Array.isArray(y)&&y.length>=3&&(_(y[1],p.arrays)?o=D(o,y[1],i,y[2]):_(y[1],p.nargs)!==!1?o=P(o,y[1],i,y[2]):F(y[1],y[2],!0));else if(f.match(M)&&l["boolean-negation"])y=f.match(M),y!==null&&Array.isArray(y)&&y.length>=2&&(c=y[1],F(c,_(c,p.arrays)?[!1]:!1));else if(f.match(/^--.+/)||!l["short-option-groups"]&&f.match(/^-[^-]+/))y=f.match(/^--?(.+)/),y!==null&&Array.isArray(y)&&y.length>=2&&(c=y[1],_(c,p.arrays)?o=D(o,c,i):_(c,p.nargs)!==!1?o=P(o,c,i):(L=i[o+1],L!==void 0&&(!L.match(/^-/)||L.match(U))&&!_(c,p.bools)&&!_(c,p.counts)||/^(true|false)$/.test(L)?(F(c,L),o++):F(c,ie(c))));else if(f.match(/^-.\..+=/))y=f.match(/^-([^=]+)=([\s\S]*)$/),y!==null&&Array.isArray(y)&&y.length>=3&&F(y[1],y[2]);else if(f.match(/^-.\..+/)&&!f.match(U))L=i[o+1],y=f.match(/^-(.\..+)/),y!==null&&Array.isArray(y)&&y.length>=2&&(c=y[1],L!==void 0&&!L.match(/^-/)&&!_(c,p.bools)&&!_(c,p.counts)?(F(c,L),o++):F(c,ie(c)));else if(f.match(/^-[^-]+/)&&!f.match(U)){w=f.slice(1,-1).split(""),m=!1;for(let $=0;$<w.length;$++){if(L=f.slice($+2),w[$+1]&&w[$+1]==="="){B=f.slice($+3),c=w[$],_(c,p.arrays)?o=D(o,c,i,B):_(c,p.nargs)!==!1?o=P(o,c,i,B):F(c,B),m=!0;break}if(L==="-"){F(w[$],L);continue}if(/[A-Za-z]/.test(w[$])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(L)&&_(L,p.bools)===!1){F(w[$],L),m=!0;break}if(w[$+1]&&w[$+1].match(/\W/)){F(w[$],L),m=!0;break}else F(w[$],ie(w[$]))}c=f.slice(-1)[0],!m&&c!=="-"&&(_(c,p.arrays)?o=D(o,c,i):_(c,p.nargs)!==!1?o=P(o,c,i):(L=i[o+1],L!==void 0&&(!/^(-|--)[^-]/.test(L)||L.match(U))&&!_(c,p.bools)&&!_(c,p.counts)||/^(true|false)$/.test(L)?(F(c,L),o++):F(c,ie(c))))}else if(f.match(/^-[0-9]$/)&&f.match(U)&&_(f.slice(1),p.bools))c=f.slice(1),F(c,ie(c));else if(f==="--"){j=i.slice(o+1);break}else if(l["halt-at-non-option"]){j=i.slice(o);break}else b(f)}C(k,!0),C(k,!1),S(k),Ee(),rn(k,p.aliases,g,!0),rt(k),l["set-placeholder-key"]&&it(k),Object.keys(p.counts).forEach(function(o){pe(k,o.split("."))||F(o,0)}),N&&j.length&&(k[E]=[]),j.forEach(function(o){k[E].push(o)}),l["camel-case-expansion"]&&l["strip-dashed"]&&Object.keys(k).filter(o=>o!=="--"&&o.includes("-")).forEach(o=>{delete k[o]}),l["strip-aliased"]&&[].concat(...Object.keys(u).map(o=>u[o])).forEach(o=>{l["camel-case-expansion"]&&o.includes("-")&&delete k[o.split(".").map(f=>ee(f)).join(".")],delete k[o]});function b(o){let f=q("_",o);(typeof f=="string"||typeof f=="number")&&k._.push(f)}s(b,"pushPositional");function P(o,f,d,m){let c,w=_(f,p.nargs);if(w=typeof w!="number"||isNaN(w)?1:w,w===0)return G(m)||(A=Error(v("Argument unexpected for: %s",f))),F(f,ie(f)),o;let y=G(m)?0:1;if(l["nargs-eats-options"])d.length-(o+1)+y<w&&(A=Error(v("Not enough arguments following: %s",f))),y=w;else{for(c=o+1;c<d.length&&(!d[c].match(/^-[^0-9]/)||d[c].match(U)||_e(d[c]));c++)y++;y<w&&(A=Error(v("Not enough arguments following: %s",f)))}let L=Math.min(y,w);for(!G(m)&&L>0&&(F(f,m),L--),c=o+1;c<L+o+1;c++)F(f,d[c]);return o+L}s(P,"eatNargs");function D(o,f,d,m){let c=[],w=m||d[o+1],y=_(f,p.nargs);if(_(f,p.bools)&&!/^(true|false)$/.test(w))c.push(!0);else if(G(w)||G(m)&&/^-/.test(w)&&!U.test(w)&&!_e(w)){if(g[f]!==void 0){let L=g[f];c=Array.isArray(L)?L:[L]}}else{G(m)||c.push(ue(f,m,!0));for(let L=o+1;L<d.length&&!(!l["greedy-arrays"]&&c.length>0||y&&typeof y=="number"&&c.length>=y||(w=d[L],/^-/.test(w)&&!U.test(w)&&!_e(w)));L++)o=L,c.push(ue(f,w,a))}return typeof y=="number"&&(y&&c.length<y||isNaN(y)&&c.length===0)&&(A=Error(v("Not enough arguments following: %s",f))),F(f,c),o}s(D,"eatArray");function F(o,f,d=a){if(/-/.test(o)&&l["camel-case-expansion"]){let w=o.split(".").map(function(y){return ee(y)}).join(".");re(o,w)}let m=ue(o,f,d),c=o.split(".");ge(k,c,m),p.aliases[o]&&p.aliases[o].forEach(function(w){let y=w.split(".");ge(k,y,m)}),c.length>1&&l["dot-notation"]&&(p.aliases[c[0]]||[]).forEach(function(w){let y=w.split("."),L=[].concat(c);L.shift(),y=y.concat(L),(p.aliases[o]||[]).includes(y.join("."))||ge(k,y,m)}),_(o,p.normalize)&&!_(o,p.arrays)&&[o].concat(p.aliases[o]||[]).forEach(function(y){Object.defineProperty(I,y,{enumerable:!0,get(){return f},set(L){f=typeof L=="string"?Y.normalize(L):L}})})}s(F,"setArg");function re(o,f){p.aliases[o]&&p.aliases[o].length||(p.aliases[o]=[f],x[f]=!0),p.aliases[f]&&p.aliases[f].length||re(f,o)}s(re,"addNewAlias");function ue(o,f,d){d&&(f=wt(f)),(_(o,p.bools)||_(o,p.counts))&&typeof f=="string"&&(f=f==="true");let m=Array.isArray(f)?f.map(function(c){return q(o,c)}):q(o,f);return _(o,p.counts)&&(G(m)||typeof m=="boolean")&&(m=Be()),_(o,p.normalize)&&_(o,p.arrays)&&(Array.isArray(f)?m=f.map(c=>Y.normalize(c)):m=Y.normalize(f)),m}s(ue,"processValue");function q(o,f){return!l["parse-positional-numbers"]&&o==="_"||!_(o,p.strings)&&!_(o,p.bools)&&!Array.isArray(f)&&(Se(f)&&l["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${f}`)))||!G(f)&&_(o,p.numbers))&&(f=Number(f)),f}s(q,"maybeCoerceNumber");function S(o){let f=Object.create(null);rn(f,p.aliases,g),Object.keys(p.configs).forEach(function(d){let m=o[d]||f[d];if(m)try{let c=null,w=Y.resolve(Y.cwd(),m),y=p.configs[d];if(typeof y=="function"){try{c=y(w)}catch(L){c=L}if(c instanceof Error){A=c;return}}else c=Y.require(w);R(c)}catch(c){c.name==="PermissionDenied"?A=c:o[d]&&(A=Error(v("Invalid JSON config file: %s",m)))}})}s(S,"setConfig");function R(o,f){Object.keys(o).forEach(function(d){let m=o[d],c=f?f+"."+d:d;typeof m=="object"&&m!==null&&!Array.isArray(m)&&l["dot-notation"]?R(m,c):(!pe(k,c.split("."))||_(c,p.arrays)&&l["combine-arrays"])&&F(c,m)})}s(R,"setConfigObject");function Ee(){typeof h<"u"&&h.forEach(function(o){R(o)})}s(Ee,"setConfigObjects");function C(o,f){if(typeof O>"u")return;let d=typeof O=="string"?O:"",m=Y.env();Object.keys(m).forEach(function(c){if(d===""||c.lastIndexOf(d,0)===0){let w=c.split("__").map(function(y,L){return L===0&&(y=y.substring(d.length)),ee(y)});(f&&p.configs[w.join(".")]||!f)&&!pe(o,w)&&F(w.join("."),m[c])}})}s(C,"applyEnvVars");function rt(o){let f,d=new Set;Object.keys(o).forEach(function(m){if(!d.has(m)&&(f=_(m,p.coercions),typeof f=="function"))try{let c=q(m,f(o[m]));[].concat(p.aliases[m]||[],m).forEach(w=>{d.add(w),o[w]=c})}catch(c){A=c}})}s(rt,"applyCoercions");function it(o){return p.keys.forEach(f=>{~f.indexOf(".")||typeof o[f]>"u"&&(o[f]=void 0)}),o}s(it,"setPlaceholderKeys");function rn(o,f,d,m=!1){Object.keys(d).forEach(function(c){pe(o,c.split("."))||(ge(o,c.split("."),d[c]),m&&(T[c]=!0),(f[c]||[]).forEach(function(w){pe(o,w.split("."))||ge(o,w.split("."),d[c])}))})}s(rn,"applyDefaultsAndAliases");function pe(o,f){let d=o;l["dot-notation"]||(f=[f.join(".")]),f.slice(0,-1).forEach(function(c){d=d[c]||{}});let m=f[f.length-1];return typeof d!="object"?!1:m in d}s(pe,"hasKey");function ge(o,f,d){let m=o;l["dot-notation"]||(f=[f.join(".")]),f.slice(0,-1).forEach(function(B){B=an(B),typeof m=="object"&&m[B]===void 0&&(m[B]={}),typeof m[B]!="object"||Array.isArray(m[B])?(Array.isArray(m[B])?m[B].push({}):m[B]=[m[B],{}],m=m[B][m[B].length-1]):m=m[B]});let c=an(f[f.length-1]),w=_(f.join("."),p.arrays),y=Array.isArray(d),L=l["duplicate-arguments-array"];!L&&_(c,p.nargs)&&(L=!0,(!G(m[c])&&p.nargs[c]===1||Array.isArray(m[c])&&m[c].length===p.nargs[c])&&(m[c]=void 0)),d===Be()?m[c]=Be(m[c]):Array.isArray(m[c])?L&&w&&y?m[c]=l["flatten-duplicate-arrays"]?m[c].concat(d):(Array.isArray(m[c][0])?m[c]:[m[c]]).concat([d]):!L&&!!w==!!y?m[c]=d:m[c]=m[c].concat([d]):m[c]===void 0&&w?m[c]=y?d:[d]:L&&!(m[c]===void 0||_(c,p.counts)||_(c,p.bools))?m[c]=[m[c],d]:m[c]=d}s(ge,"setKey");function ot(...o){o.forEach(function(f){Object.keys(f||{}).forEach(function(d){p.aliases[d]||(p.aliases[d]=[].concat(u[d]||[]),p.aliases[d].concat(d).forEach(function(m){if(/-/.test(m)&&l["camel-case-expansion"]){let c=ee(m);c!==d&&p.aliases[d].indexOf(c)===-1&&(p.aliases[d].push(c),x[c]=!0)}}),p.aliases[d].concat(d).forEach(function(m){if(m.length>1&&/[A-Z]/.test(m)&&l["camel-case-expansion"]){let c=xe(m,"-");c!==d&&p.aliases[d].indexOf(c)===-1&&(p.aliases[d].push(c),x[c]=!0)}}),p.aliases[d].forEach(function(m){p.aliases[m]=[d].concat(p.aliases[d].filter(function(c){return m!==c}))}))})})}s(ot,"extendAliases");function _(o,f){let d=[].concat(p.aliases[o]||[],o),m=Object.keys(f),c=d.find(w=>m.includes(w));return c?f[c]:!1}s(_,"checkAllAliases");function on(o){let f=Object.keys(p);return[].concat(f.map(m=>p[m])).some(function(m){return Array.isArray(m)?m.includes(o):m[o]})}s(on,"hasAnyFlag");function st(o,...f){return[].concat(...f).some(function(m){let c=o.match(m);return c&&on(c[1])})}s(st,"hasFlagsMatching");function ct(o){if(o.match(U)||!o.match(/^-[^-]+/))return!1;let f=!0,d,m=o.slice(1).split("");for(let c=0;c<m.length;c++){if(d=o.slice(c+2),!on(m[c])){f=!1;break}if(m[c+1]&&m[c+1]==="="||d==="-"||/[A-Za-z]/.test(m[c])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(d)||m[c+1]&&m[c+1].match(/\W/))break}return f}s(ct,"hasAllShortFlags");function _e(o){return l["unknown-options-as-args"]&&at(o)}s(_e,"isUnknownOptionAsArg");function at(o){return o=o.replace(/^-{3,}/,"--"),o.match(U)||ct(o)?!1:!st(o,/^-+([^=]+?)=[\s\S]*$/,M,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}s(at,"isUnknownOption");function ie(o){return!_(o,p.bools)&&!_(o,p.counts)&&`${o}`in g?g[o]:ft(lt(o))}s(ie,"defaultValue");function ft(o){return{[H.BOOLEAN]:!0,[H.STRING]:"",[H.NUMBER]:void 0,[H.ARRAY]:[]}[o]}s(ft,"defaultForType");function lt(o){let f=H.BOOLEAN;return _(o,p.strings)?f=H.STRING:_(o,p.numbers)?f=H.NUMBER:_(o,p.bools)?f=H.BOOLEAN:_(o,p.arrays)&&(f=H.ARRAY),f}s(lt,"guessType");function G(o){return o===void 0}s(G,"isUndefined");function ut(){Object.keys(p.counts).find(o=>_(o,p.arrays)?(A=Error(v("Invalid configuration: %s, opts.count excludes opts.array.",o)),!0):_(o,p.nargs)?(A=Error(v("Invalid configuration: %s, opts.count excludes opts.narg.",o)),!0):!1)}return s(ut,"checkConfiguration"),{aliases:Object.assign({},p.aliases),argv:Object.assign(I,k),configuration:l,defaulted:Object.assign({},T),error:A,newAliases:Object.assign({},x)}}};function kt(e){let t=[],r=Object.create(null),n=!0;for(Object.keys(e).forEach(function(i){t.push([].concat(e[i],i))});n;){n=!1;for(let i=0;i<t.length;i++)for(let a=i+1;a<t.length;a++)if(t[i].filter(function(l){return t[a].indexOf(l)!==-1}).length){t[i]=t[i].concat(t[a]),t.splice(a,1),n=!0;break}}return t.forEach(function(i){i=i.filter(function(u,l,g){return g.indexOf(u)===l});let a=i.pop();a!==void 0&&typeof a=="string"&&(r[a]=i)}),r}s(kt,"combineAliases");function Be(e){return e!==void 0?e+1:1}s(Be,"increment");function an(e){return e==="__proto__"?"___proto___":e}s(an,"sanitizeKey");function wt(e){return typeof e=="string"&&(e[0]==="'"||e[0]==='"')&&e[e.length-1]===e[0]?e.substring(1,e.length-1):e}s(wt,"stripQuotes");var pn=require("fs");var Je,Pe,$e,fn=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):12,ln=(Pe=(Je=process==null?void 0:process.versions)===null||Je===void 0?void 0:Je.node)!==null&&Pe!==void 0?Pe:($e=process==null?void 0:process.version)===null||$e===void 0?void 0:$e.slice(1);if(ln&&Number(ln.match(/^([^.]+)/)[1])<fn)throw Error(`yargs parser supports a minimum Node.js version of ${fn}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);var Lt=process?process.env:{},gn=new Te({cwd:process.cwd,env:s(()=>Lt,"env"),format:un.format,normalize:je.normalize,resolve:je.resolve,require:s(e=>{if(typeof require<"u")return require(e);if(e.match(/\.json$/))return JSON.parse((0,pn.readFileSync)(e,"utf8"));throw Error("only .json config files are supported in ESM")},"require")}),he=s(function(t,r){return gn.parse(t.slice(),r).argv},"Parser");he.detailed=function(e,t){return gn.parse(e.slice(),t)};he.camelCase=ee;he.decamelize=xe;he.looksLikeNumber=Se;var mn=he;function Nt(e){let t=[];if(e.startFile){let r=J.Open;t.push(r,e.startFile)}if(e.useMockData&&!e.ui5Local){let r=J.Config;t.push(r,be.FileName.Ui5MockYaml)}if(e.ui5Local){let r=J.Config;t.push(r,be.FileName.Ui5LocalYaml),e.ui5LocalVersion&&t.push(J.FrameworkVersion,e.ui5LocalVersion)}return e.remoteAccess&&t.push("--accept-remote-connections"),t.length>0?t:void 0}s(Nt,"getArgs");function se(e,t){let r=s(n=>n.includes(t),"index");return e.findIndex(r)}s(se,"getIndexOfArgument");function dn(e,t){let r=[];if(e&&t){r=r.concat(e);let n=bn(t);return r=r.concat(n._),r}else return r}s(dn,"mergeArgs");function Ve(e,t,r,n,i){let a={name:e,type:"node",request:"launch",cwd:t,runtimeExecutable:"npx",windows:{runtimeExecutable:"npx.cmd"},runtimeArgs:r,args:n,console:"internalConsole",internalConsoleOptions:"openOnSessionStart",outputCapture:"std",env:i};return n?.includes("--accept-remote-connections")&&(a.console="integratedTerminal",a.internalConsoleOptions=void 0),a}s(Ve,"getLaunchConfig");function It(e,t,r){return r?.["run.config"]?JSON.parse(r["run.config"]).runnableId:!t||(0,oe.basename)(e)===(0,oe.basename)(t)?e:(0,oe.join)(e,(0,oe.basename)(t))}s(It,"getProjectRootFromLaunchConfig");function hn(e,t,r){let n=It(t,e.cwd,e.env),i,a=!1,u,l,g=!1,h,O,N,E,x=e.type==="node";if(e.env&&(u=e.env.FIORI_TOOLS_UI5_VERSION,l=e.env.FIORI_TOOLS_UI5_URI,N=e.env.FIORI_TOOLS_URL_PARAMS,e.env.FIORI_TOOLS_BACKEND_CONFIG&&(O=JSON.parse(e.env.FIORI_TOOLS_BACKEND_CONFIG))),e.args&&e.args.length>0){let T=bn(e.args);i=T.open??void 0,E=T.remoteAccess??!1,T.config===be.FileName.Ui5MockYaml&&(a=!0),T.config===be.FileName.Ui5LocalYaml&&(a=!0,g=!0,T["framework-version"]&&(h=T["framework-version"]));let v=e.args.toString().toLowerCase();x=x||v.indexOf("${input:")===-1}return{name:e.name,projectRoot:n,oDataVersion:r,useMockData:a,ui5Version:u,ui5VersionUri:l,ui5Local:g,ui5LocalVersion:h,startFile:i,backendConfigs:O,urlParameters:N,visible:x,remoteAccess:E}}s(hn,"getFioriOptions");function ne(e,t){let r=t.name,n=t.projectRoot,i={"run.config":JSON.stringify({handlerId:de,runnableId:n}),...t.backendConfigs&&{FIORI_TOOLS_BACKEND_CONFIG:JSON.stringify(t.backendConfigs)},...t.urlParameters&&{FIORI_TOOLS_URL_PARAMS:t.urlParameters}};t.ui5Local||(i=Object.assign(i,{FIORI_TOOLS_UI5_VERSION:t.ui5Version,FIORI_TOOLS_UI5_URI:t.ui5VersionUri}));let a=n.replace(e,"${workspaceFolder}"),u=["fiori","run"],l=Nt(t);return Ve(r,a,u,l,i)}s(ne,"generateNewFioriLaunchConfig");function bn(e){return mn(e,{alias:{open:["o"],config:["c"],remoteAccess:["accept-remote-connections"]},string:["config","open","remote","framework-version"],boolean:["accept-remote-connections"],configuration:{"strip-aliased":!0,"camel-case-expansion":!1,"unknown-options-as-args":!0,"parse-numbers":!1}})}s(bn,"parseArguments");var Sn=require("../../commonlibs/mem-fs/index.js"),Tn=require("../../commonlibs/mem-fs-editor/index.js");function Ae(e,t=!1){let r=e.length,n=0,i="",a=0,u=16,l=0,g=0,h=0,O=0,N=0;function E(A,j){let k=0,I=0;for(;k<A||!j;){let b=e.charCodeAt(n);if(b>=48&&b<=57)I=I*16+b-48;else if(b>=65&&b<=70)I=I*16+b-65+10;else if(b>=97&&b<=102)I=I*16+b-97+10;else break;n++,k++}return k<A&&(I=-1),I}s(E,"scanHexDigits");function x(A){n=A,i="",a=0,u=16,N=0}s(x,"setPosition");function T(){let A=n;if(e.charCodeAt(n)===48)n++;else for(n++;n<e.length&&ce(e.charCodeAt(n));)n++;if(n<e.length&&e.charCodeAt(n)===46)if(n++,n<e.length&&ce(e.charCodeAt(n)))for(n++;n<e.length&&ce(e.charCodeAt(n));)n++;else return N=3,e.substring(A,n);let j=n;if(n<e.length&&(e.charCodeAt(n)===69||e.charCodeAt(n)===101))if(n++,(n<e.length&&e.charCodeAt(n)===43||e.charCodeAt(n)===45)&&n++,n<e.length&&ce(e.charCodeAt(n))){for(n++;n<e.length&&ce(e.charCodeAt(n));)n++;j=n}else N=3;return e.substring(A,j)}s(T,"scanNumber");function v(){let A="",j=n;for(;;){if(n>=r){A+=e.substring(j,n),N=2;break}let k=e.charCodeAt(n);if(k===34){A+=e.substring(j,n),n++;break}if(k===92){if(A+=e.substring(j,n),n++,n>=r){N=2;break}switch(e.charCodeAt(n++)){case 34:A+='"';break;case 92:A+="\\";break;case 47:A+="/";break;case 98:A+="\b";break;case 102:A+="\f";break;case 110:A+=`
`;break;case 114:A+="\r";break;case 116:A+=" ";break;case 117:let b=E(4,!0);b>=0?A+=String.fromCharCode(b):N=4;break;default:N=5}j=n;continue}if(k>=0&&k<=31)if(Oe(k)){A+=e.substring(j,n),N=2;break}else N=6;n++}return A}s(v,"scanString");function p(){if(i="",N=0,a=n,g=l,O=h,n>=r)return a=r,u=17;let A=e.charCodeAt(n);if(Me(A)){do n++,i+=String.fromCharCode(A),A=e.charCodeAt(n);while(Me(A));return u=15}if(Oe(A))return n++,i+=String.fromCharCode(A),A===13&&e.charCodeAt(n)===10&&(n++,i+=`
`),l++,h=n,u=14;switch(A){case 123:return n++,u=1;case 125:return n++,u=2;case 91:return n++,u=3;case 93:return n++,u=4;case 58:return n++,u=6;case 44:return n++,u=5;case 34:return n++,i=v(),u=10;case 47:let j=n-1;if(e.charCodeAt(n+1)===47){for(n+=2;n<r&&!Oe(e.charCodeAt(n));)n++;return i=e.substring(j,n),u=12}if(e.charCodeAt(n+1)===42){n+=2;let k=r-1,I=!1;for(;n<k;){let b=e.charCodeAt(n);if(b===42&&e.charCodeAt(n+1)===47){n+=2,I=!0;break}n++,Oe(b)&&(b===13&&e.charCodeAt(n)===10&&n++,l++,h=n)}return I||(n++,N=1),i=e.substring(j,n),u=13}return i+=String.fromCharCode(A),n++,u=16;case 45:if(i+=String.fromCharCode(A),n++,n===r||!ce(e.charCodeAt(n)))return u=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=T(),u=11;default:for(;n<r&&U(A);)n++,A=e.charCodeAt(n);if(a!==n){switch(i=e.substring(a,n),i){case"true":return u=8;case"false":return u=9;case"null":return u=7}return u=16}return i+=String.fromCharCode(A),n++,u=16}}s(p,"scanNext");function U(A){if(Me(A)||Oe(A))return!1;switch(A){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}s(U,"isUnknownContentCharacter");function M(){let A;do A=p();while(A>=12&&A<=15);return A}return s(M,"scanNextNonTrivia"),{setPosition:x,getPosition:s(()=>n,"getPosition"),scan:t?M:p,getToken:s(()=>u,"getToken"),getTokenValue:s(()=>i,"getTokenValue"),getTokenOffset:s(()=>a,"getTokenOffset"),getTokenLength:s(()=>n-a,"getTokenLength"),getTokenStartLine:s(()=>g,"getTokenStartLine"),getTokenStartCharacter:s(()=>a-O,"getTokenStartCharacter"),getTokenError:s(()=>N,"getTokenError")}}s(Ae,"createScanner");function Me(e){return e===32||e===9}s(Me,"isWhiteSpace");function Oe(e){return e===10||e===13}s(Oe,"isLineBreak");function ce(e){return e>=48&&e<=57}s(ce,"isDigit");var On;(function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"})(On||(On={}));var W=new Array(20).fill(0).map((e,t)=>" ".repeat(t)),ae=200,We={" ":{"\n":new Array(ae).fill(0).map((e,t)=>`
`+" ".repeat(t)),"\r":new Array(ae).fill(0).map((e,t)=>"\r"+" ".repeat(t)),"\r\n":new Array(ae).fill(0).map((e,t)=>`\r
`+" ".repeat(t))}," ":{"\n":new Array(ae).fill(0).map((e,t)=>`
`+" ".repeat(t)),"\r":new Array(ae).fill(0).map((e,t)=>"\r"+" ".repeat(t)),"\r\n":new Array(ae).fill(0).map((e,t)=>`\r
`+" ".repeat(t))}},An=[`
`,"\r",`\r
`];function De(e,t,r){let n,i,a,u,l;if(t){for(u=t.offset,l=u+t.length,a=u;a>0&&!ye(e,a-1);)a--;let k=l;for(;k<e.length&&!ye(e,k);)k++;i=e.substring(a,k),n=_t(i,r)}else i=e,n=0,a=0,u=0,l=e.length;let g=xt(r,e),h=An.includes(g),O=0,N=0,E;r.insertSpaces?E=W[r.tabSize||4]??fe(W[1],r.tabSize||4):E=" ";let x=E===" "?" ":" ",T=Ae(i,!1),v=!1;function p(){if(O>1)return fe(g,O)+fe(E,n+N);let k=E.length*(n+N);return!h||k>We[x][g].length?g+fe(E,n+N):k<=0?g:We[x][g][k]}s(p,"newLinesAndIndent");function U(){let k=T.scan();for(O=0;k===15||k===14;)k===14&&r.keepLines?O+=1:k===14&&(O=1),k=T.scan();return v=k===16||T.getTokenError()!==0,k}s(U,"scanNext");let M=[];function A(k,I,b){!v&&(!t||I<l&&b>u)&&e.substring(I,b)!==k&&M.push({offset:I,length:b-I,content:k})}s(A,"addEdit");let j=U();if(r.keepLines&&O>0&&A(fe(g,O),0,0),j!==17){let k=T.getTokenOffset()+a,I=E.length*n<20&&r.insertSpaces?W[E.length*n]:fe(E,n);A(I,a,k)}for(;j!==17;){let k=T.getTokenOffset()+T.getTokenLength()+a,I=U(),b="",P=!1;for(;O===0&&(I===12||I===13);){let F=T.getTokenOffset()+a;A(W[1],k,F),k=T.getTokenOffset()+T.getTokenLength()+a,P=I===12,b=P?p():"",I=U()}if(I===2)j!==1&&N--,r.keepLines&&O>0||!r.keepLines&&j!==1?b=p():r.keepLines&&(b=W[1]);else if(I===4)j!==3&&N--,r.keepLines&&O>0||!r.keepLines&&j!==3?b=p():r.keepLines&&(b=W[1]);else{switch(j){case 3:case 1:N++,r.keepLines&&O>0||!r.keepLines?b=p():b=W[1];break;case 5:r.keepLines&&O>0||!r.keepLines?b=p():b=W[1];break;case 12:b=p();break;case 13:O>0?b=p():P||(b=W[1]);break;case 6:r.keepLines&&O>0?b=p():P||(b=W[1]);break;case 10:r.keepLines&&O>0?b=p():I===6&&!P&&(b="");break;case 7:case 8:case 9:case 11:case 2:case 4:r.keepLines&&O>0?b=p():(I===12||I===13)&&!P?b=W[1]:I!==5&&I!==17&&(v=!0);break;case 16:v=!0;break}O>0&&(I===12||I===13)&&(b=p())}I===17&&(r.keepLines&&O>0?b=p():b=r.insertFinalNewline?g:"");let D=T.getTokenOffset()+a;A(b,k,D),j=I}return M}s(De,"format");function fe(e,t){let r="";for(let n=0;n<t;n++)r+=e;return r}s(fe,"repeat");function _t(e,t){let r=0,n=0,i=t.tabSize||4;for(;r<e.length;){let a=e.charAt(r);if(a===W[1])n++;else if(a===" ")n+=i;else break;r++}return Math.floor(n/i)}s(_t,"computeIndentLevel");function xt(e,t){for(let r=0;r<t.length;r++){let n=t.charAt(r);if(n==="\r")return r+1<t.length&&t.charAt(r+1)===`
`?`\r
`:"\r";if(n===`
`)return`
`}return e&&e.eol||`
`}s(xt,"getEOL");function ye(e,t){return`\r
`.indexOf(e.charAt(t))!==-1}s(ye,"isEOL");var ke;(function(e){e.DEFAULT={allowTrailingComma:!1}})(ke||(ke={}));function yn(e,t=[],r=ke.DEFAULT){let n=null,i=[],a=[];function u(g){Array.isArray(i)?i.push(g):n!==null&&(i[n]=g)}return s(u,"onValue"),He(e,{onObjectBegin:s(()=>{let g={};u(g),a.push(i),i=g,n=null},"onObjectBegin"),onObjectProperty:s(g=>{n=g},"onObjectProperty"),onObjectEnd:s(()=>{i=a.pop()},"onObjectEnd"),onArrayBegin:s(()=>{let g=[];u(g),a.push(i),i=g,n=null},"onArrayBegin"),onArrayEnd:s(()=>{i=a.pop()},"onArrayEnd"),onLiteralValue:u,onError:s((g,h,O)=>{t.push({error:g,offset:h,length:O})},"onError")},r),i[0]}s(yn,"parse");function Fe(e,t=[],r=ke.DEFAULT){let n={type:"array",offset:-1,length:-1,children:[],parent:void 0};function i(g){n.type==="property"&&(n.length=g-n.offset,n=n.parent)}s(i,"ensurePropertyComplete");function a(g){return n.children.push(g),g}s(a,"onValue"),He(e,{onObjectBegin:s(g=>{n=a({type:"object",offset:g,length:-1,parent:n,children:[]})},"onObjectBegin"),onObjectProperty:s((g,h,O)=>{n=a({type:"property",offset:h,length:-1,parent:n,children:[]}),n.children.push({type:"string",value:g,offset:h,length:O,parent:n})},"onObjectProperty"),onObjectEnd:s((g,h)=>{i(g+h),n.length=g+h-n.offset,n=n.parent,i(g+h)},"onObjectEnd"),onArrayBegin:s((g,h)=>{n=a({type:"array",offset:g,length:-1,parent:n,children:[]})},"onArrayBegin"),onArrayEnd:s((g,h)=>{n.length=g+h-n.offset,n=n.parent,i(g+h)},"onArrayEnd"),onLiteralValue:s((g,h,O)=>{a({type:Tt(g),offset:h,length:O,parent:n,value:g}),i(h+O)},"onLiteralValue"),onSeparator:s((g,h,O)=>{n.type==="property"&&(g===":"?n.colonOffset=h:g===","&&i(h))},"onSeparator"),onError:s((g,h,O)=>{t.push({error:g,offset:h,length:O})},"onError")},r);let l=n.children[0];return l&&delete l.parent,l}s(Fe,"parseTree");function we(e,t){if(!e)return;let r=e;for(let n of t)if(typeof n=="string"){if(r.type!=="object"||!Array.isArray(r.children))return;let i=!1;for(let a of r.children)if(Array.isArray(a.children)&&a.children[0].value===n&&a.children.length===2){r=a.children[1],i=!0;break}if(!i)return}else{let i=n;if(r.type!=="array"||i<0||!Array.isArray(r.children)||i>=r.children.length)return;r=r.children[i]}return r}s(we,"findNodeAtLocation");function He(e,t,r=ke.DEFAULT){let n=Ae(e,!1),i=[],a=0;function u(S){return S?()=>a===0&&S(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}s(u,"toNoArgVisit");function l(S){return S?R=>a===0&&S(R,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}s(l,"toOneArgVisit");function g(S){return S?R=>a===0&&S(R,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>i.slice()):()=>!0}s(g,"toOneArgVisitWithPath");function h(S){return S?()=>{a>0?a++:S(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>i.slice())===!1&&(a=1)}:()=>!0}s(h,"toBeginVisit");function O(S){return S?()=>{a>0&&a--,a===0&&S(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter())}:()=>!0}s(O,"toEndVisit");let N=h(t.onObjectBegin),E=g(t.onObjectProperty),x=O(t.onObjectEnd),T=h(t.onArrayBegin),v=O(t.onArrayEnd),p=g(t.onLiteralValue),U=l(t.onSeparator),M=u(t.onComment),A=l(t.onError),j=r&&r.disallowComments,k=r&&r.allowTrailingComma;function I(){for(;;){let S=n.scan();switch(n.getTokenError()){case 4:b(14);break;case 5:b(15);break;case 3:b(13);break;case 1:j||b(11);break;case 2:b(12);break;case 6:b(16);break}switch(S){case 12:case 13:j?b(10):M();break;case 16:b(1);break;case 15:case 14:break;default:return S}}}s(I,"scanNext");function b(S,R=[],Ee=[]){if(A(S),R.length+Ee.length>0){let C=n.getToken();for(;C!==17;){if(R.indexOf(C)!==-1){I();break}else if(Ee.indexOf(C)!==-1)break;C=I()}}}s(b,"handleError");function P(S){let R=n.getTokenValue();return S?p(R):(E(R),i.push(R)),I(),!0}s(P,"parseString");function D(){switch(n.getToken()){case 11:let S=n.getTokenValue(),R=Number(S);isNaN(R)&&(b(2),R=0),p(R);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return I(),!0}s(D,"parseLiteral");function F(){return n.getToken()!==10?(b(3,[],[2,5]),!1):(P(!1),n.getToken()===6?(U(":"),I(),q()||b(4,[],[2,5])):b(5,[],[2,5]),i.pop(),!0)}s(F,"parseProperty");function re(){N(),I();let S=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(S||b(4,[],[]),U(","),I(),n.getToken()===2&&k)break}else S&&b(6,[],[]);F()||b(4,[],[2,5]),S=!0}return x(),n.getToken()!==2?b(7,[2],[]):I(),!0}s(re,"parseObject");function ue(){T(),I();let S=!0,R=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(R||b(4,[],[]),U(","),I(),n.getToken()===4&&k)break}else R&&b(6,[],[]);S?(i.push(0),S=!1):i[i.length-1]++,q()||b(4,[],[4,5]),R=!0}return v(),S||i.pop(),n.getToken()!==4?b(8,[4],[]):I(),!0}s(ue,"parseArray");function q(){switch(n.getToken()){case 3:return ue();case 1:return re();case 10:return P(!0);default:return D()}}return s(q,"parseValue"),I(),n.getToken()===17?r.allowEmptyContent?!0:(b(4,[],[]),!1):q()?(n.getToken()!==17&&b(9,[],[]),!0):(b(4,[],[]),!1)}s(He,"visit");function Tt(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(e){if(Array.isArray(e))return"array"}else return"null";return"object"}default:return"null"}}s(Tt,"getNodeType");function kn(e,t,r,n){let i=t.slice(),u=Fe(e,[]),l,g;for(;i.length>0&&(g=i.pop(),l=we(u,i),l===void 0&&r!==void 0);)typeof g=="string"?r={[g]:r}:r=[r];if(l)if(l.type==="object"&&typeof g=="string"&&Array.isArray(l.children)){let h=we(l,[g]);if(h!==void 0)if(r===void 0){if(!h.parent)throw new Error("Malformed AST");let O=l.children.indexOf(h.parent),N,E=h.parent.offset+h.parent.length;if(O>0){let x=l.children[O-1];N=x.offset+x.length}else N=l.offset+1,l.children.length>1&&(E=l.children[1].offset);return te(e,{offset:N,length:E-N,content:""},n)}else return te(e,{offset:h.offset,length:h.length,content:JSON.stringify(r)},n);else{if(r===void 0)return[];let O=`${JSON.stringify(g)}: ${JSON.stringify(r)}`,N=n.getInsertionIndex?n.getInsertionIndex(l.children.map(x=>x.children[0].value)):l.children.length,E;if(N>0){let x=l.children[N-1];E={offset:x.offset+x.length,length:0,content:","+O}}else l.children.length===0?E={offset:l.offset+1,length:0,content:O}:E={offset:l.offset+1,length:0,content:O+","};return te(e,E,n)}}else if(l.type==="array"&&typeof g=="number"&&Array.isArray(l.children)){let h=g;if(h===-1){let O=`${JSON.stringify(r)}`,N;if(l.children.length===0)N={offset:l.offset+1,length:0,content:O};else{let E=l.children[l.children.length-1];N={offset:E.offset+E.length,length:0,content:","+O}}return te(e,N,n)}else if(r===void 0&&l.children.length>=0){let O=g,N=l.children[O],E;if(l.children.length===1)E={offset:l.offset+1,length:l.length-2,content:""};else if(l.children.length-1===O){let x=l.children[O-1],T=x.offset+x.length,v=l.offset+l.length;E={offset:T,length:v-2-T,content:""}}else E={offset:N.offset,length:l.children[O+1].offset-N.offset,content:""};return te(e,E,n)}else if(r!==void 0){let O,N=`${JSON.stringify(r)}`;if(!n.isArrayInsertion&&l.children.length>g){let E=l.children[g];O={offset:E.offset,length:E.length,content:N}}else if(l.children.length===0||g===0)O={offset:l.offset+1,length:0,content:l.children.length===0?N:N+","};else{let E=g>l.children.length?l.children.length:g,x=l.children[E-1];O={offset:x.offset+x.length,length:0,content:","+N}}return te(e,O,n)}else throw new Error(`Can not ${r===void 0?"remove":n.isArrayInsertion?"insert":"modify"} Array index ${h} as length is not sufficient`)}else throw new Error(`Can not add ${typeof g!="number"?"index":"property"} to parent of type ${l.type}`);else{if(r===void 0)throw new Error("Can not delete in empty document");return te(e,{offset:u?u.offset:0,length:u?u.length:0,content:JSON.stringify(r)},n)}}s(kn,"setProperty");function te(e,t,r){if(!r.formattingOptions)return[t];let n=ve(e,t),i=t.offset,a=t.offset+t.content.length;if(t.length===0||t.content.length===0){for(;i>0&&!ye(n,i-1);)i--;for(;a<n.length&&!ye(n,a);)a++}let u=De(n,{offset:i,length:a-i},{...r.formattingOptions,keepLines:!1});for(let g=u.length-1;g>=0;g--){let h=u[g];n=ve(n,h),i=Math.min(i,h.offset),a=Math.max(a,h.offset+h.length),a+=h.content.length-h.length}let l=e.length-(n.length-a)-i;return[{offset:i,length:l,content:n.substring(i,a)}]}s(te,"withFormatting");function ve(e,t){return e.substring(0,t.offset)+t.content+e.substring(t.offset+t.length)}s(ve,"applyEdit");var wn;(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(wn||(wn={}));var Ln;(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(Ln||(Ln={}));var V=yn,In=Fe,En=we;var Nn;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"})(Nn||(Nn={}));function _n(e,t,r,n){return kn(e,t,r,n)}s(_n,"modify");function xn(e,t){let r=t.slice(0).sort((i,a)=>{let u=i.offset-a.offset;return u===0?i.length-a.length:u}),n=e.length;for(let i=r.length-1;i>=0;i--){let a=r[i];if(a.offset+a.length<=n)e=ve(e,a);else throw new Error("Overlapping edit");n=a.offset}return e}s(xn,"applyEdits");async function Q(e,t,r,n={},i){i||(i=(0,Tn.create)((0,Sn.create)()));let a=i.read(t);n.formattingOptions||(n.formattingOptions={tabSize:4,insertSpaces:!0});let u=_n(a,r,e,n),l=xn(a,u);i.write(t,l)}s(Q,"updateLaunchJSON");var Z=require("node:path");var X=require("node:path");function ze(e){if(e&&e.length>0)return e[0].uri.fsPath}s(ze,"getLaunchJsonPath");function Le(e){return`\${workspaceFolder}${e?X.posix.sep+e:""}`}s(Le,"formatCwd");function Ge(e,t){let{workspaceFile:r,workspaceFolders:n}=t;if(!(!r&&!n))return n?n.some(i=>i.uri.fsPath&&e.toLowerCase().includes(i.uri.fsPath.toLowerCase())):!1}s(Ge,"isFolderInWorkspace");function Ne(e,t,r){let n=(0,X.basename)(e),i=(0,X.join)((0,X.dirname)(e),n);return{cwd:Le(),launchJsonPath:i,workspaceFolderUri:t?void 0:r.Uri?.file(i),appNotInWorkspace:!0}}s(Ne,"handleAppsNotInWorkspace");function vt(e,t){let n=t.workspace.getWorkspaceFolder(t.Uri.file(e))?.uri?.fsPath,i=(0,Z.relative)(n??e,e);return{launchJsonPath:(0,Z.join)(n??e),cwd:Le(i)}}s(vt,"handleUnsavedWorkspace");function Ut(e,t,r,n,i){let a=i.workspace;return Ge(e,a)?{launchJsonPath:ze(a.workspaceFolders)??r,cwd:Le(t)}:Ne(e,n,i)}s(Ut,"handleSavedWorkspace");function Rt(e,t,r,n){let i=n.workspace;if(!Ge(e,i))return Ne(e,r,n);let a=i.getWorkspaceFolder(n.Uri.file(e))?.uri?.fsPath,u=(0,Z.relative)(a??e,e);return{launchJsonPath:ze(i.workspaceFolders)??t,cwd:Le(u)}}s(Rt,"handleOpenFolderButNoWorkspaceFile");function Ue(e,t){let{isAppStudio:r=!1,writeToAppOnly:n=!1,vscode:i}=t,a=(0,Z.basename)(e),u=(0,Z.dirname)(e);if(n)return Ne(e,r,i);let l=i.workspace,g=l?.workspaceFile;return l?g?g.scheme==="file"?Ut(e,a,u,r,i):vt(e,i):Rt(e,u,r,i):Ne(e,r,i)}s(Ue,"handleWorkspaceConfig");var jn=require("node:path");var Bt="test/flpSandbox.html",Jt="index.html",Pt="test/flpSandboxMockServer.html";function $t(e){if(e)return e.startsWith("#")?e:`#${e}`}s($t,"getMigratorMockIntentWithHash");function Vt(e,t,r,n,i){return e&&t==="2.0"?["--open",`${r??n}${i}`]:["--config","./ui5-mock.yaml","--open",`${n}${i}`]}s(Vt,"getMockCmdArgs");function Mt(e){let t="sap-ui-xx-viewCache=false";return e?`${e}&${t}`:t}s(Mt,"getEnvUrlParams");function Ye(e,t,r,n,i,a){let u=Ve(e,t,r,n,i);return a&&(u.env["run.config"]=a),u}s(Ye,"configureLaunchConfig");function Fn(e,t,r,n){let{isAppStudio:i,addStartCmd:a=!0,flpAppId:u,flpSandboxAvailable:l,sapClientParam:g,odataVersion:h,isMigrator:O=!1,isFioriElement:N,migratorMockIntent:E,targetMockHtmlFile:x}=r,T=(0,jn.basename)(e),v=u&&!u.startsWith("#")?`#${u}`:u,p=n??(l?Bt:Jt),U=i?JSON.stringify({handlerId:de,runnableId:e}):void 0,M=Mt(g),A={version:"0.2.0",configurations:[]};if(a){let P=`${p}${v}`,D=Ye(`Start ${T}`,t,["fiori","run"],["--open",P],{DEBUG:"--inspect",FIORI_TOOLS_URL_PARAMS:M},U);A.configurations.push(D)}if(h&&["2.0","4.0"].includes(h)){let D=$t(E)??v,F=Vt(O,h,x,p,D),re=Ye(`Start ${T} Mock`,t,["fiori","run"],F,{FIORI_TOOLS_URL_PARAMS:M},U);A.configurations.push(re)}let I=`${N&&h==="2.0"&&O?Pt:p}${E?`#${E.replace("#","")}`:v}`,b=Ye(`Start ${T} Local`,t,["fiori","run"],["--config","./ui5-local.yaml","--open",I],{FIORI_TOOLS_URL_PARAMS:M},U);return A.configurations.push(b),A}s(Fn,"configureLaunchJsonFile");var Un=Ot(require("../../commonlibs/i18next/index.js"),1);var vn={info:{startServerMessage:"To start the server, launch a terminal, navigate to the {{folder}} folder and type: npm {{npmCommand}}."}};var Qe="launch-config",Rn=Un.default.createInstance();async function Dt(){await Rn.init({resources:{en:{[Qe]:vn}},lng:"en",fallbackLng:"en",defaultNS:Qe,ns:[Qe],showSupportNotice:!1})}s(Dt,"initI18n");function Bn(e,t){return Rn.t(e,t)}s(Bn,"t");Dt().catch(()=>{});function qe(e,t,r){let n={version:"0.2.0",configurations:r};e.write(t,JSON.stringify(n,null,4))}s(qe,"writeLaunchJsonFile");async function Ht(e,t,r){let n=(0,le.join)(e,Ze.DirName.VSCode,z);if(r.exists(n)){let a=ne(e,t),u=r.read(n),l=V(u);return await Q(a,n,["configurations",l.configurations.length+1],{isArrayInsertion:!0},r),r}let i=[ne(e,t)];return qe(r,n,i),r}s(Ht,"handleNoDebugOptions");async function zt(e,t,r,n=!1){let i=e.read(t),a=V(i);if(n)qe(e,t,r);else for(let u of r)await Q(u,t,["configurations",a.configurations.length+1],{isArrayInsertion:!0},e)}s(zt,"handleExistingLaunchJson");function Xe(e){if(e){let{uri:t,vscode:r,projectName:n}=e;if(t&&r){let i=r.workspace.workspaceFolders||[];r.workspace.updateWorkspaceFolders(i.length,void 0,{name:n,uri:t})}}}s(Xe,"updateWorkspaceFoldersIfNeeded");async function Gt(e,t,r,{startFile:n,enableVSCodeReload:i=!0},a){let{launchJsonPath:u,workspaceFolderUri:l,cwd:g,appNotInWorkspace:h}=Ue(e,r),O=Fn(e,g,r,n).configurations,N=r.addStartCmd?"start":"run start-mock";a?.info(Bn("info.startServerMessage",{folder:(0,le.basename)(e),npmCommand:N}));let E=(0,le.join)(u,Ze.DirName.VSCode,z);if(t.exists(E)?await zt(t,E,O,h):qe(t,E,O),i){let x=l?{uri:l,projectName:(0,le.basename)(e),vscode:r.vscode}:void 0;Xe(x)}return t}s(Gt,"handleDebugOptions");async function $n(e,t,r,n){r=r??(0,Pn.create)((0,Jn.create)());let i=t.debugOptions;return i?i.vscode?await Gt(e,r,i,t,n):r:await Ht(e,t,r)}s($n,"createLaunchConfig");var Vn=require("../../commonlibs/mem-fs/index.js"),Mn=require("../../commonlibs/mem-fs-editor/index.js"),Wn=require("node:path"),Dn=require("../../open-ux-shared/project-access/index.js");async function Hn(e,t,r){r||(r=(0,Mn.create)((0,Vn.create)()));let n=(0,Wn.join)(e,Dn.DirName.VSCode,z);return r.exists(n)&&await Q(void 0,n,["configurations",t],void 0,r),r}s(Hn,"deleteLaunchConfig");var zn=require("../../open-ux-shared/project-access/index.js"),Gn=require("node:path");var Yn=require("node:fs");var Yt="run-script";function Qt(e){if(e.args){let t=se(e.args,"--ui5");if(t!==-1){let i=e.args[t].split(" "),a=i.indexOf("--ui5"),u=i.indexOf("--ui5Uri");a!==-1&&u!==-1&&(e.env.FIORI_TOOLS_UI5_VERSION=i[a+1],e.env.FIORI_TOOLS_UI5_URI=i[u+1],e.args.splice(t,1))}let r=se(e.args,"--backendConfig");r!==-1&&(e.env.FIORI_TOOLS_BACKEND_CONFIG=e.args[r+1],e.args.splice(r,2));let n=se(e.args,"--");n!==-1&&e.args.splice(n,1)}return e}s(Qt,"moveOldArgsToEnv");function Zt(e){let t=[],r=e.indexOf(J.Open)!==-1?e.indexOf(J.Open):e.indexOf("-o"),n=e.indexOf(J.Config)!==-1?e.indexOf(J.Config):e.indexOf("-c");return r!==-1&&t.push(J.Open,e[r+1]),n!==-1&&t.push(J.Config,e[n+1]),t}s(Zt,"addArgs");function qt(e,t,r){return e.runtimeArgs=["fiori","run"],Object.entries(t).forEach(([n,i])=>{if(n===r){let a=i.split(/\s+/);a.includes("fiori")&&a.includes("run")&&(e.args=Zt(a))}}),e.runtimeExecutable==="npm"&&e.windows?.runtimeExecutable==="npm.cmd"&&(e.runtimeExecutable="npx",e.windows.runtimeExecutable="npx.cmd"),e.windows?.args&&delete e.windows.args,e}s(qt,"convertRunScriptToFioriRun");function Xt(e){return e?.includes(Yt)}s(Xt,"isRunScriptUsed");function Kt(e){if(e&&e["run.config"])return JSON.parse(e["run.config"]).runnableId}s(Kt,"getProjectRootFromEnv");async function Qn(e,t,r){if(Xt(e.runtimeArgs)){let n=e.runtimeArgs[1],i=t??Kt(e.env);if(Qt(e),i){let a=(0,Gn.join)(i,zn.FileName.Package),u;r?u=r.read(a):u=await Yn.promises.readFile(a,{encoding:"utf8"});let g=V(u).scripts;g&&qt(e,g,n)}}return e}s(Qn,"convertOldLaunchConfigToFioriRun");var Zn=require("../../open-ux-shared/project-access/index.js"),qn=require("node:path");var Re=require("node:fs");async function Ct(e,t){let r=(0,qn.join)(e,Zn.DirName.VSCode,z);if(t)return t.exists(r)?r:void 0;try{return await Re.promises.access(r),r}catch{return}}s(Ct,"getLaunchJSONFilePath");async function Xn(e,t){let r=await Ct(e,t),n,i;try{return r?(t?(n=t.read(r),i=V(n)):(n=await Re.promises.readFile(r,{encoding:"utf8"}),i=V(n)),i?.configurations):void 0}catch(a){throw new Error(a)}}s(Xn,"getLaunchConfigs");async function Kn(e,t,r){let n,i,a=r?.memFs,u=r?.logger;try{a?(n=a.read(e),i=V(n)):(n=await Re.promises.readFile(e,{encoding:"utf8"}),i=V(n));let l=i.configurations.find(g=>g.name===t);if(!l)throw Error(`No config '${t}'`);return l}catch(l){throw u?.error(`Could not find launch config '${t}' in '${e}'`),l}}s(Kn,"getLaunchConfigByName");var Ke=require("../../commonlibs/mem-fs/index.js"),Ce=require("../../commonlibs/mem-fs-editor/index.js");var Cn=require("node:path"),et=require("../../open-ux-shared/project-access/index.js");async function en(e,t,r,n,i,a=[]){for(let u in e){let l=[...a,u],g=r&&En(r,l),h=g?.children?.length;Array.isArray(e[u])?await er(e[u],t,r,n,l,h,i):typeof e[u]=="object"?await nr({obj:e[u],filePath:t,originalJSON:r,currentPath:l,originalLength:h,node:g},n,i):await n(e[u],t,[...l],void 0,i)}}s(en,"traverseAndModifyLaunchConfig");async function er(e,t,r,n,i,a,u){u||(u=(0,Ce.create)((0,Ke.create)()));let l=Math.max(e.length,a);for(let g=0,h=l;g<l;g++)typeof e[g]=="object"?await en(e[g],t,r,n,u,[...i,g]):e.length>=a||e[g]?await n(e[g],t,[...i,g],void 0,u):await n(void 0,t,[...i,--h],void 0,u)}s(er,"processArrayProperty");async function nr(e,t,r){let{obj:n,originalLength:i,filePath:a,originalJSON:u,currentPath:l,node:g}=e;if(Object.keys(n).length>=i)await en(n,a,u,t,r,l);else for(let O=0;O<i;O++){let N=g?.children[O].children[0].value;n[N]||await t(void 0,a,[...l,N],void 0,r)}}s(nr,"processObjectProperty");async function nt(e,t,r,n){n||(n=(0,Ce.create)((0,Ke.create)()));let i=(0,Cn.join)(e,et.DirName.VSCode,z);if(n.exists(i)){let a=n.read(i),u=V(a),l=In(a),g=ne(e,t),h=u.configurations[r].args;g.args=dn(g.args,h),await en(g,i,l,Q,n,["configurations",r])}return n}s(nt,"updateLaunchConfig");var nn=require("node:fs"),Ie=require("node:path"),K=require("../../open-ux-shared/project-access/index.js");async function tr(e){let t=(0,Ie.join)(e,K.FileName.Package),n=V(await nn.promises.readFile(t,{encoding:"utf8"})).scripts,i="test/flpSandbox.html";return n&&Object.entries(n).forEach(([a,u])=>{if(u?.match(/fiori run/)&&a==="start"){let g=u?.split(" "),h=g?.indexOf(J.Open)!==-1?g?.indexOf(J.Open):g.indexOf("-o");h!==void 0&&h!==-1&&g&&(i=g[h+1])}}),(i??"").replace(/["']/g,"")}s(tr,"getStartFileFromPackageFile");async function tt(e,t){let r=t?.logger,n="",i="",a,u,l,g=!0;try{let h=(0,Ie.join)(e,K.DirName.Webapp,K.FileName.Manifest);l=V(await nn.promises.readFile(h,{encoding:"utf8"}))["sap.app"]?.dataSources?.mainService.settings?.odataVersion,n=`Launch Fiori app: ${(0,Ie.basename)(e)}`,i="latest",a=await tr(e),u=(await(0,K.readUi5Yaml)(e,K.FileName.Ui5Yaml)).findCustomMiddleware("fiori-tools-proxy")?.configuration.backend}catch{r?.error(`Error while getting the default configuration for project '${e}'`)}return{name:n,projectRoot:e,oDataVersion:l,ui5Version:i,startFile:a,backendConfigs:u,visible:g}}s(tt,"getDefaultLaunchConfigOptionsForProject");var rr=void 0;0&&(module.exports={Arguments,FIORI_TOOLS_LAUNCH_CONFIG_HANDLER_ID,LAUNCH_JSON_FILE,RUN_SCRIPT,convertOldLaunchConfigToFioriRun,createLaunchConfig,deleteLaunchConfig,generateNewFioriLaunchConfig,getDefaultLaunchConfigOptionsForProject,getFioriOptions,getIndexOfArgument,getLaunchConfigByName,getLaunchConfigs,handleWorkspaceConfig,updateLaunchConfig,updateLaunchJSON,updateWorkspaceFoldersIfNeeded});
/*! Bundled license information:
yargs-parser/build/