@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
@@ -1,8 +1,10 @@
1
1
  import { rm } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { getTimer } from '@sanity/cli-core';
4
- import { chalk, confirm, logSymbols, select, spinner } from '@sanity/cli-core/ux';
3
+ import { styleText } from 'node:util';
4
+ import { getCliTelemetry, getTimer, isInteractive } from '@sanity/cli-core';
5
+ import { confirm, logSymbols, select, spinner } from '@sanity/cli-core/ux';
5
6
  import semver from 'semver';
7
+ import { StudioBuildTrace } from '../../telemetry/build.telemetry.js';
6
8
  import { getAppId } from '../../util/appId.js';
7
9
  import { compareDependencyVersions } from '../../util/compareDependencyVersions.js';
8
10
  import { formatModuleSizes, sortModulesBySize } from '../../util/moduleFormatUtils.js';
@@ -17,6 +19,7 @@ import { checkStudioDependencyVersions } from './checkStudioDependencyVersions.j
17
19
  import { determineBasePath } from './determineBasePath.js';
18
20
  import { getAutoUpdatesImportMap } from './getAutoUpdatesImportMap.js';
19
21
  import { getStudioEnvVars } from './getStudioEnvVars.js';
22
+ import { handlePrereleaseVersions } from './handlePrereleaseVersions.js';
20
23
  import { shouldAutoUpdate } from './shouldAutoUpdate.js';
21
24
  /**
22
25
  * Build the Sanity Studio.
@@ -24,7 +27,7 @@ import { shouldAutoUpdate } from './shouldAutoUpdate.js';
24
27
  * @internal
25
28
  */ export async function buildStudio(options) {
26
29
  const timer = getTimer();
27
- const { cliConfig, exit, flags, outDir, output, workDir } = options;
30
+ const { cliConfig, flags, outDir, output, workDir } = options;
28
31
  const unattendedMode = Boolean(flags.yes);
29
32
  const defaultOutputDir = path.resolve(path.join(workDir, 'dist'));
30
33
  const outputDir = path.resolve(outDir || defaultOutputDir);
@@ -36,7 +39,7 @@ import { shouldAutoUpdate } from './shouldAutoUpdate.js';
36
39
  output,
37
40
  workDir
38
41
  });
