@microsoft/managed-apps-cli 0.23.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/AddConfig-ZIDAN5AS.js +12 -0
- package/dist/{AddConnector-HJCCENAM.js → AddConnector-YNHO2HAW.js} +2 -2
- package/dist/{AuthStatus-WCICFN6O.js → AuthStatus-S3K6JJG6.js} +2 -2
- package/dist/{AuthSwitch-5PKHCTM2.js → AuthSwitch-RSQ777N2.js} +2 -2
- package/dist/Bin.js +1 -1
- package/dist/{BuildMaafApp-Q74EFM3Q.js → BuildMaafApp-MKHYNTJN.js} +2 -2
- package/dist/{Cli-7EVTIORX.js → Cli-7SHW4PIZ.js} +12 -12
- package/dist/{CloneMaafApp-EKHHLMWD.js → CloneMaafApp-N5NBJDO4.js} +2 -2
- package/dist/{CreateMaafApp-L3XX2UVT.js → CreateMaafApp-OY6P6WIY.js} +2 -2
- package/dist/{DeleteMaafApp-YCDKWFRG.js → DeleteMaafApp-SJE7YRQZ.js} +2 -2
- package/dist/DeployMaafApp-VK4MJKVY.js +14 -0
- package/dist/{Dev-BTJUJGP5.js → Dev-75M4ANEA.js} +2 -2
- package/dist/{GetMaafBuildStatus-7B6ZNSEA.js → GetMaafBuildStatus-I5Y6STGB.js} +2 -2
- package/dist/{GetSettings-GJWIPK2T.js → GetSettings-5T3STEOV.js} +2 -2
- package/dist/{InfoMaafApp-WGNDYYGN.js → InfoMaafApp-OHDDS3OQ.js} +2 -2
- package/dist/{Init-TJOSV5DE.js → Init-NLNDZJBN.js} +2 -2
- package/dist/{ListConnectorActions-HTD6YSCY.js → ListConnectorActions-N2IX4VWY.js} +2 -2
- package/dist/ListConnectors-YVJRDRID.js +11 -0
- package/dist/{ListMaafApps-KRXJMAEU.js → ListMaafApps-3DEVXWSG.js} +2 -2
- package/dist/{Login-5TFNB24B.js → Login-CYDAY6K7.js} +2 -2
- package/dist/{Logout-35U4J627.js → Logout-OB4QJDAY.js} +2 -2
- package/dist/{MockFetch-XSZECQYX.js → MockFetch-PJWH2XTJ.js} +2 -2
- package/dist/{NodeMsalAuthenticationProvider-OUL57BVL.js → NodeMsalAuthenticationProvider-NT7XAXTC.js} +2 -2
- package/dist/{Pack-S7P4MIT6.js → Pack-O5U5MPSJ.js} +2 -2
- package/dist/{PlayMaafApp-D4KLJKLT.js → PlayMaafApp-DLD27TQL.js} +2 -2
- package/dist/{RefreshDataSource-N5CEH23S.js → RefreshDataSource-JU3V5L2Y.js} +2 -2
- package/dist/{RefreshGitAuth-2VL6VBLU.js → RefreshGitAuth-N5RQYP3P.js} +2 -2
- package/dist/{RemoveDataSource-XR5Q4O3F.js → RemoveDataSource-LXIOJFX4.js} +2 -2
- package/dist/{ServicePrincipalAuthenticationProvider-H3PTPXYY.js → ServicePrincipalAuthenticationProvider-QJJ5WSV5.js} +2 -2
- package/dist/{SetSetting-HXY4YSKC.js → SetSetting-GNWY5HWU.js} +2 -2
- package/dist/{ShareLinkCreate-YG3DACP2.js → ShareLinkCreate-HJV3TLI3.js} +2 -2
- package/dist/{ShareLinkList-XF6BIB3M.js → ShareLinkList-2NJLTXFX.js} +2 -2
- package/dist/{ShareLinkRevoke-4USAQKLB.js → ShareLinkRevoke-G2EXN5WH.js} +2 -2
- package/dist/ShareList-CDGJCXBF.js +11 -0
- package/dist/{ShareMaafApp-PZI5MCBA.js → ShareMaafApp-TMTGLD5F.js} +2 -2
- package/dist/{TelemetrySettings-WWVPRF7T.js → TelemetrySettings-KWEGCAGS.js} +2 -2
- package/dist/{UnshareMaafApp-MHBIV5OR.js → UnshareMaafApp-YZPPEA32.js} +2 -2
- package/dist/chunk-7DFBXNI7.js +11 -0
- package/dist/{chunk-UIW77LMA.js → chunk-CBXGTKIE.js} +206 -206
- package/dist/{chunk-FMJDKXNM.js → chunk-EKMZGVZA.js} +2 -2
- package/dist/{chunk-SBVJ4SMO.js → chunk-EQHSV77H.js} +2 -2
- package/dist/{chunk-7PH2NK5K.js → chunk-HO6LX3K7.js} +2 -2
- package/dist/chunk-II367GCP.js +11 -0
- package/dist/{chunk-HCPTQP7J.js → chunk-IMBY742Q.js} +2 -2
- package/dist/{chunk-2FNWZUPW.js → chunk-IXZUOQPP.js} +2 -2
- package/dist/{chunk-WQKDXHGX.js → chunk-KZIKF2VH.js} +2 -2
- package/dist/chunk-LGJ3PMWD.js +11 -0
- package/dist/{chunk-F3HGM3IU.js → chunk-LSAJM3LO.js} +17 -16
- package/dist/chunk-MAWTAPQE.js +12 -0
- package/dist/{chunk-2HSJ2XAQ.js → chunk-MKCTKQZA.js} +2 -2
- package/dist/{chunk-3FP37TPE.js → chunk-MPRAPBI2.js} +7 -7
- package/dist/{chunk-TZRZFNLH.js → chunk-MVRNQN2O.js} +3 -3
- package/dist/{chunk-LDP2SHPJ.js → chunk-PDS5FYC4.js} +2 -2
- package/dist/{chunk-ZIONKKAV.js → chunk-PVGICWWI.js} +2 -2
- package/dist/chunk-QKHCRDMM.js +11 -0
- package/dist/{chunk-DD7E4ADI.js → chunk-WADQ54KB.js} +2 -2
- package/package.json +4 -4
- package/dist/AddConfig-GZO2UMFR.js +0 -12
- package/dist/DeployMaafApp-HF67BQRZ.js +0 -14
- package/dist/ListConnectors-OET7STMW.js +0 -11
- package/dist/ShareList-6QI7ZAMZ.js +0 -11
- package/dist/chunk-5XRK3F43.js +0 -11
- package/dist/chunk-DAG6RPOF.js +0 -11
- package/dist/chunk-I22E6YZT.js +0 -11
- package/dist/chunk-PKDXP7CL.js +0 -11
- package/dist/chunk-SCJXITCN.js +0 -12
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as V}from"./chunk-
|
|
7
|
+
import{a as V}from"./chunk-HO6LX3K7.js";import{c as Q,e as X}from"./chunk-Y7TZZLPW.js";import{a as p}from"./chunk-KZIKF2VH.js";import{a as H,b as O,d as Ae}from"./chunk-UT667QSU.js";var E=O(P=>{var $=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},N=class extends ${constructor(e){super(1,"commander.invalidArgument",e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};P.CommanderError=$;P.InvalidArgumentError=N});var D=O(M=>{var{InvalidArgumentError:Oe}=E(),L=class{constructor(e,t){switch(this.description=t||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case"<":this.required=!0,this._name=e.slice(1,-1);break;case"[":this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.length>3&&this._name.slice(-3)==="..."&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_concatValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:t.concat(e)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(t,n)=>{if(!this.argChoices.includes(t))throw new Oe(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._concatValue(t,n):t},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function xe(o){let e=o.name()+(o.variadic===!0?"...":"");return o.required?"<"+e+">":"["+e+"]"}M.Argument=L;M.humanReadableArgName=xe});var z=O(Z=>{var{humanReadableArgName:we}=D(),I=class{constructor(){this.helpWidth=void 0,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}visibleCommands(e){let t=e.commands.filter(n=>!n._hidden);if(e._hasImplicitHelpCommand()){let[,n,i]=e._helpCommandnameAndArgs.match(/([^ ]+) *(.*)/),r=e.createCommand(n).helpOption(!1);r.description(e._helpCommandDescription),i&&r.arguments(i),t.push(r)}return this.sortSubcommands&&t.sort((n,i)=>n.name().localeCompare(i.name())),t}compareOptions(e,t){let n=i=>i.short?i.short.replace(/^-/,""):i.long.replace(/^--/,"");return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(r=>!r.hidden),n=e._hasHelpOption&&e._helpShortFlag&&!e._findOption(e._helpShortFlag),i=e._hasHelpOption&&!e._findOption(e._helpLongFlag);if(n||i){let r;n?i?r=e.createOption(e._helpFlags,e._helpDescription):r=e.createOption(e._helpShortFlag,e._helpDescription):r=e.createOption(e._helpLongFlag,e._helpDescription),t.push(r)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let i=n.options.filter(r=>!r.hidden);t.push(...i)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e._args.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||""}),e._args.find(t=>t.description)?e._args:[]}subcommandTerm(e){let t=e._args.map(n=>we(n)).join(" ");return e._name+(e._aliases[0]?"|"+e._aliases[0]:"")+(e.options.length?" [options]":"")+(t?" "+t:"")}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((n,i)=>Math.max(n,t.subcommandTerm(i).length),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((n,i)=>Math.max(n,t.optionTerm(i).length),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((n,i)=>Math.max(n,t.optionTerm(i).length),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((n,i)=>Math.max(n,t.argumentTerm(i).length),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+"|"+e._aliases[0]);let n="";for(let i=e.parent;i;i=i.parent)n=i.name()+" "+n;return n+t+" "+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];return e.argChoices&&t.push(`choices: ${e.argChoices.map(n=>JSON.stringify(n)).join(", ")}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue=="boolean")&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0?`${e.description} (${t.join(", ")})`:e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(n=>JSON.stringify(n)).join(", ")}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(", ")})`;return e.description?`${e.description} ${n}`:n}return e.description}formatHelp(e,t){let n=t.padWidth(e,t),i=t.helpWidth||80,r=2,s=2;function l(m,b){if(b){let F=`${m.padEnd(n+s)}${b}`;return t.wrap(F,i-r,n+s)}return m}function a(m){return m.join(`
|
|
8
8
|
`).replace(/^/gm," ".repeat(r))}let h=[`Usage: ${t.commandUsage(e)}`,""],u=t.commandDescription(e);u.length>0&&(h=h.concat([t.wrap(u,i,0),""]));let c=t.visibleArguments(e).map(m=>l(t.argumentTerm(m),t.argumentDescription(m)));c.length>0&&(h=h.concat(["Arguments:",a(c),""]));let f=t.visibleOptions(e).map(m=>l(t.optionTerm(m),t.optionDescription(m)));if(f.length>0&&(h=h.concat(["Options:",a(f),""])),this.showGlobalOptions){let m=t.visibleGlobalOptions(e).map(b=>l(t.optionTerm(b),t.optionDescription(b)));m.length>0&&(h=h.concat(["Global Options:",a(m),""]))}let A=t.visibleCommands(e).map(m=>l(t.subcommandTerm(m),t.subcommandDescription(m)));return A.length>0&&(h=h.concat(["Commands:",a(A),""])),h.join(`
|
|
9
9
|
`)}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}wrap(e,t,n,i=40){let r=" \\f\\t\\v\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF",s=new RegExp(`[\\n][${r}]+`);if(e.match(s))return e;let l=t-n;if(l<i)return e;let a=e.slice(0,n),h=e.slice(n).replace(`\r
|
|
10
10
|
`,`
|
|
@@ -24,7 +24,7 @@ Expecting one of '${n.join("', '")}'`);return this._lifeCycleHooks[e]?this._life
|
|
|
24
24
|
`),this.outputHelp({error:!0}));let n=t||{},i=n.exitCode||1,r=n.code||"commander.error";this._exit(i,r,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in d.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||["default","config","env"].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,d.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new Fe(this.options),t=n=>this.getOptionValue(n)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(n));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(n=>{Object.keys(n.implied).filter(i=>!t(i)).forEach(i=>{this.setOptionValueWithSource(i,n.implied[i],"implied")})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:"commander.missingArgument"})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(e,t){let n=s=>{let l=s.attributeName(),a=this.getOptionValue(l),h=this.options.find(c=>c.negate&&l===c.attributeName()),u=this.options.find(c=>!c.negate&&l===c.attributeName());return h&&(h.presetArg===void 0&&a===!1||h.presetArg!==void 0&&a===h.presetArg)?h:u||s},i=s=>{let l=n(s),a=l.attributeName();return this.getOptionValueSource(a)==="env"?`environment variable '${l.envVar}'`:`option '${l.flags}'`},r=`error: ${i(e)} cannot be used with ${i(t)}`;this.error(r,{code:"commander.conflictingOption"})}unknownOption(e){if(this._allowUnknownOption)return;let t="";if(e.startsWith("--")&&this._showSuggestionAfterError){let i=[],r=this;do{let s=r.createHelp().visibleOptions(r).filter(l=>l.long).map(l=>l.long);i=i.concat(s),r=r.parent}while(r&&!r._enablePositionalOptions);t=re(e,i)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:"commander.unknownOption"})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this._args.length,n=t===1?"":"s",r=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${t} argument${n} but got ${e.length}.`;this.error(r,{code:"commander.excessArguments"})}unknownCommand(){let e=this.args[0],t="";if(this._showSuggestionAfterError){let i=[];this.createHelp().visibleCommands(this).forEach(r=>{i.push(r.name()),r.alias()&&i.push(r.alias())}),t=re(e,i)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:"commander.unknownCommand"})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t=t||"-V, --version",n=n||"output the version number";let i=this.createOption(t,n);return this._versionOptionName=i.attributeName(),this.options.push(i),this.on("option:"+i.name(),()=>{this._outputConfiguration.writeOut(`${e}
|
|
25
25
|
`),this._exit(0,"commander.version",e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw new Error("Command alias can't be the same as its name");return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(t=>this.alias(t)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let t=this._args.map(n=>De(n));return[].concat(this.options.length||this._hasHelpOption?"[options]":[],this.commands.length?"[command]":[],this._args.length?t:[]).join(" ")}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}nameFromFilename(e){return this._name=y.basename(e,y.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp();return t.helpWidth===void 0&&(t.helpWidth=e&&e.error?this._outputConfiguration.getErrHelpWidth():this._outputConfiguration.getOutHelpWidth()),t.formatHelp(this,t)}_getHelpContext(e){e=e||{};let t={error:!!e.error},n;return t.error?n=i=>this._outputConfiguration.writeErr(i):n=i=>this._outputConfiguration.writeOut(i),t.write=e.write||n,t.command=this,t}outputHelp(e){let t;typeof e=="function"&&(t=e,e=void 0);let n=this._getHelpContext(e);T(this).reverse().forEach(r=>r.emit("beforeAllHelp",n)),this.emit("beforeHelp",n);let i=this.helpInformation(n);if(t&&(i=t(i),typeof i!="string"&&!Buffer.isBuffer(i)))throw new Error("outputHelp callback must return a string or a Buffer");n.write(i),this.emit(this._helpLongFlag),this.emit("afterHelp",n),T(this).forEach(r=>r.emit("afterAllHelp",n))}helpOption(e,t){if(typeof e=="boolean")return this._hasHelpOption=e,this;this._helpFlags=e||this._helpFlags,this._helpDescription=t||this._helpDescription;let n=ke(this._helpFlags);return this._helpShortFlag=n.shortFlag,this._helpLongFlag=n.longFlag,this}help(e){this.outputHelp(e);let t=d.exitCode||0;t===0&&e&&typeof e!="function"&&e.error&&(t=1),this._exit(t,"commander.help","(outputHelp)")}addHelpText(e,t){let n=["beforeAll","before","after","afterAll"];if(!n.includes(e))throw new Error(`Unexpected value for position to addHelpText.
|
|
26
26
|
Expecting one of '${n.join("', '")}'`);let i=`${e}Help`;return this.on(i,r=>{let s;typeof t=="function"?s=t({error:r.error,command:r.command}):s=t,s&&r.write(`${s}
|
|
27
|
-
`)}),this}};function se(o,e){o._hasHelpOption&&e.find(n=>n===o._helpLongFlag||n===o._helpShortFlag)&&(o.outputHelp(),o._exit(0,"commander.helpDisplayed","(outputHelp)"))}function oe(o){return o.map(e=>{if(!e.startsWith("--inspect"))return e;let t,n="127.0.0.1",i="9229",r;return(r=e.match(/^(--inspect(-brk)?)$/))!==null?t=r[1]:(r=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(t=r[1],/^\d+$/.test(r[3])?i=r[3]:n=r[3]):(r=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=r[1],n=r[3],i=r[4]),t&&i!=="0"?`${t}=${n}:${parseInt(i)+1}`:e})}function T(o){let e=[];for(let t=o;t;t=t.parent)e.push(t);return e}ae.Command=B});var ce=O((g,pe)=>{var{Argument:Ne}=D(),{Command:he}=le(),{CommanderError:Pe,InvalidArgumentError:ue}=E(),{Help:Le}=z(),{Option:Me}=R();g=pe.exports=new he;g.program=g;g.Argument=Ne;g.Command=he;g.CommanderError=Pe;g.Help=Le;g.InvalidArgumentError=ue;g.InvalidOptionArgumentError=ue;g.Option=Me});var de=Ae(ce(),1),{program:Be,createCommand:Ke,createArgument:Je,createOption:Ye,CommanderError:Qe,InvalidArgumentError:Xe,InvalidOptionArgumentError:Ze,Command:me,Argument:et,Option:tt,Help:fe}=de.default;var x={auth:{"@description":"Manage authentication state.",commands:{login:{"@helpText":p.auth.login.description,lazyHandler:async()=>(await import("./Login-
|
|
27
|
+
`)}),this}};function se(o,e){o._hasHelpOption&&e.find(n=>n===o._helpLongFlag||n===o._helpShortFlag)&&(o.outputHelp(),o._exit(0,"commander.helpDisplayed","(outputHelp)"))}function oe(o){return o.map(e=>{if(!e.startsWith("--inspect"))return e;let t,n="127.0.0.1",i="9229",r;return(r=e.match(/^(--inspect(-brk)?)$/))!==null?t=r[1]:(r=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(t=r[1],/^\d+$/.test(r[3])?i=r[3]:n=r[3]):(r=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=r[1],n=r[3],i=r[4]),t&&i!=="0"?`${t}=${n}:${parseInt(i)+1}`:e})}function T(o){let e=[];for(let t=o;t;t=t.parent)e.push(t);return e}ae.Command=B});var ce=O((g,pe)=>{var{Argument:Ne}=D(),{Command:he}=le(),{CommanderError:Pe,InvalidArgumentError:ue}=E(),{Help:Le}=z(),{Option:Me}=R();g=pe.exports=new he;g.program=g;g.Argument=Ne;g.Command=he;g.CommanderError=Pe;g.Help=Le;g.InvalidArgumentError=ue;g.InvalidOptionArgumentError=ue;g.Option=Me});var de=Ae(ce(),1),{program:Be,createCommand:Ke,createArgument:Je,createOption:Ye,CommanderError:Qe,InvalidArgumentError:Xe,InvalidOptionArgumentError:Ze,Command:me,Argument:et,Option:tt,Help:fe}=de.default;var x={auth:{"@description":"Manage authentication state.",commands:{login:{"@helpText":p.auth.login.description,lazyHandler:async()=>(await import("./Login-CYDAY6K7.js")).loginAsync},logout:{"@helpText":p.auth.logout.description,lazyHandler:async()=>(await import("./Logout-OB4QJDAY.js")).logoutAsync},status:{"@helpText":p.auth.status.description,lazyHandler:async()=>(await import("./AuthStatus-S3K6JJG6.js")).authStatusAsync},switch:{"@helpText":p.auth.switch.description,lazyHandler:async()=>(await import("./AuthSwitch-RSQ777N2.js")).authSwitchAsync}}},app:{"@description":"Manage apps and their resources.",commands:{clone:{"@helpText":p.app.clone.description,lazyHandler:async()=>(await import("./CloneMaafApp-N5NBJDO4.js")).cloneMaafAppAsync},create:{"@helpText":p.app.create.description,lazyHandler:async()=>(await import("./CreateMaafApp-OY6P6WIY.js")).createMaafAppAsync},init:{"@helpText":p.app.init.description,lazyHandler:async()=>(await import("./Init-NLNDZJBN.js")).initAsync},list:{"@helpText":p.app.list.description,lazyHandler:async()=>(await import("./ListMaafApps-3DEVXWSG.js")).listMaafAppsAsync},show:{"@helpText":p.app.show.deprecation,lazyHandler:async()=>(await import("./InfoMaafApp-OHDDS3OQ.js")).showMaafAppAsync},share:{typed:!0,"@helpText":p.app.share.description,lazyHandler:async()=>(await import("./ShareMaafApp-TMTGLD5F.js")).shareMaafAppAsync,commands:{link:{typed:!0,"@helpText":p.app.shareLink.description,commands:{create:{"@helpText":p.app.shareLink.create.description,lazyHandler:async()=>(await import("./ShareLinkCreate-HJV3TLI3.js")).shareLinkCreateAsync},list:{"@helpText":p.app.shareLink.list.description,lazyHandler:async()=>(await import("./ShareLinkList-2NJLTXFX.js")).shareLinkListAsync},revoke:{"@helpText":p.app.shareLink.revoke.description,lazyHandler:async()=>(await import("./ShareLinkRevoke-G2EXN5WH.js")).shareLinkRevokeAsync}}},list:{"@helpText":p.app.share.list.description,lazyHandler:async()=>(await import("./ShareList-CDGJCXBF.js")).shareListAsync}}},unshare:{"@helpText":p.app.unshare.description,lazyHandler:async()=>(await import("./UnshareMaafApp-YZPPEA32.js")).unshareMaafAppAsync},info:{"@helpText":p.app.info.description,lazyHandler:async()=>(await import("./InfoMaafApp-OHDDS3OQ.js")).infoMaafAppAsync},build:{"@helpText":p.app.build.description,lazyHandler:async()=>(await import("./BuildMaafApp-MKHYNTJN.js")).buildMaafAppAsync},"build-status":{"@helpText":p.app.buildStatus.description,lazyHandler:async()=>(await import("./GetMaafBuildStatus-I5Y6STGB.js")).getMaafBuildStatusAsync},deploy:{"@helpText":p.app.deploy.description,lazyHandler:async()=>(await import("./DeployMaafApp-VK4MJKVY.js")).deployMaafAppAsync},pack:{"@helpText":p.app.pack.description,lazyHandler:async()=>(await import("./Pack-O5U5MPSJ.js")).packAsync},play:{"@helpText":p.app.play.description,lazyHandler:async()=>(await import("./PlayMaafApp-DLD27TQL.js")).playMaafAppAsync},dev:{"@helpText":p.app.dev.description,lazyHandler:async()=>(await import("./Dev-75M4ANEA.js")).devAsync},delete:{"@helpText":p.app.delete.description,lazyHandler:async()=>(await import("./DeleteMaafApp-SJE7YRQZ.js")).deleteMaafAppAsync},refresh:{typed:!0,commands:{"data-source":{"@helpText":p.app.refresh.dataSource.description,lazyHandler:async()=>(await import("./RefreshDataSource-JU3V5L2Y.js")).refreshDataSourceAsync}}},add:{typed:!0,commands:{config:{"@helpText":p.app.add.config.description,requiresEnvVar:"ALM",lazyHandler:async()=>(await import("./AddConfig-ZIDAN5AS.js")).addConfigAsync},"data-source":{"@helpText":p.app.add.connector.description,lazyHandler:async()=>(await import("./AddConnector-YNHO2HAW.js")).addConnectorAsync},connector:{"@helpText":"(deprecated) Use 'data-source' instead.",lazyHandler:async()=>(await import("./AddConnector-YNHO2HAW.js")).addConnectorAsync}}},remove:{typed:!0,commands:{"data-source":{"@helpText":p.app.remove.description,lazyHandler:async()=>(await import("./RemoveDataSource-LXIOJFX4.js")).removeDataSourceAsync},connector:{"@helpText":"(deprecated) Use 'data-source' instead.",lazyHandler:async()=>(await import("./RemoveDataSource-LXIOJFX4.js")).removeDataSourceAsync}}},"set-setting":{"@helpText":p.app["set-setting"].description,lazyHandler:async()=>(await import("./SetSetting-GNWY5HWU.js")).setSettingAsync},"get-settings":{"@helpText":p.app["get-settings"].description,lazyHandler:async()=>(await import("./GetSettings-5T3STEOV.js")).getSettingsAsync}}},connector:{"@description":"Discover available connectors and their operations.",commands:{list:{"@helpText":p.connector.list.description,lazyHandler:async()=>(await import("./ListConnectors-YVJRDRID.js")).listConnectorsCliAsync},"list-actions":{"@helpText":p.connector["list-actions"].description,lazyHandler:async()=>(await import("./ListConnectorActions-N2IX4VWY.js")).listConnectorActionsCliAsync}}},git:{"@description":"Manage GitHub integration for apps.",commands:{auth:{typed:!0,commands:{refresh:{"@helpText":p.git.auth.refresh.description,lazyHandler:async()=>(await import("./RefreshGitAuth-N5RQYP3P.js")).refreshGitAuthAsync}}}}},telemetry:{"@description":"Manage CLI telemetry settings.",commands:{enable:{"@helpText":p.telemetry.enable.description,lazyHandler:async()=>(await import("./TelemetrySettings-KWEGCAGS.js")).telemetryEnableAsync},disable:{"@helpText":p.telemetry.disable.description,lazyHandler:async()=>(await import("./TelemetrySettings-KWEGCAGS.js")).telemetryDisableAsync},status:{"@helpText":p.telemetry.status.description,lazyHandler:async()=>(await import("./TelemetrySettings-KWEGCAGS.js")).telemetryStatusAsync}}}};function ge(o){return o.requiresEnvVar===void 0||Q(o.requiresEnvVar)}function C(o){return o.typed===!0}function k(o){return typeof o.lazyHandler=="function"}function w(o,e){if(!Object.prototype.hasOwnProperty.call(o,e))return;let t=o[e];return ge(t)?t:void 0}function K(o){return Object.entries(o).filter(([,e])=>ge(e))}function lt(o,e){let t=o.slice(2);if(t.length===0||t[0].startsWith("-"))return null;let[n]=t;return v(n,e)?_e(e[n].commands,t,1,[n]):null}function _e(o,e,t,n){if(t>=e.length)return null;let i=e[t];if(i.startsWith("-"))return null;let r=w(o,i);if(!r)return null;let s=[...n,i];if(!C(r))return{path:s,lazyHandler:r.lazyHandler,tokensConsumed:t+1};let l=e[t+1];return l!==void 0&&!l.startsWith("-")&&w(r.commands,l)!==void 0?_e(r.commands,e,t+1,s):k(r)?{path:s,lazyHandler:r.lazyHandler,tokensConsumed:t+1}:null}function ht(o,e){let t=o.slice(2),n=t.findIndex(u=>u.startsWith("-")),i=n===-1?t:t.slice(0,n);if(i.length<2)return null;let[r,...s]=i;if(!v(r,e))return null;let l=e[r].commands,a=[r],h=!1;for(let u of s){let c=w(l,u);if(!c)return h?{pathTokens:a,unknownToken:u}:null;if(!C(c))return null;a.push(u),l=c.commands,h=!0}return h?{pathTokens:a,unknownToken:void 0}:null}function v(o,e){return o in e}function J(o,e,t){let n=new fe;n.helpWidth=process.stdout.columns??80;let i=Math.max(...t.map(([l])=>l.length),8),r=2,s=2;o.push(e);for(let[l,a]of t){let h=`${l.padEnd(i+s)}${a}`;o.push(n.wrap(h,n.helpWidth-r,i+s,1).replace(/^/gm," ".repeat(r)))}}function ye(){let o=[],e=Object.entries(x);if(e.length>0){let t=Math.max(...e.map(([i])=>i.length)),n=Math.max(t+2,10);o.push("Command Groups:"),o.push("");for(let[i,r]of e)o.push(` ${i.padEnd(n)} ${r["@description"]}`);o.push(""),o.push(`Run '${"ms"} <group> --help' for commands within a group.`)}return o.join(`
|
|
28
28
|
`)}function gt(o){if(!v(o,x))return"";let e=x[o],t=[];t.push(`Usage: ${"ms"} ${o} <command> [flags]`),t.push(""),t.push(e["@description"]),t.push("");let n=[],i=[];for(let[r,s]of K(e.commands))if(C(s)){let l=s["@helpText"];k(s)&&l!==void 0&&n.push([r,l]),i.push([r,s])}else n.push([r,s["@helpText"]]);if(n.length>0&&J(t,"Commands:",n),i.length>0){t.push("");for(let[r,s]of i)J(t,`${r} <type>:`,Y(s,r).map(([l,a])=>[l,a]))}return t.push(""),t.push(`Run '${"ms"} ${o} <command> --help' for command-specific flags.`),t.join(`
|
|
29
29
|
`)}function Y(o,e){let t=[];for(let[n,i]of K(o.commands)){let r=e?`${e} ${n}`:n;C(i)?t.push(...Y(i,r)):t.push([r,i["@helpText"]])}return t}function _t(o){if(o.length<2)return null;let[e,...t]=o;if(!v(e,x))return null;let n=x[e].commands,i;for(let l of t){let a=w(n,l);if(!a)return null;if(i=a,C(a))n=a.commands;else return null}if(!i||!C(i))return null;let r=o.join(" "),s=[];return s.push(`Usage: ${"ms"} ${r} <type> [flags]`),s.push(""),J(s,"Types:",Y(i,"")),s.push(""),s.push(`Run '${"ms"} ${r} <type> --help' for type-specific flags.`),s.join(`
|
|
30
30
|
`)}function be(){return`${"ms"} v${V.version} (preview)`}function Ce(o){let e=new me;return e.option("--non-interactive","Run in non-interactive mode (no prompts, all parameters must be provided via flags or environment variables)"),e.option("--json","Format output as JSON"),e.option("--no-color","Disable colored output"),o?e.name(`${"ms"} ${o.path.join(" ")}`):(e.name("ms"),e.usage("[option] [command] [<args>]")),e.version(V.version,"-v, --version","output the current version"),e.description(p.global.programDescription),e.addHelpText("beforeAll",()=>`${be()}
|
|
@@ -35,4 +35,4 @@ Expecting one of '${n.join("', '")}'`);let i=`${e}Help`;return this.on(i,r=>{let
|
|
|
35
35
|
/*!
|
|
36
36
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
37
37
|
*/
|
|
38
|
-
//# sourceMappingURL=chunk-
|
|
38
|
+
//# sourceMappingURL=chunk-MVRNQN2O.js.map
|
|
@@ -4,8 +4,8 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as e}from"./chunk-
|
|
7
|
+
import{a as e}from"./chunk-HO6LX3K7.js";import{b as t,c as s}from"./chunk-Y7TZZLPW.js";import*as r from"os";import*as o from"path";var n=t("WORKING_DIRECTORY")??process.cwd(),E=t("CONFIG_DIR")??o.join(r.homedir(),".ms-cli"),p=o.join(E,"cache","auth"),a=o.join(E,"telemetry"),I="microsoft-managed-apps-cli",C="msal-token-cache",R="x-ms-client-request-id",T="x-ms-client-session-id",i="x-ms-target-url",m="x-ms-auth-resource",x="x-ms-body-token-resource",N="userSettings.json",S=`managed-apps-cli/${e.version}`,O=s("USE_MMA_APP_ID")?"c4ee713f-aede-4371-91fc-921aa3a5ded9":"9cee029c-6210-4654-90bb-17e6e9d36617",A="managedappscli";export{n as a,E as b,p as c,a as d,I as e,C as f,R as g,T as h,i,m as j,x as k,N as l,S as m,O as n,A as o};
|
|
8
8
|
/*!
|
|
9
9
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
10
10
|
*/
|
|
11
|
-
//# sourceMappingURL=chunk-
|
|
11
|
+
//# sourceMappingURL=chunk-PDS5FYC4.js.map
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{c as G}from"./chunk-
|
|
7
|
+
import{c as G}from"./chunk-WADQ54KB.js";import{B as U,C as q,D,E as j,F as T,G as E,Ga as S,H as R,Ha as V,I as H,X as F,g as M,j as k,u as P}from"./chunk-CBXGTKIE.js";import{a as B,b as m,f as W}from"./chunk-RBG2H562.js";import{c as Y}from"./chunk-Y7TZZLPW.js";import{a as _,c as N,h as p,i as w}from"./chunk-PVAIJSAI.js";import*as K from"http";import X from"open";var J={defaultBehavior:"Allow",allowedConnectors:[]},I="Reason: The connector service rejected the automatic connection request.";function O(r,t){S().trackErrorEvent("Connection.AutoCreateFailed",{apiId:r,error:t instanceof Error?t.message:String(t)})}async function me(r,t,o){if(r.toLowerCase().startsWith("shared_"))return r;let n=await D(void 0,t??void 0),i=r.toLowerCase(),l=n.find(e=>e.name.toLowerCase()===`shared_${i}`);if(l)return l.name;let d=n.filter(e=>e.properties.displayName.toLowerCase()===i),a=d.length===0,c=a?n.filter(e=>e.properties.displayName.toLowerCase().includes(i)):d;if(c.length===0)return r;if(c.length===1)return a&&!o?.jsonMode&&p(`Resolved '${r}' \u2192 '${c[0].properties.displayName}' (${c[0].name})`),c[0].name;let C=c.map(e=>` ${e.name} (${e.properties.displayName})`).join(`
|
|
8
8
|
`);throw new m(`Multiple connectors match '${r}'. Specify the connector ID directly:
|
|
9
9
|
${C}`)}var z="__create__",Z=600*1e3,x="1";async function fe(r,t){let o=S(),n=await r.getTenantIdAsync();n||(o.trackErrorEvent("DlpSkippedNoTenantId",{apiId:t}),w(`Could not resolve tenant ID; skipping connector policy check. Sign in with '${"ms"} auth login' for full enforcement.`));let[i,l]=await Promise.all([U(t,o),n?H(o,n).catch(()=>(w("Could not verify connector policy; proceeding without enforcement."),J)):Promise.resolve(J)]);if(!i)throw new W(`Connector '${t}' not found. Run '${"ms"} connector list' to see available connector IDs.`);let d=(i.name??t).toLowerCase(),a=new Map(l.allowedConnectors.map(e=>[e.connectorId.toLowerCase(),e])),c=new Set((l.blockedConnectors??[]).map(e=>e.connectorId.toLowerCase()));if(l.defaultBehavior==="Block"?!a.has(d):c.has(d))throw new m(`Connector '${i.properties.displayName??t}' is blocked by your organization's connector policy.`);return{connector:i,tenantId:n,policy:l}}async function pe(r){let t=V(),{argumentProvider:o,apiId:n,connector:i,useSso:l,interactive:d=t.interactive,quiet:a=!1,nonInteractiveReason:c="cli-mode"}=r,C=S(),e=P(),s=await q(n,C);if(!d)return ee({argumentProvider:o,apiId:n,connector:i,connections:s??[],useSso:l,quiet:a,nonInteractiveReason:c});if(l){if(!E(i))throw new m(`--use-sso was set but '${i.properties.displayName??n}' does not support single sign-on (SSO) authentication.
|
|
10
10
|
To fix: Re-run without --use-sso to create a connection interactively.`);let f=(s??[]).filter(u=>R(u,i));if(f.length>0){let[u]=f;return p(`Using existing SSO connection '${u.properties.displayName}' (${u.name}).`),f.length>1&&w(`Multiple SSO connections found for '${i.properties.displayName??n}'. Re-run with --connection-id <id> or -c <id> to use a specific one.`),{connectionId:u.name,autoSelected:!0}}let y=await A(o,n);return N(`Created a new connection '${y.properties.displayName}' (${y.name}).`),{connectionId:y.name,autoSelected:!1}}let g=[...s.map(f=>({value:f.name,label:f.properties.displayName,hint:f.name})),{value:z,label:"(Create a new connection)"}],h=await G({message:"Select a connection:",options:g});if(h===z){if(T(i))try{return{connectionId:(await A(o,n)).name,autoSelected:!1}}catch(v){O(n,v),w("Silent connection creation failed."),p(`Falling back to browser-based connection creation...
|
|
@@ -41,4 +41,4 @@ Cancelling...`),e(),l({status:"cancelled"})};function e(){clearTimeout(c),proces
|
|
|
41
41
|
/*!
|
|
42
42
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
43
43
|
*/
|
|
44
|
-
//# sourceMappingURL=chunk-
|
|
44
|
+
//# sourceMappingURL=chunk-PVGICWWI.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
+
const require = __createRequire(import.meta.url);
|
|
5
|
+
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __pathDirname(__filename);
|
|
7
|
+
import{a as T,b as y,c as h}from"./chunk-IMBY742Q.js";import{a as v,b as U}from"./chunk-X5O77GZS.js";import{Ca as G,Da as x,Ga as E,N as b,c as D}from"./chunk-CBXGTKIE.js";import{c as H}from"./chunk-RBG2H562.js";import{h as d}from"./chunk-PVAIJSAI.js";async function A(r){let{remoteUrl:c,tenantId:l,jsonMode:p,openBrowser:s,verb:f}=r,{host:t,owner:i,repo:n}=D(c),o=i&&n?G(i,n):"",R=t&&i&&n?`https://${t}/${i}/${n}`:c,e=E(),a=B(f);e.trackActivityEvent(a,{repoHost:t,repoHash:o}),p||d("GitHub authentication is required for this action.");let u=M({isJson:p,openBrowser:s}),m=new AbortController,w=()=>{m.abort()};process.once("SIGINT",w);try{await x({remoteUrl:R,tenantId:l,logger:e,display:u,skipBrowser:!1,signal:m.signal})}catch(g){throw e.trackActivityEvent(`${a}.Failed`,{repoHost:t,repoHash:o}),y(g)??g}finally{process.removeListener("SIGINT",w)}e.trackActivityEvent(`${a}.Complete`,{repoHost:t,repoHash:o}),p||d(I(f))}function I(r){switch(r){case"app create":return"Resuming create...";case"app init":return"Resuming init...";case"app build":return"Resuming build...";case"app deploy":return"Resuming deploy..."}}function M(r){return r.isJson?new U:r.openBrowser?v:{...v,openVerificationUri:void 0}}function B(r){switch(r){case"app create":return"Maaf.Create.GitHubDcfRecovery";case"app init":return"Maaf.Init.GitHubDcfRecovery";case"app build":return"Maaf.Build.GitHubDcfRecovery";case"app deploy":return"Maaf.Deploy.GitHubDcfRecovery"}}async function F(r,c,l=A){let{repoType:p,externalRepoUrl:s,tenantId:f,jsonMode:t,openBrowser:i,verb:n}=c;try{return await r({isRetry:!1})}catch(o){if(p!=="github")throw o;if(!h(o)){if(o instanceof b)throw o;let e=y(o);throw e||o}if(!s)throw new H(`GitHub authentication is required, but the app config does not record the external repository URL needed to recover the identity mapping. This app may have been created before the URL was persisted to \`ms.config.json\`. Either add \`externalRepoUrl: "<your repo url>"\` to \`ms.config.json\`, or recreate the app with \`ms app create --repo <your repo url>\`, then run \`ms ${n}\` again.`);await l({remoteUrl:s,tenantId:f,jsonMode:t,openBrowser:i,verb:n});try{return await r({isRetry:!0})}catch(e){if(e instanceof b)throw e;let a=h(e);if(a)throw T(a.payload)??e;let u=y(e);throw u||e}}}export{F as a};
|
|
8
|
+
/*!
|
|
9
|
+
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
10
|
+
*/
|
|
11
|
+
//# sourceMappingURL=chunk-QKHCRDMM.js.map
|
|
@@ -4,7 +4,7 @@ import { dirname as __pathDirname } from 'node:path';
|
|
|
4
4
|
const require = __createRequire(import.meta.url);
|
|
5
5
|
const __filename = __fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{Ha as Z}from"./chunk-
|
|
7
|
+
import{Ha as Z}from"./chunk-CBXGTKIE.js";import{b as j}from"./chunk-RBG2H562.js";import{i as k}from"./chunk-PVAIJSAI.js";import{a as G}from"./chunk-MPRAPBI2.js";import{b as Gt,d as mt}from"./chunk-UT667QSU.js";var it=Gt((Ee,Tt)=>{"use strict";var st={to(t,e){return e?`\x1B[${e+1};${t+1}H`:`\x1B[${t+1}G`},move(t,e){let s="";return t<0?s+=`\x1B[${-t}D`:t>0&&(s+=`\x1B[${t}C`),e<0?s+=`\x1B[${-e}A`:e>0&&(s+=`\x1B[${e}B`),s},up:(t=1)=>`\x1B[${t}A`,down:(t=1)=>`\x1B[${t}B`,forward:(t=1)=>`\x1B[${t}C`,backward:(t=1)=>`\x1B[${t}D`,nextLine:(t=1)=>"\x1B[E".repeat(t),prevLine:(t=1)=>"\x1B[F".repeat(t),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},Qt={up:(t=1)=>"\x1B[S".repeat(t),down:(t=1)=>"\x1B[T".repeat(t)},te={screen:"\x1B[2J",up:(t=1)=>"\x1B[1J".repeat(t),down:(t=1)=>"\x1B[J".repeat(t),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(t){let e="";for(let s=0;s<t;s++)e+=this.line+(s<t-1?st.up():"");return t&&(e+=st.left),e}};Tt.exports={cursor:st,scroll:Qt,erase:te,beep:"\x07"}});import{styleText as ee}from"node:util";import{stdout as At,stdin as se}from"node:process";import ie from"node:readline";var gt=(()=>{let t=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return e=>{let s=0;for(t.lastIndex=0;t.test(e);)s+=1;return e.length-s}})(),ft=t=>t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510,$t=t=>t===8987||t===9001||t>=12272&&t<=12287||t>=12289&&t<=12350||t>=12441&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12771||t>=12783&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=19903||t>=65040&&t<=65049||t>=65072&&t<=65106||t>=65108&&t<=65126||t>=65128&&t<=65131||t>=127488&&t<=127490||t>=127504&&t<=127547||t>=127552&&t<=127560||t>=131072&&t<=196605||t>=196608&&t<=262141;var kt=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,jt=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,yt=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu,Wt=/\t{1,1000}/y,vt=new RegExp("[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*","yu"),Ut=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,Bt=new RegExp("\\p{M}+","gu"),Kt={limit:1/0,ellipsis:""},wt=(t,e={},s={})=>{let i=e.limit??1/0,r=e.ellipsis??"",n=e?.ellipsisWidth??(r?wt(r,Kt,s).width:0),o=0,a=s.controlWidth??0,l=s.tabWidth??8,h=s.emojiWidth??2,m=2,c=s.regularWidth??1,d=s.wideWidth??m,y=[[Ut,c],[kt,o],[jt,a],[Wt,l],[vt,h],[yt,d]],g=0,f=0,b=t.length,E=0,A=!1,V=b,F=Math.max(0,i-n),v=0,I=0,w=0,_=0;t:for(;;){if(I>v||f>=b&&f>g){let S=t.slice(v,I)||t.slice(g,f);E=0;for(let O of S.replaceAll(Bt,"")){let x=O.codePointAt(0)||0;if(ft(x)?_=m:$t(x)?_=d:_=c,w+_>F&&(V=Math.min(V,Math.max(v,g)+E)),w+_>i){A=!0;break t}E+=O.length,w+=_}v=I=0}if(f>=b)break t;for(let S=0,O=y.length;S<O;S++){let[x,dt]=y[S];if(x.lastIndex=f,x.test(t)){if(E=x===yt?gt(t.slice(f,x.lastIndex)):x===vt?1:x.lastIndex-f,_=E*dt,w+_>F&&(V=Math.min(V,f+Math.floor((F-w)/dt))),w+_>i){A=!0;break t}w+=_,v=g,I=f,f=g=x.lastIndex;continue t}}f+=1}return{width:A?F:w,index:A?V:b,truncated:A,ellipsed:A&&i>=n}},It=wt;var Ht={limit:1/0,ellipsis:"",ellipsisWidth:0},qt=(t,e={})=>It(t,Ht,e).width,T=qt;var W="\x1B",Ct="\x9B",Jt=39,tt="\x07",Et="[",Yt="]",Mt="m",et=`${Yt}8;;`,bt=new RegExp(`(?:\\${Et}(?<code>\\d+)m|\\${et}(?<uri>.*)${tt})`,"y"),_t=t=>{if(t>=30&&t<=37||t>=90&&t<=97)return 39;if(t>=40&&t<=47||t>=100&&t<=107)return 49;if(t===1||t===2)return 22;if(t===3)return 23;if(t===4)return 24;if(t===7)return 27;if(t===8)return 28;if(t===9)return 29;if(t===0)return 0},St=t=>`${W}${Et}${t}${Mt}`,xt=t=>`${W}${et}${t}${tt}`,Q=(t,e,s)=>{let i=e[Symbol.iterator](),r=!1,n=!1,o=t.at(-1),a=o===void 0?0:T(o),l=i.next(),h=i.next(),m=0;for(;!l.done;){let c=l.value,d=T(c);a+d<=s?t[t.length-1]+=c:(t.push(c),a=0),(c===W||c===Ct)&&(r=!0,n=e.startsWith(et,m+1)),r?n?c===tt&&(r=!1,n=!1):c===Mt&&(r=!1):(a+=d,a===s&&!h.done&&(t.push(""),a=0)),l=h,h=i.next(),m+=c.length}o=t.at(-1),!a&&o!==void 0&&o.length&&t.length>1&&(t[t.length-2]+=t.pop())},zt=t=>{let e=t.split(" "),s=e.length;for(;s&&!T(e[s-1]);)s--;return s===e.length?t:e.slice(0,s).join(" ")+e.slice(s).join("")},Xt=(t,e,s={})=>{if(s.trim!==!1&&t.trim()==="")return"";let i="",r,n,o=t.split(" "),a=[""],l=0;for(let c=0;c<o.length;c++){let d=o[c];if(s.trim!==!1){let g=a.at(-1)??"",f=g.trimStart();g.length!==f.length&&(a[a.length-1]=f,l=T(f))}c!==0&&(l>=e&&(s.wordWrap===!1||s.trim===!1)&&(a.push(""),l=0),(l||s.trim===!1)&&(a[a.length-1]+=" ",l++));let y=T(d);if(s.hard&&y>e){let g=e-l,f=1+Math.floor((y-g-1)/e);Math.floor((y-1)/e)<f&&a.push(""),Q(a,d,e),l=T(a.at(-1)??"");continue}if(l+y>e&&l&&y){if(s.wordWrap===!1&&l<e){Q(a,d,e),l=T(a.at(-1)??"");continue}a.push(""),l=0}if(l+y>e&&s.wordWrap===!1){Q(a,d,e),l=T(a.at(-1)??"");continue}a[a.length-1]+=d,l+=y}s.trim!==!1&&(a=a.map(c=>zt(c)));let h=a.join(`
|
|
8
8
|
`),m=!1;for(let c=0;c<h.length;c++){let d=h[c];if(i+=d,m)m=!1;else if(m=d>="\uD800"&&d<="\uDBFF",m)continue;if(d===W||d===Ct){bt.lastIndex=c+1;let g=bt.exec(h)?.groups;if(g?.code!==void 0){let f=Number.parseFloat(g.code);r=f===Jt?void 0:f}else g?.uri!==void 0&&(n=g.uri.length===0?void 0:g.uri)}if(h[c+1]===`
|
|
9
9
|
`){n&&(i+=xt(""));let y=r?_t(r):void 0;r&&y&&(i+=St(y))}else d===`
|
|
10
10
|
`&&(r&&_t(r)&&(i+=St(r)),n&&(i+=xt(n)))}return i},Zt=/\r?\n/;function R(t,e,s){return String(t).normalize().split(Zt).map(i=>Xt(i,e,s)).join(`
|
|
@@ -47,4 +47,4 @@ ${a}
|
|
|
47
47
|
/*!
|
|
48
48
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
49
49
|
*/
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-WADQ54KB.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/managed-apps-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Command-line interface for building and managing Microsoft Managed Apps",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"git": ">=2.27.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@microsoft/managed-apps-actions": "0.17.
|
|
39
|
-
"@microsoft/managed-apps-codegen": "0.3.
|
|
40
|
-
"@microsoft/managed-apps-common": "0.
|
|
38
|
+
"@microsoft/managed-apps-actions": "0.17.1",
|
|
39
|
+
"@microsoft/managed-apps-codegen": "0.3.2",
|
|
40
|
+
"@microsoft/managed-apps-common": "0.22.0",
|
|
41
41
|
"@azure/msal-node": "5.2.2",
|
|
42
42
|
"@clack/prompts": "1.4.0",
|
|
43
43
|
"@microsoft/1ds-core-js": "4.3.11",
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as E,b as g,c as C,d as W,e as F}from"./chunk-5XRK3F43.js";import{a as T}from"./chunk-DD7E4ADI.js";import{Ga as M,T as P,b,g as I,ma as x}from"./chunk-UIW77LMA.js";import{b as O,d as r}from"./chunk-RBG2H562.js";import"./chunk-LDP2SHPJ.js";import"./chunk-7PH2NK5K.js";import"./chunk-Y7TZZLPW.js";import{e as m}from"./chunk-DAG6RPOF.js";import{c,d as h,i as A}from"./chunk-PVAIJSAI.js";import{a as f}from"./chunk-WQKDXHGX.js";import{c as N}from"./chunk-3FP37TPE.js";import"./chunk-Y5AMO72S.js";import"./chunk-UT667QSU.js";import*as l from"node:fs";import*as y from"node:fs/promises";import*as L from"node:path";async function ie(e){V(e),await e.runVerb();let n=await e.getOption(m.Deployment.name),t=C(n),o=E(),i=F(o,t);if(await G(o.appRoot,i),t===g){let p=`Deployment '${t}' is already provisioned.`,$=await U(i),d=_(p,i,$);if(e.isJsonMode()){h({deployment:t,deploymentCreated:!1,configCreated:$===void 0,configPath:i,...d?{warning:d}:{}});return}if(d){A(d);return}c(`Created deployment config '${i}'.`);return}let u=await R(e,o.config),a=u.projectId?.trim();if(!a)throw new r(`App '${u.displayName}' is not associated with a managed project, so a deployment cannot be configured.`);e.updateEnvironmentId(u.environmentId);let w=!0;try{await P(a,{stageName:t})}catch(p){if(B(p))w=!1;else throw p}let D=await U(i),v=w?`Registered deployment '${t}' with project '${a}'.`:`Deployment '${t}' is already registered with project '${a}'.`,s=_(v,i,D);if(e.isJsonMode()){h({deployment:t,projectId:a,deploymentCreated:w,configCreated:D===void 0,configPath:i,...s?{warning:s}:{}});return}if(s){A(s);return}c(v),c(`Created deployment config '${i}'.`)}var j=/^default-/i;function S(e,n,t=!1){if(e==null)return;if(typeof e!="string")throw new r(`The base app config field '${n}' must be a string, but is of type ${typeof e}.`);let o=e.trim();if(!o)return;let i=t?o.replace(j,""):o;if(!b(i))throw new r(`The base app config field '${n}' must be a GUID, but is '${o}'.`);return o}async function R(e,n){let t=S(n.appId,"appId");if(!t)throw new r("The base app config does not contain an appId.");let o=S(n.environmentId,"environmentId",!0),i=await e.getTenantIdAsync();if(!i)throw new O("Unable to determine tenant ID. Ensure you are logged in.");return x({tenantId:i,environmentId:o,logger:M(),actionsParams:{appName:t}})}async function G(e,n){if(l.existsSync(n))throw new r(`${L.basename(n)} already exists. Edit it directly or choose another deployment.`);try{await y.access(e,l.constants.W_OK)}catch(t){throw new r(`App directory '${e}' is not writable.`,{underlyingError:t})}}async function J(e,n){await y.writeFile(e,n,{encoding:"utf8",flag:"wx"})}async function k(e){await J(e,`${JSON.stringify({$schema:N},null,2)}
|
|
8
|
-
`)}async function U(e){try{await k(e);return}catch(n){return n instanceof Error?n.message:String(n)}}function _(e,n,t){if(t!==void 0)return`${e} The deployment config '${n}' could not be created. Fix the filesystem error and rerun the command; the existing deployment will be reused. Reason: ${t}`}function B(e){return e instanceof I&&e.status===409&&e.code==="StageNameConflict"}function V(e){e.setDescription(f.app.add.config.description),e.addExamples(f.app.add.config.examples),e.addOptions([{flags:{key:m.Deployment.name},description:f.app.add.config.options.deployment,customPrompt:async()=>await T({message:m.Deployment.promptMessage,initialValue:g})}])}export{g as DEFAULT_DEPLOYMENT_NAME,ie as addConfigAsync,W as assertOverlayNameNotReserved,E as resolveBaseConfig,S as validateConfigGuid,C as validateDeploymentName};
|
|
9
|
-
/*!
|
|
10
|
-
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
11
|
-
*/
|
|
12
|
-
//# sourceMappingURL=AddConfig-GZO2UMFR.js.map
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{b as ae}from"./chunk-I22E6YZT.js";import{a as we,b as re,c as se,d as pe}from"./chunk-F3HGM3IU.js";import"./chunk-HBLO3WDD.js";import{a as ne}from"./chunk-OL6CTXQR.js";import{a as ie}from"./chunk-PKDXP7CL.js";import"./chunk-HCPTQP7J.js";import"./chunk-X5O77GZS.js";import{d as te,j as oe}from"./chunk-SBVJ4SMO.js";import{b as L,h as ee}from"./chunk-DD7E4ADI.js";import{Ga as E,Ha as M,L as W,N as q,O as Y,fa as j,g as J,ja as K,ka as X,qa as x,ra as U}from"./chunk-UIW77LMA.js";import{a as c,b as a,d as T,g as I}from"./chunk-RBG2H562.js";import"./chunk-LDP2SHPJ.js";import"./chunk-7PH2NK5K.js";import{a as Z,c as Q}from"./chunk-Y7TZZLPW.js";import{s}from"./chunk-DAG6RPOF.js";import{c as F,d as O,e as G,h as m,i as R}from"./chunk-PVAIJSAI.js";import{a as g}from"./chunk-WQKDXHGX.js";import{a as b}from"./chunk-3FP37TPE.js";import"./chunk-Y5AMO72S.js";import{d as ge}from"./chunk-UT667QSU.js";import{promises as me}from"node:fs";import*as B from"node:path";import{promises as le}from"node:fs";var ce=ge(we(),1);function ve(e){return e?.code==="ENOENT"?"continue":e instanceof Error?e:new Error(String(e))}function De(e){return`zipBuildArtifact: skipping missing entry: ${e?.path??"<unknown>"}`}async function ue(e,t,i){let n=await le.stat(e).catch(()=>null);if(!n)throw new a(`buildPath not found: ${e}`);if(!n.isDirectory())throw new a(`buildPath is not a directory: ${e}`);let r=await le.stat(t).catch(()=>null);if(!r||!r.isFile())throw new a(`appConfigPath does not point to a file: ${t}`);let d=i?.maxBytes;return new Promise((y,o)=>{let w=[],v=0,f=!1,l=(0,ce.default)("zip",{zlib:{level:9}});l.on("data",h=>{if(!f){if(v+=h.length,d!==void 0&&v>d){f=!0,l.abort(),o(new I({capBytes:d,bytes:v}));return}w.push(h)}}),l.on("warning",h=>{if(f)return;let D=ve(h);if(D==="continue"){R(De(h));return}o(D)}),l.on("error",h=>{f||o(h)}),l.on("end",()=>{f||y(Buffer.concat(w))}),l.directory(e,!1),l.file(t,{name:b}),l.finalize()})}var be=1200*1e3,Ae=6e4,Ne=2e3,de=`External artifact deployment is not enabled for this environment.
|
|
8
|
-
To enable it, contact your administrator to turn on the
|
|
9
|
-
AllowExternalArtifactDeployment environment setting.`;function _(e){return`${(e/(1024*1024)).toFixed(1)} MB`}function V(e,t){return e!==void 0?`Build artifact is ${_(e)}, which exceeds the ${_(t)} limit.`:`Build artifact exceeds the ${_(t)} limit.`}function Se(e){let t=e.id||e.name;if(!t)throw new c("Deploy succeeded but the server response did not include an app identifier.");return{appId:t,displayName:e.displayName,commitHash:e.commitHash??null,appPlayUri:e.appPlayUri??null}}function fe(e){return{appId:e.appId,displayName:e.name,commitHash:e.commitSha,appPlayUri:e.appPlayUri}}function H(e,t=e.commitSha){return{operationId:e.operation.operationId,appName:e.appName,commitHash:t}}function A(e){if(e.body)try{let t=JSON.parse(e.body);if(typeof t?.error?.message=="string")return t.error.message}catch{}}function Pe(e,t){if(e instanceof I)return new a(V(e.bytes,e.capBytes));if(e instanceof q)return new c(e.message);if(!(e instanceof J))return null;let i=t.repoType!=="none";if(e.status===400&&e.code==="ArtifactNotAllowedForGitRepo"){let n=A(e);return new c(n?`Artifact upload rejected for this git-backed app: ${n}`:`The server reports this app is git-backed; --artifact uploads are not allowed. Update \`${b}\` so \`repoType\` matches the server's record, then re-run with --commit.`)}if(e.status===400&&e.code==="CommitNotAllowedForArtifactDeploy")return new a("This app uses external artifact deployment. Pass --artifact <path> instead of --commit.");if(e.status===400&&e.code==="InvalidRequestContent")return new a("Invalid deploy request \u2014 verify the environment and app id.");if(e.status===400&&e.code==="ServicePrincipalNotSupportedForMaafOperations")return new a("Service principal callers are not supported for `ms app deploy`. Use interactive auth.");if(e.status===400&&e.code==="BadRequest"){let n=A(e);return i?new a(n??"Invalid commit ID. Use a 40-character lowercase hex value."):new a(`Build artifact rejected: ${n??e.message}`)}if(e.status===400&&e.code==="BuildNotAvailable")return new c("No completed build is available for this commit. Run `ms app build` first, or wait for the build to complete before retrying.");if(e.status===403&&e.code==="ExternalArtifactDeploymentDisabled")return new c(de);if(e.status===403&&e.code==="InsufficientPrivilege"){let n=A(e);return new c(n?`${n} Ask an admin to grant the required privilege.`:"You don't have the required privilege to deploy this app. Ask an admin to grant deploy permission on the environment.")}if(e.status===403&&e.code==="CodeAppOperationNotAllowedInEnvironment")return new c(de);if(e.status===403&&e.code==="Forbidden")return new c("You don't have permission to deploy this app. Ask an admin to grant you Contributor on the repo.");if(e.status===404&&e.code==="CommitNotFound"){let n=A(e);return new a(n??"Commit not found on main.")}if(e.status===404&&e.code==="ApplicationNotFound")return new a(`App '${t.appName}' not found in environment ${t.environmentId}.`);if(e.status===404&&e.code==="PowerConfigNotFound")return new c(`Build output is missing the app config (\`${b}\`). Ensure the config is present at the root of the build output and re-run the build.`);if(e.status===404&&e.code==="OperationNotFound")return new c("Build operation not found on the server. The operation may have been cleaned up; re-run `ms app deploy` to start a fresh build.");if(e.status===409&&e.code==="BuildInProgress")return new c("A build is currently in progress for this app. Run `ms app build-status` to check progress, then retry the deploy.");if(e.status===409&&e.code==="NoGreenBuildAvailable")return new c("No successful build is available to deploy. Push a commit and wait for the build to succeed before retrying.");if(e.status===409&&e.code==="RepoTypeMismatch"){let n=A(e);return new a(n?`Repo type mismatch: ${n}`:"The app's repoType in ms.config.json doesn't match the server's record. Update ms.config.json to match.")}if(e.status===413)return new c(V(void 0,524288e3));if(e.status===422&&e.code==="ArtifactInvalid"){let n=A(e)??e.message;return new a(`Artifact validation failed: ${n}`)}return e.status===502&&e.code==="MaafBuildServiceUnavailable"?new c("Build service is temporarily unavailable. Try again."):e.status===503&&e.code==="AuthorizationCheckFailed"?new c("Authorization service is temporarily unavailable. Try again."):null}async function Re(e){let{provider:t,appName:i,force:n,forceReauth:r,waitForDeployment:d,onDeployProgress:y}=e,o=e.commitFromFlag,w,v=!1;if(!o){let u=te();if(!u)throw new a("Could not determine the latest commit ID. Use --commit or -c to specify it.");o=u.commitSha,w=u.detached?void 0:u.branch,v=!0}if(v&&!t.isJsonMode()&&m(w?`Using branch '${w}' at commit ${o}.`:`Detached HEAD at commit ${o}.`),!n){let u=oe();if(u&&M().interactive&&!t.isJsonMode()){if(R(u),!await L({message:"Deploy anyway?",initialValue:!1}))return m("Deploy cancelled."),null}else if(u)throw new a(`${u} Run again with --force to deploy anyway.`)}let f=E(),l=await j({logger:f,actionsParams:{appName:i,commitSha:o,...r&&{forceReauth:!0}}});if(l===null)t.isJsonMode()||m(`A cached build exists for commit ${o}; `+(d?"deploying it.":"submitting its deployment."));else{t.isJsonMode()||m("Build queued; waiting for completion...");let u=await ae({appName:i,commitSha:o,initialWaitMs:l.retryAfterMs??Ne,isJsonMode:t.isJsonMode(),deadlineMs:be,maxIntervalMs:Ae,spinnerLabel:"Waiting for build..."});if(u.status!=="Succeeded")throw new c(`Unexpected terminal build status "${u.status}". Commit ID: ${o}.`)}let h={appName:i,commitSha:o,...e.deploymentName!==void 0&&{deploymentName:e.deploymentName},...r&&{forceReauth:!0}};if(!d){let u=await X({logger:f,actionsParams:h});return{kind:"submitted",value:H(u)}}let D=await K({logger:f,actionsParams:h,onProgress:y});return{kind:"deployed",value:Se(D)}}async function Ie(e){let t=B.resolve(e.artifactPath);if(B.extname(t).toLowerCase()!==".zip")throw new a(`--artifact must point to a .zip file. Received: ${e.artifactPath}`);let i=await Ee(t);if(!i||!i.isFile())throw new a(`--artifact file not found or not a regular file: ${e.artifactPath}`);if(i.size>524288e3)throw new a(V(i.size,524288e3));let n=await me.readFile(t);e.provider.isJsonMode()||m(e.waitForDeployment?"Uploading artifact and deploying...":"Uploading artifact and submitting deployment...");let r={logger:E(),actionsParams:{appName:e.appName,zipBuffer:n,...e.deploymentName!==void 0&&{deploymentName:e.deploymentName}}};if(!e.waitForDeployment){let{commitSha:y,submission:o}=await U(r);return{kind:"submitted",value:H(o,y)}}let d=await x({...r,onProgress:e.onDeployProgress});return{kind:"deployed",value:fe(d)}}async function Ee(e){try{return await me.stat(e)}catch(t){if(t instanceof Error&&"code"in t&&t.code==="ENOENT")return null;throw t}}async function Me(e){if(re(e.appConfig),!(e.provider.isJsonMode()||!M().interactive)&&!await L({message:`This will build the app and deploy the resulting artifact to environment ${e.environmentId}. Continue?`,initialValue:!1}))return m("Aborted."),null;let{packAppOutputDir:i}=await pe({quiet:e.provider.isJsonMode()}),n=await ue(i,e.appConfigPath,{maxBytes:524288e3});e.provider.isJsonMode()||m(e.waitForDeployment?"Uploading build artifact and deploying...":"Uploading build artifact and submitting deployment...");let r={logger:E(),actionsParams:{appName:e.appName,zipBuffer:n,...e.deploymentName!==void 0&&{deploymentName:e.deploymentName}}};if(!e.waitForDeployment){let{commitSha:y,submission:o}=await U(r);return{kind:"submitted",value:H(o,y)}}let d=await x({...r,onProgress:e.onDeployProgress});return{kind:"deployed",value:fe(d)}}async function ot(e){ke(e),await e.runVerb();let t=e.getManagedDevOpsDeployVersion();t!==void 0&&process.stderr.write(`[debug] ${Z("MAAF_DEPLOY_VIA_MANAGED_DEVOPS")} selects Managed DevOps API v${t}; deploying via the '/manageddevops' route.
|
|
10
|
-
`);let i=await e.getOption(s.NoWait.camelName,!0)!==!1;i||Y(t);let{appConfig:n,fileConfig:r,interactive:d}=M();if(!n)throw new T(`${b} is required. Run this command from a directory created by \`ms app create\`.`);if(!r?.appConfigPath)throw new T(`${b} path is unavailable.`);se(n,S=>new a(S));let y=e.getEnvironmentId();if(!y)throw new a(`No environment ID found. Run this command from a directory with a ${b} (created by \`ms app create\`).`);let o=n.repoType??"native",w=n.externalRepoUrl,v=await e.getOption("commit",!0),f=await e.getOption("artifact",!0),l=(await e.getOption(s.Deployment.name,!0))?.trim();if(l!==void 0&&W(l),v&&f)throw new a("Pass either --commit or --artifact, not both. --commit triggers a build for the commit; --artifact deploys a pre-built zip.");if(o==="none"&&v)throw new a("This app uses external artifact deployment. Pass --artifact <path> instead of --commit.");if(f&&o!=="none")throw new a(`--artifact is only valid for apps created with \`repoType: 'none'\`. This app's repoType is \`${o}\`; deploy via \`--commit\` (or omit it to use the current HEAD).`);let h=await e.getTenantIdAsync();if(!h)throw new a("Unable to determine tenant ID. Ensure you are logged in.");let D=await ee(e),u=await e.getOption(s.OpenBrowser.camelName,!0)??!1,z=await e.getOption(s.ForceReauth.camelName,!0)??!1,ye=await e.getOption(s.Force.name,!0)??!1,N=e.isJsonMode(),k=(t===2||t===3)&&!N&&i?Ce(d&&process.stdout.isTTY===!0):void 0,$=k?.onProgress;N&&o==="github"&&G({phase:"deploy-validation"});let p;try{f?p=await Ie({provider:e,appName:D,artifactPath:f,waitForDeployment:i,deploymentName:l,onDeployProgress:$}):o==="native"||o==="github"?p=await ie(async({isRetry:P})=>{try{return await Re({provider:e,appName:D,commitFromFlag:v,force:ye,forceReauth:z&&!P&&o==="github",waitForDeployment:i,deploymentName:l,onDeployProgress:$})}catch(he){throw k?.stop(),he}},{repoType:o,externalRepoUrl:w,tenantId:h,jsonMode:N,openBrowser:u,verb:"app deploy"}):p=await Me({provider:e,appName:D,appConfig:n,appConfigPath:r.appConfigPath,environmentId:y,waitForDeployment:i,deploymentName:l,onDeployProgress:$})}catch(S){let P=Pe(S,{repoType:o,appName:D,environmentId:y});throw P||S}finally{k?.stop()}if(p!==null){if(p.kind==="submitted"){N?O({status:"submitted",operationId:p.value.operationId,appName:p.value.appName,commitHash:p.value.commitHash,repoType:o}):(F(`Deployment submitted for app '${p.value.appName}'.`),m(`Operation ID: ${p.value.operationId}`),m(`Commit: ${p.value.commitHash}`));return}N?O({...p.value,repoType:o}):(F(`Deployed app '${p.value.displayName}' (${p.value.appId}).`),p.value.commitHash&&m(`Commit: ${p.value.commitHash}`),p.value.appPlayUri&&m(`Play URL: ${p.value.appPlayUri}`))}}function Ce(e){let t,i=!1,n,r=()=>{i&&(t?.stop(),i=!1)},d=()=>{e&&(t??=new ne,t.start("Waiting for deployment..."),i=!0)};return{onProgress:o=>{let w=Be(o);if(w!==n)switch(n=w,o.type){case"submitting":r(),m("Submitting deployment...");break;case"submitted":r(),m(`Operation: ${o.operationId}`),d();break;case"status":r(),m(`Deployment status: ${o.operationStatus}`),(o.operationStatus==="NotStarted"||o.operationStatus==="Running")&&d();break}},stop:()=>{r(),n=void 0}}}function Be(e){switch(e.type){case"submitting":return e.type;case"submitted":return`${e.type}:${e.operationId}`;case"status":return`${e.type}:${e.operationId}:${e.operationStatus}`}}function ke(e){let t=Q("ALM");e.setDescription(g.app.deploy.description),e.addExamples(t?g.app.deploy.examples:g.app.deploy.examples.filter(i=>!i.includes(" --deployment "))),e.addOptions([{flags:{key:s.AppName.name},env:s.AppName.envVar,description:g.app.deploy.options.app,optionalInNonInteractive:!0},{flags:{key:s.CommitSha.name,alias:s.CommitSha.alias},env:s.CommitSha.envVar,description:g.app.deploy.options.commit,optionalInNonInteractive:!0},{flags:{key:s.Artifact.name},env:s.Artifact.envVar,description:g.app.deploy.options.artifact,optionalInNonInteractive:!0},...t?[{flags:{key:s.Deployment.name},env:s.Deployment.envVar,description:g.app.deploy.options.deployment,optionalInNonInteractive:!0}]:[]]),e.addSwitch({flags:{key:s.OpenBrowser.name},description:g.app.deploy.options.openBrowser}),e.addSwitch({flags:{key:s.Force.name},description:g.app.deploy.options.force}),e.addSwitch({flags:{key:s.NoWait.name},description:g.app.deploy.options.noWait}),e.addSwitch({flags:{key:s.ForceReauth.name},description:g.app.deploy.options.forceReauth})}export{ot as deployMaafAppAsync};
|
|
11
|
-
/*!
|
|
12
|
-
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
13
|
-
*/
|
|
14
|
-
//# sourceMappingURL=DeployMaafApp-HF67BQRZ.js.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{b as h}from"./chunk-YMXXWGRV.js";import{c as y}from"./chunk-2FNWZUPW.js";import{e as f}from"./chunk-DD7E4ADI.js";import{Ga as d,aa as p}from"./chunk-UIW77LMA.js";import{b as m}from"./chunk-RBG2H562.js";import"./chunk-LDP2SHPJ.js";import"./chunk-7PH2NK5K.js";import"./chunk-Y7TZZLPW.js";import{j as o}from"./chunk-DAG6RPOF.js";import{f as l}from"./chunk-PVAIJSAI.js";import{a as n}from"./chunk-WQKDXHGX.js";import"./chunk-3FP37TPE.js";import"./chunk-Y5AMO72S.js";import"./chunk-UT667QSU.js";async function b(e){C(e),await e.runVerb();let s=d(),i=await e.getTenantIdAsync();if(!i)throw new m("Unable to determine tenant ID. Ensure you are logged in.");let g=await y(e,s,{jsonMode:e.isJsonMode(),telemetryNamespace:"ListConnectors"}),w=await e.getOption(o.Search.name,!0),A=await e.getOption(o.OnlyAllowed.camelName,!0),a=await p({tenantId:i,environmentId:g,actionsParams:{search:w},logger:s}),r=(A?a.filter(t=>!t.isBlocked):a).slice().sort((t,c)=>t.isBlocked!==c.isBlocked?t.isBlocked?1:-1:t.displayName.localeCompare(c.displayName));if(e.isJsonMode()){l(r);return}await h({title:"Connectors",columns:[{header:"Display Name",maxWidth:38},{header:"Connector",maxWidth:38},{header:"Policy Status"},{header:"Tabular"}],rows:r.map(t=>[t.displayName,t.name.replace(/^shared_/i,""),t.isBlocked?"Blocked":"Allowed",t.isTabular?"Yes":"No"]),emptyMessage:"No connectors found.",totalLabel:"connector(s)",hint:n.connector.list.hint})}function C(e){e.setDescription(n.connector.list.description),e.addExamples(n.connector.list.examples),e.addSwitch({flags:{key:o.OnlyAllowed.name},description:n.connector.list.options.onlyAllowed}),e.addOptions([{flags:{key:o.EnvironmentId.name,alias:o.EnvironmentId.alias},env:o.EnvironmentId.envVar,description:n.connector.list.options.environmentId,optionalInNonInteractive:!0},f({flags:{key:o.Search.name,alias:o.Search.alias},env:o.Search.envVar,message:o.Search.promptMessage,description:n.connector.list.options.search})])}export{b as listConnectorsCliAsync};
|
|
8
|
-
/*!
|
|
9
|
-
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
10
|
-
*/
|
|
11
|
-
//# sourceMappingURL=ListConnectors-OET7STMW.js.map
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as O,b as x,c as y,d as $,e as P,f as k,g as G}from"./chunk-2HSJ2XAQ.js";import{h as b,i as L}from"./chunk-DD7E4ADI.js";import{Ga as N,Ha as E,R,oa as M,wa as S,x as h,y as g,z as I}from"./chunk-UIW77LMA.js";import{b as u}from"./chunk-RBG2H562.js";import"./chunk-LDP2SHPJ.js";import"./chunk-7PH2NK5K.js";import"./chunk-Y7TZZLPW.js";import{z as r}from"./chunk-DAG6RPOF.js";import{a as w,d as D,h as T,i as C}from"./chunk-PVAIJSAI.js";import{a as l}from"./chunk-WQKDXHGX.js";import"./chunk-3FP37TPE.js";import"./chunk-Y5AMO72S.js";import"./chunk-UT667QSU.js";async function _(e){F(e),await e.runVerb();let t=await L(e),p=await e.getTenantIdAsync();if(!p)throw new u("Unable to determine tenant ID. Ensure you are logged in.");let i=await b(e),f=!!await e.getOption("app",!0),d=await e.getOption("access",!0);if(!d||!d.trim())throw new u("The --access option is required. Use --access play, --access edit, or --access test.");let o=$(d),s,a="none",m;if(f)(o==="edit"||e.isJsonMode())&&(s=await k({tenantId:p,environmentId:t,appName:i}),a=B(s));else{let n=E().appConfig??{};m=y(n.repositoryId)?n.repositoryId:void 0,a=o==="edit"?P(n):n.repoType??"none"}let J=j(o,a);!e.isJsonMode()&&o==="edit"&&a==="github"&&C(x);let A=await Promise.all(J.map(n=>V({target:n,tenantId:p,environmentId:t,appName:i,appInfo:s,configRepoId:m})));if(e.isJsonMode()){D({appName:i,access:o,repoType:a,results:A.map(n=>({scope:n.scope,roleDefinitionName:n.roleDefinitionName,...n.repoId?{repoId:n.repoId}:{},unclassifiedCount:n.unclassifiedCount,value:n.assignments}))});return}let U=A.flatMap(n=>n.assignments.map(c=>[n.scope,c.principalObjectId??"-",c.principalType??"-",W(c.roleDefinitionName),c.createdOn??"-"]));w({title:`${o==="play"?"Play":o==="test"?"Test":"Edit"} shares for '${i}'`,columns:[{header:"SCOPE"},{header:"PRINCIPAL ID"},{header:"TYPE"},{header:"ROLE"},{header:"CREATED ON"}],rows:U,emptyMessage:`No ${o} shares for '${i}'.`,totalLabel:"assignment(s)"});let v=A.reduce((n,c)=>n+c.unclassifiedCount,0);v>0&&T(`${v} assignment(s) with an unrecognized role definition were not shown.`)}async function V(e){let{target:t,tenantId:p,environmentId:i,appName:f,appInfo:d,configRepoId:o}=e;if(t.scope==="app"){let m=await M({tenantId:p,environmentId:i,logger:N(),actionsParams:{appName:f,roleDefinitionName:t.roleDefinitionName}});return{scope:"app",roleDefinitionName:t.roleDefinitionName,assignments:m.assignments,unclassifiedCount:m.unclassifiedCount}}let s=[o,d?.repositoryId].find(y);if(s||(s=(await G({tenantId:p,environmentId:i,appName:f})).repositoryId),!y(s))throw new u(`App '${f}' has no associated repository, so edit access cannot be listed.`);let a=await S({tenantId:p,environmentId:i,logger:N(),actionsParams:{repoId:s}});return{scope:"repo",roleDefinitionName:t.roleDefinitionName,repoId:s,assignments:a.assignments,unclassifiedCount:a.unclassifiedCount}}function F(e){e.setDescription(l.app.share.list.description),e.addExamples(l.app.share.list.examples),e.addOptions([{flags:{key:r.AppName.name},env:r.AppName.envVar,description:l.app.share.list.options.app,optionalInNonInteractive:!0},{flags:{key:r.EnvironmentId.name,alias:r.EnvironmentId.alias},env:r.EnvironmentId.envVar,description:l.app.share.list.options.environmentId,optionalInNonInteractive:!0},{flags:{key:r.Access.name},env:r.Access.envVar,description:l.app.share.list.options.access}])}function B(e){switch(e.repoType){case"Native":return"native";case"ExternalGitProviderBound":case"ExternallyProvidedBuild":return"github";default:return"none"}}function W(e){switch(e){case h:return"App Reader";case g:return"App Contributor";case I:return"App Test Operator";case R:return"Repository Contributor";default:return e??"-"}}function j(e,t){if(e==="play"||e==="test")return[{scope:"app",roleDefinitionName:e==="test"?I:h}];if(t==="none")throw new u(O);return t!=="native"?[{scope:"app",roleDefinitionName:g}]:[{scope:"repo",roleDefinitionName:R},{scope:"app",roleDefinitionName:g}]}export{_ as shareListAsync};
|
|
8
|
-
/*!
|
|
9
|
-
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
10
|
-
*/
|
|
11
|
-
//# sourceMappingURL=ShareList-6QI7ZAMZ.js.map
|
package/dist/chunk-5XRK3F43.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{Ha as l}from"./chunk-UIW77LMA.js";import{b as i,d as f}from"./chunk-RBG2H562.js";import{l as p,m}from"./chunk-3FP37TPE.js";import*as a from"node:fs";import*as r from"node:path";function N(){let{fileConfig:o,appConfig:t}=l(),e=r.resolve(o.appConfigPath);if(!a.existsSync(e))throw new i("No Managed app configuration was found. Run this command from an app directory.");let n=t;if(!n)try{n=JSON.parse(a.readFileSync(e,"utf8"))}catch(s){let g=s instanceof Error?s.message:String(s);throw new f(`'${e}' is not a valid app configuration: ${g}`)}if(n===null||typeof n!="object"||Array.isArray(n))throw new f(`'${e}' is not a valid app configuration: the file must contain a JSON object.`);return{appRoot:r.dirname(e),fileName:r.basename(e),filePath:e,config:n}}var d="prod",c=/^[a-z0-9][a-z0-9-]{0,63}$/,h=["prod","dev"];function v(o,t="--deployment"){let e=o?.trim();if(!e)throw new i(`${t} is required.`);if(!c.test(e))throw new i(`'${e}' is not a valid deployment name. Use 1-64 lowercase letters, numbers, or hyphens, starting with a letter or number.`);if(e!==d&&h.some(n=>e.startsWith(n)))throw new i(`'${e}' is a reserved deployment name. Names starting with 'prod' or 'dev' are reserved for future use; use 'prod' itself for the default deployment.`);return e}function u(o,t){if(p.includes(t))throw new i(`'${o}' is a reserved deployment name because its config file would be named '${t}', which is a base app config filename. Choose a different deployment name.`)}function C(o,t){let e=m(t,o.fileName);return u(t,e),r.join(o.appRoot,e)}export{N as a,d as b,v as c,u as d,C as e};
|
|
8
|
-
/*!
|
|
9
|
-
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
10
|
-
*/
|
|
11
|
-
//# sourceMappingURL=chunk-5XRK3F43.js.map
|
package/dist/chunk-DAG6RPOF.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __pathDirname(__filename);
|
|
7
|
-
var p={Account:{name:"account"},DeviceCode:{name:"device-code",camelName:"deviceCode"}},o={Help:{name:"help",alias:"h"},Connector:{name:"connector",promptMessage:"Please provide the connector (e.g. shared_office365):",envVar:"CONNECTOR"},ConnectionId:{name:"connection-id",alias:"c",promptMessage:"Please provide the Connection ID:",envVar:"CONNECTION_ID"},Dataset:{name:"dataset",alias:"d",promptMessage:"Please provide the dataset:",envVar:"DATASET"},Search:{name:"search",alias:"s",promptMessage:"Please provide a search term:",envVar:"SEARCH_TERM"}},t={SkipCodegen:{name:"skip-codegen",env:"SKIP_CODEGEN"},UseV1Codegen:{name:"use-v1-codegen",env:"USE_V1_CODEGEN"}},r={Table:{name:"table",alias:"t",promptMessage:"Please provide the table name:",envVar:"TABLE_NAME"},...t},m={As:{name:"as",promptMessage:"Add as table or action?",envVar:"ADD_CONNECTOR_AS"},Table:r.Table,DataverseEnvironmentId:{name:"dataverse-environment-id",promptMessage:"Please provide the Dataverse environment ID:",envVar:"DATAVERSE_ENVIRONMENT_ID"},UseSso:{name:"use-sso",env:"USE_SSO"},...t},i={Deployment:{name:"deployment"},For:{name:"for"}},c={Deployment:{name:"deployment",promptMessage:"Select the deployment:"}},A={DataSourceName:{name:"name",alias:"n",promptMessage:"Please provide the data source or table name:",envVar:"DATA_SOURCE_NAME"}},l={DataSourceName:{name:"name",alias:"n",promptMessage:"Please provide the data source name to regenerate:",envVar:"DATA_SOURCE_NAME"},Offline:{name:"offline",env:"OFFLINE"}},d={Cloud:{name:"cloud",promptMessage:"Please select the cloud instance:",envVar:"CLOUD_INSTANCE"}},v={Port:{name:"port",alias:"p",promptMessage:"Please provide the port number:",envVar:"PORT",initialValue:"8080"},LocalAppUrl:{name:"local-app-url",alias:"l",promptMessage:"Please provide the local app URL:",envVar:"LOCAL_APP_URL",initialValue:"http://localhost:3000"},ConfigOnly:{name:"config-only",alias:"C",envVar:"CONFIG_ONLY"}},M={Search:{...o.Search,promptMessage:"Please provide a search term to filter connectors by name or ID:",envVar:"CONNECTOR_SEARCH"},EnvironmentId:{name:"environment-id",alias:"e",envVar:"MAAF_ENVIRONMENT_ID"},OnlyAllowed:{name:"only-allowed",camelName:"onlyAllowed"}},P={EnvironmentId:{name:"environment-id",camelName:"environmentId",alias:"e",promptMessage:"Please provide the environment ID to filter by:",envVar:"LIST_ENVIRONMENT_ID"},Permission:{name:"permission",alias:"p",promptMessage:"Please provide the permission filter (edit or play):",envVar:"LIST_PERMISSION"}},N={Search:{...o.Search,promptMessage:"Please provide a search term to filter actions by summary or action ID:",envVar:"CONNECTOR_ACTION_SEARCH"},EnvironmentId:{name:"environment-id",alias:"e",envVar:"MAAF_ENVIRONMENT_ID"}};var s={EnvironmentId:{name:"environment-id",alias:"e",promptMessage:"Please provide the environment ID:",envVar:"ENVIRONMENT_ID"},DisplayName:{name:"display-name",alias:"n",promptMessage:"Please provide the display name for the app:",envVar:"APP_DISPLAY_NAME"},Description:{name:"description",alias:"d",promptMessage:"Please provide a description for the app (optional):",envVar:"APP_DESCRIPTION"},BuildPath:{name:"build-path",alias:"b",promptMessage:"Please provide the build output path:",envVar:"BUILD_PATH",initialValue:"./dist"},BuildCommand:{name:"build-command",alias:"S",promptMessage:"Please provide the full command used to build your app:",envVar:"BUILD_COMMAND",initialValue:"npm run build"},BuildEntryPoint:{name:"build-entry-point",promptMessage:"Please provide the entry point HTML file:",envVar:"BUILD_ENTRY_POINT",initialValue:"index.html"},IconPath:{name:"icon-path",camelName:"iconPath",envVar:"APP_ICON_PATH"},LocalAppUrl:{name:"local-app-url",camelName:"localAppUrl",envVar:"LOCAL_APP_URL"}},e={name:"force-reauth",camelName:"forceReauth"},_={...s,AppId:{name:"app-id",alias:"i",promptMessage:"Please provide an app ID (letters, numbers, and underscores only, 1-64 chars):",envVar:"APP_ID"},Template:{name:"template",alias:"t",promptMessage:"Please provide the template name:",envVar:"APP_TEMPLATE"},RepositoryId:{name:"repository-id",alias:"r",promptMessage:"Please provide the repository ID:",envVar:"APP_REPOSITORY_ID"},ProjectId:{name:"project-id",camelName:"projectId",envVar:"APP_PROJECT_ID"},Repo:{name:"repo",envVar:"APP_REPO"},OpenBrowser:{name:"open-browser",camelName:"openBrowser"},ForceReauth:e},g={App:{name:"app",promptMessage:"Please provide the app ID:"},EnvironmentId:{name:"environment-id",alias:"e",envVar:"MAAF_ENVIRONMENT_ID"},Directory:"[directory]"},u={App:{name:"app",promptMessage:"Please provide the app name or app ID:",envVar:"MAAF_APP_NAME"},EnvironmentId:{name:"environment-id",alias:"e",envVar:"MAAF_ENVIRONMENT_ID"}},E={AppName:{name:"app",promptMessage:"Please provide the app name:",envVar:"MAAF_APP_NAME"},CommitSha:{name:"commit",alias:"c",envVar:"MAAF_COMMIT_SHA"},OpenBrowser:{name:"open-browser",camelName:"openBrowser"},NoWait:{name:"no-wait",camelName:"wait"},ForceReauth:e},h={AppName:{name:"app",promptMessage:"Please provide the app name:",envVar:"MAAF_APP_NAME"},CommitSha:{name:"commit",alias:"c",envVar:"MAAF_COMMIT_SHA"},ShowLog:{name:"show-log"}},I={AppName:{name:"app",envVar:"MAAF_APP_NAME"},Mode:{name:"mode",alias:"m",envVar:"MAAF_PLAY_MODE",defaultValue:"live"},CommitSha:{name:"commit",alias:"c",envVar:"MAAF_COMMIT_SHA"},Branch:{name:"branch"},NoBrowser:{name:"no-browser",camelName:"browser"}},V={AppName:{name:"app",promptMessage:"Please provide the app name:",envVar:"MAAF_APP_NAME"},CommitSha:{name:"commit",alias:"c",envVar:"MAAF_COMMIT_SHA"},Artifact:{name:"artifact",envVar:"MAAF_DEPLOY_ARTIFACT"},Deployment:{name:"deployment",envVar:"MAAF_DEPLOYMENT"},OpenBrowser:{name:"open-browser",camelName:"openBrowser"},Force:{name:"force"},NoWait:{name:"no-wait",camelName:"wait"},ForceReauth:e},C={AppName:{name:"app",promptMessage:"Please provide the app name:",envVar:"MAAF_APP_NAME"},EnvironmentId:{name:"environment-id",alias:"e",envVar:"MAAF_ENVIRONMENT_ID"}},D={AppName:{name:"app",promptMessage:"Please provide the app name:",envVar:"MAAF_APP_NAME"},Access:{name:"access",envVar:"MAAF_APP_ACCESS",defaultValue:"play"}},O={AppName:{name:"app",promptMessage:"Please provide the app name:",envVar:"MAAF_APP_NAME"},Access:{name:"access",envVar:"MAAF_APP_ACCESS",defaultValue:"play"}},S={Repo:{name:"repo",alias:"r",promptMessage:"Please provide the GitHub repository URL (e.g. https://contoso.ghe.com/owner/repo or https://github.com/owner/repo):",envVar:"MAAF_GITHUB_REPO"},OpenBrowser:{name:"open-browser",camelName:"openBrowser"}},a={name:"app",promptMessage:"Please provide the app name:",envVar:"MAAF_APP_NAME"},n={name:"environment-id",alias:"e",envVar:"MAAF_ENVIRONMENT_ID"},T={AppName:a,EnvironmentId:n},R={AppName:a,EnvironmentId:n},f={AppName:a,EnvironmentId:n,Access:{name:"access",envVar:"MAAF_APP_ACCESS"}},L={AppName:a,EnvironmentId:n,LinkId:{name:"link-id",alias:"l",promptMessage:"Please provide the share link ID:",envVar:"MAAF_SHARE_LINK_ID"},Force:{name:"force",alias:"f"}},y={...s,Repo:{name:"repo",envVar:"APP_REPO"},OpenBrowser:{name:"open-browser",camelName:"openBrowser"},ForceReauth:e};export{p as a,o as b,m as c,i as d,c as e,A as f,l as g,d as h,v as i,M as j,P as k,N as l,_ as m,g as n,u as o,E as p,h as q,I as r,V as s,C as t,D as u,O as v,S as w,T as x,R as y,f as z,L as A,y as B};
|
|
8
|
-
/*!
|
|
9
|
-
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
10
|
-
*/
|
|
11
|
-
//# sourceMappingURL=chunk-DAG6RPOF.js.map
|
package/dist/chunk-I22E6YZT.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as f}from"./chunk-OL6CTXQR.js";import{Ga as p,ga as c}from"./chunk-UIW77LMA.js";import{a as l}from"./chunk-RBG2H562.js";import{h as m}from"./chunk-PVAIJSAI.js";var b=1e3;function w(t){if(typeof t=="string"){let r=t.trim();return r?{errorMessage:r}:{}}if(!t||typeof t!="object")return{};let e=t,a=typeof e.code=="string"&&e.code.trim()?e.code.trim():void 0;if(typeof e.error=="string"){let r=e.error.trim(),n=g(a,r||void 0);return n?{errorMessage:n}:{}}let d,i,o;if(e.error&&typeof e.error=="object"){let r=e.error.code,n=e.error.message,u=e.error.buildOutput;d=typeof r=="string"&&r.trim()?r.trim():void 0,i=typeof n=="string"&&n.trim()?n.trim():void 0,o=typeof u=="string"&&u.trim()?u.trim():void 0}!i&&typeof e.message=="string"&&e.message.trim()&&(i=e.message.trim()),!o&&typeof e.buildOutput=="string"&&e.buildOutput.trim()&&(o=e.buildOutput.trim());let s=g(d??a,i);return s||o?{errorMessage:s,buildOutput:o}:{}}async function L(t){let e=p(),a=b,d=t.maxIntervalMs??1/0,i=Math.min(d,Math.max(a,t.initialWaitMs)),o=t.deadlineMs!=null?Date.now()+t.deadlineMs:null,s=!t.isJsonMode&&process.stdout.isTTY?new f:null;s?.start(t.spinnerLabel??"Waiting for build status...");try{for(;;){if(o!==null&&Date.now()>=o)throw new l(`Build did not complete within ${Math.round(t.deadlineMs/6e4)} minutes. Commit SHA: ${t.commitSha}.`);await S(i);let r=await c({logger:e,actionsParams:{appName:t.appName,commitSha:t.commitSha}});switch(r.status){case"Succeeded":return r;case"Failed":case"Canceled":{s?.stop();let n=w(r.result);!t.isJsonMode&&n.buildOutput&&m(n.buildOutput);let u=n.errorMessage??"",M=u?`Build ${r.status.toLowerCase()}: ${u}.`:`Build ${r.status.toLowerCase()}.`;throw new l(M+(t.commitSha?` Commit SHA: ${t.commitSha}.`:""))}case"NotStarted":case"Running":{let n=r.retryAfterMs??i;i=Math.min(d,Math.max(a,n));break}default:return y(r.status)}}}finally{s?.stop()}}function y(t){throw new l(`Unexpected build status from server: ${String(t)}.`)}function g(t,e){return t&&e?`${t}: ${e}`:t??e}function S(t){return new Promise(e=>setTimeout(e,t))}export{w as a,L as b};
|
|
8
|
-
/*!
|
|
9
|
-
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
10
|
-
*/
|
|
11
|
-
//# sourceMappingURL=chunk-I22E6YZT.js.map
|
package/dist/chunk-PKDXP7CL.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as U,b as y,c as b}from"./chunk-HCPTQP7J.js";import{a as h,b as E}from"./chunk-X5O77GZS.js";import{Ca as H,Da as G,Ga as x,c as g}from"./chunk-UIW77LMA.js";import{c as D}from"./chunk-RBG2H562.js";import{h as d}from"./chunk-PVAIJSAI.js";async function T(r){let{remoteUrl:c,tenantId:l,jsonMode:p,openBrowser:s,verb:f}=r,{host:t,owner:i,repo:n}=g(c),o=i&&n?H(i,n):"",v=t&&i&&n?`https://${t}/${i}/${n}`:c,e=x(),a=M(f);e.trackActivityEvent(a,{repoHost:t,repoHash:o}),p||d("GitHub authentication is required for this action.");let u=I({isJson:p,openBrowser:s}),m=new AbortController,R=()=>{m.abort()};process.once("SIGINT",R);try{await G({remoteUrl:v,tenantId:l,logger:e,display:u,skipBrowser:!1,signal:m.signal})}catch(w){throw e.trackActivityEvent(`${a}.Failed`,{repoHost:t,repoHash:o}),y(w)??w}finally{process.removeListener("SIGINT",R)}e.trackActivityEvent(`${a}.Complete`,{repoHost:t,repoHash:o}),p||d(A(f))}function A(r){switch(r){case"app create":return"Resuming create...";case"app init":return"Resuming init...";case"app build":return"Resuming build...";case"app deploy":return"Resuming deploy..."}}function I(r){return r.isJson?new E:r.openBrowser?h:{...h,openVerificationUri:void 0}}function M(r){switch(r){case"app create":return"Maaf.Create.GitHubDcfRecovery";case"app init":return"Maaf.Init.GitHubDcfRecovery";case"app build":return"Maaf.Build.GitHubDcfRecovery";case"app deploy":return"Maaf.Deploy.GitHubDcfRecovery"}}async function F(r,c,l=T){let{repoType:p,externalRepoUrl:s,tenantId:f,jsonMode:t,openBrowser:i,verb:n}=c;try{return await r({isRetry:!1})}catch(o){if(p!=="github")throw o;if(!b(o)){let e=y(o);throw e||o}if(!s)throw new D(`GitHub authentication is required, but the app config does not record the external repository URL needed to recover the identity mapping. This app may have been created before the URL was persisted to \`ms.config.json\`. Either add \`externalRepoUrl: "<your repo url>"\` to \`ms.config.json\`, or recreate the app with \`ms app create --repo <your repo url>\`, then run \`ms ${n}\` again.`);await l({remoteUrl:s,tenantId:f,jsonMode:t,openBrowser:i,verb:n});try{return await r({isRetry:!0})}catch(e){let a=b(e);if(a)throw U(a.payload)??e;let u=y(e);throw u||e}}}export{F as a};
|
|
8
|
-
/*!
|
|
9
|
-
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
10
|
-
*/
|
|
11
|
-
//# sourceMappingURL=chunk-PKDXP7CL.js.map
|
package/dist/chunk-SCJXITCN.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module';
|
|
2
|
-
import { fileURLToPath as __fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname as __pathDirname } from 'node:path';
|
|
4
|
-
const require = __createRequire(import.meta.url);
|
|
5
|
-
const __filename = __fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = __pathDirname(__filename);
|
|
7
|
-
import{a as $,b as D,d as W,e as _,g as F}from"./chunk-2HSJ2XAQ.js";import{a as K}from"./chunk-USRRI5H4.js";import{h as V,i as q,j as H}from"./chunk-DD7E4ADI.js";import{Ga as g,Ha as J,R as P,U as T,g as E,ma as x,pa as b,va as L,x as k,xa as O,y as I,ya as B,z as N}from"./chunk-UIW77LMA.js";import{b as y}from"./chunk-RBG2H562.js";import{u as U,v as j}from"./chunk-DAG6RPOF.js";import{c as C,d as S,h,i as A}from"./chunk-PVAIJSAI.js";import{a as w}from"./chunk-WQKDXHGX.js";import{a as G}from"./chunk-3FP37TPE.js";async function ke(e,n){fe(e,n),await e.runVerb();let s=J();if(!s.appConfig)throw new y(`No ${G} found in the current directory. Run "${"ms"} app init" first.`);let i=await q(e),c=await e.getTenantIdAsync();if(!c)throw new y("Unable to determine tenant ID. Ensure you are logged in.");let p=await V(e),l=W(await e.getOption("access")),m=l==="edit"?_(s.appConfig):s.appConfig.repoType??"none",u=se(e.getPositionalArgs(0));if(u.length===0)throw new y("Provide at least one principal (Entra object ID or user/group email address). Separate multiple entries with commas, spaces, or both.");let o=n==="share"&&(l!=="edit"||m!=="native"),a=g(),f=a.trackScenario("MaafApp.SharePermissions",{mode:n,access:l,repoType:m,inputCount:u.length});try{let t=[],r=await ie(u,t,o);if(a.trackActivityEvent("MaafApp.SharePermissions.PrincipalResolution",{mode:n,inputCount:u.length,resolvedCount:r.length,failedCount:t.length,emailPassthrough:o}),r.length===0)throw new y(Y(t));t.length>0&&A(Y(t));let d=await(n==="share"?ee:ne)({tenantId:c,environmentId:i,appName:p,access:l,refs:r,repoType:m,jsonMode:e.isJsonMode()});f.complete({resolvedCount:r.length,failedResolutionCount:t.length,scope:d.scope,role:d.role,appScopeContributorFallback:l==="edit"&&d.scope==="app",...n==="unshare"&&{revokedCount:d.revokedCount??0,revokedPrincipalCount:d.revokedPrincipalCount??0,notFoundCount:d.notFound?.length??0,skippedCount:d.skipped?.length??0}});let M=n==="share"&&l==="edit"?await te({appInfo:d.appInfo,tenantId:c,environmentId:i,appName:p,jsonMode:e.isJsonMode()}):void 0;e.isJsonMode()?S({access:l,partialFailure:t.length>0,...d.result,...n==="unshare"&&{revokedCount:d.revokedCount??0,revokedPrincipalCount:d.revokedPrincipalCount??0,notFound:(d.notFound??[]).map(X),skipped:(d.skipped??[]).map(X)},...M&&{repoType:M.repoType,cloneUrl:M.cloneUrl},warnings:t}):(de({appName:p,mode:n,access:l,inputCount:r.length,outcome:d}),oe(M))}catch(t){throw f.failure(t),t}}async function ee(e){let{tenantId:n,environmentId:s,appName:i,access:c,refs:p,repoType:l,jsonMode:m}=e;if(c==="play"||c==="test"){let f=c==="test"?N:k,t=p.map(R=>Q(R,f));return{result:await b({tenantId:n,environmentId:s,logger:g(),actionsParams:{appName:i,put:t,delete:[]}}),scope:"app",role:f}}if(l==="none")throw new y($);if(l!=="native"){m||A(D);let f=p.map(r=>Q(r,I));return{result:await b({tenantId:n,environmentId:s,logger:g(),actionsParams:{appName:i,put:f,delete:[]}}),scope:"app",role:I}}let u=await F({tenantId:n,environmentId:s,appName:i}),o=p.map(ue);return{result:await O({tenantId:n,environmentId:s,logger:g(),actionsParams:{repoId:u.repositoryId,put:o,delete:[]}}),scope:"repo",role:P,appInfo:u}}async function ne(e){let{tenantId:n,environmentId:s,appName:i,access:c,refs:p,repoType:l,jsonMode:m}=e,u=p.map(z),o=new Map(p.map(r=>[z(r),r]));if(c==="edit"&&l==="none")throw new y($);let a=c!=="edit"||l!=="native",f=a?c==="test"?N:c==="play"?k:I:P,t;if(a)c==="edit"&&l!=="native"&&(m||A(D)),t=await L({tenantId:n,environmentId:s,logger:g(),actionsParams:{appName:i,principalIds:u,roleDefinitionName:f}});else{let r=await F({tenantId:n,environmentId:s,appName:i});t=await B({tenantId:n,environmentId:s,logger:g(),actionsParams:{repoId:r.repositoryId,principalIds:u}})}return{result:t.result,scope:a?"app":"repo",role:f,revokedCount:t.revokedCount,revokedPrincipalCount:t.revokedPrincipalCount,notFound:t.notFoundPrincipalIds.map(r=>o.get(r)??{id:r,input:r}),skipped:t.skippedNullRoleAssignments.map(r=>o.get(r.principalObjectId)??{id:r.principalObjectId,input:r.principalObjectId})}}function z(e){if(!e.id)throw new y(`Could not resolve '${e.input}' to an AAD object ID. Unshare requires object IDs.`);return e.id}async function te(e){let n=e.appInfo;if(!n)try{n=await x({tenantId:e.tenantId,environmentId:e.environmentId,logger:g(),actionsParams:{appName:e.appName}})}catch{e.jsonMode||A(`Share succeeded, but repository details for '${e.appName}' could not be read.`);return}return K(n)}function oe(e){e&&(e.repoType&&h(`Repo type: ${e.repoType}`),e.cloneUrl&&h(`Clone URL: ${e.cloneUrl}`))}function se(e){let n=new Set;for(let s of e)for(let i of s.split(",")){let c=i.trim();c&&n.add(c)}return[...n]}async function ie(e,n,s){let i=new Map,c=new Map,l=(await Promise.all(e.map(async o=>{let a=o.toLowerCase(),f=i.get(a);if(f)return f;if(H(o)){let t={id:o,input:o};return i.set(a,t),t}if(!le(o))return n.push({input:o,reason:"not an AAD object ID (GUID) or a valid email address"}),null;if(s){let t={input:o,email:o};return i.set(a,t),t}try{let t=c.get(a);t||(t=T(o,g()),c.set(a,t));let r=await t;if(!r)return n.push({input:o,reason:"no user or group found in this tenant (invite as a guest in Entra ID first if external)"}),null;let R={id:r.id,input:o,type:r.type,email:o,displayName:r.displayName};return i.set(a,R),R}catch(t){return n.push({input:o,reason:ae(t)}),null}}))).filter(o=>o!==null),m=[],u=new Set;for(let o of l){let a=(o.id??o.email??o.input).toLowerCase();u.has(a)||(u.add(a),m.push(o))}return m}function Y(e){let n=e.length===1?"entry":"entries",s=e.map(i=>` - ${i.input}: ${i.reason}`);return[`Could not resolve ${e.length} ${n}:`,...s].join(`
|
|
8
|
-
`)}function ae(e){if(e instanceof E){if(e.status===403)return re(e.status);let n=pe(e.body);return n!==void 0?`Graph ${e.status}: ${n}`:e.message}return e instanceof Error?e.message:String(e)}function re(e){return`Graph ${e}: your sign-in lacks permission to look up accounts by email. Pass the AAD object ID (GUID) instead, or have an admin grant the User.ReadBasic.All and Group.Read.All Graph permissions.`}function pe(e){if(e)try{let s=JSON.parse(e)?.error?.message;return typeof s=="string"?s:void 0}catch{return}}function le(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function Q(e,n){return{name:e.displayName??e.input,properties:{roleName:n,principal:ce(e)}}}function ce(e){return e.id?e.email?{id:e.id,email:e.email}:{id:e.id}:{email:e.email??e.input}}function ue(e){let n=e.id??e.input;return{name:e.displayName??e.input,properties:{roleName:P,principal:e.type?{id:n,type:e.type}:{id:n}}}}function X(e){return{id:e.id??e.input,label:e.displayName??e.input}}function de(e){let{appName:n,mode:s,access:i,inputCount:c,outcome:p}=e,l=i==="play"?"play":i==="test"?"test":"edit";if(s==="share"){let a=p.result.put?.length??0;if(a===0){h("No changes were applied.");return}C(`Shared app '${n}' with ${a} ${v("principal",a)}. They can now ${l} the app.`);return}let m=p.revokedCount??0,u=p.revokedPrincipalCount??m;if(u===0){h(`No ${l} assignments to revoke on '${n}' \u2014 none of the ${c} ${v("principal",c)} had existing access.`);return}if(C(`Revoked ${l} permissions for ${u} ${v("principal",u)} on '${n}'.`),p.notFound&&p.notFound.length>0){let o=p.notFound.map(a=>a.displayName??a.input).join(", ");h(`${p.notFound.length} ${v("principal",p.notFound.length)} had no existing ${l} access (no-op): ${o}`)}if(p.skipped&&p.skipped.length>0){let o=p.skipped.map(a=>a.displayName??a.input).join(", ");h(`${p.skipped.length} ${v("principal",p.skipped.length)} had a role assignment with an unknown role definition; ${l} access was not modified for: ${o}. Investigate via the role-assignments API.`)}}function v(e,n){return n===1?e:`${e}s`}function fe(e,n){let s=n==="share"?w.app.share:w.app.unshare,i=n==="share"?U:j;e.setDescription(s.description),e.addExamples(s.examples),e.consumePositionalArgs("principal"),e.addOptions([{flags:{key:i.AppName.name},env:i.AppName.envVar,description:s.options.app,optionalInNonInteractive:!0},{flags:{key:i.Access.name},env:i.Access.envVar,default:i.Access.defaultValue,description:s.options.access,optionalInNonInteractive:!0}])}export{ke as a};
|
|
9
|
-
/*!
|
|
10
|
-
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
11
|
-
*/
|
|
12
|
-
//# sourceMappingURL=chunk-SCJXITCN.js.map
|