@gadgetinc/ggt 2.3.0 → 3.0.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 (224) hide show
  1. package/README.md +387 -327
  2. package/dist/action-CF6zatIh.js +64 -0
  3. package/dist/action-CF6zatIh.js.map +1 -0
  4. package/dist/action-CrDCeX3F.js +8 -0
  5. package/dist/action-CrDCeX3F.js.map +1 -0
  6. package/dist/add-Basu3Gyf.js +1 -0
  7. package/dist/agent-plugin-CqgwTOk-.js +15 -0
  8. package/dist/agent-plugin-CqgwTOk-.js.map +1 -0
  9. package/dist/agent-plugin-DU9G5B1d.js +9 -0
  10. package/dist/agent-plugin-DU9G5B1d.js.map +1 -0
  11. package/dist/assert-Bu1E126Z.js +2 -0
  12. package/dist/assert-Bu1E126Z.js.map +1 -0
  13. package/dist/chunk-BjEoQXZ0.js +1 -0
  14. package/dist/collection-C2TCeYqY.js +2 -0
  15. package/dist/collection-C2TCeYqY.js.map +1 -0
  16. package/dist/collection-aM0fpch0.js +1 -0
  17. package/dist/command-2iNTc5dV.js +118 -0
  18. package/dist/command-2iNTc5dV.js.map +1 -0
  19. package/dist/completion-D96nxD5n.js +37 -0
  20. package/dist/completion-D96nxD5n.js.map +1 -0
  21. package/dist/configure-C8ge-2cK.js +15 -0
  22. package/dist/configure-C8ge-2cK.js.map +1 -0
  23. package/dist/debugger-BkYgApKn.js +22 -0
  24. package/dist/debugger-BkYgApKn.js.map +1 -0
  25. package/dist/defaults-B_eD7Pia.js +2 -0
  26. package/dist/defaults-B_eD7Pia.js.map +1 -0
  27. package/dist/deploy-Da6P2HXS.js +15 -0
  28. package/dist/deploy-Da6P2HXS.js.map +1 -0
  29. package/dist/dev-DWMSNcLl.js +32 -0
  30. package/dist/dev-DWMSNcLl.js.map +1 -0
  31. package/dist/dev-lock-BFanZSu1.js +10 -0
  32. package/dist/dev-lock-BFanZSu1.js.map +1 -0
  33. package/dist/directory-CNL03L6c.js +9 -0
  34. package/dist/directory-CNL03L6c.js.map +1 -0
  35. package/dist/env-DoWNvHzW.js +62 -0
  36. package/dist/env-DoWNvHzW.js.map +1 -0
  37. package/dist/esm-B25i6Etq.js +12 -0
  38. package/dist/esm-B25i6Etq.js.map +1 -0
  39. package/dist/esm-CJocZrdd.js +2 -0
  40. package/dist/esm-CJocZrdd.js.map +1 -0
  41. package/dist/eval-BceZMSd5.js +27 -0
  42. package/dist/eval-BceZMSd5.js.map +1 -0
  43. package/dist/execAsync-DrhcEHLd.js +2 -0
  44. package/dist/execAsync-DrhcEHLd.js.map +1 -0
  45. package/dist/filesync-De6asZeR.js +61 -0
  46. package/dist/filesync-De6asZeR.js.map +1 -0
  47. package/dist/getMachineId-bsd-Cch8Z6pV.js +2 -0
  48. package/dist/getMachineId-bsd-Cch8Z6pV.js.map +1 -0
  49. package/dist/getMachineId-darwin-kbQWK54o.js +3 -0
  50. package/dist/getMachineId-darwin-kbQWK54o.js.map +1 -0
  51. package/dist/getMachineId-linux-DdIel6zr.js +2 -0
  52. package/dist/getMachineId-linux-DdIel6zr.js.map +1 -0
  53. package/dist/getMachineId-unsupported-Bvmsh30k.js +2 -0
  54. package/dist/getMachineId-unsupported-Bvmsh30k.js.map +1 -0
  55. package/dist/getMachineId-win-BteHZe8j.js +2 -0
  56. package/dist/getMachineId-win-BteHZe8j.js.map +1 -0
  57. package/dist/ggt-B3HQjQRM.js +3 -0
  58. package/dist/ggt-B3HQjQRM.js.map +1 -0
  59. package/dist/handler-DZyG8Sel.js +4 -0
  60. package/dist/handler-DZyG8Sel.js.map +1 -0
  61. package/dist/http-CY3lPMkt.js +320 -0
  62. package/dist/http-CY3lPMkt.js.map +1 -0
  63. package/dist/indent-string-BVm-4tyL.js +2 -0
  64. package/dist/indent-string-BVm-4tyL.js.map +1 -0
  65. package/dist/list-lQKWZ6ZI.js +10 -0
  66. package/dist/list-lQKWZ6ZI.js.map +1 -0
  67. package/dist/login-Ce0tByNd.js +1 -0
  68. package/dist/logout-_sTWeaiQ.js +5 -0
  69. package/dist/logout-_sTWeaiQ.js.map +1 -0
  70. package/dist/logs-DbhJzz4M.js +9 -0
  71. package/dist/logs-DbhJzz4M.js.map +1 -0
  72. package/dist/main.js +2 -2
  73. package/dist/main.js.map +1 -7
  74. package/dist/model-CBiMKY0P.js +11 -0
  75. package/dist/model-CBiMKY0P.js.map +1 -0
  76. package/dist/ms-B7sMc0pR.js +2 -0
  77. package/dist/ms-B7sMc0pR.js.map +1 -0
  78. package/dist/open-CSsA4B-l.js +38 -0
  79. package/dist/open-CSsA4B-l.js.map +1 -0
  80. package/dist/p-map-DE0acmRv.js +2 -0
  81. package/dist/p-map-DE0acmRv.js.map +1 -0
  82. package/dist/problems-BMLsmxd4.js +11 -0
  83. package/dist/problems-BMLsmxd4.js.map +1 -0
  84. package/dist/prompt-C9nwJW0G.js +2 -0
  85. package/dist/prompt-C9nwJW0G.js.map +1 -0
  86. package/dist/pull-DpizmJGk.js +12 -0
  87. package/dist/pull-DpizmJGk.js.map +1 -0
  88. package/dist/push-67KBCw6c.js +12 -0
  89. package/dist/push-67KBCw6c.js.map +1 -0
  90. package/dist/root-D_UnUsp7.js +28 -0
  91. package/dist/root-D_UnUsp7.js.map +1 -0
  92. package/dist/select-Dey_sjjd.js +4 -0
  93. package/dist/select-Dey_sjjd.js.map +1 -0
  94. package/dist/session-BmzGF1t7.js +2 -0
  95. package/dist/session-BmzGF1t7.js.map +1 -0
  96. package/dist/spinner-BVmbgIil.js +8 -0
  97. package/dist/spinner-BVmbgIil.js.map +1 -0
  98. package/dist/src-DxCC1MV4.js +6 -0
  99. package/dist/src-DxCC1MV4.js.map +1 -0
  100. package/dist/status-P_RFQ7J0.js +13 -0
  101. package/dist/status-P_RFQ7J0.js.map +1 -0
  102. package/dist/subscribeToEnvironmentLogs-CUicaiw_.js +2 -0
  103. package/dist/subscribeToEnvironmentLogs-CUicaiw_.js.map +1 -0
  104. package/dist/sync-json-V52OzeCz.js +112 -0
  105. package/dist/sync-json-V52OzeCz.js.map +1 -0
  106. package/dist/table-MrBbxMay.js +11 -0
  107. package/dist/table-MrBbxMay.js.map +1 -0
  108. package/dist/update-CfxiL08e.js +12 -0
  109. package/dist/update-CfxiL08e.js.map +1 -0
  110. package/dist/update-iyhnL9-M.js +1 -0
  111. package/dist/var-ByWcufFt.js +59 -0
  112. package/dist/var-ByWcufFt.js.map +1 -0
  113. package/dist/version-B_9GB4u3.js +9 -0
  114. package/dist/version-B_9GB4u3.js.map +1 -0
  115. package/dist/whoami-BNcXIfz7.js +5 -0
  116. package/dist/whoami-BNcXIfz7.js.map +1 -0
  117. package/package.json +18 -22
  118. package/assets/favicon-128@4x.png +0 -0
  119. package/dist/add-7MLI3TCY.js +0 -82
  120. package/dist/add-7MLI3TCY.js.map +0 -7
  121. package/dist/agent-plugin-543K6WBH.js +0 -11
  122. package/dist/agent-plugin-543K6WBH.js.map +0 -7
  123. package/dist/chunk-2HJS3KFB.js +0 -2
  124. package/dist/chunk-2HJS3KFB.js.map +0 -7
  125. package/dist/chunk-3WKH3DJL.js +0 -2
  126. package/dist/chunk-3WKH3DJL.js.map +0 -7
  127. package/dist/chunk-577KP32Z.js +0 -8
  128. package/dist/chunk-577KP32Z.js.map +0 -7
  129. package/dist/chunk-6FVHOLT7.js +0 -28
  130. package/dist/chunk-6FVHOLT7.js.map +0 -7
  131. package/dist/chunk-72J7X5LR.js +0 -2
  132. package/dist/chunk-72J7X5LR.js.map +0 -7
  133. package/dist/chunk-7DYQUG5M.js +0 -2
  134. package/dist/chunk-7DYQUG5M.js.map +0 -7
  135. package/dist/chunk-ALSXPCRD.js +0 -118
  136. package/dist/chunk-ALSXPCRD.js.map +0 -7
  137. package/dist/chunk-CNNOPE5K.js +0 -69
  138. package/dist/chunk-CNNOPE5K.js.map +0 -7
  139. package/dist/chunk-ETKWDO4V.js +0 -2
  140. package/dist/chunk-ETKWDO4V.js.map +0 -7
  141. package/dist/chunk-F6BGQ4LG.js +0 -11
  142. package/dist/chunk-F6BGQ4LG.js.map +0 -7
  143. package/dist/chunk-FE5O5VX4.js +0 -2
  144. package/dist/chunk-FE5O5VX4.js.map +0 -7
  145. package/dist/chunk-GFQYFEEH.js +0 -2
  146. package/dist/chunk-GFQYFEEH.js.map +0 -7
  147. package/dist/chunk-GJGBTM5Y.js +0 -2
  148. package/dist/chunk-GJGBTM5Y.js.map +0 -7
  149. package/dist/chunk-GZTHIOXS.js +0 -2
  150. package/dist/chunk-GZTHIOXS.js.map +0 -7
  151. package/dist/chunk-IQSZEOYY.js +0 -283
  152. package/dist/chunk-IQSZEOYY.js.map +0 -7
  153. package/dist/chunk-J232VCIM.js +0 -2
  154. package/dist/chunk-J232VCIM.js.map +0 -7
  155. package/dist/chunk-KKIL22RY.js +0 -2
  156. package/dist/chunk-KKIL22RY.js.map +0 -7
  157. package/dist/chunk-L2XBSR7G.js +0 -2
  158. package/dist/chunk-L2XBSR7G.js.map +0 -7
  159. package/dist/chunk-N5FFICAP.js +0 -9
  160. package/dist/chunk-N5FFICAP.js.map +0 -7
  161. package/dist/chunk-TGCJ6TMW.js +0 -10
  162. package/dist/chunk-TGCJ6TMW.js.map +0 -7
  163. package/dist/chunk-ULJYEUQG.js +0 -113
  164. package/dist/chunk-ULJYEUQG.js.map +0 -7
  165. package/dist/chunk-UVVKKUYG.js +0 -10
  166. package/dist/chunk-UVVKKUYG.js.map +0 -7
  167. package/dist/chunk-WZ2PO6H2.js +0 -11
  168. package/dist/chunk-WZ2PO6H2.js.map +0 -7
  169. package/dist/chunk-X4XSYLCE.js +0 -12
  170. package/dist/chunk-X4XSYLCE.js.map +0 -7
  171. package/dist/chunk-ZYDMXS5R.js +0 -6
  172. package/dist/chunk-ZYDMXS5R.js.map +0 -7
  173. package/dist/configure-PYRXYNGZ.js +0 -12
  174. package/dist/configure-PYRXYNGZ.js.map +0 -7
  175. package/dist/debugger-VKLUEWIN.js +0 -41
  176. package/dist/debugger-VKLUEWIN.js.map +0 -7
  177. package/dist/deploy-JCREEGBA.js +0 -25
  178. package/dist/deploy-JCREEGBA.js.map +0 -7
  179. package/dist/dev-Y2GLI7EH.js +0 -59
  180. package/dist/dev-Y2GLI7EH.js.map +0 -7
  181. package/dist/env-5OPHX3MC.js +0 -135
  182. package/dist/env-5OPHX3MC.js.map +0 -7
  183. package/dist/esm-3JVXH7DT.js +0 -37
  184. package/dist/esm-3JVXH7DT.js.map +0 -7
  185. package/dist/eval-LZPZ6PBQ.js +0 -54
  186. package/dist/eval-LZPZ6PBQ.js.map +0 -7
  187. package/dist/getMachineId-bsd-QUXN4NKS.js +0 -2
  188. package/dist/getMachineId-bsd-QUXN4NKS.js.map +0 -7
  189. package/dist/getMachineId-darwin-TCXBAX22.js +0 -3
  190. package/dist/getMachineId-darwin-TCXBAX22.js.map +0 -7
  191. package/dist/getMachineId-linux-IJ3LYIOX.js +0 -2
  192. package/dist/getMachineId-linux-IJ3LYIOX.js.map +0 -7
  193. package/dist/getMachineId-unsupported-IKXBUCYY.js +0 -2
  194. package/dist/getMachineId-unsupported-IKXBUCYY.js.map +0 -7
  195. package/dist/getMachineId-win-6CX7VSFF.js +0 -2
  196. package/dist/getMachineId-win-6CX7VSFF.js.map +0 -7
  197. package/dist/ggt-KUAF6WUA.js +0 -45
  198. package/dist/ggt-KUAF6WUA.js.map +0 -7
  199. package/dist/list-IANT7SNF.js +0 -11
  200. package/dist/list-IANT7SNF.js.map +0 -7
  201. package/dist/login-TYRZLN5S.js +0 -2
  202. package/dist/login-TYRZLN5S.js.map +0 -7
  203. package/dist/logout-P75XYYZ6.js +0 -7
  204. package/dist/logout-P75XYYZ6.js.map +0 -7
  205. package/dist/logs-SBMD6JSR.js +0 -28
  206. package/dist/logs-SBMD6JSR.js.map +0 -7
  207. package/dist/open-JPAMII4K.js +0 -74
  208. package/dist/open-JPAMII4K.js.map +0 -7
  209. package/dist/problems-EZRSHLZT.js +0 -14
  210. package/dist/problems-EZRSHLZT.js.map +0 -7
  211. package/dist/pull-R3PMBVOT.js +0 -28
  212. package/dist/pull-R3PMBVOT.js.map +0 -7
  213. package/dist/push-5XEEESQQ.js +0 -2
  214. package/dist/push-5XEEESQQ.js.map +0 -7
  215. package/dist/status-RJN5ES6S.js +0 -14
  216. package/dist/status-RJN5ES6S.js.map +0 -7
  217. package/dist/update-X7YS3MNH.js +0 -2
  218. package/dist/update-X7YS3MNH.js.map +0 -7
  219. package/dist/var-PC6KQUPF.js +0 -159
  220. package/dist/var-PC6KQUPF.js.map +0 -7
  221. package/dist/version-GZJOU2CV.js +0 -11
  222. package/dist/version-GZJOU2CV.js.map +0 -7
  223. package/dist/whoami-GKPGPZ3B.js +0 -7
  224. package/dist/whoami-GKPGPZ3B.js.map +0 -7
