@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,26 @@
1
+ export function getStatusDisplay(status) {
2
+ switch(status){
3
+ case 'denied':
4
+ {
5
+ return 'Disabled';
6
+ }
7
+ case 'granted':
8
+ {
9
+ return 'Enabled';
10
+ }
11
+ case 'undetermined':
12
+ {
13
+ return 'Undetermined';
14
+ }
15
+ case 'unset':
16
+ {
17
+ return 'Not set';
18
+ }
19
+ default:
20
+ {
21
+ return 'Unknown';
22
+ }
23
+ }
24
+ }
25
+
26
+ //# sourceMappingURL=getStatusDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/telemetry/getStatusDisplay.ts"],"sourcesContent":["import {type ConsentInformation} from '@sanity/cli-core'\n\nexport function getStatusDisplay(status: ConsentInformation['status']): string {\n switch (status) {\n case 'denied': {\n return 'Disabled'\n }\n case 'granted': {\n return 'Enabled'\n }\n case 'undetermined': {\n return 'Undetermined'\n }\n case 'unset': {\n return 'Not set'\n }\n default: {\n return 'Unknown'\n }\n }\n}\n"],"names":["getStatusDisplay","status"],"mappings":"AAEA,OAAO,SAASA,iBAAiBC,MAAoC;IACnE,OAAQA;QACN,KAAK;YAAU;gBACb,OAAO;YACT;QACA,KAAK;YAAW;gBACd,OAAO;YACT;QACA,KAAK;YAAgB;gBACnB,OAAO;YACT;QACA,KAAK;YAAS;gBACZ,OAAO;YACT;QACA;YAAS;gBACP,OAAO;YACT;IACF;AACF"}
@@ -0,0 +1,36 @@
1
+ import { getStatusDisplay } from './getStatusDisplay.js';
2
+ export function getStatusMessage(consentInfo) {
3
+ const { reason, status } = consentInfo;
4
+ switch(true){
5
+ case status === 'undetermined' && reason === 'unauthenticated':
6
+ {
7
+ return 'You need to log in first to see telemetry status.';
8
+ }
9
+ case status === 'undetermined' && reason === 'fetchError':
10
+ {
11
+ return 'Could not fetch telemetry consent status.';
12
+ }
13
+ case status === 'denied' && reason === 'localOverride':
14
+ {
15
+ return `Status: ${getStatusDisplay(status)}\n\nYou've opted out of telemetry data collection.\nNo data will be collected from your machine.\n\nUsing DO_NOT_TRACK environment variable.`;
16
+ }
17
+ case status === 'denied':
18
+ {
19
+ return `Status: ${getStatusDisplay(status)}\n\nYou've opted out of telemetry data collection.\nNo data will be collected from your Sanity account.`;
20
+ }
21
+ case status === 'granted':
22
+ {
23
+ return `Status: ${getStatusDisplay(status)}\n\nTelemetry data on general usage and errors is collected to help us improve Sanity.`;
24
+ }
25
+ case status === 'unset':
26
+ {
27
+ return `Status: ${getStatusDisplay(status)}\n\nYou've not set your preference for telemetry collection.\n\nRun 'npx sanity telemetry enable/disable' to opt in or out.\nYou can also use the DO_NOT_TRACK environment variable to opt out.`;
28
+ }
29
+ default:
30
+ {
31
+ return `Status: ${getStatusDisplay(status)}`;
32
+ }
33
+ }
34
+ }
35
+
36
+ //# sourceMappingURL=getStatusMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/telemetry/getStatusMessage.ts"],"sourcesContent":["import {type ConsentInformation} from '@sanity/cli-core'\n\nimport {getStatusDisplay} from './getStatusDisplay.js'\n\nexport function getStatusMessage(consentInfo: ConsentInformation): string {\n const {reason, status} = consentInfo\n\n switch (true) {\n case status === 'undetermined' && reason === 'unauthenticated': {\n return 'You need to log in first to see telemetry status.'\n }\n\n case status === 'undetermined' && reason === 'fetchError': {\n return 'Could not fetch telemetry consent status.'\n }\n\n case status === 'denied' && reason === 'localOverride': {\n return `Status: ${getStatusDisplay(status)}\\n\\nYou've opted out of telemetry data collection.\\nNo data will be collected from your machine.\\n\\nUsing DO_NOT_TRACK environment variable.`\n }\n\n case status === 'denied': {\n return `Status: ${getStatusDisplay(status)}\\n\\nYou've opted out of telemetry data collection.\\nNo data will be collected from your Sanity account.`\n }\n\n case status === 'granted': {\n return `Status: ${getStatusDisplay(status)}\\n\\nTelemetry data on general usage and errors is collected to help us improve Sanity.`\n }\n\n case status === 'unset': {\n return `Status: ${getStatusDisplay(status)}\\n\\nYou've not set your preference for telemetry collection.\\n\\nRun 'npx sanity telemetry enable/disable' to opt in or out.\\nYou can also use the DO_NOT_TRACK environment variable to opt out.`\n }\n\n default: {\n return `Status: ${getStatusDisplay(status)}`\n }\n }\n}\n"],"names":["getStatusDisplay","getStatusMessage","consentInfo","reason","status"],"mappings":"AAEA,SAAQA,gBAAgB,QAAO,wBAAuB;AAEtD,OAAO,SAASC,iBAAiBC,WAA+B;IAC9D,MAAM,EAACC,MAAM,EAAEC,MAAM,EAAC,GAAGF;IAEzB,OAAQ;QACN,KAAKE,WAAW,kBAAkBD,WAAW;YAAmB;gBAC9D,OAAO;YACT;QAEA,KAAKC,WAAW,kBAAkBD,WAAW;YAAc;gBACzD,OAAO;YACT;QAEA,KAAKC,WAAW,YAAYD,WAAW;YAAiB;gBACtD,OAAO,CAAC,QAAQ,EAAEH,iBAAiBI,QAAQ,4IAA4I,CAAC;YAC1L;QAEA,KAAKA,WAAW;YAAU;gBACxB,OAAO,CAAC,QAAQ,EAAEJ,iBAAiBI,QAAQ,uGAAuG,CAAC;YACrJ;QAEA,KAAKA,WAAW;YAAW;gBACzB,OAAO,CAAC,QAAQ,EAAEJ,iBAAiBI,QAAQ,sFAAsF,CAAC;YACpI;QAEA,KAAKA,WAAW;YAAS;gBACvB,OAAO,CAAC,QAAQ,EAAEJ,iBAAiBI,QAAQ,+LAA+L,CAAC;YAC7O;QAEA;YAAS;gBACP,OAAO,CAAC,QAAQ,EAAEJ,iBAAiBI,SAAS;YAC9C;IACF;AACF"}
@@ -0,0 +1,48 @@
1
+ import { getCliToken, isCi, isTrueish } from '@sanity/cli-core';
2
+ import { fetchTelemetryConsent, isValidApiConsentStatus, VALID_API_STATUSES } from '../../services/telemetry.js';
3
+ import { telemetryDebug } from './telemetryDebug.js';
4
+ function parseApiConsentStatus(value) {
5
+ if (typeof value === 'string' && isValidApiConsentStatus(value)) {
6
+ return value;
7
+ }
8
+ throw new Error(`Invalid consent status. Must be one of: ${VALID_API_STATUSES.join(', ')}`);
9
+ }
10
+ export async function resolveConsent() {
11
+ telemetryDebug('Resolving consent…');
12
+ if (isCi()) {
13
+ telemetryDebug('CI environment detected, treating telemetry consent as denied');
14
+ return {
15
+ status: 'denied'
16
+ };
17
+ }
18
+ if (isTrueish(process.env.DO_NOT_TRACK)) {
19
+ telemetryDebug('DO_NOT_TRACK is set, consent is denied');
20
+ return {
21
+ reason: 'localOverride',
22
+ status: 'denied'
23
+ };
24
+ }
25
+ const token = await getCliToken();
26
+ if (!token) {
27
+ telemetryDebug('User is not logged in, consent is undetermined');
28
+ return {
29
+ reason: 'unauthenticated',
30
+ status: 'undetermined'
31
+ };
32
+ }
33
+ try {
34
+ const response = await fetchTelemetryConsent();
35
+ telemetryDebug('User consent status is %s', response.status);
36
+ return {
37
+ status: parseApiConsentStatus(response.status)
38
+ };
39
+ } catch (err) {
40
+ telemetryDebug('Failed to fetch user consent status, treating it as "undetermined": %s', err);
41
+ return {
42
+ reason: 'fetchError',
43
+ status: 'undetermined'
44
+ };
45
+ }
46
+ }
47
+
48
+ //# sourceMappingURL=resolveConsent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/telemetry/resolveConsent.ts"],"sourcesContent":["import {type ConsentInformation, getCliToken, isCi, isTrueish} from '@sanity/cli-core'\n\nimport {\n fetchTelemetryConsent,\n isValidApiConsentStatus,\n VALID_API_STATUSES,\n type ValidApiConsentStatus,\n} from '../../services/telemetry.js'\nimport {telemetryDebug} from './telemetryDebug.js'\n\nfunction parseApiConsentStatus(value: unknown): ValidApiConsentStatus {\n if (typeof value === 'string' && isValidApiConsentStatus(value)) {\n return value\n }\n throw new Error(`Invalid consent status. Must be one of: ${VALID_API_STATUSES.join(', ')}`)\n}\n\nexport async function resolveConsent(): Promise<ConsentInformation> {\n telemetryDebug('Resolving consent…')\n if (isCi()) {\n telemetryDebug('CI environment detected, treating telemetry consent as denied')\n return {status: 'denied'}\n }\n\n if (isTrueish(process.env.DO_NOT_TRACK)) {\n telemetryDebug('DO_NOT_TRACK is set, consent is denied')\n return {\n reason: 'localOverride',\n status: 'denied',\n }\n }\n\n const token = await getCliToken()\n if (!token) {\n telemetryDebug('User is not logged in, consent is undetermined')\n return {\n reason: 'unauthenticated',\n status: 'undetermined',\n }\n }\n\n try {\n const response = await fetchTelemetryConsent()\n\n telemetryDebug('User consent status is %s', response.status)\n return {status: parseApiConsentStatus(response.status)}\n } catch (err) {\n telemetryDebug('Failed to fetch user consent status, treating it as \"undetermined\": %s', err)\n return {\n reason: 'fetchError',\n status: 'undetermined',\n }\n }\n}\n"],"names":["getCliToken","isCi","isTrueish","fetchTelemetryConsent","isValidApiConsentStatus","VALID_API_STATUSES","telemetryDebug","parseApiConsentStatus","value","Error","join","resolveConsent","status","process","env","DO_NOT_TRACK","reason","token","response","err"],"mappings":"AAAA,SAAiCA,WAAW,EAAEC,IAAI,EAAEC,SAAS,QAAO,mBAAkB;AAEtF,SACEC,qBAAqB,EACrBC,uBAAuB,EACvBC,kBAAkB,QAEb,8BAA6B;AACpC,SAAQC,cAAc,QAAO,sBAAqB;AAElD,SAASC,sBAAsBC,KAAc;IAC3C,IAAI,OAAOA,UAAU,YAAYJ,wBAAwBI,QAAQ;QAC/D,OAAOA;IACT;IACA,MAAM,IAAIC,MAAM,CAAC,wCAAwC,EAAEJ,mBAAmBK,IAAI,CAAC,OAAO;AAC5F;AAEA,OAAO,eAAeC;IACpBL,eAAe;IACf,IAAIL,QAAQ;QACVK,eAAe;QACf,OAAO;YAACM,QAAQ;QAAQ;IAC1B;IAEA,IAAIV,UAAUW,QAAQC,GAAG,CAACC,YAAY,GAAG;QACvCT,eAAe;QACf,OAAO;YACLU,QAAQ;YACRJ,QAAQ;QACV;IACF;IAEA,MAAMK,QAAQ,MAAMjB;IACpB,IAAI,CAACiB,OAAO;QACVX,eAAe;QACf,OAAO;YACLU,QAAQ;YACRJ,QAAQ;QACV;IACF;IAEA,IAAI;QACF,MAAMM,WAAW,MAAMf;QAEvBG,eAAe,6BAA6BY,SAASN,MAAM;QAC3D,OAAO;YAACA,QAAQL,sBAAsBW,SAASN,MAAM;QAAC;IACxD,EAAE,OAAOO,KAAK;QACZb,eAAe,0EAA0Ea;QACzF,OAAO;YACLH,QAAQ;YACRJ,QAAQ;QACV;IACF;AACF"}
@@ -0,0 +1,83 @@
1
+ import { getGlobalCliClient, getUserConfig, isCi, isTrueish } from '@sanity/cli-core';
2
+ import { TELEMETRY_CONSENT_CONFIG_KEY } from '../../services/telemetry.js';
3
+ import { resolveConsent } from './resolveConsent.js';
4
+ import { telemetryDebug } from './telemetryDebug.js';
5
+ // Type guard for error objects with HTTP properties
6
+ function isHttpError(error) {
7
+ return typeof error === 'object' && error !== null && 'statusCode' in error && 'message' in error;
8
+ }
9
+ export async function setConsent({ status }) {
10
+ telemetryDebug('Setting telemetry consent to "%s"', status);
11
+ // Check current consent status first
12
+ const currentConsent = await resolveConsent();
13
+ // Handle various blocking conditions
14
+ if (isCi()) {
15
+ return {
16
+ changed: false,
17
+ currentStatus: currentConsent,
18
+ message: 'Cannot set telemetry consent in CI environment'
19
+ };
20
+ }
21
+ if (isTrueish(process.env.DO_NOT_TRACK) && status === 'granted') {
22
+ return {
23
+ changed: false,
24
+ currentStatus: currentConsent,
25
+ message: 'Cannot enable telemetry while DO_NOT_TRACK environment variable is set. Unset DO_NOT_TRACK to enable telemetry.'
26
+ };
27
+ }
28
+ // Check if already at desired status
29
+ if (currentConsent.status === status) {
30
+ const message = status === 'granted' ? "You've already enabled telemetry data collection to help us improve Sanity." : currentConsent.reason === 'localOverride' ? "You've already opted out of telemetry data collection.\nNo data is collected from your machine.\n\nUsing DO_NOT_TRACK environment variable." : "You've already opted out of telemetry data collection.\nNo data is collected from your Sanity account.";
31
+ return {
32
+ changed: false,
33
+ currentStatus: currentConsent,
34
+ message
35
+ };
36
+ }
37
+ // User must be logged in to set consent
38
+ if (currentConsent.status === 'undetermined' && currentConsent.reason === 'unauthenticated') {
39
+ return {
40
+ changed: false,
41
+ currentStatus: currentConsent,
42
+ message: 'You need to log in first to set telemetry preferences.'
43
+ };
44
+ }
45
+ try {
46
+ const client = await getGlobalCliClient({
47
+ apiVersion: '2023-12-18',
48
+ requireUser: true
49
+ });
50
+ const uri = `/users/me/consents/telemetry/status/${status}`;
51
+ telemetryDebug('Sending telemetry consent status to %s', uri);
52
+ await client.request({
53
+ method: 'PUT',
54
+ uri
55
+ });
56
+ // Clear cached telemetry consent
57
+ const userConfig = getUserConfig();
58
+ userConfig.delete(TELEMETRY_CONSENT_CONFIG_KEY);
59
+ const successMessage = status === 'granted' ? "You've now enabled telemetry data collection to help us improve Sanity." : "You've opted out of telemetry data collection.\nNo data will be collected from your Sanity account.";
60
+ const newConsent = await resolveConsent();
61
+ return {
62
+ changed: true,
63
+ currentStatus: newConsent,
64
+ message: successMessage
65
+ };
66
+ } catch (err) {
67
+ const errorMessage = `Failed to ${status === 'granted' ? 'enable' : 'disable'} telemetry`;
68
+ if (isHttpError(err) && err.statusCode === 403) {
69
+ // Create a new error without stack trace from original error
70
+ const message = err.response?.body?.message ? `${errorMessage}: ${err.response.body.message}` : errorMessage;
71
+ throw new Error(message);
72
+ }
73
+ if (isHttpError(err)) {
74
+ // For other errors, preserve the original error but update the message
75
+ err.message = err.response?.body?.message ? `${errorMessage}: ${err.response.body.message}` : errorMessage;
76
+ throw err;
77
+ }
78
+ // For non-HTTP errors, wrap in a new error
79
+ throw new Error(errorMessage);
80
+ }
81
+ }
82
+
83
+ //# sourceMappingURL=setConsent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/telemetry/setConsent.ts"],"sourcesContent":["import {\n type ConsentInformation,\n getGlobalCliClient,\n getUserConfig,\n isCi,\n isTrueish,\n} from '@sanity/cli-core'\n\nimport {TELEMETRY_CONSENT_CONFIG_KEY, type ValidApiConsentStatus} from '../../services/telemetry.js'\nimport {resolveConsent} from './resolveConsent.js'\nimport {telemetryDebug} from './telemetryDebug.js'\n\ntype SettableConsentStatus = Extract<ValidApiConsentStatus, 'denied' | 'granted'>\n\n// Type guard for error objects with HTTP properties\nfunction isHttpError(error: unknown): error is {\n message: string\n response?: {body?: {message?: string}}\n statusCode: number\n} {\n return typeof error === 'object' && error !== null && 'statusCode' in error && 'message' in error\n}\n\ninterface SetConsentOptions {\n status: SettableConsentStatus\n}\n\ninterface SetConsentResult {\n changed: boolean\n currentStatus: ConsentInformation\n message: string\n}\n\nexport async function setConsent({status}: SetConsentOptions): Promise<SetConsentResult> {\n telemetryDebug('Setting telemetry consent to \"%s\"', status)\n\n // Check current consent status first\n const currentConsent = await resolveConsent()\n\n // Handle various blocking conditions\n if (isCi()) {\n return {\n changed: false,\n currentStatus: currentConsent,\n message: 'Cannot set telemetry consent in CI environment',\n }\n }\n\n if (isTrueish(process.env.DO_NOT_TRACK) && status === 'granted') {\n return {\n changed: false,\n currentStatus: currentConsent,\n message:\n 'Cannot enable telemetry while DO_NOT_TRACK environment variable is set. Unset DO_NOT_TRACK to enable telemetry.',\n }\n }\n\n // Check if already at desired status\n if (currentConsent.status === status) {\n const message =\n status === 'granted'\n ? \"You've already enabled telemetry data collection to help us improve Sanity.\"\n : currentConsent.reason === 'localOverride'\n ? \"You've already opted out of telemetry data collection.\\nNo data is collected from your machine.\\n\\nUsing DO_NOT_TRACK environment variable.\"\n : \"You've already opted out of telemetry data collection.\\nNo data is collected from your Sanity account.\"\n\n return {\n changed: false,\n currentStatus: currentConsent,\n message,\n }\n }\n\n // User must be logged in to set consent\n if (currentConsent.status === 'undetermined' && currentConsent.reason === 'unauthenticated') {\n return {\n changed: false,\n currentStatus: currentConsent,\n message: 'You need to log in first to set telemetry preferences.',\n }\n }\n\n try {\n const client = await getGlobalCliClient({\n apiVersion: '2023-12-18',\n requireUser: true,\n })\n\n const uri = `/users/me/consents/telemetry/status/${status}`\n telemetryDebug('Sending telemetry consent status to %s', uri)\n\n await client.request({\n method: 'PUT',\n uri,\n })\n\n // Clear cached telemetry consent\n const userConfig = getUserConfig()\n userConfig.delete(TELEMETRY_CONSENT_CONFIG_KEY)\n\n const successMessage =\n status === 'granted'\n ? \"You've now enabled telemetry data collection to help us improve Sanity.\"\n : \"You've opted out of telemetry data collection.\\nNo data will be collected from your Sanity account.\"\n\n const newConsent = await resolveConsent()\n\n return {\n changed: true,\n currentStatus: newConsent,\n message: successMessage,\n }\n } catch (err: unknown) {\n const errorMessage = `Failed to ${status === 'granted' ? 'enable' : 'disable'} telemetry`\n\n if (isHttpError(err) && err.statusCode === 403) {\n // Create a new error without stack trace from original error\n const message = err.response?.body?.message\n ? `${errorMessage}: ${err.response.body.message}`\n : errorMessage\n throw new Error(message)\n }\n\n if (isHttpError(err)) {\n // For other errors, preserve the original error but update the message\n err.message = err.response?.body?.message\n ? `${errorMessage}: ${err.response.body.message}`\n : errorMessage\n throw err\n }\n\n // For non-HTTP errors, wrap in a new error\n throw new Error(errorMessage)\n }\n}\n"],"names":["getGlobalCliClient","getUserConfig","isCi","isTrueish","TELEMETRY_CONSENT_CONFIG_KEY","resolveConsent","telemetryDebug","isHttpError","error","setConsent","status","currentConsent","changed","currentStatus","message","process","env","DO_NOT_TRACK","reason","client","apiVersion","requireUser","uri","request","method","userConfig","delete","successMessage","newConsent","err","errorMessage","statusCode","response","body","Error"],"mappings":"AAAA,SAEEA,kBAAkB,EAClBC,aAAa,EACbC,IAAI,EACJC,SAAS,QACJ,mBAAkB;AAEzB,SAAQC,4BAA4B,QAAmC,8BAA6B;AACpG,SAAQC,cAAc,QAAO,sBAAqB;AAClD,SAAQC,cAAc,QAAO,sBAAqB;AAIlD,oDAAoD;AACpD,SAASC,YAAYC,KAAc;IAKjC,OAAO,OAAOA,UAAU,YAAYA,UAAU,QAAQ,gBAAgBA,SAAS,aAAaA;AAC9F;AAYA,OAAO,eAAeC,WAAW,EAACC,MAAM,EAAoB;IAC1DJ,eAAe,qCAAqCI;IAEpD,qCAAqC;IACrC,MAAMC,iBAAiB,MAAMN;IAE7B,qCAAqC;IACrC,IAAIH,QAAQ;QACV,OAAO;YACLU,SAAS;YACTC,eAAeF;YACfG,SAAS;QACX;IACF;IAEA,IAAIX,UAAUY,QAAQC,GAAG,CAACC,YAAY,KAAKP,WAAW,WAAW;QAC/D,OAAO;YACLE,SAAS;YACTC,eAAeF;YACfG,SACE;QACJ;IACF;IAEA,qCAAqC;IACrC,IAAIH,eAAeD,MAAM,KAAKA,QAAQ;QACpC,MAAMI,UACJJ,WAAW,YACP,gFACAC,eAAeO,MAAM,KAAK,kBACxB,gJACA;QAER,OAAO;YACLN,SAAS;YACTC,eAAeF;YACfG;QACF;IACF;IAEA,wCAAwC;IACxC,IAAIH,eAAeD,MAAM,KAAK,kBAAkBC,eAAeO,MAAM,KAAK,mBAAmB;QAC3F,OAAO;YACLN,SAAS;YACTC,eAAeF;YACfG,SAAS;QACX;IACF;IAEA,IAAI;QACF,MAAMK,SAAS,MAAMnB,mBAAmB;YACtCoB,YAAY;YACZC,aAAa;QACf;QAEA,MAAMC,MAAM,CAAC,oCAAoC,EAAEZ,QAAQ;QAC3DJ,eAAe,0CAA0CgB;QAEzD,MAAMH,OAAOI,OAAO,CAAC;YACnBC,QAAQ;YACRF;QACF;QAEA,iCAAiC;QACjC,MAAMG,aAAaxB;QACnBwB,WAAWC,MAAM,CAACtB;QAElB,MAAMuB,iBACJjB,WAAW,YACP,4EACA;QAEN,MAAMkB,aAAa,MAAMvB;QAEzB,OAAO;YACLO,SAAS;YACTC,eAAee;YACfd,SAASa;QACX;IACF,EAAE,OAAOE,KAAc;QACrB,MAAMC,eAAe,CAAC,UAAU,EAAEpB,WAAW,YAAY,WAAW,UAAU,UAAU,CAAC;QAEzF,IAAIH,YAAYsB,QAAQA,IAAIE,UAAU,KAAK,KAAK;YAC9C,6DAA6D;YAC7D,MAAMjB,UAAUe,IAAIG,QAAQ,EAAEC,MAAMnB,UAChC,GAAGgB,aAAa,EAAE,EAAED,IAAIG,QAAQ,CAACC,IAAI,CAACnB,OAAO,EAAE,GAC/CgB;YACJ,MAAM,IAAII,MAAMpB;QAClB;QAEA,IAAIP,YAAYsB,MAAM;YACpB,uEAAuE;YACvEA,IAAIf,OAAO,GAAGe,IAAIG,QAAQ,EAAEC,MAAMnB,UAC9B,GAAGgB,aAAa,EAAE,EAAED,IAAIG,QAAQ,CAACC,IAAI,CAACnB,OAAO,EAAE,GAC/CgB;YACJ,MAAMD;QACR;QAEA,2CAA2C;QAC3C,MAAM,IAAIK,MAAMJ;IAClB;AACF"}
@@ -0,0 +1,4 @@
1
+ import { subdebug } from '@sanity/cli-core';
2
+ export const telemetryDebug = subdebug('telemetry');
3
+
4
+ //# sourceMappingURL=telemetryDebug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/telemetry/telemetryDebug.ts"],"sourcesContent":["import {subdebug} from '@sanity/cli-core'\n\nexport const telemetryDebug = subdebug('telemetry')\n"],"names":["subdebug","telemetryDebug"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,mBAAkB;AAEzC,OAAO,MAAMC,iBAAiBD,SAAS,aAAY"}
@@ -0,0 +1,33 @@
1
+ import { styleText } from 'node:util';
2
+ import { ux } from '@oclif/core';
3
+ import { getUserConfig, isCi } from '@sanity/cli-core';
4
+ import { boxen } from '@sanity/cli-core/ux';
5
+ import { telemetryDebug } from './telemetryDebug.js';
6
+ import { telemetryLearnMoreMessage } from './telemetryLearnMoreMessage.js';
7
+ const TELEMETRY_DISCLOSED_CONFIG_KEY = 'telemetryDisclosed';
8
+ export function telemetryDisclosure() {
9
+ const userConfig = getUserConfig();
10
+ if (isCi()) {
11
+ telemetryDebug('CI environment detected, skipping telemetry disclosure');
12
+ return;
13
+ }
14
+ if (userConfig.get(TELEMETRY_DISCLOSED_CONFIG_KEY)) {
15
+ telemetryDebug('Telemetry disclosure has already been shown');
16
+ return;
17
+ }
18
+ // Print to stderr to prevent garbling command output
19
+ ux.stderr(boxen(`The Sanity CLI now collects telemetry data on general usage and errors.
20
+ This helps us improve Sanity and prioritize features.
21
+
22
+ To opt in/out, run ${styleText('cyan', 'npx sanity telemetry enable/disable')}.
23
+
24
+ ${telemetryLearnMoreMessage('unset')}`, {
25
+ borderColor: 'yellow',
26
+ borderStyle: 'round',
27
+ margin: 1,
28
+ padding: 1
29
+ }));
30
+ userConfig.set(TELEMETRY_DISCLOSED_CONFIG_KEY, Date.now());
31
+ }
32
+
33
+ //# sourceMappingURL=telemetryDisclosure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/telemetry/telemetryDisclosure.ts"],"sourcesContent":["import {styleText} from 'node:util'\n\nimport {ux} from '@oclif/core'\nimport {getUserConfig, isCi} from '@sanity/cli-core'\nimport {boxen} from '@sanity/cli-core/ux'\n\nimport {telemetryDebug} from './telemetryDebug.js'\nimport {telemetryLearnMoreMessage} from './telemetryLearnMoreMessage.js'\n\nconst TELEMETRY_DISCLOSED_CONFIG_KEY = 'telemetryDisclosed'\n\nexport function telemetryDisclosure(): void {\n const userConfig = getUserConfig()\n\n if (isCi()) {\n telemetryDebug('CI environment detected, skipping telemetry disclosure')\n return\n }\n\n if (userConfig.get(TELEMETRY_DISCLOSED_CONFIG_KEY)) {\n telemetryDebug('Telemetry disclosure has already been shown')\n return\n }\n\n // Print to stderr to prevent garbling command output\n ux.stderr(\n boxen(\n `The Sanity CLI now collects telemetry data on general usage and errors.\nThis helps us improve Sanity and prioritize features.\n\nTo opt in/out, run ${styleText('cyan', 'npx sanity telemetry enable/disable')}.\n\n${telemetryLearnMoreMessage('unset')}`,\n {\n borderColor: 'yellow',\n borderStyle: 'round',\n margin: 1,\n padding: 1,\n },\n ),\n )\n\n userConfig.set(TELEMETRY_DISCLOSED_CONFIG_KEY, Date.now())\n}\n"],"names":["styleText","ux","getUserConfig","isCi","boxen","telemetryDebug","telemetryLearnMoreMessage","TELEMETRY_DISCLOSED_CONFIG_KEY","telemetryDisclosure","userConfig","get","stderr","borderColor","borderStyle","margin","padding","set","Date","now"],"mappings":"AAAA,SAAQA,SAAS,QAAO,YAAW;AAEnC,SAAQC,EAAE,QAAO,cAAa;AAC9B,SAAQC,aAAa,EAAEC,IAAI,QAAO,mBAAkB;AACpD,SAAQC,KAAK,QAAO,sBAAqB;AAEzC,SAAQC,cAAc,QAAO,sBAAqB;AAClD,SAAQC,yBAAyB,QAAO,iCAAgC;AAExE,MAAMC,iCAAiC;AAEvC,OAAO,SAASC;IACd,MAAMC,aAAaP;IAEnB,IAAIC,QAAQ;QACVE,eAAe;QACf;IACF;IAEA,IAAII,WAAWC,GAAG,CAACH,iCAAiC;QAClDF,eAAe;QACf;IACF;IAEA,qDAAqD;IACrDJ,GAAGU,MAAM,CACPP,MACE,CAAC;;;mBAGY,EAAEJ,UAAU,QAAQ,uCAAuC;;AAE9E,EAAEM,0BAA0B,UAAU,EAChC;QACEM,aAAa;QACbC,aAAa;QACbC,QAAQ;QACRC,SAAS;IACX;IAIJN,WAAWO,GAAG,CAACT,gCAAgCU,KAAKC,GAAG;AACzD"}
@@ -0,0 +1,15 @@
1
+ export function telemetryLearnMoreMessage(status) {
2
+ const url = 'https://www.sanity.io/telemetry';
3
+ switch(status){
4
+ case 'granted':
5
+ {
6
+ return `Learn more about the data being collected here:\n${url}`;
7
+ }
8
+ default:
9
+ {
10
+ return `Learn more here:\n${url}`;
11
+ }
12
+ }
13
+ }
14
+
15
+ //# sourceMappingURL=telemetryLearnMoreMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/telemetry/telemetryLearnMoreMessage.ts"],"sourcesContent":["import {type ConsentStatus} from '@sanity/telemetry'\n\nexport function telemetryLearnMoreMessage(status: ConsentStatus): string {\n const url = 'https://www.sanity.io/telemetry'\n\n switch (status) {\n case 'granted': {\n return `Learn more about the data being collected here:\\n${url}`\n }\n default: {\n return `Learn more here:\\n${url}`\n }\n }\n}\n"],"names":["telemetryLearnMoreMessage","status","url"],"mappings":"AAEA,OAAO,SAASA,0BAA0BC,MAAqB;IAC7D,MAAMC,MAAM;IAEZ,OAAQD;QACN,KAAK;YAAW;gBACd,OAAO,CAAC,iDAAiD,EAAEC,KAAK;YAClE;QACA;YAAS;gBACP,OAAO,CAAC,kBAAkB,EAAEA,KAAK;YACnC;IACF;AACF"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * API version for tokens endpoints
3
+ */ export const TOKENS_API_VERSION = 'v2025-08-18';
4
+
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/tokens/constants.ts"],"sourcesContent":["/**\n * API version for tokens endpoints\n */\nexport const TOKENS_API_VERSION = 'v2025-08-18'\n"],"names":["TOKENS_API_VERSION"],"mappings":"AAAA;;CAEC,GACD,OAAO,MAAMA,qBAAqB,cAAa"}
@@ -0,0 +1,3 @@
1
+ export { };
2
+
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/tokens/types.ts"],"sourcesContent":["interface TokenRole {\n name: string\n title: string\n}\n\nexport interface Token {\n createdAt: string\n createdBy: string\n id: string\n label: string\n lastUsedAt: string | null\n permissions: string[]\n projectId: string\n projectUserId: string\n roles: TokenRole[]\n}\n\nexport interface TokenResponse {\n id: string\n key: string\n label: string\n projectUserId: string\n roles: TokenRole[]\n}\n\nexport interface ProjectRole {\n appliesToRobots: boolean\n appliesToUsers: boolean\n description: string\n isCustom: boolean\n name: string\n projectId: string\n title: string\n}\n"],"names":[],"mappings":"AAyBA,WAQC"}
@@ -0,0 +1,23 @@
1
+ import { ux } from '@oclif/core';
2
+ import { getTokenRoles } from '../../services/tokens.js';
3
+ /**
4
+ * Validate a role name
5
+ * @param roleName - The role name to validate
6
+ * @param projectId - The project ID
7
+ * @returns A promise that resolves to the validated role name
8
+ *
9
+ * @internal
10
+ */ export async function validateRole(roleName, projectId) {
11
+ const roles = await getTokenRoles(projectId);
12
+ const robotRoles = roles.filter((role)=>role.appliesToRobots);
13
+ const role = robotRoles.find((r)=>r.name === roleName);
14
+ if (role) {
15
+ return roleName;
16
+ }
17
+ const availableRoles = robotRoles.map((r)=>r.name).join(', ');
18
+ ux.error(`Invalid role "${roleName}". Available roles: ${availableRoles}`, {
19
+ exit: 1
20
+ });
21
+ }
22
+
23
+ //# sourceMappingURL=validateRole.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/tokens/validateRole.ts"],"sourcesContent":["import {ux} from '@oclif/core'\n\nimport {getTokenRoles} from '../../services/tokens.js'\n\n/**\n * Validate a role name\n * @param roleName - The role name to validate\n * @param projectId - The project ID\n * @returns A promise that resolves to the validated role name\n *\n * @internal\n */\nexport async function validateRole(roleName: string, projectId: string): Promise<string> {\n const roles = await getTokenRoles(projectId)\n const robotRoles = roles.filter((role) => role.appliesToRobots)\n\n const role = robotRoles.find((r) => r.name === roleName)\n if (role) {\n return roleName\n }\n\n const availableRoles = robotRoles.map((r) => r.name).join(', ')\n ux.error(`Invalid role \"${roleName}\". Available roles: ${availableRoles}`, {exit: 1})\n}\n"],"names":["ux","getTokenRoles","validateRole","roleName","projectId","roles","robotRoles","filter","role","appliesToRobots","find","r","name","availableRoles","map","join","error","exit"],"mappings":"AAAA,SAAQA,EAAE,QAAO,cAAa;AAE9B,SAAQC,aAAa,QAAO,2BAA0B;AAEtD;;;;;;;CAOC,GACD,OAAO,eAAeC,aAAaC,QAAgB,EAAEC,SAAiB;IACpE,MAAMC,QAAQ,MAAMJ,cAAcG;IAClC,MAAME,aAAaD,MAAME,MAAM,CAAC,CAACC,OAASA,KAAKC,eAAe;IAE9D,MAAMD,OAAOF,WAAWI,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKT;IAC/C,IAAIK,MAAM;QACR,OAAOL;IACT;IAEA,MAAMU,iBAAiBP,WAAWQ,GAAG,CAAC,CAACH,IAAMA,EAAEC,IAAI,EAAEG,IAAI,CAAC;IAC1Df,GAAGgB,KAAK,CAAC,CAAC,cAAc,EAAEb,SAAS,oBAAoB,EAAEU,gBAAgB,EAAE;QAACI,MAAM;IAAC;AACrF"}
@@ -0,0 +1,36 @@
1
+ import { getUserApplication } from '../../services/userApplications.js';
2
+ import { getAppId } from '../../util/appId.js';
3
+ import { determineIsApp } from '../../util/determineIsApp.js';
4
+ import { NO_PROJECT_ID } from '../../util/errorMessages.js';
5
+ export const NO_APP_ID = 'NO_APP_ID';
6
+ export const NO_APP_ID_OR_STUDIO_HOST = 'NO_APP_ID_OR_STUDIO_HOST';
7
+ // Used only in undeploy flow
8
+ export async function getStudioOrAppUserApplication(options) {
9
+ const { cliConfig } = options;
10
+ const projectId = cliConfig.api?.projectId;
11
+ const isApp = determineIsApp(cliConfig);
12
+ if (isApp) {
13
+ const appId = getAppId(cliConfig);
14
+ if (!appId) {
15
+ throw new Error(NO_APP_ID);
16
+ }
17
+ return getUserApplication({
18
+ appId,
19
+ isSdkApp: true
20
+ });
21
+ }
22
+ if (!cliConfig.studioHost && !cliConfig.deployment?.appId) {
23
+ throw new Error(NO_APP_ID_OR_STUDIO_HOST);
24
+ }
25
+ if (!projectId) {
26
+ throw new Error(NO_PROJECT_ID);
27
+ }
28
+ return getUserApplication({
29
+ appHost: cliConfig.studioHost,
30
+ appId: cliConfig.deployment?.appId,
31
+ isSdkApp: false,
32
+ projectId
33
+ });
34
+ }
35
+
36
+ //# sourceMappingURL=getStudioOrAppUserApplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/undeploy/getStudioOrAppUserApplication.ts"],"sourcesContent":["import {type CliConfig, type Output} from '@sanity/cli-core'\n\nimport {getUserApplication} from '../../services/userApplications.js'\nimport {getAppId} from '../../util/appId.js'\nimport {determineIsApp} from '../../util/determineIsApp.js'\nimport {NO_PROJECT_ID} from '../../util/errorMessages.js'\n\ninterface GetStudioOrAppUserApplicationOptions {\n cliConfig: CliConfig\n output: Output\n}\n\nexport const NO_APP_ID = 'NO_APP_ID'\nexport const NO_APP_ID_OR_STUDIO_HOST = 'NO_APP_ID_OR_STUDIO_HOST'\n\n// Used only in undeploy flow\nexport async function getStudioOrAppUserApplication(options: GetStudioOrAppUserApplicationOptions) {\n const {cliConfig} = options\n const projectId = cliConfig.api?.projectId\n const isApp = determineIsApp(cliConfig)\n\n if (isApp) {\n const appId = getAppId(cliConfig)\n if (!appId) {\n throw new Error(NO_APP_ID)\n }\n\n return getUserApplication({appId, isSdkApp: true})\n }\n\n if (!cliConfig.studioHost && !cliConfig.deployment?.appId) {\n throw new Error(NO_APP_ID_OR_STUDIO_HOST)\n }\n\n if (!projectId) {\n throw new Error(NO_PROJECT_ID)\n }\n\n return getUserApplication({\n appHost: cliConfig.studioHost,\n appId: cliConfig.deployment?.appId,\n isSdkApp: false,\n projectId,\n })\n}\n"],"names":["getUserApplication","getAppId","determineIsApp","NO_PROJECT_ID","NO_APP_ID","NO_APP_ID_OR_STUDIO_HOST","getStudioOrAppUserApplication","options","cliConfig","projectId","api","isApp","appId","Error","isSdkApp","studioHost","deployment","appHost"],"mappings":"AAEA,SAAQA,kBAAkB,QAAO,qCAAoC;AACrE,SAAQC,QAAQ,QAAO,sBAAqB;AAC5C,SAAQC,cAAc,QAAO,+BAA8B;AAC3D,SAAQC,aAAa,QAAO,8BAA6B;AAOzD,OAAO,MAAMC,YAAY,YAAW;AACpC,OAAO,MAAMC,2BAA2B,2BAA0B;AAElE,6BAA6B;AAC7B,OAAO,eAAeC,8BAA8BC,OAA6C;IAC/F,MAAM,EAACC,SAAS,EAAC,GAAGD;IACpB,MAAME,YAAYD,UAAUE,GAAG,EAAED;IACjC,MAAME,QAAQT,eAAeM;IAE7B,IAAIG,OAAO;QACT,MAAMC,QAAQX,SAASO;QACvB,IAAI,CAACI,OAAO;YACV,MAAM,IAAIC,MAAMT;QAClB;QAEA,OAAOJ,mBAAmB;YAACY;YAAOE,UAAU;QAAI;IAClD;IAEA,IAAI,CAACN,UAAUO,UAAU,IAAI,CAACP,UAAUQ,UAAU,EAAEJ,OAAO;QACzD,MAAM,IAAIC,MAAMR;IAClB;IAEA,IAAI,CAACI,WAAW;QACd,MAAM,IAAII,MAAMV;IAClB;IAEA,OAAOH,mBAAmB;QACxBiB,SAAST,UAAUO,UAAU;QAC7BH,OAAOJ,UAAUQ,UAAU,EAAEJ;QAC7BE,UAAU;QACVL;IACF;AACF"}
@@ -0,0 +1,47 @@
1
+ import { getProjectById, getProjectInvites } from '../../services/projects.js';
2
+ import { getMembers } from '../../services/user.js';
3
+ import { getPendingInvitations } from './getPendingInvitations.js';
4
+ import { usersDebug } from './usersDebug.js';
5
+ function getUserProps(user) {
6
+ const { createdAt: date, displayName: name } = user || {};
7
+ return {
8
+ date: date || '',
9
+ name: name || ''
10
+ };
11
+ }
12
+ /**
13
+ * Get all members for a project
14
+ *
15
+ * @returns A list of all members for a project
16
+ */ export async function getMembersForProject({ includeInvitations, includeRobots, projectId }) {
17
+ try {
18
+ const [pendingInvitations, project] = await Promise.all([
19
+ includeInvitations ? getProjectInvites(projectId).then(getPendingInvitations) : [],
20
+ getProjectById(projectId)
21
+ ]);
22
+ const memberIds = project.members// Filter all the robot users if the robots flag is not set
23
+ .filter((member)=>!member.isRobot || includeRobots).map((member)=>member.id);
24
+ const users = await getMembers(memberIds).then((user)=>Array.isArray(user) ? user : [
25
+ user
26
+ ]);
27
+ const projectMembers = project.members.map((member)=>{
28
+ return {
29
+ ...member,
30
+ ...getUserProps(users.find((candidate)=>candidate.id === member.id))
31
+ };
32
+ }).filter((member)=>!member.isRobot || includeRobots);
33
+ const members = [
34
+ ...projectMembers,
35
+ ...pendingInvitations
36
+ ];
37
+ usersDebug(`Found ${projectMembers.length} project members for ${projectId}`);
38
+ usersDebug(`Found ${pendingInvitations.length} pending invitations for ${projectId}`);
39
+ return members;
40
+ } catch (error) {
41
+ throw new Error(`Error fetching members for ${projectId}`, {
42
+ cause: error
43
+ });
44
+ }
45
+ }
46
+
47
+ //# sourceMappingURL=getMembersForProject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/users/getMembersForProject.ts"],"sourcesContent":["import {getProjectById, getProjectInvites} from '../../services/projects.js'\nimport {getMembers} from '../../services/user.js'\nimport {getPendingInvitations} from './getPendingInvitations.js'\nimport {type User} from './types.js'\nimport {usersDebug} from './usersDebug.js'\n\ninterface GetMembersForProjectOptions {\n projectId: string\n\n /**\n * Whether to include pending invitations in the response\n */\n includeInvitations?: boolean\n\n /**\n * Whether to include robots in the response\n */\n includeRobots?: boolean\n}\n\nfunction getUserProps(user: User | undefined) {\n const {createdAt: date, displayName: name} = user || {}\n return {date: date || '', name: name || ''}\n}\n\ninterface MemberList {\n date: string\n id: string\n name: string\n role: string\n}\n\n/**\n * Get all members for a project\n *\n * @returns A list of all members for a project\n */\nexport async function getMembersForProject({\n includeInvitations,\n includeRobots,\n projectId,\n}: GetMembersForProjectOptions): Promise<MemberList[]> {\n try {\n const [pendingInvitations, project] = await Promise.all([\n includeInvitations ? getProjectInvites(projectId).then(getPendingInvitations) : [],\n getProjectById(projectId),\n ])\n\n const memberIds = project.members\n // Filter all the robot users if the robots flag is not set\n .filter((member) => !member.isRobot || includeRobots)\n .map((member) => member.id)\n\n const users = await getMembers(memberIds).then((user) => (Array.isArray(user) ? user : [user]))\n\n const projectMembers = project.members\n .map((member) => {\n return {\n ...member,\n ...getUserProps(users.find((candidate) => candidate.id === member.id)),\n }\n })\n .filter((member) => !member.isRobot || includeRobots)\n\n const members = [...projectMembers, ...pendingInvitations]\n\n usersDebug(`Found ${projectMembers.length} project members for ${projectId}`)\n usersDebug(`Found ${pendingInvitations.length} pending invitations for ${projectId}`)\n return members\n } catch (error) {\n throw new Error(`Error fetching members for ${projectId}`, {cause: error})\n }\n}\n"],"names":["getProjectById","getProjectInvites","getMembers","getPendingInvitations","usersDebug","getUserProps","user","createdAt","date","displayName","name","getMembersForProject","includeInvitations","includeRobots","projectId","pendingInvitations","project","Promise","all","then","memberIds","members","filter","member","isRobot","map","id","users","Array","isArray","projectMembers","find","candidate","length","error","Error","cause"],"mappings":"AAAA,SAAQA,cAAc,EAAEC,iBAAiB,QAAO,6BAA4B;AAC5E,SAAQC,UAAU,QAAO,yBAAwB;AACjD,SAAQC,qBAAqB,QAAO,6BAA4B;AAEhE,SAAQC,UAAU,QAAO,kBAAiB;AAgB1C,SAASC,aAAaC,IAAsB;IAC1C,MAAM,EAACC,WAAWC,IAAI,EAAEC,aAAaC,IAAI,EAAC,GAAGJ,QAAQ,CAAC;IACtD,OAAO;QAACE,MAAMA,QAAQ;QAAIE,MAAMA,QAAQ;IAAE;AAC5C;AASA;;;;CAIC,GACD,OAAO,eAAeC,qBAAqB,EACzCC,kBAAkB,EAClBC,aAAa,EACbC,SAAS,EACmB;IAC5B,IAAI;QACF,MAAM,CAACC,oBAAoBC,QAAQ,GAAG,MAAMC,QAAQC,GAAG,CAAC;YACtDN,qBAAqBX,kBAAkBa,WAAWK,IAAI,CAAChB,yBAAyB,EAAE;YAClFH,eAAec;SAChB;QAED,MAAMM,YAAYJ,QAAQK,OAAO,AAC/B,2DAA2D;SAC1DC,MAAM,CAAC,CAACC,SAAW,CAACA,OAAOC,OAAO,IAAIX,eACtCY,GAAG,CAAC,CAACF,SAAWA,OAAOG,EAAE;QAE5B,MAAMC,QAAQ,MAAMzB,WAAWkB,WAAWD,IAAI,CAAC,CAACb,OAAUsB,MAAMC,OAAO,CAACvB,QAAQA,OAAO;gBAACA;aAAK;QAE7F,MAAMwB,iBAAiBd,QAAQK,OAAO,CACnCI,GAAG,CAAC,CAACF;YACJ,OAAO;gBACL,GAAGA,MAAM;gBACT,GAAGlB,aAAasB,MAAMI,IAAI,CAAC,CAACC,YAAcA,UAAUN,EAAE,KAAKH,OAAOG,EAAE,EAAE;YACxE;QACF,GACCJ,MAAM,CAAC,CAACC,SAAW,CAACA,OAAOC,OAAO,IAAIX;QAEzC,MAAMQ,UAAU;eAAIS;eAAmBf;SAAmB;QAE1DX,WAAW,CAAC,MAAM,EAAE0B,eAAeG,MAAM,CAAC,qBAAqB,EAAEnB,WAAW;QAC5EV,WAAW,CAAC,MAAM,EAAEW,mBAAmBkB,MAAM,CAAC,yBAAyB,EAAEnB,WAAW;QACpF,OAAOO;IACT,EAAE,OAAOa,OAAO;QACd,MAAM,IAAIC,MAAM,CAAC,2BAA2B,EAAErB,WAAW,EAAE;YAACsB,OAAOF;QAAK;IAC1E;AACF"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Get pending invitations
3
+ * @param invitations - List of invitations
4
+ * @returns List of pending invitations
5
+ * @internal
6
+ */ export function getPendingInvitations(invitations) {
7
+ return invitations.filter((invite)=>!invite.isAccepted && !invite.isRevoked && !invite.acceptedByUserId).map((invite)=>({
8
+ date: invite.createdAt,
9
+ id: '<pending>',
10
+ name: invite.email,
11
+ role: invite.role
12
+ }));
13
+ }
14
+
15
+ //# sourceMappingURL=getPendingInvitations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/users/getPendingInvitations.ts"],"sourcesContent":["import {type Invite} from './types.js'\n\n/**\n * Get pending invitations\n * @param invitations - List of invitations\n * @returns List of pending invitations\n * @internal\n */\nexport function getPendingInvitations(invitations: Invite[]) {\n return invitations\n .filter((invite) => !invite.isAccepted && !invite.isRevoked && !invite.acceptedByUserId)\n .map((invite) => ({\n date: invite.createdAt,\n id: '<pending>',\n name: invite.email,\n role: invite.role,\n }))\n}\n"],"names":["getPendingInvitations","invitations","filter","invite","isAccepted","isRevoked","acceptedByUserId","map","date","createdAt","id","name","email","role"],"mappings":"AAEA;;;;;CAKC,GACD,OAAO,SAASA,sBAAsBC,WAAqB;IACzD,OAAOA,YACJC,MAAM,CAAC,CAACC,SAAW,CAACA,OAAOC,UAAU,IAAI,CAACD,OAAOE,SAAS,IAAI,CAACF,OAAOG,gBAAgB,EACtFC,GAAG,CAAC,CAACJ,SAAY,CAAA;YAChBK,MAAML,OAAOM,SAAS;YACtBC,IAAI;YACJC,MAAMR,OAAOS,KAAK;YAClBC,MAAMV,OAAOU,IAAI;QACnB,CAAA;AACJ"}
@@ -0,0 +1,3 @@
1
+ export { };
2
+
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/users/types.ts"],"sourcesContent":["export interface Invite {\n acceptedByUserId: string | null\n createdAt: string\n email: string\n isAccepted: boolean\n isRevoked: boolean\n role: string\n}\n\nexport interface User {\n createdAt: string\n displayName: string\n familyName: string | null\n\n givenName: string | null\n id: string\n imageUrl: string | null\n middleName: string | null\n\n projectId: string\n\n provider: string\n updatedAt: string | null\n}\n\nexport interface Role {\n appliesToRobots: boolean\n appliesToUsers: boolean\n grants: Record<string, Grant[] | undefined>\n isCustom: boolean\n name: string\n projectId: string\n title: string\n\n description?: string\n}\n\ninterface Grant {\n grants: unknown[]\n id: string\n isCustom: boolean\n name: string\n title: string\n\n description?: string\n}\n"],"names":[],"mappings":"AAyBA,WAUC"}
@@ -0,0 +1,4 @@
1
+ import { subdebug } from '@sanity/cli-core';
2
+ export const usersDebug = subdebug('users');
3
+
4
+ //# sourceMappingURL=usersDebug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/users/usersDebug.ts"],"sourcesContent":["import {subdebug} from '@sanity/cli-core'\n\nexport const usersDebug = subdebug('users')\n"],"names":["subdebug","usersDebug"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,mBAAkB;AAEzC,OAAO,MAAMC,aAAaD,SAAS,SAAQ"}
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ export function validateEmail(email) {
3
+ const trimmedEmail = email.trim();
4
+ if (!trimmedEmail) {
5
+ return 'Email is required';
6
+ }
7
+ const validatedEmail = z.string().email().safeParse(trimmedEmail);
8
+ if (!validatedEmail.success) {
9
+ return 'Please enter a valid email address';
10
+ }
11
+ return true;
12
+ }
13
+
14
+ //# sourceMappingURL=validateEmail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/users/validateEmail.ts"],"sourcesContent":["import {z} from 'zod'\n\nexport function validateEmail(email: string): string | true {\n const trimmedEmail = email.trim()\n if (!trimmedEmail) {\n return 'Email is required'\n }\n\n const validatedEmail = z.string().email().safeParse(trimmedEmail)\n if (!validatedEmail.success) {\n return 'Please enter a valid email address'\n }\n\n return true\n}\n"],"names":["z","validateEmail","email","trimmedEmail","trim","validatedEmail","string","safeParse","success"],"mappings":"AAAA,SAAQA,CAAC,QAAO,MAAK;AAErB,OAAO,SAASC,cAAcC,KAAa;IACzC,MAAMC,eAAeD,MAAME,IAAI;IAC/B,IAAI,CAACD,cAAc;QACjB,OAAO;IACT;IAEA,MAAME,iBAAiBL,EAAEM,MAAM,GAAGJ,KAAK,GAAGK,SAAS,CAACJ;IACpD,IAAI,CAACE,eAAeG,OAAO,EAAE;QAC3B,OAAO;IACT;IAEA,OAAO;AACT"}
@@ -0,0 +1,44 @@
1
+ import semver from 'semver';
2
+ import { getLocalPackageVersion } from '../../util/getLocalPackageVersion.js';
3
+ import { trimHashFromVersion } from '../../util/trimHashFromVersion.js';
4
+ import { tryFindLatestVersion } from './tryFindLatestVersion.js';
5
+ /**
6
+ * Check if a version is pinned.
7
+ *
8
+ * @internal
9
+ */ function isPinnedVersion(version) {
10
+ return !!semver.valid(version);
11
+ }
12
+ /**
13
+ * Build an array of package versions.
14
+ *
15
+ * @internal
16
+ */ export function buildPackageArray(packages, workDir, cliVersion) {
17
+ const modules = [];
18
+ const latest = tryFindLatestVersion('@sanity/cli');
19
+ modules.push({
20
+ declared: `^${cliVersion}`,
21
+ installed: Promise.resolve(trimHashFromVersion(cliVersion)),
22
+ isGlobal: true,
23
+ isPinned: false,
24
+ latest: latest.then((version)=>version),
25
+ name: '@sanity/cli'
26
+ });
27
+ return [
28
+ ...modules,
29
+ ...Object.keys(packages).map((pkgName)=>{
30
+ const latest = tryFindLatestVersion(pkgName);
31
+ const localVersion = getLocalPackageVersion(pkgName, workDir);
32
+ return {
33
+ declared: packages[pkgName],
34
+ installed: localVersion.then((version)=>version ? trimHashFromVersion(version) : undefined),
35
+ isGlobal: false,
36
+ isPinned: isPinnedVersion(packages[pkgName]),
37
+ latest: latest.then((version)=>version),
38
+ name: pkgName
39
+ };
40
+ })
41
+ ];
42
+ }
43
+
44
+ //# sourceMappingURL=buildPackageArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/versions/buildPackageArray.ts"],"sourcesContent":["import semver from 'semver'\n\nimport {getLocalPackageVersion} from '../../util/getLocalPackageVersion.js'\nimport {trimHashFromVersion} from '../../util/trimHashFromVersion.js'\nimport {tryFindLatestVersion} from './tryFindLatestVersion.js'\n\n/**\n * Check if a version is pinned.\n *\n * @internal\n */\nfunction isPinnedVersion(version: string): boolean {\n return !!semver.valid(version)\n}\n\n/**\n * @internal\n */\ninterface PromisedModuleVersionInfo {\n declared: string\n installed: Promise<string | undefined>\n isGlobal: boolean\n isPinned: boolean\n latest: Promise<string | undefined>\n name: string\n}\n\n/**\n * Build an array of package versions.\n *\n * @internal\n */\nexport function buildPackageArray(\n packages: Record<string, string>,\n workDir: string,\n cliVersion: string,\n): PromisedModuleVersionInfo[] {\n const modules = []\n const latest = tryFindLatestVersion('@sanity/cli')\n modules.push({\n declared: `^${cliVersion}`,\n installed: Promise.resolve(trimHashFromVersion(cliVersion)),\n isGlobal: true,\n isPinned: false,\n latest: latest.then((version) => version),\n name: '@sanity/cli',\n })\n\n return [\n ...modules,\n ...Object.keys(packages).map((pkgName) => {\n const latest = tryFindLatestVersion(pkgName)\n const localVersion = getLocalPackageVersion(pkgName, workDir)\n return {\n declared: packages[pkgName],\n installed: localVersion.then((version) =>\n version ? trimHashFromVersion(version) : undefined,\n ),\n isGlobal: false,\n isPinned: isPinnedVersion(packages[pkgName]),\n latest: latest.then((version) => version),\n name: pkgName,\n }\n }),\n ]\n}\n"],"names":["semver","getLocalPackageVersion","trimHashFromVersion","tryFindLatestVersion","isPinnedVersion","version","valid","buildPackageArray","packages","workDir","cliVersion","modules","latest","push","declared","installed","Promise","resolve","isGlobal","isPinned","then","name","Object","keys","map","pkgName","localVersion","undefined"],"mappings":"AAAA,OAAOA,YAAY,SAAQ;AAE3B,SAAQC,sBAAsB,QAAO,uCAAsC;AAC3E,SAAQC,mBAAmB,QAAO,oCAAmC;AACrE,SAAQC,oBAAoB,QAAO,4BAA2B;AAE9D;;;;CAIC,GACD,SAASC,gBAAgBC,OAAe;IACtC,OAAO,CAAC,CAACL,OAAOM,KAAK,CAACD;AACxB;AAcA;;;;CAIC,GACD,OAAO,SAASE,kBACdC,QAAgC,EAChCC,OAAe,EACfC,UAAkB;IAElB,MAAMC,UAAU,EAAE;IAClB,MAAMC,SAAST,qBAAqB;IACpCQ,QAAQE,IAAI,CAAC;QACXC,UAAU,CAAC,CAAC,EAAEJ,YAAY;QAC1BK,WAAWC,QAAQC,OAAO,CAACf,oBAAoBQ;QAC/CQ,UAAU;QACVC,UAAU;QACVP,QAAQA,OAAOQ,IAAI,CAAC,CAACf,UAAYA;QACjCgB,MAAM;IACR;IAEA,OAAO;WACFV;WACAW,OAAOC,IAAI,CAACf,UAAUgB,GAAG,CAAC,CAACC;YAC5B,MAAMb,SAAST,qBAAqBsB;YACpC,MAAMC,eAAezB,uBAAuBwB,SAAShB;YACrD,OAAO;gBACLK,UAAUN,QAAQ,CAACiB,QAAQ;gBAC3BV,WAAWW,aAAaN,IAAI,CAAC,CAACf,UAC5BA,UAAUH,oBAAoBG,WAAWsB;gBAE3CT,UAAU;gBACVC,UAAUf,gBAAgBI,QAAQ,CAACiB,QAAQ;gBAC3Cb,QAAQA,OAAOQ,IAAI,CAAC,CAACf,UAAYA;gBACjCgB,MAAMI;YACR;QACF;KACD;AACH"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Filter the sanity modules from the package.json.
3
+ *
4
+ * @param manifest - The package.json manifest.
5
+ * @returns The filtered sanity modules.
6
+ */ export function filterSanityModules(manifest) {
7
+ const dependencies = {
8
+ ...manifest.dependencies,
9
+ ...manifest.devDependencies
10
+ };
11
+ const filteredDependencies = {};
12
+ for(const mod in dependencies){
13
+ if (mod.startsWith('@sanity/') || mod === 'sanity') {
14
+ filteredDependencies[mod] = dependencies[mod];
15
+ }
16
+ }
17
+ return filteredDependencies;
18
+ }
19
+
20
+ //# sourceMappingURL=filterSanityModules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/versions/filterSanityModules.ts"],"sourcesContent":["import {type PackageJson} from '../../util/readPackageJson.js'\n\n/**\n * Filter the sanity modules from the package.json.\n *\n * @param manifest - The package.json manifest.\n * @returns The filtered sanity modules.\n */\nexport function filterSanityModules(manifest: Partial<PackageJson>): Record<string, string> {\n const dependencies = {\n ...manifest.dependencies,\n ...manifest.devDependencies,\n }\n\n const filteredDependencies: Record<string, string> = {}\n\n for (const mod in dependencies) {\n if (mod.startsWith('@sanity/') || mod === 'sanity') {\n filteredDependencies[mod] = dependencies[mod]\n }\n }\n\n return filteredDependencies\n}\n"],"names":["filterSanityModules","manifest","dependencies","devDependencies","filteredDependencies","mod","startsWith"],"mappings":"AAEA;;;;;CAKC,GACD,OAAO,SAASA,oBAAoBC,QAA8B;IAChE,MAAMC,eAAe;QACnB,GAAGD,SAASC,YAAY;QACxB,GAAGD,SAASE,eAAe;IAC7B;IAEA,MAAMC,uBAA+C,CAAC;IAEtD,IAAK,MAAMC,OAAOH,aAAc;QAC9B,IAAIG,IAAIC,UAAU,CAAC,eAAeD,QAAQ,UAAU;YAClDD,oBAAoB,CAACC,IAAI,GAAGH,YAAY,CAACG,IAAI;QAC/C;IACF;IAEA,OAAOD;AACT"}