@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 +1 @@
1
- {"version":3,"sources":["../../../src/actions/graphql/types.ts"],"sourcesContent":["import {type Schema} from '@sanity/types'\n\nexport interface GraphQLAPIConfig {\n /**\n * Dataset name for this API\n */\n dataset?: string\n\n /**\n * Generation of API to deploy\n *\n * Optional, defaults to `gen3` (which is the only option, currently)\n */\n generation?: 'gen1' | 'gen2' | 'gen3'\n\n /**\n * ID of GraphQL API. Only (currently) required when using the `--api` flag\n * for `sanity graphql deploy`, in order to only deploy a specific API.\n */\n id?: string\n\n /**\n * Whether or not to enable the GraphQL v2021-10-21 query semantics\n */\n nonNullDocumentFields?: boolean\n\n /**\n * Whether or not to enable the GraphQL Playground for this API\n *\n * Optional, defaults to `true` in development mode, `false` otherwise\n */\n playground?: boolean\n\n /**\n * Project ID for this API\n */\n projectId?: string\n\n /**\n * Name of source containing the schema to deploy, within the configured workspace\n *\n * Optional, defaults to `default` (eg the one used if no `name` is defined)\n */\n source?: string\n\n /**\n * API tag for this API - allows deploying multiple different APIs to a single dataset\n *\n * Optional, defaults to `default`\n */\n tag?: string\n\n /**\n * Name of workspace containing the schema to deploy\n *\n * Optional, defaults to `default` (eg the one used if no `name` is defined)\n */\n workspace?: string\n}\nexport interface SchemaDefinitionish {\n name: string\n type: string\n\n fields?: SchemaDefinitionish[]\n}\n\ninterface ResolvedSerializableProperties {\n dataset: string\n projectId: string\n schemaTypes: SchemaDefinitionish[]\n}\n\nexport interface ResolvedSourceProperties {\n dataset: string\n projectId: string\n schema: Schema\n}\n\nexport type TypeResolvedGraphQLAPI = Omit<GraphQLAPIConfig, 'source' | 'workspace'> &\n ResolvedSerializableProperties\n\nexport type ResolvedGraphQLAPI = Omit<GraphQLAPIConfig, 'source' | 'workspace'> &\n ResolvedSourceProperties\n"],"names":[],"mappings":"AAiFA,WAC0B"}
1
+ {"version":3,"sources":["../../../src/actions/graphql/types.ts"],"sourcesContent":["import {type SchemaValidationProblemGroup} from '@sanity/types'\n\nexport interface Deprecation {\n deprecationReason: string\n}\n\nexport interface ApiSpecification {\n interfaces: ConvertedInterface[]\n types: (ConvertedType | ConvertedUnion)[]\n}\n\n/**\n * @public\n */\nexport interface GraphQLAPIConfig {\n /**\n * Suffix to use for generated filter types.\n *\n * Optional, Defaults to `Filter`.\n *\n */\n filterSuffix?: string\n\n /**\n * Generation of API to deploy\n *\n * Optional, defaults to `gen3` (which is the only option, currently)\n */\n generation?: 'gen1' | 'gen2' | 'gen3'\n\n /**\n * ID of GraphQL API. Only (currently) required when using the `--api` flag\n * for `sanity graphql deploy`, in order to only deploy a specific API.\n */\n id?: string\n\n /**\n * Whether or not to enable the GraphQL v2021-10-21 query semantics\n */\n nonNullDocumentFields?: boolean\n\n /**\n * Whether or not to enable the GraphQL Playground for this API\n *\n * Optional, defaults to `true` in development mode, `false` otherwise\n */\n playground?: boolean\n\n /**\n * Name of source containing the schema to deploy, within the configured workspace\n *\n * Optional, defaults to `default` (eg the one used if no `name` is defined)\n */\n source?: string\n\n /**\n * API tag for this API - allows deploying multiple different APIs to a single dataset\n *\n * Optional, defaults to `default`\n */\n tag?: string\n\n /**\n * Name of workspace containing the schema to deploy\n *\n * Optional, defaults to `default` (eg the one used if no `name` is defined)\n */\n workspace?: string\n}\n\nexport interface DeployResponse {\n location: string\n}\n\ninterface ApiChange {\n description: string\n type: string\n}\n\nexport interface ValidationResponse {\n breakingChanges: ApiChange[]\n dangerousChanges: ApiChange[]\n validationError: string\n}\n\nexport interface SchemaDefinitionish {\n name: string\n type: string\n\n fields?: SchemaDefinitionish[]\n}\n\ninterface ResolvedSerializableProperties {\n dataset: string\n projectId: string\n schemaTypes: SchemaDefinitionish[]\n}\n\nexport type TypeResolvedGraphQLAPI = Omit<GraphQLAPIConfig, 'source' | 'workspace'> &\n ResolvedSerializableProperties\n\nexport interface ExtractedGraphQLAPI {\n dataset: string\n projectId: string\n\n extracted?: ApiSpecification\n extractionError?: string\n filterSuffix?: string\n generation?: string\n id?: string\n nonNullDocumentFields?: boolean\n playground?: boolean\n schemaErrors?: SchemaValidationProblemGroup[]\n tag?: string\n}\n\nexport interface GraphQLWorkerResult {\n apis: ExtractedGraphQLAPI[]\n\n configErrors?: SchemaValidationProblemGroup[]\n}\n\ninterface ConvertedNode {\n description: string\n fields: ConvertedFieldDefinition[]\n kind: 'Interface' | 'List' | 'Type' | 'Union'\n name: string\n type: string\n}\n\ntype FieldArg =\n | {isFieldFilter?: boolean; name: string; type: string}\n | {name: string; type: ConvertedNode}\n\nexport interface ConvertedField extends Partial<Deprecation> {\n fieldName: string\n type: string\n\n args?: FieldArg[]\n description?: string\n filter?: string\n isNullable?: boolean\n isRawAlias?: boolean\n isReference?: boolean\n kind?: 'List'\n originalName?: string\n}\n\ninterface ConvertedListField extends ConvertedField {\n children: {\n inlineObjects?: string[]\n type: string\n }\n kind: 'List'\n}\n\nexport interface ApiCustomizationOptions {\n filterSuffix?: string\n}\n\nexport type InputFilterField =\n | ListDefinition\n | {\n constraint: {\n comparator: string\n field?: string\n }\n description?: string\n fieldName: string\n type: string\n }\n\nexport type ConvertedFieldDefinition = ConvertedField | ConvertedListField\n\ninterface ListDefinition {\n children: {isNullable?: boolean; type: string}\n kind: 'List'\n\n isNullable?: boolean\n}\n\nexport interface ConvertedEnum {\n kind: 'Enum'\n name: string\n values: {\n description?: string\n name: string\n value: unknown\n }[]\n}\n\nexport interface ConvertedInterface {\n fields: ConvertedFieldDefinition[]\n kind: 'Interface'\n name: string\n\n description?: string\n}\n\nexport interface ConvertedUnion {\n kind: 'Union'\n name: string\n types: string[]\n\n interfaces?: string[]\n}\n\nexport interface ConvertedDocumentType extends ConvertedType {\n interfaces: ['Document', ...string[]]\n}\n\nexport interface ConvertedType extends Partial<Deprecation> {\n fields: ConvertedFieldDefinition[]\n kind: 'Interface' | 'Type'\n name: string\n type: string\n\n _internal?: Partial<Deprecation>\n crossDatasetReferenceMetadata?: {\n dataset: string\n typeNames: string[]\n }\n description?: string\n interfaces?: string[]\n isReference?: boolean\n originalName?: string\n}\n\nexport interface InputObjectType {\n fields: unknown[] // @todo\n kind: 'InputObject'\n name: string\n\n isConstraintFilter?: boolean\n}\n\nexport interface QueryDefinition extends Partial<Deprecation> {\n args: {\n description?: string\n isFieldFilter?: boolean\n isNullable?: boolean\n name: string\n type: ListDefinition | string\n }[]\n fieldName: string\n\n type: ListDefinition | string\n\n constraints?: {\n comparator: string\n field?: string\n value?: {argName: string; kind: 'argumentValue'}\n }[]\n\n filter?: string\n}\n\nexport interface GeneratedApiSpecification {\n generation: string\n interfaces: ConvertedInterface[]\n queries: QueryDefinition[]\n types: (ConvertedEnum | ConvertedType | ConvertedUnion | InputObjectType)[]\n}\n"],"names":[],"mappings":"AAiQA,WAKC"}
@@ -1,9 +1,9 @@
1
1
  import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
+ import { styleText } from 'node:util';
3
4
  import { subdebug } from '@sanity/cli-core';
4
- import { chalk, spinner } from '@sanity/cli-core/ux';
5
- import { deburr } from 'lodash-es';
6
- import { studioDependencies } from '../../studioDependencies.js';
5
+ import { spinner } from '@sanity/cli-core/ux';
6
+ import deburr from 'lodash-es/deburr.js';
7
7
  import { copy } from '../../util/copy.js';
8
8
  import { resolveLatestVersions } from '../../util/resolveLatestVersions.js';
9
9
  import { createAppCliConfig } from './createAppCliConfig.js';
@@ -11,6 +11,8 @@ import { createCliConfig } from './createCliConfig.js';
11
11
  import { createPackageManifest } from './createPackageManifest.js';
12
12
  import { createStudioConfig } from './createStudioConfig.js';
13
13
  import { determineAppTemplate } from './determineAppTemplate.js';
14
+ import { sdkAppDependencies } from './sdkAppDependencies.js';
15
+ import { studioDependencies } from './studioDependencies.js';
14
16
  import templates from './templates/index.js';
15
17
  import { updateInitialTemplateMetadata } from './updateInitialTemplateMetadata.js';
16
18
  const debug = subdebug('init:bootstrapRemoteTemplate');