@@ -1,14 +0,0 @@
1
- import{c as y}from"./chunk-UVVKKUYG.js";import{f as d,g as l,j as A}from"./chunk-CNNOPE5K.js";import"./chunk-L2XBSR7G.js";import"./chunk-577KP32Z.js";import"./chunk-WZ2PO6H2.js";import{g as f,s as h,t as w,u as S}from"./chunk-ULJYEUQG.js";import{c as p}from"./chunk-2HJS3KFB.js";import"./chunk-F6BGQ4LG.js";import"./chunk-ZYDMXS5R.js";import"./chunk-IQSZEOYY.js";import"./chunk-GZTHIOXS.js";import"./chunk-72J7X5LR.js";import"./chunk-X4XSYLCE.js";import{ra as t,ta as g}from"./chunk-ALSXPCRD.js";import"./chunk-GFQYFEEH.js";import{a,h as m}from"./chunk-7DYQUG5M.js";m();var $=h,k=a(()=>t`
2
- Shows file changes since last sync (e.g. $ggt dev, push, deploy etc.)
3
-
4
- {gray Usage}
5
- ggt status
6
- `,"usage"),x=a(async(n,s)=>{if(s._.length>0)throw new p(t`
7
- "ggt status" does not take any positional arguments.
8
-
9
- If you are trying to see the status of a specific directory,
10
- you must "cd" to that directory and then run "ggt status".
11
-
12
- Run "ggt status -h" for more information.
13
- `);let c=await S(process.cwd()),e=await w.load(n,{command:"status",args:s,directory:c});if(!e)throw new f({command:"status",args:s,directory:c});e.print();let o=await y(e.directory);o.running?g({ensureEmptyLineAbove:!0,content:t`{green ggt dev} is running (PID ${String(o.pid)}, started ${o.startedAt})`}):g({ensureEmptyLineAbove:!0,content:t`{gray ggt dev} is not running.`});let u=new A(e),r=await u.hashes(n);await u.print(n,{hashes:r});let i=d({localChanges:r.localChanges,environmentChanges:r.environmentChanges});i.size>0&&(n.log.debug("conflicts detected",{conflicts:i}),l({conflicts:i}))},"run");export{$ as args,x as run,k as usage};
14
- //# sourceMappingURL=status-RJN5ES6S.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/commands/status.ts"],
4
- "sourcesContent": ["import { ArgError, type ArgsDefinitionResult } from \"../services/command/arg.js\";\nimport type { Run, Usage } from \"../services/command/command.js\";\nimport { getConflicts, printConflicts } from \"../services/filesync/conflicts.js\";\nimport { getDevStatus } from \"../services/filesync/dev-lock.js\";\nimport { UnknownDirectoryError } from \"../services/filesync/error.js\";\nimport { FileSync } from \"../services/filesync/filesync.js\";\nimport { SyncJson, SyncJsonArgs, loadSyncJsonDirectory } from \"../services/filesync/sync-json.js\";\nimport { println } from \"../services/output/print.js\";\nimport { sprint } from \"../services/output/sprint.js\";\n\nexport type StatusArgs = typeof args;\nexport type StatusArgsResult = ArgsDefinitionResult<StatusArgs>;\n\nexport const args = SyncJsonArgs;\n\nexport const usage: Usage = () => {\n return sprint`\n Shows file changes since last sync (e.g. $ggt dev, push, deploy etc.)\n\n {gray Usage}\n ggt status\n `;\n};\n\nexport const run: Run<StatusArgs> = async (ctx, args) => {\n if (args._.length > 0) {\n throw new ArgError(sprint`\n \"ggt status\" does not take any positional arguments.\n\n If you are trying to see the status of a specific directory,\n you must \"cd\" to that directory and then run \"ggt status\".\n\n Run \"ggt status -h\" for more information.\n `);\n }\n\n const directory = await loadSyncJsonDirectory(process.cwd());\n const syncJson = await SyncJson.load(ctx, { command: \"status\", args, directory });\n if (!syncJson) {\n throw new UnknownDirectoryError({ command: \"status\", args, directory });\n }\n\n syncJson.print();\n\n const devStatus = await getDevStatus(syncJson.directory);\n if (devStatus.running) {\n println({\n ensureEmptyLineAbove: true,\n content: sprint`{green ggt dev} is running (PID ${String(devStatus.pid)}, started ${devStatus.startedAt})`,\n });\n } else {\n println({ ensureEmptyLineAbove: true, content: sprint`{gray ggt dev} is not running.` });\n }\n\n const filesync = new FileSync(syncJson);\n const hashes = await filesync.hashes(ctx);\n await filesync.print(ctx, { hashes });\n\n const conflicts = getConflicts({ localChanges: hashes.localChanges, environmentChanges: hashes.environmentChanges });\n if (conflicts.size > 0) {\n ctx.log.debug(\"conflicts detected\", { conflicts });\n printConflicts({ conflicts });\n }\n};\n"],
5
- "mappings": "sjBAAAA,IAaO,IAAMC,EAAOC,EAEPC,EAAeC,EAAA,IACnBC;AAAA;AAAA;AAAA;AAAA;AAAA,IADmB,SASfC,EAAuBF,EAAA,MAAOG,EAAKN,IAAS,CACvD,GAAIA,EAAK,EAAE,OAAS,EAClB,MAAM,IAAIO,EAASH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOlB,EAGH,IAAMI,EAAY,MAAMC,EAAsB,QAAQ,IAAI,CAAC,EACrDC,EAAW,MAAMC,EAAS,KAAKL,EAAK,CAAE,QAAS,SAAU,KAAAN,EAAM,UAAAQ,CAAU,CAAC,EAChF,GAAI,CAACE,EACH,MAAM,IAAIE,EAAsB,CAAE,QAAS,SAAU,KAAAZ,EAAM,UAAAQ,CAAU,CAAC,EAGxEE,EAAS,MAAM,EAEf,IAAMG,EAAY,MAAMC,EAAaJ,EAAS,SAAS,EACnDG,EAAU,QACZE,EAAQ,CACN,qBAAsB,GACtB,QAASX,oCAAyC,OAAOS,EAAU,GAAG,CAAC,aAAaA,EAAU,SAAS,GACzG,CAAC,EAEDE,EAAQ,CAAE,qBAAsB,GAAM,QAASX,iCAAuC,CAAC,EAGzF,IAAMY,EAAW,IAAIC,EAASP,CAAQ,EAChCQ,EAAS,MAAMF,EAAS,OAAOV,CAAG,EACxC,MAAMU,EAAS,MAAMV,EAAK,CAAE,OAAAY,CAAO,CAAC,EAEpC,IAAMC,EAAYC,EAAa,CAAE,aAAcF,EAAO,aAAc,mBAAoBA,EAAO,kBAAmB,CAAC,EAC/GC,EAAU,KAAO,IACnBb,EAAI,IAAI,MAAM,qBAAsB,CAAE,UAAAa,CAAU,CAAC,EACjDE,EAAe,CAAE,UAAAF,CAAU,CAAC,EAEhC,EAvCoC",
6
- "names": ["init_cjs", "args", "SyncJsonArgs", "usage", "__name", "sprint", "run", "ctx", "ArgError", "directory", "loadSyncJsonDirectory", "syncJson", "SyncJson", "UnknownDirectoryError", "devStatus", "getDevStatus", "println", "filesync", "FileSync", "hashes", "conflicts", "getConflicts", "printConflicts"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a,b,c}from"./chunk-N5FFICAP.js";import"./chunk-3WKH3DJL.js";import"./chunk-TGCJ6TMW.js";import"./chunk-L2XBSR7G.js";import"./chunk-IQSZEOYY.js";import"./chunk-GZTHIOXS.js";import"./chunk-72J7X5LR.js";import"./chunk-X4XSYLCE.js";import"./chunk-ALSXPCRD.js";import"./chunk-GFQYFEEH.js";import"./chunk-7DYQUG5M.js";export{a as getDistTags,b as shouldCheckForUpdate,c as warnIfUpdateAvailable};
2
- //# sourceMappingURL=update-X7YS3MNH.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,159 +0,0 @@
1
- import{m as _,p as I,q as x,u as U}from"./chunk-ULJYEUQG.js";import{b as k,c as v}from"./chunk-2HJS3KFB.js";import"./chunk-F6BGQ4LG.js";import"./chunk-ZYDMXS5R.js";import{E as h,F as w,G as $,H as S,R as A}from"./chunk-IQSZEOYY.js";import"./chunk-GZTHIOXS.js";import{c as d}from"./chunk-72J7X5LR.js";import"./chunk-X4XSYLCE.js";import{K as D,ra as p,ta as g}from"./chunk-ALSXPCRD.js";import"./chunk-GFQYFEEH.js";import{a as c,f as T,h as E}from"./chunk-7DYQUG5M.js";E();var B=T(D(),1);var le={...I},me={permissive:!0},R=c(()=>p`
2
- Manage environment variables for your Gadget application.
3
-
4
- {gray Usage}
5
- ggt var <command> [options]
6
-
7
- {gray Commands}
8
- list List all environment variables
9
- get <key> Get the value of an environment variable
10
- set <key=value> Set one or more environment variables
11
- delete <key> Delete one or more environment variables
12
- import Import environment variables from another environment or file
13
-
14
- {gray Options}
15
- -a, --app <app_name> Selects the application
16
- -e, --env <env_name> Selects the environment
17
-
18
- Run "ggt var <command> -h" for more information about a specific command.
19
- `,"usage"),q=c(()=>p`
20
- List all environment variables.
21
-
22
- {gray Usage}
23
- ggt var list [options]
24
-
25
- {gray Options}
26
- -a, --app <app_name> Selects the application
27
- -e, --env <env_name> Selects the environment
28
-
29
- {gray Examples}
30
- {cyanBright $ ggt var list --app=myapp --env=development}
31
- `,"listUsage"),j=c(()=>p`
32
- Get the value of an environment variable.
33
-
34
- {gray Usage}
35
- ggt var get <key> [options]
36
-
37
- {gray Options}
38
- -a, --app <app_name> Selects the application
39
- -e, --env <env_name> Selects the environment
40
-
41
- {gray Examples}
42
- {cyanBright $ ggt var get DATABASE_URL --app=myapp --env=development}
43
- `,"getUsage"),N=c(()=>p`
44
- Set one or more environment variables.
45
-
46
- {gray Usage}
47
- ggt var set <key=value> [key=value ...] [options]
48
-
49
- {gray Options}
50
- --secret Mark the variable(s) as secret
51
- -a, --app <app_name> Selects the application
52
- -e, --env <env_name> Selects the environment
53
-
54
- {gray Examples}
55
- {cyanBright $ ggt var set API_KEY=abc123 --app=myapp --env=development}
56
- {cyanBright $ ggt var set SECRET_KEY=xyz --secret --app=myapp --env=development}
57
- {cyanBright $ ggt var set KEY1=val1 KEY2=val2}
58
- `,"setUsage"),V=c(()=>p`
59
- Delete one or more environment variables.
60
-
61
- {gray Usage}
62
- ggt var delete <key> [key ...] [options]
63
-
64
- {gray Options}
65
- -f, --force Skip confirmation and suppress not-found errors
66
- --all Delete all environment variables
67
- -a, --app <app_name> Selects the application
68
- -e, --env <env_name> Selects the environment
69
-
70
- {gray Examples}
71
- {cyanBright $ ggt var delete API_KEY --app=myapp --env=development}
72
- {cyanBright $ ggt var delete --all --force --app=myapp --env=development}
73
- `,"deleteUsage"),L=c(()=>p`
74
- Import environment variables from another environment or a file.
75
-
76
- {gray Usage}
77
- ggt var import [options] [key ...]
78
-
79
- {gray Options}
80
- --from <env> Import from another environment
81
- --from-file <path> Import from a .env file
82
- --include-values Copy values when importing from another environment
83
- --all Import all variables (instead of specifying keys)
84
- -a, --app <app_name> Selects the target application
85
- -e, --env <env_name> Selects the target environment
86
-
87
- {gray Examples}
88
- Import all vars from staging as placeholders
89
- {cyanBright $ ggt var import --from=staging --all --app=myapp --env=development}
90
-
91
- Import specific vars with values from staging
92
- {cyanBright $ ggt var import --from=staging --include-values API_KEY DATABASE_URL}
93
-
94
- Import from a .env file
95
- {cyanBright $ ggt var import --from-file=.env.example --all}
96
- `,"importUsage"),P=c(s=>{switch(s){case"list":return q();case"get":return j();case"set":return N();case"delete":return V();case"import":return L();default:return R(void 0)}},"subcommandUsage"),M={"--secret":{type:Boolean}},C={"--force":{type:Boolean,alias:"-f"},"--all":{type:Boolean}},Y={"--from":{type:String},"--from-file":{type:String},"--include-values":{type:Boolean},"--all":{type:Boolean}},pe=c(async(s,t)=>{let e=t._.shift();if((t._.includes("-h")||t._.includes("--help"))&&(g(P(e)),process.exit(0)),!e){g(R(s));return}if(!["list","get","set","delete","import"].includes(e))throw new v(p`
97
- Unknown subcommand {yellow ${e}}
98
-
99
- Run {gray ggt var -h} for usage
100
- `);let o=await U(process.cwd()),n=await x.load(s,{command:"var",args:t,directory:o});switch(e){case"list":await F(n);break;case"get":await K(n,t._);break;case"set":await W(n,t._);break;case"delete":await G(n,t._);break;case"import":await z(s,n,t._);break}},"run"),F=c(async s=>{let e=(await s.edit.query({query:h})).environmentVariables;if(e.length===0){g("No environment variables found.");return}for(let i of e)g(i.key)},"runList"),K=c(async(s,t)=>{let e=t.shift();if(!e)throw new v(p`
101
- Missing required argument: key
102
-
103
- Run {gray ggt var get -h} for usage
104
- `);let o=(await s.edit.query({query:h})).environmentVariables.find(n=>n.key===e);if(!o)throw new v(p`
105
- Environment variable not found: ${e}
106
- `);if(o.isSecret)throw new v(p`
107
- ${e} is a secret and its value cannot be read
108
- `);g(o.value??"")},"runGet"),W=c(async(s,t)=>{let e=k(M,{argv:t}),i=e._,o=e["--secret"]??!1;if(i.length===0)throw new v(p`
109
- Missing required argument: key=value
110
-
111
- Run {gray ggt var set -h} for usage
112
- `);let n=[];for(let r of i){let a=r.indexOf("=");if(a===-1)throw new v(p`
113
- Invalid format: ${r}
114
-
115
- Expected format: KEY=value
116
- `);let l=r.slice(0,a);if(!l)throw new v(p`
117
- Invalid format: ${r}
118
-
119
- Expected format: KEY=value
120
- `);n.push({key:l,value:r.slice(a+1)})}for(let{key:r,value:a}of n)await s.edit.mutate({mutation:w,variables:{input:{key:r,value:a,isSecret:o}}});let m=n.map(r=>r.key).join(", ");g(`${d.tick} Set ${m}`)},"runSet"),G=c(async(s,t)=>{let e=k(C,{argv:t}),i=e._,o=e["--force"]??!1,n=e["--all"]??!1,m;if(n){let a=(await s.edit.query({query:h})).environmentVariables;if(a.length===0){g("No environment variables to delete.");return}m=a.map(l=>l.key),o||(g`
121
- The following environment variables will be deleted:
122
-
123
- ${m.map(l=>`\u2022 ${l}`).join(`
124
- `)}
125
- `,await A("Are you sure you want to delete all environment variables?"))}else{if(i.length===0)throw new v(p`
126
- Missing required argument: key
127
-
128
- Run {gray ggt var delete -h} for usage
129
- `);m=i,o||await A(`Are you sure you want to delete ${m.join(", ")}?`)}for(let r of m)try{await s.edit.mutate({mutation:$,variables:{key:r}})}catch(a){let l=a instanceof S&&Array.isArray(a.cause)&&a.cause.every(f=>typeof f=="object"&&f!==null&&"message"in f&&/not found/i.test(String(f.message)));if(o&&l)continue;throw a}g(`${d.tick} Deleted ${m.join(", ")}`)},"runDelete"),z=c(async(s,t,e)=>{let i=k(Y,{argv:e}),o=i["--from"],n=i["--from-file"],m=i["--include-values"]??!1,r=i["--all"]??!1,a=i._;if(!o&&!n)throw new v(p`
130
- Either --from or --from-file is required.
131
-
132
- Run {gray ggt var import -h} for usage
133
- `);if(o&&n)throw new v(p`
134
- Cannot use both --from and --from-file.
135
-
136
- Run {gray ggt var import -h} for usage
137
- `);if(!r&&a.length===0)throw new v(p`
138
- Specify keys to import or use --all to import all variables.
139
-
140
- Run {gray ggt var import -h} for usage
141
- `);o?await J(s,t,o,a,r,m):n&&await Q(t,n,a,r)},"runImport"),J=c(async(s,t,e,i,o,n)=>{let m=t.application.environments.find(a=>a.name===e.toLowerCase());if(!m)throw new v(p`
142
- Unknown environment: ${e}
143
-
144
- Available environments:
145
- ${t.application.environments.map(a=>`\u2022 ${a.name}`).join(`
146
- `)}
147
- `);let r=new _(s,{...m,application:t.application});try{let l=(await r.query({query:h})).environmentVariables;if(!o){let u=i.filter(y=>!l.some(O=>O.key===y));if(u.length>0)throw new v(p`
148
- The following keys were not found in the ${e} environment:
149
-
150
- ${u.map(y=>`\u2022 ${y}`).join(`
151
- `)}
152
- `);l=l.filter(y=>i.includes(y.key))}if(l.length===0){g(`No environment variables found in ${e}.`);return}let f=[],b=[];for(let u of l){if(n){if(u.isSecret){b.push(u.key);continue}await t.edit.mutate({mutation:w,variables:{input:{key:u.key,value:u.value??"",isSecret:u.isSecret}}})}else await t.edit.mutate({mutation:w,variables:{input:{key:u.key,value:"",isSecret:!1}}});f.push(u.key)}f.length>0&&g(`${d.tick} Imported ${f.join(", ")} from ${e}`),b.length>0&&g(`Skipped secret variables (values not accessible): ${b.join(", ")}`)}finally{await r.dispose()}},"importFromEnvironment"),Q=c(async(s,t,e,i)=>{let o=await B.default.readFile(t,"utf8"),n=H(o);if(n.length===0){g("No environment variables found in file.");return}let m;if(i)m=n;else{let a=e.filter(l=>!n.some(f=>f.key===l));if(a.length>0)throw new v(p`
153
- The following keys were not found in the file:
154
-
155
- ${a.map(l=>`\u2022 ${l}`).join(`
156
- `)}
157
- `);m=n.filter(l=>e.includes(l.key))}for(let{key:a,value:l}of m)await s.edit.mutate({mutation:w,variables:{input:{key:a,value:l,isSecret:!1}}});let r=m.map(a=>a.key).join(", ");g(`${d.tick} Imported ${r} from ${t}`)},"importFromFile"),H=c(s=>{let t=[];for(let e of s.split(`
158
- `)){let i=e.trim();if(!i||i.startsWith("#"))continue;let o=i.startsWith("export ")?i.slice(7):i,n=o.indexOf("=");if(n===-1)continue;let m=o.slice(0,n).trim(),r=o.slice(n+1).trim();(r.startsWith('"')&&r.endsWith('"')||r.startsWith("'")&&r.endsWith("'"))&&(r=r.slice(1,-1)),m&&t.push({key:m,value:r})}return t},"parseEnvFile");export{le as args,me as parseOptions,pe as run,R as usage};
159
- //# sourceMappingURL=var-PC6KQUPF.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/commands/var.ts"],
4
- "sourcesContent": ["import fs from \"fs-extra\";\n\nimport { Edit } from \"../services/app/edit/edit.js\";\nimport {\n DELETE_ENVIRONMENT_VARIABLE_MUTATION,\n ENVIRONMENT_VARIABLES_QUERY,\n SET_ENVIRONMENT_VARIABLE_MUTATION,\n} from \"../services/app/edit/operation.js\";\nimport { ClientError } from \"../services/app/error.js\";\nimport { AppIdentity, AppIdentityArgs } from \"../services/command/app-identity.js\";\nimport { ArgError, parseArgs, type ArgsDefinition, type ParseArgsOptions } from \"../services/command/arg.js\";\nimport type { Run, Usage } from \"../services/command/command.js\";\nimport type { Context } from \"../services/command/context.js\";\nimport { loadSyncJsonDirectory } from \"../services/filesync/sync-json.js\";\nimport { confirm } from \"../services/output/confirm.js\";\nimport { println } from \"../services/output/print.js\";\nimport { sprint } from \"../services/output/sprint.js\";\nimport { symbol } from \"../services/output/symbols.js\";\n\nexport const args = {\n ...AppIdentityArgs,\n} satisfies ArgsDefinition;\n\nexport const parseOptions: ParseArgsOptions = { permissive: true };\n\nexport const usage: Usage = () => {\n return sprint`\n Manage environment variables for your Gadget application.\n\n {gray Usage}\n ggt var <command> [options]\n\n {gray Commands}\n list List all environment variables\n get <key> Get the value of an environment variable\n set <key=value> Set one or more environment variables\n delete <key> Delete one or more environment variables\n import Import environment variables from another environment or file\n\n {gray Options}\n -a, --app <app_name> Selects the application\n -e, --env <env_name> Selects the environment\n\n Run \"ggt var <command> -h\" for more information about a specific command.\n `;\n};\n\nconst listUsage = (): string => {\n return sprint`\n List all environment variables.\n\n {gray Usage}\n ggt var list [options]\n\n {gray Options}\n -a, --app <app_name> Selects the application\n -e, --env <env_name> Selects the environment\n\n {gray Examples}\n {cyanBright $ ggt var list --app=myapp --env=development}\n `;\n};\n\nconst getUsage = (): string => {\n return sprint`\n Get the value of an environment variable.\n\n {gray Usage}\n ggt var get <key> [options]\n\n {gray Options}\n -a, --app <app_name> Selects the application\n -e, --env <env_name> Selects the environment\n\n {gray Examples}\n {cyanBright $ ggt var get DATABASE_URL --app=myapp --env=development}\n `;\n};\n\nconst setUsage = (): string => {\n return sprint`\n Set one or more environment variables.\n\n {gray Usage}\n ggt var set <key=value> [key=value ...] [options]\n\n {gray Options}\n --secret Mark the variable(s) as secret\n -a, --app <app_name> Selects the application\n -e, --env <env_name> Selects the environment\n\n {gray Examples}\n {cyanBright $ ggt var set API_KEY=abc123 --app=myapp --env=development}\n {cyanBright $ ggt var set SECRET_KEY=xyz --secret --app=myapp --env=development}\n {cyanBright $ ggt var set KEY1=val1 KEY2=val2}\n `;\n};\n\nconst deleteUsage = (): string => {\n return sprint`\n Delete one or more environment variables.\n\n {gray Usage}\n ggt var delete <key> [key ...] [options]\n\n {gray Options}\n -f, --force Skip confirmation and suppress not-found errors\n --all Delete all environment variables\n -a, --app <app_name> Selects the application\n -e, --env <env_name> Selects the environment\n\n {gray Examples}\n {cyanBright $ ggt var delete API_KEY --app=myapp --env=development}\n {cyanBright $ ggt var delete --all --force --app=myapp --env=development}\n `;\n};\n\nconst importUsage = (): string => {\n return sprint`\n Import environment variables from another environment or a file.\n\n {gray Usage}\n ggt var import [options] [key ...]\n\n {gray Options}\n --from <env> Import from another environment\n --from-file <path> Import from a .env file\n --include-values Copy values when importing from another environment\n --all Import all variables (instead of specifying keys)\n -a, --app <app_name> Selects the target application\n -e, --env <env_name> Selects the target environment\n\n {gray Examples}\n Import all vars from staging as placeholders\n {cyanBright $ ggt var import --from=staging --all --app=myapp --env=development}\n\n Import specific vars with values from staging\n {cyanBright $ ggt var import --from=staging --include-values API_KEY DATABASE_URL}\n\n Import from a .env file\n {cyanBright $ ggt var import --from-file=.env.example --all}\n `;\n};\n\nconst subcommandUsage = (subcommand: string | undefined): string => {\n switch (subcommand) {\n case \"list\":\n return listUsage();\n case \"get\":\n return getUsage();\n case \"set\":\n return setUsage();\n case \"delete\":\n return deleteUsage();\n case \"import\":\n return importUsage();\n default:\n // usage() doesn't use ctx, but satisfies the Usage type signature\n return usage(undefined!); // oxlint-disable-line\n }\n};\n\nconst setArgs = {\n \"--secret\": { type: Boolean },\n} satisfies ArgsDefinition;\n\nconst deleteArgs = {\n \"--force\": { type: Boolean, alias: \"-f\" },\n \"--all\": { type: Boolean },\n} satisfies ArgsDefinition;\n\nconst importArgs = {\n \"--from\": { type: String },\n \"--from-file\": { type: String },\n \"--include-values\": { type: Boolean },\n \"--all\": { type: Boolean },\n} satisfies ArgsDefinition;\n\nexport const run: Run<typeof args> = async (ctx, args) => {\n const subcommand = args._.shift();\n\n // handle -h/--help for subcommand-specific help\n if (args._.includes(\"-h\") || args._.includes(\"--help\")) {\n println(subcommandUsage(subcommand));\n process.exit(0);\n }\n\n if (!subcommand) {\n println(usage(ctx));\n return;\n }\n\n const validSubcommands = [\"list\", \"get\", \"set\", \"delete\", \"import\"];\n if (!validSubcommands.includes(subcommand)) {\n throw new ArgError(sprint`\n Unknown subcommand {yellow ${subcommand}}\n\n Run {gray ggt var -h} for usage\n `);\n }\n\n const directory = await loadSyncJsonDirectory(process.cwd());\n const appIdentity = await AppIdentity.load(ctx, { command: \"var\", args, directory });\n\n switch (subcommand) {\n case \"list\":\n await runList(appIdentity);\n break;\n case \"get\":\n await runGet(appIdentity, args._);\n break;\n case \"set\":\n await runSet(appIdentity, args._);\n break;\n case \"delete\":\n await runDelete(appIdentity, args._);\n break;\n case \"import\":\n await runImport(ctx, appIdentity, args._);\n break;\n }\n};\n\nconst runList = async (appIdentity: AppIdentity): Promise<void> => {\n const data = await appIdentity.edit.query({ query: ENVIRONMENT_VARIABLES_QUERY });\n const vars = data.environmentVariables;\n\n if (vars.length === 0) {\n println(\"No environment variables found.\");\n return;\n }\n\n for (const v of vars) {\n println(v.key);\n }\n};\n\nconst runGet = async (appIdentity: AppIdentity, positional: string[]): Promise<void> => {\n const key = positional.shift();\n if (!key) {\n throw new ArgError(sprint`\n Missing required argument: key\n\n Run {gray ggt var get -h} for usage\n `);\n }\n\n const data = await appIdentity.edit.query({ query: ENVIRONMENT_VARIABLES_QUERY });\n const envVar = data.environmentVariables.find((v) => v.key === key);\n\n if (!envVar) {\n throw new ArgError(sprint`\n Environment variable not found: ${key}\n `);\n }\n\n if (envVar.isSecret) {\n throw new ArgError(sprint`\n ${key} is a secret and its value cannot be read\n `);\n }\n\n println(envVar.value ?? \"\");\n};\n\nconst runSet = async (appIdentity: AppIdentity, positional: string[]): Promise<void> => {\n const subArgs = parseArgs(setArgs, { argv: positional });\n const pairs = subArgs._;\n const isSecret = subArgs[\"--secret\"] ?? false;\n\n if (pairs.length === 0) {\n throw new ArgError(sprint`\n Missing required argument: key=value\n\n Run {gray ggt var set -h} for usage\n `);\n }\n\n const parsed: { key: string; value: string }[] = [];\n for (const pair of pairs) {\n const eqIndex = pair.indexOf(\"=\");\n if (eqIndex === -1) {\n throw new ArgError(sprint`\n Invalid format: ${pair}\n\n Expected format: KEY=value\n `);\n }\n const key = pair.slice(0, eqIndex);\n if (!key) {\n throw new ArgError(sprint`\n Invalid format: ${pair}\n\n Expected format: KEY=value\n `);\n }\n parsed.push({\n key,\n value: pair.slice(eqIndex + 1),\n });\n }\n\n for (const { key, value } of parsed) {\n await appIdentity.edit.mutate({\n mutation: SET_ENVIRONMENT_VARIABLE_MUTATION,\n variables: { input: { key, value, isSecret } },\n });\n }\n\n const keys = parsed.map((p) => p.key).join(\", \");\n println(`${symbol.tick} Set ${keys}`);\n};\n\nconst runDelete = async (appIdentity: AppIdentity, positional: string[]): Promise<void> => {\n const subArgs = parseArgs(deleteArgs, { argv: positional });\n const keys = subArgs._;\n const force = subArgs[\"--force\"] ?? false;\n const all = subArgs[\"--all\"] ?? false;\n\n let keysToDelete: string[];\n\n if (all) {\n const data = await appIdentity.edit.query({ query: ENVIRONMENT_VARIABLES_QUERY });\n const vars = data.environmentVariables;\n\n if (vars.length === 0) {\n println(\"No environment variables to delete.\");\n return;\n }\n\n keysToDelete = vars.map((v) => v.key);\n\n if (!force) {\n println`\n The following environment variables will be deleted:\n\n ${keysToDelete.map((k) => `\u2022 ${k}`).join(\"\\n \")}\n `;\n await confirm(\"Are you sure you want to delete all environment variables?\");\n }\n } else {\n if (keys.length === 0) {\n throw new ArgError(sprint`\n Missing required argument: key\n\n Run {gray ggt var delete -h} for usage\n `);\n }\n\n keysToDelete = keys;\n\n if (!force) {\n await confirm(`Are you sure you want to delete ${keysToDelete.join(\", \")}?`);\n }\n }\n\n for (const key of keysToDelete) {\n try {\n await appIdentity.edit.mutate({\n mutation: DELETE_ENVIRONMENT_VARIABLE_MUTATION,\n variables: { key },\n });\n } catch (error) {\n const isNotFound =\n error instanceof ClientError &&\n Array.isArray(error.cause) &&\n error.cause.every((e: unknown) => typeof e === \"object\" && e !== null && \"message\" in e && /not found/i.test(String(e.message)));\n\n if (force && isNotFound) {\n // suppress not-found errors when --force is used\n continue;\n }\n throw error;\n }\n }\n\n println(`${symbol.tick} Deleted ${keysToDelete.join(\", \")}`);\n};\n\nconst runImport = async (ctx: Context, appIdentity: AppIdentity, positional: string[]): Promise<void> => {\n const subArgs = parseArgs(importArgs, { argv: positional });\n const from = subArgs[\"--from\"];\n const fromFile = subArgs[\"--from-file\"];\n const includeValues = subArgs[\"--include-values\"] ?? false;\n const all = subArgs[\"--all\"] ?? false;\n const specifiedKeys = subArgs._;\n\n if (!from && !fromFile) {\n throw new ArgError(sprint`\n Either --from or --from-file is required.\n\n Run {gray ggt var import -h} for usage\n `);\n }\n\n if (from && fromFile) {\n throw new ArgError(sprint`\n Cannot use both --from and --from-file.\n\n Run {gray ggt var import -h} for usage\n `);\n }\n\n if (!all && specifiedKeys.length === 0) {\n throw new ArgError(sprint`\n Specify keys to import or use --all to import all variables.\n\n Run {gray ggt var import -h} for usage\n `);\n }\n\n if (from) {\n await importFromEnvironment(ctx, appIdentity, from, specifiedKeys, all, includeValues);\n } else if (fromFile) {\n await importFromFile(appIdentity, fromFile, specifiedKeys, all);\n }\n};\n\nconst importFromEnvironment = async (\n ctx: Context,\n appIdentity: AppIdentity,\n sourceName: string,\n specifiedKeys: string[],\n all: boolean,\n includeValues: boolean,\n): Promise<void> => {\n const sourceEnvironment = appIdentity.application.environments.find((env) => env.name === sourceName.toLowerCase());\n if (!sourceEnvironment) {\n throw new ArgError(sprint`\n Unknown environment: ${sourceName}\n\n Available environments:\n ${appIdentity.application.environments.map((e) => `\u2022 ${e.name}`).join(\"\\n \")}\n `);\n }\n\n const sourceEdit = new Edit(ctx, { ...sourceEnvironment, application: appIdentity.application });\n\n try {\n const data = await sourceEdit.query({ query: ENVIRONMENT_VARIABLES_QUERY });\n let vars = data.environmentVariables;\n\n if (!all) {\n const missing = specifiedKeys.filter((k) => !vars.some((v) => v.key === k));\n if (missing.length > 0) {\n throw new ArgError(sprint`\n The following keys were not found in the ${sourceName} environment:\n\n ${missing.map((k) => `\u2022 ${k}`).join(\"\\n \")}\n `);\n }\n vars = vars.filter((v) => specifiedKeys.includes(v.key));\n }\n\n if (vars.length === 0) {\n println(`No environment variables found in ${sourceName}.`);\n return;\n }\n\n const imported: string[] = [];\n const skipped: string[] = [];\n\n for (const v of vars) {\n if (includeValues) {\n if (v.isSecret) {\n // can't copy secret values (they come back as null)\n skipped.push(v.key);\n continue;\n }\n await appIdentity.edit.mutate({\n mutation: SET_ENVIRONMENT_VARIABLE_MUTATION,\n variables: { input: { key: v.key, value: v.value ?? \"\", isSecret: v.isSecret } },\n });\n } else {\n // import as placeholder (empty value, non-secret)\n await appIdentity.edit.mutate({\n mutation: SET_ENVIRONMENT_VARIABLE_MUTATION,\n variables: { input: { key: v.key, value: \"\", isSecret: false } },\n });\n }\n imported.push(v.key);\n }\n\n if (imported.length > 0) {\n println(`${symbol.tick} Imported ${imported.join(\", \")} from ${sourceName}`);\n }\n\n if (skipped.length > 0) {\n println(`Skipped secret variables (values not accessible): ${skipped.join(\", \")}`);\n }\n } finally {\n await sourceEdit.dispose();\n }\n};\n\nconst importFromFile = async (appIdentity: AppIdentity, filePath: string, specifiedKeys: string[], all: boolean): Promise<void> => {\n const content = await fs.readFile(filePath, \"utf8\");\n const entries = parseEnvFile(content);\n\n if (entries.length === 0) {\n println(\"No environment variables found in file.\");\n return;\n }\n\n let filtered: { key: string; value: string }[];\n if (all) {\n filtered = entries;\n } else {\n const missing = specifiedKeys.filter((k) => !entries.some((e) => e.key === k));\n if (missing.length > 0) {\n throw new ArgError(sprint`\n The following keys were not found in the file:\n\n ${missing.map((k) => `\u2022 ${k}`).join(\"\\n \")}\n `);\n }\n filtered = entries.filter((e) => specifiedKeys.includes(e.key));\n }\n\n for (const { key, value } of filtered) {\n await appIdentity.edit.mutate({\n mutation: SET_ENVIRONMENT_VARIABLE_MUTATION,\n variables: { input: { key, value, isSecret: false } },\n });\n }\n\n const keys = filtered.map((e) => e.key).join(\", \");\n println(`${symbol.tick} Imported ${keys} from ${filePath}`);\n};\n\nconst parseEnvFile = (content: string): { key: string; value: string }[] => {\n const entries: { key: string; value: string }[] = [];\n\n for (const rawLine of content.split(\"\\n\")) {\n const line = rawLine.trim();\n\n // skip blank lines and comments\n if (!line || line.startsWith(\"#\")) {\n continue;\n }\n\n // strip optional \"export \" prefix\n const stripped = line.startsWith(\"export \") ? line.slice(7) : line;\n\n const eqIndex = stripped.indexOf(\"=\");\n if (eqIndex === -1) {\n continue;\n }\n\n const key = stripped.slice(0, eqIndex).trim();\n let value = stripped.slice(eqIndex + 1).trim();\n\n // strip surrounding quotes\n if ((value.startsWith('\"') && value.endsWith('\"')) || (value.startsWith(\"'\") && value.endsWith(\"'\"))) {\n value = value.slice(1, -1);\n }\n\n if (key) {\n entries.push({ key, value });\n }\n }\n\n return entries;\n};\n"],
5
- "mappings": "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",
6
- "names": ["init_cjs", "import_fs_extra", "args", "AppIdentityArgs", "parseOptions", "usage", "__name", "sprint", "listUsage", "getUsage", "setUsage", "deleteUsage", "importUsage", "subcommandUsage", "subcommand", "setArgs", "deleteArgs", "importArgs", "run", "ctx", "println", "ArgError", "directory", "loadSyncJsonDirectory", "appIdentity", "AppIdentity", "runList", "runGet", "runSet", "runDelete", "runImport", "vars", "ENVIRONMENT_VARIABLES_QUERY", "v", "positional", "key", "envVar", "subArgs", "parseArgs", "pairs", "isSecret", "parsed", "pair", "eqIndex", "value", "SET_ENVIRONMENT_VARIABLE_MUTATION", "keys", "p", "symbol", "force", "all", "keysToDelete", "k", "confirm", "DELETE_ENVIRONMENT_VARIABLE_MUTATION", "error", "isNotFound", "ClientError", "e", "from", "fromFile", "includeValues", "specifiedKeys", "importFromEnvironment", "importFromFile", "sourceName", "sourceEnvironment", "env", "sourceEdit", "Edit", "missing", "imported", "skipped", "filePath", "content", "fs", "entries", "parseEnvFile", "filtered", "rawLine", "line", "stripped"]
7
- }
@@ -1,11 +0,0 @@
1
- import{U as n,ra as o,ta as r}from"./chunk-ALSXPCRD.js";import{a as t,h as e}from"./chunk-7DYQUG5M.js";e();var m=t(()=>o`
2
- Print this version of ggt.
3
-
4
- {gray Usage}
5
- ggt version
6
-
7
- {gray Updating ggt}
8
- When there is a new release of ggt, running ggt will show you a message letting you
9
- know that an update is available.
10
- `,"usage"),p=t(a=>{r(n.version)},"run");export{p as run,m as usage};
11
- //# sourceMappingURL=version-GZJOU2CV.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/commands/version.ts"],
4
- "sourcesContent": ["import type { Run, Usage } from \"../services/command/command.js\";\nimport { println } from \"../services/output/print.js\";\nimport { sprint } from \"../services/output/sprint.js\";\nimport { packageJson } from \"../services/util/package-json.js\";\n\nexport const usage: Usage = () => sprint`\n Print this version of ggt.\n\n {gray Usage}\n ggt version\n\n {gray Updating ggt}\n When there is a new release of ggt, running ggt will show you a message letting you\n know that an update is available.\n`;\n\nexport const run: Run = (_ctx) => {\n println(packageJson.version);\n};\n"],
5
- "mappings": "uGAAAA,IAKO,IAAMC,EAAeC,EAAA,IAAMC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAN,SAWfC,EAAWF,EAACG,GAAS,CAChCC,EAAQC,EAAY,OAAO,CAC7B,EAFwB",
6
- "names": ["init_cjs", "usage", "__name", "sprint", "run", "_ctx", "println", "packageJson"]
7
- }
@@ -1,7 +0,0 @@
1
- import{S as s}from"./chunk-IQSZEOYY.js";import"./chunk-GZTHIOXS.js";import"./chunk-72J7X5LR.js";import"./chunk-X4XSYLCE.js";import{ra as n,ta as o}from"./chunk-ALSXPCRD.js";import"./chunk-GFQYFEEH.js";import{a as r,h as a}from"./chunk-7DYQUG5M.js";a();var u=r(()=>n`
2
- Show the name and email address of the currently logged in user.
3
-
4
- {gray Usage}
5
- ggt whoami
6
- `,"usage"),l=r(async t=>{let e=await s(t);if(!e){o("You are not logged in");return}e.name?o(`You are logged in as ${e.name} (${e.email})`):o(`You are logged in as ${e.email}`)},"run");export{l as run,u as usage};
7
- //# sourceMappingURL=whoami-GKPGPZ3B.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/commands/whoami.ts"],
4
- "sourcesContent": ["import type { Run, Usage } from \"../services/command/command.js\";\nimport { println } from \"../services/output/print.js\";\nimport { sprint } from \"../services/output/sprint.js\";\nimport { getUser } from \"../services/user/user.js\";\n\nexport const usage: Usage = () => sprint`\n Show the name and email address of the currently logged in user.\n\n {gray Usage}\n ggt whoami\n`;\n\nexport const run: Run = async (ctx) => {\n const user = await getUser(ctx);\n if (!user) {\n println(\"You are not logged in\");\n return;\n }\n\n if (user.name) {\n println(`You are logged in as ${user.name} (${user.email})`);\n } else {\n println(`You are logged in as ${user.email}`);\n }\n};\n"],
5
- "mappings": "wPAAAA,IAKO,IAAMC,EAAeC,EAAA,IAAMC;AAAA;AAAA;AAAA;AAAA;AAAA,EAAN,SAOfC,EAAWF,EAAA,MAAOG,GAAQ,CACrC,IAAMC,EAAO,MAAMC,EAAQF,CAAG,EAC9B,GAAI,CAACC,EAAM,CACTE,EAAQ,uBAAuB,EAC/B,MACF,CAEIF,EAAK,KACPE,EAAQ,wBAAwBF,EAAK,IAAI,KAAKA,EAAK,KAAK,GAAG,EAE3DE,EAAQ,wBAAwBF,EAAK,KAAK,EAAE,CAEhD,EAZwB",
6
- "names": ["init_cjs", "usage", "__name", "sprint", "run", "ctx", "user", "getUser", "println"]
7
- }