@sanity/cli 5.9.0-next.8 → 6.0.0-alpha.11

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 (919) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3212 -2
  3. package/bin/run.cmd +3 -0
  4. package/bin/run.js +33 -0
  5. package/codemods/deskRename.js +115 -96
  6. package/codemods/partsTypeDirective.js +7 -7
  7. package/codemods/reactIconsV3.js +78 -51
  8. package/dist/SanityHelp.js +43 -0
  9. package/dist/SanityHelp.js.map +1 -0
  10. package/dist/actions/auth/authServer.js +153 -0
  11. package/dist/actions/auth/authServer.js.map +1 -0
  12. package/dist/actions/auth/getProviderName.js +15 -0
  13. package/dist/actions/auth/getProviderName.js.map +1 -0
  14. package/dist/actions/auth/login/getProvider.js +54 -0
  15. package/dist/actions/auth/login/getProvider.js.map +1 -0
  16. package/dist/actions/auth/login/getSSOProvider.js +30 -0
  17. package/dist/actions/auth/login/getSSOProvider.js.map +1 -0
  18. package/dist/actions/auth/login/login.js +101 -0
  19. package/dist/actions/auth/login/login.js.map +1 -0
  20. package/dist/actions/auth/login/promptProviders.js +23 -0
  21. package/dist/actions/auth/login/promptProviders.js.map +1 -0
  22. package/dist/actions/auth/login/samlProviderToLoginProvider.js +15 -0
  23. package/dist/actions/auth/login/samlProviderToLoginProvider.js.map +1 -0
  24. package/dist/actions/auth/types.js +7 -0
  25. package/dist/actions/auth/types.js.map +1 -0
  26. package/dist/actions/backup/archiveDir.js +43 -0
  27. package/dist/actions/backup/archiveDir.js.map +1 -0
  28. package/dist/actions/backup/assertDatasetExist.js +16 -0
  29. package/dist/actions/backup/assertDatasetExist.js.map +1 -0
  30. package/dist/actions/backup/backupDownloadDebug.js +4 -0
  31. package/dist/actions/backup/backupDownloadDebug.js.map +1 -0
  32. package/dist/actions/backup/cleanupTmpDir.js +19 -0
  33. package/dist/actions/backup/cleanupTmpDir.js.map +1 -0
  34. package/dist/actions/backup/constants.js +3 -0
  35. package/dist/actions/backup/constants.js.map +1 -0
  36. package/dist/actions/backup/downloadAsset.js +54 -0
  37. package/dist/actions/backup/downloadAsset.js.map +1 -0
  38. package/dist/actions/backup/downloadDocument.js +32 -0
  39. package/dist/actions/backup/downloadDocument.js.map +1 -0
  40. package/dist/actions/backup/fetchNextBackupPage.js +48 -0
  41. package/dist/actions/backup/fetchNextBackupPage.js.map +1 -0
  42. package/dist/actions/backup/progressSpinner.js +40 -0
  43. package/dist/actions/backup/progressSpinner.js.map +1 -0
  44. package/dist/actions/build/buildApp.js +159 -0
  45. package/dist/actions/build/buildApp.js.map +1 -0
  46. package/dist/actions/build/buildDebug.js +4 -0
  47. package/dist/actions/build/buildDebug.js.map +1 -0
  48. package/dist/actions/build/buildStaticFiles.js +82 -0
  49. package/dist/actions/build/buildStaticFiles.js.map +1 -0
  50. package/dist/actions/build/buildStudio.js +202 -0
  51. package/dist/actions/build/buildStudio.js.map +1 -0
  52. package/dist/actions/build/buildVendorDependencies.js +179 -0
  53. package/dist/actions/build/buildVendorDependencies.js.map +1 -0
  54. package/dist/actions/build/checkRequiredDependencies.js +122 -0
  55. package/dist/actions/build/checkRequiredDependencies.js.map +1 -0
  56. package/dist/actions/build/checkStudioDependencyVersions.js +154 -0
  57. package/dist/actions/build/checkStudioDependencyVersions.js.map +1 -0
  58. package/dist/actions/build/createExternalFromImportMap.js +11 -0
  59. package/dist/actions/build/createExternalFromImportMap.js.map +1 -0
  60. package/dist/actions/build/decorateIndexWithAutoGeneratedWarning.js +13 -0
  61. package/dist/actions/build/decorateIndexWithAutoGeneratedWarning.js.map +1 -0
  62. package/dist/actions/build/decorateIndexWithBridgeScript.js +17 -0
  63. package/dist/actions/build/decorateIndexWithBridgeScript.js.map +1 -0
  64. package/dist/actions/build/determineBasePath.js +20 -0
  65. package/dist/actions/build/determineBasePath.js.map +1 -0
  66. package/dist/actions/build/generateWebManifest.js +27 -0
  67. package/dist/actions/build/generateWebManifest.js.map +1 -0
  68. package/dist/actions/build/getAppEnvVars.js +9 -0
  69. package/dist/actions/build/getAppEnvVars.js.map +1 -0
  70. package/dist/actions/build/getAutoUpdatesImportMap.js +57 -0
  71. package/dist/actions/build/getAutoUpdatesImportMap.js.map +1 -0
  72. package/dist/actions/build/getEntryModule.js +46 -0
  73. package/dist/actions/build/getEntryModule.js.map +1 -0
  74. package/dist/actions/build/getPossibleDocumentComponentLocations.js +11 -0
  75. package/dist/actions/build/getPossibleDocumentComponentLocations.js.map +1 -0
  76. package/dist/actions/build/getStudioEnvVars.js +9 -0
  77. package/dist/actions/build/getStudioEnvVars.js.map +1 -0
  78. package/dist/actions/build/getStudioEnvironmentVariables.js +58 -0
  79. package/dist/actions/build/getStudioEnvironmentVariables.js.map +1 -0
  80. package/dist/actions/build/getViteConfig.js +180 -0
  81. package/dist/actions/build/getViteConfig.js.map +1 -0
  82. package/dist/actions/build/normalizeBasePath.js +9 -0
  83. package/dist/actions/build/normalizeBasePath.js.map +1 -0
  84. package/dist/actions/build/renderDocument.js +54 -0
  85. package/dist/actions/build/renderDocument.js.map +1 -0
  86. package/dist/actions/build/renderDocument.worker.js +9 -0
  87. package/dist/actions/build/renderDocument.worker.js.map +1 -0
  88. package/dist/actions/build/renderDocumentWorker/addTimestampImportMapScriptToHtml.js +59 -0
  89. package/dist/actions/build/renderDocumentWorker/addTimestampImportMapScriptToHtml.js.map +1 -0
  90. package/dist/actions/build/renderDocumentWorker/components/BasicDocument.js +61 -0
  91. package/dist/actions/build/renderDocumentWorker/components/BasicDocument.js.map +1 -0
  92. package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.js +165 -0
  93. package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.js.map +1 -0
  94. package/dist/actions/build/renderDocumentWorker/components/Favicons.js +28 -0
  95. package/dist/actions/build/renderDocumentWorker/components/Favicons.js.map +1 -0
  96. package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.js +177 -0
  97. package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.js.map +1 -0
  98. package/dist/actions/build/renderDocumentWorker/components/NoJavascript.js +51 -0
  99. package/dist/actions/build/renderDocumentWorker/components/NoJavascript.js.map +1 -0
  100. package/dist/actions/build/renderDocumentWorker/getDocumentComponent.js +41 -0
  101. package/dist/actions/build/renderDocumentWorker/getDocumentComponent.js.map +1 -0
  102. package/dist/actions/build/renderDocumentWorker/getDocumentHtml.js +55 -0
  103. package/dist/actions/build/renderDocumentWorker/getDocumentHtml.js.map +1 -0
  104. package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.js +31 -0
  105. package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.js.map +1 -0
  106. package/dist/actions/build/renderDocumentWorker/tryLoadDocumentComponent.js +30 -0
  107. package/dist/actions/build/renderDocumentWorker/tryLoadDocumentComponent.js.map +1 -0
  108. package/dist/actions/build/renderDocumentWorker/types.js +5 -0
  109. package/dist/actions/build/renderDocumentWorker/types.js.map +1 -0
  110. package/dist/actions/build/shouldAutoUpdate.js +35 -0
  111. package/dist/actions/build/shouldAutoUpdate.js.map +1 -0
  112. package/dist/actions/build/types.js +3 -0
  113. package/dist/actions/build/types.js.map +1 -0
  114. package/dist/actions/build/writeFavicons.js +26 -0
  115. package/dist/actions/build/writeFavicons.js.map +1 -0
  116. package/dist/actions/build/writeSanityRuntime.js +61 -0
  117. package/dist/actions/build/writeSanityRuntime.js.map +1 -0
  118. package/dist/actions/build/writeWebManifest.js +12 -0
  119. package/dist/actions/build/writeWebManifest.js.map +1 -0
  120. package/dist/actions/codemods/deskRename.js +18 -0
  121. package/dist/actions/codemods/deskRename.js.map +1 -0
  122. package/dist/actions/codemods/index.js +10 -0
  123. package/dist/actions/codemods/index.js.map +1 -0
  124. package/dist/actions/codemods/partsTypeDirective.js +27 -0
  125. package/dist/actions/codemods/partsTypeDirective.js.map +1 -0
  126. package/dist/actions/codemods/reactIconsV3.js +30 -0
  127. package/dist/actions/codemods/reactIconsV3.js.map +1 -0
  128. package/dist/actions/codemods/types.js +3 -0
  129. package/dist/actions/codemods/types.js.map +1 -0
  130. package/dist/actions/cors/filterAndValidateOrigin.js +38 -0
  131. package/dist/actions/cors/filterAndValidateOrigin.js.map +1 -0
  132. package/dist/actions/dataset/create.js +46 -0
  133. package/dist/actions/dataset/create.js.map +1 -0
  134. package/dist/actions/dataset/determineDatasetAclMode.js +36 -0
  135. package/dist/actions/dataset/determineDatasetAclMode.js.map +1 -0
  136. package/dist/actions/dataset/processAliasName.js +20 -0
  137. package/dist/actions/dataset/processAliasName.js.map +1 -0
  138. package/dist/actions/dataset/validateDatasetAliasName.js +28 -0
  139. package/dist/actions/dataset/validateDatasetAliasName.js.map +1 -0
  140. package/dist/actions/dataset/validateDatasetName.js +39 -0
  141. package/dist/actions/dataset/validateDatasetName.js.map +1 -0
  142. package/dist/actions/debug/gatherDebugInfo.js +104 -0
  143. package/dist/actions/debug/gatherDebugInfo.js.map +1 -0
  144. package/dist/actions/debug/getGlobalConfigLocation.js +7 -0
  145. package/dist/actions/debug/getGlobalConfigLocation.js.map +1 -0
  146. package/dist/actions/debug/types.js +3 -0
  147. package/dist/actions/debug/types.js.map +1 -0
  148. package/dist/actions/deploy/checkDir.js +31 -0
  149. package/dist/actions/deploy/checkDir.js.map +1 -0
  150. package/dist/actions/deploy/createStudioUserApplication.js +59 -0
  151. package/dist/actions/deploy/createStudioUserApplication.js.map +1 -0
  152. package/dist/actions/deploy/createUserApplicationForApp.js +56 -0
  153. package/dist/actions/deploy/createUserApplicationForApp.js.map +1 -0
  154. package/dist/actions/deploy/deployApp.js +162 -0
  155. package/dist/actions/deploy/deployApp.js.map +1 -0
  156. package/dist/actions/deploy/deployDebug.js +4 -0
  157. package/dist/actions/deploy/deployDebug.js.map +1 -0
  158. package/dist/actions/deploy/deployStudio.js +134 -0
  159. package/dist/actions/deploy/deployStudio.js.map +1 -0
  160. package/dist/actions/deploy/findUserApplicationForApp.js +110 -0
  161. package/dist/actions/deploy/findUserApplicationForApp.js.map +1 -0
  162. package/dist/actions/deploy/findUserApplicationForStudio.js +143 -0
  163. package/dist/actions/deploy/findUserApplicationForStudio.js.map +1 -0
  164. package/dist/actions/deploy/types.js +3 -0
  165. package/dist/actions/deploy/types.js.map +1 -0
  166. package/dist/actions/dev/devAction.js +7 -0
  167. package/dist/actions/dev/devAction.js.map +1 -0
  168. package/dist/actions/dev/devDebug.js +4 -0
  169. package/dist/actions/dev/devDebug.js.map +1 -0
  170. package/dist/actions/dev/getCoreAppUrl.js +10 -0
  171. package/dist/actions/dev/getCoreAppUrl.js.map +1 -0
  172. package/dist/actions/dev/getDevServerConfig.js +28 -0
  173. package/dist/actions/dev/getDevServerConfig.js.map +1 -0
  174. package/dist/actions/dev/startAppDevServer.js +57 -0
  175. package/dist/actions/dev/startAppDevServer.js.map +1 -0
  176. package/dist/actions/dev/startStudioDevServer.js +154 -0
  177. package/dist/actions/dev/startStudioDevServer.js.map +1 -0
  178. package/dist/actions/dev/types.js +3 -0
  179. package/dist/actions/dev/types.js.map +1 -0
  180. package/dist/actions/docs/normalizeDocsPath.js +15 -0
  181. package/dist/actions/docs/normalizeDocsPath.js.map +1 -0
  182. package/dist/actions/documents/constants.js +3 -0
  183. package/dist/actions/documents/constants.js.map +1 -0
  184. package/dist/actions/documents/editor.js +26 -0
  185. package/dist/actions/documents/editor.js.map +1 -0
  186. package/dist/actions/documents/types.js +3 -0
  187. package/dist/actions/documents/types.js.map +1 -0
  188. package/dist/actions/documents/validate.js +60 -0
  189. package/dist/actions/documents/validate.js.map +1 -0
  190. package/dist/actions/documents/validateDocuments.worker.js +251 -0
  191. package/dist/actions/documents/validateDocuments.worker.js.map +1 -0
  192. package/dist/actions/documents/validation/reporters/index.js +10 -0
  193. package/dist/actions/documents/validation/reporters/index.js.map +1 -0
  194. package/dist/actions/documents/validation/reporters/jsonReporter.js +25 -0
  195. package/dist/actions/documents/validation/reporters/jsonReporter.js.map +1 -0
  196. package/dist/actions/documents/validation/reporters/ndjsonReporter.js +18 -0
  197. package/dist/actions/documents/validation/reporters/ndjsonReporter.js.map +1 -0
  198. package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js +62 -0
  199. package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js.map +1 -0
  200. package/dist/actions/documents/validation/reporters/prettyReporter/index.js +3 -0
  201. package/dist/actions/documents/validation/reporters/prettyReporter/index.js.map +1 -0
  202. package/dist/actions/documents/validation/reporters/prettyReporter/prettyReporter.js +92 -0
  203. package/dist/actions/documents/validation/reporters/prettyReporter/prettyReporter.js.map +1 -0
  204. package/dist/actions/documents/validation/reporters/prettyReporter/util.js +45 -0
  205. package/dist/actions/documents/validation/reporters/prettyReporter/util.js.map +1 -0
  206. package/dist/actions/exec/configClient.worker.js +9 -0
  207. package/dist/actions/exec/configClient.worker.js.map +1 -0
  208. package/dist/actions/exec/execScript.js +77 -0
  209. package/dist/actions/exec/execScript.js.map +1 -0
  210. package/dist/actions/exec/registerBrowserEnv.worker.js +17 -0
  211. package/dist/actions/exec/registerBrowserEnv.worker.js.map +1 -0
  212. package/dist/actions/graphql/SchemaError.js +37 -0
  213. package/dist/actions/graphql/SchemaError.js.map +1 -0
  214. package/dist/actions/graphql/extractFromSanitySchema.js +659 -0
  215. package/dist/actions/graphql/extractFromSanitySchema.js.map +1 -0
  216. package/dist/actions/graphql/gen1/generateTypeFilters.js +226 -0
  217. package/dist/actions/graphql/gen1/generateTypeFilters.js.map +1 -0
  218. package/dist/actions/graphql/gen1/generateTypeQueries.js +85 -0
  219. package/dist/actions/graphql/gen1/generateTypeQueries.js.map +1 -0
  220. package/dist/actions/graphql/gen1/index.js +19 -0
  221. package/dist/actions/graphql/gen1/index.js.map +1 -0
  222. package/dist/actions/graphql/gen2/filters/booleanFilters.js +26 -0
  223. package/dist/actions/graphql/gen2/filters/booleanFilters.js.map +1 -0
  224. package/dist/actions/graphql/gen2/filters/dateFilters.js +46 -0
  225. package/dist/actions/graphql/gen2/filters/dateFilters.js.map +1 -0
  226. package/dist/actions/graphql/gen2/filters/dateTimeFilters.js +46 -0
  227. package/dist/actions/graphql/gen2/filters/dateTimeFilters.js.map +1 -0
  228. package/dist/actions/graphql/gen2/filters/documentFilters.js +21 -0
  229. package/dist/actions/graphql/gen2/filters/documentFilters.js.map +1 -0
  230. package/dist/actions/graphql/gen2/filters/floatFilters.js +46 -0
  231. package/dist/actions/graphql/gen2/filters/floatFilters.js.map +1 -0
  232. package/dist/actions/graphql/gen2/filters/idFilters.js +44 -0
  233. package/dist/actions/graphql/gen2/filters/idFilters.js.map +1 -0
  234. package/dist/actions/graphql/gen2/filters/integerFilters.js +46 -0
  235. package/dist/actions/graphql/gen2/filters/integerFilters.js.map +1 -0
  236. package/dist/actions/graphql/gen2/filters/stringFilters.js +49 -0
  237. package/dist/actions/graphql/gen2/filters/stringFilters.js.map +1 -0
  238. package/dist/actions/graphql/gen2/generateTypeFilters.js +85 -0
  239. package/dist/actions/graphql/gen2/generateTypeFilters.js.map +1 -0
  240. package/dist/actions/graphql/gen2/generateTypeQueries.js +107 -0
  241. package/dist/actions/graphql/gen2/generateTypeQueries.js.map +1 -0
  242. package/dist/actions/graphql/gen2/generateTypeSortings.js +70 -0
  243. package/dist/actions/graphql/gen2/generateTypeSortings.js.map +1 -0
  244. package/dist/actions/graphql/gen2/index.js +22 -0
  245. package/dist/actions/graphql/gen2/index.js.map +1 -0
  246. package/dist/actions/graphql/gen3/filters/documentFilters.js +21 -0
  247. package/dist/actions/graphql/gen3/filters/documentFilters.js.map +1 -0
  248. package/dist/actions/graphql/gen3/generateTypeFilters.js +101 -0
  249. package/dist/actions/graphql/gen3/generateTypeFilters.js.map +1 -0
  250. package/dist/actions/graphql/gen3/generateTypeQueries.js +104 -0
  251. package/dist/actions/graphql/gen3/generateTypeQueries.js.map +1 -0
  252. package/dist/actions/graphql/gen3/generateTypeSortings.js +70 -0
  253. package/dist/actions/graphql/gen3/generateTypeSortings.js.map +1 -0
  254. package/dist/actions/graphql/gen3/index.js +31 -0
  255. package/dist/actions/graphql/gen3/index.js.map +1 -0
  256. package/dist/actions/graphql/gen3/utils.js +12 -0
  257. package/dist/actions/graphql/gen3/utils.js.map +1 -0
  258. package/dist/actions/graphql/getGraphQLAPIs.js +65 -0
  259. package/dist/actions/graphql/getGraphQLAPIs.js.map +1 -0
  260. package/dist/actions/graphql/getGraphQLAPIs.worker.js +126 -0
  261. package/dist/actions/graphql/getGraphQLAPIs.worker.js.map +1 -0
  262. package/dist/actions/graphql/graphqlDebug.js +4 -0
  263. package/dist/actions/graphql/graphqlDebug.js.map +1 -0
  264. package/dist/actions/graphql/helpUrls.js +3 -0
  265. package/dist/actions/graphql/helpUrls.js.map +1 -0
  266. package/dist/actions/graphql/helpers.js +11 -0
  267. package/dist/actions/graphql/helpers.js.map +1 -0
  268. package/dist/actions/graphql/resolveApiGeneration.js +43 -0
  269. package/dist/actions/graphql/resolveApiGeneration.js.map +1 -0
  270. package/dist/actions/graphql/types.js +3 -0
  271. package/dist/actions/graphql/types.js.map +1 -0
  272. package/dist/actions/hook/constants.js +3 -0
  273. package/dist/actions/hook/constants.js.map +1 -0
  274. package/dist/actions/hook/formatFailure.js +29 -0
  275. package/dist/actions/hook/formatFailure.js.map +1 -0
  276. package/dist/actions/hook/types.js +3 -0
  277. package/dist/actions/hook/types.js.map +1 -0
  278. package/dist/actions/init/bootstrapLocalTemplate.js +137 -0
  279. package/dist/actions/init/bootstrapLocalTemplate.js.map +1 -0
  280. package/dist/actions/init/bootstrapRemoteTemplate.js +109 -0
  281. package/dist/actions/init/bootstrapRemoteTemplate.js.map +1 -0
  282. package/dist/actions/init/bootstrapTemplate.js +32 -0
  283. package/dist/actions/init/bootstrapTemplate.js.map +1 -0
  284. package/dist/actions/init/checkNextJsReactCompatibility.js +21 -0
  285. package/dist/actions/init/checkNextJsReactCompatibility.js.map +1 -0
  286. package/dist/actions/init/constants.js +3 -0
  287. package/dist/actions/init/constants.js.map +1 -0
  288. package/dist/actions/init/countNestedFolders.js +6 -0
  289. package/dist/actions/init/countNestedFolders.js.map +1 -0
  290. package/dist/actions/init/createAppCliConfig.js +19 -0
  291. package/dist/actions/init/createAppCliConfig.js.map +1 -0
  292. package/dist/actions/init/createCliConfig.js +27 -0
  293. package/dist/actions/init/createCliConfig.js.map +1 -0
  294. package/dist/actions/init/createPackageManifest.js +86 -0
  295. package/dist/actions/init/createPackageManifest.js.map +1 -0
  296. package/dist/actions/init/createStudioConfig.js +41 -0
  297. package/dist/actions/init/createStudioConfig.js.map +1 -0
  298. package/dist/actions/init/determineAppTemplate.js +16 -0
  299. package/dist/actions/init/determineAppTemplate.js.map +1 -0
  300. package/dist/actions/init/env/createOrAppendEnvVars.js +25 -0
  301. package/dist/actions/init/env/createOrAppendEnvVars.js.map +1 -0
  302. package/dist/actions/init/env/parseAndUpdateEnvVars.js +42 -0
  303. package/dist/actions/init/env/parseAndUpdateEnvVars.js.map +1 -0
  304. package/dist/actions/init/env/writeEnvVarsToFile.js +49 -0
  305. package/dist/actions/init/env/writeEnvVarsToFile.js.map +1 -0
  306. package/dist/actions/init/fetchPostInitPrompt.js +30 -0
  307. package/dist/actions/init/fetchPostInitPrompt.js.map +1 -0
  308. package/dist/actions/init/git.js +65 -0
  309. package/dist/actions/init/git.js.map +1 -0
  310. package/dist/actions/init/processTemplate.js +56 -0
  311. package/dist/actions/init/processTemplate.js.map +1 -0
  312. package/dist/actions/init/remoteTemplate.js +211 -0
  313. package/dist/actions/init/remoteTemplate.js.map +1 -0
  314. package/dist/actions/init/resolvePackageManager.js +20 -0
  315. package/dist/actions/init/resolvePackageManager.js.map +1 -0
  316. package/dist/actions/init/templates/appQuickstart.js +28 -0
  317. package/dist/actions/init/templates/appQuickstart.js.map +1 -0
  318. package/dist/actions/init/templates/appSanityUi.js +30 -0
  319. package/dist/actions/init/templates/appSanityUi.js.map +1 -0
  320. package/dist/actions/init/templates/blog.js +4 -0
  321. package/dist/actions/init/templates/blog.js.map +1 -0
  322. package/dist/actions/init/templates/clean.js +4 -0
  323. package/dist/actions/init/templates/clean.js.map +1 -0
  324. package/dist/actions/init/templates/getStarted.js +35 -0
  325. package/dist/actions/init/templates/getStarted.js.map +1 -0
  326. package/dist/actions/init/templates/index.js +23 -0
  327. package/dist/actions/init/templates/index.js.map +1 -0
  328. package/dist/actions/init/templates/moviedb.js +34 -0
  329. package/dist/actions/init/templates/moviedb.js.map +1 -0
  330. package/dist/actions/init/templates/nextjs/index.js +213 -0
  331. package/dist/actions/init/templates/nextjs/index.js.map +1 -0
  332. package/dist/actions/init/templates/nextjs/schemaTypes/blog.js +247 -0
  333. package/dist/actions/init/templates/nextjs/schemaTypes/blog.js.map +1 -0
  334. package/dist/actions/init/templates/quickstart.js +4 -0
  335. package/dist/actions/init/templates/quickstart.js.map +1 -0
  336. package/dist/actions/init/templates/shopify.js +77 -0
  337. package/dist/actions/init/templates/shopify.js.map +1 -0
  338. package/dist/actions/init/templates/shopifyOnline.js +49 -0
  339. package/dist/actions/init/templates/shopifyOnline.js.map +1 -0
  340. package/dist/actions/init/types.js +3 -0
  341. package/dist/actions/init/types.js.map +1 -0
  342. package/dist/actions/init/updateInitialTemplateMetadata.js +17 -0
  343. package/dist/actions/init/updateInitialTemplateMetadata.js.map +1 -0
  344. package/dist/actions/manifest/SchemaIcon.js +21 -0
  345. package/dist/actions/manifest/SchemaIcon.js.map +1 -0
  346. package/dist/actions/manifest/extractAppManifest.js +51 -0
  347. package/dist/actions/manifest/extractAppManifest.js.map +1 -0
  348. package/dist/actions/manifest/extractManifest.js +93 -0
  349. package/dist/actions/manifest/extractManifest.js.map +1 -0
  350. package/dist/actions/manifest/extractWorkspaceManifest.js +406 -0
  351. package/dist/actions/manifest/extractWorkspaceManifest.js.map +1 -0
  352. package/dist/actions/manifest/purifyConfig.js +307 -0
  353. package/dist/actions/manifest/purifyConfig.js.map +1 -0
  354. package/dist/actions/manifest/schemaTypeHelpers.js +110 -0
  355. package/dist/actions/manifest/schemaTypeHelpers.js.map +1 -0
  356. package/dist/actions/manifest/types.js +5 -0
  357. package/dist/actions/manifest/types.js.map +1 -0
  358. package/dist/actions/mcp/detectAvailableEditors.js +75 -0
  359. package/dist/actions/mcp/detectAvailableEditors.js.map +1 -0
  360. package/dist/actions/mcp/editorConfigs.js +147 -0
  361. package/dist/actions/mcp/editorConfigs.js.map +1 -0
  362. package/dist/actions/mcp/promptForMCPSetup.js +24 -0
  363. package/dist/actions/mcp/promptForMCPSetup.js.map +1 -0
  364. package/dist/actions/mcp/setupMCP.js +88 -0
  365. package/dist/actions/mcp/setupMCP.js.map +1 -0
  366. package/dist/actions/mcp/types.js +3 -0
  367. package/dist/actions/mcp/types.js.map +1 -0
  368. package/dist/actions/mcp/writeMCPConfig.js +41 -0
  369. package/dist/actions/mcp/writeMCPConfig.js.map +1 -0
  370. package/dist/actions/media/__tests__/createMockClient.js +32 -0
  371. package/dist/actions/media/__tests__/createMockClient.js.map +1 -0
  372. package/dist/actions/media/getMediaLibraryConfig.js +5 -0
  373. package/dist/actions/media/getMediaLibraryConfig.js.map +1 -0
  374. package/dist/actions/media/importAspects.js +112 -0
  375. package/dist/actions/media/importAspects.js.map +1 -0
  376. package/dist/actions/media/importMedia.js +213 -0
  377. package/dist/actions/media/importMedia.js.map +1 -0
  378. package/dist/actions/media/importMediaDebug.js +4 -0
  379. package/dist/actions/media/importMediaDebug.js.map +1 -0
  380. package/dist/actions/organizations/getOrganization.js +67 -0
  381. package/dist/actions/organizations/getOrganization.js.map +1 -0
  382. package/dist/actions/organizations/getOrganizationChoices.js +23 -0
  383. package/dist/actions/organizations/getOrganizationChoices.js.map +1 -0
  384. package/dist/actions/organizations/getOrganizationsWithAttachGrantInfo.js +9 -0
  385. package/dist/actions/organizations/getOrganizationsWithAttachGrantInfo.js.map +1 -0
  386. package/dist/actions/organizations/hasProjectAttachGrant.js +24 -0
  387. package/dist/actions/organizations/hasProjectAttachGrant.js.map +1 -0
  388. package/dist/actions/organizations/validateOrganizationName.js +10 -0
  389. package/dist/actions/organizations/validateOrganizationName.js.map +1 -0
  390. package/dist/actions/preview/getPreviewServerConfig.js +16 -0
  391. package/dist/actions/preview/getPreviewServerConfig.js.map +1 -0
  392. package/dist/actions/preview/previewAction.js +20 -0
  393. package/dist/actions/preview/previewAction.js.map +1 -0
  394. package/dist/actions/preview/types.js +3 -0
  395. package/dist/actions/preview/types.js.map +1 -0
  396. package/dist/actions/projects/getManageUrl.js +7 -0
  397. package/dist/actions/projects/getManageUrl.js.map +1 -0
  398. package/dist/actions/projects/validateProjectName.js +11 -0
  399. package/dist/actions/projects/validateProjectName.js.map +1 -0
  400. package/dist/actions/schema/deleteSchemaAction.js +101 -0
  401. package/dist/actions/schema/deleteSchemaAction.js.map +1 -0
  402. package/dist/actions/schema/deploySchemas.js +98 -0
  403. package/dist/actions/schema/deploySchemas.js.map +1 -0
  404. package/dist/actions/schema/extractSanitySchema.worker.js +38 -0
  405. package/dist/actions/schema/extractSanitySchema.worker.js.map +1 -0
  406. package/dist/actions/schema/extractSchema.js +77 -0
  407. package/dist/actions/schema/extractSchema.js.map +1 -0
  408. package/dist/actions/schema/formatSchemaValidation.js +74 -0
  409. package/dist/actions/schema/formatSchemaValidation.js.map +1 -0
  410. package/dist/actions/schema/listSchemas.js +119 -0
  411. package/dist/actions/schema/listSchemas.js.map +1 -0
  412. package/dist/actions/schema/metafile.js +51 -0
  413. package/dist/actions/schema/metafile.js.map +1 -0
  414. package/dist/actions/schema/schemaStoreTypes.js +19 -0
  415. package/dist/actions/schema/schemaStoreTypes.js.map +1 -0
  416. package/dist/actions/schema/types.js +9 -0
  417. package/dist/actions/schema/types.js.map +1 -0
  418. package/dist/actions/schema/utils/debug.js +6 -0
  419. package/dist/actions/schema/utils/debug.js.map +1 -0
  420. package/dist/actions/schema/utils/extractValidationFromSchemaError.js +12 -0
  421. package/dist/actions/schema/utils/extractValidationFromSchemaError.js.map +1 -0
  422. package/dist/actions/schema/utils/manifestExtractor.js +33 -0
  423. package/dist/actions/schema/utils/manifestExtractor.js.map +1 -0
  424. package/dist/actions/schema/utils/manifestReader.js +71 -0
  425. package/dist/actions/schema/utils/manifestReader.js.map +1 -0
  426. package/dist/actions/schema/utils/schemaStoreOutStrings.js +11 -0
  427. package/dist/actions/schema/utils/schemaStoreOutStrings.js.map +1 -0
  428. package/dist/actions/schema/utils/schemaStoreValidation.js +108 -0
  429. package/dist/actions/schema/utils/schemaStoreValidation.js.map +1 -0
  430. package/dist/actions/schema/utils/uniqByProjectIdDataset.js +9 -0
  431. package/dist/actions/schema/utils/uniqByProjectIdDataset.js.map +1 -0
  432. package/dist/actions/schema/utils/workspaceSchemaId.js +23 -0
  433. package/dist/actions/schema/utils/workspaceSchemaId.js.map +1 -0
  434. package/dist/actions/schema/validateAction.js +71 -0
  435. package/dist/actions/schema/validateAction.js.map +1 -0
  436. package/dist/actions/schema/validateSchema.worker.js +124 -0
  437. package/dist/actions/schema/validateSchema.worker.js.map +1 -0
  438. package/dist/actions/telemetry/getLearnMoreMessage.js +15 -0
  439. package/dist/actions/telemetry/getLearnMoreMessage.js.map +1 -0
  440. package/dist/actions/telemetry/getStatusDisplay.js +26 -0
  441. package/dist/actions/telemetry/getStatusDisplay.js.map +1 -0
  442. package/dist/actions/telemetry/getStatusMessage.js +36 -0
  443. package/dist/actions/telemetry/getStatusMessage.js.map +1 -0
  444. package/dist/actions/telemetry/resolveConsent.js +48 -0
  445. package/dist/actions/telemetry/resolveConsent.js.map +1 -0
  446. package/dist/actions/telemetry/setConsent.js +83 -0
  447. package/dist/actions/telemetry/setConsent.js.map +1 -0
  448. package/dist/actions/telemetry/telemetryDebug.js +4 -0
  449. package/dist/actions/telemetry/telemetryDebug.js.map +1 -0
  450. package/dist/actions/telemetry/telemetryDisclosure.js +33 -0
  451. package/dist/actions/telemetry/telemetryDisclosure.js.map +1 -0
  452. package/dist/actions/telemetry/telemetryLearnMoreMessage.js +15 -0
  453. package/dist/actions/telemetry/telemetryLearnMoreMessage.js.map +1 -0
  454. package/dist/actions/tokens/constants.js +5 -0
  455. package/dist/actions/tokens/constants.js.map +1 -0
  456. package/dist/actions/tokens/types.js +3 -0
  457. package/dist/actions/tokens/types.js.map +1 -0
  458. package/dist/actions/tokens/validateRole.js +23 -0
  459. package/dist/actions/tokens/validateRole.js.map +1 -0
  460. package/dist/actions/undeploy/getStudioOrAppUserApplication.js +36 -0
  461. package/dist/actions/undeploy/getStudioOrAppUserApplication.js.map +1 -0
  462. package/dist/actions/users/getMembersForProject.js +47 -0
  463. package/dist/actions/users/getMembersForProject.js.map +1 -0
  464. package/dist/actions/users/getPendingInvitations.js +15 -0
  465. package/dist/actions/users/getPendingInvitations.js.map +1 -0
  466. package/dist/actions/users/types.js +3 -0
  467. package/dist/actions/users/types.js.map +1 -0
  468. package/dist/actions/users/usersDebug.js +4 -0
  469. package/dist/actions/users/usersDebug.js.map +1 -0
  470. package/dist/actions/users/validateEmail.js +14 -0
  471. package/dist/actions/users/validateEmail.js.map +1 -0
  472. package/dist/actions/versions/buildPackageArray.js +44 -0
  473. package/dist/actions/versions/buildPackageArray.js.map +1 -0
  474. package/dist/actions/versions/filterSanityModules.js +20 -0
  475. package/dist/actions/versions/filterSanityModules.js.map +1 -0
  476. package/dist/actions/versions/findSanityModulesVersions.js +47 -0
  477. package/dist/actions/versions/findSanityModulesVersions.js.map +1 -0
  478. package/dist/actions/versions/getFormatters.js +30 -0
  479. package/dist/actions/versions/getFormatters.js.map +1 -0
  480. package/dist/actions/versions/tryFindLatestVersion.js +21 -0
  481. package/dist/actions/versions/tryFindLatestVersion.js.map +1 -0
  482. package/dist/actions/versions/types.js +5 -0
  483. package/dist/actions/versions/types.js.map +1 -0
  484. package/dist/actions/versions/versionsDebug.js +4 -0
  485. package/dist/actions/versions/versionsDebug.js.map +1 -0
  486. package/dist/commands/backup/disable.js +94 -0
  487. package/dist/commands/backup/disable.js.map +1 -0
  488. package/dist/commands/backup/download.js +291 -0
  489. package/dist/commands/backup/download.js.map +1 -0
  490. package/dist/commands/backup/enable.js +99 -0
  491. package/dist/commands/backup/enable.js.map +1 -0
  492. package/dist/commands/backup/list.js +187 -0
  493. package/dist/commands/backup/list.js.map +1 -0
  494. package/dist/commands/build.js +82 -0
  495. package/dist/commands/build.js.map +1 -0
  496. package/dist/commands/codemod.js +141 -0
  497. package/dist/commands/codemod.js.map +1 -0
  498. package/dist/commands/cors/add.js +154 -0
  499. package/dist/commands/cors/add.js.map +1 -0
  500. package/dist/commands/cors/delete.js +90 -0
  501. package/dist/commands/cors/delete.js.map +1 -0
  502. package/dist/commands/cors/list.js +40 -0
  503. package/dist/commands/cors/list.js.map +1 -0
  504. package/dist/commands/dataset/alias/create.js +118 -0
  505. package/dist/commands/dataset/alias/create.js.map +1 -0
  506. package/dist/commands/dataset/alias/delete.js +88 -0
  507. package/dist/commands/dataset/alias/delete.js.map +1 -0
  508. package/dist/commands/dataset/alias/link.js +137 -0
  509. package/dist/commands/dataset/alias/link.js.map +1 -0
  510. package/dist/commands/dataset/alias/unlink.js +98 -0
  511. package/dist/commands/dataset/alias/unlink.js.map +1 -0
  512. package/dist/commands/dataset/copy.js +369 -0
  513. package/dist/commands/dataset/copy.js.map +1 -0
  514. package/dist/commands/dataset/create.js +106 -0
  515. package/dist/commands/dataset/create.js.map +1 -0
  516. package/dist/commands/dataset/delete.js +104 -0
  517. package/dist/commands/dataset/delete.js.map +1 -0
  518. package/dist/commands/dataset/export.js +271 -0
  519. package/dist/commands/dataset/export.js.map +1 -0
  520. package/dist/commands/dataset/import.js +3 -0
  521. package/dist/commands/dataset/import.js.map +1 -0
  522. package/dist/commands/dataset/list.js +50 -0
  523. package/dist/commands/dataset/list.js.map +1 -0
  524. package/dist/commands/dataset/visibility/get.js +55 -0
  525. package/dist/commands/dataset/visibility/get.js.map +1 -0
  526. package/dist/commands/dataset/visibility/set.js +88 -0
  527. package/dist/commands/dataset/visibility/set.js.map +1 -0
  528. package/dist/commands/debug.js +93 -0
  529. package/dist/commands/debug.js.map +1 -0
  530. package/dist/commands/deploy.js +115 -0
  531. package/dist/commands/deploy.js.map +1 -0
  532. package/dist/commands/dev.js +65 -0
  533. package/dist/commands/dev.js.map +1 -0
  534. package/dist/commands/docs/browse.js +15 -0
  535. package/dist/commands/docs/browse.js.map +1 -0
  536. package/dist/commands/docs/read.js +81 -0
  537. package/dist/commands/docs/read.js.map +1 -0
  538. package/dist/commands/docs/search.js +111 -0
  539. package/dist/commands/docs/search.js.map +1 -0
  540. package/dist/commands/documents/create.js +338 -0
  541. package/dist/commands/documents/create.js.map +1 -0
  542. package/dist/commands/documents/delete.js +104 -0
  543. package/dist/commands/documents/delete.js.map +1 -0
  544. package/dist/commands/documents/get.js +85 -0
  545. package/dist/commands/documents/get.js.map +1 -0
  546. package/dist/commands/documents/query.js +105 -0
  547. package/dist/commands/documents/query.js.map +1 -0
  548. package/dist/commands/documents/validate.js +142 -0
  549. package/dist/commands/documents/validate.js.map +1 -0
  550. package/dist/commands/exec.js +54 -0
  551. package/dist/commands/exec.js.map +1 -0
  552. package/dist/commands/graphql/deploy.js +429 -0
  553. package/dist/commands/graphql/deploy.js.map +1 -0
  554. package/dist/commands/graphql/list.js +53 -0
  555. package/dist/commands/graphql/list.js.map +1 -0
  556. package/dist/commands/graphql/undeploy.js +143 -0
  557. package/dist/commands/graphql/undeploy.js.map +1 -0
  558. package/dist/commands/hook/attempt.js +66 -0
  559. package/dist/commands/hook/attempt.js.map +1 -0
  560. package/dist/commands/hook/create.js +46 -0
  561. package/dist/commands/hook/create.js.map +1 -0
  562. package/dist/commands/hook/delete.js +86 -0
  563. package/dist/commands/hook/delete.js.map +1 -0
  564. package/dist/commands/hook/list.js +46 -0
  565. package/dist/commands/hook/list.js.map +1 -0
  566. package/dist/commands/hook/logs.js +184 -0
  567. package/dist/commands/hook/logs.js.map +1 -0
  568. package/dist/commands/init.js +1389 -0
  569. package/dist/commands/init.js.map +1 -0
  570. package/dist/commands/install.js +43 -0
  571. package/dist/commands/install.js.map +1 -0
  572. package/dist/commands/learn.js +15 -0
  573. package/dist/commands/learn.js.map +1 -0
  574. package/dist/commands/login.js +50 -0
  575. package/dist/commands/login.js.map +1 -0
  576. package/dist/commands/logout.js +37 -0
  577. package/dist/commands/logout.js.map +1 -0
  578. package/dist/commands/manage.js +29 -0
  579. package/dist/commands/manage.js.map +1 -0
  580. package/dist/commands/manifest/extract.js +43 -0
  581. package/dist/commands/manifest/extract.js.map +1 -0
  582. package/dist/commands/mcp/configure.js +28 -0
  583. package/dist/commands/mcp/configure.js.map +1 -0
  584. package/dist/commands/media/create-aspect.js +88 -0
  585. package/dist/commands/media/create-aspect.js.map +1 -0
  586. package/dist/commands/media/delete-aspect.js +85 -0
  587. package/dist/commands/media/delete-aspect.js.map +1 -0
  588. package/dist/commands/media/deploy-aspect.js +151 -0
  589. package/dist/commands/media/deploy-aspect.js.map +1 -0
  590. package/dist/commands/media/export.js +210 -0
  591. package/dist/commands/media/export.js.map +1 -0
  592. package/dist/commands/media/import.js +160 -0
  593. package/dist/commands/media/import.js.map +1 -0
  594. package/dist/commands/openapi/get.js +83 -0
  595. package/dist/commands/openapi/get.js.map +1 -0
  596. package/dist/commands/openapi/list.js +80 -0
  597. package/dist/commands/openapi/list.js.map +1 -0
  598. package/dist/commands/preview.js +60 -0
  599. package/dist/commands/preview.js.map +1 -0
  600. package/dist/commands/projects/create.js +181 -0
  601. package/dist/commands/projects/create.js.map +1 -0
  602. package/dist/commands/projects/list.js +76 -0
  603. package/dist/commands/projects/list.js.map +1 -0
  604. package/dist/commands/schema/delete.js +91 -0
  605. package/dist/commands/schema/delete.js.map +1 -0
  606. package/dist/commands/schema/deploy.js +98 -0
  607. package/dist/commands/schema/deploy.js.map +1 -0
  608. package/dist/commands/schema/extract.js +46 -0
  609. package/dist/commands/schema/extract.js.map +1 -0
  610. package/dist/commands/schema/list.js +104 -0
  611. package/dist/commands/schema/list.js.map +1 -0
  612. package/dist/commands/schema/validate.js +73 -0
  613. package/dist/commands/schema/validate.js.map +1 -0
  614. package/dist/commands/telemetry/disable.js +33 -0
  615. package/dist/commands/telemetry/disable.js.map +1 -0
  616. package/dist/commands/telemetry/enable.js +33 -0
  617. package/dist/commands/telemetry/enable.js.map +1 -0
  618. package/dist/commands/telemetry/status.js +25 -0
  619. package/dist/commands/telemetry/status.js.map +1 -0
  620. package/dist/commands/tokens/add.js +135 -0
  621. package/dist/commands/tokens/add.js.map +1 -0
  622. package/dist/commands/tokens/delete.js +107 -0
  623. package/dist/commands/tokens/delete.js.map +1 -0
  624. package/dist/commands/tokens/list.js +92 -0
  625. package/dist/commands/tokens/list.js.map +1 -0
  626. package/dist/commands/undeploy.js +93 -0
  627. package/dist/commands/undeploy.js.map +1 -0
  628. package/dist/commands/users/invite.js +100 -0
  629. package/dist/commands/users/invite.js.map +1 -0
  630. package/dist/commands/users/list.js +101 -0
  631. package/dist/commands/users/list.js.map +1 -0
  632. package/dist/commands/versions.js +27 -0
  633. package/dist/commands/versions.js.map +1 -0
  634. package/dist/config/createCliConfig.js +9 -0
  635. package/dist/config/createCliConfig.js.map +1 -0
  636. package/dist/config/defineCliConfig.js +5 -0
  637. package/dist/config/defineCliConfig.js.map +1 -0
  638. package/dist/hooks/prerun/flushTelemetry.worker.js +22 -0
  639. package/dist/hooks/prerun/flushTelemetry.worker.js.map +1 -0
  640. package/dist/hooks/prerun/injectEnvVariables.js +31 -0
  641. package/dist/hooks/prerun/injectEnvVariables.js.map +1 -0
  642. package/dist/hooks/prerun/setupTelemetry.js +72 -0
  643. package/dist/hooks/prerun/setupTelemetry.js.map +1 -0
  644. package/dist/hooks/prerun/warnings.js +6 -0
  645. package/dist/hooks/prerun/warnings.js.map +1 -0
  646. package/dist/index.d.ts +2326 -0
  647. package/dist/index.js +6 -0
  648. package/dist/index.js.map +1 -0
  649. package/dist/prompts/init/nextjs.js +56 -0
  650. package/dist/prompts/init/nextjs.js.map +1 -0
  651. package/dist/prompts/init/promptForTypescript.js +9 -0
  652. package/dist/prompts/init/promptForTypescript.js.map +1 -0
  653. package/dist/prompts/promptForDataset.js +32 -0
  654. package/dist/prompts/promptForDataset.js.map +1 -0
  655. package/dist/prompts/promptForDatasetAclMode.js +27 -0
  656. package/dist/prompts/promptForDatasetAclMode.js.map +1 -0
  657. package/dist/prompts/promptForDatasetAliasName.js +17 -0
  658. package/dist/prompts/promptForDatasetAliasName.js.map +1 -0
  659. package/dist/prompts/promptForDatasetName.js +20 -0
  660. package/dist/prompts/promptForDatasetName.js.map +1 -0
  661. package/dist/prompts/promptForDefaultConfig.js +12 -0
  662. package/dist/prompts/promptForDefaultConfig.js.map +1 -0
  663. package/dist/prompts/promptForMediaLibrary.js +37 -0
  664. package/dist/prompts/promptForMediaLibrary.js.map +1 -0
  665. package/dist/prompts/promptForOrganizationName.js +11 -0
  666. package/dist/prompts/promptForOrganizationName.js.map +1 -0
  667. package/dist/prompts/promptForProjectName.js +11 -0
  668. package/dist/prompts/promptForProjectName.js.map +1 -0
  669. package/dist/prompts/selectDataset.js +12 -0
  670. package/dist/prompts/selectDataset.js.map +1 -0
  671. package/dist/prompts/selectMediaLibrary.js +34 -0
  672. package/dist/prompts/selectMediaLibrary.js.map +1 -0
  673. package/dist/server/devServer.js +53 -0
  674. package/dist/server/devServer.js.map +1 -0
  675. package/dist/server/gracefulServerDeath.js +12 -0
  676. package/dist/server/gracefulServerDeath.js.map +1 -0
  677. package/dist/server/previewServer.js +93 -0
  678. package/dist/server/previewServer.js.map +1 -0
  679. package/dist/server/serverDebug.js +4 -0
  680. package/dist/server/serverDebug.js.map +1 -0
  681. package/dist/server/vite/plugin-sanity-basepath-redirect.js +25 -0
  682. package/dist/server/vite/plugin-sanity-basepath-redirect.js.map +1 -0
  683. package/dist/server/vite/plugin-sanity-build-entries.js +65 -0
  684. package/dist/server/vite/plugin-sanity-build-entries.js.map +1 -0
  685. package/dist/server/vite/plugin-sanity-favicons.js +72 -0
  686. package/dist/server/vite/plugin-sanity-favicons.js.map +1 -0
  687. package/dist/server/vite/plugin-sanity-runtime-rewrite.js +18 -0
  688. package/dist/server/vite/plugin-sanity-runtime-rewrite.js.map +1 -0
  689. package/dist/services/auth.js +13 -0
  690. package/dist/services/auth.js.map +1 -0
  691. package/dist/services/backup.js +51 -0
  692. package/dist/services/backup.js.map +1 -0
  693. package/dist/services/cors.js +38 -0
  694. package/dist/services/cors.js.map +1 -0
  695. package/dist/services/datasetAliases.js +64 -0
  696. package/dist/services/datasetAliases.js.map +1 -0
  697. package/dist/services/datasets.js +153 -0
  698. package/dist/services/datasets.js.map +1 -0
  699. package/dist/services/docs.js +46 -0
  700. package/dist/services/docs.js.map +1 -0
  701. package/dist/services/documents.js +56 -0
  702. package/dist/services/documents.js.map +1 -0
  703. package/dist/services/getProjectFeatures.js +16 -0
  704. package/dist/services/getProjectFeatures.js.map +1 -0
  705. package/dist/services/getUrlHeaders.js +36 -0
  706. package/dist/services/getUrlHeaders.js.map +1 -0
  707. package/dist/services/graphql.js +96 -0
  708. package/dist/services/graphql.js.map +1 -0
  709. package/dist/services/hooks.js +59 -0
  710. package/dist/services/hooks.js.map +1 -0
  711. package/dist/services/mcp.js +50 -0
  712. package/dist/services/mcp.js.map +1 -0
  713. package/dist/services/mediaLibraries.js +74 -0
  714. package/dist/services/mediaLibraries.js.map +1 -0
  715. package/dist/services/organizations.js +42 -0
  716. package/dist/services/organizations.js.map +1 -0
  717. package/dist/services/plans.js +37 -0
  718. package/dist/services/plans.js.map +1 -0
  719. package/dist/services/projects.js +119 -0
  720. package/dist/services/projects.js.map +1 -0
  721. package/dist/services/schemas.js +40 -0
  722. package/dist/services/schemas.js.map +1 -0
  723. package/dist/services/telemetry.js +80 -0
  724. package/dist/services/telemetry.js.map +1 -0
  725. package/dist/services/tokens.js +72 -0
  726. package/dist/services/tokens.js.map +1 -0
  727. package/dist/services/user.js +35 -0
  728. package/dist/services/user.js.map +1 -0
  729. package/dist/services/userApplications.js +164 -0
  730. package/dist/services/userApplications.js.map +1 -0
  731. package/dist/studioDependencies.js +24 -0
  732. package/dist/studioDependencies.js.map +1 -0
  733. package/dist/telemetry/build.telemetry.js +13 -0
  734. package/dist/telemetry/build.telemetry.js.map +1 -0
  735. package/dist/telemetry/cli.telemetry.js +8 -0
  736. package/dist/telemetry/cli.telemetry.js.map +1 -0
  737. package/dist/telemetry/extractSchema.telemetry.js +8 -0
  738. package/dist/telemetry/extractSchema.telemetry.js.map +1 -0
  739. package/dist/telemetry/init.telemetry.js +8 -0
  740. package/dist/telemetry/init.telemetry.js.map +1 -0
  741. package/dist/telemetry/login.telemetry.js +8 -0
  742. package/dist/telemetry/login.telemetry.js.map +1 -0
  743. package/dist/telemetry/mcp.telemetry.js +8 -0
  744. package/dist/telemetry/mcp.telemetry.js.map +1 -0
  745. package/dist/types.js +5 -0
  746. package/dist/types.js.map +1 -0
  747. package/dist/typings/deepSortObject.d.js +2 -0
  748. package/dist/typings/deepSortObject.d.js.map +1 -0
  749. package/dist/util/absolutify.js +26 -0
  750. package/dist/util/absolutify.js.map +1 -0
  751. package/dist/util/appId.js +58 -0
  752. package/dist/util/appId.js.map +1 -0
  753. package/dist/util/canLaunchBrowser.js +14 -0
  754. package/dist/util/canLaunchBrowser.js.map +1 -0
  755. package/dist/util/cliClient.js +41 -0
  756. package/dist/util/cliClient.js.map +1 -0
  757. package/dist/util/compareDependencyVersions.js +73 -0
  758. package/dist/util/compareDependencyVersions.js.map +1 -0
  759. package/dist/util/copy.js +37 -0
  760. package/dist/util/copy.js.map +1 -0
  761. package/dist/util/copyDir.js +63 -0
  762. package/dist/util/copyDir.js.map +1 -0
  763. package/dist/util/detectRuntime.js +20 -0
  764. package/dist/util/detectRuntime.js.map +1 -0
  765. package/dist/util/determineIsApp.js +9 -0
  766. package/dist/util/determineIsApp.js.map +1 -0
  767. package/dist/util/dirIsEmptyOrNonExistent.js +18 -0
  768. package/dist/util/dirIsEmptyOrNonExistent.js.map +1 -0
  769. package/dist/util/ensureTrailingSlash.js +12 -0
  770. package/dist/util/ensureTrailingSlash.js.map +1 -0
  771. package/dist/util/errorMessages.js +6 -0
  772. package/dist/util/errorMessages.js.map +1 -0
  773. package/dist/util/extractDocumentsFromNdjsonOrTarball.js +88 -0
  774. package/dist/util/extractDocumentsFromNdjsonOrTarball.js.map +1 -0
  775. package/dist/util/findNdjsonEntry.js +21 -0
  776. package/dist/util/findNdjsonEntry.js.map +1 -0
  777. package/dist/util/formatSize.js +10 -0
  778. package/dist/util/formatSize.js.map +1 -0
  779. package/dist/util/frameworkPort.js +61 -0
  780. package/dist/util/frameworkPort.js.map +1 -0
  781. package/dist/util/fsUtils.js +34 -0
  782. package/dist/util/fsUtils.js.map +1 -0
  783. package/dist/util/getCliVersion.js +28 -0
  784. package/dist/util/getCliVersion.js.map +1 -0
  785. package/dist/util/getErrorMessage.js +19 -0
  786. package/dist/util/getErrorMessage.js.map +1 -0
  787. package/dist/util/getLocalPackageVersion.js +32 -0
  788. package/dist/util/getLocalPackageVersion.js.map +1 -0
  789. package/dist/util/getProjectDefaults.js +77 -0
  790. package/dist/util/getProjectDefaults.js.map +1 -0
  791. package/dist/util/getSanityEnv.js +3 -0
  792. package/dist/util/getSanityEnv.js.map +1 -0
  793. package/dist/util/getSharedServerConfig.js +31 -0
  794. package/dist/util/getSharedServerConfig.js.map +1 -0
  795. package/dist/util/getWorkspace.js +18 -0
  796. package/dist/util/getWorkspace.js.map +1 -0
  797. package/dist/util/humanFileSize.js +12 -0
  798. package/dist/util/humanFileSize.js.map +1 -0
  799. package/dist/util/importStudioConfig.js +40 -0
  800. package/dist/util/importStudioConfig.js.map +1 -0
  801. package/dist/util/isPathDirName.js +6 -0
  802. package/dist/util/isPathDirName.js.map +1 -0
  803. package/dist/util/isSanityDocumentish.js +20 -0
  804. package/dist/util/isSanityDocumentish.js.map +1 -0
  805. package/dist/util/loadEnv.js +3 -0
  806. package/dist/util/loadEnv.js.map +1 -0
  807. package/dist/util/moduleFormatUtils.js +18 -0
  808. package/dist/util/moduleFormatUtils.js.map +1 -0
  809. package/dist/util/packageManager/installPackages.js +87 -0
  810. package/dist/util/packageManager/installPackages.js.map +1 -0
  811. package/dist/util/packageManager/packageManagerChoice.js +181 -0
  812. package/dist/util/packageManager/packageManagerChoice.js.map +1 -0
  813. package/dist/util/packageManager/upgradePackages.js +69 -0
  814. package/dist/util/packageManager/upgradePackages.js.map +1 -0
  815. package/dist/util/parseArguments.js +42 -0
  816. package/dist/util/parseArguments.js.map +1 -0
  817. package/dist/util/pluralize.js +11 -0
  818. package/dist/util/pluralize.js.map +1 -0
  819. package/dist/util/readModuleVersion.js +15 -0
  820. package/dist/util/readModuleVersion.js.map +1 -0
  821. package/dist/util/readPackageJson.js +44 -0
  822. package/dist/util/readPackageJson.js.map +1 -0
  823. package/dist/util/readPackageManifest.js +46 -0
  824. package/dist/util/readPackageManifest.js.map +1 -0
  825. package/dist/util/readdirRecursive.js +24 -0
  826. package/dist/util/readdirRecursive.js.map +1 -0
  827. package/dist/util/resolveLatestVersions.js +21 -0
  828. package/dist/util/resolveLatestVersions.js.map +1 -0
  829. package/dist/util/toInt.js +9 -0
  830. package/dist/util/toInt.js.map +1 -0
  831. package/dist/util/trimHashFromVersion.js +8 -0
  832. package/dist/util/trimHashFromVersion.js.map +1 -0
  833. package/dist/util/uniqBy.js +14 -0
  834. package/dist/util/uniqBy.js.map +1 -0
  835. package/dist/util/validation/validateDocumentsUtils.js +33 -0
  836. package/dist/util/validation/validateDocumentsUtils.js.map +1 -0
  837. package/dist/util/warnAboutMissingAppId.js +15 -0
  838. package/dist/util/warnAboutMissingAppId.js.map +1 -0
  839. package/dist/util/warnOnNonProductionEnvironment.js +18 -0
  840. package/dist/util/warnOnNonProductionEnvironment.js.map +1 -0
  841. package/dist/util/workerChannels.js +172 -0
  842. package/dist/util/workerChannels.js.map +1 -0
  843. package/oclif.config.js +21 -0
  844. package/oclif.manifest.json +4154 -0
  845. package/package.json +138 -98
  846. package/templates/app-quickstart/src/App.css +3 -1
  847. package/templates/app-quickstart/src/App.tsx +1 -1
  848. package/templates/app-sanity-ui/src/App.tsx +2 -2
  849. package/templates/app-sanity-ui/src/ExampleComponent.tsx +2 -1
  850. package/templates/get-started/plugins/sanity-plugin-tutorial/GetStartedTutorial.tsx +3 -3
  851. package/templates/get-started/plugins/sanity-plugin-tutorial/index.ts +2 -2
  852. package/templates/shopify/components/hotspots/ProductTooltip.tsx +1 -1
  853. package/templates/shopify/components/icons/Shopify.tsx +0 -2
  854. package/templates/shopify/components/inputs/CollectionHidden.tsx +0 -1
  855. package/templates/shopify/components/media/ColorTheme.tsx +1 -1
  856. package/templates/shopify/constants.ts +4 -4
  857. package/templates/shopify/plugins/customDocumentActions/index.ts +2 -2
  858. package/templates/shopify/plugins/customDocumentActions/shopifyDelete.tsx +1 -1
  859. package/templates/shopify/schemaTypes/documents/collection.tsx +1 -2
  860. package/templates/shopify/schemaTypes/documents/page.ts +1 -1
  861. package/templates/shopify/schemaTypes/documents/product.tsx +1 -1
  862. package/templates/shopify/schemaTypes/documents/productVariant.tsx +2 -3
  863. package/templates/shopify/schemaTypes/objects/customProductOption/customProductOptionColorObjectType.tsx +0 -1
  864. package/templates/shopify/schemaTypes/objects/hotspot/productHotspotsType.tsx +1 -3
  865. package/templates/shopify/schemaTypes/objects/module/collectionReferenceType.tsx +0 -1
  866. package/templates/shopify/schemaTypes/objects/shopify/placeholderStringType.ts +2 -3
  867. package/templates/shopify/schemaTypes/objects/shopify/productWithVariantType.tsx +1 -1
  868. package/templates/shopify/schemaTypes/objects/shopify/shopifyCollectionType.ts +1 -2
  869. package/templates/shopify/schemaTypes/objects/shopify/shopifyProductType.ts +1 -2
  870. package/templates/shopify/schemaTypes/portableText/portableTextType.tsx +7 -7
  871. package/templates/shopify/schemaTypes/singletons/homeType.ts +8 -8
  872. package/templates/shopify/structure/collectionStructure.ts +4 -1
  873. package/templates/shopify/structure/colorThemeStructure.ts +1 -1
  874. package/templates/shopify/structure/homeStructure.ts +2 -2
  875. package/templates/shopify/structure/index.ts +1 -1
  876. package/templates/shopify/structure/pageStructure.ts +2 -2
  877. package/templates/shopify/structure/productStructure.ts +7 -7
  878. package/templates/shopify/structure/settingStructure.ts +1 -1
  879. package/templates/shopify/utils/defineStructure.ts +1 -1
  880. package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/index.ts +1 -1
  881. package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/shopifyDelete.tsx +1 -1
  882. package/templates/shopify-online-storefront/structure/collectionStructure.ts +4 -1
  883. package/templates/shopify-online-storefront/structure/productStructure.ts +4 -4
  884. package/templates/shopify-online-storefront/utils/defineStructure.ts +1 -1
  885. package/bin/dev.js +0 -30
  886. package/bin/sanity +0 -14
  887. package/lib/_chunks-cjs/cli.js +0 -70870
  888. package/lib/_chunks-cjs/cli.js.map +0 -1
  889. package/lib/_chunks-cjs/cliWorker.js +0 -19
  890. package/lib/_chunks-cjs/cliWorker.js.map +0 -1
  891. package/lib/_chunks-cjs/generateAction.js +0 -128
  892. package/lib/_chunks-cjs/generateAction.js.map +0 -1
  893. package/lib/_chunks-cjs/getCliConfig.js +0 -89
  894. package/lib/_chunks-cjs/getCliConfig.js.map +0 -1
  895. package/lib/_chunks-cjs/index.js +0 -31
  896. package/lib/_chunks-cjs/index.js.map +0 -1
  897. package/lib/_chunks-cjs/journeyConfig.js +0 -113
  898. package/lib/_chunks-cjs/journeyConfig.js.map +0 -1
  899. package/lib/_chunks-cjs/loadEnv.js +0 -347
  900. package/lib/_chunks-cjs/loadEnv.js.map +0 -1
  901. package/lib/_chunks-dts/types.d.ts +0 -432
  902. package/lib/cli.d.ts +0 -7
  903. package/lib/cli.js +0 -10
  904. package/lib/cli.js.map +0 -1
  905. package/lib/index.d.ts +0 -44
  906. package/lib/index.js +0 -46
  907. package/lib/index.js.map +0 -1
  908. package/lib/run.d.ts +0 -1
  909. package/lib/run.js +0 -8
  910. package/lib/run.js.map +0 -1
  911. package/lib/workers/getAndWriteJourneySchema.d.ts +0 -1
  912. package/lib/workers/getAndWriteJourneySchema.js +0 -4
  913. package/lib/workers/getAndWriteJourneySchema.js.map +0 -1
  914. package/lib/workers/getCliConfig.d.ts +0 -1
  915. package/lib/workers/getCliConfig.js +0 -10
  916. package/lib/workers/getCliConfig.js.map +0 -1
  917. package/lib/workers/typegenGenerate.d.ts +0 -18
  918. package/lib/workers/typegenGenerate.js +0 -47
  919. package/lib/workers/typegenGenerate.js.map +0 -1
