@sanity/cli 6.0.0-alpha.8 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1124) hide show
  1. package/README.md +728 -258
  2. package/bin/run.js +2 -0
  3. package/dist/SanityHelp.js +51 -23
  4. package/dist/SanityHelp.js.map +1 -1
  5. package/dist/actions/auth/authServer.js +28 -22
  6. package/dist/actions/auth/authServer.js.map +1 -1
  7. package/dist/actions/auth/login/getProvider.js +49 -38
  8. package/dist/actions/auth/login/getProvider.js.map +1 -1
  9. package/dist/actions/auth/login/getSSOProvider.js +25 -19
  10. package/dist/actions/auth/login/getSSOProvider.js.map +1 -1
  11. package/dist/actions/auth/login/login.js +24 -37
  12. package/dist/actions/auth/login/login.js.map +1 -1
  13. package/dist/actions/auth/types.js.map +1 -1
  14. package/dist/actions/backup/downloadAsset.js +9 -9
  15. package/dist/actions/backup/downloadAsset.js.map +1 -1
  16. package/dist/actions/backup/downloadDocument.js +8 -8
  17. package/dist/actions/backup/downloadDocument.js.map +1 -1
  18. package/dist/actions/build/buildApp.js +65 -28
  19. package/dist/actions/build/buildApp.js.map +1 -1
  20. package/dist/actions/build/buildStaticFiles.js +3 -2
  21. package/dist/actions/build/buildStaticFiles.js.map +1 -1
  22. package/dist/actions/build/buildStudio.js +82 -54
  23. package/dist/actions/build/buildStudio.js.map +1 -1
  24. package/dist/actions/build/buildVendorDependencies.js +18 -52
  25. package/dist/actions/build/buildVendorDependencies.js.map +1 -1
  26. package/dist/actions/build/checkRequiredDependencies.js +13 -8
  27. package/dist/actions/build/checkRequiredDependencies.js.map +1 -1
  28. package/dist/actions/build/checkStudioDependencyVersions.js +19 -17
  29. package/dist/actions/build/checkStudioDependencyVersions.js.map +1 -1
  30. package/dist/actions/build/createExternalFromImportMap.js +1 -1
  31. package/dist/actions/build/createExternalFromImportMap.js.map +1 -1
  32. package/dist/actions/build/determineBasePath.js +5 -2
  33. package/dist/actions/build/determineBasePath.js.map +1 -1
  34. package/dist/actions/build/getStudioEnvironmentVariables.js +1 -1
  35. package/dist/actions/build/getStudioEnvironmentVariables.js.map +1 -1
  36. package/dist/actions/build/getViteConfig.js +48 -5
  37. package/dist/actions/build/getViteConfig.js.map +1 -1
  38. package/dist/actions/build/handlePrereleaseVersions.js +44 -0
  39. package/dist/actions/build/handlePrereleaseVersions.js.map +1 -0
  40. package/dist/actions/build/renderDocument.js +6 -10
  41. package/dist/actions/build/renderDocument.js.map +1 -1
  42. package/dist/actions/build/renderDocumentWorker/components/BasicDocument.js +4 -4
  43. package/dist/actions/build/renderDocumentWorker/components/BasicDocument.js.map +1 -1
  44. package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.js +3 -3
  45. package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.js.map +1 -1
  46. package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.js +1 -0
  47. package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.js.map +1 -1
  48. package/dist/actions/build/renderDocumentWorker/getDocumentComponent.js +2 -2
  49. package/dist/actions/build/renderDocumentWorker/getDocumentComponent.js.map +1 -1
  50. package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.js +1 -1
  51. package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.js.map +1 -1
  52. package/dist/actions/build/shouldAutoUpdate.js +5 -3
  53. package/dist/actions/build/shouldAutoUpdate.js.map +1 -1
  54. package/dist/actions/build/types.js.map +1 -1
  55. package/dist/actions/build/writeFavicons.js +3 -5
  56. package/dist/actions/build/writeFavicons.js.map +1 -1
  57. package/dist/actions/build/writeSanityRuntime.js +6 -5
  58. package/dist/actions/build/writeSanityRuntime.js.map +1 -1
  59. package/dist/actions/codemods/reactIconsV3.js +2 -2
  60. package/dist/actions/codemods/reactIconsV3.js.map +1 -1
  61. package/dist/actions/dataset/create.js +10 -6
  62. package/dist/actions/dataset/create.js.map +1 -1
  63. package/dist/actions/dataset/determineDatasetAclMode.js.map +1 -1
  64. package/dist/actions/dataset/resolveDataset.js +26 -0
  65. package/dist/actions/dataset/resolveDataset.js.map +1 -0
  66. package/dist/actions/debug/formatters.js +22 -0
  67. package/dist/actions/debug/formatters.js.map +1 -0
  68. package/dist/actions/deploy/createStudioUserApplication.js +17 -4
  69. package/dist/actions/deploy/createStudioUserApplication.js.map +1 -1
  70. package/dist/actions/deploy/deployApp.js +52 -22
  71. package/dist/actions/deploy/deployApp.js.map +1 -1
  72. package/dist/actions/deploy/deployStudio.js +95 -46
  73. package/dist/actions/deploy/deployStudio.js.map +1 -1
  74. package/dist/actions/deploy/deployStudioSchemasAndManifests.js +55 -0
  75. package/dist/actions/deploy/deployStudioSchemasAndManifests.js.map +1 -0
  76. package/dist/actions/deploy/deployStudioSchemasAndManifests.worker.js +120 -0
  77. package/dist/actions/deploy/deployStudioSchemasAndManifests.worker.js.map +1 -0
  78. package/dist/actions/deploy/findUserApplicationForStudio.js +35 -12
  79. package/dist/actions/deploy/findUserApplicationForStudio.js.map +1 -1
  80. package/dist/actions/deploy/types.js +10 -1
  81. package/dist/actions/deploy/types.js.map +1 -1
  82. package/dist/actions/deploy/urlUtils.js +21 -0
  83. package/dist/actions/deploy/urlUtils.js.map +1 -0
  84. package/dist/actions/dev/getDashboardAppUrl.js +48 -0
  85. package/dist/actions/dev/getDashboardAppUrl.js.map +1 -0
  86. package/dist/actions/dev/getDevServerConfig.js +7 -3
  87. package/dist/actions/dev/getDevServerConfig.js.map +1 -1
  88. package/dist/actions/dev/startAppDevServer.js +7 -4
  89. package/dist/actions/dev/startAppDevServer.js.map +1 -1
  90. package/dist/actions/dev/startStudioDevServer.js +23 -19
  91. package/dist/actions/dev/startStudioDevServer.js.map +1 -1
  92. package/dist/actions/doctor/checks/cliInstallation.js +56 -0
  93. package/dist/actions/doctor/checks/cliInstallation.js.map +1 -0
  94. package/dist/actions/doctor/checks/index.js +16 -0
  95. package/dist/actions/doctor/checks/index.js.map +1 -0
  96. package/dist/actions/doctor/runDoctorChecks.js +56 -0
  97. package/dist/actions/doctor/runDoctorChecks.js.map +1 -0
  98. package/dist/actions/doctor/types.js.map +1 -0
  99. package/dist/actions/documents/types.js.map +1 -1
  100. package/dist/actions/documents/validate.js +15 -17
  101. package/dist/actions/documents/validate.js.map +1 -1
  102. package/dist/{threads/validateDocuments.js → actions/documents/validateDocuments.worker.js} +37 -37
  103. package/dist/actions/documents/validateDocuments.worker.js.map +1 -0
  104. package/dist/actions/documents/validation/reporters/jsonReporter.js +1 -1
  105. package/dist/actions/documents/validation/reporters/jsonReporter.js.map +1 -1
  106. package/dist/actions/documents/validation/reporters/ndjsonReporter.js +1 -1
  107. package/dist/actions/documents/validation/reporters/ndjsonReporter.js.map +1 -1
  108. package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js +9 -8
  109. package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js.map +1 -1
  110. package/dist/actions/documents/validation/reporters/prettyReporter/prettyReporter.js.map +1 -1
  111. package/dist/actions/documents/validation/reporters/prettyReporter/tree.js +108 -0
  112. package/dist/actions/documents/validation/reporters/prettyReporter/tree.js.map +1 -0
  113. package/dist/{threads/configClient.js → actions/exec/configClient.worker.js} +2 -2
  114. package/dist/actions/exec/configClient.worker.js.map +1 -0
  115. package/dist/actions/exec/execScript.js +29 -25
  116. package/dist/actions/exec/execScript.js.map +1 -1
  117. package/dist/{threads/registerBrowserEnv.js → actions/exec/registerBrowserEnv.worker.js} +1 -1
  118. package/dist/actions/exec/registerBrowserEnv.worker.js.map +1 -0
  119. package/dist/actions/graphql/SchemaError.js +15 -0
  120. package/dist/actions/graphql/SchemaError.js.map +1 -0
  121. package/dist/actions/graphql/__tests__/fixtures/many-self-refs.js +540 -0
  122. package/dist/actions/graphql/__tests__/fixtures/many-self-refs.js.map +1 -0
  123. package/dist/actions/graphql/__tests__/fixtures/test-studio.js +1143 -0
  124. package/dist/actions/graphql/__tests__/fixtures/test-studio.js.map +1 -0
  125. package/dist/actions/graphql/__tests__/fixtures/union-refs.js +591 -0
  126. package/dist/actions/graphql/__tests__/fixtures/union-refs.js.map +1 -0
  127. package/dist/actions/graphql/__tests__/helpers.js +23 -0
  128. package/dist/actions/graphql/__tests__/helpers.js.map +1 -0
  129. package/dist/actions/graphql/extractFromSanitySchema.js +659 -0
  130. package/dist/actions/graphql/extractFromSanitySchema.js.map +1 -0
  131. package/dist/actions/graphql/extractGraphQLAPIs.js +150 -0
  132. package/dist/actions/graphql/extractGraphQLAPIs.js.map +1 -0
  133. package/dist/actions/graphql/extractGraphQLAPIs.worker.js +12 -0
  134. package/dist/actions/graphql/extractGraphQLAPIs.worker.js.map +1 -0
  135. package/dist/actions/graphql/gen1/generateTypeFilters.js +226 -0
  136. package/dist/actions/graphql/gen1/generateTypeFilters.js.map +1 -0
  137. package/dist/actions/graphql/gen1/generateTypeQueries.js +86 -0
  138. package/dist/actions/graphql/gen1/generateTypeQueries.js.map +1 -0
  139. package/dist/actions/graphql/gen1/index.js +19 -0
  140. package/dist/actions/graphql/gen1/index.js.map +1 -0
  141. package/dist/actions/graphql/gen2/filters/booleanFilters.js +26 -0
  142. package/dist/actions/graphql/gen2/filters/booleanFilters.js.map +1 -0
  143. package/dist/actions/graphql/gen2/filters/dateFilters.js +46 -0
  144. package/dist/actions/graphql/gen2/filters/dateFilters.js.map +1 -0
  145. package/dist/actions/graphql/gen2/filters/dateTimeFilters.js +46 -0
  146. package/dist/actions/graphql/gen2/filters/dateTimeFilters.js.map +1 -0
  147. package/dist/actions/graphql/gen2/filters/documentFilters.js +21 -0
  148. package/dist/actions/graphql/gen2/filters/documentFilters.js.map +1 -0
  149. package/dist/actions/graphql/gen2/filters/floatFilters.js +46 -0
  150. package/dist/actions/graphql/gen2/filters/floatFilters.js.map +1 -0
  151. package/dist/actions/graphql/gen2/filters/idFilters.js +44 -0
  152. package/dist/actions/graphql/gen2/filters/idFilters.js.map +1 -0
  153. package/dist/actions/graphql/gen2/filters/integerFilters.js +46 -0
  154. package/dist/actions/graphql/gen2/filters/integerFilters.js.map +1 -0
  155. package/dist/actions/graphql/gen2/filters/stringFilters.js +49 -0
  156. package/dist/actions/graphql/gen2/filters/stringFilters.js.map +1 -0
  157. package/dist/actions/graphql/gen2/generateTypeFilters.js +85 -0
  158. package/dist/actions/graphql/gen2/generateTypeFilters.js.map +1 -0
  159. package/dist/actions/graphql/gen2/generateTypeQueries.js +107 -0
  160. package/dist/actions/graphql/gen2/generateTypeQueries.js.map +1 -0
  161. package/dist/actions/graphql/gen2/generateTypeSortings.js +70 -0
  162. package/dist/actions/graphql/gen2/generateTypeSortings.js.map +1 -0
  163. package/dist/actions/graphql/gen2/index.js +22 -0
  164. package/dist/actions/graphql/gen2/index.js.map +1 -0
  165. package/dist/actions/graphql/gen3/filters/documentFilters.js +21 -0
  166. package/dist/actions/graphql/gen3/filters/documentFilters.js.map +1 -0
  167. package/dist/actions/graphql/gen3/generateTypeFilters.js +101 -0
  168. package/dist/actions/graphql/gen3/generateTypeFilters.js.map +1 -0
  169. package/dist/actions/graphql/gen3/generateTypeQueries.js +103 -0
  170. package/dist/actions/graphql/gen3/generateTypeQueries.js.map +1 -0
  171. package/dist/actions/graphql/gen3/generateTypeSortings.js +70 -0
  172. package/dist/actions/graphql/gen3/generateTypeSortings.js.map +1 -0
  173. package/dist/actions/graphql/gen3/index.js +30 -0
  174. package/dist/actions/graphql/gen3/index.js.map +1 -0
  175. package/dist/actions/graphql/gen3/utils.js +12 -0
  176. package/dist/actions/graphql/gen3/utils.js.map +1 -0
  177. package/dist/actions/graphql/getGraphQLAPIs.js +15 -57
  178. package/dist/actions/graphql/getGraphQLAPIs.js.map +1 -1
  179. package/dist/actions/graphql/getGraphQLAPIs.worker.js +75 -106
  180. package/dist/actions/graphql/getGraphQLAPIs.worker.js.map +1 -1
  181. package/dist/actions/graphql/graphqlDebug.js +4 -0
  182. package/dist/actions/graphql/graphqlDebug.js.map +1 -0
  183. package/dist/actions/graphql/helpUrls.js +3 -0
  184. package/dist/actions/graphql/helpUrls.js.map +1 -0
  185. package/dist/actions/graphql/helpers.js +24 -0
  186. package/dist/actions/graphql/helpers.js.map +1 -0
  187. package/dist/actions/graphql/resolveApiGeneration.js +43 -0
  188. package/dist/actions/graphql/resolveApiGeneration.js.map +1 -0
  189. package/dist/actions/graphql/resolveGraphQLApisFromWorkspaces.js +187 -0
  190. package/dist/actions/graphql/resolveGraphQLApisFromWorkspaces.js.map +1 -0
  191. package/dist/actions/graphql/types.js.map +1 -1
  192. package/dist/actions/init/bootstrapLocalTemplate.js +13 -10
  193. package/dist/actions/init/bootstrapLocalTemplate.js.map +1 -1
  194. package/dist/actions/init/bootstrapRemoteTemplate.js +6 -5
  195. package/dist/actions/init/bootstrapRemoteTemplate.js.map +1 -1
  196. package/dist/actions/init/bootstrapTemplate.js.map +1 -1
  197. package/dist/actions/init/checkNextJsReactCompatibility.js +1 -1
  198. package/dist/actions/init/checkNextJsReactCompatibility.js.map +1 -1
  199. package/dist/actions/init/createAppCliConfig.js.map +1 -1
  200. package/dist/actions/init/createCliConfig.js.map +1 -1
  201. package/dist/actions/init/createPackageManifest.js +21 -9
  202. package/dist/actions/init/createPackageManifest.js.map +1 -1
  203. package/dist/actions/init/env/createOrAppendEnvVars.js +2 -2
  204. package/dist/actions/init/env/createOrAppendEnvVars.js.map +1 -1
  205. package/dist/actions/init/env/writeEnvVarsToFile.js +2 -2
  206. package/dist/actions/init/env/writeEnvVarsToFile.js.map +1 -1
  207. package/dist/actions/init/fetchPostInitPrompt.js +2 -2
  208. package/dist/actions/init/fetchPostInitPrompt.js.map +1 -1
  209. package/dist/actions/init/remoteTemplate.js +1 -2
  210. package/dist/actions/init/remoteTemplate.js.map +1 -1
  211. package/dist/actions/init/resolvePackageManager.js +2 -2
  212. package/dist/actions/init/resolvePackageManager.js.map +1 -1
  213. package/dist/actions/init/sdkAppDependencies.js +19 -0
  214. package/dist/actions/init/sdkAppDependencies.js.map +1 -0
  215. package/dist/actions/init/studioDependencies.js.map +1 -0
  216. package/dist/actions/init/templates/appQuickstart.js +1 -22
  217. package/dist/actions/init/templates/appQuickstart.js.map +1 -1
  218. package/dist/actions/init/templates/appSanityUi.js +3 -22
  219. package/dist/actions/init/templates/appSanityUi.js.map +1 -1
  220. package/dist/actions/init/types.js.map +1 -1
  221. package/dist/actions/manifest/SchemaIcon.js +6 -4
  222. package/dist/actions/manifest/SchemaIcon.js.map +1 -1
  223. package/dist/actions/manifest/blockTypeTransformer.js +67 -0
  224. package/dist/actions/manifest/blockTypeTransformer.js.map +1 -0
  225. package/dist/actions/manifest/debug.js +4 -0
  226. package/dist/actions/manifest/debug.js.map +1 -0
  227. package/dist/actions/manifest/extractAppManifest.js +39 -22
  228. package/dist/actions/manifest/extractAppManifest.js.map +1 -1
  229. package/dist/actions/manifest/extractManifest.js +27 -78
  230. package/dist/actions/manifest/extractManifest.js.map +1 -1
  231. package/dist/actions/manifest/extractManifest.worker.js +30 -0
  232. package/dist/actions/manifest/extractManifest.worker.js.map +1 -0
  233. package/dist/actions/manifest/extractWorkspaceManifest.js +31 -372
  234. package/dist/actions/manifest/extractWorkspaceManifest.js.map +1 -1
  235. package/dist/actions/manifest/iconResolver.js +30 -0
  236. package/dist/actions/manifest/iconResolver.js.map +1 -0
  237. package/dist/actions/manifest/referenceTransformer.js +51 -0
  238. package/dist/actions/manifest/referenceTransformer.js.map +1 -0
  239. package/dist/actions/manifest/schemaTypeHelpers.js +2 -2
  240. package/dist/actions/manifest/schemaTypeHelpers.js.map +1 -1
  241. package/dist/actions/manifest/schemaTypeTransformer.js +168 -0
  242. package/dist/actions/manifest/schemaTypeTransformer.js.map +1 -0
  243. package/dist/actions/manifest/transformerUtils.js +40 -0
  244. package/dist/actions/manifest/transformerUtils.js.map +1 -0
  245. package/dist/actions/manifest/types.js +5 -0
  246. package/dist/actions/manifest/types.js.map +1 -1
  247. package/dist/actions/manifest/validationTransformer.js +84 -0
  248. package/dist/actions/manifest/validationTransformer.js.map +1 -0
  249. package/dist/actions/manifest/writeManifestFile.js +30 -0
  250. package/dist/actions/manifest/writeManifestFile.js.map +1 -0
  251. package/dist/actions/manifest/writeWorkspaceFiles.js +30 -0
  252. package/dist/actions/manifest/writeWorkspaceFiles.js.map +1 -0
  253. package/dist/actions/mcp/detectAvailableEditors.js +75 -58
  254. package/dist/actions/mcp/detectAvailableEditors.js.map +1 -1
  255. package/dist/actions/mcp/editorConfigs.js +205 -0
  256. package/dist/actions/mcp/editorConfigs.js.map +1 -0
  257. package/dist/actions/mcp/promptForMCPSetup.js +24 -0
  258. package/dist/actions/mcp/promptForMCPSetup.js.map +1 -0
  259. package/dist/actions/mcp/setupMCP.js +88 -0
  260. package/dist/actions/mcp/setupMCP.js.map +1 -0
  261. package/dist/actions/mcp/types.js +3 -0
  262. package/dist/actions/mcp/types.js.map +1 -0
  263. package/dist/actions/mcp/writeMCPConfig.js +35 -28
  264. package/dist/actions/mcp/writeMCPConfig.js.map +1 -1
  265. package/dist/actions/media/buildNdjsonIndex.js +32 -0
  266. package/dist/actions/media/buildNdjsonIndex.js.map +1 -0
  267. package/dist/actions/media/importAspects.js +2 -11
  268. package/dist/actions/media/importAspects.js.map +1 -1
  269. package/dist/actions/media/importMedia.js +24 -20
  270. package/dist/actions/media/importMedia.js.map +1 -1
  271. package/dist/actions/organizations/findOrganizationByUserName.js +5 -0
  272. package/dist/actions/organizations/findOrganizationByUserName.js.map +1 -0
  273. package/dist/actions/organizations/getOrganization.js +68 -0
  274. package/dist/actions/organizations/getOrganization.js.map +1 -0
  275. package/dist/actions/organizations/getOrganizationChoices.js +27 -19
  276. package/dist/actions/organizations/getOrganizationChoices.js.map +1 -1
  277. package/dist/actions/organizations/hasProjectAttachGrant.js +1 -1
  278. package/dist/actions/organizations/hasProjectAttachGrant.js.map +1 -1
  279. package/dist/actions/organizations/types.js +3 -0
  280. package/dist/actions/organizations/types.js.map +1 -0
  281. package/dist/actions/organizations/validateOrganizationName.js +10 -0
  282. package/dist/actions/organizations/validateOrganizationName.js.map +1 -0
  283. package/dist/actions/preview/previewAction.js +2 -1
  284. package/dist/actions/preview/previewAction.js.map +1 -1
  285. package/dist/actions/projects/getManageUrl.js +6 -0
  286. package/dist/actions/projects/getManageUrl.js.map +1 -0
  287. package/dist/actions/projects/validateProjectName.js +11 -0
  288. package/dist/actions/projects/validateProjectName.js.map +1 -0
  289. package/dist/actions/schema/deleteSchemaAction.js +16 -32
  290. package/dist/actions/schema/deleteSchemaAction.js.map +1 -1
  291. package/dist/actions/schema/deploySchemas.js +22 -91
  292. package/dist/actions/schema/deploySchemas.js.map +1 -1
  293. package/dist/actions/schema/extractSanitySchema.worker.js +33 -0
  294. package/dist/actions/schema/extractSanitySchema.worker.js.map +1 -0
  295. package/dist/actions/schema/extractSanityWorkspace.worker.js +24 -0
  296. package/dist/actions/schema/extractSanityWorkspace.worker.js.map +1 -0
  297. package/dist/actions/schema/extractSchema.js +45 -0
  298. package/dist/actions/schema/extractSchema.js.map +1 -0
  299. package/dist/actions/schema/extractSchemaWatcher.js +128 -0
  300. package/dist/actions/schema/extractSchemaWatcher.js.map +1 -0
  301. package/dist/actions/schema/formatSchemaValidation.js +22 -6
  302. package/dist/actions/schema/formatSchemaValidation.js.map +1 -1
  303. package/dist/actions/schema/getExtractOptions.js +16 -0
  304. package/dist/actions/schema/getExtractOptions.js.map +1 -0
  305. package/dist/actions/schema/listSchemas.js +54 -57
  306. package/dist/actions/schema/listSchemas.js.map +1 -1
  307. package/dist/actions/schema/matchSchemaPattern.js +22 -0
  308. package/dist/actions/schema/matchSchemaPattern.js.map +1 -0
  309. package/dist/actions/schema/metafile.js.map +1 -1
  310. package/dist/actions/schema/runSchemaExtraction.js +39 -0
  311. package/dist/actions/schema/runSchemaExtraction.js.map +1 -0
  312. package/dist/actions/schema/types.js +17 -0
  313. package/dist/actions/schema/types.js.map +1 -0
  314. package/dist/actions/schema/uniqueWorkspaces.worker.js +24 -0
  315. package/dist/actions/schema/uniqueWorkspaces.worker.js.map +1 -0
  316. package/dist/actions/schema/updateWorkspaceSchema.js +63 -0
  317. package/dist/actions/schema/updateWorkspaceSchema.js.map +1 -0
  318. package/dist/actions/schema/uploadSchemaToLexicon.js +87 -0
  319. package/dist/actions/schema/uploadSchemaToLexicon.js.map +1 -0
  320. package/dist/actions/schema/utils/SchemaExtractionError.js +10 -0
  321. package/dist/actions/schema/utils/SchemaExtractionError.js.map +1 -0
  322. package/dist/actions/schema/utils/debug.js +1 -0
  323. package/dist/actions/schema/utils/debug.js.map +1 -1
  324. package/dist/actions/schema/utils/extractValidationFromSchemaError.js +12 -0
  325. package/dist/actions/schema/utils/extractValidationFromSchemaError.js.map +1 -0
  326. package/dist/actions/schema/utils/schemaStoreValidation.js +1 -15
  327. package/dist/actions/schema/utils/schemaStoreValidation.js.map +1 -1
  328. package/dist/actions/schema/utils/uniqByProjectIdDataset.js +1 -1
  329. package/dist/actions/schema/utils/uniqByProjectIdDataset.js.map +1 -1
  330. package/dist/actions/schema/validateAction.js +7 -17
  331. package/dist/actions/schema/validateAction.js.map +1 -1
  332. package/dist/{threads/validateSchema.js → actions/schema/validateSchema.worker.js} +28 -26
  333. package/dist/actions/schema/validateSchema.worker.js.map +1 -0
  334. package/dist/actions/schema/watchExtractSchema.js +72 -0
  335. package/dist/actions/schema/watchExtractSchema.js.map +1 -0
  336. package/dist/actions/telemetry/getLearnMoreMessage.js.map +1 -1
  337. package/dist/actions/telemetry/getStatusDisplay.js.map +1 -1
  338. package/dist/actions/telemetry/getStatusMessage.js.map +1 -1
  339. package/dist/actions/telemetry/isTrueish.js +10 -0
  340. package/dist/actions/telemetry/isTrueish.js.map +1 -0
  341. package/dist/actions/telemetry/resolveConsent.js +3 -3
  342. package/dist/actions/telemetry/resolveConsent.js.map +1 -1
  343. package/dist/actions/telemetry/setConsent.js +3 -2
  344. package/dist/actions/telemetry/setConsent.js.map +1 -1
  345. package/dist/actions/telemetry/telemetryDisclosure.js +3 -3
  346. package/dist/actions/telemetry/telemetryDisclosure.js.map +1 -1
  347. package/dist/actions/users/getMembersForProject.js.map +1 -1
  348. package/dist/actions/users/getPendingInvitations.js +1 -1
  349. package/dist/actions/users/getPendingInvitations.js.map +1 -1
  350. package/dist/actions/users/types.js.map +1 -1
  351. package/dist/actions/versions/filterSanityModules.js.map +1 -1
  352. package/dist/actions/versions/findSanityModulesVersions.js +2 -3
  353. package/dist/actions/versions/findSanityModulesVersions.js.map +1 -1
  354. package/dist/actions/versions/getFormatters.js +3 -3
  355. package/dist/actions/versions/getFormatters.js.map +1 -1
  356. package/dist/actions/versions/tryFindLatestVersion.js +1 -1
  357. package/dist/actions/versions/tryFindLatestVersion.js.map +1 -1
  358. package/dist/commands/backup/disable.js +26 -10
  359. package/dist/commands/backup/disable.js.map +1 -1
  360. package/dist/commands/backup/download.js +26 -17
  361. package/dist/commands/backup/download.js.map +1 -1
  362. package/dist/commands/backup/enable.js +25 -10
  363. package/dist/commands/backup/enable.js.map +1 -1
  364. package/dist/commands/backup/list.js +20 -8
  365. package/dist/commands/backup/list.js.map +1 -1
  366. package/dist/commands/build.js +2 -5
  367. package/dist/commands/build.js.map +1 -1
  368. package/dist/commands/cors/add.js +33 -16
  369. package/dist/commands/cors/add.js.map +1 -1
  370. package/dist/commands/cors/delete.js +22 -7
  371. package/dist/commands/cors/delete.js.map +1 -1
  372. package/dist/commands/cors/list.js +22 -7
  373. package/dist/commands/cors/list.js.map +1 -1
  374. package/dist/commands/dataset/alias/create.js +26 -7
  375. package/dist/commands/dataset/alias/create.js.map +1 -1
  376. package/dist/commands/dataset/alias/delete.js +20 -7
  377. package/dist/commands/dataset/alias/delete.js.map +1 -1
  378. package/dist/commands/dataset/alias/link.js +20 -7
  379. package/dist/commands/dataset/alias/link.js.map +1 -1
  380. package/dist/commands/dataset/alias/unlink.js +20 -7
  381. package/dist/commands/dataset/alias/unlink.js.map +1 -1
  382. package/dist/commands/dataset/copy.js +51 -35
  383. package/dist/commands/dataset/copy.js.map +1 -1
  384. package/dist/commands/dataset/create.js +46 -14
  385. package/dist/commands/dataset/create.js.map +1 -1
  386. package/dist/commands/dataset/delete.js +28 -9
  387. package/dist/commands/dataset/delete.js.map +1 -1
  388. package/dist/commands/dataset/embeddings/disable.js +77 -0
  389. package/dist/commands/dataset/embeddings/disable.js.map +1 -0
  390. package/dist/commands/dataset/embeddings/enable.js +141 -0
  391. package/dist/commands/dataset/embeddings/enable.js.map +1 -0
  392. package/dist/commands/dataset/embeddings/status.js +72 -0
  393. package/dist/commands/dataset/embeddings/status.js.map +1 -0
  394. package/dist/commands/dataset/export.js +26 -18
  395. package/dist/commands/dataset/export.js.map +1 -1
  396. package/dist/commands/dataset/import.js +306 -1
  397. package/dist/commands/dataset/import.js.map +1 -1
  398. package/dist/commands/dataset/list.js +22 -7
  399. package/dist/commands/dataset/list.js.map +1 -1
  400. package/dist/commands/dataset/visibility/get.js +18 -7
  401. package/dist/commands/dataset/visibility/get.js.map +1 -1
  402. package/dist/commands/dataset/visibility/set.js +22 -7
  403. package/dist/commands/dataset/visibility/set.js.map +1 -1
  404. package/dist/commands/debug.js +9 -7
  405. package/dist/commands/debug.js.map +1 -1
  406. package/dist/commands/deploy.js +22 -11
  407. package/dist/commands/deploy.js.map +1 -1
  408. package/dist/commands/dev.js +7 -6
  409. package/dist/commands/dev.js.map +1 -1
  410. package/dist/commands/docs/search.js +3 -2
  411. package/dist/commands/docs/search.js.map +1 -1
  412. package/dist/commands/doctor.js +125 -0
  413. package/dist/commands/doctor.js.map +1 -0
  414. package/dist/commands/documents/create.js +19 -12
  415. package/dist/commands/documents/create.js.map +1 -1
  416. package/dist/commands/documents/delete.js +19 -12
  417. package/dist/commands/documents/delete.js.map +1 -1
  418. package/dist/commands/documents/get.js +17 -12
  419. package/dist/commands/documents/get.js.map +1 -1
  420. package/dist/commands/documents/query.js +26 -18
  421. package/dist/commands/documents/query.js.map +1 -1
  422. package/dist/commands/documents/validate.js +74 -48
  423. package/dist/commands/documents/validate.js.map +1 -1
  424. package/dist/commands/graphql/deploy.js +457 -0
  425. package/dist/commands/graphql/deploy.js.map +1 -0
  426. package/dist/commands/graphql/list.js +21 -13
  427. package/dist/commands/graphql/list.js.map +1 -1
  428. package/dist/commands/graphql/undeploy.js +37 -19
  429. package/dist/commands/graphql/undeploy.js.map +1 -1
  430. package/dist/commands/hook/attempt.js +22 -7
  431. package/dist/commands/hook/attempt.js.map +1 -1
  432. package/dist/commands/hook/create.js +23 -8
  433. package/dist/commands/hook/create.js.map +1 -1
  434. package/dist/commands/hook/delete.js +22 -7
  435. package/dist/commands/hook/delete.js.map +1 -1
  436. package/dist/commands/hook/list.js +22 -7
  437. package/dist/commands/hook/list.js.map +1 -1
  438. package/dist/commands/hook/logs.js +25 -12
  439. package/dist/commands/hook/logs.js.map +1 -1
  440. package/dist/commands/init.js +164 -143
  441. package/dist/commands/init.js.map +1 -1
  442. package/dist/commands/login.js +19 -6
  443. package/dist/commands/login.js.map +1 -1
  444. package/dist/commands/logout.js +8 -6
  445. package/dist/commands/logout.js.map +1 -1
  446. package/dist/commands/manage.js +2 -2
  447. package/dist/commands/manage.js.map +1 -1
  448. package/dist/commands/manifest/extract.js +14 -10
  449. package/dist/commands/manifest/extract.js.map +1 -1
  450. package/dist/commands/mcp/configure.js +14 -75
  451. package/dist/commands/mcp/configure.js.map +1 -1
  452. package/dist/commands/media/create-aspect.js +11 -10
  453. package/dist/commands/media/create-aspect.js.map +1 -1
  454. package/dist/commands/media/delete-aspect.js +14 -11
  455. package/dist/commands/media/delete-aspect.js.map +1 -1
  456. package/dist/commands/media/deploy-aspect.js +31 -17
  457. package/dist/commands/media/deploy-aspect.js.map +1 -1
  458. package/dist/commands/media/export.js +10 -9
  459. package/dist/commands/media/export.js.map +1 -1
  460. package/dist/commands/media/import.js +14 -12
  461. package/dist/commands/media/import.js.map +1 -1
  462. package/dist/commands/preview.js +12 -28
  463. package/dist/commands/preview.js.map +1 -1
  464. package/dist/commands/projects/create.js +181 -0
  465. package/dist/commands/projects/create.js.map +1 -0
  466. package/dist/commands/projects/list.js +4 -3
  467. package/dist/commands/projects/list.js.map +1 -1
  468. package/dist/commands/schema/delete.js +33 -34
  469. package/dist/commands/schema/delete.js.map +1 -1
  470. package/dist/commands/schema/deploy.js +19 -30
  471. package/dist/commands/schema/deploy.js.map +1 -1
  472. package/dist/commands/schema/extract.js +34 -11
  473. package/dist/commands/schema/extract.js.map +1 -1
  474. package/dist/commands/schema/list.js +10 -31
  475. package/dist/commands/schema/list.js.map +1 -1
  476. package/dist/commands/schema/validate.js +10 -2
  477. package/dist/commands/schema/validate.js.map +1 -1
  478. package/dist/commands/tokens/add.js +24 -7
  479. package/dist/commands/tokens/add.js.map +1 -1
  480. package/dist/commands/tokens/delete.js +20 -7
  481. package/dist/commands/tokens/delete.js.map +1 -1
  482. package/dist/commands/tokens/list.js +20 -7
  483. package/dist/commands/tokens/list.js.map +1 -1
  484. package/dist/commands/undeploy.js +9 -8
  485. package/dist/commands/undeploy.js.map +1 -1
  486. package/dist/commands/users/invite.js +24 -7
  487. package/dist/commands/users/invite.js.map +1 -1
  488. package/dist/commands/users/list.js +77 -34
  489. package/dist/commands/users/list.js.map +1 -1
  490. package/dist/commands/versions.js +3 -3
  491. package/dist/commands/versions.js.map +1 -1
  492. package/dist/config/createCliConfig.js +2 -2
  493. package/dist/config/createCliConfig.js.map +1 -1
  494. package/dist/exports/_internal.d.ts +132 -0
  495. package/dist/exports/_internal.js +4 -0
  496. package/dist/exports/_internal.js.map +1 -0
  497. package/dist/exports/index.d.ts +113 -0
  498. package/dist/exports/index.js +6 -0
  499. package/dist/exports/index.js.map +1 -0
  500. package/dist/hooks/init/checkForUpdates.js +14 -0
  501. package/dist/hooks/init/checkForUpdates.js.map +1 -0
  502. package/dist/hooks/prerun/flushTelemetry.worker.js +1 -1
  503. package/dist/hooks/prerun/flushTelemetry.worker.js.map +1 -1
  504. package/dist/hooks/prerun/injectEnvVariables.js +39 -0
  505. package/dist/hooks/prerun/injectEnvVariables.js.map +1 -0
  506. package/dist/hooks/prerun/setupTelemetry.js +14 -7
  507. package/dist/hooks/prerun/setupTelemetry.js.map +1 -1
  508. package/dist/hooks/prerun/warnings.js +6 -0
  509. package/dist/hooks/prerun/warnings.js.map +1 -0
  510. package/dist/prompts/promptForDefaultConfig.js +12 -0
  511. package/dist/prompts/promptForDefaultConfig.js.map +1 -0
  512. package/dist/prompts/promptForOrganizationName.js +11 -0
  513. package/dist/prompts/promptForOrganizationName.js.map +1 -0
  514. package/dist/prompts/promptForProject.js +64 -0
  515. package/dist/prompts/promptForProject.js.map +1 -0
  516. package/dist/prompts/promptForProjectName.js +11 -0
  517. package/dist/prompts/promptForProjectName.js.map +1 -0
  518. package/dist/{actions/auth/login/promptProviders.js → prompts/promptForProviders.js} +3 -3
  519. package/dist/prompts/promptForProviders.js.map +1 -0
  520. package/dist/prompts/selectMediaLibrary.js +1 -1
  521. package/dist/prompts/selectMediaLibrary.js.map +1 -1
  522. package/dist/server/devServer.js +4 -2
  523. package/dist/server/devServer.js.map +1 -1
  524. package/dist/server/previewServer.js +17 -11
  525. package/dist/server/previewServer.js.map +1 -1
  526. package/dist/server/vite/plugin-schema-extraction.js +201 -0
  527. package/dist/server/vite/plugin-schema-extraction.js.map +1 -0
  528. package/dist/server/vite/plugin-typegen.js +217 -0
  529. package/dist/server/vite/plugin-typegen.js.map +1 -0
  530. package/dist/services/auth.js +42 -3
  531. package/dist/services/auth.js.map +1 -1
  532. package/dist/services/datasets.js +7 -5
  533. package/dist/services/datasets.js.map +1 -1
  534. package/dist/services/docs.js +2 -2
  535. package/dist/services/docs.js.map +1 -1
  536. package/dist/services/documents.js +56 -0
  537. package/dist/services/documents.js.map +1 -0
  538. package/dist/services/embeddings.js +25 -0
  539. package/dist/services/embeddings.js.map +1 -0
  540. package/dist/services/getUrlHeaders.js +25 -0
  541. package/dist/services/getUrlHeaders.js.map +1 -0
  542. package/dist/services/grants.js +13 -0
  543. package/dist/services/grants.js.map +1 -0
  544. package/dist/services/graphql.js +64 -0
  545. package/dist/services/graphql.js.map +1 -1
  546. package/dist/services/mcp.js.map +1 -1
  547. package/dist/services/organizations.js +1 -1
  548. package/dist/services/organizations.js.map +1 -1
  549. package/dist/services/projects.js +4 -2
  550. package/dist/services/projects.js.map +1 -1
  551. package/dist/services/schemas.js +1 -1
  552. package/dist/services/schemas.js.map +1 -1
  553. package/dist/services/telemetry.js +63 -2
  554. package/dist/services/telemetry.js.map +1 -1
  555. package/dist/services/userApplications.js +21 -6
  556. package/dist/services/userApplications.js.map +1 -1
  557. package/dist/telemetry/build.telemetry.js +13 -0
  558. package/dist/telemetry/build.telemetry.js.map +1 -0
  559. package/dist/telemetry/extractSchema.telemetry.js +18 -0
  560. package/dist/telemetry/extractSchema.telemetry.js.map +1 -0
  561. package/dist/telemetry/init.telemetry.js +8 -0
  562. package/dist/telemetry/init.telemetry.js.map +1 -0
  563. package/dist/telemetry/login.telemetry.js +8 -0
  564. package/dist/telemetry/login.telemetry.js.map +1 -0
  565. package/dist/telemetry/mcp.telemetry.js +8 -0
  566. package/dist/telemetry/mcp.telemetry.js.map +1 -0
  567. package/dist/types/grants.js +3 -0
  568. package/dist/types/grants.js.map +1 -0
  569. package/dist/types.js +6 -1
  570. package/dist/types.js.map +1 -1
  571. package/dist/util/appId.js +5 -5
  572. package/dist/util/appId.js.map +1 -1
  573. package/dist/util/checkProjectPermissions.js +21 -0
  574. package/dist/util/checkProjectPermissions.js.map +1 -0
  575. package/dist/util/cliClient.js +13 -10
  576. package/dist/util/cliClient.js.map +1 -1
  577. package/dist/util/compareDependencyVersions.js +74 -38
  578. package/dist/util/compareDependencyVersions.js.map +1 -1
  579. package/dist/util/createExpiringConfig.js +64 -0
  580. package/dist/util/createExpiringConfig.js.map +1 -0
  581. package/dist/util/detectFramework.js +135 -0
  582. package/dist/util/detectFramework.js.map +1 -0
  583. package/dist/util/errorMessages.js +0 -1
  584. package/dist/util/errorMessages.js.map +1 -1
  585. package/dist/util/extractDocumentsFromNdjsonOrTarball.js +1 -2
  586. package/dist/util/extractDocumentsFromNdjsonOrTarball.js.map +1 -1
  587. package/dist/util/formatSize.js +2 -2
  588. package/dist/util/formatSize.js.map +1 -1
  589. package/dist/util/getCliVersion.js +1 -1
  590. package/dist/util/getCliVersion.js.map +1 -1
  591. package/dist/util/getLocalPackageVersion.js +31 -23
  592. package/dist/util/getLocalPackageVersion.js.map +1 -1
  593. package/dist/util/getProjectDefaults.js.map +1 -1
  594. package/dist/util/getSanityEnv.js +3 -0
  595. package/dist/util/getSanityEnv.js.map +1 -0
  596. package/dist/util/getSharedServerConfig.js +1 -0
  597. package/dist/util/getSharedServerConfig.js.map +1 -1
  598. package/dist/util/getWorkspace.js +1 -1
  599. package/dist/util/getWorkspace.js.map +1 -1
  600. package/dist/util/isSchemaError.js +11 -0
  601. package/dist/util/isSchemaError.js.map +1 -0
  602. package/dist/util/isTar.js +8 -0
  603. package/dist/util/isTar.js.map +1 -0
  604. package/dist/util/loadEnv.js +1 -6
  605. package/dist/util/loadEnv.js.map +1 -1
  606. package/dist/util/packageManager/getPeerDependencies.js +44 -0
  607. package/dist/util/packageManager/getPeerDependencies.js.map +1 -0
  608. package/dist/util/packageManager/installationInfo/analyzeIssues.js +225 -0
  609. package/dist/util/packageManager/installationInfo/analyzeIssues.js.map +1 -0
  610. package/dist/util/packageManager/installationInfo/commands.js +73 -0
  611. package/dist/util/packageManager/installationInfo/commands.js.map +1 -0
  612. package/dist/util/packageManager/installationInfo/detectCliInstallation.js +66 -0
  613. package/dist/util/packageManager/installationInfo/detectCliInstallation.js.map +1 -0
  614. package/dist/util/packageManager/installationInfo/detectGlobals.js +295 -0
  615. package/dist/util/packageManager/installationInfo/detectGlobals.js.map +1 -0
  616. package/dist/util/packageManager/installationInfo/detectPackages.js +190 -0
  617. package/dist/util/packageManager/installationInfo/detectPackages.js.map +1 -0
  618. package/dist/util/packageManager/installationInfo/detectWorkspace.js +192 -0
  619. package/dist/util/packageManager/installationInfo/detectWorkspace.js.map +1 -0
  620. package/dist/util/packageManager/installationInfo/index.js +4 -0
  621. package/dist/util/packageManager/installationInfo/index.js.map +1 -0
  622. package/dist/util/packageManager/installationInfo/readJsonFile.js +14 -0
  623. package/dist/util/packageManager/installationInfo/readJsonFile.js.map +1 -0
  624. package/dist/util/packageManager/installationInfo/resolveVersionRange.js +42 -0
  625. package/dist/util/packageManager/installationInfo/resolveVersionRange.js.map +1 -0
  626. package/dist/util/packageManager/installationInfo/types.js +3 -0
  627. package/dist/util/packageManager/installationInfo/types.js.map +1 -0
  628. package/dist/util/packageManager/packageManagerChoice.js +1 -20
  629. package/dist/util/packageManager/packageManagerChoice.js.map +1 -1
  630. package/dist/util/packageManager/upgradePackages.js +4 -1
  631. package/dist/util/packageManager/upgradePackages.js.map +1 -1
  632. package/dist/util/promiseRaceWithTimeout.js +28 -0
  633. package/dist/util/promiseRaceWithTimeout.js.map +1 -0
  634. package/dist/util/readdirRecursive.js.map +1 -1
  635. package/dist/util/resolveLatestVersions.js +2 -2
  636. package/dist/util/resolveLatestVersions.js.map +1 -1
  637. package/dist/util/sharedFlags.js +54 -0
  638. package/dist/util/sharedFlags.js.map +1 -0
  639. package/dist/{telemetry/store → util/telemetry}/cleanupOldTelemetryFiles.js +1 -1
  640. package/dist/util/telemetry/cleanupOldTelemetryFiles.js.map +1 -0
  641. package/dist/{telemetry/store → util/telemetry}/createTelemetryStore.js +4 -4
  642. package/dist/util/telemetry/createTelemetryStore.js.map +1 -0
  643. package/dist/util/telemetry/createTraceId.js.map +1 -0
  644. package/dist/{telemetry/store → util/telemetry}/findTelemetryFiles.js +4 -3
  645. package/dist/util/telemetry/findTelemetryFiles.js.map +1 -0
  646. package/dist/{telemetry/store → util/telemetry}/flushTelemetryFiles.js +29 -18
  647. package/dist/util/telemetry/flushTelemetryFiles.js.map +1 -0
  648. package/dist/{telemetry/store → util/telemetry}/generateTelemetryFilePath.js +2 -2
  649. package/dist/util/telemetry/generateTelemetryFilePath.js.map +1 -0
  650. package/dist/{telemetry/store → util/telemetry}/logger.js +7 -2
  651. package/dist/util/telemetry/logger.js.map +1 -0
  652. package/dist/util/telemetry/readNDJSON.js +28 -0
  653. package/dist/util/telemetry/readNDJSON.js.map +1 -0
  654. package/dist/util/telemetry/telemetryStoreDebug.js +7 -0
  655. package/dist/util/telemetry/telemetryStoreDebug.js.map +1 -0
  656. package/dist/{telemetry/store → util/telemetry}/trace.js +2 -2
  657. package/dist/util/telemetry/trace.js.map +1 -0
  658. package/dist/util/toForwardSlashes.js +8 -0
  659. package/dist/util/toForwardSlashes.js.map +1 -0
  660. package/dist/util/update/fetchLatestVersion.js +21 -0
  661. package/dist/util/update/fetchLatestVersion.js.map +1 -0
  662. package/dist/util/update/getUpdateCommand.js +20 -0
  663. package/dist/util/update/getUpdateCommand.js.map +1 -0
  664. package/dist/util/update/isInstalledUsingYarn.js +17 -0
  665. package/dist/util/update/isInstalledUsingYarn.js.map +1 -0
  666. package/dist/util/update/showNotificationUpdate.js +31 -0
  667. package/dist/util/update/showNotificationUpdate.js.map +1 -0
  668. package/dist/util/update/updateChecker.js +60 -0
  669. package/dist/util/update/updateChecker.js.map +1 -0
  670. package/dist/util/update/updateCheckerDebug.js +4 -0
  671. package/dist/util/update/updateCheckerDebug.js.map +1 -0
  672. package/dist/util/warnAboutMissingAppId.js +6 -2
  673. package/dist/util/warnAboutMissingAppId.js.map +1 -1
  674. package/dist/util/warnOnNonProductionEnvironment.js +18 -0
  675. package/dist/util/warnOnNonProductionEnvironment.js.map +1 -0
  676. package/oclif.config.js +7 -1
  677. package/oclif.manifest.json +1129 -146
  678. package/package.json +83 -78
  679. package/static/favicons/apple-touch-icon.png +0 -0
  680. package/static/favicons/favicon-192.png +0 -0
  681. package/static/favicons/favicon-512.png +0 -0
  682. package/static/favicons/favicon-96.png +0 -0
  683. package/static/favicons/favicon.ico +0 -0
  684. package/static/favicons/favicon.svg +12 -0
  685. package/dist/SanityHelp.d.ts +0 -4
  686. package/dist/actions/auth/authServer.d.ts +0 -33
  687. package/dist/actions/auth/getProviderName.d.ts +0 -8
  688. package/dist/actions/auth/login/getProvider.d.ts +0 -15
  689. package/dist/actions/auth/login/getSSOProvider.d.ts +0 -13
  690. package/dist/actions/auth/login/login.d.ts +0 -20
  691. package/dist/actions/auth/login/promptProviders.d.ts +0 -10
  692. package/dist/actions/auth/login/promptProviders.js.map +0 -1
  693. package/dist/actions/auth/login/samlProviderToLoginProvider.d.ts +0 -9
  694. package/dist/actions/auth/types.d.ts +0 -26
  695. package/dist/actions/backup/archiveDir.d.ts +0 -10
  696. package/dist/actions/backup/assertDatasetExist.d.ts +0 -8
  697. package/dist/actions/backup/backupDownloadDebug.d.ts +0 -1
  698. package/dist/actions/backup/cleanupTmpDir.d.ts +0 -6
  699. package/dist/actions/backup/constants.d.ts +0 -1
  700. package/dist/actions/backup/downloadAsset.d.ts +0 -9
  701. package/dist/actions/backup/downloadDocument.d.ts +0 -7
  702. package/dist/actions/backup/fetchNextBackupPage.d.ts +0 -23
  703. package/dist/actions/backup/progressSpinner.d.ts +0 -14
  704. package/dist/actions/build/buildApp.d.ts +0 -7
  705. package/dist/actions/build/buildDebug.d.ts +0 -1
  706. package/dist/actions/build/buildStaticFiles.d.ts +0 -35
  707. package/dist/actions/build/buildStudio.d.ts +0 -7
  708. package/dist/actions/build/buildVendorDependencies.d.ts +0 -11
  709. package/dist/actions/build/checkRequiredDependencies.d.ts +0 -22
  710. package/dist/actions/build/checkStudioDependencyVersions.d.ts +0 -2
  711. package/dist/actions/build/createExternalFromImportMap.d.ts +0 -11
  712. package/dist/actions/build/decorateIndexWithAutoGeneratedWarning.d.ts +0 -6
  713. package/dist/actions/build/decorateIndexWithBridgeScript.d.ts +0 -8
  714. package/dist/actions/build/determineBasePath.d.ts +0 -7
  715. package/dist/actions/build/generateWebManifest.d.ts +0 -15
  716. package/dist/actions/build/getAppEnvVars.d.ts +0 -6
  717. package/dist/actions/build/getAutoUpdatesImportMap.d.ts +0 -21
  718. package/dist/actions/build/getEntryModule.d.ts +0 -7
  719. package/dist/actions/build/getPossibleDocumentComponentLocations.d.ts +0 -4
  720. package/dist/actions/build/getStudioEnvVars.d.ts +0 -6
  721. package/dist/actions/build/getStudioEnvironmentVariables.d.ts +0 -52
  722. package/dist/actions/build/getViteConfig.d.ts +0 -66
  723. package/dist/actions/build/normalizeBasePath.d.ts +0 -6
  724. package/dist/actions/build/renderDocument.d.ts +0 -15
  725. package/dist/actions/build/renderDocument.worker.d.ts +0 -1
  726. package/dist/actions/build/renderDocumentWorker/addTimestampImportMapScriptToHtml.d.ts +0 -6
  727. package/dist/actions/build/renderDocumentWorker/components/BasicDocument.d.ts +0 -19
  728. package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.d.ts +0 -13
  729. package/dist/actions/build/renderDocumentWorker/components/Favicons.d.ts +0 -2
  730. package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.d.ts +0 -3
  731. package/dist/actions/build/renderDocumentWorker/components/NoJavascript.d.ts +0 -3
  732. package/dist/actions/build/renderDocumentWorker/getDocumentComponent.d.ts +0 -5
  733. package/dist/actions/build/renderDocumentWorker/getDocumentHtml.d.ts +0 -8
  734. package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.d.ts +0 -21
  735. package/dist/actions/build/renderDocumentWorker/tryLoadDocumentComponent.d.ts +0 -8
  736. package/dist/actions/build/renderDocumentWorker/types.d.ts +0 -8
  737. package/dist/actions/build/shouldAutoUpdate.d.ts +0 -16
  738. package/dist/actions/build/types.d.ts +0 -13
  739. package/dist/actions/build/writeFavicons.d.ts +0 -1
  740. package/dist/actions/build/writeSanityRuntime.d.ts +0 -19
  741. package/dist/actions/build/writeWebManifest.d.ts +0 -4
  742. package/dist/actions/codemods/deskRename.d.ts +0 -2
  743. package/dist/actions/codemods/index.d.ts +0 -5
  744. package/dist/actions/codemods/partsTypeDirective.d.ts +0 -2
  745. package/dist/actions/codemods/reactIconsV3.d.ts +0 -2
  746. package/dist/actions/codemods/types.d.ts +0 -8
  747. package/dist/actions/cors/filterAndValidateOrigin.d.ts +0 -7
  748. package/dist/actions/dataset/create.d.ts +0 -49
  749. package/dist/actions/dataset/determineDatasetAclMode.d.ts +0 -37
  750. package/dist/actions/dataset/processAliasName.d.ts +0 -9
  751. package/dist/actions/dataset/validateDatasetAliasName.d.ts +0 -1
  752. package/dist/actions/dataset/validateDatasetName.d.ts +0 -13
  753. package/dist/actions/debug/gatherDebugInfo.d.ts +0 -2
  754. package/dist/actions/debug/getGlobalConfigLocation.d.ts +0 -1
  755. package/dist/actions/debug/types.d.ts +0 -30
  756. package/dist/actions/deploy/checkDir.d.ts +0 -8
  757. package/dist/actions/deploy/createStudioUserApplication.d.ts +0 -2
  758. package/dist/actions/deploy/createUserApplicationForApp.d.ts +0 -2
  759. package/dist/actions/deploy/deployApp.d.ts +0 -7
  760. package/dist/actions/deploy/deployDebug.d.ts +0 -1
  761. package/dist/actions/deploy/deployStudio.d.ts +0 -2
  762. package/dist/actions/deploy/findUserApplicationForApp.d.ts +0 -15
  763. package/dist/actions/deploy/findUserApplicationForStudio.d.ts +0 -13
  764. package/dist/actions/deploy/types.d.ts +0 -11
  765. package/dist/actions/dev/devAction.d.ts +0 -4
  766. package/dist/actions/dev/devDebug.d.ts +0 -1
  767. package/dist/actions/dev/getCoreAppUrl.d.ts +0 -5
  768. package/dist/actions/dev/getCoreAppUrl.js +0 -10
  769. package/dist/actions/dev/getCoreAppUrl.js.map +0 -1
  770. package/dist/actions/dev/getDevServerConfig.d.ts +0 -9
  771. package/dist/actions/dev/startAppDevServer.d.ts +0 -4
  772. package/dist/actions/dev/startStudioDevServer.d.ts +0 -4
  773. package/dist/actions/dev/types.d.ts +0 -10
  774. package/dist/actions/docs/normalizeDocsPath.d.ts +0 -8
  775. package/dist/actions/documents/constants.d.ts +0 -1
  776. package/dist/actions/documents/editor.d.ts +0 -11
  777. package/dist/actions/documents/types.d.ts +0 -2
  778. package/dist/actions/documents/validate.d.ts +0 -26
  779. package/dist/actions/documents/validation/reporters/index.d.ts +0 -5
  780. package/dist/actions/documents/validation/reporters/jsonReporter.d.ts +0 -2
  781. package/dist/actions/documents/validation/reporters/ndjsonReporter.d.ts +0 -2
  782. package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.d.ts +0 -10
  783. package/dist/actions/documents/validation/reporters/prettyReporter/index.d.ts +0 -1
  784. package/dist/actions/documents/validation/reporters/prettyReporter/prettyReporter.d.ts +0 -5
  785. package/dist/actions/documents/validation/reporters/prettyReporter/util.d.ts +0 -53
  786. package/dist/actions/exec/execScript.d.ts +0 -11
  787. package/dist/actions/graphql/getGraphQLAPIs.d.ts +0 -2
  788. package/dist/actions/graphql/getGraphQLAPIs.worker.d.ts +0 -1
  789. package/dist/actions/graphql/types.d.ts +0 -68
  790. package/dist/actions/hook/constants.d.ts +0 -1
  791. package/dist/actions/hook/formatFailure.d.ts +0 -4
  792. package/dist/actions/hook/types.d.ts +0 -78
  793. package/dist/actions/init/bootstrapLocalTemplate.d.ts +0 -13
  794. package/dist/actions/init/bootstrapRemoteTemplate.d.ts +0 -12
  795. package/dist/actions/init/bootstrapTemplate.d.ts +0 -18
  796. package/dist/actions/init/checkNextJsReactCompatibility.d.ts +0 -9
  797. package/dist/actions/init/constants.d.ts +0 -1
  798. package/dist/actions/init/countNestedFolders.d.ts +0 -1
  799. package/dist/actions/init/createAppCliConfig.d.ts +0 -5
  800. package/dist/actions/init/createCliConfig.d.ts +0 -6
  801. package/dist/actions/init/createPackageManifest.d.ts +0 -6
  802. package/dist/actions/init/createStudioConfig.d.ts +0 -13
  803. package/dist/actions/init/determineAppTemplate.d.ts +0 -9
  804. package/dist/actions/init/env/createOrAppendEnvVars.d.ts +0 -12
  805. package/dist/actions/init/env/parseAndUpdateEnvVars.d.ts +0 -9
  806. package/dist/actions/init/env/writeEnvVarsToFile.d.ts +0 -12
  807. package/dist/actions/init/fetchPostInitPrompt.d.ts +0 -6
  808. package/dist/actions/init/git.d.ts +0 -1
  809. package/dist/actions/init/processTemplate.d.ts +0 -7
  810. package/dist/actions/init/remoteTemplate.d.ts +0 -20
  811. package/dist/actions/init/resolvePackageManager.d.ts +0 -10
  812. package/dist/actions/init/setupMCP.d.ts +0 -21
  813. package/dist/actions/init/setupMCP.js +0 -258
  814. package/dist/actions/init/setupMCP.js.map +0 -1
  815. package/dist/actions/init/templates/appQuickstart.d.ts +0 -3
  816. package/dist/actions/init/templates/appSanityUi.d.ts +0 -3
  817. package/dist/actions/init/templates/blog.d.ts +0 -3
  818. package/dist/actions/init/templates/clean.d.ts +0 -3
  819. package/dist/actions/init/templates/getStarted.d.ts +0 -3
  820. package/dist/actions/init/templates/index.d.ts +0 -3
  821. package/dist/actions/init/templates/moviedb.d.ts +0 -3
  822. package/dist/actions/init/templates/nextjs/index.d.ts +0 -6
  823. package/dist/actions/init/templates/nextjs/schemaTypes/blog.d.ts +0 -3
  824. package/dist/actions/init/templates/quickstart.d.ts +0 -3
  825. package/dist/actions/init/templates/shopify.d.ts +0 -3
  826. package/dist/actions/init/templates/shopifyOnline.d.ts +0 -3
  827. package/dist/actions/init/types.d.ts +0 -15
  828. package/dist/actions/init/updateInitialTemplateMetadata.d.ts +0 -1
  829. package/dist/actions/manifest/SchemaIcon.d.ts +0 -9
  830. package/dist/actions/manifest/extractAppManifest.d.ts +0 -20
  831. package/dist/actions/manifest/extractManifest.d.ts +0 -14
  832. package/dist/actions/manifest/extractWorkspaceManifest.d.ts +0 -3
  833. package/dist/actions/manifest/purifyConfig.d.ts +0 -10
  834. package/dist/actions/manifest/schemaTypeHelpers.d.ts +0 -17
  835. package/dist/actions/manifest/types.d.ts +0 -119
  836. package/dist/actions/mcp/detectAvailableEditors.d.ts +0 -8
  837. package/dist/actions/mcp/getEditorsWithExistingConfig.d.ts +0 -8
  838. package/dist/actions/mcp/getEditorsWithExistingConfig.js +0 -29
  839. package/dist/actions/mcp/getEditorsWithExistingConfig.js.map +0 -1
  840. package/dist/actions/mcp/writeMCPConfig.d.ts +0 -9
  841. package/dist/actions/media/getMediaLibraryConfig.d.ts +0 -2
  842. package/dist/actions/media/importAspects.d.ts +0 -52
  843. package/dist/actions/media/importMedia.d.ts +0 -55
  844. package/dist/actions/media/importMediaDebug.d.ts +0 -1
  845. package/dist/actions/organizations/getOrganizationChoices.d.ts +0 -6
  846. package/dist/actions/organizations/getOrganizationsWithAttachGrantInfo.d.ts +0 -2
  847. package/dist/actions/organizations/hasProjectAttachGrant.d.ts +0 -1
  848. package/dist/actions/preview/getPreviewServerConfig.d.ts +0 -15
  849. package/dist/actions/preview/previewAction.d.ts +0 -10
  850. package/dist/actions/preview/types.d.ts +0 -2
  851. package/dist/actions/schema/deleteSchemaAction.d.ts +0 -23
  852. package/dist/actions/schema/deploySchemas.d.ts +0 -15
  853. package/dist/actions/schema/extract.d.ts +0 -7
  854. package/dist/actions/schema/extract.js +0 -38
  855. package/dist/actions/schema/extract.js.map +0 -1
  856. package/dist/actions/schema/formatSchemaValidation.d.ts +0 -3
  857. package/dist/actions/schema/listSchemas.d.ts +0 -12
  858. package/dist/actions/schema/metafile.d.ts +0 -21
  859. package/dist/actions/schema/schemaStoreTypes.d.ts +0 -18
  860. package/dist/actions/schema/schemaStoreTypes.js +0 -19
  861. package/dist/actions/schema/schemaStoreTypes.js.map +0 -1
  862. package/dist/actions/schema/utils/debug.d.ts +0 -2
  863. package/dist/actions/schema/utils/manifestExtractor.d.ts +0 -9
  864. package/dist/actions/schema/utils/manifestExtractor.js +0 -33
  865. package/dist/actions/schema/utils/manifestExtractor.js.map +0 -1
  866. package/dist/actions/schema/utils/manifestReader.d.ts +0 -17
  867. package/dist/actions/schema/utils/manifestReader.js +0 -71
  868. package/dist/actions/schema/utils/manifestReader.js.map +0 -1
  869. package/dist/actions/schema/utils/schemaStoreOutStrings.d.ts +0 -2
  870. package/dist/actions/schema/utils/schemaStoreValidation.d.ts +0 -29
  871. package/dist/actions/schema/utils/uniqByProjectIdDataset.d.ts +0 -14
  872. package/dist/actions/schema/utils/workspaceSchemaId.d.ts +0 -8
  873. package/dist/actions/schema/validateAction.d.ts +0 -11
  874. package/dist/actions/telemetry/fetchTelemetryConsent.d.ts +0 -11
  875. package/dist/actions/telemetry/fetchTelemetryConsent.js +0 -38
  876. package/dist/actions/telemetry/fetchTelemetryConsent.js.map +0 -1
  877. package/dist/actions/telemetry/getLearnMoreMessage.d.ts +0 -2
  878. package/dist/actions/telemetry/getStatusDisplay.d.ts +0 -2
  879. package/dist/actions/telemetry/getStatusMessage.d.ts +0 -2
  880. package/dist/actions/telemetry/isValidApiConsentStatus.d.ts +0 -20
  881. package/dist/actions/telemetry/isValidApiConsentStatus.js +0 -25
  882. package/dist/actions/telemetry/isValidApiConsentStatus.js.map +0 -1
  883. package/dist/actions/telemetry/resolveConsent.d.ts +0 -2
  884. package/dist/actions/telemetry/setConsent.d.ts +0 -13
  885. package/dist/actions/telemetry/telemetryDebug.d.ts +0 -1
  886. package/dist/actions/telemetry/telemetryDisclosure.d.ts +0 -1
  887. package/dist/actions/telemetry/telemetryLearnMoreMessage.d.ts +0 -2
  888. package/dist/actions/telemetry/types.d.ts +0 -14
  889. package/dist/actions/telemetry/types.js.map +0 -1
  890. package/dist/actions/tokens/constants.d.ts +0 -4
  891. package/dist/actions/tokens/types.d.ts +0 -32
  892. package/dist/actions/tokens/validateRole.d.ts +0 -9
  893. package/dist/actions/undeploy/getStudioOrAppUserApplication.d.ts +0 -9
  894. package/dist/actions/users/getMembersForProject.d.ts +0 -24
  895. package/dist/actions/users/getPendingInvitations.d.ts +0 -13
  896. package/dist/actions/users/types.d.ts +0 -39
  897. package/dist/actions/users/usersDebug.d.ts +0 -1
  898. package/dist/actions/users/validateEmail.d.ts +0 -1
  899. package/dist/actions/versions/buildPackageArray.d.ts +0 -18
  900. package/dist/actions/versions/filterSanityModules.d.ts +0 -8
  901. package/dist/actions/versions/findSanityModulesVersions.d.ts +0 -14
  902. package/dist/actions/versions/getFormatters.d.ts +0 -17
  903. package/dist/actions/versions/tryFindLatestVersion.d.ts +0 -8
  904. package/dist/actions/versions/types.d.ts +0 -14
  905. package/dist/actions/versions/versionsDebug.d.ts +0 -1
  906. package/dist/commands/backup/disable.d.ts +0 -13
  907. package/dist/commands/backup/download.d.ts +0 -21
  908. package/dist/commands/backup/enable.d.ts +0 -12
  909. package/dist/commands/backup/list.d.ts +0 -19
  910. package/dist/commands/build.d.ts +0 -18
  911. package/dist/commands/codemod.d.ts +0 -19
  912. package/dist/commands/cors/add.d.ts +0 -29
  913. package/dist/commands/cors/delete.d.ts +0 -13
  914. package/dist/commands/cors/list.d.ts +0 -9
  915. package/dist/commands/dataset/alias/create.d.ts +0 -13
  916. package/dist/commands/dataset/alias/delete.d.ts +0 -16
  917. package/dist/commands/dataset/alias/link.d.ts +0 -17
  918. package/dist/commands/dataset/alias/unlink.d.ts +0 -16
  919. package/dist/commands/dataset/copy.d.ts +0 -27
  920. package/dist/commands/dataset/create.d.ts +0 -15
  921. package/dist/commands/dataset/delete.d.ts +0 -15
  922. package/dist/commands/dataset/export.d.ts +0 -26
  923. package/dist/commands/dataset/import.d.ts +0 -1
  924. package/dist/commands/dataset/list.d.ts +0 -9
  925. package/dist/commands/dataset/visibility/get.d.ts +0 -12
  926. package/dist/commands/dataset/visibility/set.d.ts +0 -13
  927. package/dist/commands/debug.d.ts +0 -9
  928. package/dist/commands/deploy.d.ts +0 -23
  929. package/dist/commands/dev.d.ts +0 -14
  930. package/dist/commands/docs/browse.d.ts +0 -6
  931. package/dist/commands/docs/read.d.ts +0 -15
  932. package/dist/commands/docs/search.d.ts +0 -15
  933. package/dist/commands/documents/create.d.ts +0 -39
  934. package/dist/commands/documents/delete.d.ts +0 -17
  935. package/dist/commands/documents/get.d.ts +0 -16
  936. package/dist/commands/documents/query.d.ts +0 -19
  937. package/dist/commands/documents/validate.d.ts +0 -29
  938. package/dist/commands/exec.d.ts +0 -19
  939. package/dist/commands/graphql/list.d.ts +0 -9
  940. package/dist/commands/graphql/undeploy.d.ts +0 -16
  941. package/dist/commands/hook/attempt.d.ts +0 -13
  942. package/dist/commands/hook/create.d.ts +0 -9
  943. package/dist/commands/hook/delete.d.ts +0 -13
  944. package/dist/commands/hook/list.d.ts +0 -9
  945. package/dist/commands/hook/logs.d.ts +0 -19
  946. package/dist/commands/init.d.ts +0 -65
  947. package/dist/commands/install.d.ts +0 -10
  948. package/dist/commands/learn.d.ts +0 -6
  949. package/dist/commands/login.d.ts +0 -13
  950. package/dist/commands/logout.d.ts +0 -6
  951. package/dist/commands/manage.d.ts +0 -6
  952. package/dist/commands/manifest/extract.d.ts +0 -12
  953. package/dist/commands/mcp/configure.d.ts +0 -9
  954. package/dist/commands/media/create-aspect.d.ts +0 -9
  955. package/dist/commands/media/delete-aspect.d.ts +0 -16
  956. package/dist/commands/media/deploy-aspect.d.ts +0 -20
  957. package/dist/commands/media/export.d.ts +0 -21
  958. package/dist/commands/media/import.d.ts +0 -18
  959. package/dist/commands/openapi/get.d.ts +0 -17
  960. package/dist/commands/openapi/list.d.ts +0 -14
  961. package/dist/commands/preview.d.ts +0 -17
  962. package/dist/commands/projects/list.d.ts +0 -13
  963. package/dist/commands/schema/delete.d.ts +0 -16
  964. package/dist/commands/schema/deploy.d.ts +0 -16
  965. package/dist/commands/schema/extract.d.ts +0 -15
  966. package/dist/commands/schema/list.d.ts +0 -15
  967. package/dist/commands/schema/validate.d.ts +0 -15
  968. package/dist/commands/telemetry/disable.d.ts +0 -8
  969. package/dist/commands/telemetry/enable.d.ts +0 -8
  970. package/dist/commands/telemetry/status.d.ts +0 -8
  971. package/dist/commands/tokens/add.d.ts +0 -19
  972. package/dist/commands/tokens/delete.d.ts +0 -17
  973. package/dist/commands/tokens/list.d.ts +0 -12
  974. package/dist/commands/undeploy.d.ts +0 -8
  975. package/dist/commands/users/invite.d.ts +0 -17
  976. package/dist/commands/users/list.d.ts +0 -16
  977. package/dist/commands/versions.d.ts +0 -6
  978. package/dist/config/createCliConfig.d.ts +0 -73
  979. package/dist/config/defineCliConfig.d.ts +0 -3
  980. package/dist/hooks/prerun/flushTelemetry.worker.d.ts +0 -2
  981. package/dist/hooks/prerun/setupTelemetry.d.ts +0 -2
  982. package/dist/index.d.ts +0 -6
  983. package/dist/index.js +0 -7
  984. package/dist/index.js.map +0 -1
  985. package/dist/prompts/init/nextjs.d.ts +0 -5
  986. package/dist/prompts/init/promptForTypescript.d.ts +0 -1
  987. package/dist/prompts/promptForDataset.d.ts +0 -17
  988. package/dist/prompts/promptForDatasetAclMode.d.ts +0 -9
  989. package/dist/prompts/promptForDatasetAliasName.d.ts +0 -4
  990. package/dist/prompts/promptForDatasetName.d.ts +0 -4
  991. package/dist/prompts/promptForMediaLibrary.d.ts +0 -15
  992. package/dist/prompts/selectDataset.d.ts +0 -3
  993. package/dist/prompts/selectMediaLibrary.d.ts +0 -5
  994. package/dist/server/devServer.d.ts +0 -24
  995. package/dist/server/gracefulServerDeath.d.ts +0 -3
  996. package/dist/server/previewServer.d.ts +0 -19
  997. package/dist/server/serverDebug.d.ts +0 -1
  998. package/dist/server/vite/plugin-sanity-basepath-redirect.d.ts +0 -2
  999. package/dist/server/vite/plugin-sanity-build-entries.d.ts +0 -9
  1000. package/dist/server/vite/plugin-sanity-favicons.d.ts +0 -17
  1001. package/dist/server/vite/plugin-sanity-runtime-rewrite.d.ts +0 -2
  1002. package/dist/services/auth.d.ts +0 -2
  1003. package/dist/services/backup.d.ts +0 -37
  1004. package/dist/services/cors.d.ts +0 -23
  1005. package/dist/services/datasetAliases.d.ts +0 -31
  1006. package/dist/services/datasets.d.ts +0 -64
  1007. package/dist/services/docs.d.ts +0 -15
  1008. package/dist/services/getProjectFeatures.d.ts +0 -5
  1009. package/dist/services/graphql.d.ts +0 -23
  1010. package/dist/services/hooks.d.ts +0 -16
  1011. package/dist/services/mcp.d.ts +0 -39
  1012. package/dist/services/mediaLibraries.d.ts +0 -52
  1013. package/dist/services/organizations.d.ts +0 -42
  1014. package/dist/services/plans.d.ts +0 -2
  1015. package/dist/services/projects.d.ts +0 -36
  1016. package/dist/services/schemas.d.ts +0 -4
  1017. package/dist/services/telemetry.d.ts +0 -2
  1018. package/dist/services/tokens.d.ts +0 -43
  1019. package/dist/services/user.d.ts +0 -15
  1020. package/dist/services/userApplications.d.ts +0 -77
  1021. package/dist/studioDependencies.d.ts +0 -16
  1022. package/dist/studioDependencies.js.map +0 -1
  1023. package/dist/telemetry/cli.telemetry.d.ts +0 -20
  1024. package/dist/telemetry/store/cleanupOldTelemetryFiles.d.ts +0 -5
  1025. package/dist/telemetry/store/cleanupOldTelemetryFiles.js.map +0 -1
  1026. package/dist/telemetry/store/createTelemetryStore.d.ts +0 -39
  1027. package/dist/telemetry/store/createTelemetryStore.js.map +0 -1
  1028. package/dist/telemetry/store/createTraceId.d.ts +0 -10
  1029. package/dist/telemetry/store/createTraceId.js.map +0 -1
  1030. package/dist/telemetry/store/debug.d.ts +0 -5
  1031. package/dist/telemetry/store/debug.js +0 -7
  1032. package/dist/telemetry/store/debug.js.map +0 -1
  1033. package/dist/telemetry/store/findTelemetryFiles.d.ts +0 -13
  1034. package/dist/telemetry/store/findTelemetryFiles.js.map +0 -1
  1035. package/dist/telemetry/store/flushTelemetryFiles.d.ts +0 -20
  1036. package/dist/telemetry/store/flushTelemetryFiles.js.map +0 -1
  1037. package/dist/telemetry/store/generateTelemetryFilePath.d.ts +0 -17
  1038. package/dist/telemetry/store/generateTelemetryFilePath.js.map +0 -1
  1039. package/dist/telemetry/store/getTelemetryBaseInfo.d.ts +0 -27
  1040. package/dist/telemetry/store/getTelemetryBaseInfo.js +0 -34
  1041. package/dist/telemetry/store/getTelemetryBaseInfo.js.map +0 -1
  1042. package/dist/telemetry/store/logger.d.ts +0 -6
  1043. package/dist/telemetry/store/logger.js.map +0 -1
  1044. package/dist/telemetry/store/trace.d.ts +0 -6
  1045. package/dist/telemetry/store/trace.js.map +0 -1
  1046. package/dist/telemetry/utils/readNDJSON.d.ts +0 -10
  1047. package/dist/telemetry/utils/readNDJSON.js +0 -18
  1048. package/dist/telemetry/utils/readNDJSON.js.map +0 -1
  1049. package/dist/threads/configClient.d.ts +0 -1
  1050. package/dist/threads/configClient.js.map +0 -1
  1051. package/dist/threads/registerBrowserEnv.d.ts +0 -1
  1052. package/dist/threads/registerBrowserEnv.js.map +0 -1
  1053. package/dist/threads/validateDocuments.d.ts +0 -45
  1054. package/dist/threads/validateDocuments.js.map +0 -1
  1055. package/dist/threads/validateSchema.d.ts +0 -35
  1056. package/dist/threads/validateSchema.js.map +0 -1
  1057. package/dist/types.d.ts +0 -49
  1058. package/dist/typings/deepSortObject.d.js +0 -2
  1059. package/dist/typings/deepSortObject.d.js.map +0 -1
  1060. package/dist/util/absolutify.d.ts +0 -6
  1061. package/dist/util/appId.d.ts +0 -18
  1062. package/dist/util/canLaunchBrowser.d.ts +0 -1
  1063. package/dist/util/cliClient.d.ts +0 -13
  1064. package/dist/util/compareDependencyVersions.d.ts +0 -35
  1065. package/dist/util/copy.d.ts +0 -5
  1066. package/dist/util/copyDir.d.ts +0 -20
  1067. package/dist/util/detectRuntime.d.ts +0 -8
  1068. package/dist/util/determineIsApp.d.ts +0 -7
  1069. package/dist/util/dirIsEmptyOrNonExistent.d.ts +0 -1
  1070. package/dist/util/ensureTrailingSlash.d.ts +0 -9
  1071. package/dist/util/errorMessages.d.ts +0 -4
  1072. package/dist/util/extractDocumentsFromNdjsonOrTarball.d.ts +0 -6
  1073. package/dist/util/findNdjsonEntry.d.ts +0 -7
  1074. package/dist/util/findNdjsonEntry.js +0 -21
  1075. package/dist/util/findNdjsonEntry.js.map +0 -1
  1076. package/dist/util/formatSize.d.ts +0 -6
  1077. package/dist/util/frameworkPort.d.ts +0 -12
  1078. package/dist/util/fsUtils.d.ts +0 -2
  1079. package/dist/util/getCliVersion.d.ts +0 -7
  1080. package/dist/util/getErrorMessage.d.ts +0 -8
  1081. package/dist/util/getLocalPackageVersion.d.ts +0 -9
  1082. package/dist/util/getProjectDefaults.d.ts +0 -11
  1083. package/dist/util/getSharedServerConfig.d.ts +0 -30
  1084. package/dist/util/getWorkspace.d.ts +0 -3
  1085. package/dist/util/humanFileSize.d.ts +0 -1
  1086. package/dist/util/importStudioConfig.d.ts +0 -1
  1087. package/dist/util/importStudioConfig.js +0 -43
  1088. package/dist/util/importStudioConfig.js.map +0 -1
  1089. package/dist/util/isPathDirName.d.ts +0 -1
  1090. package/dist/util/isSanityDocumentish.d.ts +0 -19
  1091. package/dist/util/isStaging.d.ts +0 -7
  1092. package/dist/util/isStaging.js +0 -10
  1093. package/dist/util/isStaging.js.map +0 -1
  1094. package/dist/util/loadEnv.d.ts +0 -1
  1095. package/dist/util/moduleFormatUtils.d.ts +0 -3
  1096. package/dist/util/packageManager/installPackages.d.ts +0 -18
  1097. package/dist/util/packageManager/packageManagerChoice.d.ts +0 -31
  1098. package/dist/util/packageManager/upgradePackages.d.ts +0 -17
  1099. package/dist/util/parseArguments.d.ts +0 -35
  1100. package/dist/util/pluralize.d.ts +0 -8
  1101. package/dist/util/readModuleVersion.d.ts +0 -8
  1102. package/dist/util/readModuleVersion.js +0 -15
  1103. package/dist/util/readModuleVersion.js.map +0 -1
  1104. package/dist/util/readPackageJson.d.ts +0 -31
  1105. package/dist/util/readPackageJson.js +0 -42
  1106. package/dist/util/readPackageJson.js.map +0 -1
  1107. package/dist/util/readPackageManifest.d.ts +0 -21
  1108. package/dist/util/readPackageManifest.js +0 -46
  1109. package/dist/util/readPackageManifest.js.map +0 -1
  1110. package/dist/util/readdirRecursive.d.ts +0 -5
  1111. package/dist/util/resolveLatestVersions.d.ts +0 -7
  1112. package/dist/util/toInt.d.ts +0 -1
  1113. package/dist/util/trimHashFromVersion.d.ts +0 -5
  1114. package/dist/util/uniqBy.d.ts +0 -1
  1115. package/dist/util/uniqBy.js +0 -14
  1116. package/dist/util/uniqBy.js.map +0 -1
  1117. package/dist/util/validation/validateDocumentsUtils.d.ts +0 -12
  1118. package/dist/util/warnAboutMissingAppId.d.ts +0 -7
  1119. package/dist/util/workerChannels.d.ts +0 -59
  1120. package/dist/util/workerChannels.js +0 -172
  1121. package/dist/util/workerChannels.js.map +0 -1
  1122. /package/dist/actions/{telemetry → doctor}/types.js +0 -0
  1123. /package/dist/{studioDependencies.js → actions/init/studioDependencies.js} +0 -0
  1124. /package/dist/{telemetry/store → util/telemetry}/createTraceId.js +0 -0