39
- const autoUpdatesEnabled = shouldAutoUpdate({
42
+ let autoUpdatesEnabled = shouldAutoUpdate({
40
43
  cliConfig,
41
44
  flags,
42
45
  output
@@ -51,8 +54,10 @@ import { shouldAutoUpdate } from './shouldAutoUpdate.js';
51
54
  output.log(`${logSymbols.info} Building with auto-updates enabled`);
52
55
  const projectId = cliConfig?.api?.projectId;
53
56
  const appId = getAppId(cliConfig);
54
- // Warn if auto updates enabled but no appId configured
55
- if (!appId) {
57
+ // Warn if auto updates enabled but no appId configured.
58
+ // Skip when called from deploy, since deploy handles appId itself
59
+ // (prompts the user and tells them to add it to config).
60
+ if (!appId && !options.calledFromDeploy) {
56
61
  warnAboutMissingAppId({
57
62
  appType: 'studio',
58
63
  output,
@@ -73,46 +78,70 @@ import { shouldAutoUpdate } from './shouldAutoUpdate.js';
73
78
  appId
74
79
  });
75
80
  // Check the versions
76
- const result = await compareDependencyVersions(sanityDependencies, workDir);
77
- // If it is in unattended mode, we don't want to prompt
78
- if (result?.length && !unattendedMode) {
79
- const choice = await select({
80
- choices: [
81
- {
82
- name: `Upgrade and proceed with build`,
83
- value: 'upgrade-and-proceed'
84
- },
85
- {
86
- name: `Upgrade only. You will need to run the build command again`,
87
- value: 'upgrade'
88
- },
89
- {
90
- name: 'Cancel',
91
- value: 'cancel'
92
- }
93
- ],
94
- default: 'upgrade-and-proceed',
95
- message: chalk.yellow(`The following local package versions are different from the versions currently served at runtime.\n` + `When using auto updates, we recommend that you test locally with the same versions before deploying. \n\n` + `${result.map((mod)=>` - ${mod.pkg} (local version: ${mod.installed}, runtime version: ${mod.remote})`).join('\n')} \n\n` + `Do you want to upgrade local versions before deploying?`)
81
+ const { mismatched, unresolvedPrerelease } = await compareDependencyVersions(sanityDependencies, workDir, {
82
+ appId
83
+ });
84
+ if (unresolvedPrerelease.length > 0) {
85
+ await handlePrereleaseVersions({
86
+ output,
87
+ unattendedMode,
88
+ unresolvedPrerelease
96
89
  });
97
- if (choice === 'cancel') {
98
- return exit(1);
99
- }
100
- if (choice === 'upgrade' || choice === 'upgrade-and-proceed') {
101
- await upgradePackages({
102
- packageManager: (await getPackageManagerChoice(workDir, {
103
- interactive: false
104
- })).chosen,
105
- packages: result.map((res)=>[
106
- res.pkg,
107
- res.remote
108
- ])
109
- }, {
110
- output,
111
- workDir
90
+ autoUpdatesImports = {};
91
+ autoUpdatesEnabled = false;
92
+ }
93
+ if (mismatched.length > 0 && autoUpdatesEnabled) {
94
+ const versionMismatchWarning = `The following local package versions are different from the versions currently served at runtime.\n` + `When using auto updates, we recommend that you test locally with the same versions before deploying. \n\n` + `${mismatched.map((mod)=>` - ${mod.pkg} (local version: ${mod.installed}, runtime version: ${mod.remote})`).join('\n')}`;
95
+ // If it is non-interactive or in unattended mode, we don't want to prompt
96
+ if (isInteractive() && !unattendedMode) {
97
+ const choice = await select({
98
+ choices: [
99
+ {
100
+ name: `Upgrade local versions (recommended). You will need to run the build command again`,
101
+ value: 'upgrade'
102
+ },
103
+ {
104
+ name: `Upgrade and proceed with build`,
105
+ value: 'upgrade-and-proceed'
106
+ },
107
+ {
108
+ name: `Continue anyway`,
109
+ value: 'continue'
110
+ },
111
+ {
112
+ name: 'Cancel',
113
+ value: 'cancel'
114
+ }
115
+ ],
116
+ default: 'upgrade',
117
+ message: styleText('yellow', `${logSymbols.warning} ${versionMismatchWarning}\n\nDo you want to upgrade local versions before deploying?`)
112
118
  });
113
- if (choice !== 'upgrade-and-proceed') {
114
- return exit(1);
119
+ if (choice === 'cancel') {
120
+ output.error('Declined to continue with build', {
121
+ exit: 1
122
+ });
123
+ return;
124
+ }
125
+ if (choice === 'upgrade' || choice === 'upgrade-and-proceed') {
126
+ await upgradePackages({
127
+ packageManager: (await getPackageManagerChoice(workDir, {
128
+ interactive: false
129
+ })).chosen,
130
+ packages: mismatched.map((res)=>[
131
+ res.pkg,
132
+ res.remote
133
+ ])
134
+ }, {
135
+ output,
136
+ workDir
137
+ });
138
+ if (choice === 'upgrade') {
139
+ return;
140
+ }
115
141
  }
142
+ } else {
143
+ // if non-interactive or unattended, just show the warning
144
+ output.warn(versionMismatchWarning);
116
145
  }
117
146
  }
118
147
  }
@@ -125,14 +154,14 @@ import { shouldAutoUpdate } from './shouldAutoUpdate.js';
125
154
  output.log('');
126
155
  }
127
156
  let shouldClean = true;
128
- if (outputDir !== defaultOutputDir && !unattendedMode) {
157
+ if (outputDir !== defaultOutputDir && !unattendedMode && isInteractive()) {
129
158
  shouldClean = await confirm({
130
159
  default: true,
131
160
  message: `Do you want to delete the existing directory (${outputDir}) first?`
132
161
  });
133
162
  }
134
163
  // Determine base path for built studio
135
- const basePath = determineBasePath(cliConfig, 'studio');
164
+ const basePath = determineBasePath(cliConfig, 'studio', output);
136
165
  let spin;
137
166
  if (shouldClean) {
138
167
  timer.start('cleanOutputFolder');
@@ -146,9 +175,8 @@ import { shouldAutoUpdate } from './shouldAutoUpdate.js';
146
175
  spin.succeed();
147
176
  }
148
177
  spin = spinner(`Build Sanity Studio`).start();
149
- // TODO: Add telemetry
150
- // const trace = telemetry.trace(BuildTrace)
151
- // trace.start()
178
+ const trace = getCliTelemetry().trace(StudioBuildTrace);
179
+ trace.start();
152
180
  let importMap;
153
181
  if (autoUpdatesEnabled) {
154
182
  importMap = {
@@ -156,6 +184,7 @@ import { shouldAutoUpdate } from './shouldAutoUpdate.js';
156
184
  ...await buildVendorDependencies({
157
185
  basePath,
158
186
  cwd: workDir,
187
+ isApp: false,
159
188
  outputDir
160
189
  }),
161
190
  ...autoUpdatesImports
@@ -174,21 +203,20 @@ import { shouldAutoUpdate } from './shouldAutoUpdate.js';
174
203
  sourceMap: Boolean(flags['source-maps']),
175
204
  vite: cliConfig && 'vite' in cliConfig ? cliConfig.vite : undefined
176
205
  });
177
- // trace.log({
178
- // outputSize: bundle.chunks
179
- // .flatMap((chunk) => chunk.modules.flatMap((mod) => mod.renderedLength))
180
- // .reduce((sum, n) => sum + n, 0),
181
- // })
206
+ trace.log({
207
+ outputSize: bundle.chunks.flatMap((chunk)=>chunk.modules.flatMap((mod)=>mod.renderedLength)).reduce((sum, n)=>sum + n, 0)
208
+ });
182
209
  const buildDuration = timer.end('bundleStudio');
183
210
  spin.text = `Build Sanity Studio (${buildDuration.toFixed(0)}ms)`;
184
211
  spin.succeed();
185
- // trace.complete()
212
+ trace.complete();
186
213
  if (flags.stats) {
187
214
  output.log('\nLargest module files:');
188
215
  output.log(formatModuleSizes(sortModulesBySize(bundle.chunks).slice(0, 15)));
189
216
  }
190
217
  } catch (error) {
191
218
  spin.fail();
219
+ trace.error(error);
192
220
  const message = error instanceof Error ? error.message : String(error);
193
221
  buildDebug(`Failed to build Sanity Studio`, {
194
222
  error
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/build/buildStudio.ts"],"sourcesContent":["import {rm} from 'node:fs/promises'\nimport path from 'node:path'\n\nimport {getTimer} from '@sanity/cli-core'\nimport {\n chalk,\n confirm,\n logSymbols,\n select,\n spinner,\n type SpinnerInstance,\n} from '@sanity/cli-core/ux'\nimport semver from 'semver'\n\nimport {getAppId} from '../../util/appId.js'\nimport {compareDependencyVersions} from '../../util/compareDependencyVersions.js'\nimport {formatModuleSizes, sortModulesBySize} from '../../util/moduleFormatUtils.js'\nimport {getPackageManagerChoice} from '../../util/packageManager/packageManagerChoice.js'\nimport {upgradePackages} from '../../util/packageManager/upgradePackages.js'\nimport {warnAboutMissingAppId} from '../../util/warnAboutMissingAppId.js'\nimport {buildDebug} from './buildDebug.js'\nimport {buildStaticFiles} from './buildStaticFiles.js'\nimport {buildVendorDependencies} from './buildVendorDependencies.js'\nimport {checkRequiredDependencies} from './checkRequiredDependencies.js'\nimport {checkStudioDependencyVersions} from './checkStudioDependencyVersions.js'\nimport {determineBasePath} from './determineBasePath.js'\nimport {getAutoUpdatesImportMap} from './getAutoUpdatesImportMap.js'\nimport {getStudioEnvVars} from './getStudioEnvVars.js'\nimport {shouldAutoUpdate} from './shouldAutoUpdate.js'\nimport {type BuildOptions} from './types.js'\n\n/**\n * Build the Sanity Studio.\n *\n * @internal\n */\nexport async function buildStudio(options: BuildOptions): Promise<void> {\n const timer = getTimer()\n const {cliConfig, exit, flags, outDir, output, workDir} = options\n\n const unattendedMode = Boolean(flags.yes)\n const defaultOutputDir = path.resolve(path.join(workDir, 'dist'))\n const outputDir = path.resolve(outDir || defaultOutputDir)\n\n await checkStudioDependencyVersions(workDir, output)\n\n // If the check resulted in a dependency install, the CLI command will be re-run,\n // thus we want to exit early\n const {installedSanityVersion} = await checkRequiredDependencies({\n cliConfig,\n output,\n workDir,\n })\n\n const autoUpdatesEnabled = shouldAutoUpdate({cliConfig, flags, output})\n\n let autoUpdatesImports = {}\n\n if (autoUpdatesEnabled) {\n // Get the clean version without build metadata: https://semver.org/#spec-item-10\n const cleanSanityVersion = semver.parse(installedSanityVersion)?.version\n if (!cleanSanityVersion) {\n throw new Error(`Failed to parse installed Sanity version: ${installedSanityVersion}`)\n }\n\n output.log(`${logSymbols.info} Building with auto-updates enabled`)\n\n const projectId = cliConfig?.api?.projectId\n const appId = getAppId(cliConfig)\n\n // Warn if auto updates enabled but no appId configured\n if (!appId) {\n warnAboutMissingAppId({appType: 'studio', output, projectId})\n }\n\n const sanityDependencies = [\n {name: 'sanity', version: cleanSanityVersion},\n {name: '@sanity/vision', version: cleanSanityVersion},\n ]\n autoUpdatesImports = getAutoUpdatesImportMap(sanityDependencies, {appId})\n\n // Check the versions\n const result = await compareDependencyVersions(sanityDependencies, workDir)\n\n // If it is in unattended mode, we don't want to prompt\n if (result?.length && !unattendedMode) {\n const choice = await select({\n choices: [\n {\n name: `Upgrade and proceed with build`,\n value: 'upgrade-and-proceed',\n },\n {\n name: `Upgrade only. You will need to run the build command again`,\n value: 'upgrade',\n },\n {name: 'Cancel', value: 'cancel'},\n ],\n default: 'upgrade-and-proceed',\n message: chalk.yellow(\n `The following local package versions are different from the versions currently served at runtime.\\n` +\n `When using auto updates, we recommend that you test locally with the same versions before deploying. \\n\\n` +\n `${result.map((mod) => ` - ${mod.pkg} (local version: ${mod.installed}, runtime version: ${mod.remote})`).join('\\n')} \\n\\n` +\n `Do you want to upgrade local versions before deploying?`,\n ),\n })\n\n if (choice === 'cancel') {\n return exit(1)\n }\n\n if (choice === 'upgrade' || choice === 'upgrade-and-proceed') {\n await upgradePackages(\n {\n packageManager: (await getPackageManagerChoice(workDir, {interactive: false})).chosen,\n packages: result.map((res) => [res.pkg, res.remote]),\n },\n {output, workDir},\n )\n\n if (choice !== 'upgrade-and-proceed') {\n return exit(1)\n }\n }\n }\n }\n\n const envVarKeys = getStudioEnvVars()\n if (envVarKeys.length > 0) {\n output.log('\\nIncluding the following environment variables as part of the JavaScript bundle:')\n for (const key of envVarKeys) {\n output.log(`- ${key}`)\n }\n output.log('')\n }\n\n let shouldClean = true\n if (outputDir !== defaultOutputDir && !unattendedMode) {\n shouldClean = await confirm({\n default: true,\n message: `Do you want to delete the existing directory (${outputDir}) first?`,\n })\n }\n\n // Determine base path for built studio\n const basePath = determineBasePath(cliConfig, 'studio')\n\n let spin: SpinnerInstance\n if (shouldClean) {\n timer.start('cleanOutputFolder')\n spin = spinner('Clean output folder').start()\n await rm(outputDir, {force: true, recursive: true})\n const cleanDuration = timer.end('cleanOutputFolder')\n spin.text = `Clean output folder (${cleanDuration.toFixed(0)}ms)`\n spin.succeed()\n }\n\n spin = spinner(`Build Sanity Studio`).start()\n\n // TODO: Add telemetry\n // const trace = telemetry.trace(BuildTrace)\n // trace.start()\n\n let importMap\n\n if (autoUpdatesEnabled) {\n importMap = {\n imports: {\n ...(await buildVendorDependencies({basePath, cwd: workDir, outputDir})),\n ...autoUpdatesImports,\n },\n }\n }\n\n try {\n timer.start('bundleStudio')\n\n const bundle = await buildStaticFiles({\n basePath,\n cwd: workDir,\n importMap,\n minify: Boolean(flags.minify),\n outputDir,\n reactCompiler:\n cliConfig && 'reactCompiler' in cliConfig ? cliConfig.reactCompiler : undefined,\n sourceMap: Boolean(flags['source-maps']),\n vite: cliConfig && 'vite' in cliConfig ? cliConfig.vite : undefined,\n })\n\n // trace.log({\n // outputSize: bundle.chunks\n // .flatMap((chunk) => chunk.modules.flatMap((mod) => mod.renderedLength))\n // .reduce((sum, n) => sum + n, 0),\n // })\n const buildDuration = timer.end('bundleStudio')\n\n spin.text = `Build Sanity Studio (${buildDuration.toFixed(0)}ms)`\n spin.succeed()\n\n // trace.complete()\n if (flags.stats) {\n output.log('\\nLargest module files:')\n output.log(formatModuleSizes(sortModulesBySize(bundle.chunks).slice(0, 15)))\n }\n } catch (error) {\n spin.fail()\n const message = error instanceof Error ? error.message : String(error)\n buildDebug(`Failed to build Sanity Studio`, {error})\n output.error(`Failed to build Sanity Studio: ${message}`, {exit: 1})\n }\n}\n"],"names":["rm","path","getTimer","chalk","confirm","logSymbols","select","spinner","semver","getAppId","compareDependencyVersions","formatModuleSizes","sortModulesBySize","getPackageManagerChoice","upgradePackages","warnAboutMissingAppId","buildDebug","buildStaticFiles","buildVendorDependencies","checkRequiredDependencies","checkStudioDependencyVersions","determineBasePath","getAutoUpdatesImportMap","getStudioEnvVars","shouldAutoUpdate","buildStudio","options","timer","cliConfig","exit","flags","outDir","output","workDir","unattendedMode","Boolean","yes","defaultOutputDir","resolve","join","outputDir","installedSanityVersion","autoUpdatesEnabled","autoUpdatesImports","cleanSanityVersion","parse","version","Error","log","info","projectId","api","appId","appType","sanityDependencies","name","result","length","choice","choices","value","default","message","yellow","map","mod","pkg","installed","remote","packageManager","interactive","chosen","packages","res","envVarKeys","key","shouldClean","basePath","spin","start","force","recursive","cleanDuration","end","text","toFixed","succeed","importMap","imports","cwd","bundle","minify","reactCompiler","undefined","sourceMap","vite","buildDuration","stats","chunks","slice","error","fail","String"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/actions/build/buildStudio.ts"],"sourcesContent":["import {rm} from 'node:fs/promises'\nimport path from 'node:path'\nimport {styleText} from 'node:util'\n\nimport {getCliTelemetry, getTimer, isInteractive} from '@sanity/cli-core'\nimport {confirm, logSymbols, select, spinner, type SpinnerInstance} from '@sanity/cli-core/ux'\nimport semver from 'semver'\n\nimport {StudioBuildTrace} from '../../telemetry/build.telemetry.js'\nimport {getAppId} from '../../util/appId.js'\nimport {compareDependencyVersions} from '../../util/compareDependencyVersions.js'\nimport {formatModuleSizes, sortModulesBySize} from '../../util/moduleFormatUtils.js'\nimport {getPackageManagerChoice} from '../../util/packageManager/packageManagerChoice.js'\nimport {upgradePackages} from '../../util/packageManager/upgradePackages.js'\nimport {warnAboutMissingAppId} from '../../util/warnAboutMissingAppId.js'\nimport {buildDebug} from './buildDebug.js'\nimport {buildStaticFiles} from './buildStaticFiles.js'\nimport {buildVendorDependencies} from './buildVendorDependencies.js'\nimport {checkRequiredDependencies} from './checkRequiredDependencies.js'\nimport {checkStudioDependencyVersions} from './checkStudioDependencyVersions.js'\nimport {determineBasePath} from './determineBasePath.js'\nimport {getAutoUpdatesImportMap} from './getAutoUpdatesImportMap.js'\nimport {getStudioEnvVars} from './getStudioEnvVars.js'\nimport {handlePrereleaseVersions} from './handlePrereleaseVersions.js'\nimport {shouldAutoUpdate} from './shouldAutoUpdate.js'\nimport {type BuildOptions} from './types.js'\n\n/**\n * Build the Sanity Studio.\n *\n * @internal\n */\nexport async function buildStudio(options: BuildOptions): Promise<void> {\n const timer = getTimer()\n const {cliConfig, flags, outDir, output, workDir} = options\n\n const unattendedMode = Boolean(flags.yes)\n const defaultOutputDir = path.resolve(path.join(workDir, 'dist'))\n const outputDir = path.resolve(outDir || defaultOutputDir)\n\n await checkStudioDependencyVersions(workDir, output)\n\n // If the check resulted in a dependency install, the CLI command will be re-run,\n // thus we want to exit early\n const {installedSanityVersion} = await checkRequiredDependencies({\n cliConfig,\n output,\n workDir,\n })\n\n let autoUpdatesEnabled = shouldAutoUpdate({cliConfig, flags, output})\n\n let autoUpdatesImports = {}\n\n if (autoUpdatesEnabled) {\n // Get the clean version without build metadata: https://semver.org/#spec-item-10\n const cleanSanityVersion = semver.parse(installedSanityVersion)?.version\n if (!cleanSanityVersion) {\n throw new Error(`Failed to parse installed Sanity version: ${installedSanityVersion}`)\n }\n\n output.log(`${logSymbols.info} Building with auto-updates enabled`)\n\n const projectId = cliConfig?.api?.projectId\n const appId = getAppId(cliConfig)\n\n // Warn if auto updates enabled but no appId configured.\n // Skip when called from deploy, since deploy handles appId itself\n // (prompts the user and tells them to add it to config).\n if (!appId && !options.calledFromDeploy) {\n warnAboutMissingAppId({appType: 'studio', output, projectId})\n }\n\n const sanityDependencies = [\n {name: 'sanity', version: cleanSanityVersion},\n {name: '@sanity/vision', version: cleanSanityVersion},\n ]\n autoUpdatesImports = getAutoUpdatesImportMap(sanityDependencies, {appId})\n\n // Check the versions\n const {mismatched, unresolvedPrerelease} = await compareDependencyVersions(\n sanityDependencies,\n workDir,\n {appId},\n )\n\n if (unresolvedPrerelease.length > 0) {\n await handlePrereleaseVersions({output, unattendedMode, unresolvedPrerelease})\n autoUpdatesImports = {}\n autoUpdatesEnabled = false\n }\n\n if (mismatched.length > 0 && autoUpdatesEnabled) {\n const versionMismatchWarning =\n `The following local package versions are different from the versions currently served at runtime.\\n` +\n `When using auto updates, we recommend that you test locally with the same versions before deploying. \\n\\n` +\n `${mismatched.map((mod) => ` - ${mod.pkg} (local version: ${mod.installed}, runtime version: ${mod.remote})`).join('\\n')}`\n\n // If it is non-interactive or in unattended mode, we don't want to prompt\n if (isInteractive() && !unattendedMode) {\n const choice = await select({\n choices: [\n {\n name: `Upgrade local versions (recommended). You will need to run the build command again`,\n value: 'upgrade',\n },\n {\n name: `Upgrade and proceed with build`,\n value: 'upgrade-and-proceed',\n },\n {\n name: `Continue anyway`,\n value: 'continue',\n },\n {name: 'Cancel', value: 'cancel'},\n ],\n default: 'upgrade',\n message: styleText(\n 'yellow',\n `${logSymbols.warning} ${versionMismatchWarning}\\n\\nDo you want to upgrade local versions before deploying?`,\n ),\n })\n\n if (choice === 'cancel') {\n output.error('Declined to continue with build', {exit: 1})\n return\n }\n\n if (choice === 'upgrade' || choice === 'upgrade-and-proceed') {\n await upgradePackages(\n {\n packageManager: (await getPackageManagerChoice(workDir, {interactive: false})).chosen,\n packages: mismatched.map((res) => [res.pkg, res.remote]),\n },\n {output, workDir},\n )\n\n if (choice === 'upgrade') {\n return\n }\n }\n } else {\n // if non-interactive or unattended, just show the warning\n output.warn(versionMismatchWarning)\n }\n }\n }\n\n const envVarKeys = getStudioEnvVars()\n if (envVarKeys.length > 0) {\n output.log('\\nIncluding the following environment variables as part of the JavaScript bundle:')\n for (const key of envVarKeys) {\n output.log(`- ${key}`)\n }\n output.log('')\n }\n\n let shouldClean = true\n if (outputDir !== defaultOutputDir && !unattendedMode && isInteractive()) {\n shouldClean = await confirm({\n default: true,\n message: `Do you want to delete the existing directory (${outputDir}) first?`,\n })\n }\n\n // Determine base path for built studio\n const basePath = determineBasePath(cliConfig, 'studio', output)\n\n let spin: SpinnerInstance\n if (shouldClean) {\n timer.start('cleanOutputFolder')\n spin = spinner('Clean output folder').start()\n await rm(outputDir, {force: true, recursive: true})\n const cleanDuration = timer.end('cleanOutputFolder')\n spin.text = `Clean output folder (${cleanDuration.toFixed(0)}ms)`\n spin.succeed()\n }\n\n spin = spinner(`Build Sanity Studio`).start()\n\n const trace = getCliTelemetry().trace(StudioBuildTrace)\n trace.start()\n\n let importMap\n\n if (autoUpdatesEnabled) {\n importMap = {\n imports: {\n ...(await buildVendorDependencies({basePath, cwd: workDir, isApp: false, outputDir})),\n ...autoUpdatesImports,\n },\n }\n }\n\n try {\n timer.start('bundleStudio')\n\n const bundle = await buildStaticFiles({\n basePath,\n cwd: workDir,\n importMap,\n minify: Boolean(flags.minify),\n outputDir,\n reactCompiler:\n cliConfig && 'reactCompiler' in cliConfig ? cliConfig.reactCompiler : undefined,\n sourceMap: Boolean(flags['source-maps']),\n vite: cliConfig && 'vite' in cliConfig ? cliConfig.vite : undefined,\n })\n\n trace.log({\n outputSize: bundle.chunks\n .flatMap((chunk) => chunk.modules.flatMap((mod) => mod.renderedLength))\n .reduce((sum, n) => sum + n, 0),\n })\n const buildDuration = timer.end('bundleStudio')\n\n spin.text = `Build Sanity Studio (${buildDuration.toFixed(0)}ms)`\n spin.succeed()\n\n trace.complete()\n if (flags.stats) {\n output.log('\\nLargest module files:')\n output.log(formatModuleSizes(sortModulesBySize(bundle.chunks).slice(0, 15)))\n }\n } catch (error) {\n spin.fail()\n trace.error(error)\n const message = error instanceof Error ? error.message : String(error)\n buildDebug(`Failed to build Sanity Studio`, {error})\n output.error(`Failed to build Sanity Studio: ${message}`, {exit: 1})\n }\n}\n"],"names":["rm","path","styleText","getCliTelemetry","getTimer","isInteractive","confirm","logSymbols","select","spinner","semver","StudioBuildTrace","getAppId","compareDependencyVersions","formatModuleSizes","sortModulesBySize","getPackageManagerChoice","upgradePackages","warnAboutMissingAppId","buildDebug","buildStaticFiles","buildVendorDependencies","checkRequiredDependencies","checkStudioDependencyVersions","determineBasePath","getAutoUpdatesImportMap","getStudioEnvVars","handlePrereleaseVersions","shouldAutoUpdate","buildStudio","options","timer","cliConfig","flags","outDir","output","workDir","unattendedMode","Boolean","yes","defaultOutputDir","resolve","join","outputDir","installedSanityVersion","autoUpdatesEnabled","autoUpdatesImports","cleanSanityVersion","parse","version","Error","log","info","projectId","api","appId","calledFromDeploy","appType","sanityDependencies","name","mismatched","unresolvedPrerelease","length","versionMismatchWarning","map","mod","pkg","installed","remote","choice","choices","value","default","message","warning","error","exit","packageManager","interactive","chosen","packages","res","warn","envVarKeys","key","shouldClean","basePath","spin","start","force","recursive","cleanDuration","end","text","toFixed","succeed","trace","importMap","imports","cwd","isApp","bundle","minify","reactCompiler","undefined","sourceMap","vite","outputSize","chunks","flatMap","chunk","modules","renderedLength","reduce","sum","n","buildDuration","complete","stats","slice","fail","String"],"mappings":"AAAA,SAAQA,EAAE,QAAO,mBAAkB;AACnC,OAAOC,UAAU,YAAW;AAC5B,SAAQC,SAAS,QAAO,YAAW;AAEnC,SAAQC,eAAe,EAAEC,QAAQ,EAAEC,aAAa,QAAO,mBAAkB;AACzE,SAAQC,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,QAA6B,sBAAqB;AAC9F,OAAOC,YAAY,SAAQ;AAE3B,SAAQC,gBAAgB,QAAO,qCAAoC;AACnE,SAAQC,QAAQ,QAAO,sBAAqB;AAC5C,SAAQC,yBAAyB,QAAO,0CAAyC;AACjF,SAAQC,iBAAiB,EAAEC,iBAAiB,QAAO,kCAAiC;AACpF,SAAQC,uBAAuB,QAAO,oDAAmD;AACzF,SAAQC,eAAe,QAAO,+CAA8C;AAC5E,SAAQC,qBAAqB,QAAO,sCAAqC;AACzE,SAAQC,UAAU,QAAO,kBAAiB;AAC1C,SAAQC,gBAAgB,QAAO,wBAAuB;AACtD,SAAQC,uBAAuB,QAAO,+BAA8B;AACpE,SAAQC,yBAAyB,QAAO,iCAAgC;AACxE,SAAQC,6BAA6B,QAAO,qCAAoC;AAChF,SAAQC,iBAAiB,QAAO,yBAAwB;AACxD,SAAQC,uBAAuB,QAAO,+BAA8B;AACpE,SAAQC,gBAAgB,QAAO,wBAAuB;AACtD,SAAQC,wBAAwB,QAAO,gCAA+B;AACtE,SAAQC,gBAAgB,QAAO,wBAAuB;AAGtD;;;;CAIC,GACD,OAAO,eAAeC,YAAYC,OAAqB;IACrD,MAAMC,QAAQ3B;IACd,MAAM,EAAC4B,SAAS,EAAEC,KAAK,EAAEC,MAAM,EAAEC,MAAM,EAAEC,OAAO,EAAC,GAAGN;IAEpD,MAAMO,iBAAiBC,QAAQL,MAAMM,GAAG;IACxC,MAAMC,mBAAmBvC,KAAKwC,OAAO,CAACxC,KAAKyC,IAAI,CAACN,SAAS;IACzD,MAAMO,YAAY1C,KAAKwC,OAAO,CAACP,UAAUM;IAEzC,MAAMjB,8BAA8Ba,SAASD;IAE7C,iFAAiF;IACjF,6BAA6B;IAC7B,MAAM,EAACS,sBAAsB,EAAC,GAAG,MAAMtB,0BAA0B;QAC/DU;QACAG;QACAC;IACF;IAEA,IAAIS,qBAAqBjB,iBAAiB;QAACI;QAAWC;QAAOE;IAAM;IAEnE,IAAIW,qBAAqB,CAAC;IAE1B,IAAID,oBAAoB;QACtB,iFAAiF;QACjF,MAAME,qBAAqBrC,OAAOsC,KAAK,CAACJ,yBAAyBK;QACjE,IAAI,CAACF,oBAAoB;YACvB,MAAM,IAAIG,MAAM,CAAC,0CAA0C,EAAEN,wBAAwB;QACvF;QAEAT,OAAOgB,GAAG,CAAC,GAAG5C,WAAW6C,IAAI,CAAC,mCAAmC,CAAC;QAElE,MAAMC,YAAYrB,WAAWsB,KAAKD;QAClC,MAAME,QAAQ3C,SAASoB;QAEvB,wDAAwD;QACxD,kEAAkE;QAClE,yDAAyD;QACzD,IAAI,CAACuB,SAAS,CAACzB,QAAQ0B,gBAAgB,EAAE;YACvCtC,sBAAsB;gBAACuC,SAAS;gBAAUtB;gBAAQkB;YAAS;QAC7D;QAEA,MAAMK,qBAAqB;YACzB;gBAACC,MAAM;gBAAUV,SAASF;YAAkB;YAC5C;gBAACY,MAAM;gBAAkBV,SAASF;YAAkB;SACrD;QACDD,qBAAqBrB,wBAAwBiC,oBAAoB;YAACH;QAAK;QAEvE,qBAAqB;QACrB,MAAM,EAACK,UAAU,EAAEC,oBAAoB,EAAC,GAAG,MAAMhD,0BAC/C6C,oBACAtB,SACA;YAACmB;QAAK;QAGR,IAAIM,qBAAqBC,MAAM,GAAG,GAAG;YACnC,MAAMnC,yBAAyB;gBAACQ;gBAAQE;gBAAgBwB;YAAoB;YAC5Ef,qBAAqB,CAAC;YACtBD,qBAAqB;QACvB;QAEA,IAAIe,WAAWE,MAAM,GAAG,KAAKjB,oBAAoB;YAC/C,MAAMkB,yBACJ,CAAC,mGAAmG,CAAC,GACrG,CAAC,yGAAyG,CAAC,GAC3G,GAAGH,WAAWI,GAAG,CAAC,CAACC,MAAQ,CAAC,GAAG,EAAEA,IAAIC,GAAG,CAAC,iBAAiB,EAAED,IAAIE,SAAS,CAAC,mBAAmB,EAAEF,IAAIG,MAAM,CAAC,CAAC,CAAC,EAAE1B,IAAI,CAAC,OAAO;YAE5H,0EAA0E;YAC1E,IAAIrC,mBAAmB,CAACgC,gBAAgB;gBACtC,MAAMgC,SAAS,MAAM7D,OAAO;oBAC1B8D,SAAS;wBACP;4BACEX,MAAM,CAAC,kFAAkF,CAAC;4BAC1FY,OAAO;wBACT;wBACA;4BACEZ,MAAM,CAAC,8BAA8B,CAAC;4BACtCY,OAAO;wBACT;wBACA;4BACEZ,MAAM,CAAC,eAAe,CAAC;4BACvBY,OAAO;wBACT;wBACA;4BAACZ,MAAM;4BAAUY,OAAO;wBAAQ;qBACjC;oBACDC,SAAS;oBACTC,SAASvE,UACP,UACA,GAAGK,WAAWmE,OAAO,CAAC,CAAC,EAAEX,uBAAuB,2DAA2D,CAAC;gBAEhH;gBAEA,IAAIM,WAAW,UAAU;oBACvBlC,OAAOwC,KAAK,CAAC,mCAAmC;wBAACC,MAAM;oBAAC;oBACxD;gBACF;gBAEA,IAAIP,WAAW,aAAaA,WAAW,uBAAuB;oBAC5D,MAAMpD,gBACJ;wBACE4D,gBAAgB,AAAC,CAAA,MAAM7D,wBAAwBoB,SAAS;4BAAC0C,aAAa;wBAAK,EAAC,EAAGC,MAAM;wBACrFC,UAAUpB,WAAWI,GAAG,CAAC,CAACiB,MAAQ;gCAACA,IAAIf,GAAG;gCAAEe,IAAIb,MAAM;6BAAC;oBACzD,GACA;wBAACjC;wBAAQC;oBAAO;oBAGlB,IAAIiC,WAAW,WAAW;wBACxB;oBACF;gBACF;YACF,OAAO;gBACL,0DAA0D;gBAC1DlC,OAAO+C,IAAI,CAACnB;YACd;QACF;IACF;IAEA,MAAMoB,aAAazD;IACnB,IAAIyD,WAAWrB,MAAM,GAAG,GAAG;QACzB3B,OAAOgB,GAAG,CAAC;QACX,KAAK,MAAMiC,OAAOD,WAAY;YAC5BhD,OAAOgB,GAAG,CAAC,CAAC,EAAE,EAAEiC,KAAK;QACvB;QACAjD,OAAOgB,GAAG,CAAC;IACb;IAEA,IAAIkC,cAAc;IAClB,IAAI1C,cAAcH,oBAAoB,CAACH,kBAAkBhC,iBAAiB;QACxEgF,cAAc,MAAM/E,QAAQ;YAC1BkE,SAAS;YACTC,SAAS,CAAC,8CAA8C,EAAE9B,UAAU,QAAQ,CAAC;QAC/E;IACF;IAEA,uCAAuC;IACvC,MAAM2C,WAAW9D,kBAAkBQ,WAAW,UAAUG;IAExD,IAAIoD;IACJ,IAAIF,aAAa;QACftD,MAAMyD,KAAK,CAAC;QACZD,OAAO9E,QAAQ,uBAAuB+E,KAAK;QAC3C,MAAMxF,GAAG2C,WAAW;YAAC8C,OAAO;YAAMC,WAAW;QAAI;QACjD,MAAMC,gBAAgB5D,MAAM6D,GAAG,CAAC;QAChCL,KAAKM,IAAI,GAAG,CAAC,qBAAqB,EAAEF,cAAcG,OAAO,CAAC,GAAG,GAAG,CAAC;QACjEP,KAAKQ,OAAO;IACd;IAEAR,OAAO9E,QAAQ,CAAC,mBAAmB,CAAC,EAAE+E,KAAK;IAE3C,MAAMQ,QAAQ7F,kBAAkB6F,KAAK,CAACrF;IACtCqF,MAAMR,KAAK;IAEX,IAAIS;IAEJ,IAAIpD,oBAAoB;QACtBoD,YAAY;YACVC,SAAS;gBACP,GAAI,MAAM7E,wBAAwB;oBAACiE;oBAAUa,KAAK/D;oBAASgE,OAAO;oBAAOzD;gBAAS,EAAE;gBACpF,GAAGG,kBAAkB;YACvB;QACF;IACF;IAEA,IAAI;QACFf,MAAMyD,KAAK,CAAC;QAEZ,MAAMa,SAAS,MAAMjF,iBAAiB;YACpCkE;YACAa,KAAK/D;YACL6D;YACAK,QAAQhE,QAAQL,MAAMqE,MAAM;YAC5B3D;YACA4D,eACEvE,aAAa,mBAAmBA,YAAYA,UAAUuE,aAAa,GAAGC;YACxEC,WAAWnE,QAAQL,KAAK,CAAC,cAAc;YACvCyE,MAAM1E,aAAa,UAAUA,YAAYA,UAAU0E,IAAI,GAAGF;QAC5D;QAEAR,MAAM7C,GAAG,CAAC;YACRwD,YAAYN,OAAOO,MAAM,CACtBC,OAAO,CAAC,CAACC,QAAUA,MAAMC,OAAO,CAACF,OAAO,CAAC,CAAC5C,MAAQA,IAAI+C,cAAc,GACpEC,MAAM,CAAC,CAACC,KAAKC,IAAMD,MAAMC,GAAG;QACjC;QACA,MAAMC,gBAAgBrF,MAAM6D,GAAG,CAAC;QAEhCL,KAAKM,IAAI,GAAG,CAAC,qBAAqB,EAAEuB,cAActB,OAAO,CAAC,GAAG,GAAG,CAAC;QACjEP,KAAKQ,OAAO;QAEZC,MAAMqB,QAAQ;QACd,IAAIpF,MAAMqF,KAAK,EAAE;YACfnF,OAAOgB,GAAG,CAAC;YACXhB,OAAOgB,GAAG,CAACrC,kBAAkBC,kBAAkBsF,OAAOO,MAAM,EAAEW,KAAK,CAAC,GAAG;QACzE;IACF,EAAE,OAAO5C,OAAO;QACdY,KAAKiC,IAAI;QACTxB,MAAMrB,KAAK,CAACA;QACZ,MAAMF,UAAUE,iBAAiBzB,QAAQyB,MAAMF,OAAO,GAAGgD,OAAO9C;QAChExD,WAAW,CAAC,6BAA6B,CAAC,EAAE;YAACwD;QAAK;QAClDxC,OAAOwC,KAAK,CAAC,CAAC,+BAA+B,EAAEF,SAAS,EAAE;YAACG,MAAM;QAAC;IACpE;AACF"}
@@ -1,21 +1,14 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import resolveFrom from 'resolve-from';
1
+ import path, { resolve } from 'node:path';
4
2
  import semver from 'semver';
5
3
  import { build } from 'vite';
4
+ import { getLocalPackageVersion } from '../../util/getLocalPackageVersion.js';
6
5
  import { createExternalFromImportMap } from './createExternalFromImportMap.js';
7
6
  // Directory where vendor packages will be stored
8
7
  const VENDOR_DIR = 'vendor';
9
8
  // Define the vendor packages and their corresponding versions and entry points
10
9
  const VENDOR_IMPORTS = {
11
10
  react: {
12
- '^18.0.0': {
13
- '.': './cjs/react.production.min.js',
14
- './jsx-dev-runtime': './cjs/react-jsx-dev-runtime.production.min.js',
15
- './jsx-runtime': './cjs/react-jsx-runtime.production.min.js',
16
- './package.json': './package.json'
17
- },
18
- '^19.0.0': {
11
+ '^19.2.0': {
19
12
  '.': './cjs/react.production.js',
20
13
  './compiler-runtime': './cjs/react-compiler-runtime.production.js',
21
14
  './jsx-dev-runtime': './cjs/react-jsx-dev-runtime.production.js',
@@ -24,14 +17,7 @@ const VENDOR_IMPORTS = {
24
17
  }
25
18
  },
26
19
  'react-dom': {
27
- '^18.0.0': {
28
- '.': './cjs/react-dom.production.min.js',
29
- './client': './cjs/react-dom.production.min.js',
30
- './package.json': './package.json',
31
- './server': './cjs/react-dom-server-legacy.browser.production.min.js',
32
- './server.browser': './cjs/react-dom-server-legacy.browser.production.min.js'
33
- },
34
- '^19.0.0': {
20
+ '^19.2.0': {
35
21
  '.': './cjs/react-dom.production.js',
36
22
  './client': './cjs/react-dom-client.production.js',
37
23
  './package.json': './package.json',
@@ -40,10 +26,12 @@ const VENDOR_IMPORTS = {
40
26
  './static': './cjs/react-dom-server.browser.production.js',
41
27
  './static.browser': './cjs/react-dom-server.browser.production.js'
42
28
  }
43
- },
29
+ }
30
+ };
31
+ const STYLED_COMPONENTS_IMPORTS = {
44
32
  'styled-components': {
45
33
  '^6.1.0': {
46
- '.': './dist/styled-components.esm.js',
34
+ '.': './dist/styled-components.browser.esm.js',
47
35
  './package.json': './package.json'
48
36
  }
49
37
  }
@@ -51,36 +39,19 @@ const VENDOR_IMPORTS = {
51
39
  /**
52
40
  * Builds the ESM browser compatible versions of the vendor packages
53
41
  * specified in VENDOR_IMPORTS. Returns the `imports` object of an import map.
54
- */ export async function buildVendorDependencies({ basePath, cwd, outputDir }) {
55
- // normalize the CWD to a relative dir for better error messages
56
- const dir = path.relative(process.cwd(), path.resolve(cwd));
42
+ */ export async function buildVendorDependencies({ basePath, cwd, isApp, outputDir }) {
57
43
  const entry = {};
58
44
  const imports = {};
45
+ // If we're building an app, we don't need to build the styled-components package
46
+ const vendorImports = isApp ? VENDOR_IMPORTS : {
47
+ ...VENDOR_IMPORTS,
48
+ ...STYLED_COMPONENTS_IMPORTS
49
+ };
59
50
  // Iterate over each package and its version ranges in VENDOR_IMPORTS
60
- for (const [packageName, ranges] of Object.entries(VENDOR_IMPORTS)){
61
- const packageJsonPath = resolveFrom.silent(cwd, path.join(packageName, 'package.json'));
62
- if (!packageJsonPath) {
63
- throw new Error(`Could not find package.json for package '${packageName}' from directory '${dir}'. Is it installed?`);
64
- }
65
- let packageJson;
66
- try {
67
- // Read and parse the package.json file
68
- packageJson = JSON.parse(await fs.promises.readFile(packageJsonPath, 'utf8'));
69
- } catch (e) {
70
- const message = `Could not read package.json for package '${packageName}' from directory '${dir}'`;
71
- if (typeof e?.message === 'string') {
72
- // Re-assign the error message so the stack trace is more visible
73
- e.message = `${message}: ${e.message}`;
74
- throw e;
75
- }
76
- throw new Error(message, {
77
- cause: e
78
- });
79
- }
80
- // Coerce the version to a semver-compatible version
81
- const version = semver.coerce(packageJson.version)?.version;
51
+ for (const [packageName, ranges] of Object.entries(vendorImports)){
52
+ const version = await getLocalPackageVersion(packageName, cwd);
82
53
  if (!version) {
83
- throw new Error(`Could not parse version '${packageJson.version}' from '${packageName}'`);
54
+ throw new Error(`Could not get version for '${packageName}'`);
84
55
  }
85
56
  // Sort version ranges in descending order
86
57
  const sortedRanges = Object.keys(ranges).toSorted((range1, range2)=>{
@@ -106,14 +77,9 @@ const VENDOR_IMPORTS = {
106
77
  const subpaths = ranges[matchedRange];
107
78
  // Iterate over each subpath and its corresponding entry point
108
79
  for (const [subpath, relativeEntryPoint] of Object.entries(subpaths)){
109
- const packagePath = path.dirname(packageJsonPath);
110
- const entryPoint = resolveFrom.silent(packagePath, relativeEntryPoint);
111
- if (!entryPoint) {
112
- throw new Error(`Failed to resolve entry point '${path.join(packageName, relativeEntryPoint)}'. `);
113
- }
114
80
  const specifier = path.posix.join(packageName, subpath);
115
81
  const chunkName = path.posix.join(packageName, path.relative(packageName, specifier) || 'index');
116
- entry[chunkName] = entryPoint;
82
+ entry[chunkName] = resolve(`node_modules/${packageName}/${relativeEntryPoint}`);
117
83
  imports[specifier] = path.posix.join('/', basePath, VENDOR_DIR, `${chunkName}.mjs`);
118
84
  }
119
85
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/build/buildVendorDependencies.ts"],"sourcesContent":["import fs from 'node:fs'\nimport path from 'node:path'\n\nimport resolveFrom from 'resolve-from'\nimport semver from 'semver'\nimport {build} from 'vite'\n\nimport {createExternalFromImportMap} from './createExternalFromImportMap.js'\n\n// Directory where vendor packages will be stored\nconst VENDOR_DIR = 'vendor'\n\n/**\n * A type representing the imports of vendor packages, defining specific entry\n * points for various versions and subpaths of the packages.\n *\n * The `VendorImports` object is used to build ESM browser-compatible versions\n * of the specified packages. This approach ensures that the appropriate version\n * and entry points are used for each package, enabling compatibility and proper\n * functionality in the browser environment.\n *\n * ## Rationale\n *\n * The rationale for this structure is to handle different versions of the\n * packages carefully, especially major versions. Major version bumps often\n * introduce breaking changes, so the module scheme for the package needs to be\n * checked when there is a major version update. However, minor and patch\n * versions are generally backward compatible, so they are handled more\n * leniently. By assuming that new minor versions are compatible, we avoid\n * unnecessary warnings and streamline the update process.\n *\n * If a new minor version introduces an additional subpath export within the\n * package of this version range, the corresponding package can add a more\n * specific version range that includes the new subpath. This design allows for\n * flexibility and ease of maintenance, ensuring that the latest features and\n * fixes are incorporated without extensive manual intervention.\n *\n * An additional subpath export within the package of this version range that\n * could cause the build to break if that new export is used, can be treated as\n * a bug fix. It might make more sense to our users that this new subpath isn't\n * supported yet until we address it as a bug fix. This approach helps maintain\n * stability and prevents unexpected issues during the build process.\n *\n * ## Structure\n * The `VendorImports` type is a nested object where:\n * - The keys at the first level represent the package names.\n * - The keys at the second level represent the version ranges (e.g., `^19.0.0`).\n * - The keys at the third level represent the subpaths within the package (e.g., `.` for the main entry point).\n * - The values at the third level are the relative paths to the corresponding entry points within the package.\n *\n * This structure allows for precise specification of the entry points for\n * different versions and subpaths, ensuring that the correct files are used\n * during the build process.\n */\ntype VendorImports = {\n [packageName: string]: {\n [versionRange: string]: {\n [subpath: string]: string\n }\n }\n}\n\n// Define the vendor packages and their corresponding versions and entry points\nconst VENDOR_IMPORTS: VendorImports = {\n react: {\n '^18.0.0': {\n '.': './cjs/react.production.min.js',\n './jsx-dev-runtime': './cjs/react-jsx-dev-runtime.production.min.js',\n './jsx-runtime': './cjs/react-jsx-runtime.production.min.js',\n './package.json': './package.json',\n },\n '^19.0.0': {\n '.': './cjs/react.production.js',\n './compiler-runtime': './cjs/react-compiler-runtime.production.js',\n './jsx-dev-runtime': './cjs/react-jsx-dev-runtime.production.js',\n './jsx-runtime': './cjs/react-jsx-runtime.production.js',\n './package.json': './package.json',\n },\n },\n 'react-dom': {\n '^18.0.0': {\n '.': './cjs/react-dom.production.min.js',\n './client': './cjs/react-dom.production.min.js',\n './package.json': './package.json',\n './server': './cjs/react-dom-server-legacy.browser.production.min.js',\n './server.browser': './cjs/react-dom-server-legacy.browser.production.min.js',\n },\n '^19.0.0': {\n '.': './cjs/react-dom.production.js',\n './client': './cjs/react-dom-client.production.js',\n './package.json': './package.json',\n './server': './cjs/react-dom-server-legacy.browser.production.js',\n './server.browser': './cjs/react-dom-server-legacy.browser.production.js',\n './static': './cjs/react-dom-server.browser.production.js',\n './static.browser': './cjs/react-dom-server.browser.production.js',\n },\n },\n 'styled-components': {\n '^6.1.0': {\n '.': './dist/styled-components.esm.js',\n './package.json': './package.json',\n },\n },\n}\n\ninterface VendorBuildOptions {\n basePath: string\n cwd: string\n outputDir: string\n}\n\n/**\n * Builds the ESM browser compatible versions of the vendor packages\n * specified in VENDOR_IMPORTS. Returns the `imports` object of an import map.\n */\nexport async function buildVendorDependencies({\n basePath,\n cwd,\n outputDir,\n}: VendorBuildOptions): Promise<Record<string, string>> {\n // normalize the CWD to a relative dir for better error messages\n const dir = path.relative(process.cwd(), path.resolve(cwd))\n const entry: Record<string, string> = {}\n const imports: Record<string, string> = {}\n\n // Iterate over each package and its version ranges in VENDOR_IMPORTS\n for (const [packageName, ranges] of Object.entries(VENDOR_IMPORTS)) {\n const packageJsonPath = resolveFrom.silent(cwd, path.join(packageName, 'package.json'))\n if (!packageJsonPath) {\n throw new Error(\n `Could not find package.json for package '${packageName}' from directory '${dir}'. Is it installed?`,\n )\n }\n\n let packageJson\n\n try {\n // Read and parse the package.json file\n packageJson = JSON.parse(await fs.promises.readFile(packageJsonPath, 'utf8'))\n } catch (e) {\n const message = `Could not read package.json for package '${packageName}' from directory '${dir}'`\n if (typeof e?.message === 'string') {\n // Re-assign the error message so the stack trace is more visible\n e.message = `${message}: ${e.message}`\n throw e\n }\n\n throw new Error(message, {cause: e})\n }\n\n // Coerce the version to a semver-compatible version\n const version = semver.coerce(packageJson.version)?.version\n if (!version) {\n throw new Error(`Could not parse version '${packageJson.version}' from '${packageName}'`)\n }\n\n // Sort version ranges in descending order\n const sortedRanges = Object.keys(ranges).toSorted((range1, range2) => {\n const min1 = semver.minVersion(range1)\n const min2 = semver.minVersion(range2)\n\n if (!min1) throw new Error(`Could not parse range '${range1}'`)\n if (!min2) throw new Error(`Could not parse range '${range2}'`)\n\n // sort them in reverse so we can rely on array `.find` below\n return semver.rcompare(min1.version, min2.version)\n })\n\n // Find the first version range that satisfies the package version\n const matchedRange = sortedRanges.find((range) => semver.satisfies(version, range))\n\n if (!matchedRange) {\n const min = semver.minVersion(sortedRanges.at(-1)!)\n if (!min) {\n throw new Error(`Could not find a minimum version for package '${packageName}'`)\n }\n\n if (semver.gt(min.version, version)) {\n throw new Error(`Package '${packageName}' requires at least ${min.version}.`)\n }\n\n throw new Error(`Version '${version}' of package '${packageName}' is not supported yet.`)\n }\n\n const subpaths = ranges[matchedRange]\n\n // Iterate over each subpath and its corresponding entry point\n for (const [subpath, relativeEntryPoint] of Object.entries(subpaths)) {\n const packagePath = path.dirname(packageJsonPath)\n const entryPoint = resolveFrom.silent(packagePath, relativeEntryPoint)\n\n if (!entryPoint) {\n throw new Error(\n `Failed to resolve entry point '${path.join(packageName, relativeEntryPoint)}'. `,\n )\n }\n\n const specifier = path.posix.join(packageName, subpath)\n const chunkName = path.posix.join(\n packageName,\n path.relative(packageName, specifier) || 'index',\n )\n\n entry[chunkName] = entryPoint\n imports[specifier] = path.posix.join('/', basePath, VENDOR_DIR, `${chunkName}.mjs`)\n }\n }\n\n // removes the `RollupWatcher` type\n type BuildResult = Exclude<Awaited<ReturnType<typeof build>>, {close: unknown}>\n\n // Use Vite to build the packages into the output directory\n let buildResult = (await build({\n appType: 'custom',\n build: {\n commonjsOptions: {strictRequires: 'auto'},\n emptyOutDir: false, // Rely on CLI to do this\n lib: {entry, formats: ['es']},\n minify: true,\n outDir: path.join(outputDir, VENDOR_DIR),\n rollupOptions: {\n external: createExternalFromImportMap({imports}),\n output: {\n chunkFileNames: '[name]-[hash].mjs',\n entryFileNames: '[name]-[hash].mjs',\n exports: 'named',\n format: 'es',\n },\n treeshake: {preset: 'recommended'},\n },\n },\n // Define a custom cache directory so that sanity's vite cache\n // does not conflict with any potential local vite projects\n cacheDir: 'node_modules/.sanity/vite-vendor',\n configFile: false,\n define: {'process.env.NODE_ENV': JSON.stringify('production')},\n logLevel: 'silent',\n mode: 'production',\n root: cwd,\n })) as BuildResult\n\n buildResult = Array.isArray(buildResult) ? buildResult : [buildResult]\n\n // Create a map of the original import specifiers to their hashed filenames\n const hashedImports: Record<string, string> = {}\n const output = buildResult.flatMap((i) => i.output)\n\n for (const chunk of output) {\n if (chunk.type === 'asset') continue\n\n for (const [specifier, originalPath] of Object.entries(imports)) {\n if (originalPath.endsWith(`${chunk.name}.mjs`)) {\n hashedImports[specifier] = path.posix.join('/', basePath, VENDOR_DIR, chunk.fileName)\n }\n }\n }\n\n return hashedImports\n}\n"],"names":["fs","path","resolveFrom","semver","build","createExternalFromImportMap","VENDOR_DIR","VENDOR_IMPORTS","react","buildVendorDependencies","basePath","cwd","outputDir","dir","relative","process","resolve","entry","imports","packageName","ranges","Object","entries","packageJsonPath","silent","join","Error","packageJson","JSON","parse","promises","readFile","e","message","cause","version","coerce","sortedRanges","keys","toSorted","range1","range2","min1","minVersion","min2","rcompare","matchedRange","find","range","satisfies","min","at","gt","subpaths","subpath","relativeEntryPoint","packagePath","dirname","entryPoint","specifier","posix","chunkName","buildResult","appType","commonjsOptions","strictRequires","emptyOutDir","lib","formats","minify","outDir","rollupOptions","external","output","chunkFileNames","entryFileNames","exports","format","treeshake","preset","cacheDir","configFile","define","stringify","logLevel","mode","root","Array","isArray","hashedImports","flatMap","i","chunk","type","originalPath","endsWith","name","fileName"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/actions/build/buildVendorDependencies.ts"],"sourcesContent":["import path, {resolve} from 'node:path'\n\nimport semver from 'semver'\nimport {build} from 'vite'\n\nimport {getLocalPackageVersion} from '../../util/getLocalPackageVersion.js'\nimport {createExternalFromImportMap} from './createExternalFromImportMap.js'\n\n// Directory where vendor packages will be stored\nconst VENDOR_DIR = 'vendor'\n\n/**\n * A type representing the imports of vendor packages, defining specific entry\n * points for various versions and subpaths of the packages.\n *\n * The `VendorImports` object is used to build ESM browser-compatible versions\n * of the specified packages. This approach ensures that the appropriate version\n * and entry points are used for each package, enabling compatibility and proper\n * functionality in the browser environment.\n *\n * ## Rationale\n *\n * The rationale for this structure is to handle different versions of the\n * packages carefully, especially major versions. Major version bumps often\n * introduce breaking changes, so the module scheme for the package needs to be\n * checked when there is a major version update. However, minor and patch\n * versions are generally backward compatible, so they are handled more\n * leniently. By assuming that new minor versions are compatible, we avoid\n * unnecessary warnings and streamline the update process.\n *\n * If a new minor version introduces an additional subpath export within the\n * package of this version range, the corresponding package can add a more\n * specific version range that includes the new subpath. This design allows for\n * flexibility and ease of maintenance, ensuring that the latest features and\n * fixes are incorporated without extensive manual intervention.\n *\n * An additional subpath export within the package of this version range that\n * could cause the build to break if that new export is used, can be treated as\n * a bug fix. It might make more sense to our users that this new subpath isn't\n * supported yet until we address it as a bug fix. This approach helps maintain\n * stability and prevents unexpected issues during the build process.\n *\n * ## Structure\n * The `VendorImports` type is a nested object where:\n * - The keys at the first level represent the package names.\n * - The keys at the second level represent the version ranges (e.g., `^19.0.0`).\n * - The keys at the third level represent the subpaths within the package (e.g., `.` for the main entry point).\n * - The values at the third level are the relative paths to the corresponding entry points within the package.\n *\n * This structure allows for precise specification of the entry points for\n * different versions and subpaths, ensuring that the correct files are used\n * during the build process.\n */\ntype VendorImports = {\n [packageName: string]: {\n [versionRange: string]: {\n [subpath: string]: string\n }\n }\n}\n\n// Define the vendor packages and their corresponding versions and entry points\nconst VENDOR_IMPORTS: VendorImports = {\n react: {\n '^19.2.0': {\n '.': './cjs/react.production.js',\n './compiler-runtime': './cjs/react-compiler-runtime.production.js',\n './jsx-dev-runtime': './cjs/react-jsx-dev-runtime.production.js',\n './jsx-runtime': './cjs/react-jsx-runtime.production.js',\n './package.json': './package.json',\n },\n },\n 'react-dom': {\n '^19.2.0': {\n '.': './cjs/react-dom.production.js',\n './client': './cjs/react-dom-client.production.js',\n './package.json': './package.json',\n './server': './cjs/react-dom-server-legacy.browser.production.js',\n './server.browser': './cjs/react-dom-server-legacy.browser.production.js',\n './static': './cjs/react-dom-server.browser.production.js',\n './static.browser': './cjs/react-dom-server.browser.production.js',\n },\n },\n}\n\nconst STYLED_COMPONENTS_IMPORTS = {\n 'styled-components': {\n '^6.1.0': {\n '.': './dist/styled-components.browser.esm.js',\n './package.json': './package.json',\n },\n },\n}\n\ninterface VendorBuildOptions {\n basePath: string\n cwd: string\n isApp: boolean\n outputDir: string\n}\n\n/**\n * Builds the ESM browser compatible versions of the vendor packages\n * specified in VENDOR_IMPORTS. Returns the `imports` object of an import map.\n */\nexport async function buildVendorDependencies({\n basePath,\n cwd,\n isApp,\n outputDir,\n}: VendorBuildOptions): Promise<Record<string, string>> {\n const entry: Record<string, string> = {}\n const imports: Record<string, string> = {}\n\n // If we're building an app, we don't need to build the styled-components package\n const vendorImports = isApp ? VENDOR_IMPORTS : {...VENDOR_IMPORTS, ...STYLED_COMPONENTS_IMPORTS}\n\n // Iterate over each package and its version ranges in VENDOR_IMPORTS\n for (const [packageName, ranges] of Object.entries(vendorImports)) {\n const version = await getLocalPackageVersion(packageName, cwd)\n if (!version) {\n throw new Error(`Could not get version for '${packageName}'`)\n }\n\n // Sort version ranges in descending order\n const sortedRanges = Object.keys(ranges).toSorted((range1, range2) => {\n const min1 = semver.minVersion(range1)\n const min2 = semver.minVersion(range2)\n\n if (!min1) throw new Error(`Could not parse range '${range1}'`)\n if (!min2) throw new Error(`Could not parse range '${range2}'`)\n\n // sort them in reverse so we can rely on array `.find` below\n return semver.rcompare(min1.version, min2.version)\n })\n\n // Find the first version range that satisfies the package version\n const matchedRange = sortedRanges.find((range) => semver.satisfies(version, range))\n\n if (!matchedRange) {\n const min = semver.minVersion(sortedRanges.at(-1)!)\n if (!min) {\n throw new Error(`Could not find a minimum version for package '${packageName}'`)\n }\n\n if (semver.gt(min.version, version)) {\n throw new Error(`Package '${packageName}' requires at least ${min.version}.`)\n }\n\n throw new Error(`Version '${version}' of package '${packageName}' is not supported yet.`)\n }\n\n const subpaths = ranges[matchedRange]\n\n // Iterate over each subpath and its corresponding entry point\n for (const [subpath, relativeEntryPoint] of Object.entries(subpaths)) {\n const specifier = path.posix.join(packageName, subpath)\n const chunkName = path.posix.join(\n packageName,\n path.relative(packageName, specifier) || 'index',\n )\n\n entry[chunkName] = resolve(`node_modules/${packageName}/${relativeEntryPoint}`)\n imports[specifier] = path.posix.join('/', basePath, VENDOR_DIR, `${chunkName}.mjs`)\n }\n }\n\n // removes the `RollupWatcher` type\n type BuildResult = Exclude<Awaited<ReturnType<typeof build>>, {close: unknown}>\n\n // Use Vite to build the packages into the output directory\n let buildResult = (await build({\n appType: 'custom',\n build: {\n commonjsOptions: {strictRequires: 'auto'},\n emptyOutDir: false, // Rely on CLI to do this\n lib: {entry, formats: ['es']},\n minify: true,\n outDir: path.join(outputDir, VENDOR_DIR),\n rollupOptions: {\n external: createExternalFromImportMap({imports}),\n output: {\n chunkFileNames: '[name]-[hash].mjs',\n entryFileNames: '[name]-[hash].mjs',\n exports: 'named',\n format: 'es',\n },\n treeshake: {preset: 'recommended'},\n },\n },\n // Define a custom cache directory so that sanity's vite cache\n // does not conflict with any potential local vite projects\n cacheDir: 'node_modules/.sanity/vite-vendor',\n configFile: false,\n define: {'process.env.NODE_ENV': JSON.stringify('production')},\n logLevel: 'silent',\n mode: 'production',\n root: cwd,\n })) as BuildResult\n\n buildResult = Array.isArray(buildResult) ? buildResult : [buildResult]\n\n // Create a map of the original import specifiers to their hashed filenames\n const hashedImports: Record<string, string> = {}\n const output = buildResult.flatMap((i) => i.output)\n\n for (const chunk of output) {\n if (chunk.type === 'asset') continue\n\n for (const [specifier, originalPath] of Object.entries(imports)) {\n if (originalPath.endsWith(`${chunk.name}.mjs`)) {\n hashedImports[specifier] = path.posix.join('/', basePath, VENDOR_DIR, chunk.fileName)\n }\n }\n }\n\n return hashedImports\n}\n"],"names":["path","resolve","semver","build","getLocalPackageVersion","createExternalFromImportMap","VENDOR_DIR","VENDOR_IMPORTS","react","STYLED_COMPONENTS_IMPORTS","buildVendorDependencies","basePath","cwd","isApp","outputDir","entry","imports","vendorImports","packageName","ranges","Object","entries","version","Error","sortedRanges","keys","toSorted","range1","range2","min1","minVersion","min2","rcompare","matchedRange","find","range","satisfies","min","at","gt","subpaths","subpath","relativeEntryPoint","specifier","posix","join","chunkName","relative","buildResult","appType","commonjsOptions","strictRequires","emptyOutDir","lib","formats","minify","outDir","rollupOptions","external","output","chunkFileNames","entryFileNames","exports","format","treeshake","preset","cacheDir","configFile","define","JSON","stringify","logLevel","mode","root","Array","isArray","hashedImports","flatMap","i","chunk","type","originalPath","endsWith","name","fileName"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import path from 'node:path';
2
+ import { readPackageJson } from '@sanity/cli-core';
2
3
  import { oneline } from 'oneline';
3
4
  import semver from 'semver';
4
5
  import { determineIsApp } from '../../util/determineIsApp.js';
5
- import { readModuleVersion } from '../../util/readModuleVersion.js';
6
- import { readPackageManifest } from '../../util/readPackageManifest.js';
6
+ import { getLocalPackageVersion } from '../../util/getLocalPackageVersion.js';
7
7
  const defaultStudioManifestProps = {
8
8
  name: 'studio',
9
9
  version: '1.0.0'
@@ -30,9 +30,12 @@ const styledComponentsVersionRange = '^6.1.15';
30
30
  };
31
31
  }
32
32
  const [studioPackageManifest, installedStyledComponentsVersion, installedSanityVersion] = await Promise.all([
33
- readPackageManifest(path.join(studioPath, 'package.json'), defaultStudioManifestProps),
34
- readModuleVersion(studioPath, 'styled-components'),
35
- readModuleVersion(studioPath, 'sanity')
33
+ readPackageJson(path.join(studioPath, 'package.json'), {
34
+ defaults: defaultStudioManifestProps,
35
+ skipSchemaValidation: true
36
+ }),
37
+ getLocalPackageVersion('styled-components', studioPath),
38
+ getLocalPackageVersion('sanity', studioPath)
36
39
  ]);
37
40
  const wantedStyledComponentsVersionRange = styledComponentsVersionRange;
38
41
  // Retrieve the version of the 'sanity' dependency
@@ -47,7 +50,7 @@ const styledComponentsVersionRange = '^6.1.15';
47
50
  // The studio _must_ now declare `styled-components` as a dependency. If it's not there,
48
51
  // we'll want to automatically _add it_ to the manifest and tell the user to reinstall
49
52
  // dependencies before running whatever command was being run
50
- const declaredStyledComponentsVersion = studioPackageManifest.dependencies['styled-components'] || studioPackageManifest.devDependencies['styled-components'];
53
+ const declaredStyledComponentsVersion = studioPackageManifest.dependencies?.['styled-components'] || studioPackageManifest?.devDependencies?.['styled-components'];
51
54
  if (!declaredStyledComponentsVersion) {
52
55
  output.error(oneline`
53
56
  Declared dependency \`styled-components\` is not installed - run
@@ -59,6 +62,8 @@ const styledComponentsVersionRange = '^6.1.15';
59
62
  installedSanityVersion
60
63
  };
61
64
  }
65
+ // We ignore catalog identifiers since we check the actual version anyway
66
+ const isStyledComponentsVersionRangeInCatalog = declaredStyledComponentsVersion.startsWith('catalog:');
62
67
  // Theoretically the version specified in package.json could be incorrect, eg `foo`
63
68
  let minDeclaredStyledComponentsVersion = null;
64
69
  try {
@@ -66,7 +71,7 @@ const styledComponentsVersionRange = '^6.1.15';
66
71
  } catch {
67
72
  // Intentional fall-through (variable will be left as null, throwing below)
68
73
  }
69
- if (!minDeclaredStyledComponentsVersion) {
74
+ if (!minDeclaredStyledComponentsVersion && !isStyledComponentsVersionRangeInCatalog) {
70
75
  output.error(oneline`
71
76
  Declared dependency \`styled-components\` has an invalid version range:
72
77
  \`${declaredStyledComponentsVersion}\`.
@@ -83,7 +88,7 @@ const styledComponentsVersionRange = '^6.1.15';
83
88
  // Exception: Ranges are hard to compare. `>=5.0.0 && <=5.3.2 || ^6`... Comparing this
84
89
  // to anything is going to be challenging, so only compare "simple" ranges/versions
85
90
  // (^x.x.x / ~x.x.x / x.x.x)
86
- if (isComparableRange(declaredStyledComponentsVersion) && !semver.satisfies(minDeclaredStyledComponentsVersion, wantedStyledComponentsVersionRange)) {
91
+ if (!isStyledComponentsVersionRangeInCatalog && isComparableRange(declaredStyledComponentsVersion) && !semver.satisfies(minDeclaredStyledComponentsVersion, wantedStyledComponentsVersionRange)) {
87
92
  output.warn(oneline`
88
93
  Declared version of styled-components (${declaredStyledComponentsVersion})
89
94
  is not compatible with the version required by sanity (${wantedStyledComponentsVersionRange}).
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/build/checkRequiredDependencies.ts"],"sourcesContent":["import path from 'node:path'\n\nimport {type CliConfig, type Output} from '@sanity/cli-core'\nimport {oneline} from 'oneline'\nimport semver, {type SemVer} from 'semver'\n\nimport {determineIsApp} from '../../util/determineIsApp.js'\nimport {readModuleVersion} from '../../util/readModuleVersion.js'\nimport {type PartialPackageManifest, readPackageManifest} from '../../util/readPackageManifest.js'\n\nconst defaultStudioManifestProps: PartialPackageManifest = {\n name: 'studio',\n version: '1.0.0',\n}\n\ninterface CheckResult {\n installedSanityVersion: string\n}\n\ninterface CheckRequiredDependenciesOptions {\n cliConfig: CliConfig\n output: Output\n workDir: string\n}\n\nconst styledComponentsVersionRange = '^6.1.15'\n\n/**\n * Checks that the studio has declared and installed the required dependencies\n * needed by the Sanity modules. While we generally use regular, explicit\n * dependencies in modules, there are certain dependencies that are better\n * served being peer dependencies, such as react and styled-components.\n *\n * If these dependencies are not installed/declared, we report an error\n * and instruct the user to install them manually.\n *\n * Additionally, returns the version of the 'sanity' dependency from the package.json.\n */\nexport async function checkRequiredDependencies(\n options: CheckRequiredDependenciesOptions,\n): Promise<CheckResult> {\n const {cliConfig, output, workDir: studioPath} = options\n // currently there's no check needed for core apps,\n // but this should be removed once they are more mature\n const isApp = determineIsApp(cliConfig)\n if (isApp) {\n return {installedSanityVersion: ''}\n }\n\n const [studioPackageManifest, installedStyledComponentsVersion, installedSanityVersion] =\n await Promise.all([\n readPackageManifest(path.join(studioPath, 'package.json'), defaultStudioManifestProps),\n readModuleVersion(studioPath, 'styled-components'),\n readModuleVersion(studioPath, 'sanity'),\n ])\n\n const wantedStyledComponentsVersionRange = styledComponentsVersionRange\n\n // Retrieve the version of the 'sanity' dependency\n if (!installedSanityVersion) {\n output.error('Failed to read the installed sanity version.', {exit: 1})\n return {installedSanityVersion: ''}\n }\n\n // The studio _must_ now declare `styled-components` as a dependency. If it's not there,\n // we'll want to automatically _add it_ to the manifest and tell the user to reinstall\n // dependencies before running whatever command was being run\n const declaredStyledComponentsVersion =\n studioPackageManifest.dependencies['styled-components'] ||\n studioPackageManifest.devDependencies['styled-components']\n\n if (!declaredStyledComponentsVersion) {\n output.error(\n oneline`\n Declared dependency \\`styled-components\\` is not installed - run\n \\`npm install\\`, \\`yarn install\\` or \\`pnpm install\\` to install it before re-running this command.\n `,\n {exit: 1},\n )\n return {installedSanityVersion}\n }\n\n // Theoretically the version specified in package.json could be incorrect, eg `foo`\n let minDeclaredStyledComponentsVersion: SemVer | null = null\n try {\n minDeclaredStyledComponentsVersion = semver.minVersion(declaredStyledComponentsVersion)\n } catch {\n // Intentional fall-through (variable will be left as null, throwing below)\n }\n\n if (!minDeclaredStyledComponentsVersion) {\n output.error(\n oneline`\n Declared dependency \\`styled-components\\` has an invalid version range:\n \\`${declaredStyledComponentsVersion}\\`.\n `,\n {exit: 1},\n )\n return {installedSanityVersion}\n }\n\n // The declared version should be semver-compatible with the version specified as a\n // peer dependency in `sanity`. If not, we should tell the user to change it.\n //\n // Exception: Ranges are hard to compare. `>=5.0.0 && <=5.3.2 || ^6`... Comparing this\n // to anything is going to be challenging, so only compare \"simple\" ranges/versions\n // (^x.x.x / ~x.x.x / x.x.x)\n if (\n isComparableRange(declaredStyledComponentsVersion) &&\n !semver.satisfies(minDeclaredStyledComponentsVersion, wantedStyledComponentsVersionRange)\n ) {\n output.warn(oneline`\n Declared version of styled-components (${declaredStyledComponentsVersion})\n is not compatible with the version required by sanity (${wantedStyledComponentsVersionRange}).\n This might cause problems!\n `)\n }\n\n // Ensure the studio has _installed_ a version of `styled-components`\n if (!installedStyledComponentsVersion) {\n output.error(\n oneline`\n Declared dependency \\`styled-components\\` is not installed - run\n \\`npm install\\`, \\`yarn install\\` or \\`pnpm install\\` to install it before re-running this command.\n `,\n {exit: 1},\n )\n return {installedSanityVersion}\n }\n\n // The studio should have an _installed_ version of `styled-components`, and it should\n // be semver compatible with the version specified in `sanity` peer dependencies.\n if (!semver.satisfies(installedStyledComponentsVersion, wantedStyledComponentsVersionRange)) {\n output.warn(oneline`\n Installed version of styled-components (${installedStyledComponentsVersion})\n is not compatible with the version required by sanity (${wantedStyledComponentsVersionRange}).\n This might cause problems!\n `)\n }\n\n return {installedSanityVersion}\n}\n\nfunction isComparableRange(range: string): boolean {\n return /^[\\^~]?\\d+(\\.\\d+)?(\\.\\d+)?$/.test(range)\n}\n"],"names":["path","oneline","semver","determineIsApp","readModuleVersion","readPackageManifest","defaultStudioManifestProps","name","version","styledComponentsVersionRange","checkRequiredDependencies","options","cliConfig","output","workDir","studioPath","isApp","installedSanityVersion","studioPackageManifest","installedStyledComponentsVersion","Promise","all","join","wantedStyledComponentsVersionRange","error","exit","declaredStyledComponentsVersion","dependencies","devDependencies","minDeclaredStyledComponentsVersion","minVersion","isComparableRange","satisfies","warn","range","test"],"mappings":"AAAA,OAAOA,UAAU,YAAW;AAG5B,SAAQC,OAAO,QAAO,UAAS;AAC/B,OAAOC,YAA2B,SAAQ;AAE1C,SAAQC,cAAc,QAAO,+BAA8B;AAC3D,SAAQC,iBAAiB,QAAO,kCAAiC;AACjE,SAAqCC,mBAAmB,QAAO,oCAAmC;AAElG,MAAMC,6BAAqD;IACzDC,MAAM;IACNC,SAAS;AACX;AAYA,MAAMC,+BAA+B;AAErC;;;;;;;;;;CAUC,GACD,OAAO,eAAeC,0BACpBC,OAAyC;IAEzC,MAAM,EAACC,SAAS,EAAEC,MAAM,EAAEC,SAASC,UAAU,EAAC,GAAGJ;IACjD,mDAAmD;IACnD,uDAAuD;IACvD,MAAMK,QAAQb,eAAeS;IAC7B,IAAII,OAAO;QACT,OAAO;YAACC,wBAAwB;QAAE;IACpC;IAEA,MAAM,CAACC,uBAAuBC,kCAAkCF,uBAAuB,GACrF,MAAMG,QAAQC,GAAG,CAAC;QAChBhB,oBAAoBL,KAAKsB,IAAI,CAACP,YAAY,iBAAiBT;QAC3DF,kBAAkBW,YAAY;QAC9BX,kBAAkBW,YAAY;KAC/B;IAEH,MAAMQ,qCAAqCd;IAE3C,kDAAkD;IAClD,IAAI,CAACQ,wBAAwB;QAC3BJ,OAAOW,KAAK,CAAC,gDAAgD;YAACC,MAAM;QAAC;QACrE,OAAO;YAACR,wBAAwB;QAAE;IACpC;IAEA,wFAAwF;IACxF,sFAAsF;IACtF,6DAA6D;IAC7D,MAAMS,kCACJR,sBAAsBS,YAAY,CAAC,oBAAoB,IACvDT,sBAAsBU,eAAe,CAAC,oBAAoB;IAE5D,IAAI,CAACF,iCAAiC;QACpCb,OAAOW,KAAK,CACVvB,OAAO,CAAC;;;IAGV,CAAC,EACC;YAACwB,MAAM;QAAC;QAEV,OAAO;YAACR;QAAsB;IAChC;IAEA,mFAAmF;IACnF,IAAIY,qCAAoD;IACxD,IAAI;QACFA,qCAAqC3B,OAAO4B,UAAU,CAACJ;IACzD,EAAE,OAAM;IACN,2EAA2E;IAC7E;IAEA,IAAI,CAACG,oCAAoC;QACvChB,OAAOW,KAAK,CACVvB,OAAO,CAAC;;QAEN,EAAEyB,gCAAgC;IACtC,CAAC,EACC;YAACD,MAAM;QAAC;QAEV,OAAO;YAACR;QAAsB;IAChC;IAEA,mFAAmF;IACnF,6EAA6E;IAC7E,EAAE;IACF,sFAAsF;IACtF,mFAAmF;IACnF,4BAA4B;IAC5B,IACEc,kBAAkBL,oCAClB,CAACxB,OAAO8B,SAAS,CAACH,oCAAoCN,qCACtD;QACAV,OAAOoB,IAAI,CAAChC,OAAO,CAAC;6CACqB,EAAEyB,gCAAgC;6DAClB,EAAEH,mCAAmC;;IAE9F,CAAC;IACH;IAEA,qEAAqE;IACrE,IAAI,CAACJ,kCAAkC;QACrCN,OAAOW,KAAK,CACVvB,OAAO,CAAC;;;IAGV,CAAC,EACC;YAACwB,MAAM;QAAC;QAEV,OAAO;YAACR;QAAsB;IAChC;IAEA,sFAAsF;IACtF,iFAAiF;IACjF,IAAI,CAACf,OAAO8B,SAAS,CAACb,kCAAkCI,qCAAqC;QAC3FV,OAAOoB,IAAI,CAAChC,OAAO,CAAC;8CACsB,EAAEkB,iCAAiC;6DACpB,EAAEI,mCAAmC;;IAE9F,CAAC;IACH;IAEA,OAAO;QAACN;IAAsB;AAChC;AAEA,SAASc,kBAAkBG,KAAa;IACtC,OAAO,8BAA8BC,IAAI,CAACD;AAC5C"}
1
+ {"version":3,"sources":["../../../src/actions/build/checkRequiredDependencies.ts"],"sourcesContent":["import path from 'node:path'\n\nimport {type CliConfig, type Output, type PackageJson, readPackageJson} from '@sanity/cli-core'\nimport {oneline} from 'oneline'\nimport semver, {type SemVer} from 'semver'\n\nimport {determineIsApp} from '../../util/determineIsApp.js'\nimport {getLocalPackageVersion} from '../../util/getLocalPackageVersion.js'\n\nconst defaultStudioManifestProps: Partial<PackageJson> = {\n name: 'studio',\n version: '1.0.0',\n}\n\ninterface CheckResult {\n installedSanityVersion: string\n}\n\ninterface CheckRequiredDependenciesOptions {\n cliConfig: CliConfig\n output: Output\n workDir: string\n}\n\nconst styledComponentsVersionRange = '^6.1.15'\n\n/**\n * Checks that the studio has declared and installed the required dependencies\n * needed by the Sanity modules. While we generally use regular, explicit\n * dependencies in modules, there are certain dependencies that are better\n * served being peer dependencies, such as react and styled-components.\n *\n * If these dependencies are not installed/declared, we report an error\n * and instruct the user to install them manually.\n *\n * Additionally, returns the version of the 'sanity' dependency from the package.json.\n */\nexport async function checkRequiredDependencies(\n options: CheckRequiredDependenciesOptions,\n): Promise<CheckResult> {\n const {cliConfig, output, workDir: studioPath} = options\n // currently there's no check needed for core apps,\n // but this should be removed once they are more mature\n const isApp = determineIsApp(cliConfig)\n if (isApp) {\n return {installedSanityVersion: ''}\n }\n\n const [studioPackageManifest, installedStyledComponentsVersion, installedSanityVersion] =\n await Promise.all([\n readPackageJson(path.join(studioPath, 'package.json'), {\n defaults: defaultStudioManifestProps,\n skipSchemaValidation: true,\n }),\n getLocalPackageVersion('styled-components', studioPath),\n getLocalPackageVersion('sanity', studioPath),\n ])\n\n const wantedStyledComponentsVersionRange = styledComponentsVersionRange\n\n // Retrieve the version of the 'sanity' dependency\n if (!installedSanityVersion) {\n output.error('Failed to read the installed sanity version.', {exit: 1})\n return {installedSanityVersion: ''}\n }\n\n // The studio _must_ now declare `styled-components` as a dependency. If it's not there,\n // we'll want to automatically _add it_ to the manifest and tell the user to reinstall\n // dependencies before running whatever command was being run\n const declaredStyledComponentsVersion =\n studioPackageManifest.dependencies?.['styled-components'] ||\n studioPackageManifest?.devDependencies?.['styled-components']\n\n if (!declaredStyledComponentsVersion) {\n output.error(\n oneline`\n Declared dependency \\`styled-components\\` is not installed - run\n \\`npm install\\`, \\`yarn install\\` or \\`pnpm install\\` to install it before re-running this command.\n `,\n {exit: 1},\n )\n return {installedSanityVersion}\n }\n\n // We ignore catalog identifiers since we check the actual version anyway\n const isStyledComponentsVersionRangeInCatalog =\n declaredStyledComponentsVersion.startsWith('catalog:')\n // Theoretically the version specified in package.json could be incorrect, eg `foo`\n let minDeclaredStyledComponentsVersion: SemVer | null = null\n try {\n minDeclaredStyledComponentsVersion = semver.minVersion(declaredStyledComponentsVersion)\n } catch {\n // Intentional fall-through (variable will be left as null, throwing below)\n }\n\n if (!minDeclaredStyledComponentsVersion && !isStyledComponentsVersionRangeInCatalog) {\n output.error(\n oneline`\n Declared dependency \\`styled-components\\` has an invalid version range:\n \\`${declaredStyledComponentsVersion}\\`.\n `,\n {exit: 1},\n )\n return {installedSanityVersion}\n }\n\n // The declared version should be semver-compatible with the version specified as a\n // peer dependency in `sanity`. If not, we should tell the user to change it.\n //\n // Exception: Ranges are hard to compare. `>=5.0.0 && <=5.3.2 || ^6`... Comparing this\n // to anything is going to be challenging, so only compare \"simple\" ranges/versions\n // (^x.x.x / ~x.x.x / x.x.x)\n if (\n !isStyledComponentsVersionRangeInCatalog &&\n isComparableRange(declaredStyledComponentsVersion) &&\n !semver.satisfies(minDeclaredStyledComponentsVersion!, wantedStyledComponentsVersionRange)\n ) {\n output.warn(oneline`\n Declared version of styled-components (${declaredStyledComponentsVersion})\n is not compatible with the version required by sanity (${wantedStyledComponentsVersionRange}).\n This might cause problems!\n `)\n }\n\n // Ensure the studio has _installed_ a version of `styled-components`\n if (!installedStyledComponentsVersion) {\n output.error(\n oneline`\n Declared dependency \\`styled-components\\` is not installed - run\n \\`npm install\\`, \\`yarn install\\` or \\`pnpm install\\` to install it before re-running this command.\n `,\n {exit: 1},\n )\n return {installedSanityVersion}\n }\n\n // The studio should have an _installed_ version of `styled-components`, and it should\n // be semver compatible with the version specified in `sanity` peer dependencies.\n if (!semver.satisfies(installedStyledComponentsVersion, wantedStyledComponentsVersionRange)) {\n output.warn(oneline`\n Installed version of styled-components (${installedStyledComponentsVersion})\n is not compatible with the version required by sanity (${wantedStyledComponentsVersionRange}).\n This might cause problems!\n `)\n }\n\n return {installedSanityVersion}\n}\n\nfunction isComparableRange(range: string): boolean {\n return /^[\\^~]?\\d+(\\.\\d+)?(\\.\\d+)?$/.test(range)\n}\n"],"names":["path","readPackageJson","oneline","semver","determineIsApp","getLocalPackageVersion","defaultStudioManifestProps","name","version","styledComponentsVersionRange","checkRequiredDependencies","options","cliConfig","output","workDir","studioPath","isApp","installedSanityVersion","studioPackageManifest","installedStyledComponentsVersion","Promise","all","join","defaults","skipSchemaValidation","wantedStyledComponentsVersionRange","error","exit","declaredStyledComponentsVersion","dependencies","devDependencies","isStyledComponentsVersionRangeInCatalog","startsWith","minDeclaredStyledComponentsVersion","minVersion","isComparableRange","satisfies","warn","range","test"],"mappings":"AAAA,OAAOA,UAAU,YAAW;AAE5B,SAAuDC,eAAe,QAAO,mBAAkB;AAC/F,SAAQC,OAAO,QAAO,UAAS;AAC/B,OAAOC,YAA2B,SAAQ;AAE1C,SAAQC,cAAc,QAAO,+BAA8B;AAC3D,SAAQC,sBAAsB,QAAO,uCAAsC;AAE3E,MAAMC,6BAAmD;IACvDC,MAAM;IACNC,SAAS;AACX;AAYA,MAAMC,+BAA+B;AAErC;;;;;;;;;;CAUC,GACD,OAAO,eAAeC,0BACpBC,OAAyC;IAEzC,MAAM,EAACC,SAAS,EAAEC,MAAM,EAAEC,SAASC,UAAU,EAAC,GAAGJ;IACjD,mDAAmD;IACnD,uDAAuD;IACvD,MAAMK,QAAQZ,eAAeQ;IAC7B,IAAII,OAAO;QACT,OAAO;YAACC,wBAAwB;QAAE;IACpC;IAEA,MAAM,CAACC,uBAAuBC,kCAAkCF,uBAAuB,GACrF,MAAMG,QAAQC,GAAG,CAAC;QAChBpB,gBAAgBD,KAAKsB,IAAI,CAACP,YAAY,iBAAiB;YACrDQ,UAAUjB;YACVkB,sBAAsB;QACxB;QACAnB,uBAAuB,qBAAqBU;QAC5CV,uBAAuB,UAAUU;KAClC;IAEH,MAAMU,qCAAqChB;IAE3C,kDAAkD;IAClD,IAAI,CAACQ,wBAAwB;QAC3BJ,OAAOa,KAAK,CAAC,gDAAgD;YAACC,MAAM;QAAC;QACrE,OAAO;YAACV,wBAAwB;QAAE;IACpC;IAEA,wFAAwF;IACxF,sFAAsF;IACtF,6DAA6D;IAC7D,MAAMW,kCACJV,sBAAsBW,YAAY,EAAE,CAAC,oBAAoB,IACzDX,uBAAuBY,iBAAiB,CAAC,oBAAoB;IAE/D,IAAI,CAACF,iCAAiC;QACpCf,OAAOa,KAAK,CACVxB,OAAO,CAAC;;;IAGV,CAAC,EACC;YAACyB,MAAM;QAAC;QAEV,OAAO;YAACV;QAAsB;IAChC;IAEA,yEAAyE;IACzE,MAAMc,0CACJH,gCAAgCI,UAAU,CAAC;IAC7C,mFAAmF;IACnF,IAAIC,qCAAoD;IACxD,IAAI;QACFA,qCAAqC9B,OAAO+B,UAAU,CAACN;IACzD,EAAE,OAAM;IACN,2EAA2E;IAC7E;IAEA,IAAI,CAACK,sCAAsC,CAACF,yCAAyC;QACnFlB,OAAOa,KAAK,CACVxB,OAAO,CAAC;;QAEN,EAAE0B,gCAAgC;IACtC,CAAC,EACC;YAACD,MAAM;QAAC;QAEV,OAAO;YAACV;QAAsB;IAChC;IAEA,mFAAmF;IACnF,6EAA6E;IAC7E,EAAE;IACF,sFAAsF;IACtF,mFAAmF;IACnF,4BAA4B;IAC5B,IACE,CAACc,2CACDI,kBAAkBP,oCAClB,CAACzB,OAAOiC,SAAS,CAACH,oCAAqCR,qCACvD;QACAZ,OAAOwB,IAAI,CAACnC,OAAO,CAAC;6CACqB,EAAE0B,gCAAgC;6DAClB,EAAEH,mCAAmC;;IAE9F,CAAC;IACH;IAEA,qEAAqE;IACrE,IAAI,CAACN,kCAAkC;QACrCN,OAAOa,KAAK,CACVxB,OAAO,CAAC;;;IAGV,CAAC,EACC;YAACyB,MAAM;QAAC;QAEV,OAAO;YAACV;QAAsB;IAChC;IAEA,sFAAsF;IACtF,iFAAiF;IACjF,IAAI,CAACd,OAAOiC,SAAS,CAACjB,kCAAkCM,qCAAqC;QAC3FZ,OAAOwB,IAAI,CAACnC,OAAO,CAAC;8CACsB,EAAEiB,iCAAiC;6DACpB,EAAEM,mCAAmC;;IAE9F,CAAC;IACH;IAEA,OAAO;QAACR;IAAsB;AAChC;AAEA,SAASkB,kBAAkBG,KAAa;IACtC,OAAO,8BAA8BC,IAAI,CAACD;AAC5C"}