@@ -0,0 +1,59 @@
1
+ import { CLIError } from '@oclif/core/errors';
2
+ import { input } from '@sanity/cli-core/ux';
3
+ import { createUserApplication } from '../../services/userApplications.js';
4
+ import { deployDebug } from './deployDebug.js';
5
+ // TODO: replace with `Promise.withResolvers()` once it lands in node 22
6
+ function promiseWithResolvers() {
7
+ let resolve;
8
+ let reject;
9
+ const promise = new Promise((res, rej)=>{
10
+ resolve = res;
11
+ reject = rej;
12
+ });
13
+ return {
14
+ promise,
15
+ reject,
16
+ resolve
17
+ };
18
+ }
19
+ export async function createStudioUserApplication(projectId) {
20
+ const { promise, resolve } = promiseWithResolvers();
21
+ await input({
22
+ message: 'Studio hostname (<value>.sanity.studio):',
23
+ // if a string is returned here, it is relayed to the user and prompt allows
24
+ // the user to try again until this function returns true
25
+ validate: async (inp)=>{
26
+ const appHost = inp.replace(/\.sanity\.studio$/i, '');
27
+ try {
28
+ const response = await createUserApplication({
29
+ appType: 'studio',
30
+ body: {
31
+ appHost,
32
+ type: 'studio',
33
+ urlType: 'internal'
34
+ },
35
+ projectId
36
+ });
37
+ resolve(response);
38
+ return true;
39
+ } catch (e) {
40
+ // if the name is taken, it should return a 409 so we relay to the user
41
+ if ([
42
+ 402,
43
+ 409
44
+ ].includes(e?.statusCode)) {
45
+ return e?.response?.body?.message || 'Bad request' // just in case
46
+ ;
47
+ }
48
+ deployDebug('Error creating user application', e);
49
+ // otherwise, it's a fatal error
50
+ throw new CLIError('Error creating user application', {
51
+ exit: 1
52
+ });
53
+ }
54
+ }
55
+ });
56
+ return await promise;
57
+ }
58
+
59
+ //# sourceMappingURL=createStudioUserApplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/deploy/createStudioUserApplication.ts"],"sourcesContent":["import {CLIError} from '@oclif/core/errors'\nimport {input} from '@sanity/cli-core/ux'\n\nimport {createUserApplication, type UserApplication} from '../../services/userApplications.js'\nimport {deployDebug} from './deployDebug.js'\n\n// TODO: replace with `Promise.withResolvers()` once it lands in node 22\nfunction promiseWithResolvers<T>() {\n let resolve!: (t: T) => void\n let reject!: (err: unknown) => void\n const promise = new Promise<T>((res, rej) => {\n resolve = res\n reject = rej\n })\n return {promise, reject, resolve}\n}\n\nexport async function createStudioUserApplication(projectId: string) {\n const {promise, resolve} = promiseWithResolvers<UserApplication>()\n\n await input({\n message: 'Studio hostname (<value>.sanity.studio):',\n // if a string is returned here, it is relayed to the user and prompt allows\n // the user to try again until this function returns true\n validate: async (inp: string) => {\n const appHost = inp.replace(/\\.sanity\\.studio$/i, '')\n try {\n const response = await createUserApplication({\n appType: 'studio',\n body: {\n appHost,\n type: 'studio',\n urlType: 'internal',\n },\n projectId,\n })\n resolve(response)\n return true\n } catch (e) {\n // if the name is taken, it should return a 409 so we relay to the user\n if ([402, 409].includes(e?.statusCode)) {\n return e?.response?.body?.message || 'Bad request' // just in case\n }\n\n deployDebug('Error creating user application', e)\n // otherwise, it's a fatal error\n throw new CLIError('Error creating user application', {exit: 1})\n }\n },\n })\n\n return await promise\n}\n"],"names":["CLIError","input","createUserApplication","deployDebug","promiseWithResolvers","resolve","reject","promise","Promise","res","rej","createStudioUserApplication","projectId","message","validate","inp","appHost","replace","response","appType","body","type","urlType","e","includes","statusCode","exit"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,qBAAoB;AAC3C,SAAQC,KAAK,QAAO,sBAAqB;AAEzC,SAAQC,qBAAqB,QAA6B,qCAAoC;AAC9F,SAAQC,WAAW,QAAO,mBAAkB;AAE5C,wEAAwE;AACxE,SAASC;IACP,IAAIC;IACJ,IAAIC;IACJ,MAAMC,UAAU,IAAIC,QAAW,CAACC,KAAKC;QACnCL,UAAUI;QACVH,SAASI;IACX;IACA,OAAO;QAACH;QAASD;QAAQD;IAAO;AAClC;AAEA,OAAO,eAAeM,4BAA4BC,SAAiB;IACjE,MAAM,EAACL,OAAO,EAAEF,OAAO,EAAC,GAAGD;IAE3B,MAAMH,MAAM;QACVY,SAAS;QACT,4EAA4E;QAC5E,yDAAyD;QACzDC,UAAU,OAAOC;YACf,MAAMC,UAAUD,IAAIE,OAAO,CAAC,sBAAsB;YAClD,IAAI;gBACF,MAAMC,WAAW,MAAMhB,sBAAsB;oBAC3CiB,SAAS;oBACTC,MAAM;wBACJJ;wBACAK,MAAM;wBACNC,SAAS;oBACX;oBACAV;gBACF;gBACAP,QAAQa;gBACR,OAAO;YACT,EAAE,OAAOK,GAAG;gBACV,uEAAuE;gBACvE,IAAI;oBAAC;oBAAK;iBAAI,CAACC,QAAQ,CAACD,GAAGE,aAAa;oBACtC,OAAOF,GAAGL,UAAUE,MAAMP,WAAW,cAAc,eAAe;;gBACpE;gBAEAV,YAAY,mCAAmCoB;gBAC/C,gCAAgC;gBAChC,MAAM,IAAIvB,SAAS,mCAAmC;oBAAC0B,MAAM;gBAAC;YAChE;QACF;IACF;IAEA,OAAO,MAAMnB;AACf"}
@@ -0,0 +1,56 @@
1
+ import { input, spinner } from '@sanity/cli-core/ux';
2
+ import { customAlphabet } from 'nanoid';
3
+ import { createUserApplication } from '../../services/userApplications.js';
4
+ import { NO_ORGANIZATION_ID } from '../../util/errorMessages.js';
5
+ import { deployDebug } from './deployDebug.js';
6
+ export async function createUserApplicationForApp(organizationId) {
7
+ if (!organizationId) {
8
+ throw new Error(NO_ORGANIZATION_ID);
9
+ }
10
+ // First get the title from the user
11
+ const title = await input({
12
+ message: 'Enter a title for your application:',
13
+ validate: (input)=>input.length > 0 || 'Title is required'
14
+ });
15
+ return tryCreateApp(title, organizationId);
16
+ }
17
+ // appHosts have some restrictions (no uppercase, must start with a letter)
18
+ const generateId = ()=>{
19
+ const letters = 'abcdefghijklmnopqrstuvwxyz';
20
+ const firstChar = customAlphabet(letters, 1)();
21
+ const rest = customAlphabet('abcdefghijklmnopqrstuvwxyz0123456789', 11)();
22
+ return `${firstChar}${rest}`;
23
+ };
24
+ const tryCreateApp = async (title, organizationId)=>{
25
+ // we will likely prepend this with an org ID or other parameter in the future
26
+ const appHost = generateId();
27
+ const spin = spinner('Creating application').start();
28
+ try {
29
+ const response = await createUserApplication({
30
+ appType: 'coreApp',
31
+ body: {
32
+ appHost,
33
+ title,
34
+ type: 'coreApp',
35
+ urlType: 'internal'
36
+ },
37
+ organizationId
38
+ });
39
+ spin.succeed();
40
+ return response;
41
+ } catch (e) {
42
+ // if the name is taken, generate a new one and try again
43
+ if ([
44
+ 402,
45
+ 409
46
+ ].includes(e?.statusCode)) {
47
+ deployDebug('App host taken, retrying with new host');
48
+ return tryCreateApp(title, organizationId);
49
+ }
50
+ spin.fail();
51
+ deployDebug('Error creating core application', e);
52
+ throw e;
53
+ }
54
+ };
55
+
56
+ //# sourceMappingURL=createUserApplicationForApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/deploy/createUserApplicationForApp.ts"],"sourcesContent":["import {input, spinner} from '@sanity/cli-core/ux'\nimport {customAlphabet} from 'nanoid'\n\nimport {createUserApplication, type UserApplication} from '../../services/userApplications.js'\nimport {NO_ORGANIZATION_ID} from '../../util/errorMessages.js'\nimport {deployDebug} from './deployDebug.js'\n\nexport async function createUserApplicationForApp(\n organizationId?: string,\n): Promise<UserApplication> {\n if (!organizationId) {\n throw new Error(NO_ORGANIZATION_ID)\n }\n\n // First get the title from the user\n const title = await input({\n message: 'Enter a title for your application:',\n validate: (input: string) => input.length > 0 || 'Title is required',\n })\n\n return tryCreateApp(title, organizationId)\n}\n\n// appHosts have some restrictions (no uppercase, must start with a letter)\nconst generateId = () => {\n const letters = 'abcdefghijklmnopqrstuvwxyz'\n const firstChar = customAlphabet(letters, 1)()\n const rest = customAlphabet('abcdefghijklmnopqrstuvwxyz0123456789', 11)()\n return `${firstChar}${rest}`\n}\n\nconst tryCreateApp = async (title: string, organizationId: string) => {\n // we will likely prepend this with an org ID or other parameter in the future\n const appHost = generateId()\n\n const spin = spinner('Creating application').start()\n\n try {\n const response = await createUserApplication({\n appType: 'coreApp',\n body: {\n appHost,\n title,\n type: 'coreApp',\n urlType: 'internal',\n },\n organizationId,\n })\n\n spin.succeed()\n return response\n } catch (e) {\n // if the name is taken, generate a new one and try again\n if ([402, 409].includes(e?.statusCode)) {\n deployDebug('App host taken, retrying with new host')\n return tryCreateApp(title, organizationId)\n }\n\n spin.fail()\n\n deployDebug('Error creating core application', e)\n throw e\n }\n}\n"],"names":["input","spinner","customAlphabet","createUserApplication","NO_ORGANIZATION_ID","deployDebug","createUserApplicationForApp","organizationId","Error","title","message","validate","length","tryCreateApp","generateId","letters","firstChar","rest","appHost","spin","start","response","appType","body","type","urlType","succeed","e","includes","statusCode","fail"],"mappings":"AAAA,SAAQA,KAAK,EAAEC,OAAO,QAAO,sBAAqB;AAClD,SAAQC,cAAc,QAAO,SAAQ;AAErC,SAAQC,qBAAqB,QAA6B,qCAAoC;AAC9F,SAAQC,kBAAkB,QAAO,8BAA6B;AAC9D,SAAQC,WAAW,QAAO,mBAAkB;AAE5C,OAAO,eAAeC,4BACpBC,cAAuB;IAEvB,IAAI,CAACA,gBAAgB;QACnB,MAAM,IAAIC,MAAMJ;IAClB;IAEA,oCAAoC;IACpC,MAAMK,QAAQ,MAAMT,MAAM;QACxBU,SAAS;QACTC,UAAU,CAACX,QAAkBA,MAAMY,MAAM,GAAG,KAAK;IACnD;IAEA,OAAOC,aAAaJ,OAAOF;AAC7B;AAEA,2EAA2E;AAC3E,MAAMO,aAAa;IACjB,MAAMC,UAAU;IAChB,MAAMC,YAAYd,eAAea,SAAS;IAC1C,MAAME,OAAOf,eAAe,wCAAwC;IACpE,OAAO,GAAGc,YAAYC,MAAM;AAC9B;AAEA,MAAMJ,eAAe,OAAOJ,OAAeF;IACzC,8EAA8E;IAC9E,MAAMW,UAAUJ;IAEhB,MAAMK,OAAOlB,QAAQ,wBAAwBmB,KAAK;IAElD,IAAI;QACF,MAAMC,WAAW,MAAMlB,sBAAsB;YAC3CmB,SAAS;YACTC,MAAM;gBACJL;gBACAT;gBACAe,MAAM;gBACNC,SAAS;YACX;YACAlB;QACF;QAEAY,KAAKO,OAAO;QACZ,OAAOL;IACT,EAAE,OAAOM,GAAG;QACV,yDAAyD;QACzD,IAAI;YAAC;YAAK;SAAI,CAACC,QAAQ,CAACD,GAAGE,aAAa;YACtCxB,YAAY;YACZ,OAAOQ,aAAaJ,OAAOF;QAC7B;QAEAY,KAAKW,IAAI;QAETzB,YAAY,mCAAmCsB;QAC/C,MAAMA;IACR;AACF"}
@@ -0,0 +1,162 @@
1
+ import { basename, dirname } from 'node:path';
2
+ import { styleText } from 'node:util';
3
+ import { createGzip } from 'node:zlib';
4
+ import { CLIError } from '@oclif/core/errors';
5
+ import { spinner } from '@sanity/cli-core/ux';
6
+ import { pack } from 'tar-fs';
7
+ import { createDeployment } from '../../services/userApplications.js';
8
+ import { getAppId } from '../../util/appId.js';
9
+ import { NO_ORGANIZATION_ID } from '../../util/errorMessages.js';
10
+ import { readModuleVersion } from '../../util/readModuleVersion.js';
11
+ import { warnAboutMissingAppId } from '../../util/warnAboutMissingAppId.js';
12
+ import { buildApp } from '../build/buildApp.js';
13
+ import { shouldAutoUpdate } from '../build/shouldAutoUpdate.js';
14
+ import { extractAppManifest } from '../manifest/extractAppManifest.js';
15
+ import { checkDir } from './checkDir.js';
16
+ import { createUserApplicationForApp } from './createUserApplicationForApp.js';
17
+ import { deployDebug } from './deployDebug.js';
18
+ import { findUserApplicationForApp } from './findUserApplicationForApp.js';
19
+ /**
20
+ * Deploy a Sanity application.
21
+ *
22
+ * @internal
23
+ */ export async function deployApp(options) {
24
+ const { cliConfig, exit, flags, output, sourceDir, workDir } = options;
25
+ const organizationId = cliConfig.app?.organizationId;
26
+ const appId = getAppId(cliConfig);
27
+ const isAutoUpdating = shouldAutoUpdate({
28
+ cliConfig,
29
+ flags,
30
+ output
31
+ });
32
+ const installedSdkVersion = await readModuleVersion(sourceDir, '@sanity/sdk-react');
33
+ if (!installedSdkVersion) {
34
+ output.error(`Failed to find installed @sanity/sdk-react version`, {
35
+ exit: 1
36
+ });
37
+ return;
38
+ }
39
+ if (!organizationId) {
40
+ output.error(NO_ORGANIZATION_ID, {
41
+ exit: 1
42
+ });
43
+ return;
44
+ }
45
+ let spin = spinner('Verifying local content...');
46
+ try {
47
+ let userApplication = await findUserApplicationForApp({
48
+ cliConfig,
49
+ organizationId,
50
+ output
51
+ });
52
+ deployDebug(`User application found`, userApplication);
53
+ if (!userApplication) {
54
+ deployDebug(`No user application found. Creating a new one`);
55
+ userApplication = await createUserApplicationForApp(organizationId);
56
+ deployDebug(`User application created`, userApplication);
57
+ }
58
+ // Warn about missing app ID if auto updates are enabled
59
+ if (isAutoUpdating && !appId) {
60
+ warnAboutMissingAppId({
61
+ appType: 'app',
62
+ output
63
+ });
64
+ }
65
+ // Always build the project, unless --no-build is passed
66
+ const shouldBuild = flags.build;
67
+ if (shouldBuild) {
68
+ deployDebug(`Building app`);
69
+ await buildApp({
70
+ autoUpdatesEnabled: isAutoUpdating,
71
+ cliConfig,
72
+ exit,
73
+ flags,
74
+ outDir: sourceDir,
75
+ output,
76
+ workDir
77
+ });
78
+ }
79
+ // Ensure that the directory exists, is a directory and seems to have valid content
80
+ spin = spin.start();
81
+ try {
82
+ await checkDir(sourceDir);
83
+ spin.succeed();
84
+ } catch (err) {
85
+ spin.fail();
86
+ deployDebug('Error checking directory', err);
87
+ output.error('Error checking directory', {
88
+ exit: 1
89
+ });
90
+ return;
91
+ }
92
+ // Create a tarball of the given directory
93
+ const parentDir = dirname(sourceDir);
94
+ const base = basename(sourceDir);
95
+ const tarball = pack(parentDir, {
96
+ entries: [
97
+ base
98
+ ]
99
+ }).pipe(createGzip());
100
+ let manifest;
101
+ try {
102
+ manifest = await extractAppManifest({
103
+ flags,
104
+ workDir
105
+ });
106
+ } catch (err) {
107
+ const message = err instanceof Error ? err.message : String(err);
108
+ deployDebug('Error extracting app manifest', err);
109
+ output.warn(`Error extracting app manifest: ${message}`);
110
+ }
111
+ spin = spinner('Deploying...').start();
112
+ await createDeployment({
113
+ applicationId: userApplication.id,
114
+ isApp: true,
115
+ isAutoUpdating,
116
+ manifest,
117
+ tarball,
118
+ version: installedSdkVersion
119
+ });
120
+ spin.succeed();
121
+ // And let the user know we're done
122
+ output.log(`\n🚀 ${styleText('bold', 'Success!')} Application deployed`);
123
+ if (!appId) {
124
+ output.log(`\n════ ${styleText('bold', 'Next step:')} ════`);
125
+ output.log(styleText('bold', '\nAdd the deployment.appId to your sanity.cli.js or sanity.cli.ts file:'));
126
+ output.log(`
127
+ ${styleText('dim', `app: {
128
+ // your application config here…
129
+ }`)},
130
+ ${styleText([
131
+ 'bold',
132
+ 'green'
133
+ ], `deployment: {
134
+ appId: '${userApplication.id}',
135
+ }\n`)}`);
136
+ }
137
+ } catch (error) {
138
+ spin.clear();
139
+ // Don't throw generic error if user cancels
140
+ if (error.name === 'ExitPromptError') {
141
+ output.error('Deployment cancelled by user', {
142
+ exit: 1
143
+ });
144
+ return;
145
+ }
146
+ // If the error is a CLIError, we can just output the message & error options (if any), while ensuring we exit
147
+ if (error instanceof CLIError) {
148
+ const { message, ...errorOptions } = error;
149
+ output.error(message, {
150
+ ...errorOptions,
151
+ exit: 1
152
+ });
153
+ return;
154
+ }
155
+ deployDebug('Error deploying application', error);
156
+ output.error(`Error deploying application: ${error}`, {
157
+ exit: 1
158
+ });
159
+ }
160
+ }
161
+
162
+ //# sourceMappingURL=deployApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/deploy/deployApp.ts"],"sourcesContent":["import {basename, dirname} from 'node:path'\nimport {styleText} from 'node:util'\nimport {createGzip} from 'node:zlib'\n\nimport {CLIError} from '@oclif/core/errors'\nimport {spinner} from '@sanity/cli-core/ux'\nimport {pack} from 'tar-fs'\n\nimport {createDeployment} from '../../services/userApplications.js'\nimport {getAppId} from '../../util/appId.js'\nimport {NO_ORGANIZATION_ID} from '../../util/errorMessages.js'\nimport {readModuleVersion} from '../../util/readModuleVersion.js'\nimport {warnAboutMissingAppId} from '../../util/warnAboutMissingAppId.js'\nimport {buildApp} from '../build/buildApp.js'\nimport {shouldAutoUpdate} from '../build/shouldAutoUpdate.js'\nimport {extractAppManifest} from '../manifest/extractAppManifest.js'\nimport {type AppManifest} from '../manifest/types.js'\nimport {checkDir} from './checkDir.js'\nimport {createUserApplicationForApp} from './createUserApplicationForApp.js'\nimport {deployDebug} from './deployDebug.js'\nimport {findUserApplicationForApp} from './findUserApplicationForApp.js'\nimport {type DeployAppOptions} from './types.js'\n\n/**\n * Deploy a Sanity application.\n *\n * @internal\n */\nexport async function deployApp(options: DeployAppOptions) {\n const {cliConfig, exit, flags, output, sourceDir, workDir} = options\n\n const organizationId = cliConfig.app?.organizationId\n const appId = getAppId(cliConfig)\n const isAutoUpdating = shouldAutoUpdate({cliConfig, flags, output})\n const installedSdkVersion = await readModuleVersion(sourceDir, '@sanity/sdk-react')\n\n if (!installedSdkVersion) {\n output.error(`Failed to find installed @sanity/sdk-react version`, {exit: 1})\n return\n }\n\n if (!organizationId) {\n output.error(NO_ORGANIZATION_ID, {exit: 1})\n return\n }\n\n let spin = spinner('Verifying local content...')\n\n try {\n let userApplication = await findUserApplicationForApp({\n cliConfig,\n organizationId,\n output,\n })\n\n deployDebug(`User application found`, userApplication)\n\n if (!userApplication) {\n deployDebug(`No user application found. Creating a new one`)\n\n userApplication = await createUserApplicationForApp(organizationId)\n deployDebug(`User application created`, userApplication)\n }\n\n // Warn about missing app ID if auto updates are enabled\n if (isAutoUpdating && !appId) {\n warnAboutMissingAppId({appType: 'app', output})\n }\n\n // Always build the project, unless --no-build is passed\n const shouldBuild = flags.build\n if (shouldBuild) {\n deployDebug(`Building app`)\n await buildApp({\n autoUpdatesEnabled: isAutoUpdating,\n cliConfig,\n exit,\n flags,\n outDir: sourceDir,\n output,\n workDir,\n })\n }\n\n // Ensure that the directory exists, is a directory and seems to have valid content\n spin = spin.start()\n try {\n await checkDir(sourceDir)\n spin.succeed()\n } catch (err) {\n spin.fail()\n deployDebug('Error checking directory', err)\n output.error('Error checking directory', {exit: 1})\n return\n }\n\n // Create a tarball of the given directory\n const parentDir = dirname(sourceDir)\n const base = basename(sourceDir)\n const tarball = pack(parentDir, {entries: [base]}).pipe(createGzip())\n let manifest: AppManifest | undefined\n try {\n manifest = await extractAppManifest({flags, workDir})\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n deployDebug('Error extracting app manifest', err)\n output.warn(`Error extracting app manifest: ${message}`)\n }\n\n spin = spinner('Deploying...').start()\n await createDeployment({\n applicationId: userApplication.id,\n isApp: true,\n isAutoUpdating,\n manifest,\n tarball,\n version: installedSdkVersion,\n })\n\n spin.succeed()\n\n // And let the user know we're done\n output.log(`\\n🚀 ${styleText('bold', 'Success!')} Application deployed`)\n\n if (!appId) {\n output.log(`\\n════ ${styleText('bold', 'Next step:')} ════`)\n output.log(\n styleText(\n 'bold',\n '\\nAdd the deployment.appId to your sanity.cli.js or sanity.cli.ts file:',\n ),\n )\n output.log(`\n${styleText(\n 'dim',\n `app: {\n // your application config here…\n}`,\n)},\n${styleText(\n ['bold', 'green'],\n `deployment: {\n appId: '${userApplication.id}',\n}\\n`,\n)}`)\n }\n } catch (error) {\n spin.clear()\n // Don't throw generic error if user cancels\n if (error.name === 'ExitPromptError') {\n output.error('Deployment cancelled by user', {exit: 1})\n return\n }\n // If the error is a CLIError, we can just output the message & error options (if any), while ensuring we exit\n if (error instanceof CLIError) {\n const {message, ...errorOptions} = error\n output.error(message, {...errorOptions, exit: 1})\n return\n }\n\n deployDebug('Error deploying application', error)\n output.error(`Error deploying application: ${error}`, {exit: 1})\n }\n}\n"],"names":["basename","dirname","styleText","createGzip","CLIError","spinner","pack","createDeployment","getAppId","NO_ORGANIZATION_ID","readModuleVersion","warnAboutMissingAppId","buildApp","shouldAutoUpdate","extractAppManifest","checkDir","createUserApplicationForApp","deployDebug","findUserApplicationForApp","deployApp","options","cliConfig","exit","flags","output","sourceDir","workDir","organizationId","app","appId","isAutoUpdating","installedSdkVersion","error","spin","userApplication","appType","shouldBuild","build","autoUpdatesEnabled","outDir","start","succeed","err","fail","parentDir","base","tarball","entries","pipe","manifest","message","Error","String","warn","applicationId","id","isApp","version","log","clear","name","errorOptions"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { subdebug } from '@sanity/cli-core';
2
+ export const deployDebug = subdebug('deploy');
3
+
4
+ //# sourceMappingURL=deployDebug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/deploy/deployDebug.ts"],"sourcesContent":["import {subdebug} from '@sanity/cli-core'\n\nexport const deployDebug = subdebug('deploy')\n"],"names":["subdebug","deployDebug"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,mBAAkB;AAEzC,OAAO,MAAMC,cAAcD,SAAS,UAAS"}
@@ -0,0 +1,134 @@
1
+ import { basename, dirname } from 'node:path';
2
+ import { styleText } from 'node:util';
3
+ import { createGzip } from 'node:zlib';
4
+ import { CLIError } from '@oclif/core/errors';
5
+ import { spinner } from '@sanity/cli-core/ux';
6
+ import { pack } from 'tar-fs';
7
+ import { createDeployment } from '../../services/userApplications.js';
8
+ import { getAppId } from '../../util/appId.js';
9
+ import { NO_PROJECT_ID } from '../../util/errorMessages.js';
10
+ import { readModuleVersion } from '../../util/readModuleVersion.js';
11
+ import { buildStudio } from '../build/buildStudio.js';
12
+ import { shouldAutoUpdate } from '../build/shouldAutoUpdate.js';
13
+ import { checkDir } from './checkDir.js';
14
+ import { createStudioUserApplication } from './createStudioUserApplication.js';
15
+ import { deployDebug } from './deployDebug.js';
16
+ import { findUserApplicationForStudio } from './findUserApplicationForStudio.js';
17
+ export async function deployStudio(options) {
18
+ const { cliConfig, exit, flags, output, sourceDir, workDir } = options;
19
+ const appHost = cliConfig.studioHost;
20
+ const appId = getAppId(cliConfig);
21
+ const projectId = cliConfig.api?.projectId;
22
+ const installedSanityVersion = await readModuleVersion(sourceDir, 'sanity');
23
+ const isAutoUpdating = shouldAutoUpdate({
24
+ cliConfig,
25
+ flags,
26
+ output
27
+ });
28
+ if (!installedSanityVersion) {
29
+ output.error(`Failed to find installed sanity version`, {
30
+ exit: 1
31
+ });
32
+ return;
33
+ }
34
+ if (!projectId) {
35
+ output.error(NO_PROJECT_ID, {
36
+ exit: 1
37
+ });
38
+ return;
39
+ }
40
+ let spin = spinner('Verifying local content');
41
+ try {
42
+ let userApplication = await findUserApplicationForStudio({
43
+ appHost,
44
+ appId,
45
+ output,
46
+ projectId
47
+ });
48
+ if (!userApplication) {
49
+ // otherwise, prompt the user for a hostname
50
+ output.log('Your project has not been assigned a studio hostname.');
51
+ output.log('To deploy your Sanity Studio to our hosted sanity.studio service,');
52
+ output.log('you will need one. Please enter the part you want to use.');
53
+ userApplication = await createStudioUserApplication(projectId);
54
+ deployDebug('Created user application', userApplication);
55
+ }
56
+ deployDebug('Found user application', userApplication);
57
+ // Always build the project, unless --no-build is passed
58
+ const shouldBuild = flags.build;
59
+ if (shouldBuild) {
60
+ deployDebug(`Building studio`);
61
+ await buildStudio({
62
+ autoUpdatesEnabled: isAutoUpdating,
63
+ cliConfig,
64
+ exit,
65
+ flags,
66
+ outDir: sourceDir,
67
+ output,
68
+ workDir
69
+ });
70
+ }
71
+ // TODO: Implement schema deployment
72
+ // await deploySchemasAction(
73
+ // {
74
+ // 'extract-manifest': shouldBuild,
75
+ // 'manifest-dir': `${sourceDir}/static`,
76
+ // 'schema-required': flags['schema-required'],
77
+ // 'verbose': flags.verbose,
78
+ // },
79
+ // {...context, manifestExtractor: createManifestExtractor(context)},
80
+ // )
81
+ // Ensure that the directory exists, is a directory and seems to have valid content
82
+ spin = spin.start();
83
+ try {
84
+ await checkDir(sourceDir);
85
+ spin.succeed();
86
+ } catch (err) {
87
+ spin.fail();
88
+ deployDebug('Error checking directory', err);
89
+ output.error('Error checking directory', {
90
+ exit: 1
91
+ });
92
+ }
93
+ // Create a tarball of the given directory
94
+ const parentDir = dirname(sourceDir);
95
+ const base = basename(sourceDir);
96
+ const tarball = pack(parentDir, {
97
+ entries: [
98
+ base
99
+ ]
100
+ }).pipe(createGzip());
101
+ spin = spinner('Deploying to sanity.studio').start();
102
+ const { location } = await createDeployment({
103
+ applicationId: userApplication.id,
104
+ isApp: false,
105
+ isAutoUpdating,
106
+ projectId,
107
+ tarball,
108
+ version: installedSanityVersion
109
+ });
110
+ spin.succeed();
111
+ // And let the user know we're done
112
+ output.log(`\nSuccess! Studio deployed to ${styleText('cyan', location || 'unknown URL')}`);
113
+ if (!appId) {
114
+ output.log(`\nAdd ${styleText('cyan', `deployment: { appId: '${userApplication.id}' }`)}`);
115
+ output.log(`to sanity.cli.js or sanity.cli.ts`);
116
+ output.log(`to avoid prompting on next deploy.`);
117
+ }
118
+ } catch (error) {
119
+ // if the error is a CLIError, we can just output the message and exit
120
+ if (error instanceof CLIError) {
121
+ output.error(error.message, {
122
+ exit: 1
123
+ });
124
+ return;
125
+ }
126
+ spin.fail();
127
+ deployDebug('Error deploying studio', error);
128
+ output.error(`Error deploying studio: ${error}`, {
129
+ exit: 1
130
+ });
131
+ }
132
+ }
133
+
134
+ //# sourceMappingURL=deployStudio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/deploy/deployStudio.ts"],"sourcesContent":["import {basename, dirname} from 'node:path'\nimport {styleText} from 'node:util'\nimport {createGzip} from 'node:zlib'\n\nimport {CLIError} from '@oclif/core/errors'\nimport {spinner} from '@sanity/cli-core/ux'\nimport {pack} from 'tar-fs'\n\nimport {createDeployment} from '../../services/userApplications.js'\nimport {getAppId} from '../../util/appId.js'\nimport {NO_PROJECT_ID} from '../../util/errorMessages.js'\nimport {readModuleVersion} from '../../util/readModuleVersion.js'\nimport {buildStudio} from '../build/buildStudio.js'\nimport {shouldAutoUpdate} from '../build/shouldAutoUpdate.js'\nimport {checkDir} from './checkDir.js'\nimport {createStudioUserApplication} from './createStudioUserApplication.js'\nimport {deployDebug} from './deployDebug.js'\nimport {findUserApplicationForStudio} from './findUserApplicationForStudio.js'\nimport {type DeployAppOptions} from './types.js'\n\nexport async function deployStudio(options: DeployAppOptions) {\n const {cliConfig, exit, flags, output, sourceDir, workDir} = options\n\n const appHost = cliConfig.studioHost\n const appId = getAppId(cliConfig)\n const projectId = cliConfig.api?.projectId\n const installedSanityVersion = await readModuleVersion(sourceDir, 'sanity')\n const isAutoUpdating = shouldAutoUpdate({cliConfig, flags, output})\n\n if (!installedSanityVersion) {\n output.error(`Failed to find installed sanity version`, {exit: 1})\n return\n }\n\n if (!projectId) {\n output.error(NO_PROJECT_ID, {exit: 1})\n return\n }\n\n let spin = spinner('Verifying local content')\n\n try {\n let userApplication = await findUserApplicationForStudio({\n appHost,\n appId,\n output,\n projectId,\n })\n\n if (!userApplication) {\n // otherwise, prompt the user for a hostname\n output.log('Your project has not been assigned a studio hostname.')\n output.log('To deploy your Sanity Studio to our hosted sanity.studio service,')\n output.log('you will need one. Please enter the part you want to use.')\n\n userApplication = await createStudioUserApplication(projectId)\n\n deployDebug('Created user application', userApplication)\n }\n\n deployDebug('Found user application', userApplication)\n\n // Always build the project, unless --no-build is passed\n const shouldBuild = flags.build\n if (shouldBuild) {\n deployDebug(`Building studio`)\n await buildStudio({\n autoUpdatesEnabled: isAutoUpdating,\n cliConfig,\n exit,\n flags,\n outDir: sourceDir,\n output,\n workDir,\n })\n }\n\n // TODO: Implement schema deployment\n // await deploySchemasAction(\n // {\n // 'extract-manifest': shouldBuild,\n // 'manifest-dir': `${sourceDir}/static`,\n // 'schema-required': flags['schema-required'],\n // 'verbose': flags.verbose,\n // },\n // {...context, manifestExtractor: createManifestExtractor(context)},\n // )\n\n // Ensure that the directory exists, is a directory and seems to have valid content\n spin = spin.start()\n try {\n await checkDir(sourceDir)\n spin.succeed()\n } catch (err) {\n spin.fail()\n deployDebug('Error checking directory', err)\n output.error('Error checking directory', {exit: 1})\n }\n\n // Create a tarball of the given directory\n const parentDir = dirname(sourceDir)\n const base = basename(sourceDir)\n const tarball = pack(parentDir, {entries: [base]}).pipe(createGzip())\n\n spin = spinner('Deploying to sanity.studio').start()\n\n const {location} = await createDeployment({\n applicationId: userApplication.id,\n isApp: false,\n isAutoUpdating,\n projectId,\n tarball,\n version: installedSanityVersion,\n })\n\n spin.succeed()\n\n // And let the user know we're done\n output.log(`\\nSuccess! Studio deployed to ${styleText('cyan', location || 'unknown URL')}`)\n\n if (!appId) {\n output.log(`\\nAdd ${styleText('cyan', `deployment: { appId: '${userApplication.id}' }`)}`)\n output.log(`to sanity.cli.js or sanity.cli.ts`)\n output.log(`to avoid prompting on next deploy.`)\n }\n } catch (error) {\n // if the error is a CLIError, we can just output the message and exit\n if (error instanceof CLIError) {\n output.error(error.message, {exit: 1})\n return\n }\n\n spin.fail()\n deployDebug('Error deploying studio', error)\n output.error(`Error deploying studio: ${error}`, {exit: 1})\n }\n}\n"],"names":["basename","dirname","styleText","createGzip","CLIError","spinner","pack","createDeployment","getAppId","NO_PROJECT_ID","readModuleVersion","buildStudio","shouldAutoUpdate","checkDir","createStudioUserApplication","deployDebug","findUserApplicationForStudio","deployStudio","options","cliConfig","exit","flags","output","sourceDir","workDir","appHost","studioHost","appId","projectId","api","installedSanityVersion","isAutoUpdating","error","spin","userApplication","log","shouldBuild","build","autoUpdatesEnabled","outDir","start","succeed","err","fail","parentDir","base","tarball","entries","pipe","location","applicationId","id","isApp","version","message"],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Helper functions to find a user application for a Sanity application.
3
+ */ import { select, Separator, spinner } from '@sanity/cli-core/ux';
4
+ import { getUserApplication, getUserApplications } from '../../services/userApplications.js';
5
+ import { checkForDeprecatedAppId, getAppId } from '../../util/appId.js';
6
+ import { deployDebug } from './deployDebug.js';
7
+ /**
8
+ * Find a user application for a Sanity application.
9
+ */ export async function findUserApplicationForApp(options) {
10
+ const { cliConfig, organizationId, output } = options;
11
+ const spin = spinner('Checking application info...').start();
12
+ try {
13
+ checkForDeprecatedAppId({
14
+ cliConfig,
15
+ output
16
+ });
17
+ deployDebug('Checking for a user application as specified in the local app config');
18
+ const userApplication = await findUserApplication(options);
19
+ if (userApplication) {
20
+ deployDebug('Found a user application as configured');
21
+ spin.succeed();
22
+ return userApplication;
23
+ }
24
+ const appId = getAppId(cliConfig);
25
+ // If there's an appId in the application config but there's no userApplication,
26
+ // then the provided application ID doesn’t exist in the org
27
+ if (appId) {
28
+ spin.clear();
29
+ output.error('The `appId` provided in your configuration’s `deployment` object cannot be found in your organization', {
30
+ exit: 1,
31
+ suggestions: [
32
+ 'Verify the appId in your configuration matches an existing application'
33
+ ]
34
+ });
35
+ return null;
36
+ }
37
+ // Done checking local application info
38
+ // Update the spinner text to indicate the next operation
39
+ spin.text = 'No application ID configured; checking for existing applications...';
40
+ // Get a list of existing applications to select from.
41
+ // This will fail if the org ID is malformed or the user doesn’t have access to the org ID
42
+ const userApplications = await getUserApplications({
43
+ appType: 'coreApp',
44
+ organizationId
45
+ });
46
+ // If no applications are found, return null
47
+ if (!userApplications?.length) {
48
+ return null;
49
+ }
50
+ // No app ID configured, done checking for existing applications;
51
+ // retain this spinner text for clarity
52
+ spin.info('No application ID configured');
53
+ // Enumerate the available applications
54
+ const choices = userApplications.map((app)=>({
55
+ name: app.title ?? app.appHost,
56
+ value: app.appHost
57
+ }));
58
+ // Ask the user to select an existing app or create a new one
59
+ const selected = await select({
60
+ choices: [
61
+ {
62
+ name: 'New application deployment',
63
+ value: 'NEW_APP'
64
+ },
65
+ new Separator(' ════ Existing applications: ════ '),
66
+ ...choices
67
+ ],
68
+ loop: false,
69
+ message: 'Would you like to create a new application deployment, or deploy to an existing one?',
70
+ pageSize: 10
71
+ });
72
+ // If the user wants to create a new deployed application, return null
73
+ if (selected === 'NEW_APP') {
74
+ return null;
75
+ }
76
+ return userApplications.find((app)=>app.appHost === selected);
77
+ } catch (error) {
78
+ // User can't access applications for the org
79
+ if (error?.statusCode === 403) {
80
+ spin.clear();
81
+ deployDebug('User does not have permission to get applications for the org, or the org ID is malformed/doesn’t exist', error);
82
+ output.error(`You don’t have permission to view applications for the configured organization ID ("${organizationId}")`, {
83
+ exit: 1,
84
+ suggestions: [
85
+ 'Verify that you’ve entered the correct organization ID',
86
+ 'Ask your Sanity organization’s admin to provide you with the proper permissions'
87
+ ]
88
+ });
89
+ return null;
90
+ }
91
+ // We've failed for some other reason
92
+ spin.clear();
93
+ deployDebug('Error finding user application for app', error);
94
+ output.error(error);
95
+ return null;
96
+ }
97
+ }
98
+ function findUserApplication(options) {
99
+ const { cliConfig } = options;
100
+ const appId = getAppId(cliConfig);
101
+ if (!appId) {
102
+ return null;
103
+ }
104
+ return getUserApplication({
105
+ appId,
106
+ isSdkApp: true
107
+ });
108
+ }
109
+
110
+ //# sourceMappingURL=findUserApplicationForApp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/deploy/findUserApplicationForApp.ts"],"sourcesContent":["/**\n * Helper functions to find a user application for a Sanity application.\n */\n\nimport {type CliConfig, type Output} from '@sanity/cli-core'\nimport {select, Separator, spinner} from '@sanity/cli-core/ux'\n\nimport {\n getUserApplication,\n getUserApplications,\n type UserApplication,\n} from '../../services/userApplications.js'\nimport {checkForDeprecatedAppId, getAppId} from '../../util/appId.js'\nimport {deployDebug} from './deployDebug.js'\n\ninterface FindUserApplicationForAppOptions {\n cliConfig: CliConfig\n organizationId: string\n output: Output\n}\n\n/**\n * Find a user application for a Sanity application.\n */\nexport async function findUserApplicationForApp(\n options: FindUserApplicationForAppOptions,\n): Promise<UserApplication | null> {\n const {cliConfig, organizationId, output} = options\n\n const spin = spinner('Checking application info...').start()\n\n try {\n checkForDeprecatedAppId({cliConfig, output})\n\n deployDebug('Checking for a user application as specified in the local app config')\n const userApplication = await findUserApplication(options)\n\n if (userApplication) {\n deployDebug('Found a user application as configured')\n spin.succeed()\n return userApplication\n }\n\n const appId = getAppId(cliConfig)\n\n // If there's an appId in the application config but there's no userApplication,\n // then the provided application ID doesn’t exist in the org\n if (appId) {\n spin.clear()\n output.error(\n 'The `appId` provided in your configuration’s `deployment` object cannot be found in your organization',\n {\n exit: 1,\n suggestions: ['Verify the appId in your configuration matches an existing application'],\n },\n )\n return null\n }\n\n // Done checking local application info\n // Update the spinner text to indicate the next operation\n spin.text = 'No application ID configured; checking for existing applications...'\n\n // Get a list of existing applications to select from.\n // This will fail if the org ID is malformed or the user doesn’t have access to the org ID\n const userApplications = await getUserApplications({\n appType: 'coreApp',\n organizationId,\n })\n\n // If no applications are found, return null\n if (!userApplications?.length) {\n return null\n }\n\n // No app ID configured, done checking for existing applications;\n // retain this spinner text for clarity\n spin.info('No application ID configured')\n\n // Enumerate the available applications\n const choices = userApplications.map((app) => ({\n name: app.title ?? app.appHost,\n value: app.appHost,\n }))\n\n // Ask the user to select an existing app or create a new one\n const selected = await select({\n choices: [\n {name: 'New application deployment', value: 'NEW_APP'},\n new Separator(' ════ Existing applications: ════ '),\n ...choices,\n ],\n loop: false,\n message:\n 'Would you like to create a new application deployment, or deploy to an existing one?',\n pageSize: 10,\n })\n\n // If the user wants to create a new deployed application, return null\n if (selected === 'NEW_APP') {\n return null\n }\n\n return userApplications.find((app) => app.appHost === selected)!\n } catch (error) {\n // User can't access applications for the org\n if (error?.statusCode === 403) {\n spin.clear()\n deployDebug(\n 'User does not have permission to get applications for the org, or the org ID is malformed/doesn’t exist',\n error,\n )\n output.error(\n `You don’t have permission to view applications for the configured organization ID (\"${organizationId}\")`,\n {\n exit: 1,\n suggestions: [\n 'Verify that you’ve entered the correct organization ID',\n 'Ask your Sanity organization’s admin to provide you with the proper permissions',\n ],\n },\n )\n return null\n }\n\n // We've failed for some other reason\n spin.clear()\n deployDebug('Error finding user application for app', error)\n output.error(error)\n return null\n }\n}\n\nfunction findUserApplication(\n options: FindUserApplicationForAppOptions,\n): Promise<UserApplication | null> | null {\n const {cliConfig} = options\n\n const appId = getAppId(cliConfig)\n\n if (!appId) {\n return null\n }\n\n return getUserApplication({appId, isSdkApp: true})\n}\n"],"names":["select","Separator","spinner","getUserApplication","getUserApplications","checkForDeprecatedAppId","getAppId","deployDebug","findUserApplicationForApp","options","cliConfig","organizationId","output","spin","start","userApplication","findUserApplication","succeed","appId","clear","error","exit","suggestions","text","userApplications","appType","length","info","choices","map","app","name","title","appHost","value","selected","loop","message","pageSize","find","statusCode","isSdkApp"],"mappings":"AAAA;;CAEC,GAGD,SAAQA,MAAM,EAAEC,SAAS,EAAEC,OAAO,QAAO,sBAAqB;AAE9D,SACEC,kBAAkB,EAClBC,mBAAmB,QAEd,qCAAoC;AAC3C,SAAQC,uBAAuB,EAAEC,QAAQ,QAAO,sBAAqB;AACrE,SAAQC,WAAW,QAAO,mBAAkB;AAQ5C;;CAEC,GACD,OAAO,eAAeC,0BACpBC,OAAyC;IAEzC,MAAM,EAACC,SAAS,EAAEC,cAAc,EAAEC,MAAM,EAAC,GAAGH;IAE5C,MAAMI,OAAOX,QAAQ,gCAAgCY,KAAK;IAE1D,IAAI;QACFT,wBAAwB;YAACK;YAAWE;QAAM;QAE1CL,YAAY;QACZ,MAAMQ,kBAAkB,MAAMC,oBAAoBP;QAElD,IAAIM,iBAAiB;YACnBR,YAAY;YACZM,KAAKI,OAAO;YACZ,OAAOF;QACT;QAEA,MAAMG,QAAQZ,SAASI;QAEvB,gFAAgF;QAChF,4DAA4D;QAC5D,IAAIQ,OAAO;YACTL,KAAKM,KAAK;YACVP,OAAOQ,KAAK,CACV,yGACA;gBACEC,MAAM;gBACNC,aAAa;oBAAC;iBAAyE;YACzF;YAEF,OAAO;QACT;QAEA,uCAAuC;QACvC,yDAAyD;QACzDT,KAAKU,IAAI,GAAG;QAEZ,sDAAsD;QACtD,0FAA0F;QAC1F,MAAMC,mBAAmB,MAAMpB,oBAAoB;YACjDqB,SAAS;YACTd;QACF;QAEA,4CAA4C;QAC5C,IAAI,CAACa,kBAAkBE,QAAQ;YAC7B,OAAO;QACT;QAEA,iEAAiE;QACjE,uCAAuC;QACvCb,KAAKc,IAAI,CAAC;QAEV,uCAAuC;QACvC,MAAMC,UAAUJ,iBAAiBK,GAAG,CAAC,CAACC,MAAS,CAAA;gBAC7CC,MAAMD,IAAIE,KAAK,IAAIF,IAAIG,OAAO;gBAC9BC,OAAOJ,IAAIG,OAAO;YACpB,CAAA;QAEA,6DAA6D;QAC7D,MAAME,WAAW,MAAMnC,OAAO;YAC5B4B,SAAS;gBACP;oBAACG,MAAM;oBAA8BG,OAAO;gBAAS;gBACrD,IAAIjC,UAAU;mBACX2B;aACJ;YACDQ,MAAM;YACNC,SACE;YACFC,UAAU;QACZ;QAEA,sEAAsE;QACtE,IAAIH,aAAa,WAAW;YAC1B,OAAO;QACT;QAEA,OAAOX,iBAAiBe,IAAI,CAAC,CAACT,MAAQA,IAAIG,OAAO,KAAKE;IACxD,EAAE,OAAOf,OAAO;QACd,6CAA6C;QAC7C,IAAIA,OAAOoB,eAAe,KAAK;YAC7B3B,KAAKM,KAAK;YACVZ,YACE,2GACAa;YAEFR,OAAOQ,KAAK,CACV,CAAC,oFAAoF,EAAET,eAAe,EAAE,CAAC,EACzG;gBACEU,MAAM;gBACNC,aAAa;oBACX;oBACA;iBACD;YACH;YAEF,OAAO;QACT;QAEA,qCAAqC;QACrCT,KAAKM,KAAK;QACVZ,YAAY,0CAA0Ca;QACtDR,OAAOQ,KAAK,CAACA;QACb,OAAO;IACT;AACF;AAEA,SAASJ,oBACPP,OAAyC;IAEzC,MAAM,EAACC,SAAS,EAAC,GAAGD;IAEpB,MAAMS,QAAQZ,SAASI;IAEvB,IAAI,CAACQ,OAAO;QACV,OAAO;IACT;IAEA,OAAOf,mBAAmB;QAACe;QAAOuB,UAAU;IAAI;AAClD"}