@@ -0,0 +1,120 @@
1
+ import { isMainThread, parentPort, workerData } from 'node:worker_threads';
2
+ import { getStudioWorkspaces, subdebug } from '@sanity/cli-core';
3
+ import { extractWorkspaceManifest } from '../manifest/extractWorkspaceManifest.js';
4
+ import { writeManifestFile } from '../manifest/writeManifestFile.js';
5
+ import { updateWorkspacesSchemas } from '../schema/updateWorkspaceSchema.js';
6
+ import { uploadSchemaToLexicon } from '../schema/uploadSchemaToLexicon.js';
7
+ import { extractValidationFromSchemaError } from '../schema/utils/extractValidationFromSchemaError.js';
8
+ import { deployStudioSchemasAndManifestsWorkerData } from './types.js';
9
+ const debug = subdebug('deployStudioSchemasAndManifests.worker');
10
+ async function main() {
11
+ if (isMainThread || !parentPort) {
12
+ throw new Error('Should only be run in a worker!');
13
+ }
14
+ const { configPath, isExternal, outPath, projectId, schemaRequired, verbose, workDir } = deployStudioSchemasAndManifestsWorkerData.parse(workerData);
15
+ try {
16
+ debug('Deploying studio schemas and manifests from config path %s', configPath);
17
+ const workspaces = await getStudioWorkspaces(configPath);
18
+ debug('Workspaces %o', workspaces);
19
+ if (workspaces.length === 0) {
20
+ throw new Error('No workspaces found');
21
+ }
22
+ debug('Handling deployment for %s', isExternal ? 'external' : 'internal');
23
+ let studioManifest = null;
24
+ if (isExternal) {
25
+ ;
26
+ [studioManifest] = await handleExternalDeployment({
27
+ projectId,
28
+ schemaRequired,
29
+ verbose,
30
+ workDir,
31
+ workspaces
32
+ });
33
+ } else {
34
+ ;
35
+ [studioManifest] = await handleInternalDeployment({
36
+ outPath,
37
+ projectId,
38
+ verbose,
39
+ workDir,
40
+ workspaces
41
+ });
42
+ }
43
+ parentPort.postMessage({
44
+ studioManifest,
45
+ type: 'success'
46
+ });
47
+ } catch (error) {
48
+ debug('Error deploying studio schemas and manifests', error);
49
+ const validation = await extractValidationFromSchemaError(error, workDir);
50
+ parentPort.postMessage({
51
+ error: error instanceof Error ? error.message : String(error),
52
+ type: 'error',
53
+ validation
54
+ });
55
+ }
56
+ }
57
+ async function writeWorkspaceToDist({ outPath, workDir, workspaces }) {
58
+ // Get the create manifest workspace
59
+ const workspaceManifests = await extractWorkspaceManifest(workspaces, workDir);
60
+ await writeManifestFile({
61
+ outPath,
62
+ workDir,
63
+ workspaceManifests
64
+ });
65
+ }
66
+ /**
67
+ * External deployments:
68
+ * 1. Update the workspace schemas to the /schemas endpoint IF --schema-required is passed
69
+ * 2. Update server-side schemas
70
+ */ async function handleExternalDeployment({ projectId, schemaRequired, verbose, workDir, workspaces }) {
71
+ const [studioManifest] = await Promise.all([
72
+ uploadSchemaToLexicon({
73
+ projectId,
74
+ verbose,
75
+ workDir,
76
+ workspaces
77
+ }),
78
+ schemaRequired ? updateWorkspacesSchemas({
79
+ verbose,
80
+ workspaces
81
+ }) : undefined
82
+ ]);
83
+ return [
84
+ studioManifest
85
+ ];
86
+ }
87
+ /**
88
+ *
89
+ * Internal deployments:
90
+ * 1. Write the workspace manifests to the dist directory
91
+ * 2. Update the workspaces schemas to the /schemas endpoint
92
+ * 3. Update server-side schemas
93
+ *
94
+ * @param workspaces - The workspaces to deploy
95
+ */ async function handleInternalDeployment({ outPath, projectId, verbose, workDir, workspaces }) {
96
+ const [studioManifest] = await Promise.all([
97
+ uploadSchemaToLexicon({
98
+ projectId,
99
+ verbose,
100
+ workDir,
101
+ workspaces
102
+ }),
103
+ writeWorkspaceToDist({
104
+ outPath,
105
+ workDir,
106
+ workspaces
107
+ }),
108
+ // Updates the workspaces schemas to /schemas endpoint
109
+ updateWorkspacesSchemas({
110
+ verbose,
111
+ workspaces
112
+ })
113
+ ]);
114
+ return [
115
+ studioManifest
116
+ ];
117
+ }
118
+ await main();
119
+
120
+ //# sourceMappingURL=deployStudioSchemasAndManifests.worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/deploy/deployStudioSchemasAndManifests.worker.ts"],"sourcesContent":["import {isMainThread, parentPort, workerData} from 'node:worker_threads'\n\nimport {getStudioWorkspaces, subdebug} from '@sanity/cli-core'\nimport {type StudioManifest, type Workspace} from 'sanity'\n\nimport {extractWorkspaceManifest} from '../manifest/extractWorkspaceManifest.js'\nimport {writeManifestFile} from '../manifest/writeManifestFile.js'\nimport {updateWorkspacesSchemas} from '../schema/updateWorkspaceSchema.js'\nimport {uploadSchemaToLexicon} from '../schema/uploadSchemaToLexicon.js'\nimport {extractValidationFromSchemaError} from '../schema/utils/extractValidationFromSchemaError.js'\nimport {deployStudioSchemasAndManifestsWorkerData} from './types.js'\n\nconst debug = subdebug('deployStudioSchemasAndManifests.worker')\n\nasync function main() {\n if (isMainThread || !parentPort) {\n throw new Error('Should only be run in a worker!')\n }\n\n const {configPath, isExternal, outPath, projectId, schemaRequired, verbose, workDir} =\n deployStudioSchemasAndManifestsWorkerData.parse(workerData)\n\n try {\n debug('Deploying studio schemas and manifests from config path %s', configPath)\n const workspaces = await getStudioWorkspaces(configPath)\n debug('Workspaces %o', workspaces)\n\n if (workspaces.length === 0) {\n throw new Error('No workspaces found')\n }\n\n debug('Handling deployment for %s', isExternal ? 'external' : 'internal')\n\n let studioManifest: StudioManifest | null = null\n\n if (isExternal) {\n ;[studioManifest] = await handleExternalDeployment({\n projectId,\n schemaRequired,\n verbose,\n workDir,\n workspaces,\n })\n } else {\n ;[studioManifest] = await handleInternalDeployment({\n outPath,\n projectId,\n verbose,\n workDir,\n workspaces,\n })\n }\n\n parentPort.postMessage({\n studioManifest,\n type: 'success',\n })\n } catch (error) {\n debug('Error deploying studio schemas and manifests', error)\n const validation = await extractValidationFromSchemaError(error, workDir)\n parentPort.postMessage({\n error: error instanceof Error ? error.message : String(error),\n type: 'error',\n validation,\n })\n }\n}\n\nasync function writeWorkspaceToDist({\n outPath,\n workDir,\n workspaces,\n}: {\n outPath: string\n workDir: string\n workspaces: Workspace[]\n}) {\n // Get the create manifest workspace\n const workspaceManifests = await extractWorkspaceManifest(workspaces, workDir)\n\n await writeManifestFile({\n outPath,\n workDir,\n workspaceManifests,\n })\n}\n\n/**\n * External deployments:\n * 1. Update the workspace schemas to the /schemas endpoint IF --schema-required is passed\n * 2. Update server-side schemas\n */\nasync function handleExternalDeployment({\n projectId,\n schemaRequired,\n verbose,\n workDir,\n workspaces,\n}: {\n projectId: string\n schemaRequired: boolean\n verbose: boolean\n workDir: string\n workspaces: Workspace[]\n}): Promise<[StudioManifest | null]> {\n const [studioManifest] = await Promise.all([\n uploadSchemaToLexicon({\n projectId,\n verbose,\n workDir,\n workspaces,\n }),\n schemaRequired ? updateWorkspacesSchemas({verbose, workspaces}) : undefined,\n ])\n\n return [studioManifest]\n}\n\n/**\n *\n * Internal deployments:\n * 1. Write the workspace manifests to the dist directory\n * 2. Update the workspaces schemas to the /schemas endpoint\n * 3. Update server-side schemas\n *\n * @param workspaces - The workspaces to deploy\n */\nasync function handleInternalDeployment({\n outPath,\n projectId,\n verbose,\n workDir,\n workspaces,\n}: {\n outPath: string\n projectId: string\n verbose: boolean\n workDir: string\n workspaces: Workspace[]\n}): Promise<[StudioManifest | null]> {\n const [studioManifest] = await Promise.all([\n uploadSchemaToLexicon({\n projectId,\n verbose,\n workDir,\n workspaces,\n }),\n writeWorkspaceToDist({outPath, workDir, workspaces}),\n // Updates the workspaces schemas to /schemas endpoint\n updateWorkspacesSchemas({\n verbose,\n workspaces,\n }),\n ])\n\n return [studioManifest]\n}\n\nawait main()\n"],"names":["isMainThread","parentPort","workerData","getStudioWorkspaces","subdebug","extractWorkspaceManifest","writeManifestFile","updateWorkspacesSchemas","uploadSchemaToLexicon","extractValidationFromSchemaError","deployStudioSchemasAndManifestsWorkerData","debug","main","Error","configPath","isExternal","outPath","projectId","schemaRequired","verbose","workDir","parse","workspaces","length","studioManifest","handleExternalDeployment","handleInternalDeployment","postMessage","type","error","validation","message","String","writeWorkspaceToDist","workspaceManifests","Promise","all","undefined"],"mappings":"AAAA,SAAQA,YAAY,EAAEC,UAAU,EAAEC,UAAU,QAAO,sBAAqB;AAExE,SAAQC,mBAAmB,EAAEC,QAAQ,QAAO,mBAAkB;AAG9D,SAAQC,wBAAwB,QAAO,0CAAyC;AAChF,SAAQC,iBAAiB,QAAO,mCAAkC;AAClE,SAAQC,uBAAuB,QAAO,qCAAoC;AAC1E,SAAQC,qBAAqB,QAAO,qCAAoC;AACxE,SAAQC,gCAAgC,QAAO,sDAAqD;AACpG,SAAQC,yCAAyC,QAAO,aAAY;AAEpE,MAAMC,QAAQP,SAAS;AAEvB,eAAeQ;IACb,IAAIZ,gBAAgB,CAACC,YAAY;QAC/B,MAAM,IAAIY,MAAM;IAClB;IAEA,MAAM,EAACC,UAAU,EAAEC,UAAU,EAAEC,OAAO,EAAEC,SAAS,EAAEC,cAAc,EAAEC,OAAO,EAAEC,OAAO,EAAC,GAClFV,0CAA0CW,KAAK,CAACnB;IAElD,IAAI;QACFS,MAAM,8DAA8DG;QACpE,MAAMQ,aAAa,MAAMnB,oBAAoBW;QAC7CH,MAAM,iBAAiBW;QAEvB,IAAIA,WAAWC,MAAM,KAAK,GAAG;YAC3B,MAAM,IAAIV,MAAM;QAClB;QAEAF,MAAM,8BAA8BI,aAAa,aAAa;QAE9D,IAAIS,iBAAwC;QAE5C,IAAIT,YAAY;;YACb,CAACS,eAAe,GAAG,MAAMC,yBAAyB;gBACjDR;gBACAC;gBACAC;gBACAC;gBACAE;YACF;QACF,OAAO;;YACJ,CAACE,eAAe,GAAG,MAAME,yBAAyB;gBACjDV;gBACAC;gBACAE;gBACAC;gBACAE;YACF;QACF;QAEArB,WAAW0B,WAAW,CAAC;YACrBH;YACAI,MAAM;QACR;IACF,EAAE,OAAOC,OAAO;QACdlB,MAAM,gDAAgDkB;QACtD,MAAMC,aAAa,MAAMrB,iCAAiCoB,OAAOT;QACjEnB,WAAW0B,WAAW,CAAC;YACrBE,OAAOA,iBAAiBhB,QAAQgB,MAAME,OAAO,GAAGC,OAAOH;YACvDD,MAAM;YACNE;QACF;IACF;AACF;AAEA,eAAeG,qBAAqB,EAClCjB,OAAO,EACPI,OAAO,EACPE,UAAU,EAKX;IACC,oCAAoC;IACpC,MAAMY,qBAAqB,MAAM7B,yBAAyBiB,YAAYF;IAEtE,MAAMd,kBAAkB;QACtBU;QACAI;QACAc;IACF;AACF;AAEA;;;;CAIC,GACD,eAAeT,yBAAyB,EACtCR,SAAS,EACTC,cAAc,EACdC,OAAO,EACPC,OAAO,EACPE,UAAU,EAOX;IACC,MAAM,CAACE,eAAe,GAAG,MAAMW,QAAQC,GAAG,CAAC;QACzC5B,sBAAsB;YACpBS;YACAE;YACAC;YACAE;QACF;QACAJ,iBAAiBX,wBAAwB;YAACY;YAASG;QAAU,KAAKe;KACnE;IAED,OAAO;QAACb;KAAe;AACzB;AAEA;;;;;;;;CAQC,GACD,eAAeE,yBAAyB,EACtCV,OAAO,EACPC,SAAS,EACTE,OAAO,EACPC,OAAO,EACPE,UAAU,EAOX;IACC,MAAM,CAACE,eAAe,GAAG,MAAMW,QAAQC,GAAG,CAAC;QACzC5B,sBAAsB;YACpBS;YACAE;YACAC;YACAE;QACF;QACAW,qBAAqB;YAACjB;YAASI;YAASE;QAAU;QAClD,sDAAsD;QACtDf,wBAAwB;YACtBY;YACAG;QACF;KACD;IAED,OAAO;QAACE;KAAe;AACzB;AAEA,MAAMZ"}
@@ -3,15 +3,17 @@
3
3
  */ import { select, Separator, spinner } from '@sanity/cli-core/ux';
