@microsoft/managed-apps-cli 0.5.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.
Files changed (331) hide show
  1. package/LICENSE +153 -0
  2. package/README.md +280 -0
  3. package/dist/ArgumentProvider.d.ts +102 -0
  4. package/dist/ArgumentProvider.d.ts.map +1 -0
  5. package/dist/ArgumentProvider.js +376 -0
  6. package/dist/ArgumentProvider.js.map +1 -0
  7. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts +18 -0
  8. package/dist/Authentication/NodeMsalAuthenticationProvider.d.ts.map +1 -0
  9. package/dist/Authentication/NodeMsalAuthenticationProvider.js +99 -0
  10. package/dist/Authentication/NodeMsalAuthenticationProvider.js.map +1 -0
  11. package/dist/Authentication/OrchardAuthenticationProvider.d.ts +13 -0
  12. package/dist/Authentication/OrchardAuthenticationProvider.d.ts.map +1 -0
  13. package/dist/Authentication/OrchardAuthenticationProvider.js +30 -0
  14. package/dist/Authentication/OrchardAuthenticationProvider.js.map +1 -0
  15. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts +23 -0
  16. package/dist/Authentication/ServicePrincipalAuthenticationProvider.d.ts.map +1 -0
  17. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js +60 -0
  18. package/dist/Authentication/ServicePrincipalAuthenticationProvider.js.map +1 -0
  19. package/dist/Bin.d.ts +6 -0
  20. package/dist/Bin.d.ts.map +1 -0
  21. package/dist/Bin.js +7 -0
  22. package/dist/Bin.js.map +1 -0
  23. package/dist/Cli.d.ts +2 -0
  24. package/dist/Cli.d.ts.map +1 -0
  25. package/dist/Cli.js +91 -0
  26. package/dist/Cli.js.map +1 -0
  27. package/dist/CliSettings.d.ts +14 -0
  28. package/dist/CliSettings.d.ts.map +1 -0
  29. package/dist/CliSettings.js +78 -0
  30. package/dist/CliSettings.js.map +1 -0
  31. package/dist/CliUtils.d.ts +92 -0
  32. package/dist/CliUtils.d.ts.map +1 -0
  33. package/dist/CliUtils.js +218 -0
  34. package/dist/CliUtils.js.map +1 -0
  35. package/dist/Constants/CliConstants.d.ts +6 -0
  36. package/dist/Constants/CliConstants.d.ts.map +1 -0
  37. package/dist/Constants/CliConstants.js +6 -0
  38. package/dist/Constants/CliConstants.js.map +1 -0
  39. package/dist/Constants/CommandRegistry.d.ts +23 -0
  40. package/dist/Constants/CommandRegistry.d.ts.map +1 -0
  41. package/dist/Constants/CommandRegistry.js +193 -0
  42. package/dist/Constants/CommandRegistry.js.map +1 -0
  43. package/dist/Constants/HelpStrings.d.ts +321 -0
  44. package/dist/Constants/HelpStrings.d.ts.map +1 -0
  45. package/dist/Constants/HelpStrings.js +438 -0
  46. package/dist/Constants/HelpStrings.js.map +1 -0
  47. package/dist/Constants.d.ts +10 -0
  48. package/dist/Constants.d.ts.map +1 -0
  49. package/dist/Constants.js +18 -0
  50. package/dist/Constants.js.map +1 -0
  51. package/dist/Errors/CliError.d.ts +5 -0
  52. package/dist/Errors/CliError.d.ts.map +1 -0
  53. package/dist/Errors/CliError.js +7 -0
  54. package/dist/Errors/CliError.js.map +1 -0
  55. package/dist/FS/CliFs.d.ts +41 -0
  56. package/dist/FS/CliFs.d.ts.map +1 -0
  57. package/dist/FS/CliFs.js +136 -0
  58. package/dist/FS/CliFs.js.map +1 -0
  59. package/dist/HttpClient/CliHttpClient.d.ts +24 -0
  60. package/dist/HttpClient/CliHttpClient.d.ts.map +1 -0
  61. package/dist/HttpClient/CliHttpClient.js +122 -0
  62. package/dist/HttpClient/CliHttpClient.js.map +1 -0
  63. package/dist/HttpClient/OrchardProxy.d.ts +11 -0
  64. package/dist/HttpClient/OrchardProxy.d.ts.map +1 -0
  65. package/dist/HttpClient/OrchardProxy.js +25 -0
  66. package/dist/HttpClient/OrchardProxy.js.map +1 -0
  67. package/dist/HttpClient/Proxy.d.ts +7 -0
  68. package/dist/HttpClient/Proxy.d.ts.map +1 -0
  69. package/dist/HttpClient/Proxy.js +5 -0
  70. package/dist/HttpClient/Proxy.js.map +1 -0
  71. package/dist/Logger/CliLogger.d.ts +36 -0
  72. package/dist/Logger/CliLogger.d.ts.map +1 -0
  73. package/dist/Logger/CliLogger.js +235 -0
  74. package/dist/Logger/CliLogger.js.map +1 -0
  75. package/dist/Logger/ConsoleWriter.d.ts +15 -0
  76. package/dist/Logger/ConsoleWriter.d.ts.map +1 -0
  77. package/dist/Logger/ConsoleWriter.js +45 -0
  78. package/dist/Logger/ConsoleWriter.js.map +1 -0
  79. package/dist/Logger/Constants.d.ts +6 -0
  80. package/dist/Logger/Constants.d.ts.map +1 -0
  81. package/dist/Logger/Constants.js +15 -0
  82. package/dist/Logger/Constants.js.map +1 -0
  83. package/dist/Logger/LoggerSettings.d.ts +19 -0
  84. package/dist/Logger/LoggerSettings.d.ts.map +1 -0
  85. package/dist/Logger/LoggerSettings.js +114 -0
  86. package/dist/Logger/LoggerSettings.js.map +1 -0
  87. package/dist/Logger/OneDSWriter.d.ts +22 -0
  88. package/dist/Logger/OneDSWriter.d.ts.map +1 -0
  89. package/dist/Logger/OneDSWriter.js +129 -0
  90. package/dist/Logger/OneDSWriter.js.map +1 -0
  91. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts +5 -0
  92. package/dist/Logger/Scrubber/ScrubCustomDimensions.d.ts.map +1 -0
  93. package/dist/Logger/Scrubber/ScrubCustomDimensions.js +46 -0
  94. package/dist/Logger/Scrubber/ScrubCustomDimensions.js.map +1 -0
  95. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts +27 -0
  96. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.d.ts.map +1 -0
  97. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js +168 -0
  98. package/dist/Logger/Scrubber/ScrubCustomDimensionsConfig.js.map +1 -0
  99. package/dist/Logger/Scrubber/ScrubUtils.d.ts +8 -0
  100. package/dist/Logger/Scrubber/ScrubUtils.d.ts.map +1 -0
  101. package/dist/Logger/Scrubber/ScrubUtils.js +34 -0
  102. package/dist/Logger/Scrubber/ScrubUtils.js.map +1 -0
  103. package/dist/Types/Argument.types.d.ts +27 -0
  104. package/dist/Types/Argument.types.d.ts.map +1 -0
  105. package/dist/Types/Argument.types.js +5 -0
  106. package/dist/Types/Argument.types.js.map +1 -0
  107. package/dist/Types/Cli.types.d.ts +32 -0
  108. package/dist/Types/Cli.types.d.ts.map +1 -0
  109. package/dist/Types/Cli.types.js +5 -0
  110. package/dist/Types/Cli.types.js.map +1 -0
  111. package/dist/Types/Command.types.d.ts +52 -0
  112. package/dist/Types/Command.types.d.ts.map +1 -0
  113. package/dist/Types/Command.types.js +8 -0
  114. package/dist/Types/Command.types.js.map +1 -0
  115. package/dist/Types/Datasource.types.d.ts +43 -0
  116. package/dist/Types/Datasource.types.d.ts.map +1 -0
  117. package/dist/Types/Datasource.types.js +5 -0
  118. package/dist/Types/Datasource.types.js.map +1 -0
  119. package/dist/Types/LoggerTypes.types.d.ts +17 -0
  120. package/dist/Types/LoggerTypes.types.d.ts.map +1 -0
  121. package/dist/Types/LoggerTypes.types.js +5 -0
  122. package/dist/Types/LoggerTypes.types.js.map +1 -0
  123. package/dist/Utils/BuildVerbDescriptionTable.d.ts +19 -0
  124. package/dist/Utils/BuildVerbDescriptionTable.d.ts.map +1 -0
  125. package/dist/Utils/BuildVerbDescriptionTable.js +87 -0
  126. package/dist/Utils/BuildVerbDescriptionTable.js.map +1 -0
  127. package/dist/Utils/ConsoleOutput.d.ts +80 -0
  128. package/dist/Utils/ConsoleOutput.d.ts.map +1 -0
  129. package/dist/Utils/ConsoleOutput.js +151 -0
  130. package/dist/Utils/ConsoleOutput.js.map +1 -0
  131. package/dist/Utils/DetectPackageManager.d.ts +9 -0
  132. package/dist/Utils/DetectPackageManager.d.ts.map +1 -0
  133. package/dist/Utils/DetectPackageManager.js +24 -0
  134. package/dist/Utils/DetectPackageManager.js.map +1 -0
  135. package/dist/Utils/EnhanceNetworkError.d.ts +14 -0
  136. package/dist/Utils/EnhanceNetworkError.d.ts.map +1 -0
  137. package/dist/Utils/EnhanceNetworkError.js +59 -0
  138. package/dist/Utils/EnhanceNetworkError.js.map +1 -0
  139. package/dist/Utils/EnvVars.d.ts +17 -0
  140. package/dist/Utils/EnvVars.d.ts.map +1 -0
  141. package/dist/Utils/EnvVars.js +38 -0
  142. package/dist/Utils/EnvVars.js.map +1 -0
  143. package/dist/Utils/GitCredentialConfig.d.ts +12 -0
  144. package/dist/Utils/GitCredentialConfig.d.ts.map +1 -0
  145. package/dist/Utils/GitCredentialConfig.js +32 -0
  146. package/dist/Utils/GitCredentialConfig.js.map +1 -0
  147. package/dist/Utils/GitUtils.d.ts +22 -0
  148. package/dist/Utils/GitUtils.d.ts.map +1 -0
  149. package/dist/Utils/GitUtils.js +35 -0
  150. package/dist/Utils/GitUtils.js.map +1 -0
  151. package/dist/Utils/Paging.d.ts +23 -0
  152. package/dist/Utils/Paging.d.ts.map +1 -0
  153. package/dist/Utils/Paging.js +67 -0
  154. package/dist/Utils/Paging.js.map +1 -0
  155. package/dist/Utils/ReadPackageJson.d.ts +9 -0
  156. package/dist/Utils/ReadPackageJson.d.ts.map +1 -0
  157. package/dist/Utils/ReadPackageJson.js +13 -0
  158. package/dist/Utils/ReadPackageJson.js.map +1 -0
  159. package/dist/Utils/ResolveCommand.d.ts +26 -0
  160. package/dist/Utils/ResolveCommand.d.ts.map +1 -0
  161. package/dist/Utils/ResolveCommand.js +62 -0
  162. package/dist/Utils/ResolveCommand.js.map +1 -0
  163. package/dist/Utils/RunCommand.d.ts +33 -0
  164. package/dist/Utils/RunCommand.d.ts.map +1 -0
  165. package/dist/Utils/RunCommand.js +83 -0
  166. package/dist/Utils/RunCommand.js.map +1 -0
  167. package/dist/Utils/Spinner.d.ts +15 -0
  168. package/dist/Utils/Spinner.d.ts.map +1 -0
  169. package/dist/Utils/Spinner.js +71 -0
  170. package/dist/Utils/Spinner.js.map +1 -0
  171. package/dist/Utils/zipBuildArtifact.d.ts +35 -0
  172. package/dist/Utils/zipBuildArtifact.d.ts.map +1 -0
  173. package/dist/Utils/zipBuildArtifact.js +100 -0
  174. package/dist/Utils/zipBuildArtifact.js.map +1 -0
  175. package/dist/Verbs/AddAction.d.ts +6 -0
  176. package/dist/Verbs/AddAction.d.ts.map +1 -0
  177. package/dist/Verbs/AddAction.js +87 -0
  178. package/dist/Verbs/AddAction.js.map +1 -0
  179. package/dist/Verbs/AddDataSource.d.ts +19 -0
  180. package/dist/Verbs/AddDataSource.d.ts.map +1 -0
  181. package/dist/Verbs/AddDataSource.js +173 -0
  182. package/dist/Verbs/AddDataSource.js.map +1 -0
  183. package/dist/Verbs/AddFlow.d.ts +12 -0
  184. package/dist/Verbs/AddFlow.d.ts.map +1 -0
  185. package/dist/Verbs/AddFlow.js +67 -0
  186. package/dist/Verbs/AddFlow.js.map +1 -0
  187. package/dist/Verbs/AddTable.d.ts +6 -0
  188. package/dist/Verbs/AddTable.d.ts.map +1 -0
  189. package/dist/Verbs/AddTable.js +163 -0
  190. package/dist/Verbs/AddTable.js.map +1 -0
  191. package/dist/Verbs/AuthStatus.d.ts +6 -0
  192. package/dist/Verbs/AuthStatus.d.ts.map +1 -0
  193. package/dist/Verbs/AuthStatus.js +18 -0
  194. package/dist/Verbs/AuthStatus.js.map +1 -0
  195. package/dist/Verbs/BuildMaafApp.d.ts +6 -0
  196. package/dist/Verbs/BuildMaafApp.d.ts.map +1 -0
  197. package/dist/Verbs/BuildMaafApp.js +96 -0
  198. package/dist/Verbs/BuildMaafApp.js.map +1 -0
  199. package/dist/Verbs/ConnectorHelpers.d.ts +37 -0
  200. package/dist/Verbs/ConnectorHelpers.d.ts.map +1 -0
  201. package/dist/Verbs/ConnectorHelpers.js +116 -0
  202. package/dist/Verbs/ConnectorHelpers.js.map +1 -0
  203. package/dist/Verbs/CreateMaafApp.d.ts +58 -0
  204. package/dist/Verbs/CreateMaafApp.d.ts.map +1 -0
  205. package/dist/Verbs/CreateMaafApp.js +712 -0
  206. package/dist/Verbs/CreateMaafApp.js.map +1 -0
  207. package/dist/Verbs/DeleteDataSource.d.ts +6 -0
  208. package/dist/Verbs/DeleteDataSource.d.ts.map +1 -0
  209. package/dist/Verbs/DeleteDataSource.js +105 -0
  210. package/dist/Verbs/DeleteDataSource.js.map +1 -0
  211. package/dist/Verbs/DeleteMaafApp.d.ts +23 -0
  212. package/dist/Verbs/DeleteMaafApp.d.ts.map +1 -0
  213. package/dist/Verbs/DeleteMaafApp.js +98 -0
  214. package/dist/Verbs/DeleteMaafApp.js.map +1 -0
  215. package/dist/Verbs/DeployMaafApp.d.ts +6 -0
  216. package/dist/Verbs/DeployMaafApp.d.ts.map +1 -0
  217. package/dist/Verbs/DeployMaafApp.js +501 -0
  218. package/dist/Verbs/DeployMaafApp.js.map +1 -0
  219. package/dist/Verbs/Dev.d.ts +6 -0
  220. package/dist/Verbs/Dev.d.ts.map +1 -0
  221. package/dist/Verbs/Dev.js +212 -0
  222. package/dist/Verbs/Dev.js.map +1 -0
  223. package/dist/Verbs/FindDataverseApi.d.ts +12 -0
  224. package/dist/Verbs/FindDataverseApi.d.ts.map +1 -0
  225. package/dist/Verbs/FindDataverseApi.js +101 -0
  226. package/dist/Verbs/FindDataverseApi.js.map +1 -0
  227. package/dist/Verbs/GetMaafApp.d.ts +6 -0
  228. package/dist/Verbs/GetMaafApp.d.ts.map +1 -0
  229. package/dist/Verbs/GetMaafApp.js +59 -0
  230. package/dist/Verbs/GetMaafApp.js.map +1 -0
  231. package/dist/Verbs/GetMaafBuildStatus.d.ts +6 -0
  232. package/dist/Verbs/GetMaafBuildStatus.d.ts.map +1 -0
  233. package/dist/Verbs/GetMaafBuildStatus.js +67 -0
  234. package/dist/Verbs/GetMaafBuildStatus.js.map +1 -0
  235. package/dist/Verbs/GetSettings.d.ts +12 -0
  236. package/dist/Verbs/GetSettings.d.ts.map +1 -0
  237. package/dist/Verbs/GetSettings.js +48 -0
  238. package/dist/Verbs/GetSettings.js.map +1 -0
  239. package/dist/Verbs/Init.d.ts +6 -0
  240. package/dist/Verbs/Init.d.ts.map +1 -0
  241. package/dist/Verbs/Init.js +171 -0
  242. package/dist/Verbs/Init.js.map +1 -0
  243. package/dist/Verbs/ListConnectionReferences.d.ts +6 -0
  244. package/dist/Verbs/ListConnectionReferences.d.ts.map +1 -0
  245. package/dist/Verbs/ListConnectionReferences.js +70 -0
  246. package/dist/Verbs/ListConnectionReferences.js.map +1 -0
  247. package/dist/Verbs/ListConnectorActions.d.ts +6 -0
  248. package/dist/Verbs/ListConnectorActions.d.ts.map +1 -0
  249. package/dist/Verbs/ListConnectorActions.js +73 -0
  250. package/dist/Verbs/ListConnectorActions.js.map +1 -0
  251. package/dist/Verbs/ListConnectors.d.ts +6 -0
  252. package/dist/Verbs/ListConnectors.d.ts.map +1 -0
  253. package/dist/Verbs/ListConnectors.js +66 -0
  254. package/dist/Verbs/ListConnectors.js.map +1 -0
  255. package/dist/Verbs/ListDatasets.d.ts +6 -0
  256. package/dist/Verbs/ListDatasets.d.ts.map +1 -0
  257. package/dist/Verbs/ListDatasets.js +82 -0
  258. package/dist/Verbs/ListDatasets.js.map +1 -0
  259. package/dist/Verbs/ListEnvironmentVariables.d.ts +14 -0
  260. package/dist/Verbs/ListEnvironmentVariables.d.ts.map +1 -0
  261. package/dist/Verbs/ListEnvironmentVariables.js +66 -0
  262. package/dist/Verbs/ListEnvironmentVariables.js.map +1 -0
  263. package/dist/Verbs/ListFlows.d.ts +13 -0
  264. package/dist/Verbs/ListFlows.d.ts.map +1 -0
  265. package/dist/Verbs/ListFlows.js +88 -0
  266. package/dist/Verbs/ListFlows.js.map +1 -0
  267. package/dist/Verbs/ListMaafApps.d.ts +71 -0
  268. package/dist/Verbs/ListMaafApps.d.ts.map +1 -0
  269. package/dist/Verbs/ListMaafApps.js +168 -0
  270. package/dist/Verbs/ListMaafApps.js.map +1 -0
  271. package/dist/Verbs/ListSqlStoredProcedures.d.ts +6 -0
  272. package/dist/Verbs/ListSqlStoredProcedures.d.ts.map +1 -0
  273. package/dist/Verbs/ListSqlStoredProcedures.js +84 -0
  274. package/dist/Verbs/ListSqlStoredProcedures.js.map +1 -0
  275. package/dist/Verbs/ListTables.d.ts +6 -0
  276. package/dist/Verbs/ListTables.d.ts.map +1 -0
  277. package/dist/Verbs/ListTables.js +94 -0
  278. package/dist/Verbs/ListTables.js.map +1 -0
  279. package/dist/Verbs/Login.d.ts +6 -0
  280. package/dist/Verbs/Login.d.ts.map +1 -0
  281. package/dist/Verbs/Login.js +28 -0
  282. package/dist/Verbs/Login.js.map +1 -0
  283. package/dist/Verbs/Logout.d.ts +6 -0
  284. package/dist/Verbs/Logout.d.ts.map +1 -0
  285. package/dist/Verbs/Logout.js +28 -0
  286. package/dist/Verbs/Logout.js.map +1 -0
  287. package/dist/Verbs/MaafAppPermissions.d.ts +23 -0
  288. package/dist/Verbs/MaafAppPermissions.d.ts.map +1 -0
  289. package/dist/Verbs/MaafAppPermissions.js +278 -0
  290. package/dist/Verbs/MaafAppPermissions.js.map +1 -0
  291. package/dist/Verbs/Pack.d.ts +42 -0
  292. package/dist/Verbs/Pack.d.ts.map +1 -0
  293. package/dist/Verbs/Pack.js +114 -0
  294. package/dist/Verbs/Pack.js.map +1 -0
  295. package/dist/Verbs/RefreshDataSource.d.ts +6 -0
  296. package/dist/Verbs/RefreshDataSource.d.ts.map +1 -0
  297. package/dist/Verbs/RefreshDataSource.js +72 -0
  298. package/dist/Verbs/RefreshDataSource.js.map +1 -0
  299. package/dist/Verbs/RemoveFlow.d.ts +12 -0
  300. package/dist/Verbs/RemoveFlow.d.ts.map +1 -0
  301. package/dist/Verbs/RemoveFlow.js +99 -0
  302. package/dist/Verbs/RemoveFlow.js.map +1 -0
  303. package/dist/Verbs/SetSetting.d.ts +12 -0
  304. package/dist/Verbs/SetSetting.d.ts.map +1 -0
  305. package/dist/Verbs/SetSetting.js +141 -0
  306. package/dist/Verbs/SetSetting.js.map +1 -0
  307. package/dist/Verbs/ShareMaafApp.d.ts +12 -0
  308. package/dist/Verbs/ShareMaafApp.d.ts.map +1 -0
  309. package/dist/Verbs/ShareMaafApp.js +14 -0
  310. package/dist/Verbs/ShareMaafApp.js.map +1 -0
  311. package/dist/Verbs/ShowMaafApp.d.ts +94 -0
  312. package/dist/Verbs/ShowMaafApp.d.ts.map +1 -0
  313. package/dist/Verbs/ShowMaafApp.js +216 -0
  314. package/dist/Verbs/ShowMaafApp.js.map +1 -0
  315. package/dist/Verbs/TelemetrySettings.d.ts +8 -0
  316. package/dist/Verbs/TelemetrySettings.d.ts.map +1 -0
  317. package/dist/Verbs/TelemetrySettings.js +104 -0
  318. package/dist/Verbs/TelemetrySettings.js.map +1 -0
  319. package/dist/Verbs/UnshareMaafApp.d.ts +12 -0
  320. package/dist/Verbs/UnshareMaafApp.d.ts.map +1 -0
  321. package/dist/Verbs/UnshareMaafApp.js +14 -0
  322. package/dist/Verbs/UnshareMaafApp.js.map +1 -0
  323. package/dist/Verbs/VerbConstants.d.ts +415 -0
  324. package/dist/Verbs/VerbConstants.d.ts.map +1 -0
  325. package/dist/Verbs/VerbConstants.js +382 -0
  326. package/dist/Verbs/VerbConstants.js.map +1 -0
  327. package/dist/Verbs/index.d.ts +39 -0
  328. package/dist/Verbs/index.d.ts.map +1 -0
  329. package/dist/Verbs/index.js +39 -0
  330. package/dist/Verbs/index.js.map +1 -0
  331. package/package.json +52 -0