@@ -46,8 +48,8 @@ export async function bootstrapLocalTemplate(opts) {
46
48
  // Resolve latest versions of Sanity-dependencies
47
49
  spin = spinner('Resolving latest module versions').start();
48
50
  const dependencyVersions = await resolveLatestVersions({
49
- ...isAppTemplate ? {} : studioDependencies.dependencies,
50
- ...isAppTemplate ? {} : studioDependencies.devDependencies,
51
+ ...isAppTemplate ? sdkAppDependencies.dependencies : studioDependencies.dependencies,
52
+ ...isAppTemplate ? sdkAppDependencies.devDependencies : studioDependencies.devDependencies,
51
53
  ...template.dependencies,
52
54
  ...template.devDependencies
53
55
  });
@@ -55,14 +57,14 @@ export async function bootstrapLocalTemplate(opts) {
55
57
  // Use the resolved version for the given dependency
56
58
  const dependencies = {};
57
59
  for (const dependency of Object.keys({
58
- ...isAppTemplate ? {} : studioDependencies.dependencies,
60
+ ...isAppTemplate ? sdkAppDependencies.dependencies : studioDependencies.dependencies,
59
61
  ...template.dependencies
60
62
  })){
61
63
  dependencies[dependency] = dependencyVersions[dependency];
62
64
  }
63
65
  const devDependencies = {};
64
66
  for (const dependency of Object.keys({
65
- ...isAppTemplate ? {} : studioDependencies.devDependencies,
67
+ ...isAppTemplate ? sdkAppDependencies.devDependencies : studioDependencies.devDependencies,
66
68
  ...template.devDependencies
67
69
  })){
68
70
  devDependencies[dependency] = dependencyVersions[dependency];
@@ -80,7 +82,8 @@ export async function bootstrapLocalTemplate(opts) {
80
82
  devDependencies,
81
83
  isAppTemplate,
82
84
  name: packageJsonName,
83
- scripts: template.scripts
85
+ scripts: template.scripts,
86
+ type: template.type
84
87
  });
85
88
  // ...and a studio config (`sanity.config.[ts|js]`)
86
89
  const studioConfig = createStudioConfig({
@@ -102,7 +105,7 @@ export async function bootstrapLocalTemplate(opts) {
102
105
  isAppTemplate ? Promise.resolve(null) : writeFileIfNotExists(`sanity.config.${codeExt}`, studioConfig),
103
106
  writeFileIfNotExists(`sanity.cli.${codeExt}`, cliConfig),
104
107
  writeFileIfNotExists('package.json', packageManifest),
105
- isAppTemplate ? Promise.resolve(null) : writeFileIfNotExists('eslint.config.mjs', `import studio from '@sanity/eslint-config-studio'\n\nexport default [...studio]\n`)
108
+ writeFileIfNotExists('eslint.config.mjs', `import studio from '@sanity/eslint-config-studio'\n\nexport default [...studio]\n`)
106
109
  ].filter(Boolean));
107
110
  debug('Updating initial template metadata');
108
111
  await updateInitialTemplateMetadata(variables.projectId, `cli-${templateName}`);
@@ -122,7 +125,7 @@ export async function bootstrapLocalTemplate(opts) {
122
125
  });
123
126
  } catch (err) {
124
127
  if (err.code === 'EEXIST') {
125
- output.warn(`\n${chalk.yellow('⚠')} File "${filePath}" already exists, skipping`);
128
+ output.warn(`\n${styleText('yellow', '⚠')} File "${filePath}" already exists, skipping`);
126
129
  } else {
127
130
  throw err;
128
131
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/init/bootstrapLocalTemplate.ts"],"sourcesContent":["import fs from 'node:fs/promises'\nimport path from 'node:path'\n\nimport {Output, subdebug} from '@sanity/cli-core'\nimport {chalk, spinner} from '@sanity/cli-core/ux'\nimport {deburr} from 'lodash-es'\n\nimport {studioDependencies} from '../../studioDependencies.js'\nimport {copy} from '../../util/copy.js'\nimport {resolveLatestVersions} from '../../util/resolveLatestVersions.js'\nimport {createAppCliConfig} from './createAppCliConfig.js'\nimport {createCliConfig} from './createCliConfig.js'\nimport {createPackageManifest} from './createPackageManifest.js'\nimport {createStudioConfig, type GenerateConfigOptions} from './createStudioConfig.js'\nimport {determineAppTemplate} from './determineAppTemplate.js'\nimport templates from './templates/index.js'\nimport {type ProjectTemplate} from './types.js'\nimport {updateInitialTemplateMetadata} from './updateInitialTemplateMetadata.js'\n\nconst debug = subdebug('init:bootstrapRemoteTemplate')\n\nexport interface BootstrapLocalOptions {\n output: Output\n outputPath: string\n packageName: string\n templateName: string\n useTypeScript: boolean\n variables: GenerateConfigOptions['variables']\n\n overwriteFiles?: boolean\n}\n\nexport async function bootstrapLocalTemplate(\n opts: BootstrapLocalOptions,\n): Promise<ProjectTemplate> {\n const {output, outputPath, packageName, templateName, useTypeScript, variables} = opts\n // packages/@sanity/cli/src/actions/init/ -> packages/@sanity/cli/src/action -> packages/@sanity/cli/src/\n const cliRoot = path.resolve(import.meta.dirname, '../../..')\n const templatesDir = path.join(cliRoot, 'templates')\n const sourceDir = path.join(templatesDir, templateName)\n const sharedDir = path.join(templatesDir, 'shared')\n const isAppTemplate = determineAppTemplate(templateName)\n\n // Check that we have a template info file (dependencies, plugins etc)\n const template = templates[templateName]\n if (!template) {\n throw new Error(`Template \"${templateName}\" not defined`)\n }\n\n // Copy template files\n debug('Copying files from template \"%s\" to \"%s\"', templateName, outputPath)\n let spin = spinner('Bootstrapping files from template').start()\n\n debug(`Copying template from : ${sourceDir}`)\n await copy(sourceDir, outputPath, {\n rename: useTypeScript ? toTypeScriptPath : undefined,\n })\n debug(`Copying shared template code from : ${sharedDir}`)\n await copy(path.join(sharedDir, 'gitignore.txt'), outputPath, {rename: () => '.gitignore'})\n\n if (useTypeScript) {\n await fs.copyFile(path.join(sharedDir, 'tsconfig.json'), path.join(outputPath, 'tsconfig.json'))\n }\n\n spin.succeed()\n\n // Merge global and template-specific plugins and dependencies\n\n // Resolve latest versions of Sanity-dependencies\n spin = spinner('Resolving latest module versions').start()\n const dependencyVersions = await resolveLatestVersions({\n ...(isAppTemplate ? {} : studioDependencies.dependencies),\n ...(isAppTemplate ? {} : studioDependencies.devDependencies),\n ...template.dependencies,\n ...template.devDependencies,\n })\n spin.succeed()\n\n // Use the resolved version for the given dependency\n const dependencies: Record<string, string> = {}\n for (const dependency of Object.keys({\n ...(isAppTemplate ? {} : studioDependencies.dependencies),\n ...template.dependencies,\n })) {\n dependencies[dependency] = dependencyVersions[dependency]\n }\n\n const devDependencies: Record<string, string> = {}\n for (const dependency of Object.keys({\n ...(isAppTemplate ? {} : studioDependencies.devDependencies),\n ...template.devDependencies,\n })) {\n devDependencies[dependency] = dependencyVersions[dependency]\n }\n\n let packageJsonName: string = packageName\n\n /**\n * Currently app init doesn't ask for a name, so we use the last part of the path\n */\n if (isAppTemplate) {\n packageJsonName = deburr(path.basename(outputPath).toLowerCase())\n .replaceAll(/\\s+/g, '-')\n .replaceAll(/[^a-z0-9-]/g, '')\n }\n\n // Now create a package manifest (`package.json`) with the merged dependencies\n spin = spinner('Creating default project files').start()\n const packageManifest = createPackageManifest({\n dependencies,\n devDependencies,\n isAppTemplate,\n name: packageJsonName,\n scripts: template.scripts,\n })\n\n // ...and a studio config (`sanity.config.[ts|js]`)\n const studioConfig = createStudioConfig({\n template: template.configTemplate,\n variables,\n })\n\n // ...and a CLI config (`sanity.cli.[ts|js]`)\n const cliConfig = isAppTemplate\n ? createAppCliConfig({\n entry: template.entry!,\n organizationId: variables.organizationId,\n })\n : createCliConfig({\n autoUpdates: variables.autoUpdates,\n dataset: variables.dataset,\n projectId: variables.projectId,\n })\n\n // Write non-template files to disc\n const codeExt = useTypeScript ? 'ts' : 'js'\n await Promise.all(\n [\n isAppTemplate\n ? Promise.resolve(null)\n : writeFileIfNotExists(`sanity.config.${codeExt}`, studioConfig),\n writeFileIfNotExists(`sanity.cli.${codeExt}`, cliConfig),\n writeFileIfNotExists('package.json', packageManifest),\n\n isAppTemplate\n ? Promise.resolve(null)\n : writeFileIfNotExists(\n 'eslint.config.mjs',\n `import studio from '@sanity/eslint-config-studio'\\n\\nexport default [...studio]\\n`,\n ),\n ].filter(Boolean),\n )\n\n debug('Updating initial template metadata')\n await updateInitialTemplateMetadata(variables.projectId, `cli-${templateName}`)\n\n // Finish up by providing init process with template-specific info\n spin.succeed()\n return template\n\n async function writeFileIfNotExists(fileName: string, content: string): Promise<void> {\n const filePath = path.join(outputPath, fileName)\n\n if (opts.overwriteFiles) {\n // If overwrite is enabled, just write the file\n await fs.writeFile(filePath, content)\n return\n }\n\n try {\n await fs.writeFile(filePath, content, {flag: 'wx'})\n } catch (err) {\n if (err.code === 'EEXIST') {\n output.warn(`\\n${chalk.yellow('⚠')} File \"${filePath}\" already exists, skipping`)\n } else {\n throw err\n }\n }\n }\n}\n\nfunction toTypeScriptPath(originalPath: string): string {\n return originalPath.replace(/\\.js$/, '.ts')\n}\n"],"names":["fs","path","subdebug","chalk","spinner","deburr","studioDependencies","copy","resolveLatestVersions","createAppCliConfig","createCliConfig","createPackageManifest","createStudioConfig","determineAppTemplate","templates","updateInitialTemplateMetadata","debug","bootstrapLocalTemplate","opts","output","outputPath","packageName","templateName","useTypeScript","variables","cliRoot","resolve","dirname","templatesDir","join","sourceDir","sharedDir","isAppTemplate","template","Error","spin","start","rename","toTypeScriptPath","undefined","copyFile","succeed","dependencyVersions","dependencies","devDependencies","dependency","Object","keys","packageJsonName","basename","toLowerCase","replaceAll","packageManifest","name","scripts","studioConfig","configTemplate","cliConfig","entry","organizationId","autoUpdates","dataset","projectId","codeExt","Promise","all","writeFileIfNotExists","filter","Boolean","fileName","content","filePath","overwriteFiles","writeFile","flag","err","code","warn","yellow","originalPath","replace"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/actions/init/bootstrapLocalTemplate.ts"],"sourcesContent":["import fs from 'node:fs/promises'\nimport path from 'node:path'\nimport {styleText} from 'node:util'\n\nimport {Output, subdebug} from '@sanity/cli-core'\nimport {spinner} from '@sanity/cli-core/ux'\nimport deburr from 'lodash-es/deburr.js'\n\nimport {copy} from '../../util/copy.js'\nimport {resolveLatestVersions} from '../../util/resolveLatestVersions.js'\nimport {createAppCliConfig} from './createAppCliConfig.js'\nimport {createCliConfig} from './createCliConfig.js'\nimport {createPackageManifest} from './createPackageManifest.js'\nimport {createStudioConfig, type GenerateConfigOptions} from './createStudioConfig.js'\nimport {determineAppTemplate} from './determineAppTemplate.js'\nimport {sdkAppDependencies} from './sdkAppDependencies.js'\nimport {studioDependencies} from './studioDependencies.js'\nimport templates from './templates/index.js'\nimport {type ProjectTemplate} from './types.js'\nimport {updateInitialTemplateMetadata} from './updateInitialTemplateMetadata.js'\n\nconst debug = subdebug('init:bootstrapRemoteTemplate')\n\ninterface BootstrapLocalOptions {\n output: Output\n outputPath: string\n packageName: string\n templateName: string\n useTypeScript: boolean\n variables: GenerateConfigOptions['variables']\n\n overwriteFiles?: boolean\n}\n\nexport async function bootstrapLocalTemplate(\n opts: BootstrapLocalOptions,\n): Promise<ProjectTemplate> {\n const {output, outputPath, packageName, templateName, useTypeScript, variables} = opts\n // packages/@sanity/cli/src/actions/init/ -> packages/@sanity/cli/src/action -> packages/@sanity/cli/src/\n const cliRoot = path.resolve(import.meta.dirname, '../../..')\n const templatesDir = path.join(cliRoot, 'templates')\n const sourceDir = path.join(templatesDir, templateName)\n const sharedDir = path.join(templatesDir, 'shared')\n const isAppTemplate = determineAppTemplate(templateName)\n\n // Check that we have a template info file (dependencies, plugins etc)\n const template = templates[templateName]\n if (!template) {\n throw new Error(`Template \"${templateName}\" not defined`)\n }\n\n // Copy template files\n debug('Copying files from template \"%s\" to \"%s\"', templateName, outputPath)\n let spin = spinner('Bootstrapping files from template').start()\n\n debug(`Copying template from : ${sourceDir}`)\n await copy(sourceDir, outputPath, {\n rename: useTypeScript ? toTypeScriptPath : undefined,\n })\n debug(`Copying shared template code from : ${sharedDir}`)\n await copy(path.join(sharedDir, 'gitignore.txt'), outputPath, {rename: () => '.gitignore'})\n\n if (useTypeScript) {\n await fs.copyFile(path.join(sharedDir, 'tsconfig.json'), path.join(outputPath, 'tsconfig.json'))\n }\n\n spin.succeed()\n\n // Merge global and template-specific plugins and dependencies\n\n // Resolve latest versions of Sanity-dependencies\n spin = spinner('Resolving latest module versions').start()\n const dependencyVersions = await resolveLatestVersions({\n ...(isAppTemplate ? sdkAppDependencies.dependencies : studioDependencies.dependencies),\n ...(isAppTemplate ? sdkAppDependencies.devDependencies : studioDependencies.devDependencies),\n ...template.dependencies,\n ...template.devDependencies,\n })\n spin.succeed()\n\n // Use the resolved version for the given dependency\n const dependencies: Record<string, string> = {}\n for (const dependency of Object.keys({\n ...(isAppTemplate ? sdkAppDependencies.dependencies : studioDependencies.dependencies),\n ...template.dependencies,\n })) {\n dependencies[dependency] = dependencyVersions[dependency]\n }\n\n const devDependencies: Record<string, string> = {}\n for (const dependency of Object.keys({\n ...(isAppTemplate ? sdkAppDependencies.devDependencies : studioDependencies.devDependencies),\n ...template.devDependencies,\n })) {\n devDependencies[dependency] = dependencyVersions[dependency]\n }\n\n let packageJsonName: string = packageName\n\n /**\n * Currently app init doesn't ask for a name, so we use the last part of the path\n */\n if (isAppTemplate) {\n packageJsonName = deburr(path.basename(outputPath).toLowerCase())\n .replaceAll(/\\s+/g, '-')\n .replaceAll(/[^a-z0-9-]/g, '')\n }\n\n // Now create a package manifest (`package.json`) with the merged dependencies\n spin = spinner('Creating default project files').start()\n const packageManifest = createPackageManifest({\n dependencies,\n devDependencies,\n isAppTemplate,\n name: packageJsonName,\n scripts: template.scripts,\n type: template.type,\n })\n\n // ...and a studio config (`sanity.config.[ts|js]`)\n const studioConfig = createStudioConfig({\n template: template.configTemplate,\n variables,\n })\n\n // ...and a CLI config (`sanity.cli.[ts|js]`)\n const cliConfig = isAppTemplate\n ? createAppCliConfig({\n entry: template.entry!,\n organizationId: variables.organizationId,\n })\n : createCliConfig({\n autoUpdates: variables.autoUpdates,\n dataset: variables.dataset,\n projectId: variables.projectId,\n })\n\n // Write non-template files to disc\n const codeExt = useTypeScript ? 'ts' : 'js'\n await Promise.all(\n [\n isAppTemplate\n ? Promise.resolve(null)\n : writeFileIfNotExists(`sanity.config.${codeExt}`, studioConfig),\n writeFileIfNotExists(`sanity.cli.${codeExt}`, cliConfig),\n writeFileIfNotExists('package.json', packageManifest),\n\n writeFileIfNotExists(\n 'eslint.config.mjs',\n `import studio from '@sanity/eslint-config-studio'\\n\\nexport default [...studio]\\n`,\n ),\n ].filter(Boolean),\n )\n\n debug('Updating initial template metadata')\n await updateInitialTemplateMetadata(variables.projectId, `cli-${templateName}`)\n\n // Finish up by providing init process with template-specific info\n spin.succeed()\n return template\n\n async function writeFileIfNotExists(fileName: string, content: string): Promise<void> {\n const filePath = path.join(outputPath, fileName)\n\n if (opts.overwriteFiles) {\n // If overwrite is enabled, just write the file\n await fs.writeFile(filePath, content)\n return\n }\n\n try {\n await fs.writeFile(filePath, content, {flag: 'wx'})\n } catch (err) {\n if (err.code === 'EEXIST') {\n output.warn(`\\n${styleText('yellow', '⚠')} File \"${filePath}\" already exists, skipping`)\n } else {\n throw err\n }\n }\n }\n}\n\nfunction toTypeScriptPath(originalPath: string): string {\n return originalPath.replace(/\\.js$/, '.ts')\n}\n"],"names":["fs","path","styleText","subdebug","spinner","deburr","copy","resolveLatestVersions","createAppCliConfig","createCliConfig","createPackageManifest","createStudioConfig","determineAppTemplate","sdkAppDependencies","studioDependencies","templates","updateInitialTemplateMetadata","debug","bootstrapLocalTemplate","opts","output","outputPath","packageName","templateName","useTypeScript","variables","cliRoot","resolve","dirname","templatesDir","join","sourceDir","sharedDir","isAppTemplate","template","Error","spin","start","rename","toTypeScriptPath","undefined","copyFile","succeed","dependencyVersions","dependencies","devDependencies","dependency","Object","keys","packageJsonName","basename","toLowerCase","replaceAll","packageManifest","name","scripts","type","studioConfig","configTemplate","cliConfig","entry","organizationId","autoUpdates","dataset","projectId","codeExt","Promise","all","writeFileIfNotExists","filter","Boolean","fileName","content","filePath","overwriteFiles","writeFile","flag","err","code","warn","originalPath","replace"],"mappings":"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"}
@@ -4,9 +4,9 @@ import { subdebug } from '@sanity/cli-core';
4
4
  import { logSymbols, spinner } from '@sanity/cli-core/ux';
5
5
  import { getMonoRepo, GitHubFileReader, validateTemplate } from '@sanity/template-validator';
6
6
  import { frameworks } from '@vercel/frameworks';
7
- import { detectFrameworkRecord, LocalFileSystemDetector } from '@vercel/fs-detectors';
8
7
  import { createCorsOrigin } from '../../services/cors.js';
9
8
  import { createToken } from '../../services/tokens.js';
9
+ import { detectFrameworkRecord } from '../../util/detectFramework.js';
10
10
  import { getDefaultPortForFramework } from '../../util/frameworkPort.js';
11
11
  import { tryGitInit } from './git.js';
12
12
  import { applyEnvVariables, checkIfNeedsApiToken, downloadAndExtractRepo, getGitHubRawContentUrl, tryApplyPackageName } from './remoteTemplate.js';
@@ -71,10 +71,10 @@ export async function bootstrapRemoteTemplate(opts) {
71
71
  const packagePath = join(outputPath, pkg);
72
72
  const packageFramework = await detectFrameworkRecord({
73
73
  frameworkList: frameworks,
74
- fs: new LocalFileSystemDetector(packagePath)
74
+ rootPath: packagePath
75
75
  });
76
76
  const port = getDefaultPortForFramework(packageFramework?.slug);
77
- if (corsAdded.includes(port)) {
77
+ if (!corsAdded.includes(port)) {
78
78
  debug('Setting CORS origin to http://localhost:%d', port);
79
79
  await createCorsOrigin({
80
80
  allowCredentials: true,
@@ -99,8 +99,9 @@ export async function bootstrapRemoteTemplate(opts) {
99
99
  debug('Updating initial template metadata');
100
100
  await updateInitialTemplateMetadata(variables.projectId, `external-${name}`);
101
101
  spin.succeed();
102
- if (corsAdded.length > 0) {
103
- output.log(`${logSymbols.success} CORS origins added (${corsAdded.map((p)=>`localhost:${p}`).join(', ')})`);
102
+ const newlyAddedPorts = corsAdded.slice(1);
103
+ if (newlyAddedPorts.length > 0) {
104
+ output.log(`${logSymbols.success} CORS origins added (${newlyAddedPorts.map((p)=>`localhost:${p}`).join(', ')})`);
104
105
  }
105
106
  if (readToken) output.log(`${logSymbols.success} API token generated (${READ_TOKEN_LABEL})`);
106
107
  if (writeToken) output.log(`${logSymbols.success} API token generated (${WRITE_TOKEN_LABEL})`);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/init/bootstrapRemoteTemplate.ts"],"sourcesContent":["import {mkdir} from 'node:fs/promises'\nimport {join} from 'node:path'\n\nimport {Output, subdebug} from '@sanity/cli-core'\nimport {logSymbols, spinner} from '@sanity/cli-core/ux'\nimport {getMonoRepo, GitHubFileReader, validateTemplate} from '@sanity/template-validator'\nimport {type Framework, frameworks} from '@vercel/frameworks'\nimport {detectFrameworkRecord, LocalFileSystemDetector} from '@vercel/fs-detectors'\n\nimport {createCorsOrigin} from '../../services/cors.js'\nimport {createToken} from '../../services/tokens.js'\nimport {getDefaultPortForFramework} from '../../util/frameworkPort.js'\nimport {type GenerateConfigOptions} from './createStudioConfig.js'\nimport {tryGitInit} from './git.js'\nimport {\n applyEnvVariables,\n checkIfNeedsApiToken,\n downloadAndExtractRepo,\n getGitHubRawContentUrl,\n type RepoInfo,\n tryApplyPackageName,\n} from './remoteTemplate.js'\nimport {updateInitialTemplateMetadata} from './updateInitialTemplateMetadata.js'\n\nconst debug = subdebug('init:bootstrapRemoteTemplate')\n\nexport interface BootstrapRemoteOptions {\n output: Output\n outputPath: string\n packageName: string\n repoInfo: RepoInfo\n variables: GenerateConfigOptions['variables']\n\n bearerToken?: string\n}\n\nconst SANITY_DEFAULT_PORT = 3333\nconst READ_TOKEN_LABEL = 'Live Preview API'\nconst WRITE_TOKEN_LABEL = 'App Write Token'\nconst INITIAL_COMMIT_MESSAGE = 'Initial commit from Sanity CLI'\nconst API_READ_TOKEN_ROLE = 'viewer'\nconst API_WRITE_TOKEN_ROLE = 'editor'\n\nexport async function bootstrapRemoteTemplate(opts: BootstrapRemoteOptions): Promise<void> {\n const {bearerToken, output, outputPath, packageName, repoInfo, variables} = opts\n const name = [repoInfo.username, repoInfo.name, repoInfo.filePath].filter(Boolean).join('/')\n const contentsUrl = getGitHubRawContentUrl(repoInfo)\n const headers: Record<string, string> = {}\n if (bearerToken) {\n headers.Authorization = `Bearer ${bearerToken}`\n }\n const spin = spinner(`Bootstrapping files from template \"${name}\"`).start()\n const corsAdded: number[] = [SANITY_DEFAULT_PORT]\n\n debug('Validating remote template')\n const fileReader = new GitHubFileReader(contentsUrl, headers)\n const packages = await getMonoRepo(fileReader)\n const validation = await validateTemplate(fileReader, packages)\n if (!validation.isValid) {\n throw new Error(validation.errors.join('\\n'))\n }\n\n debug('Create new directory \"%s\"', outputPath)\n await mkdir(outputPath, {recursive: true})\n\n debug('Downloading and extracting repo to %s', outputPath)\n await downloadAndExtractRepo(outputPath, repoInfo, bearerToken)\n\n debug('Checking if template needs read token')\n const needsReadToken = await Promise.all(\n (packages ?? ['']).map((pkg) => checkIfNeedsApiToken(join(outputPath, pkg), 'read')),\n ).then((results) => results.some(Boolean))\n const needsWriteToken = await Promise.all(\n (packages ?? ['']).map((pkg) => checkIfNeedsApiToken(join(outputPath, pkg), 'write')),\n ).then((results) => results.some(Boolean))\n\n debug('Applying environment variables')\n const readToken = needsReadToken\n ? (\n await createToken({\n label: READ_TOKEN_LABEL,\n projectId: variables.projectId,\n roleName: API_READ_TOKEN_ROLE,\n })\n ).key\n : undefined\n const writeToken = needsWriteToken\n ? (\n await createToken({\n label: WRITE_TOKEN_LABEL,\n projectId: variables.projectId,\n roleName: API_WRITE_TOKEN_ROLE,\n })\n ).key\n : undefined\n\n for (const pkg of packages ?? ['']) {\n const packagePath = join(outputPath, pkg)\n const packageFramework: Framework | null = await detectFrameworkRecord({\n frameworkList: frameworks as readonly Framework[],\n fs: new LocalFileSystemDetector(packagePath),\n })\n\n const port = getDefaultPortForFramework(packageFramework?.slug)\n if (corsAdded.includes(port)) {\n debug('Setting CORS origin to http://localhost:%d', port)\n await createCorsOrigin({\n allowCredentials: true,\n origin: `http://localhost:${port}`,\n projectId: variables.projectId,\n })\n corsAdded.push(port)\n }\n\n debug('Applying environment variables to %s', pkg)\n // Next.js uses `.env.local` for local environment variables\n const envName = packageFramework?.slug === 'nextjs' ? '.env.local' : '.env'\n await applyEnvVariables(packagePath, {...variables, readToken, writeToken}, envName)\n }\n\n debug('Setting package name to %s', packageName)\n await tryApplyPackageName(outputPath, packageName)\n\n debug('Initializing git repository')\n tryGitInit(outputPath, INITIAL_COMMIT_MESSAGE)\n\n debug('Updating initial template metadata')\n await updateInitialTemplateMetadata(variables.projectId, `external-${name}`)\n\n spin.succeed()\n if (corsAdded.length > 0) {\n output.log(\n `${logSymbols.success} CORS origins added (${corsAdded.map((p) => `localhost:${p}`).join(', ')})`,\n )\n }\n if (readToken) output.log(`${logSymbols.success} API token generated (${READ_TOKEN_LABEL})`)\n if (writeToken) output.log(`${logSymbols.success} API token generated (${WRITE_TOKEN_LABEL})`)\n}\n"],"names":["mkdir","join","subdebug","logSymbols","spinner","getMonoRepo","GitHubFileReader","validateTemplate","frameworks","detectFrameworkRecord","LocalFileSystemDetector","createCorsOrigin","createToken","getDefaultPortForFramework","tryGitInit","applyEnvVariables","checkIfNeedsApiToken","downloadAndExtractRepo","getGitHubRawContentUrl","tryApplyPackageName","updateInitialTemplateMetadata","debug","SANITY_DEFAULT_PORT","READ_TOKEN_LABEL","WRITE_TOKEN_LABEL","INITIAL_COMMIT_MESSAGE","API_READ_TOKEN_ROLE","API_WRITE_TOKEN_ROLE","bootstrapRemoteTemplate","opts","bearerToken","output","outputPath","packageName","repoInfo","variables","name","username","filePath","filter","Boolean","contentsUrl","headers","Authorization","spin","start","corsAdded","fileReader","packages","validation","isValid","Error","errors","recursive","needsReadToken","Promise","all","map","pkg","then","results","some","needsWriteToken","readToken","label","projectId","roleName","key","undefined","writeToken","packagePath","packageFramework","frameworkList","fs","port","slug","includes","allowCredentials","origin","push","envName","succeed","length","log","success","p"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/actions/init/bootstrapRemoteTemplate.ts"],"sourcesContent":["import {mkdir} from 'node:fs/promises'\nimport {join} from 'node:path'\n\nimport {Output, subdebug} from '@sanity/cli-core'\nimport {logSymbols, spinner} from '@sanity/cli-core/ux'\nimport {getMonoRepo, GitHubFileReader, validateTemplate} from '@sanity/template-validator'\nimport {type Framework, frameworks} from '@vercel/frameworks'\n\nimport {createCorsOrigin} from '../../services/cors.js'\nimport {createToken} from '../../services/tokens.js'\nimport {detectFrameworkRecord} from '../../util/detectFramework.js'\nimport {getDefaultPortForFramework} from '../../util/frameworkPort.js'\nimport {type GenerateConfigOptions} from './createStudioConfig.js'\nimport {tryGitInit} from './git.js'\nimport {\n applyEnvVariables,\n checkIfNeedsApiToken,\n downloadAndExtractRepo,\n getGitHubRawContentUrl,\n type RepoInfo,\n tryApplyPackageName,\n} from './remoteTemplate.js'\nimport {updateInitialTemplateMetadata} from './updateInitialTemplateMetadata.js'\n\nconst debug = subdebug('init:bootstrapRemoteTemplate')\n\ninterface BootstrapRemoteOptions {\n output: Output\n outputPath: string\n packageName: string\n repoInfo: RepoInfo\n variables: GenerateConfigOptions['variables']\n\n bearerToken?: string\n}\n\nconst SANITY_DEFAULT_PORT = 3333\nconst READ_TOKEN_LABEL = 'Live Preview API'\nconst WRITE_TOKEN_LABEL = 'App Write Token'\nconst INITIAL_COMMIT_MESSAGE = 'Initial commit from Sanity CLI'\nconst API_READ_TOKEN_ROLE = 'viewer'\nconst API_WRITE_TOKEN_ROLE = 'editor'\n\nexport async function bootstrapRemoteTemplate(opts: BootstrapRemoteOptions): Promise<void> {\n const {bearerToken, output, outputPath, packageName, repoInfo, variables} = opts\n const name = [repoInfo.username, repoInfo.name, repoInfo.filePath].filter(Boolean).join('/')\n const contentsUrl = getGitHubRawContentUrl(repoInfo)\n const headers: Record<string, string> = {}\n if (bearerToken) {\n headers.Authorization = `Bearer ${bearerToken}`\n }\n const spin = spinner(`Bootstrapping files from template \"${name}\"`).start()\n const corsAdded: number[] = [SANITY_DEFAULT_PORT]\n\n debug('Validating remote template')\n const fileReader = new GitHubFileReader(contentsUrl, headers)\n const packages = await getMonoRepo(fileReader)\n const validation = await validateTemplate(fileReader, packages)\n if (!validation.isValid) {\n throw new Error(validation.errors.join('\\n'))\n }\n\n debug('Create new directory \"%s\"', outputPath)\n await mkdir(outputPath, {recursive: true})\n\n debug('Downloading and extracting repo to %s', outputPath)\n await downloadAndExtractRepo(outputPath, repoInfo, bearerToken)\n\n debug('Checking if template needs read token')\n const needsReadToken = await Promise.all(\n (packages ?? ['']).map((pkg) => checkIfNeedsApiToken(join(outputPath, pkg), 'read')),\n ).then((results) => results.some(Boolean))\n const needsWriteToken = await Promise.all(\n (packages ?? ['']).map((pkg) => checkIfNeedsApiToken(join(outputPath, pkg), 'write')),\n ).then((results) => results.some(Boolean))\n\n debug('Applying environment variables')\n const readToken = needsReadToken\n ? (\n await createToken({\n label: READ_TOKEN_LABEL,\n projectId: variables.projectId,\n roleName: API_READ_TOKEN_ROLE,\n })\n ).key\n : undefined\n const writeToken = needsWriteToken\n ? (\n await createToken({\n label: WRITE_TOKEN_LABEL,\n projectId: variables.projectId,\n roleName: API_WRITE_TOKEN_ROLE,\n })\n ).key\n : undefined\n\n for (const pkg of packages ?? ['']) {\n const packagePath = join(outputPath, pkg)\n const packageFramework: Framework | null = await detectFrameworkRecord({\n frameworkList: frameworks as readonly Framework[],\n rootPath: packagePath,\n })\n\n const port = getDefaultPortForFramework(packageFramework?.slug)\n if (!corsAdded.includes(port)) {\n debug('Setting CORS origin to http://localhost:%d', port)\n await createCorsOrigin({\n allowCredentials: true,\n origin: `http://localhost:${port}`,\n projectId: variables.projectId,\n })\n corsAdded.push(port)\n }\n\n debug('Applying environment variables to %s', pkg)\n // Next.js uses `.env.local` for local environment variables\n const envName = packageFramework?.slug === 'nextjs' ? '.env.local' : '.env'\n await applyEnvVariables(packagePath, {...variables, readToken, writeToken}, envName)\n }\n\n debug('Setting package name to %s', packageName)\n await tryApplyPackageName(outputPath, packageName)\n\n debug('Initializing git repository')\n tryGitInit(outputPath, INITIAL_COMMIT_MESSAGE)\n\n debug('Updating initial template metadata')\n await updateInitialTemplateMetadata(variables.projectId, `external-${name}`)\n\n spin.succeed()\n const newlyAddedPorts = corsAdded.slice(1)\n if (newlyAddedPorts.length > 0) {\n output.log(\n `${logSymbols.success} CORS origins added (${newlyAddedPorts.map((p) => `localhost:${p}`).join(', ')})`,\n )\n }\n if (readToken) output.log(`${logSymbols.success} API token generated (${READ_TOKEN_LABEL})`)\n if (writeToken) output.log(`${logSymbols.success} API token generated (${WRITE_TOKEN_LABEL})`)\n}\n"],"names":["mkdir","join","subdebug","logSymbols","spinner","getMonoRepo","GitHubFileReader","validateTemplate","frameworks","createCorsOrigin","createToken","detectFrameworkRecord","getDefaultPortForFramework","tryGitInit","applyEnvVariables","checkIfNeedsApiToken","downloadAndExtractRepo","getGitHubRawContentUrl","tryApplyPackageName","updateInitialTemplateMetadata","debug","SANITY_DEFAULT_PORT","READ_TOKEN_LABEL","WRITE_TOKEN_LABEL","INITIAL_COMMIT_MESSAGE","API_READ_TOKEN_ROLE","API_WRITE_TOKEN_ROLE","bootstrapRemoteTemplate","opts","bearerToken","output","outputPath","packageName","repoInfo","variables","name","username","filePath","filter","Boolean","contentsUrl","headers","Authorization","spin","start","corsAdded","fileReader","packages","validation","isValid","Error","errors","recursive","needsReadToken","Promise","all","map","pkg","then","results","some","needsWriteToken","readToken","label","projectId","roleName","key","undefined","writeToken","packagePath","packageFramework","frameworkList","rootPath","port","slug","includes","allowCredentials","origin","push","envName","succeed","newlyAddedPorts","slice","length","log","success","p"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/init/bootstrapTemplate.ts"],"sourcesContent":["import {Output} from '@sanity/cli-core'\n\nimport {bootstrapLocalTemplate} from './bootstrapLocalTemplate.js'\nimport {bootstrapRemoteTemplate} from './bootstrapRemoteTemplate.js'\nimport {type GenerateConfigOptions} from './createStudioConfig.js'\nimport {type RepoInfo} from './remoteTemplate.js'\n\nexport interface BootstrapTemplateOptions {\n autoUpdates: boolean\n bearerToken: string | undefined\n dataset: string\n organizationId: string | undefined\n output: Output\n outputPath: string\n overwriteFiles: boolean\n packageName: string\n projectId: string\n projectName: string\n remoteTemplateInfo: RepoInfo | undefined\n templateName: string\n useTypeScript: boolean\n}\n\nexport async function bootstrapTemplate({\n autoUpdates,\n bearerToken,\n dataset,\n organizationId,\n output,\n outputPath,\n overwriteFiles,\n packageName,\n projectId,\n projectName,\n remoteTemplateInfo,\n templateName,\n useTypeScript,\n}: BootstrapTemplateOptions) {\n const bootstrapVariables: GenerateConfigOptions['variables'] = {\n autoUpdates,\n dataset,\n organizationId,\n projectId,\n projectName,\n }\n\n if (remoteTemplateInfo) {\n return bootstrapRemoteTemplate({\n bearerToken,\n output,\n outputPath,\n packageName,\n repoInfo: remoteTemplateInfo,\n variables: bootstrapVariables,\n })\n }\n\n return bootstrapLocalTemplate({\n output,\n outputPath,\n overwriteFiles,\n packageName,\n templateName,\n useTypeScript,\n variables: bootstrapVariables,\n })\n}\n"],"names":["bootstrapLocalTemplate","bootstrapRemoteTemplate","bootstrapTemplate","autoUpdates","bearerToken","dataset","organizationId","output","outputPath","overwriteFiles","packageName","projectId","projectName","remoteTemplateInfo","templateName","useTypeScript","bootstrapVariables","repoInfo","variables"],"mappings":"AAEA,SAAQA,sBAAsB,QAAO,8BAA6B;AAClE,SAAQC,uBAAuB,QAAO,+BAA8B;AAoBpE,OAAO,eAAeC,kBAAkB,EACtCC,WAAW,EACXC,WAAW,EACXC,OAAO,EACPC,cAAc,EACdC,MAAM,EACNC,UAAU,EACVC,cAAc,EACdC,WAAW,EACXC,SAAS,EACTC,WAAW,EACXC,kBAAkB,EAClBC,YAAY,EACZC,aAAa,EACY;IACzB,MAAMC,qBAAyD;QAC7Db;QACAE;QACAC;QACAK;QACAC;IACF;IAEA,IAAIC,oBAAoB;QACtB,OAAOZ,wBAAwB;YAC7BG;YACAG;YACAC;YACAE;YACAO,UAAUJ;YACVK,WAAWF;QACb;IACF;IAEA,OAAOhB,uBAAuB;QAC5BO;QACAC;QACAC;QACAC;QACAI;QACAC;QACAG,WAAWF;IACb;AACF"}
1
+ {"version":3,"sources":["../../../src/actions/init/bootstrapTemplate.ts"],"sourcesContent":["import {Output} from '@sanity/cli-core'\n\nimport {bootstrapLocalTemplate} from './bootstrapLocalTemplate.js'\nimport {bootstrapRemoteTemplate} from './bootstrapRemoteTemplate.js'\nimport {type GenerateConfigOptions} from './createStudioConfig.js'\nimport {type RepoInfo} from './remoteTemplate.js'\n\ninterface BootstrapTemplateOptions {\n autoUpdates: boolean\n bearerToken: string | undefined\n dataset: string\n organizationId: string | undefined\n output: Output\n outputPath: string\n overwriteFiles: boolean\n packageName: string\n projectId: string\n projectName: string\n remoteTemplateInfo: RepoInfo | undefined\n templateName: string\n useTypeScript: boolean\n}\n\nexport async function bootstrapTemplate({\n autoUpdates,\n bearerToken,\n dataset,\n organizationId,\n output,\n outputPath,\n overwriteFiles,\n packageName,\n projectId,\n projectName,\n remoteTemplateInfo,\n templateName,\n useTypeScript,\n}: BootstrapTemplateOptions) {\n const bootstrapVariables: GenerateConfigOptions['variables'] = {\n autoUpdates,\n dataset,\n organizationId,\n projectId,\n projectName,\n }\n\n if (remoteTemplateInfo) {\n return bootstrapRemoteTemplate({\n bearerToken,\n output,\n outputPath,\n packageName,\n repoInfo: remoteTemplateInfo,\n variables: bootstrapVariables,\n })\n }\n\n return bootstrapLocalTemplate({\n output,\n outputPath,\n overwriteFiles,\n packageName,\n templateName,\n useTypeScript,\n variables: bootstrapVariables,\n })\n}\n"],"names":["bootstrapLocalTemplate","bootstrapRemoteTemplate","bootstrapTemplate","autoUpdates","bearerToken","dataset","organizationId","output","outputPath","overwriteFiles","packageName","projectId","projectName","remoteTemplateInfo","templateName","useTypeScript","bootstrapVariables","repoInfo","variables"],"mappings":"AAEA,SAAQA,sBAAsB,QAAO,8BAA6B;AAClE,SAAQC,uBAAuB,QAAO,+BAA8B;AAoBpE,OAAO,eAAeC,kBAAkB,EACtCC,WAAW,EACXC,WAAW,EACXC,OAAO,EACPC,cAAc,EACdC,MAAM,EACNC,UAAU,EACVC,cAAc,EACdC,WAAW,EACXC,SAAS,EACTC,WAAW,EACXC,kBAAkB,EAClBC,YAAY,EACZC,aAAa,EACY;IACzB,MAAMC,qBAAyD;QAC7Db;QACAE;QACAC;QACAK;QACAC;IACF;IAEA,IAAIC,oBAAoB;QACtB,OAAOZ,wBAAwB;YAC7BG;YACAG;YACAC;YACAE;YACAO,UAAUJ;YACVK,WAAWF;QACb;IACF;IAEA,OAAOhB,uBAAuB;QAC5BO;QACAC;QACAC;QACAC;QACAI;QACAC;QACAG,WAAWF;IACb;AACF"}
@@ -1,5 +1,5 @@
1
+ import { readPackageJson } from '@sanity/cli-core';
1
2
  import semver from 'semver';
2
- import { readPackageJson } from '../../util/readPackageJson.js';
3
3
  export async function checkNextJsReactCompatibility({ detectedFramework, output, outputPath }) {
4
4
  const packageJson = await readPackageJson(`${outputPath}/package.json`);
5
5
  const reactVersion = packageJson?.dependencies?.react;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/init/checkNextJsReactCompatibility.ts"],"sourcesContent":["import {Output} from '@sanity/cli-core'\nimport semver from 'semver'\n\nimport {readPackageJson} from '../../util/readPackageJson.js'\nimport {VersionedFramework} from './types.js'\n\ninterface CheckCompatibilityOptions {\n detectedFramework: VersionedFramework\n output: Output\n outputPath: string\n}\n\nexport async function checkNextJsReactCompatibility({\n detectedFramework,\n output,\n outputPath,\n}: CheckCompatibilityOptions) {\n const packageJson = await readPackageJson(`${outputPath}/package.json`)\n const reactVersion = packageJson?.dependencies?.react\n\n if (reactVersion) {\n const isUsingReact19 = semver.coerce(reactVersion)?.major === 19\n const isUsingNextJs15 = semver.coerce(detectedFramework?.detectedVersion)?.major === 15\n\n if (isUsingNextJs15 && isUsingReact19) {\n output.warn('╭────────────────────────────────────────────────────────────╮')\n output.warn('│ │')\n output.warn('│ It looks like you are using Next.js 15 and React 19 │')\n output.warn('│ Please read our compatibility guide. │')\n output.warn('│ https://www.sanity.io/help/react-19 │')\n output.warn('│ │')\n output.warn('╰────────────────────────────────────────────────────────────╯')\n }\n }\n}\n"],"names":["semver","readPackageJson","checkNextJsReactCompatibility","detectedFramework","output","outputPath","packageJson","reactVersion","dependencies","react","isUsingReact19","coerce","major","isUsingNextJs15","detectedVersion","warn"],"mappings":"AACA,OAAOA,YAAY,SAAQ;AAE3B,SAAQC,eAAe,QAAO,gCAA+B;AAS7D,OAAO,eAAeC,8BAA8B,EAClDC,iBAAiB,EACjBC,MAAM,EACNC,UAAU,EACgB;IAC1B,MAAMC,cAAc,MAAML,gBAAgB,GAAGI,WAAW,aAAa,CAAC;IACtE,MAAME,eAAeD,aAAaE,cAAcC;IAEhD,IAAIF,cAAc;QAChB,MAAMG,iBAAiBV,OAAOW,MAAM,CAACJ,eAAeK,UAAU;QAC9D,MAAMC,kBAAkBb,OAAOW,MAAM,CAACR,mBAAmBW,kBAAkBF,UAAU;QAErF,IAAIC,mBAAmBH,gBAAgB;YACrCN,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;QACd;IACF;AACF"}
1
+ {"version":3,"sources":["../../../src/actions/init/checkNextJsReactCompatibility.ts"],"sourcesContent":["import {Output, readPackageJson} from '@sanity/cli-core'\nimport semver from 'semver'\n\nimport {VersionedFramework} from './types.js'\n\ninterface CheckCompatibilityOptions {\n detectedFramework: VersionedFramework\n output: Output\n outputPath: string\n}\n\nexport async function checkNextJsReactCompatibility({\n detectedFramework,\n output,\n outputPath,\n}: CheckCompatibilityOptions) {\n const packageJson = await readPackageJson(`${outputPath}/package.json`)\n const reactVersion = packageJson?.dependencies?.react\n\n if (reactVersion) {\n const isUsingReact19 = semver.coerce(reactVersion)?.major === 19\n const isUsingNextJs15 = semver.coerce(detectedFramework?.detectedVersion)?.major === 15\n\n if (isUsingNextJs15 && isUsingReact19) {\n output.warn('╭────────────────────────────────────────────────────────────╮')\n output.warn('│ │')\n output.warn('│ It looks like you are using Next.js 15 and React 19 │')\n output.warn('│ Please read our compatibility guide. │')\n output.warn('│ https://www.sanity.io/help/react-19 │')\n output.warn('│ │')\n output.warn('╰────────────────────────────────────────────────────────────╯')\n }\n }\n}\n"],"names":["readPackageJson","semver","checkNextJsReactCompatibility","detectedFramework","output","outputPath","packageJson","reactVersion","dependencies","react","isUsingReact19","coerce","major","isUsingNextJs15","detectedVersion","warn"],"mappings":"AAAA,SAAgBA,eAAe,QAAO,mBAAkB;AACxD,OAAOC,YAAY,SAAQ;AAU3B,OAAO,eAAeC,8BAA8B,EAClDC,iBAAiB,EACjBC,MAAM,EACNC,UAAU,EACgB;IAC1B,MAAMC,cAAc,MAAMN,gBAAgB,GAAGK,WAAW,aAAa,CAAC;IACtE,MAAME,eAAeD,aAAaE,cAAcC;IAEhD,IAAIF,cAAc;QAChB,MAAMG,iBAAiBT,OAAOU,MAAM,CAACJ,eAAeK,UAAU;QAC9D,MAAMC,kBAAkBZ,OAAOU,MAAM,CAACR,mBAAmBW,kBAAkBF,UAAU;QAErF,IAAIC,mBAAmBH,gBAAgB;YACrCN,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;YACZX,OAAOW,IAAI,CAAC;QACd;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/init/createAppCliConfig.ts"],"sourcesContent":["import {processTemplate} from './processTemplate.js'\n\nconst defaultAppTemplate = `\nimport {defineCliConfig} from 'sanity/cli'\n\nexport default defineCliConfig({\n app: {\n organizationId: '%organizationId%',\n entry: '%entry%',\n },\n})\n`\n\nexport interface GenerateCliConfigOptions {\n entry: string\n\n organizationId?: string\n}\n\nexport function createAppCliConfig(options: GenerateCliConfigOptions): string {\n return processTemplate({\n template: defaultAppTemplate,\n variables: options,\n })\n}\n"],"names":["processTemplate","defaultAppTemplate","createAppCliConfig","options","template","variables"],"mappings":"AAAA,SAAQA,eAAe,QAAO,uBAAsB;AAEpD,MAAMC,qBAAqB,CAAC;;;;;;;;;AAS5B,CAAC;AAQD,OAAO,SAASC,mBAAmBC,OAAiC;IAClE,OAAOH,gBAAgB;QACrBI,UAAUH;QACVI,WAAWF;IACb;AACF"}
1
+ {"version":3,"sources":["../../../src/actions/init/createAppCliConfig.ts"],"sourcesContent":["import {processTemplate} from './processTemplate.js'\n\nconst defaultAppTemplate = `\nimport {defineCliConfig} from 'sanity/cli'\n\nexport default defineCliConfig({\n app: {\n organizationId: '%organizationId%',\n entry: '%entry%',\n },\n})\n`\n\ninterface GenerateCliConfigOptions {\n entry: string\n\n organizationId?: string\n}\n\nexport function createAppCliConfig(options: GenerateCliConfigOptions): string {\n return processTemplate({\n template: defaultAppTemplate,\n variables: options,\n })\n}\n"],"names":["processTemplate","defaultAppTemplate","createAppCliConfig","options","template","variables"],"mappings":"AAAA,SAAQA,eAAe,QAAO,uBAAsB;AAEpD,MAAMC,qBAAqB,CAAC;;;;;;;;;AAS5B,CAAC;AAQD,OAAO,SAASC,mBAAmBC,OAAiC;IAClE,OAAOH,gBAAgB;QACrBI,UAAUH;QACVI,WAAWF;IACb;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/init/createCliConfig.ts"],"sourcesContent":["import {processTemplate} from './processTemplate.js'\n\nconst defaultTemplate = `\nimport {defineCliConfig} from 'sanity/cli'\n\nexport default defineCliConfig({\n api: {\n projectId: '%projectId%',\n dataset: '%dataset%'\n },\n deployment: {\n /**\n * Enable auto-updates for studios.\n * Learn more at https://www.sanity.io/docs/studio/latest-version-of-sanity#k47faf43faf56\n */\n autoUpdates: __BOOL__autoUpdates__,\n }\n})\n`\n\nexport interface GenerateCliConfigOptions {\n autoUpdates: boolean\n dataset: string\n projectId: string\n}\n\nexport function createCliConfig(options: GenerateCliConfigOptions): string {\n return processTemplate({\n includeBooleanTransform: true,\n template: defaultTemplate,\n variables: options,\n })\n}\n"],"names":["processTemplate","defaultTemplate","createCliConfig","options","includeBooleanTransform","template","variables"],"mappings":"AAAA,SAAQA,eAAe,QAAO,uBAAsB;AAEpD,MAAMC,kBAAkB,CAAC;;;;;;;;;;;;;;;;AAgBzB,CAAC;AAQD,OAAO,SAASC,gBAAgBC,OAAiC;IAC/D,OAAOH,gBAAgB;QACrBI,yBAAyB;QACzBC,UAAUJ;QACVK,WAAWH;IACb;AACF"}
1
+ {"version":3,"sources":["../../../src/actions/init/createCliConfig.ts"],"sourcesContent":["import {processTemplate} from './processTemplate.js'\n\nconst defaultTemplate = `\nimport {defineCliConfig} from 'sanity/cli'\n\nexport default defineCliConfig({\n api: {\n projectId: '%projectId%',\n dataset: '%dataset%'\n },\n deployment: {\n /**\n * Enable auto-updates for studios.\n * Learn more at https://www.sanity.io/docs/studio/latest-version-of-sanity#k47faf43faf56\n */\n autoUpdates: __BOOL__autoUpdates__,\n }\n})\n`\n\ninterface GenerateCliConfigOptions {\n autoUpdates: boolean\n dataset: string\n projectId: string\n}\n\nexport function createCliConfig(options: GenerateCliConfigOptions): string {\n return processTemplate({\n includeBooleanTransform: true,\n template: defaultTemplate,\n variables: options,\n })\n}\n"],"names":["processTemplate","defaultTemplate","createCliConfig","options","includeBooleanTransform","template","variables"],"mappings":"AAAA,SAAQA,eAAe,QAAO,uBAAsB;AAEpD,MAAMC,kBAAkB,CAAC;;;;;;;;;;;;;;;;AAgBzB,CAAC;AAQD,OAAO,SAASC,gBAAgBC,OAAiC;IAC/D,OAAOH,gBAAgB;QACrBI,yBAAyB;QACzBC,UAAUJ;QACVK,WAAWH;IACb;AACF"}
@@ -1,8 +1,8 @@
1
- import sortObject from 'deep-sort-object';
2
1
  const manifestPropOrder = [
3
2
  'name',
4
3
  'private',
5
4
  'version',
5
+ 'type',
6
6
  'description',
7
7
  'main',
8
8
  'author',
@@ -15,10 +15,10 @@ const manifestPropOrder = [
15
15
  export function createPackageManifest(data) {
16
16
  const { isAppTemplate } = data;
17
17
  const dependencies = data.dependencies ? {
18
- dependencies: sortObject(data.dependencies)
18
+ dependencies: sortKeys(data.dependencies)
19
19
  } : {};
20
20
  const devDependencies = data.devDependencies ? {
21
- devDependencies: sortObject(data.devDependencies)
21
+ devDependencies: sortKeys(data.devDependencies)
22
22
  } : {};
23
23
  // Don't write a prettier config for SDK apps; we want to allow developers to use their own
24
24
  const prettierConfig = isAppTemplate ? {} : {
@@ -29,16 +29,22 @@ export function createPackageManifest(data) {
29
29
  singleQuote: true
30
30
  }
31
31
  };
32
+ const type = data.type ? {
33
+ type: data.type
34
+ } : {};
32
35
  const pkg = {
33
36
  ...getCommonManifest(data),
34
37
  keywords: [
35
38
  'sanity'
36
39
  ],
37
40
  main: 'package.json',
41
+ ...type,
38
42
  scripts: data.scripts || {
39
43
  build: 'sanity build',
40
44
  deploy: 'sanity deploy',
41
- 'deploy-graphql': 'sanity graphql deploy',
45
+ ...isAppTemplate ? {} : {
46
+ 'deploy-graphql': 'sanity graphql deploy'
47
+ },
42
48
  dev: 'sanity dev',
43
49
  start: 'sanity start'
44
50
  },
@@ -50,12 +56,15 @@ export function createPackageManifest(data) {
50
56
  }
51
57
  function getCommonManifest(data) {
52
58
  const pkg = {
53
- author: data.author,
54
- description: data.description,
55
- devDependencies: {},
56
- license: data.license || 'UNLICENSED',
57
59
  name: data.name,
58
- version: '1.0.0'
60
+ version: '1.0.0',
61
+ ...data.author ? {
62
+ author: data.author
63
+ } : {},
64
+ ...data.description ? {
65
+ description: data.description
66
+ } : {},
67
+ license: data.license || 'UNLICENSED'
59
68
  };
60
69
  if (pkg.license === 'UNLICENSED') {
61
70
  pkg.private = true;
@@ -68,6 +77,9 @@ function getCommonManifest(data) {
68
77
  }
69
78
  return pkg;
70
79
  }
80
+ function sortKeys(obj) {
81
+ return Object.fromEntries(Object.entries(obj).toSorted(([a], [b])=>a.localeCompare(b)));
82
+ }
71
83
  function serializeManifest(src) {
72
84
  const props = [
73
85
  ...manifestPropOrder,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/init/createPackageManifest.ts"],"sourcesContent":["import sortObject from 'deep-sort-object'\n\nimport {type PackageJson, type SanityJson} from '../../types.js'\n\nconst manifestPropOrder = [\n 'name',\n 'private',\n 'version',\n 'description',\n 'main',\n 'author',\n 'license',\n 'scripts',\n 'keywords',\n 'dependencies',\n 'devDependencies',\n]\n\nexport function createPackageManifest(\n data: Omit<PackageJson, 'version'> & {gitRemote?: string} & {isAppTemplate?: boolean},\n): string {\n const {isAppTemplate} = data\n\n const dependencies = data.dependencies\n ? {dependencies: sortObject(data.dependencies) as Record<string, string>}\n : {}\n\n const devDependencies = data.devDependencies\n ? {devDependencies: sortObject(data.devDependencies) as Record<string, string>}\n : {}\n\n // Don't write a prettier config for SDK apps; we want to allow developers to use their own\n const prettierConfig = isAppTemplate\n ? {}\n : {\n prettier: {\n bracketSpacing: false,\n printWidth: 100,\n semi: false,\n singleQuote: true,\n },\n }\n\n const pkg = {\n ...getCommonManifest(data),\n\n keywords: ['sanity'],\n main: 'package.json',\n scripts: data.scripts || {\n build: 'sanity build',\n deploy: 'sanity deploy',\n 'deploy-graphql': 'sanity graphql deploy',\n dev: 'sanity dev',\n start: 'sanity start',\n },\n\n ...dependencies,\n ...devDependencies,\n ...prettierConfig,\n }\n\n return serializeManifest(pkg)\n}\n\nfunction getCommonManifest(data: Omit<PackageJson, 'version'> & {gitRemote?: string}) {\n const pkg: PackageJson = {\n author: data.author,\n description: data.description,\n devDependencies: {},\n license: data.license || 'UNLICENSED',\n name: data.name,\n version: '1.0.0',\n }\n\n if (pkg.license === 'UNLICENSED') {\n pkg.private = true\n }\n\n if (data.gitRemote) {\n pkg.repository = {\n type: 'git',\n url: data.gitRemote,\n }\n }\n\n return pkg\n}\n\nfunction serializeManifest(src: PackageJson | SanityJson): string {\n const props = [...manifestPropOrder, ...Object.keys(src)]\n const ordered: Record<string, unknown> = {}\n for (const prop of props) {\n const source = src as Record<string, unknown>\n if (source[prop] !== undefined && ordered[prop] === undefined) {\n ordered[prop] = source[prop]\n }\n }\n\n return `${JSON.stringify(ordered, null, 2)}\\n`\n}\n"],"names":["sortObject","manifestPropOrder","createPackageManifest","data","isAppTemplate","dependencies","devDependencies","prettierConfig","prettier","bracketSpacing","printWidth","semi","singleQuote","pkg","getCommonManifest","keywords","main","scripts","build","deploy","dev","start","serializeManifest","author","description","license","name","version","private","gitRemote","repository","type","url","src","props","Object","keys","ordered","prop","source","undefined","JSON","stringify"],"mappings":"AAAA,OAAOA,gBAAgB,mBAAkB;AAIzC,MAAMC,oBAAoB;IACxB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,OAAO,SAASC,sBACdC,IAAqF;IAErF,MAAM,EAACC,aAAa,EAAC,GAAGD;IAExB,MAAME,eAAeF,KAAKE,YAAY,GAClC;QAACA,cAAcL,WAAWG,KAAKE,YAAY;IAA2B,IACtE,CAAC;IAEL,MAAMC,kBAAkBH,KAAKG,eAAe,GACxC;QAACA,iBAAiBN,WAAWG,KAAKG,eAAe;IAA2B,IAC5E,CAAC;IAEL,2FAA2F;IAC3F,MAAMC,iBAAiBH,gBACnB,CAAC,IACD;QACEI,UAAU;YACRC,gBAAgB;YAChBC,YAAY;YACZC,MAAM;YACNC,aAAa;QACf;IACF;IAEJ,MAAMC,MAAM;QACV,GAAGC,kBAAkBX,KAAK;QAE1BY,UAAU;YAAC;SAAS;QACpBC,MAAM;QACNC,SAASd,KAAKc,OAAO,IAAI;YACvBC,OAAO;YACPC,QAAQ;YACR,kBAAkB;YAClBC,KAAK;YACLC,OAAO;QACT;QAEA,GAAGhB,YAAY;QACf,GAAGC,eAAe;QAClB,GAAGC,cAAc;IACnB;IAEA,OAAOe,kBAAkBT;AAC3B;AAEA,SAASC,kBAAkBX,IAAyD;IAClF,MAAMU,MAAmB;QACvBU,QAAQpB,KAAKoB,MAAM;QACnBC,aAAarB,KAAKqB,WAAW;QAC7BlB,iBAAiB,CAAC;QAClBmB,SAAStB,KAAKsB,OAAO,IAAI;QACzBC,MAAMvB,KAAKuB,IAAI;QACfC,SAAS;IACX;IAEA,IAAId,IAAIY,OAAO,KAAK,cAAc;QAChCZ,IAAIe,OAAO,GAAG;IAChB;IAEA,IAAIzB,KAAK0B,SAAS,EAAE;QAClBhB,IAAIiB,UAAU,GAAG;YACfC,MAAM;YACNC,KAAK7B,KAAK0B,SAAS;QACrB;IACF;IAEA,OAAOhB;AACT;AAEA,SAASS,kBAAkBW,GAA6B;IACtD,MAAMC,QAAQ;WAAIjC;WAAsBkC,OAAOC,IAAI,CAACH;KAAK;IACzD,MAAMI,UAAmC,CAAC;IAC1C,KAAK,MAAMC,QAAQJ,MAAO;QACxB,MAAMK,SAASN;QACf,IAAIM,MAAM,CAACD,KAAK,KAAKE,aAAaH,OAAO,CAACC,KAAK,KAAKE,WAAW;YAC7DH,OAAO,CAACC,KAAK,GAAGC,MAAM,CAACD,KAAK;QAC9B;IACF;IAEA,OAAO,GAAGG,KAAKC,SAAS,CAACL,SAAS,MAAM,GAAG,EAAE,CAAC;AAChD"}
1
+ {"version":3,"sources":["../../../src/actions/init/createPackageManifest.ts"],"sourcesContent":["import {type PackageJson, type SanityJson} from '../../types.js'\n\nconst manifestPropOrder = [\n 'name',\n 'private',\n 'version',\n 'type',\n 'description',\n 'main',\n 'author',\n 'license',\n 'scripts',\n 'keywords',\n 'dependencies',\n 'devDependencies',\n]\n\n// PackageJson has an index signature ([x: string]: unknown) from z.looseObject,\n// which causes Omit to collapse the type. Strip the index signature first, then Omit.\ntype RemoveIndex<T> = {\n [K in keyof T as string extends K ? never : K]: T[K]\n}\ntype PackageJsonWithoutVersion = Omit<RemoveIndex<PackageJson>, 'version'>\n\ninterface CreatePackageManifestOptions extends PackageJsonWithoutVersion {\n gitRemote?: string\n\n isAppTemplate?: boolean\n}\n\nexport function createPackageManifest(data: CreatePackageManifestOptions): string {\n const {isAppTemplate} = data\n\n const dependencies = data.dependencies ? {dependencies: sortKeys(data.dependencies)} : {}\n\n const devDependencies = data.devDependencies\n ? {devDependencies: sortKeys(data.devDependencies)}\n : {}\n\n // Don't write a prettier config for SDK apps; we want to allow developers to use their own\n const prettierConfig = isAppTemplate\n ? ({} as Record<string, never>)\n : {\n prettier: {\n bracketSpacing: false,\n printWidth: 100,\n semi: false,\n singleQuote: true,\n },\n }\n\n const type = data.type\n ? {\n type: data.type,\n }\n : {}\n\n const pkg: PackageJson = {\n ...getCommonManifest(data),\n\n keywords: ['sanity'],\n main: 'package.json',\n ...type,\n scripts: data.scripts || {\n build: 'sanity build',\n deploy: 'sanity deploy',\n ...(isAppTemplate ? {} : {'deploy-graphql': 'sanity graphql deploy'}),\n dev: 'sanity dev',\n start: 'sanity start',\n },\n\n ...dependencies,\n ...devDependencies,\n ...prettierConfig,\n }\n\n return serializeManifest(pkg)\n}\n\nfunction getCommonManifest(data: PackageJsonWithoutVersion & {gitRemote?: string}) {\n const pkg: PackageJson = {\n name: data.name as string,\n version: '1.0.0',\n ...(data.author ? {author: data.author as string} : {}),\n ...(data.description ? {description: data.description as string} : {}),\n license: (data.license as string | undefined) || 'UNLICENSED',\n }\n\n if (pkg.license === 'UNLICENSED') {\n pkg.private = true\n }\n\n if (data.gitRemote) {\n pkg.repository = {\n type: 'git',\n url: data.gitRemote,\n }\n }\n\n return pkg\n}\n\nfunction sortKeys(obj: Record<string, string>): Record<string, string> {\n return Object.fromEntries(Object.entries(obj).toSorted(([a], [b]) => a.localeCompare(b)))\n}\n\nfunction serializeManifest(src: PackageJson | SanityJson): string {\n const props = [...manifestPropOrder, ...Object.keys(src)]\n const ordered: Record<string, unknown> = {}\n for (const prop of props) {\n const source = src as Record<string, unknown>\n if (source[prop] !== undefined && ordered[prop] === undefined) {\n ordered[prop] = source[prop]\n }\n }\n\n return `${JSON.stringify(ordered, null, 2)}\\n`\n}\n"],"names":["manifestPropOrder","createPackageManifest","data","isAppTemplate","dependencies","sortKeys","devDependencies","prettierConfig","prettier","bracketSpacing","printWidth","semi","singleQuote","type","pkg","getCommonManifest","keywords","main","scripts","build","deploy","dev","start","serializeManifest","name","version","author","description","license","private","gitRemote","repository","url","obj","Object","fromEntries","entries","toSorted","a","b","localeCompare","src","props","keys","ordered","prop","source","undefined","JSON","stringify"],"mappings":"AAEA,MAAMA,oBAAoB;IACxB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAeD,OAAO,SAASC,sBAAsBC,IAAkC;IACtE,MAAM,EAACC,aAAa,EAAC,GAAGD;IAExB,MAAME,eAAeF,KAAKE,YAAY,GAAG;QAACA,cAAcC,SAASH,KAAKE,YAAY;IAAC,IAAI,CAAC;IAExF,MAAME,kBAAkBJ,KAAKI,eAAe,GACxC;QAACA,iBAAiBD,SAASH,KAAKI,eAAe;IAAC,IAChD,CAAC;IAEL,2FAA2F;IAC3F,MAAMC,iBAAiBJ,gBAClB,CAAC,IACF;QACEK,UAAU;YACRC,gBAAgB;YAChBC,YAAY;YACZC,MAAM;YACNC,aAAa;QACf;IACF;IAEJ,MAAMC,OAAOX,KAAKW,IAAI,GAClB;QACEA,MAAMX,KAAKW,IAAI;IACjB,IACA,CAAC;IAEL,MAAMC,MAAmB;QACvB,GAAGC,kBAAkBb,KAAK;QAE1Bc,UAAU;YAAC;SAAS;QACpBC,MAAM;QACN,GAAGJ,IAAI;QACPK,SAAShB,KAAKgB,OAAO,IAAI;YACvBC,OAAO;YACPC,QAAQ;YACR,GAAIjB,gBAAgB,CAAC,IAAI;gBAAC,kBAAkB;YAAuB,CAAC;YACpEkB,KAAK;YACLC,OAAO;QACT;QAEA,GAAGlB,YAAY;QACf,GAAGE,eAAe;QAClB,GAAGC,cAAc;IACnB;IAEA,OAAOgB,kBAAkBT;AAC3B;AAEA,SAASC,kBAAkBb,IAAsD;IAC/E,MAAMY,MAAmB;QACvBU,MAAMtB,KAAKsB,IAAI;QACfC,SAAS;QACT,GAAIvB,KAAKwB,MAAM,GAAG;YAACA,QAAQxB,KAAKwB,MAAM;QAAU,IAAI,CAAC,CAAC;QACtD,GAAIxB,KAAKyB,WAAW,GAAG;YAACA,aAAazB,KAAKyB,WAAW;QAAU,IAAI,CAAC,CAAC;QACrEC,SAAS,AAAC1B,KAAK0B,OAAO,IAA2B;IACnD;IAEA,IAAId,IAAIc,OAAO,KAAK,cAAc;QAChCd,IAAIe,OAAO,GAAG;IAChB;IAEA,IAAI3B,KAAK4B,SAAS,EAAE;QAClBhB,IAAIiB,UAAU,GAAG;YACflB,MAAM;YACNmB,KAAK9B,KAAK4B,SAAS;QACrB;IACF;IAEA,OAAOhB;AACT;AAEA,SAAST,SAAS4B,GAA2B;IAC3C,OAAOC,OAAOC,WAAW,CAACD,OAAOE,OAAO,CAACH,KAAKI,QAAQ,CAAC,CAAC,CAACC,EAAE,EAAE,CAACC,EAAE,GAAKD,EAAEE,aAAa,CAACD;AACvF;AAEA,SAAShB,kBAAkBkB,GAA6B;IACtD,MAAMC,QAAQ;WAAI1C;WAAsBkC,OAAOS,IAAI,CAACF;KAAK;IACzD,MAAMG,UAAmC,CAAC;IAC1C,KAAK,MAAMC,QAAQH,MAAO;QACxB,MAAMI,SAASL;QACf,IAAIK,MAAM,CAACD,KAAK,KAAKE,aAAaH,OAAO,CAACC,KAAK,KAAKE,WAAW;YAC7DH,OAAO,CAACC,KAAK,GAAGC,MAAM,CAACD,KAAK;QAC9B;IACF;IAEA,OAAO,GAAGG,KAAKC,SAAS,CAACL,SAAS,MAAM,GAAG,EAAE,CAAC;AAChD"}
@@ -1,10 +1,10 @@
1
+ import { styleText } from 'node:util';
1
2
  import { CLIError } from '@oclif/core/errors';
2
- import { chalk } from '@sanity/cli-core/ux';
3
3
  import { writeEnvVarsToFile } from './writeEnvVarsToFile.js';
4
4
  export async function createOrAppendEnvVars({ envVars, filename, framework, log, output, outputPath }) {
5
5
  try {
6
6
  if (framework && framework.envPrefix && log) {
7
- output.log(`\nDetected framework ${chalk.blue(framework?.name)}, using prefix '${framework.envPrefix}'`);
7
+ output.log(`\nDetected framework ${styleText('blue', framework?.name ?? '')}, using prefix '${framework.envPrefix}'`);
8
8
  }
9
9
  await writeEnvVarsToFile({
10
10
  envVars,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/actions/init/env/createOrAppendEnvVars.ts"],"sourcesContent":["import {CLIError} from '@oclif/core/errors'\nimport {Output} from '@sanity/cli-core'\nimport {chalk} from '@sanity/cli-core/ux'\n\nimport {VersionedFramework} from '../types.js'\nimport {writeEnvVarsToFile} from './writeEnvVarsToFile.js'\n\ninterface CreateOrAppendEnvVarsOptions {\n envVars: Record<string, string>\n filename: string\n framework: VersionedFramework | null\n log: boolean\n output: Output\n outputPath: string\n}\n\nexport async function createOrAppendEnvVars({\n envVars,\n filename,\n framework,\n log,\n output,\n outputPath,\n}: CreateOrAppendEnvVarsOptions) {\n try {\n if (framework && framework.envPrefix && log) {\n output.log(\n `\\nDetected framework ${chalk.blue(framework?.name)}, using prefix '${\n framework.envPrefix\n }'`,\n )\n }\n\n await writeEnvVarsToFile({\n envVars,\n filename,\n framework,\n log,\n output,\n outputPath,\n })\n } catch (err) {\n output.error(err)\n throw new CLIError('An error occurred while creating .env', {exit: 1})\n }\n}\n"],"names":["CLIError","chalk","writeEnvVarsToFile","createOrAppendEnvVars","envVars","filename","framework","log","output","outputPath","envPrefix","blue","name","err","error","exit"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,qBAAoB;AAE3C,SAAQC,KAAK,QAAO,sBAAqB;AAGzC,SAAQC,kBAAkB,QAAO,0BAAyB;AAW1D,OAAO,eAAeC,sBAAsB,EAC1CC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,GAAG,EACHC,MAAM,EACNC,UAAU,EACmB;IAC7B,IAAI;QACF,IAAIH,aAAaA,UAAUI,SAAS,IAAIH,KAAK;YAC3CC,OAAOD,GAAG,CACR,CAAC,qBAAqB,EAAEN,MAAMU,IAAI,CAACL,WAAWM,MAAM,gBAAgB,EAClEN,UAAUI,SAAS,CACpB,CAAC,CAAC;QAEP;QAEA,MAAMR,mBAAmB;YACvBE;YACAC;YACAC;YACAC;YACAC;YACAC;QACF;IACF,EAAE,OAAOI,KAAK;QACZL,OAAOM,KAAK,CAACD;QACb,MAAM,IAAIb,SAAS,yCAAyC;YAACe,MAAM;QAAC;IACtE;AACF"}
1
+ {"version":3,"sources":["../../../../src/actions/init/env/createOrAppendEnvVars.ts"],"sourcesContent":["import {styleText} from 'node:util'\n\nimport {CLIError} from '@oclif/core/errors'\nimport {Output} from '@sanity/cli-core'\n\nimport {VersionedFramework} from '../types.js'\nimport {writeEnvVarsToFile} from './writeEnvVarsToFile.js'\n\ninterface CreateOrAppendEnvVarsOptions {\n envVars: Record<string, string>\n filename: string\n framework: VersionedFramework | null\n log: boolean\n output: Output\n outputPath: string\n}\n\nexport async function createOrAppendEnvVars({\n envVars,\n filename,\n framework,\n log,\n output,\n outputPath,\n}: CreateOrAppendEnvVarsOptions) {\n try {\n if (framework && framework.envPrefix && log) {\n output.log(\n `\\nDetected framework ${styleText('blue', framework?.name ?? '')}, using prefix '${\n framework.envPrefix\n }'`,\n )\n }\n\n await writeEnvVarsToFile({\n envVars,\n filename,\n framework,\n log,\n output,\n outputPath,\n })\n } catch (err) {\n output.error(err)\n throw new CLIError('An error occurred while creating .env', {exit: 1})\n }\n}\n"],"names":["styleText","CLIError","writeEnvVarsToFile","createOrAppendEnvVars","envVars","filename","framework","log","output","outputPath","envPrefix","name","err","error","exit"],"mappings":"AAAA,SAAQA,SAAS,QAAO,YAAW;AAEnC,SAAQC,QAAQ,QAAO,qBAAoB;AAI3C,SAAQC,kBAAkB,QAAO,0BAAyB;AAW1D,OAAO,eAAeC,sBAAsB,EAC1CC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,GAAG,EACHC,MAAM,EACNC,UAAU,EACmB;IAC7B,IAAI;QACF,IAAIH,aAAaA,UAAUI,SAAS,IAAIH,KAAK;YAC3CC,OAAOD,GAAG,CACR,CAAC,qBAAqB,EAAEP,UAAU,QAAQM,WAAWK,QAAQ,IAAI,gBAAgB,EAC/EL,UAAUI,SAAS,CACpB,CAAC,CAAC;QAEP;QAEA,MAAMR,mBAAmB;YACvBE;YACAC;YACAC;YACAC;YACAC;YACAC;QACF;IACF,EAAE,OAAOG,KAAK;QACZJ,OAAOK,KAAK,CAACD;QACb,MAAM,IAAIX,SAAS,yCAAyC;YAACa,MAAM;QAAC;IACtE;AACF"}
@@ -1,7 +1,7 @@
1
1
  import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
+ import { styleText } from 'node:util';
3
4
  import { subdebug } from '@sanity/cli-core';
4
- import { chalk } from '@sanity/cli-core/ux';
5
5
  import { parseAndUpdateEnvVars } from './parseAndUpdateEnvVars.js';
6
6
  const debug = subdebug('init:writeEnvVarsToFile');
7
7
  export async function writeEnvVarsToFile({ envVars, filename, framework, log, output, outputPath }) {
@@ -42,7 +42,7 @@ export async function writeEnvVarsToFile({ envVars, filename, framework, log, ou
42
42
  encoding: 'utf8'
43
43
  });
44
44
  if (log) {
45
- output.log(`\n${chalk.green('Success!')} Environment variables written to ${fileOutputPath}`);
45
+ output.log(`\n${styleText('green', 'Success!')} Environment variables written to ${fileOutputPath}`);
46
46
  }
47
47
  }
48
48
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/actions/init/env/writeEnvVarsToFile.ts"],"sourcesContent":["import fs from 'node:fs/promises'\nimport path from 'node:path'\n\nimport {Output, subdebug} from '@sanity/cli-core'\nimport {chalk} from '@sanity/cli-core/ux'\n\nimport {VersionedFramework} from '../types.js'\nimport {parseAndUpdateEnvVars} from './parseAndUpdateEnvVars.js'\n\nconst debug = subdebug('init:writeEnvVarsToFile')\n\ninterface WriteEnvVarsToFileOptions {\n envVars: Record<string, string>\n filename: string\n framework: VersionedFramework | null\n log: boolean\n output: Output\n outputPath: string\n}\n\nexport async function writeEnvVarsToFile({\n envVars,\n filename,\n framework,\n log,\n output,\n outputPath,\n}: WriteEnvVarsToFileOptions) {\n const envPrefix = framework?.envPrefix || ''\n const keyPrefix = envPrefix.includes('SANITY') ? envPrefix : `${envPrefix}SANITY_`\n const fileOutputPath = path.join(outputPath, filename)\n\n // prepend framework and sanity prefix to envVars\n for (const key of Object.keys(envVars)) {\n envVars[`${keyPrefix}${key}`] = envVars[key]\n delete envVars[key]\n }\n\n // make folder if not exists (if output path is specified)\n await fs\n .mkdir(outputPath, {recursive: true})\n .catch(() => debug('Error creating folder %s', outputPath))\n\n // time to update or create the file\n const existingEnv = await fs\n .readFile(fileOutputPath, {encoding: 'utf8'})\n .catch((err) => (err.code === 'ENOENT' ? '' : Promise.reject(err)))\n\n const updatedEnv = parseAndUpdateEnvVars({\n envVars,\n fileContents: existingEnv,\n log,\n output,\n })\n\n const warningComment = [\n '# Warning: Do not add secrets (API keys and similar) to this file, as it source controlled!',\n '# Use `.env.local` for any secrets, and ensure it is not added to source control',\n ].join('\\n')\n const shouldPrependWarning = filename !== '.env.local' && !existingEnv.includes(warningComment)\n if (shouldPrependWarning) {\n await fs.writeFile(fileOutputPath, `${warningComment}\\n\\n${updatedEnv}`, {\n encoding: 'utf8',\n })\n return\n }\n\n await fs.writeFile(fileOutputPath, updatedEnv, {\n encoding: 'utf8',\n })\n\n if (log) {\n output.log(`\\n${chalk.green('Success!')} Environment variables written to ${fileOutputPath}`)\n }\n}\n"],"names":["fs","path","subdebug","chalk","parseAndUpdateEnvVars","debug","writeEnvVarsToFile","envVars","filename","framework","log","output","outputPath","envPrefix","keyPrefix","includes","fileOutputPath","join","key","Object","keys","mkdir","recursive","catch","existingEnv","readFile","encoding","err","code","Promise","reject","updatedEnv","fileContents","warningComment","shouldPrependWarning","writeFile","green"],"mappings":"AAAA,OAAOA,QAAQ,mBAAkB;AACjC,OAAOC,UAAU,YAAW;AAE5B,SAAgBC,QAAQ,QAAO,mBAAkB;AACjD,SAAQC,KAAK,QAAO,sBAAqB;AAGzC,SAAQC,qBAAqB,QAAO,6BAA4B;AAEhE,MAAMC,QAAQH,SAAS;AAWvB,OAAO,eAAeI,mBAAmB,EACvCC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,GAAG,EACHC,MAAM,EACNC,UAAU,EACgB;IAC1B,MAAMC,YAAYJ,WAAWI,aAAa;IAC1C,MAAMC,YAAYD,UAAUE,QAAQ,CAAC,YAAYF,YAAY,GAAGA,UAAU,OAAO,CAAC;IAClF,MAAMG,iBAAiBf,KAAKgB,IAAI,CAACL,YAAYJ;IAE7C,iDAAiD;IACjD,KAAK,MAAMU,OAAOC,OAAOC,IAAI,CAACb,SAAU;QACtCA,OAAO,CAAC,GAAGO,YAAYI,KAAK,CAAC,GAAGX,OAAO,CAACW,IAAI;QAC5C,OAAOX,OAAO,CAACW,IAAI;IACrB;IAEA,0DAA0D;IAC1D,MAAMlB,GACHqB,KAAK,CAACT,YAAY;QAACU,WAAW;IAAI,GAClCC,KAAK,CAAC,IAAMlB,MAAM,4BAA4BO;IAEjD,oCAAoC;IACpC,MAAMY,cAAc,MAAMxB,GACvByB,QAAQ,CAACT,gBAAgB;QAACU,UAAU;IAAM,GAC1CH,KAAK,CAAC,CAACI,MAASA,IAAIC,IAAI,KAAK,WAAW,KAAKC,QAAQC,MAAM,CAACH;IAE/D,MAAMI,aAAa3B,sBAAsB;QACvCG;QACAyB,cAAcR;QACdd;QACAC;IACF;IAEA,MAAMsB,iBAAiB;QACrB;QACA;KACD,CAAChB,IAAI,CAAC;IACP,MAAMiB,uBAAuB1B,aAAa,gBAAgB,CAACgB,YAAYT,QAAQ,CAACkB;IAChF,IAAIC,sBAAsB;QACxB,MAAMlC,GAAGmC,SAAS,CAACnB,gBAAgB,GAAGiB,eAAe,IAAI,EAAEF,YAAY,EAAE;YACvEL,UAAU;QACZ;QACA;IACF;IAEA,MAAM1B,GAAGmC,SAAS,CAACnB,gBAAgBe,YAAY;QAC7CL,UAAU;IACZ;IAEA,IAAIhB,KAAK;QACPC,OAAOD,GAAG,CAAC,CAAC,EAAE,EAAEP,MAAMiC,KAAK,CAAC,YAAY,kCAAkC,EAAEpB,gBAAgB;IAC9F;AACF"}
1
+ {"version":3,"sources":["../../../../src/actions/init/env/writeEnvVarsToFile.ts"],"sourcesContent":["import fs from 'node:fs/promises'\nimport path from 'node:path'\nimport {styleText} from 'node:util'\n\nimport {Output, subdebug} from '@sanity/cli-core'\n\nimport {VersionedFramework} from '../types.js'\nimport {parseAndUpdateEnvVars} from './parseAndUpdateEnvVars.js'\n\nconst debug = subdebug('init:writeEnvVarsToFile')\n\ninterface WriteEnvVarsToFileOptions {\n envVars: Record<string, string>\n filename: string\n framework: VersionedFramework | null\n log: boolean\n output: Output\n outputPath: string\n}\n\nexport async function writeEnvVarsToFile({\n envVars,\n filename,\n framework,\n log,\n output,\n outputPath,\n}: WriteEnvVarsToFileOptions) {\n const envPrefix = framework?.envPrefix || ''\n const keyPrefix = envPrefix.includes('SANITY') ? envPrefix : `${envPrefix}SANITY_`\n const fileOutputPath = path.join(outputPath, filename)\n\n // prepend framework and sanity prefix to envVars\n for (const key of Object.keys(envVars)) {\n envVars[`${keyPrefix}${key}`] = envVars[key]\n delete envVars[key]\n }\n\n // make folder if not exists (if output path is specified)\n await fs\n .mkdir(outputPath, {recursive: true})\n .catch(() => debug('Error creating folder %s', outputPath))\n\n // time to update or create the file\n const existingEnv = await fs\n .readFile(fileOutputPath, {encoding: 'utf8'})\n .catch((err) => (err.code === 'ENOENT' ? '' : Promise.reject(err)))\n\n const updatedEnv = parseAndUpdateEnvVars({\n envVars,\n fileContents: existingEnv,\n log,\n output,\n })\n\n const warningComment = [\n '# Warning: Do not add secrets (API keys and similar) to this file, as it source controlled!',\n '# Use `.env.local` for any secrets, and ensure it is not added to source control',\n ].join('\\n')\n const shouldPrependWarning = filename !== '.env.local' && !existingEnv.includes(warningComment)\n if (shouldPrependWarning) {\n await fs.writeFile(fileOutputPath, `${warningComment}\\n\\n${updatedEnv}`, {\n encoding: 'utf8',\n })\n return\n }\n\n await fs.writeFile(fileOutputPath, updatedEnv, {\n encoding: 'utf8',\n })\n\n if (log) {\n output.log(\n `\\n${styleText('green', 'Success!')} Environment variables written to ${fileOutputPath}`,\n )\n }\n}\n"],"names":["fs","path","styleText","subdebug","parseAndUpdateEnvVars","debug","writeEnvVarsToFile","envVars","filename","framework","log","output","outputPath","envPrefix","keyPrefix","includes","fileOutputPath","join","key","Object","keys","mkdir","recursive","catch","existingEnv","readFile","encoding","err","code","Promise","reject","updatedEnv","fileContents","warningComment","shouldPrependWarning","writeFile"],"mappings":"AAAA,OAAOA,QAAQ,mBAAkB;AACjC,OAAOC,UAAU,YAAW;AAC5B,SAAQC,SAAS,QAAO,YAAW;AAEnC,SAAgBC,QAAQ,QAAO,mBAAkB;AAGjD,SAAQC,qBAAqB,QAAO,6BAA4B;AAEhE,MAAMC,QAAQF,SAAS;AAWvB,OAAO,eAAeG,mBAAmB,EACvCC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,GAAG,EACHC,MAAM,EACNC,UAAU,EACgB;IAC1B,MAAMC,YAAYJ,WAAWI,aAAa;IAC1C,MAAMC,YAAYD,UAAUE,QAAQ,CAAC,YAAYF,YAAY,GAAGA,UAAU,OAAO,CAAC;IAClF,MAAMG,iBAAiBf,KAAKgB,IAAI,CAACL,YAAYJ;IAE7C,iDAAiD;IACjD,KAAK,MAAMU,OAAOC,OAAOC,IAAI,CAACb,SAAU;QACtCA,OAAO,CAAC,GAAGO,YAAYI,KAAK,CAAC,GAAGX,OAAO,CAACW,IAAI;QAC5C,OAAOX,OAAO,CAACW,IAAI;IACrB;IAEA,0DAA0D;IAC1D,MAAMlB,GACHqB,KAAK,CAACT,YAAY;QAACU,WAAW;IAAI,GAClCC,KAAK,CAAC,IAAMlB,MAAM,4BAA4BO;IAEjD,oCAAoC;IACpC,MAAMY,cAAc,MAAMxB,GACvByB,QAAQ,CAACT,gBAAgB;QAACU,UAAU;IAAM,GAC1CH,KAAK,CAAC,CAACI,MAASA,IAAIC,IAAI,KAAK,WAAW,KAAKC,QAAQC,MAAM,CAACH;IAE/D,MAAMI,aAAa3B,sBAAsB;QACvCG;QACAyB,cAAcR;QACdd;QACAC;IACF;IAEA,MAAMsB,iBAAiB;QACrB;QACA;KACD,CAAChB,IAAI,CAAC;IACP,MAAMiB,uBAAuB1B,aAAa,gBAAgB,CAACgB,YAAYT,QAAQ,CAACkB;IAChF,IAAIC,sBAAsB;QACxB,MAAMlC,GAAGmC,SAAS,CAACnB,gBAAgB,GAAGiB,eAAe,IAAI,EAAEF,YAAY,EAAE;YACvEL,UAAU;QACZ;QACA;IACF;IAEA,MAAM1B,GAAGmC,SAAS,CAACnB,gBAAgBe,YAAY;QAC7CL,UAAU;IACZ;IAEA,IAAIhB,KAAK;QACPC,OAAOD,GAAG,CACR,CAAC,EAAE,EAAER,UAAU,SAAS,YAAY,kCAAkC,EAAEc,gBAAgB;IAE5F;AACF"}
@@ -1,10 +1,10 @@
1
- import { chalk } from '@sanity/cli-core/ux';
1
+ import { styleText } from 'node:util';
2
2
  import { getPostInitPrompt } from '../../services/mcp.js';
3
3
  const DEFAULT_MESSAGE = 'To set up your project with the MCP server, restart {{editorNames}} and type **"Get started with Sanity"** in the chat.';
4
4
  /**
5
5
  * Applies cyan formatting to text wrapped in **markers**.
6
6
  */ function applyCyanFormatting(text) {
7
- return text.replaceAll(/\*\*([^*]+)\*\*/g, (_, content)=>chalk.cyan(content));
7
+ return text.replaceAll(/\*\*([^*]+)\*\*/g, (_, content)=>styleText('cyan', content));
8
8
  }
9
9
  /**
10
10
  * Interpolates the editor names into the template.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/init/fetchPostInitPrompt.ts"],"sourcesContent":["import {chalk} from '@sanity/cli-core/ux'\n\nimport {getPostInitPrompt} from '../../services/mcp.js'\n\nconst DEFAULT_MESSAGE =\n 'To set up your project with the MCP server, restart {{editorNames}} and type **\"Get started with Sanity\"** in the chat.'\n\n/**\n * Applies cyan formatting to text wrapped in **markers**.\n */\nfunction applyCyanFormatting(text: string): string {\n return text.replaceAll(/\\*\\*([^*]+)\\*\\*/g, (_, content) => chalk.cyan(content))\n}\n\n/**\n * Interpolates the editor names into the template.\n */\nfunction interpolateTemplate(template: string, editorNames: string): string {\n return template.replaceAll('{{editorNames}}', editorNames)\n}\n\n/**\n * Fetches the post-init MCP prompt from the Journey API and interpolates editor names.\n * Falls back to a hardcoded default if the API call fails, times out, or returns empty.\n * Text wrapped in **markers** will be formatted with cyan color.\n */\nexport async function fetchPostInitPrompt(editorNames: string): Promise<string> {\n try {\n const data = await getPostInitPrompt()\n const template = data?.message || DEFAULT_MESSAGE\n const interpolated = interpolateTemplate(template, editorNames)\n return applyCyanFormatting(interpolated)\n } catch {\n const interpolated = interpolateTemplate(DEFAULT_MESSAGE, editorNames)\n return applyCyanFormatting(interpolated)\n }\n}\n"],"names":["chalk","getPostInitPrompt","DEFAULT_MESSAGE","applyCyanFormatting","text","replaceAll","_","content","cyan","interpolateTemplate","template","editorNames","fetchPostInitPrompt","data","message","interpolated"],"mappings":"AAAA,SAAQA,KAAK,QAAO,sBAAqB;AAEzC,SAAQC,iBAAiB,QAAO,wBAAuB;AAEvD,MAAMC,kBACJ;AAEF;;CAEC,GACD,SAASC,oBAAoBC,IAAY;IACvC,OAAOA,KAAKC,UAAU,CAAC,oBAAoB,CAACC,GAAGC,UAAYP,MAAMQ,IAAI,CAACD;AACxE;AAEA;;CAEC,GACD,SAASE,oBAAoBC,QAAgB,EAAEC,WAAmB;IAChE,OAAOD,SAASL,UAAU,CAAC,mBAAmBM;AAChD;AAEA;;;;CAIC,GACD,OAAO,eAAeC,oBAAoBD,WAAmB;IAC3D,IAAI;QACF,MAAME,OAAO,MAAMZ;QACnB,MAAMS,WAAWG,MAAMC,WAAWZ;QAClC,MAAMa,eAAeN,oBAAoBC,UAAUC;QACnD,OAAOR,oBAAoBY;IAC7B,EAAE,OAAM;QACN,MAAMA,eAAeN,oBAAoBP,iBAAiBS;QAC1D,OAAOR,oBAAoBY;IAC7B;AACF"}
1
+ {"version":3,"sources":["../../../src/actions/init/fetchPostInitPrompt.ts"],"sourcesContent":["import {styleText} from 'node:util'\n\nimport {getPostInitPrompt} from '../../services/mcp.js'\n\nconst DEFAULT_MESSAGE =\n 'To set up your project with the MCP server, restart {{editorNames}} and type **\"Get started with Sanity\"** in the chat.'\n\n/**\n * Applies cyan formatting to text wrapped in **markers**.\n */\nfunction applyCyanFormatting(text: string): string {\n return text.replaceAll(/\\*\\*([^*]+)\\*\\*/g, (_, content) => styleText('cyan', content))\n}\n\n/**\n * Interpolates the editor names into the template.\n */\nfunction interpolateTemplate(template: string, editorNames: string): string {\n return template.replaceAll('{{editorNames}}', editorNames)\n}\n\n/**\n * Fetches the post-init MCP prompt from the Journey API and interpolates editor names.\n * Falls back to a hardcoded default if the API call fails, times out, or returns empty.\n * Text wrapped in **markers** will be formatted with cyan color.\n */\nexport async function fetchPostInitPrompt(editorNames: string): Promise<string> {\n try {\n const data = await getPostInitPrompt()\n const template = data?.message || DEFAULT_MESSAGE\n const interpolated = interpolateTemplate(template, editorNames)\n return applyCyanFormatting(interpolated)\n } catch {\n const interpolated = interpolateTemplate(DEFAULT_MESSAGE, editorNames)\n return applyCyanFormatting(interpolated)\n }\n}\n"],"names":["styleText","getPostInitPrompt","DEFAULT_MESSAGE","applyCyanFormatting","text","replaceAll","_","content","interpolateTemplate","template","editorNames","fetchPostInitPrompt","data","message","interpolated"],"mappings":"AAAA,SAAQA,SAAS,QAAO,YAAW;AAEnC,SAAQC,iBAAiB,QAAO,wBAAuB;AAEvD,MAAMC,kBACJ;AAEF;;CAEC,GACD,SAASC,oBAAoBC,IAAY;IACvC,OAAOA,KAAKC,UAAU,CAAC,oBAAoB,CAACC,GAAGC,UAAYP,UAAU,QAAQO;AAC/E;AAEA;;CAEC,GACD,SAASC,oBAAoBC,QAAgB,EAAEC,WAAmB;IAChE,OAAOD,SAASJ,UAAU,CAAC,mBAAmBK;AAChD;AAEA;;;;CAIC,GACD,OAAO,eAAeC,oBAAoBD,WAAmB;IAC3D,IAAI;QACF,MAAME,OAAO,MAAMX;QACnB,MAAMQ,WAAWG,MAAMC,WAAWX;QAClC,MAAMY,eAAeN,oBAAoBC,UAAUC;QACnD,OAAOP,oBAAoBW;IAC7B,EAAE,OAAM;QACN,MAAMA,eAAeN,oBAAoBN,iBAAiBQ;QAC1D,OAAOP,oBAAoBW;IAC7B;AACF"}
@@ -2,10 +2,9 @@ import { access, readFile, writeFile } from 'node:fs/promises';
2
2
  import { join, posix, sep } from 'node:path';
3
3
  import { Readable } from 'node:stream';
4
4
  import { pipeline } from 'node:stream/promises';
5
- import { subdebug } from '@sanity/cli-core';
5
+ import { readPackageJson, subdebug } from '@sanity/cli-core';
6
6
  import { ENV_TEMPLATE_FILES, REQUIRED_ENV_VAR } from '@sanity/template-validator';
7
7
  import { x } from 'tar';
8
- import { readPackageJson } from '../../util/readPackageJson.js';
9
8
  const debug = subdebug('remoteTemplate');
10
9
  const DISALLOWED_PATHS = [
11
10
  // Prevent security risks from unknown GitHub Actions