4
4
  import { createUserApplication, getUserApplication, getUserApplications } from '../../services/userApplications.js';
5
5
  import { deployDebug } from './deployDebug.js';
6
+ import { normalizeUrl, validateUrl } from './urlUtils.js';
6
7
  export async function findUserApplicationForStudio(options) {
7
- const { appHost, appId, output, projectId } = options;
8
+ const { appHost, appId, output, projectId, urlType = 'internal' } = options;
8
9
  const spin = spinner('Checking project info').start();
9
10
  const userApplication = await findUserApplication({
10
11
  appHost,
11
12
  appId,
12
13
  output,
13
14
  projectId,
14
- spin
15
+ spin,
16
+ urlType
15
17
  });
16
18
  spin.succeed();
17
19
  if (userApplication) {
@@ -23,10 +25,12 @@ export async function findUserApplicationForStudio(options) {
23
25
  // Get existing user applications (if any),
24
26
  // based on the configured project ID
25
27
  if (projectId) {
26
- userApplications = await getUserApplications({
28
+ const allApps = await getUserApplications({
27
29
  appType: 'studio',
28
30
  projectId
29
31
  });
32
+ // Filter by urlType so external deploys only see external studios and vice versa
33
+ userApplications = allApps?.filter((app)=>app.urlType === urlType) ?? [];
30
34
  }
31
35
  // If no applications are found, return null
32
36
  if (!userApplications?.length) {
@@ -34,6 +38,8 @@ export async function findUserApplicationForStudio(options) {
34
38
  }
35
39
  // If there are user applications, allow the user to select one of the existing host names,
36
40
  // or to create a new one
41
+ const newLabel = urlType === 'external' ? 'Register new external studio URL' : 'Create new studio hostname';
42
+ const selectMessage = urlType === 'external' ? 'Select existing external studio, or register a new one' : 'Select existing studio hostname, or create a new one';
37
43
  const choices = userApplications.map((app)=>({
38
44
  name: app.title ?? app.appHost,
39
45
  value: app.appHost
@@ -41,13 +47,13 @@ export async function findUserApplicationForStudio(options) {
41
47
  const selected = await select({
42
48
  choices: [
43
49
  {
44
- name: 'Create new studio hostname',
50
+ name: newLabel,
45
51
  value: 'NEW_STUDIO'
46
52
  },
47
53
  new Separator(),
48
54
  ...choices
49
55
  ],
50
- message: 'Select existing studio hostname, or create a new one'
56
+ message: selectMessage
51
57
  });
52
58
  // If the user wants to create a new deployed application, return null
53
59
  if (selected === 'NEW_STUDIO') {
@@ -57,7 +63,7 @@ export async function findUserApplicationForStudio(options) {
57
63
  return userApplications.find((app)=>app.appHost === selected);
58
64
  }
59
65
  async function findUserApplication(options) {
60
- const { appHost, appId, output, projectId } = options;
66
+ const { appHost, appId, output, projectId, urlType } = options;
61
67
  let { spin } = options;
62
68
  let userApplication = null;
63
69
  // If the config has an appId, check for apps with that ID
@@ -83,9 +89,21 @@ async function findUserApplication(options) {
83
89
  }
84
90
  // As a fallback, if studioHost (deprecated) is configured, check for apps with that host
85
91
  if (appHost) {
92
+ // For external URLs, validate and normalize before lookup/creation
93
+ const resolvedHost = urlType === 'external' ? normalizeUrl(appHost) : appHost;
94
+ if (urlType === 'external') {
95
+ const validation = validateUrl(resolvedHost);
96
+ if (validation !== true) {
97
+ spin.fail();
98
+ output.error(validation, {
99
+ exit: 1
100
+ });
101
+ return null;
102
+ }
103
+ }
86
104
  try {
87
105
  userApplication = await getUserApplication({
88
- appHost,
106
+ appHost: resolvedHost,
89
107
  isSdkApp: false,
90
108
  projectId
91
109
  });
@@ -95,16 +113,21 @@ async function findUserApplication(options) {
95
113
  }
96
114
  // Otherwise, try to create an app with the configured host
97
115
  try {
98
- output.log('Your project has not been assigned a studio hostname.');
99
- output.log(`Creating https://${appHost}.sanity.studio`);
116
+ if (urlType === 'external') {
117
+ output.log('Your project has not been registered with an external studio URL.');
118
+ output.log(`Registering ${resolvedHost}`);
119
+ } else {
120
+ output.log('Your project has not been assigned a studio hostname.');
121
+ output.log(`Creating https://${resolvedHost}.sanity.studio`);
122
+ }
100
123
  output.log('');
101
- spin = spinner('Creating studio hostname').start();
124
+ spin = spinner(urlType === 'external' ? 'Registering external studio' : 'Creating studio hostname').start();
102
125
  const response = await createUserApplication({
103
126
  appType: 'studio',
104
127
  body: {
105
- appHost,
128
+ appHost: resolvedHost,
106
129
  type: 'studio',
107
- urlType: 'internal'
130
+ urlType
108
131
  },
109
132
  projectId
110
133
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/deploy/findUserApplicationForStudio.ts"],"sourcesContent":["/**\n * Helper functions to find a user application for a Sanity studio.\n */\n\nimport {type Output} from '@sanity/cli-core'\nimport {select, Separator, spinner, type SpinnerInstance} from '@sanity/cli-core/ux'\n\nimport {\n createUserApplication,\n getUserApplication,\n getUserApplications,\n type UserApplication,\n} from '../../services/userApplications.js'\nimport {deployDebug} from './deployDebug.js'\n\ninterface FindUserApplicationForStudioOptions {\n output: Output\n projectId: string\n\n appHost?: string\n appId?: string\n}\n\nexport async function findUserApplicationForStudio(options: FindUserApplicationForStudioOptions) {\n const {appHost, appId, output, projectId} = options\n\n const spin = spinner('Checking project info').start()\n\n const userApplication = await findUserApplication({\n appHost,\n appId,\n output,\n projectId,\n spin,\n })\n\n spin.succeed()\n\n if (userApplication) {\n return userApplication\n }\n\n // No user application found, so let's list out the existing user applications\n // along with an option to create a new one\n let userApplications: Array<UserApplication> = []\n\n // Get existing user applications (if any),\n // based on the configured project ID\n if (projectId) {\n userApplications = await getUserApplications({\n appType: 'studio',\n projectId,\n })\n }\n\n // If no applications are found, return null\n if (!userApplications?.length) {\n return null\n }\n\n // If there are user applications, allow the user to select one of the existing host names,\n // or to create a new one\n const choices = userApplications.map((app) => ({\n name: app.title ?? app.appHost,\n value: app.appHost,\n }))\n\n const selected = await select({\n choices: [\n {name: 'Create new studio hostname', value: 'NEW_STUDIO'},\n new Separator(),\n ...choices,\n ],\n message: 'Select existing studio hostname, or create a new one',\n })\n\n // If the user wants to create a new deployed application, return null\n if (selected === 'NEW_STUDIO') {\n return null\n }\n\n // Otherwise, return the selected user application\n return userApplications.find((app) => app.appHost === selected)!\n}\n\ninterface FindUserApplicationFromConfigOptions {\n output: Output\n projectId: string\n spin: SpinnerInstance\n\n appHost?: string\n appId?: string\n}\n\nasync function findUserApplication(\n options: FindUserApplicationFromConfigOptions,\n): Promise<UserApplication | null> {\n const {appHost, appId, output, projectId} = options\n let {spin} = options\n\n let userApplication: UserApplication | null = null\n\n // If the config has an appId, check for apps with that ID\n if (appId) {\n try {\n userApplication = await getUserApplication({appId, isSdkApp: false, projectId})\n\n if (userApplication) {\n return userApplication\n }\n\n // If appID is specified but no app is found with it, throw an error\n throw new Error(`Cannot find app with app ID ${appId}`)\n } catch (error) {\n spin.fail()\n deployDebug('Error finding user application', error)\n output.error(`Error finding user application: ${error?.message}`, {exit: 1})\n }\n }\n\n // As a fallback, if studioHost (deprecated) is configured, check for apps with that host\n if (appHost) {\n try {\n userApplication = await getUserApplication({appHost, isSdkApp: false, projectId})\n\n // We've found the application — return it\n if (userApplication) {\n return userApplication\n }\n\n // Otherwise, try to create an app with the configured host\n try {\n output.log('Your project has not been assigned a studio hostname.')\n output.log(`Creating https://${appHost}.sanity.studio`)\n output.log('')\n spin = spinner('Creating studio hostname').start()\n\n const response = await createUserApplication({\n appType: 'studio',\n body: {\n appHost,\n type: 'studio',\n urlType: 'internal',\n },\n projectId,\n })\n spin.succeed()\n\n return response\n } catch (e) {\n spin.fail()\n // if the name is taken, it should return a 409 so we relay to the user\n if ([402, 409].includes(e?.statusCode)) {\n output.error(e?.response?.body?.message || 'Bad request', {exit: 1})\n return null\n }\n // otherwise, it's a fatal error\n deployDebug('Error creating user application from config', e)\n output.error(\n `Error creating user application from config: ${e instanceof Error ? e.message : e}`,\n {exit: 1},\n )\n }\n } catch (error) {\n spin.fail()\n deployDebug('Error finding user application', error)\n output.error(\n `Error finding user application: ${error instanceof Error ? error.message : error.toString()}`,\n {exit: 1},\n )\n }\n }\n\n // If no appID and no appHost, just return and proceed to check for studios with the project ID\n return null\n}\n"],"names":["select","Separator","spinner","createUserApplication","getUserApplication","getUserApplications","deployDebug","findUserApplicationForStudio","options","appHost","appId","output","projectId","spin","start","userApplication","findUserApplication","succeed","userApplications","appType","length","choices","map","app","name","title","value","selected","message","find","isSdkApp","Error","error","fail","exit","log","response","body","type","urlType","e","includes","statusCode","toString"],"mappings":"AAAA;;CAEC,GAGD,SAAQA,MAAM,EAAEC,SAAS,EAAEC,OAAO,QAA6B,sBAAqB;AAEpF,SACEC,qBAAqB,EACrBC,kBAAkB,EAClBC,mBAAmB,QAEd,qCAAoC;AAC3C,SAAQC,WAAW,QAAO,mBAAkB;AAU5C,OAAO,eAAeC,6BAA6BC,OAA4C;IAC7F,MAAM,EAACC,OAAO,EAAEC,KAAK,EAAEC,MAAM,EAAEC,SAAS,EAAC,GAAGJ;IAE5C,MAAMK,OAAOX,QAAQ,yBAAyBY,KAAK;IAEnD,MAAMC,kBAAkB,MAAMC,oBAAoB;QAChDP;QACAC;QACAC;QACAC;QACAC;IACF;IAEAA,KAAKI,OAAO;IAEZ,IAAIF,iBAAiB;QACnB,OAAOA;IACT;IAEA,8EAA8E;IAC9E,2CAA2C;IAC3C,IAAIG,mBAA2C,EAAE;IAEjD,2CAA2C;IAC3C,qCAAqC;IACrC,IAAIN,WAAW;QACbM,mBAAmB,MAAMb,oBAAoB;YAC3Cc,SAAS;YACTP;QACF;IACF;IAEA,4CAA4C;IAC5C,IAAI,CAACM,kBAAkBE,QAAQ;QAC7B,OAAO;IACT;IAEA,2FAA2F;IAC3F,yBAAyB;IACzB,MAAMC,UAAUH,iBAAiBI,GAAG,CAAC,CAACC,MAAS,CAAA;YAC7CC,MAAMD,IAAIE,KAAK,IAAIF,IAAId,OAAO;YAC9BiB,OAAOH,IAAId,OAAO;QACpB,CAAA;IAEA,MAAMkB,WAAW,MAAM3B,OAAO;QAC5BqB,SAAS;YACP;gBAACG,MAAM;gBAA8BE,OAAO;YAAY;YACxD,IAAIzB;eACDoB;SACJ;QACDO,SAAS;IACX;IAEA,sEAAsE;IACtE,IAAID,aAAa,cAAc;QAC7B,OAAO;IACT;IAEA,kDAAkD;IAClD,OAAOT,iBAAiBW,IAAI,CAAC,CAACN,MAAQA,IAAId,OAAO,KAAKkB;AACxD;AAWA,eAAeX,oBACbR,OAA6C;IAE7C,MAAM,EAACC,OAAO,EAAEC,KAAK,EAAEC,MAAM,EAAEC,SAAS,EAAC,GAAGJ;IAC5C,IAAI,EAACK,IAAI,EAAC,GAAGL;IAEb,IAAIO,kBAA0C;IAE9C,0DAA0D;IAC1D,IAAIL,OAAO;QACT,IAAI;YACFK,kBAAkB,MAAMX,mBAAmB;gBAACM;gBAAOoB,UAAU;gBAAOlB;YAAS;YAE7E,IAAIG,iBAAiB;gBACnB,OAAOA;YACT;YAEA,oEAAoE;YACpE,MAAM,IAAIgB,MAAM,CAAC,4BAA4B,EAAErB,OAAO;QACxD,EAAE,OAAOsB,OAAO;YACdnB,KAAKoB,IAAI;YACT3B,YAAY,kCAAkC0B;YAC9CrB,OAAOqB,KAAK,CAAC,CAAC,gCAAgC,EAAEA,OAAOJ,SAAS,EAAE;gBAACM,MAAM;YAAC;QAC5E;IACF;IAEA,yFAAyF;IACzF,IAAIzB,SAAS;QACX,IAAI;YACFM,kBAAkB,MAAMX,mBAAmB;gBAACK;gBAASqB,UAAU;gBAAOlB;YAAS;YAE/E,0CAA0C;YAC1C,IAAIG,iBAAiB;gBACnB,OAAOA;YACT;YAEA,2DAA2D;YAC3D,IAAI;gBACFJ,OAAOwB,GAAG,CAAC;gBACXxB,OAAOwB,GAAG,CAAC,CAAC,iBAAiB,EAAE1B,QAAQ,cAAc,CAAC;gBACtDE,OAAOwB,GAAG,CAAC;gBACXtB,OAAOX,QAAQ,4BAA4BY,KAAK;gBAEhD,MAAMsB,WAAW,MAAMjC,sBAAsB;oBAC3CgB,SAAS;oBACTkB,MAAM;wBACJ5B;wBACA6B,MAAM;wBACNC,SAAS;oBACX;oBACA3B;gBACF;gBACAC,KAAKI,OAAO;gBAEZ,OAAOmB;YACT,EAAE,OAAOI,GAAG;gBACV3B,KAAKoB,IAAI;gBACT,uEAAuE;gBACvE,IAAI;oBAAC;oBAAK;iBAAI,CAACQ,QAAQ,CAACD,GAAGE,aAAa;oBACtC/B,OAAOqB,KAAK,CAACQ,GAAGJ,UAAUC,MAAMT,WAAW,eAAe;wBAACM,MAAM;oBAAC;oBAClE,OAAO;gBACT;gBACA,gCAAgC;gBAChC5B,YAAY,+CAA+CkC;gBAC3D7B,OAAOqB,KAAK,CACV,CAAC,6CAA6C,EAAEQ,aAAaT,QAAQS,EAAEZ,OAAO,GAAGY,GAAG,EACpF;oBAACN,MAAM;gBAAC;YAEZ;QACF,EAAE,OAAOF,OAAO;YACdnB,KAAKoB,IAAI;YACT3B,YAAY,kCAAkC0B;YAC9CrB,OAAOqB,KAAK,CACV,CAAC,gCAAgC,EAAEA,iBAAiBD,QAAQC,MAAMJ,OAAO,GAAGI,MAAMW,QAAQ,IAAI,EAC9F;gBAACT,MAAM;YAAC;QAEZ;IACF;IAEA,+FAA+F;IAC/F,OAAO;AACT"}
1
+ {"version":3,"sources":["../../../src/actions/deploy/findUserApplicationForStudio.ts"],"sourcesContent":["/**\n * Helper functions to find a user application for a Sanity studio.\n */\n\nimport {type Output} from '@sanity/cli-core'\nimport {select, Separator, spinner, type SpinnerInstance} from '@sanity/cli-core/ux'\n\nimport {\n createUserApplication,\n getUserApplication,\n getUserApplications,\n type UserApplication,\n} from '../../services/userApplications.js'\nimport {deployDebug} from './deployDebug.js'\nimport {normalizeUrl, validateUrl} from './urlUtils.js'\n\ninterface FindUserApplicationForStudioOptions {\n output: Output\n projectId: string\n\n appHost?: string\n appId?: string\n urlType?: 'external' | 'internal'\n}\n\nexport async function findUserApplicationForStudio(options: FindUserApplicationForStudioOptions) {\n const {appHost, appId, output, projectId, urlType = 'internal'} = options\n\n const spin = spinner('Checking project info').start()\n\n const userApplication = await findUserApplication({\n appHost,\n appId,\n output,\n projectId,\n spin,\n urlType,\n })\n\n spin.succeed()\n\n if (userApplication) {\n return userApplication\n }\n\n // No user application found, so let's list out the existing user applications\n // along with an option to create a new one\n let userApplications: Array<UserApplication> = []\n\n // Get existing user applications (if any),\n // based on the configured project ID\n if (projectId) {\n const allApps = await getUserApplications({\n appType: 'studio',\n projectId,\n })\n // Filter by urlType so external deploys only see external studios and vice versa\n userApplications = allApps?.filter((app) => app.urlType === urlType) ?? []\n }\n\n // If no applications are found, return null\n if (!userApplications?.length) {\n return null\n }\n\n // If there are user applications, allow the user to select one of the existing host names,\n // or to create a new one\n const newLabel =\n urlType === 'external' ? 'Register new external studio URL' : 'Create new studio hostname'\n const selectMessage =\n urlType === 'external'\n ? 'Select existing external studio, or register a new one'\n : 'Select existing studio hostname, or create a new one'\n\n const choices = userApplications.map((app) => ({\n name: app.title ?? app.appHost,\n value: app.appHost,\n }))\n\n const selected = await select({\n choices: [{name: newLabel, value: 'NEW_STUDIO'}, new Separator(), ...choices],\n message: selectMessage,\n })\n\n // If the user wants to create a new deployed application, return null\n if (selected === 'NEW_STUDIO') {\n return null\n }\n\n // Otherwise, return the selected user application\n return userApplications.find((app) => app.appHost === selected)!\n}\n\ninterface FindUserApplicationFromConfigOptions {\n output: Output\n projectId: string\n spin: SpinnerInstance\n urlType: 'external' | 'internal'\n\n appHost?: string\n appId?: string\n}\n\nasync function findUserApplication(\n options: FindUserApplicationFromConfigOptions,\n): Promise<UserApplication | null> {\n const {appHost, appId, output, projectId, urlType} = options\n let {spin} = options\n\n let userApplication: UserApplication | null = null\n\n // If the config has an appId, check for apps with that ID\n if (appId) {\n try {\n userApplication = await getUserApplication({appId, isSdkApp: false, projectId})\n\n if (userApplication) {\n return userApplication\n }\n\n // If appID is specified but no app is found with it, throw an error\n throw new Error(`Cannot find app with app ID ${appId}`)\n } catch (error) {\n spin.fail()\n deployDebug('Error finding user application', error)\n output.error(`Error finding user application: ${error?.message}`, {exit: 1})\n }\n }\n\n // As a fallback, if studioHost (deprecated) is configured, check for apps with that host\n if (appHost) {\n // For external URLs, validate and normalize before lookup/creation\n const resolvedHost = urlType === 'external' ? normalizeUrl(appHost) : appHost\n\n if (urlType === 'external') {\n const validation = validateUrl(resolvedHost)\n if (validation !== true) {\n spin.fail()\n output.error(validation, {exit: 1})\n return null\n }\n }\n\n try {\n userApplication = await getUserApplication({\n appHost: resolvedHost,\n isSdkApp: false,\n projectId,\n })\n\n // We've found the application — return it\n if (userApplication) {\n return userApplication\n }\n\n // Otherwise, try to create an app with the configured host\n try {\n if (urlType === 'external') {\n output.log('Your project has not been registered with an external studio URL.')\n output.log(`Registering ${resolvedHost}`)\n } else {\n output.log('Your project has not been assigned a studio hostname.')\n output.log(`Creating https://${resolvedHost}.sanity.studio`)\n }\n output.log('')\n spin = spinner(\n urlType === 'external' ? 'Registering external studio' : 'Creating studio hostname',\n ).start()\n\n const response = await createUserApplication({\n appType: 'studio',\n body: {\n appHost: resolvedHost,\n type: 'studio',\n urlType,\n },\n projectId,\n })\n spin.succeed()\n\n return response\n } catch (e) {\n spin.fail()\n // if the name is taken, it should return a 409 so we relay to the user\n if ([402, 409].includes(e?.statusCode)) {\n output.error(e?.response?.body?.message || 'Bad request', {exit: 1})\n return null\n }\n // otherwise, it's a fatal error\n deployDebug('Error creating user application from config', e)\n output.error(\n `Error creating user application from config: ${e instanceof Error ? e.message : e}`,\n {exit: 1},\n )\n }\n } catch (error) {\n spin.fail()\n deployDebug('Error finding user application', error)\n output.error(\n `Error finding user application: ${error instanceof Error ? error.message : error.toString()}`,\n {exit: 1},\n )\n }\n }\n\n // If no appID and no appHost, just return and proceed to check for studios with the project ID\n return null\n}\n"],"names":["select","Separator","spinner","createUserApplication","getUserApplication","getUserApplications","deployDebug","normalizeUrl","validateUrl","findUserApplicationForStudio","options","appHost","appId","output","projectId","urlType","spin","start","userApplication","findUserApplication","succeed","userApplications","allApps","appType","filter","app","length","newLabel","selectMessage","choices","map","name","title","value","selected","message","find","isSdkApp","Error","error","fail","exit","resolvedHost","validation","log","response","body","type","e","includes","statusCode","toString"],"mappings":"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"}
@@ -1,3 +1,12 @@
1
- export { };
1
+ import { z } from 'zod';
2
+ export const deployStudioSchemasAndManifestsWorkerData = z.object({
3
+ configPath: z.string(),
4
+ isExternal: z.boolean(),
5
+ outPath: z.string(),
6
+ projectId: z.string(),
7
+ schemaRequired: z.boolean(),
8
+ verbose: z.boolean(),
9
+ workDir: z.string()
10
+ });
2
11
 
3
12
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/deploy/types.ts"],"sourcesContent":["import {type CliConfig, type Output} from '@sanity/cli-core'\n\nimport {DeployCommand} from '../../commands/deploy.js'\n\nexport type DeployFlags = DeployCommand['flags']\n\nexport interface DeployAppOptions {\n cliConfig: CliConfig\n exit: (code?: number) => void\n flags: DeployFlags\n output: Output\n sourceDir: string\n workDir: string\n}\n"],"names":[],"mappings":"AAMA,WAOC"}
1
+ {"version":3,"sources":["../../../src/actions/deploy/types.ts"],"sourcesContent":["import {type CliConfig, type Output, type ProjectRootResult} from '@sanity/cli-core'\nimport {z} from 'zod'\n\nimport {DeployCommand} from '../../commands/deploy.js'\n\nexport type DeployFlags = DeployCommand['flags']\n\nexport interface DeployAppOptions {\n cliConfig: CliConfig\n flags: DeployFlags\n output: Output\n projectRoot: ProjectRootResult\n sourceDir: string\n}\n\nexport const deployStudioSchemasAndManifestsWorkerData = z.object({\n configPath: z.string(),\n isExternal: z.boolean(),\n outPath: z.string(),\n projectId: z.string(),\n schemaRequired: z.boolean(),\n verbose: z.boolean(),\n workDir: z.string(),\n})\n\nexport type DeployStudioSchemasAndManifestsWorkerData = z.infer<\n typeof deployStudioSchemasAndManifestsWorkerData\n>\n"],"names":["z","deployStudioSchemasAndManifestsWorkerData","object","configPath","string","isExternal","boolean","outPath","projectId","schemaRequired","verbose","workDir"],"mappings":"AACA,SAAQA,CAAC,QAAO,MAAK;AAcrB,OAAO,MAAMC,4CAA4CD,EAAEE,MAAM,CAAC;IAChEC,YAAYH,EAAEI,MAAM;IACpBC,YAAYL,EAAEM,OAAO;IACrBC,SAASP,EAAEI,MAAM;IACjBI,WAAWR,EAAEI,MAAM;IACnBK,gBAAgBT,EAAEM,OAAO;IACzBI,SAASV,EAAEM,OAAO;IAClBK,SAASX,EAAEI,MAAM;AACnB,GAAE"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Validates that the given string is a valid http or https URL.
3
+ * Returns `true` if valid, or an error message string if invalid.
4
+ */ export function validateUrl(url) {
5
+ try {
6
+ const parsed = new URL(url);
7
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
8
+ return 'URL must use http or https protocol';
9
+ }
10
+ return true;
11
+ } catch {
12
+ return 'Invalid URL. Please enter a valid http or https URL';
13
+ }
14
+ }
15
+ /**
16
+ * Normalizes a URL by removing trailing slashes.
17
+ */ export function normalizeUrl(url) {
18
+ return url.replace(/\/+$/, '');
19
+ }
20
+
21
+ //# sourceMappingURL=urlUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/deploy/urlUtils.ts"],"sourcesContent":["/**\n * Validates that the given string is a valid http or https URL.\n * Returns `true` if valid, or an error message string if invalid.\n */\nexport function validateUrl(url: string): string | true {\n try {\n const parsed = new URL(url)\n if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {\n return 'URL must use http or https protocol'\n }\n return true\n } catch {\n return 'Invalid URL. Please enter a valid http or https URL'\n }\n}\n\n/**\n * Normalizes a URL by removing trailing slashes.\n */\nexport function normalizeUrl(url: string): string {\n return url.replace(/\\/+$/, '')\n}\n"],"names":["validateUrl","url","parsed","URL","protocol","normalizeUrl","replace"],"mappings":"AAAA;;;CAGC,GACD,OAAO,SAASA,YAAYC,GAAW;IACrC,IAAI;QACF,MAAMC,SAAS,IAAIC,IAAIF;QACvB,IAAIC,OAAOE,QAAQ,KAAK,WAAWF,OAAOE,QAAQ,KAAK,UAAU;YAC/D,OAAO;QACT;QACA,OAAO;IACT,EAAE,OAAM;QACN,OAAO;IACT;AACF;AAEA;;CAEC,GACD,OAAO,SAASC,aAAaJ,GAAW;IACtC,OAAOA,IAAIK,OAAO,CAAC,QAAQ;AAC7B"}
@@ -0,0 +1,48 @@
1
+ import { getSanityUrl, subdebug } from '@sanity/cli-core';
2
+ const debug = subdebug('dev:getDashboardAppURL');
3
+ const DEFAULT_TIMEOUT = 5000;
4
+ const getDefaultDashboardURL = ({ organizationId, url })=>{
5
+ return getSanityUrl(`/@${organizationId}?${new URLSearchParams({
6
+ dev: url
7
+ }).toString()}`);
8
+ };
9
+ /**
10
+ * Gets the dashboard URL from API or uses the default dashboard URL
11
+ */ export const getDashboardAppURL = async ({ httpHost = 'localhost', httpPort = 3333, organizationId })=>{
12
+ const url = `http://${httpHost}:${httpPort}`;
13
+ const abortController = new AbortController();
14
+ // Wait for 5 seconds before aborting the request
15
+ const timer = setTimeout(()=>abortController.abort(), DEFAULT_TIMEOUT);
16
+ try {
17
+ const queryParams = new URLSearchParams({
18
+ organizationId,
19
+ url
20
+ });
21
+ const res = await globalThis.fetch(getSanityUrl(`/api/dashboard/mode/development/resolve-url?${queryParams.toString()}`), {
22
+ signal: abortController.signal
23
+ });
24
+ if (!res.ok) {
25
+ debug(`Failed to fetch dashboard URL: ${res.statusText}`);
26
+ return getDefaultDashboardURL({
27
+ organizationId,
28
+ url
29
+ });
30
+ }
31
+ const body = await res.json();
32
+ // <dashboard-app-url>/<orgniazationId>?dev=<dev-server-url>
33
+ return body?.url ?? getDefaultDashboardURL({
34
+ organizationId,
35
+ url
36
+ });
37
+ } catch (err) {
38
+ debug(`Failed to fetch dashboard URL: ${err instanceof Error ? err.message : String(err)}`);
39
+ return getDefaultDashboardURL({
40
+ organizationId,
41
+ url
42
+ });
43
+ } finally{
44
+ clearTimeout(timer);
45
+ }
46
+ };
47
+
48
+ //# sourceMappingURL=getDashboardAppUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/actions/dev/getDashboardAppUrl.ts"],"sourcesContent":["import {getSanityUrl, subdebug} from '@sanity/cli-core'\n\nconst debug = subdebug('dev:getDashboardAppURL')\n\nconst DEFAULT_TIMEOUT = 5000\n\nconst getDefaultDashboardURL = ({\n organizationId,\n url,\n}: {\n organizationId: string\n url: string\n}): string => {\n return getSanityUrl(\n `/@${organizationId}?${new URLSearchParams({\n dev: url,\n }).toString()}`,\n )\n}\n\n/**\n * Gets the dashboard URL from API or uses the default dashboard URL\n */\nexport const getDashboardAppURL = async ({\n httpHost = 'localhost',\n httpPort = 3333,\n organizationId,\n}: {\n httpHost?: string\n httpPort?: number\n organizationId: string\n}): Promise<string> => {\n const url = `http://${httpHost}:${httpPort}`\n\n const abortController = new AbortController()\n // Wait for 5 seconds before aborting the request\n const timer = setTimeout(() => abortController.abort(), DEFAULT_TIMEOUT)\n try {\n const queryParams = new URLSearchParams({\n organizationId,\n url,\n })\n\n const res = await globalThis.fetch(\n getSanityUrl(`/api/dashboard/mode/development/resolve-url?${queryParams.toString()}`),\n {\n signal: abortController.signal,\n },\n )\n\n if (!res.ok) {\n debug(`Failed to fetch dashboard URL: ${res.statusText}`)\n return getDefaultDashboardURL({organizationId, url})\n }\n\n const body = await res.json()\n // <dashboard-app-url>/<orgniazationId>?dev=<dev-server-url>\n return body?.url ?? getDefaultDashboardURL({organizationId, url})\n } catch (err) {\n debug(`Failed to fetch dashboard URL: ${err instanceof Error ? err.message : String(err)}`)\n return getDefaultDashboardURL({organizationId, url})\n } finally {\n clearTimeout(timer)\n }\n}\n"],"names":["getSanityUrl","subdebug","debug","DEFAULT_TIMEOUT","getDefaultDashboardURL","organizationId","url","URLSearchParams","dev","toString","getDashboardAppURL","httpHost","httpPort","abortController","AbortController","timer","setTimeout","abort","queryParams","res","globalThis","fetch","signal","ok","statusText","body","json","err","Error","message","String","clearTimeout"],"mappings":"AAAA,SAAQA,YAAY,EAAEC,QAAQ,QAAO,mBAAkB;AAEvD,MAAMC,QAAQD,SAAS;AAEvB,MAAME,kBAAkB;AAExB,MAAMC,yBAAyB,CAAC,EAC9BC,cAAc,EACdC,GAAG,EAIJ;IACC,OAAON,aACL,CAAC,EAAE,EAAEK,eAAe,CAAC,EAAE,IAAIE,gBAAgB;QACzCC,KAAKF;IACP,GAAGG,QAAQ,IAAI;AAEnB;AAEA;;CAEC,GACD,OAAO,MAAMC,qBAAqB,OAAO,EACvCC,WAAW,WAAW,EACtBC,WAAW,IAAI,EACfP,cAAc,EAKf;IACC,MAAMC,MAAM,CAAC,OAAO,EAAEK,SAAS,CAAC,EAAEC,UAAU;IAE5C,MAAMC,kBAAkB,IAAIC;IAC5B,iDAAiD;IACjD,MAAMC,QAAQC,WAAW,IAAMH,gBAAgBI,KAAK,IAAId;IACxD,IAAI;QACF,MAAMe,cAAc,IAAIX,gBAAgB;YACtCF;YACAC;QACF;QAEA,MAAMa,MAAM,MAAMC,WAAWC,KAAK,CAChCrB,aAAa,CAAC,4CAA4C,EAAEkB,YAAYT,QAAQ,IAAI,GACpF;YACEa,QAAQT,gBAAgBS,MAAM;QAChC;QAGF,IAAI,CAACH,IAAII,EAAE,EAAE;YACXrB,MAAM,CAAC,+BAA+B,EAAEiB,IAAIK,UAAU,EAAE;YACxD,OAAOpB,uBAAuB;gBAACC;gBAAgBC;YAAG;QACpD;QAEA,MAAMmB,OAAO,MAAMN,IAAIO,IAAI;QAC3B,4DAA4D;QAC5D,OAAOD,MAAMnB,OAAOF,uBAAuB;YAACC;YAAgBC;QAAG;IACjE,EAAE,OAAOqB,KAAK;QACZzB,MAAM,CAAC,+BAA+B,EAAEyB,eAAeC,QAAQD,IAAIE,OAAO,GAAGC,OAAOH,MAAM;QAC1F,OAAOvB,uBAAuB;YAACC;YAAgBC;QAAG;IACpD,SAAU;QACRyB,aAAahB;IACf;AACF,EAAC"}
@@ -1,4 +1,5 @@
1
1
  import path from 'node:path';
2
+ import { getSanityEnvVar } from '@sanity/cli-core';
2
3
  import { spinner } from '@sanity/cli-core/ux';
3
4
  import { getSharedServerConfig } from '../../util/getSharedServerConfig.js';
4
5
  export function getDevServerConfig({ cliConfig, flags, output, workDir }) {
@@ -12,16 +13,19 @@ export function getDevServerConfig({ cliConfig, flags, output, workDir }) {
12
13
  workDir
13
14
  });
14
15
  configSpinner.succeed();
16
+ const isApp = cliConfig && 'app' in cliConfig;
15
17
  const env = process.env;
16
18
  const reactStrictMode = env.SANITY_STUDIO_REACT_STRICT_MODE ? env.SANITY_STUDIO_REACT_STRICT_MODE === 'true' : Boolean(cliConfig?.reactStrictMode);
17
- if (env.SANITY_STUDIO_BASEPATH && cliConfig?.project?.basePath) {
18
- output.warn(`Overriding configured base path (${cliConfig.project.basePath}) with value from environment variable (${env.SANITY_STUDIO_BASEPATH})`);
19
+ const envBasePath = getSanityEnvVar('BASEPATH', isApp ?? false);
20
+ if (envBasePath && cliConfig?.project?.basePath) {
21
+ output.warn(`Overriding configured base path (${cliConfig.project.basePath}) with value from environment variable (${envBasePath})`);
19
22
  }
20
23
  return {
21
24
  ...baseConfig,
22
25
  reactCompiler: cliConfig && 'reactCompiler' in cliConfig ? cliConfig.reactCompiler : undefined,
23
26
  reactStrictMode,
24
- staticPath: path.join(workDir, 'static')
27
+ staticPath: path.join(workDir, 'static'),
28
+ typegen: cliConfig?.typegen
25
29
  };
26
30
  }
27
31
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/dev/getDevServerConfig.ts"],"sourcesContent":["import path from 'node:path'\n\nimport {type CliConfig, type Output} from '@sanity/cli-core'\nimport {spinner} from '@sanity/cli-core/ux'\n\nimport {type DevServerOptions} from '../../server/devServer.js'\nimport {getSharedServerConfig} from '../../util/getSharedServerConfig.js'\nimport {type DevFlags} from './types.js'\n\nexport function getDevServerConfig({\n cliConfig,\n flags,\n output,\n workDir,\n}: {\n cliConfig?: CliConfig\n flags: DevFlags\n output: Output\n workDir: string\n}): Omit<DevServerOptions, 'spinner'> {\n const configSpinner = spinner('Checking configuration files...')\n\n const baseConfig = getSharedServerConfig({\n cliConfig,\n flags: {\n host: flags.host,\n port: flags.port,\n },\n workDir,\n })\n\n configSpinner.succeed()\n\n const env = process.env\n const reactStrictMode = env.SANITY_STUDIO_REACT_STRICT_MODE\n ? env.SANITY_STUDIO_REACT_STRICT_MODE === 'true'\n : Boolean(cliConfig?.reactStrictMode)\n\n if (env.SANITY_STUDIO_BASEPATH && cliConfig?.project?.basePath) {\n output.warn(\n `Overriding configured base path (${cliConfig.project.basePath}) with value from environment variable (${env.SANITY_STUDIO_BASEPATH})`,\n )\n }\n\n return {\n ...baseConfig,\n reactCompiler: cliConfig && 'reactCompiler' in cliConfig ? cliConfig.reactCompiler : undefined,\n reactStrictMode,\n staticPath: path.join(workDir, 'static'),\n }\n}\n"],"names":["path","spinner","getSharedServerConfig","getDevServerConfig","cliConfig","flags","output","workDir","configSpinner","baseConfig","host","port","succeed","env","process","reactStrictMode","SANITY_STUDIO_REACT_STRICT_MODE","Boolean","SANITY_STUDIO_BASEPATH","project","basePath","warn","reactCompiler","undefined","staticPath","join"],"mappings":"AAAA,OAAOA,UAAU,YAAW;AAG5B,SAAQC,OAAO,QAAO,sBAAqB;AAG3C,SAAQC,qBAAqB,QAAO,sCAAqC;AAGzE,OAAO,SAASC,mBAAmB,EACjCC,SAAS,EACTC,KAAK,EACLC,MAAM,EACNC,OAAO,EAMR;IACC,MAAMC,gBAAgBP,QAAQ;IAE9B,MAAMQ,aAAaP,sBAAsB;QACvCE;QACAC,OAAO;YACLK,MAAML,MAAMK,IAAI;YAChBC,MAAMN,MAAMM,IAAI;QAClB;QACAJ;IACF;IAEAC,cAAcI,OAAO;IAErB,MAAMC,MAAMC,QAAQD,GAAG;IACvB,MAAME,kBAAkBF,IAAIG,+BAA+B,GACvDH,IAAIG,+BAA+B,KAAK,SACxCC,QAAQb,WAAWW;IAEvB,IAAIF,IAAIK,sBAAsB,IAAId,WAAWe,SAASC,UAAU;QAC9Dd,OAAOe,IAAI,CACT,CAAC,iCAAiC,EAAEjB,UAAUe,OAAO,CAACC,QAAQ,CAAC,wCAAwC,EAAEP,IAAIK,sBAAsB,CAAC,CAAC,CAAC;IAE1I;IAEA,OAAO;QACL,GAAGT,UAAU;QACba,eAAelB,aAAa,mBAAmBA,YAAYA,UAAUkB,aAAa,GAAGC;QACrFR;QACAS,YAAYxB,KAAKyB,IAAI,CAAClB,SAAS;IACjC;AACF"}
1
+ {"version":3,"sources":["../../../src/actions/dev/getDevServerConfig.ts"],"sourcesContent":["import path from 'node:path'\n\nimport {type CliConfig, getSanityEnvVar, type Output} from '@sanity/cli-core'\nimport {spinner} from '@sanity/cli-core/ux'\n\nimport {type DevServerOptions} from '../../server/devServer.js'\nimport {getSharedServerConfig} from '../../util/getSharedServerConfig.js'\nimport {type DevFlags} from './types.js'\n\nexport function getDevServerConfig({\n cliConfig,\n flags,\n output,\n workDir,\n}: {\n cliConfig?: CliConfig\n flags: DevFlags\n output: Output\n workDir: string\n}): Omit<DevServerOptions, 'spinner'> {\n const configSpinner = spinner('Checking configuration files...')\n\n const baseConfig = getSharedServerConfig({\n cliConfig,\n flags: {\n host: flags.host,\n port: flags.port,\n },\n workDir,\n })\n\n configSpinner.succeed()\n\n const isApp = cliConfig && 'app' in cliConfig\n const env = process.env\n const reactStrictMode = env.SANITY_STUDIO_REACT_STRICT_MODE\n ? env.SANITY_STUDIO_REACT_STRICT_MODE === 'true'\n : Boolean(cliConfig?.reactStrictMode)\n\n const envBasePath = getSanityEnvVar('BASEPATH', isApp ?? false)\n if (envBasePath && cliConfig?.project?.basePath) {\n output.warn(\n `Overriding configured base path (${cliConfig.project.basePath}) with value from environment variable (${envBasePath})`,\n )\n }\n\n return {\n ...baseConfig,\n reactCompiler: cliConfig && 'reactCompiler' in cliConfig ? cliConfig.reactCompiler : undefined,\n reactStrictMode,\n staticPath: path.join(workDir, 'static'),\n typegen: cliConfig?.typegen,\n }\n}\n"],"names":["path","getSanityEnvVar","spinner","getSharedServerConfig","getDevServerConfig","cliConfig","flags","output","workDir","configSpinner","baseConfig","host","port","succeed","isApp","env","process","reactStrictMode","SANITY_STUDIO_REACT_STRICT_MODE","Boolean","envBasePath","project","basePath","warn","reactCompiler","undefined","staticPath","join","typegen"],"mappings":"AAAA,OAAOA,UAAU,YAAW;AAE5B,SAAwBC,eAAe,QAAoB,mBAAkB;AAC7E,SAAQC,OAAO,QAAO,sBAAqB;AAG3C,SAAQC,qBAAqB,QAAO,sCAAqC;AAGzE,OAAO,SAASC,mBAAmB,EACjCC,SAAS,EACTC,KAAK,EACLC,MAAM,EACNC,OAAO,EAMR;IACC,MAAMC,gBAAgBP,QAAQ;IAE9B,MAAMQ,aAAaP,sBAAsB;QACvCE;QACAC,OAAO;YACLK,MAAML,MAAMK,IAAI;YAChBC,MAAMN,MAAMM,IAAI;QAClB;QACAJ;IACF;IAEAC,cAAcI,OAAO;IAErB,MAAMC,QAAQT,aAAa,SAASA;IACpC,MAAMU,MAAMC,QAAQD,GAAG;IACvB,MAAME,kBAAkBF,IAAIG,+BAA+B,GACvDH,IAAIG,+BAA+B,KAAK,SACxCC,QAAQd,WAAWY;IAEvB,MAAMG,cAAcnB,gBAAgB,YAAYa,SAAS;IACzD,IAAIM,eAAef,WAAWgB,SAASC,UAAU;QAC/Cf,OAAOgB,IAAI,CACT,CAAC,iCAAiC,EAAElB,UAAUgB,OAAO,CAACC,QAAQ,CAAC,wCAAwC,EAAEF,YAAY,CAAC,CAAC;IAE3H;IAEA,OAAO;QACL,GAAGV,UAAU;QACbc,eAAenB,aAAa,mBAAmBA,YAAYA,UAAUmB,aAAa,GAAGC;QACrFR;QACAS,YAAY1B,KAAK2B,IAAI,CAACnB,SAAS;QAC/BoB,SAASvB,WAAWuB;IACtB;AACF"}
@@ -1,8 +1,8 @@
1
- import { chalk } from '@sanity/cli-core/ux';
1
+ import { styleText } from 'node:util';
2
2
  import { startDevServer } from '../../server/devServer.js';
3
3
  import { gracefulServerDeath } from '../../server/gracefulServerDeath.js';
4
4
  import { devDebug } from './devDebug.js';
5
- import { getCoreAppURL } from './getCoreAppUrl.js';
5
+ import { getDashboardAppURL } from './getDashboardAppUrl.js';
6
6
  import { getDevServerConfig } from './getDevServerConfig.js';
7
7
  export async function startAppDevServer(options) {
8
8
  const { cliConfig, flags, output, workDir } = options;
@@ -34,14 +34,17 @@ export async function startAppDevServer(options) {
34
34
  });
35
35
  const { port } = server.config.server;
36
36
  const httpHost = config.httpHost || 'localhost';
37
- const coreAppUrl = getCoreAppURL({
37
+ const dashboardAppUrl = await getDashboardAppURL({
38
38
  httpHost,
39
39
  httpPort: port,
40
40
  organizationId
41
41
  });
42
42
  output.log(`Dev server started on port ${port}`);
43
43
  output.log(`View your app in the Sanity dashboard here:`);
44
- output.log(chalk.blue(chalk.underline(coreAppUrl)));
44
+ output.log(styleText([
45
+ 'blue',
46
+ 'underline'
47
+ ], dashboardAppUrl));
45
48
  return {
46
49
  close
47
50
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/dev/startAppDevServer.ts"],"sourcesContent":["import {chalk} from '@sanity/cli-core/ux'\n\nimport {startDevServer} from '../../server/devServer.js'\nimport {gracefulServerDeath} from '../../server/gracefulServerDeath.js'\nimport {devDebug} from './devDebug.js'\nimport {getCoreAppURL} from './getCoreAppUrl.js'\nimport {getDevServerConfig} from './getDevServerConfig.js'\nimport {type DevActionOptions} from './types.js'\n\nexport async function startAppDevServer(\n options: DevActionOptions,\n): Promise<{close?: () => Promise<void>}> {\n const {cliConfig, flags, output, workDir} = options\n\n if (!flags['load-in-dashboard']) {\n output.warn(`Apps cannot run without the Sanity dashboard`)\n output.warn(`Starting dev server with the --load-in-dashboard flag set to true`)\n }\n\n let organizationId: string | undefined\n if (cliConfig && 'app' in cliConfig && cliConfig.app?.organizationId) {\n organizationId = cliConfig.app.organizationId\n }\n\n if (!organizationId) {\n output.error(`Apps require an organization ID (orgId) specified in your sanity.cli.ts file`, {\n exit: 1,\n })\n return {}\n }\n\n const config = getDevServerConfig({cliConfig, flags, output, workDir})\n\n try {\n output.log('Starting dev server')\n\n const {close, server} = await startDevServer({...config, isApp: true})\n\n const {port} = server.config.server\n const httpHost = config.httpHost || 'localhost'\n\n const coreAppUrl = getCoreAppURL({\n httpHost,\n httpPort: port,\n organizationId,\n })\n\n output.log(`Dev server started on port ${port}`)\n output.log(`View your app in the Sanity dashboard here:`)\n output.log(chalk.blue(chalk.underline(coreAppUrl)))\n\n return {close}\n } catch (err) {\n devDebug('Error starting app dev server', err)\n throw gracefulServerDeath('dev', config.httpHost, config.httpPort, err)\n }\n}\n"],"names":["chalk","startDevServer","gracefulServerDeath","devDebug","getCoreAppURL","getDevServerConfig","startAppDevServer","options","cliConfig","flags","output","workDir","warn","organizationId","app","error","exit","config","log","close","server","isApp","port","httpHost","coreAppUrl","httpPort","blue","underline","err"],"mappings":"AAAA,SAAQA,KAAK,QAAO,sBAAqB;AAEzC,SAAQC,cAAc,QAAO,4BAA2B;AACxD,SAAQC,mBAAmB,QAAO,sCAAqC;AACvE,SAAQC,QAAQ,QAAO,gBAAe;AACtC,SAAQC,aAAa,QAAO,qBAAoB;AAChD,SAAQC,kBAAkB,QAAO,0BAAyB;AAG1D,OAAO,eAAeC,kBACpBC,OAAyB;IAEzB,MAAM,EAACC,SAAS,EAAEC,KAAK,EAAEC,MAAM,EAAEC,OAAO,EAAC,GAAGJ;IAE5C,IAAI,CAACE,KAAK,CAAC,oBAAoB,EAAE;QAC/BC,OAAOE,IAAI,CAAC,CAAC,4CAA4C,CAAC;QAC1DF,OAAOE,IAAI,CAAC,CAAC,iEAAiE,CAAC;IACjF;IAEA,IAAIC;IACJ,IAAIL,aAAa,SAASA,aAAaA,UAAUM,GAAG,EAAED,gBAAgB;QACpEA,iBAAiBL,UAAUM,GAAG,CAACD,cAAc;IAC/C;IAEA,IAAI,CAACA,gBAAgB;QACnBH,OAAOK,KAAK,CAAC,CAAC,4EAA4E,CAAC,EAAE;YAC3FC,MAAM;QACR;QACA,OAAO,CAAC;IACV;IAEA,MAAMC,SAASZ,mBAAmB;QAACG;QAAWC;QAAOC;QAAQC;IAAO;IAEpE,IAAI;QACFD,OAAOQ,GAAG,CAAC;QAEX,MAAM,EAACC,KAAK,EAAEC,MAAM,EAAC,GAAG,MAAMnB,eAAe;YAAC,GAAGgB,MAAM;YAAEI,OAAO;QAAI;QAEpE,MAAM,EAACC,IAAI,EAAC,GAAGF,OAAOH,MAAM,CAACG,MAAM;QACnC,MAAMG,WAAWN,OAAOM,QAAQ,IAAI;QAEpC,MAAMC,aAAapB,cAAc;YAC/BmB;YACAE,UAAUH;YACVT;QACF;QAEAH,OAAOQ,GAAG,CAAC,CAAC,2BAA2B,EAAEI,MAAM;QAC/CZ,OAAOQ,GAAG,CAAC,CAAC,2CAA2C,CAAC;QACxDR,OAAOQ,GAAG,CAAClB,MAAM0B,IAAI,CAAC1B,MAAM2B,SAAS,CAACH;QAEtC,OAAO;YAACL;QAAK;IACf,EAAE,OAAOS,KAAK;QACZzB,SAAS,iCAAiCyB;QAC1C,MAAM1B,oBAAoB,OAAOe,OAAOM,QAAQ,EAAEN,OAAOQ,QAAQ,EAAEG;IACrE;AACF"}
1
+ {"version":3,"sources":["../../../src/actions/dev/startAppDevServer.ts"],"sourcesContent":["import {styleText} from 'node:util'\n\nimport {startDevServer} from '../../server/devServer.js'\nimport {gracefulServerDeath} from '../../server/gracefulServerDeath.js'\nimport {devDebug} from './devDebug.js'\nimport {getDashboardAppURL} from './getDashboardAppUrl.js'\nimport {getDevServerConfig} from './getDevServerConfig.js'\nimport {type DevActionOptions} from './types.js'\n\nexport async function startAppDevServer(\n options: DevActionOptions,\n): Promise<{close?: () => Promise<void>}> {\n const {cliConfig, flags, output, workDir} = options\n\n if (!flags['load-in-dashboard']) {\n output.warn(`Apps cannot run without the Sanity dashboard`)\n output.warn(`Starting dev server with the --load-in-dashboard flag set to true`)\n }\n\n let organizationId: string | undefined\n if (cliConfig && 'app' in cliConfig && cliConfig.app?.organizationId) {\n organizationId = cliConfig.app.organizationId\n }\n\n if (!organizationId) {\n output.error(`Apps require an organization ID (orgId) specified in your sanity.cli.ts file`, {\n exit: 1,\n })\n return {}\n }\n\n const config = getDevServerConfig({cliConfig, flags, output, workDir})\n\n try {\n output.log('Starting dev server')\n\n const {close, server} = await startDevServer({...config, isApp: true})\n\n const {port} = server.config.server\n const httpHost = config.httpHost || 'localhost'\n\n const dashboardAppUrl = await getDashboardAppURL({\n httpHost,\n httpPort: port,\n organizationId,\n })\n output.log(`Dev server started on port ${port}`)\n output.log(`View your app in the Sanity dashboard here:`)\n output.log(styleText(['blue', 'underline'], dashboardAppUrl))\n\n return {close}\n } catch (err) {\n devDebug('Error starting app dev server', err)\n throw gracefulServerDeath('dev', config.httpHost, config.httpPort, err)\n }\n}\n"],"names":["styleText","startDevServer","gracefulServerDeath","devDebug","getDashboardAppURL","getDevServerConfig","startAppDevServer","options","cliConfig","flags","output","workDir","warn","organizationId","app","error","exit","config","log","close","server","isApp","port","httpHost","dashboardAppUrl","httpPort","err"],"mappings":"AAAA,SAAQA,SAAS,QAAO,YAAW;AAEnC,SAAQC,cAAc,QAAO,4BAA2B;AACxD,SAAQC,mBAAmB,QAAO,sCAAqC;AACvE,SAAQC,QAAQ,QAAO,gBAAe;AACtC,SAAQC,kBAAkB,QAAO,0BAAyB;AAC1D,SAAQC,kBAAkB,QAAO,0BAAyB;AAG1D,OAAO,eAAeC,kBACpBC,OAAyB;IAEzB,MAAM,EAACC,SAAS,EAAEC,KAAK,EAAEC,MAAM,EAAEC,OAAO,EAAC,GAAGJ;IAE5C,IAAI,CAACE,KAAK,CAAC,oBAAoB,EAAE;QAC/BC,OAAOE,IAAI,CAAC,CAAC,4CAA4C,CAAC;QAC1DF,OAAOE,IAAI,CAAC,CAAC,iEAAiE,CAAC;IACjF;IAEA,IAAIC;IACJ,IAAIL,aAAa,SAASA,aAAaA,UAAUM,GAAG,EAAED,gBAAgB;QACpEA,iBAAiBL,UAAUM,GAAG,CAACD,cAAc;IAC/C;IAEA,IAAI,CAACA,gBAAgB;QACnBH,OAAOK,KAAK,CAAC,CAAC,4EAA4E,CAAC,EAAE;YAC3FC,MAAM;QACR;QACA,OAAO,CAAC;IACV;IAEA,MAAMC,SAASZ,mBAAmB;QAACG;QAAWC;QAAOC;QAAQC;IAAO;IAEpE,IAAI;QACFD,OAAOQ,GAAG,CAAC;QAEX,MAAM,EAACC,KAAK,EAAEC,MAAM,EAAC,GAAG,MAAMnB,eAAe;YAAC,GAAGgB,MAAM;YAAEI,OAAO;QAAI;QAEpE,MAAM,EAACC,IAAI,EAAC,GAAGF,OAAOH,MAAM,CAACG,MAAM;QACnC,MAAMG,WAAWN,OAAOM,QAAQ,IAAI;QAEpC,MAAMC,kBAAkB,MAAMpB,mBAAmB;YAC/CmB;YACAE,UAAUH;YACVT;QACF;QACAH,OAAOQ,GAAG,CAAC,CAAC,2BAA2B,EAAEI,MAAM;QAC/CZ,OAAOQ,GAAG,CAAC,CAAC,2CAA2C,CAAC;QACxDR,OAAOQ,GAAG,CAAClB,UAAU;YAAC;YAAQ;SAAY,EAAEwB;QAE5C,OAAO;YAACL;QAAK;IACf,EAAE,OAAOO,KAAK;QACZvB,SAAS,iCAAiCuB;QAC1C,MAAMxB,oBAAoB,OAAOe,OAAOM,QAAQ,EAAEN,OAAOQ,QAAQ,EAAEC;IACrE;AACF"}
@@ -1,20 +1,20 @@
1
+ import { styleText } from 'node:util';
1
2
  import { isInteractive } from '@sanity/cli-core';
2
- import { chalk, confirm, logSymbols, spinner } from '@sanity/cli-core/ux';
3
+ import { confirm, logSymbols, spinner } from '@sanity/cli-core/ux';
3
4
  import semver from 'semver';
4
5
  import { startDevServer } from '../../server/devServer.js';
5
6
  import { gracefulServerDeath } from '../../server/gracefulServerDeath.js';
6
7
  import { getProjectById } from '../../services/projects.js';
7
8
  import { getAppId } from '../../util/appId.js';
8
9
  import { compareDependencyVersions } from '../../util/compareDependencyVersions.js';
10
+ import { getLocalPackageVersion } from '../../util/getLocalPackageVersion.js';
9
11
  import { getPackageManagerChoice } from '../../util/packageManager/packageManagerChoice.js';
10
12
  import { upgradePackages } from '../../util/packageManager/upgradePackages.js';
11
- import { readModuleVersion } from '../../util/readModuleVersion.js';
12
- import { warnAboutMissingAppId } from '../../util/warnAboutMissingAppId.js';
13
13
  import { checkRequiredDependencies } from '../build/checkRequiredDependencies.js';
14
14
  import { checkStudioDependencyVersions } from '../build/checkStudioDependencyVersions.js';
15
15
  import { shouldAutoUpdate } from '../build/shouldAutoUpdate.js';
16
16
  import { devDebug } from './devDebug.js';
17
- import { getCoreAppURL } from './getCoreAppUrl.js';
17
+ import { getDashboardAppURL } from './getDashboardAppUrl.js';
18
18
  import { getDevServerConfig } from './getDevServerConfig.js';
19
19
  export async function startStudioDevServer(options) {
20
20
  const { cliConfig, flags, output, workDir } = options;
@@ -57,27 +57,25 @@ export async function startStudioDevServer(options) {
57
57
  } catch (err) {
58
58
  output.warn(`Failed to compare local versions against auto-updating versions: ${err}`);
59
59
  }
60
- if (!appId) {
61
- warnAboutMissingAppId({
62
- appType: 'studio',
63
- output,
64
- projectId
65
- });
60
+ if (result?.unresolvedPrerelease.length) {
61
+ for (const mod of result.unresolvedPrerelease){
62
+ output.warn(`Your local version of ${mod.pkg} (${mod.version}) is a prerelease not available on the auto-updates CDN. The locally installed version will be used.`);
63
+ }
66
64
  }
67
65
  // mismatch between local and auto-updating dependencies
68
- if (result?.length) {
69
- const message = `The following local package versions are different from the versions currently served at runtime.\n` + `When using auto updates, we recommend that you run with the same versions locally as will be used when deploying.\n\n` + `${result.map((mod)=>` - ${mod.pkg} (local version: ${mod.installed}, runtime version: ${mod.remote})`).join('\n')}\n\n`;
66
+ if (result?.mismatched.length) {
67
+ const message = `The following local package versions are different from the versions currently served at runtime.\n` + `When using auto updates, we recommend that you run with the same versions locally as will be used when deploying.\n\n` + `${result.mismatched.map((mod)=>` - ${mod.pkg} (local version: ${mod.installed}, runtime version: ${mod.remote})`).join('\n')}\n\n`;
70
68
  if (isInteractive()) {
71
69
  const shouldUpgrade = await confirm({
72
70
  default: true,
73
- message: chalk.yellow(`${message}Do you want to upgrade local versions?`)
71
+ message: styleText('yellow', `${message}Do you want to upgrade local versions?`)
74
72
  });
75
73
  if (shouldUpgrade) {
76
74
  await upgradePackages({
77
75
  packageManager: (await getPackageManagerChoice(workDir, {
78
76
  interactive: false
79
77
  })).chosen,
80
- packages: result.map((res)=>[
78
+ packages: result.mismatched.map((res)=>[
81
79
  res.pkg,
82
80
  res.remote
83
81
  ])
@@ -88,10 +86,13 @@ export async function startStudioDevServer(options) {
88
86
  }
89
87
  } else {
90
88
  // In this case we warn the user but we don't ask them if they want to upgrade because it's not interactive.
91
- output.log(chalk.yellow(message));
89
+ output.log(styleText('yellow', message));
92
90
  }
93
91
  }
94
92
  }
93
+ if (cliConfig?.schemaExtraction?.enabled) {
94
+ output.log(`${logSymbols.info} Running dev server with schema extraction enabled`);
95
+ }
95
96
  const config = getDevServerConfig({
96
97
  cliConfig,
97
98
  flags,
@@ -125,18 +126,21 @@ export async function startStudioDevServer(options) {
125
126
  spin.succeed();
126
127
  output.log(`Dev server started on port ${port}`);
127
128
  output.log(`View your studio in the Sanity dashboard here:`);
128
- output.log(chalk.blue(chalk.underline(getCoreAppURL({
129
+ output.log(styleText([
130
+ 'blue',
131
+ 'underline'
132
+ ], await getDashboardAppURL({
129
133
  httpHost,
130
134
  httpPort: port,
131
135
  organizationId: organizationId
132
- }))));
136
+ })));
133
137
  } else {
134
138
  const startupDuration = Date.now() - startTime;
135
139
  const url = `http://${httpHost || 'localhost'}:${port}${config.basePath}`;
136
140
  const appType = 'Sanity Studio';
137
- const viteVersion = await readModuleVersion(import.meta.url, 'vite');
141
+ const viteVersion = await getLocalPackageVersion('vite', import.meta.url);
138
142
  spin.succeed();
139
- loggerInfo(`${appType} ` + `using ${chalk.cyan(`vite@${viteVersion}`)} ` + `ready in ${chalk.cyan(`${Math.ceil(startupDuration)}ms`)} ` + `and running at ${chalk.cyan(url)}`);
143
+ loggerInfo(`${appType} ` + `using ${styleText('cyan', `vite@${viteVersion}`)} ` + `ready in ${styleText('cyan', `${Math.ceil(startupDuration)}ms`)} ` + `and running at ${styleText('cyan', url)}`);
140
144
  }
141
145
  return {
142
146
  close