@@ -0,0 +1,212 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { spawn } from 'node:child_process';
5
+ import { createRequire } from 'node:module';
6
+ import { setTimeout as delay } from 'node:timers/promises';
7
+ import { pathToFileURL } from 'node:url';
8
+ import { AppConfigFileName } from '@microsoft/managed-apps-common/config';
9
+ import { cloudToRegionSafe, createMaafAppDevUrl } from '@microsoft/managed-apps-common/services';
10
+ import chalk from 'chalk';
11
+ import * as fs from 'fs';
12
+ import * as http from 'http';
13
+ import { getSettings } from '../CliSettings.js';
14
+ import { WORKING_DIRECTORY } from '../Constants.js';
15
+ import { HelpStrings } from '../Constants/HelpStrings.js';
16
+ import { ConfigurationError } from '../Errors/CliError.js';
17
+ import { printError, printInfo, printWarning } from '../Utils/ConsoleOutput.js';
18
+ import { detectPackageManager } from '../Utils/DetectPackageManager.js';
19
+ import { readPackageJson } from '../Utils/ReadPackageJson.js';
20
+ import { RunArguments } from './VerbConstants.js';
21
+ const VITE_PLUGIN_NAMES = ['powerApps', 'managedApps'];
22
+ export async function devAsync(argumentProvider) {
23
+ const settings = getSettings();
24
+ const { appConfig, fileConfig } = settings;
25
+ createOptionSchema(argumentProvider, appConfig?.localAppUrl);
26
+ await argumentProvider.runVerb();
27
+ const configOnly = await argumentProvider.getOption('configOnly');
28
+ const ac = new AbortController();
29
+ process.once('SIGINT', () => ac.abort());
30
+ if (configOnly) {
31
+ if (await isUsingVitePlugin(WORKING_DIRECTORY)) {
32
+ printWarning('Warning: --config-only is not needed when using the vite plugin. The plugin already serves the config and prints the play URL.');
33
+ }
34
+ await runConfigServerAsync(argumentProvider, fileConfig.appConfigPath, appConfig, ac.signal);
35
+ return;
36
+ }
37
+ const pkg = readPackageJson(WORKING_DIRECTORY);
38
+ if (!pkg.scripts?.dev) {
39
+ throw new ConfigurationError('No "dev" script found in package.json. Add a "dev" script to start your app.');
40
+ }
41
+ if (await isUsingVitePlugin(WORKING_DIRECTORY)) {
42
+ await runDevScriptAsync(WORKING_DIRECTORY, ac.signal, pkg);
43
+ return;
44
+ }
45
+ await Promise.all([
46
+ runDevScriptAsync(WORKING_DIRECTORY, ac.signal, pkg),
47
+ runConfigServerAsync(argumentProvider, fileConfig.appConfigPath, appConfig, ac.signal),
48
+ ]);
49
+ }
50
+ async function runConfigServerAsync(argumentProvider, appConfigPath, appConfig, signal) {
51
+ if (!appConfig) {
52
+ throw new ConfigurationError(`${AppConfigFileName} is required to run an app`);
53
+ }
54
+ if (!appConfig.environmentId) {
55
+ throw new ConfigurationError(`Environment ID is required in ${AppConfigFileName} to run an app`);
56
+ }
57
+ if (!appConfig.cloud) {
58
+ appConfig.cloud = 'public';
59
+ }
60
+ const port = await argumentProvider.getOption('port');
61
+ const appUrl = await argumentProvider.getOption('localAppUrl');
62
+ await startConfigServer(appConfigPath, parseInt(port, 10), appConfig, appUrl, signal);
63
+ }
64
+ async function startConfigServer(appConfigPath, port, appConfig, localAppUrl, signal) {
65
+ return new Promise((resolve, reject) => {
66
+ const server = http.createServer((req, res) => {
67
+ res.setHeader('Access-Control-Allow-Origin', '*');
68
+ res.setHeader('Access-Control-Allow-Methods', 'GET, OPTIONS');
69
+ res.setHeader('Access-Control-Allow-Headers', '*');
70
+ if (req.method === 'OPTIONS') {
71
+ res.writeHead(200);
72
+ res.end();
73
+ return;
74
+ }
75
+ try {
76
+ if (!fs.existsSync(appConfigPath)) {
77
+ res.writeHead(404, { 'Content-Type': 'application/json' });
78
+ res.end(JSON.stringify({ error: `${AppConfigFileName} not found` }));
79
+ return;
80
+ }
81
+ const fileContent = fs.readFileSync(appConfigPath, 'utf8');
82
+ res.writeHead(200, { 'Content-Type': 'application/json' });
83
+ res.end(fileContent);
84
+ }
85
+ catch (error) {
86
+ printError(`Error serving ${AppConfigFileName}: ${error.message}`);
87
+ res.writeHead(500, { 'Content-Type': 'application/json' });
88
+ res.end(JSON.stringify({ error: 'Internal server error' }));
89
+ }
90
+ });
91
+ server.listen(port, 'localhost', async () => {
92
+ await waitForAppUrl(localAppUrl, signal);
93
+ if (!signal.aborted) {
94
+ const region = cloudToRegionSafe(appConfig.cloud);
95
+ const playUrl = createMaafAppDevUrl(region, appConfig.environmentId, {
96
+ appUrl: localAppUrl,
97
+ appConfigUrl: `http://localhost:${port}`,
98
+ });
99
+ printInfo(`\nReady. You can play your app locally at:\n${chalk.blueBright.bold(` ➜ ${playUrl}`)}`);
100
+ }
101
+ });
102
+ server.on('error', (error) => {
103
+ printError(`Server error: ${error.message}`);
104
+ reject(error);
105
+ });
106
+ signal.addEventListener('abort', () => {
107
+ printInfo(chalk.dim('\nShutting down config server...'));
108
+ server.close(() => {
109
+ printInfo(chalk.dim('Config server stopped.'));
110
+ resolve();
111
+ });
112
+ }, { once: true });
113
+ });
114
+ }
115
+ function createOptionSchema(argumentProvider, localAppUrl) {
116
+ argumentProvider.setDescription(HelpStrings.app.dev.description);
117
+ argumentProvider.addExamples(HelpStrings.app.dev.examples);
118
+ argumentProvider.addOptions([
119
+ {
120
+ flags: {
121
+ key: RunArguments.Port.name,
122
+ alias: RunArguments.Port.alias,
123
+ },
124
+ env: RunArguments.Port.envVar,
125
+ default: RunArguments.Port.initialValue,
126
+ description: HelpStrings.app.dev.options.port,
127
+ },
128
+ {
129
+ flags: {
130
+ key: RunArguments.LocalAppUrl.name,
131
+ alias: RunArguments.LocalAppUrl.alias,
132
+ },
133
+ env: RunArguments.LocalAppUrl.envVar,
134
+ default: localAppUrl || RunArguments.LocalAppUrl.initialValue,
135
+ description: HelpStrings.app.dev.options.localAppUrl,
136
+ },
137
+ ]);
138
+ argumentProvider.addSwitch({
139
+ flags: { key: RunArguments.ConfigOnly.name, alias: RunArguments.ConfigOnly.alias },
140
+ env: RunArguments.ConfigOnly.envVar,
141
+ description: HelpStrings.app.dev.options.configOnly,
142
+ });
143
+ }
144
+ async function waitForAppUrl(appUrl, signal, pollInterval = 300, timeout = 10_000) {
145
+ printInfo(chalk.dim(`Waiting for app to be available at ${appUrl}...`));
146
+ const timeoutSignal = AbortSignal.timeout(timeout);
147
+ const combined = AbortSignal.any([signal, timeoutSignal]);
148
+ try {
149
+ while (!combined.aborted) {
150
+ await delay(pollInterval, undefined, { signal: combined });
151
+ try {
152
+ const response = await fetch(appUrl, { method: 'HEAD' });
153
+ if (response.ok || response.status < 500)
154
+ return;
155
+ }
156
+ catch {
157
+ // Not ready yet — keep polling
158
+ }
159
+ }
160
+ }
161
+ catch {
162
+ // delay() threw AbortError
163
+ }
164
+ finally {
165
+ if (timeoutSignal.aborted) {
166
+ printWarning(`Warning: timed out looking for app running at ${appUrl}`);
167
+ }
168
+ }
169
+ }
170
+ async function isUsingVitePlugin(projectRoot) {
171
+ let loadConfigFromFile;
172
+ try {
173
+ const require = createRequire(`${projectRoot}/package.json`);
174
+ const vitePath = require.resolve('vite');
175
+ const vite = (await import(pathToFileURL(vitePath).href));
176
+ loadConfigFromFile = vite.loadConfigFromFile;
177
+ }
178
+ catch {
179
+ return false;
180
+ }
181
+ try {
182
+ const result = await loadConfigFromFile({ command: 'serve', mode: 'development' }, undefined, projectRoot);
183
+ const plugins = (result?.config?.plugins ?? []).flat();
184
+ return plugins.some((p) => typeof p === 'object' &&
185
+ p !== null &&
186
+ VITE_PLUGIN_NAMES.includes(p.name));
187
+ }
188
+ catch {
189
+ return false;
190
+ }
191
+ }
192
+ async function runDevScriptAsync(projectRoot, signal, pkg) {
193
+ const command = detectPackageManager(projectRoot, pkg);
194
+ return new Promise((resolve, reject) => {
195
+ const child = spawn(command, ['run', 'dev'], {
196
+ cwd: projectRoot,
197
+ stdio: 'inherit',
198
+ shell: true,
199
+ });
200
+ child.on('close', (code, sig) => {
201
+ if (code === 0 || sig === 'SIGINT') {
202
+ resolve();
203
+ }
204
+ else {
205
+ reject(new Error(`Dev server exited unexpectedly with code ${code ?? 'unknown'}.`));
206
+ }
207
+ });
208
+ child.on('error', reject);
209
+ signal.addEventListener('abort', () => child.kill('SIGINT'), { once: true });
210
+ });
211
+ }
212
+ //# sourceMappingURL=Dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dev.js","sourceRoot":"","sources":["../../src/Verbs/Dev.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AACjG,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAoB,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,gBAAkC;IAC/D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAC3C,kBAAkB,CAAC,gBAAgB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAE7D,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAEjC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAU,YAAY,CAAC,CAAC;IAC3E,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzC,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/C,YAAY,CACV,gIAAgI,CACjI,CAAC;QACJ,CAAC;QACD,MAAM,oBAAoB,CAAC,gBAAgB,EAAE,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7F,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAE/C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAC1B,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC/C,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;QACpD,oBAAoB,CAAC,gBAAgB,EAAE,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC;KACvF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,gBAAkC,EAClC,aAAqB,EACrB,SAAgC,EAChC,MAAmB;IAEnB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,kBAAkB,CAAC,GAAG,iBAAiB,4BAA4B,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QAC7B,MAAM,IAAI,kBAAkB,CAC1B,iCAAiC,iBAAiB,gBAAgB,CACnE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACrB,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAS,MAAM,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAS,aAAa,CAAC,CAAC;IACvE,MAAM,iBAAiB,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACxF,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,aAAqB,EACrB,IAAY,EACZ,SAAoB,EACpB,WAAmB,EACnB,MAAmB;IAEnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5C,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;YAC9D,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;YAEnD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAClC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,iBAAiB,YAAY,EAAE,CAAC,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;gBAED,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBAC3D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,iBAAiB,iBAAiB,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9E,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,aAAc,EAAE;oBACpE,MAAM,EAAE,WAAW;oBACnB,YAAY,EAAE,oBAAoB,IAAI,EAAE;iBACzC,CAAC,CAAC;gBACH,SAAS,CACP,+CAA+C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,OAAO,EAAE,CAAC,EAAE,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3B,UAAU,CAAC,iBAAkB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CACrB,OAAO,EACP,GAAG,EAAE;YACH,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChB,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAC/C,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,gBAAkC,EAAE,WAAoB;IAClF,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjE,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3D,gBAAgB,CAAC,UAAU,CAAC;QAC1B;YACE,KAAK,EAAE;gBACL,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI;gBAC3B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK;aAC/B;YACD,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM;YAC7B,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY;YACvC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;SAC9C;QACD;YACE,KAAK,EAAE;gBACL,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI;gBAClC,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,KAAK;aACtC;YACD,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,MAAM;YACpC,OAAO,EAAE,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC,YAAY;YAC7D,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW;SACrD;KACF,CAAC,CAAC;IACH,gBAAgB,CAAC,SAAS,CAAC;QACzB,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE;QAClF,GAAG,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM;QACnC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU;KACpD,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAc,EACd,MAAmB,EACnB,YAAY,GAAG,GAAG,EAClB,OAAO,GAAG,MAAM;IAEhB,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,MAAM,KAAK,CAAC,CAAC,CAAC;IAExE,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzD,IAAI,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG;oBAAE,OAAO;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;YAAS,CAAC;QACT,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,YAAY,CAAC,iDAAiD,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;AACH,CAAC;AAQD,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IAClD,IAAI,kBAA0C,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,WAAW,eAAe,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAEvD,CAAC;QACF,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EACzC,SAAS,EACT,WAAW,CACZ,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,KAAK,QAAQ;YACrB,CAAC,KAAK,IAAI;YACV,iBAAiB,CAAC,QAAQ,CAAE,CAA6B,CAAC,IAAc,CAAC,CAC5E,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,WAAmB,EACnB,MAAmB,EACnB,GAAgB;IAEhB,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAEvD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;YAC3C,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC9B,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,4CAA4C,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;YACtF,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE1B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ /**
6
+ * Search Dataverse actions and functions in a Dataverse environment.
7
+ *
8
+ * @param {ArgumentProvider} argumentProvider
9
+ * @returns {Promise<void>}
10
+ */
11
+ export declare function findDataverseApiAsync(argumentProvider: ArgumentProvider): Promise<void>;
12
+ //# sourceMappingURL=FindDataverseApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindDataverseApi.d.ts","sourceRoot":"","sources":["../../src/Verbs/FindDataverseApi.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAU5D;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE7F"}
@@ -0,0 +1,101 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { findDataverseApiAsync as findDataverseApiActionAsync, getPlayerServiceConfig, } from '@microsoft/managed-apps-actions';
5
+ import { getCliLogger, getSettings } from '../CliSettings.js';
6
+ import { createDefaultStringOption } from '../CliUtils.js';
7
+ import { HelpStrings } from '../Constants/HelpStrings.js';
8
+ import { CliFS } from '../FS/CliFs.js';
9
+ import { printJsonSuccessList } from '../Utils/ConsoleOutput.js';
10
+ import { FindDataverseApiArguments } from './VerbConstants.js';
11
+ const SEPARATOR_WIDTH = 100;
12
+ /**
13
+ * Search Dataverse actions and functions in a Dataverse environment.
14
+ *
15
+ * @param {ArgumentProvider} argumentProvider
16
+ * @returns {Promise<void>}
17
+ */
18
+ export async function findDataverseApiAsync(argumentProvider) {
19
+ const settings = getSettings();
20
+ const { fileConfig } = settings;
21
+ createOptionSchema(argumentProvider);
22
+ await argumentProvider.runVerb();
23
+ const cliFs = new CliFS({
24
+ cwd: process.cwd(),
25
+ allowCwdRead: true,
26
+ allowCwdWrite: true,
27
+ });
28
+ const playerServiceConfig = getPlayerServiceConfig();
29
+ const authenticationProvider = argumentProvider.getAuthenticationProvider();
30
+ const searchTerm = await argumentProvider.getOption(FindDataverseApiArguments.SearchTerm.name, true);
31
+ if (!searchTerm) {
32
+ console.warn('Warning: No search term specified. Fetching all Dataverse operations — this may take a while.');
33
+ }
34
+ const context = {
35
+ vfs: cliFs,
36
+ authProvider: authenticationProvider,
37
+ region: playerServiceConfig.region,
38
+ environmentName: playerServiceConfig.environmentName,
39
+ actionsParams: {
40
+ searchTerm,
41
+ },
42
+ localFilePaths: {
43
+ appConfigPath: fileConfig.appConfigPath,
44
+ schemaPath: fileConfig.schemaPath,
45
+ codeGenPath: fileConfig.codeGenPath,
46
+ },
47
+ logger: getCliLogger(),
48
+ };
49
+ const operations = await findDataverseApiActionAsync(context);
50
+ if (argumentProvider.isJsonMode()) {
51
+ printJsonSuccessList(operations);
52
+ return;
53
+ }
54
+ console.log('\n' + '='.repeat(SEPARATOR_WIDTH));
55
+ console.log('Dataverse Operations');
56
+ console.log('='.repeat(SEPARATOR_WIDTH));
57
+ if (operations.length === 0) {
58
+ console.log('\nNo operations found.');
59
+ console.log('='.repeat(SEPARATOR_WIDTH));
60
+ return;
61
+ }
62
+ for (const operation of operations) {
63
+ printCsdlOperation(operation);
64
+ }
65
+ console.log('-'.repeat(SEPARATOR_WIDTH));
66
+ console.log(`Total: ${operations.length} operation(s)`);
67
+ console.log('='.repeat(SEPARATOR_WIDTH));
68
+ }
69
+ function printCsdlOperation(op) {
70
+ console.log(`\n ${op.name} (${op.kind})`);
71
+ const params = op.isBound ? op.parameters.slice(1) : op.parameters;
72
+ if (op.isBound && op.parameters[0]) {
73
+ console.log(` Bound to: ${op.parameters[0].type}`);
74
+ }
75
+ if (params.length > 0) {
76
+ console.log(' Parameters:');
77
+ for (const p of params) {
78
+ const optional = p.nullable ? '?' : '';
79
+ console.log(` - ${p.name}${optional}: ${p.type}`);
80
+ }
81
+ }
82
+ if (op.returnType) {
83
+ console.log(` Returns: ${op.returnType.type}`);
84
+ }
85
+ }
86
+ function createOptionSchema(argumentProvider) {
87
+ argumentProvider.setDescription(HelpStrings.connector['list-actions'].description);
88
+ argumentProvider.addExamples(HelpStrings.connector['list-actions'].examples);
89
+ argumentProvider.addOptions([
90
+ createDefaultStringOption({
91
+ flags: {
92
+ key: FindDataverseApiArguments.SearchTerm.name,
93
+ alias: FindDataverseApiArguments.SearchTerm.alias,
94
+ },
95
+ env: FindDataverseApiArguments.SearchTerm.envVar,
96
+ message: FindDataverseApiArguments.SearchTerm.promptMessage,
97
+ description: 'Search term to filter Dataverse operations by name.',
98
+ }),
99
+ ]);
100
+ }
101
+ //# sourceMappingURL=FindDataverseApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindDataverseApi.js","sourceRoot":"","sources":["../../src/Verbs/FindDataverseApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ export declare function getMaafAppInfoAsync(argumentProvider: ArgumentProvider): Promise<void>;
6
+ //# sourceMappingURL=GetMaafApp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetMaafApp.d.ts","sourceRoot":"","sources":["../../src/Verbs/GetMaafApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,wBAAsB,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC3F"}
@@ -0,0 +1,59 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { infoAsync } from '@microsoft/managed-apps-actions';
5
+ import { AppConfigFileName } from '@microsoft/managed-apps-common/config';
6
+ import { getCliLogger } from '../CliSettings.js';
7
+ import { resolveAppNameAsync } from '../CliUtils.js';
8
+ import { HelpStrings } from '../Constants/HelpStrings.js';
9
+ import { UsageError } from '../Errors/CliError.js';
10
+ import { printInfo, printJsonSuccess, printSuccess } from '../Utils/ConsoleOutput.js';
11
+ import { GetMaafAppArguments } from './VerbConstants.js';
12
+ export async function getMaafAppInfoAsync(argumentProvider) {
13
+ createOptionSchema(argumentProvider);
14
+ await argumentProvider.runVerb();
15
+ const environmentId = argumentProvider.getEnvironmentId();
16
+ if (!environmentId) {
17
+ throw new UsageError(`No environment ID found. Run this command from a directory with a ${AppConfigFileName} (created by \`ms app create\`).`);
18
+ }
19
+ const tenantId = await argumentProvider.getTenantIdAsync();
20
+ if (!tenantId) {
21
+ throw new UsageError('Unable to determine tenant ID. Ensure you are logged in.');
22
+ }
23
+ const appName = await resolveAppNameAsync(argumentProvider);
24
+ const result = await infoAsync({
25
+ tenantId,
26
+ environmentId,
27
+ logger: getCliLogger(),
28
+ actionsParams: { appName },
29
+ });
30
+ const description = result.description;
31
+ if (argumentProvider.isJsonMode()) {
32
+ printJsonSuccess({
33
+ appId: result.id,
34
+ displayName: result.displayName,
35
+ description,
36
+ environmentId: result.environmentId,
37
+ });
38
+ }
39
+ else {
40
+ printSuccess(`App '${result.displayName}' (${result.id}).`);
41
+ if (description)
42
+ printInfo(`Description: ${description}`);
43
+ }
44
+ }
45
+ function createOptionSchema(argumentProvider) {
46
+ argumentProvider.setDescription(HelpStrings.app.info.description);
47
+ argumentProvider.addExamples(HelpStrings.app.info.examples);
48
+ argumentProvider.addOptions([
49
+ {
50
+ flags: {
51
+ key: GetMaafAppArguments.App.name,
52
+ },
53
+ env: GetMaafAppArguments.App.envVar,
54
+ description: HelpStrings.app.info.options.app,
55
+ optionalInNonInteractive: true,
56
+ },
57
+ ]);
58
+ }
59
+ //# sourceMappingURL=GetMaafApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetMaafApp.js","sourceRoot":"","sources":["../../src/Verbs/GetMaafApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,gBAAkC;IAC1E,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACrC,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAEjC,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,UAAU,CAClB,qEAAqE,iBAAiB,kCAAkC,CACzH,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,UAAU,CAAC,0DAA0D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;QAC7B,QAAQ;QACR,aAAa;QACb,MAAM,EAAE,YAAY,EAAE;QACtB,aAAa,EAAE,EAAE,OAAO,EAAE;KAC3B,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAEvC,IAAI,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC;QAClC,gBAAgB,CAAC;YACf,KAAK,EAAE,MAAM,CAAC,EAAE;YAChB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW;YACX,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,QAAQ,MAAM,CAAC,WAAW,MAAM,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,WAAW;YAAE,SAAS,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,gBAAkC;IAC5D,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5D,gBAAgB,CAAC,UAAU,CAAC;QAC1B;YACE,KAAK,EAAE;gBACL,GAAG,EAAE,mBAAmB,CAAC,GAAG,CAAC,IAAI;aAClC;YACD,GAAG,EAAE,mBAAmB,CAAC,GAAG,CAAC,MAAM;YACnC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;YAC7C,wBAAwB,EAAE,IAAI;SAC/B;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ export declare function getMaafBuildStatusAsync(argumentProvider: ArgumentProvider): Promise<void>;
6
+ //# sourceMappingURL=GetMaafBuildStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetMaafBuildStatus.d.ts","sourceRoot":"","sources":["../../src/Verbs/GetMaafBuildStatus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,wBAAsB,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC/F"}
@@ -0,0 +1,67 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { buildStatusAsync } from '@microsoft/managed-apps-actions';
5
+ import { AppConfigFileName } from '@microsoft/managed-apps-common/config';
6
+ import { getCliLogger } from '../CliSettings.js';
7
+ import { createDefaultStringOption, resolveAppNameAsync } from '../CliUtils.js';
8
+ import { HelpStrings } from '../Constants/HelpStrings.js';
9
+ import { UsageError } from '../Errors/CliError.js';
10
+ import { printJsonSuccess, printSuccess } from '../Utils/ConsoleOutput.js';
11
+ import { GetBuildStatusArguments } from './VerbConstants.js';
12
+ export async function getMaafBuildStatusAsync(argumentProvider) {
13
+ createOptionSchema(argumentProvider);
14
+ await argumentProvider.runVerb();
15
+ const environmentId = argumentProvider.getEnvironmentId();
16
+ if (!environmentId) {
17
+ throw new UsageError('`ms app get-build-status` is deprecated and the `--environment-id` flag has been removed. ' +
18
+ `The replacement flow is \`ms app create\` (scaffolds the app and writes ${AppConfigFileName}) ` +
19
+ `followed by \`ms app deploy\`. To run this deprecated command, invoke it from a directory ` +
20
+ `with a ${AppConfigFileName} (created by \`ms app create\`).`);
21
+ }
22
+ const tenantId = await argumentProvider.getTenantIdAsync();
23
+ if (!tenantId) {
24
+ throw new UsageError('Unable to determine tenant ID. Ensure you are logged in.');
25
+ }
26
+ const appName = await resolveAppNameAsync(argumentProvider);
27
+ const operationId = await argumentProvider.getOption('operationId');
28
+ if (!operationId) {
29
+ throw new UsageError('Argument operationId is required. Use --operation-id or -o to specify it.');
30
+ }
31
+ const result = await buildStatusAsync({
32
+ tenantId,
33
+ environmentId,
34
+ logger: getCliLogger(),
35
+ actionsParams: { appName, operationId },
36
+ });
37
+ if (argumentProvider.isJsonMode()) {
38
+ printJsonSuccess(result);
39
+ }
40
+ else {
41
+ printSuccess(`Build status: ${result.status}`);
42
+ }
43
+ }
44
+ function createOptionSchema(argumentProvider) {
45
+ argumentProvider.setDescription(HelpStrings.deprecated.Verbs['Get-build-status'].Description);
46
+ argumentProvider.addExamples(HelpStrings.deprecated.Verbs['Get-build-status'].Examples);
47
+ argumentProvider.addOptions([
48
+ {
49
+ flags: {
50
+ key: GetBuildStatusArguments.AppName.name,
51
+ },
52
+ env: GetBuildStatusArguments.AppName.envVar,
53
+ description: HelpStrings.deprecated.Verbs['Get-build-status'].Options.AppName,
54
+ optionalInNonInteractive: true,
55
+ },
56
+ createDefaultStringOption({
57
+ flags: {
58
+ key: GetBuildStatusArguments.OperationId.name,
59
+ alias: GetBuildStatusArguments.OperationId.alias,
60
+ },
61
+ env: GetBuildStatusArguments.OperationId.envVar,
62
+ message: GetBuildStatusArguments.OperationId.promptMessage,
63
+ description: HelpStrings.deprecated.Verbs['Get-build-status'].Options.OperationId,
64
+ }),
65
+ ]);
66
+ }
67
+ //# sourceMappingURL=GetMaafBuildStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetMaafBuildStatus.js","sourceRoot":"","sources":["../../src/Verbs/GetMaafBuildStatus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,gBAAkC;IAC9E,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACrC,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAEjC,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,UAAU,CAClB,4FAA4F;YAC1F,2EAA2E,iBAAiB,IAAI;YAChG,4FAA4F;YAC5F,UAAU,iBAAiB,kCAAkC,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,UAAU,CAAC,0DAA0D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAE5D,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAS,aAAa,CAAC,CAAC;IAC5E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,UAAU,CAClB,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;QACpC,QAAQ;QACR,aAAa;QACb,MAAM,EAAE,YAAY,EAAE;QACtB,aAAa,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;KACxC,CAAC,CAAC;IAEH,IAAI,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC;QAClC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,gBAAkC;IAC5D,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,CAAC;IAC9F,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxF,gBAAgB,CAAC,UAAU,CAAC;QAC1B;YACE,KAAK,EAAE;gBACL,GAAG,EAAE,uBAAuB,CAAC,OAAO,CAAC,IAAI;aAC1C;YACD,GAAG,EAAE,uBAAuB,CAAC,OAAO,CAAC,MAAM;YAC3C,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,OAAO;YAC7E,wBAAwB,EAAE,IAAI;SAC/B;QACD,yBAAyB,CAAC;YACxB,KAAK,EAAE;gBACL,GAAG,EAAE,uBAAuB,CAAC,WAAW,CAAC,IAAI;gBAC7C,KAAK,EAAE,uBAAuB,CAAC,WAAW,CAAC,KAAK;aACjD;YACD,GAAG,EAAE,uBAAuB,CAAC,WAAW,CAAC,MAAM;YAC/C,OAAO,EAAE,uBAAuB,CAAC,WAAW,CAAC,aAAa;YAC1D,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,WAAW;SAClF,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ /**
6
+ * Display all app settings and their current effective values for the current Power Apps code app.
7
+ *
8
+ * @param {ArgumentProvider} argumentProvider
9
+ * @returns {Promise<void>}
10
+ */
11
+ export declare function getSettingsAsync(argumentProvider: ArgumentProvider): Promise<void>;
12
+ //# sourceMappingURL=GetSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetSettings.d.ts","sourceRoot":"","sources":["../../src/Verbs/GetSettings.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5D;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCxF"}
@@ -0,0 +1,48 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { APP_SETTINGS_DEFINITIONS, resolveAppSettings, } from '@microsoft/managed-apps-actions';
5
+ import { AppConfigFileName } from '@microsoft/managed-apps-common/config';
6
+ import { getCliLogger, getSettings } from '../CliSettings.js';
7
+ import { CLI_BINARY_NAME } from '../Constants/CliConstants.js';
8
+ import { HelpStrings } from '../Constants/HelpStrings.js';
9
+ import { UsageError } from '../Errors/CliError.js';
10
+ import { printInfo, printJsonSuccess } from '../Utils/ConsoleOutput.js';
11
+ /**
12
+ * Display all app settings and their current effective values for the current Power Apps code app.
13
+ *
14
+ * @param {ArgumentProvider} argumentProvider
15
+ * @returns {Promise<void>}
16
+ */
17
+ export async function getSettingsAsync(argumentProvider) {
18
+ const cliSettings = getSettings();
19
+ if (!cliSettings.appConfig) {
20
+ throw new UsageError(`No ${AppConfigFileName} found in the current directory. Run "npx ${CLI_BINARY_NAME} app init" first.`);
21
+ }
22
+ createOptionSchema(argumentProvider);
23
+ await argumentProvider.runVerb();
24
+ const logger = getCliLogger();
25
+ const scenario = logger.trackScenario('GetSettings');
26
+ try {
27
+ const effectiveSettings = resolveAppSettings(cliSettings.appConfig.appSettings);
28
+ const jsonMode = argumentProvider.isJsonMode();
29
+ if (jsonMode) {
30
+ printJsonSuccess({ settings: effectiveSettings });
31
+ }
32
+ else {
33
+ for (const def of APP_SETTINGS_DEFINITIONS) {
34
+ printInfo(`${def.name} = ${effectiveSettings[def.configKey]}`);
35
+ }
36
+ }
37
+ scenario.complete();
38
+ }
39
+ catch (error) {
40
+ scenario.failure({ error: error instanceof Error ? error.message : String(error) });
41
+ throw error;
42
+ }
43
+ }
44
+ function createOptionSchema(argumentProvider) {
45
+ argumentProvider.setDescription(HelpStrings.app['get-settings'].description);
46
+ argumentProvider.addExamples(HelpStrings.app['get-settings'].examples ?? []);
47
+ }
48
+ //# sourceMappingURL=GetSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetSettings.js","sourceRoot":"","sources":["../../src/Verbs/GetSettings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,wBAAwB,EAExB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAErE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,gBAAkC;IACvE,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAElC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,UAAU,CAClB,MAAM,iBAAiB,6CAA6C,eAAe,mBAAmB,CACvG,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACrC,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IAErD,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,kBAAkB,CAC1C,WAAW,CAAC,SAAS,CAAC,WAA+C,CACtE,CAAC;QACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAE/C,IAAI,QAAQ,EAAE,CAAC;YACb,gBAAgB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;gBAC3C,SAAS,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,iBAAiB,CAAC,GAAG,CAAC,SAA8B,CAAC,EAAE,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,gBAAkC;IAC5D,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC;IAC7E,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { ArgumentProvider } from '../ArgumentProvider.js';
5
+ export declare function initAsync(argumentProvider: ArgumentProvider): Promise<void>;
6
+ //# sourceMappingURL=Init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Init.d.ts","sourceRoot":"","sources":["../../src/Verbs/Init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAS5D,wBAAsB,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwEjF"}