@sanity/cli 6.0.0-alpha.5 → 6.0.0-alpha.6

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 (461) hide show
  1. package/dist/actions/dataset/create.d.ts +49 -0
  2. package/dist/actions/dataset/create.js +48 -0
  3. package/dist/actions/dataset/create.js.map +1 -0
  4. package/dist/actions/dataset/determineDatasetAclMode.d.ts +37 -0
  5. package/dist/actions/dataset/determineDatasetAclMode.js +36 -0
  6. package/dist/actions/dataset/determineDatasetAclMode.js.map +1 -0
  7. package/dist/actions/debug/gatherDebugInfo.js +15 -21
  8. package/dist/actions/debug/gatherDebugInfo.js.map +1 -1
  9. package/dist/actions/debug/types.d.ts +0 -2
  10. package/dist/actions/debug/types.js.map +1 -1
  11. package/dist/actions/deploy/deployApp.js +13 -0
  12. package/dist/actions/deploy/deployApp.js.map +1 -1
  13. package/dist/actions/init/remoteTemplate.js +1 -1
  14. package/dist/actions/init/remoteTemplate.js.map +1 -1
  15. package/dist/actions/manifest/extractAppManifest.d.ts +20 -0
  16. package/dist/actions/manifest/extractAppManifest.js +51 -0
  17. package/dist/actions/manifest/extractAppManifest.js.map +1 -0
  18. package/dist/actions/manifest/extractManifest.js +1 -1
  19. package/dist/actions/manifest/extractManifest.js.map +1 -1
  20. package/dist/actions/manifest/types.d.ts +6 -1
  21. package/dist/actions/manifest/types.js.map +1 -1
  22. package/dist/actions/media/importAspects.js +2 -1
  23. package/dist/actions/media/importAspects.js.map +1 -1
  24. package/dist/actions/schema/utils/uniqByProjectIdDataset.d.ts +1 -1
  25. package/dist/commands/dataset/create.d.ts +0 -2
  26. package/dist/commands/dataset/create.js +8 -54
  27. package/dist/commands/dataset/create.js.map +1 -1
  28. package/dist/commands/debug.js +5 -9
  29. package/dist/commands/debug.js.map +1 -1
  30. package/dist/commands/init.d.ts +6 -1
  31. package/dist/commands/init.js +358 -20
  32. package/dist/commands/init.js.map +1 -1
  33. package/dist/commands/manifest/extract.js +7 -8
  34. package/dist/commands/manifest/extract.js.map +1 -1
  35. package/dist/config/createCliConfig.d.ts +9 -0
  36. package/dist/prompts/init/promptForTypescript.d.ts +2 -0
  37. package/dist/prompts/init/promptForTypescript.js +15 -0
  38. package/dist/prompts/init/promptForTypescript.js.map +1 -0
  39. package/dist/prompts/promptForDatasetAclMode.d.ts +9 -0
  40. package/dist/prompts/promptForDatasetAclMode.js +27 -0
  41. package/dist/prompts/promptForDatasetAclMode.js.map +1 -0
  42. package/dist/prompts/promptForDatasetName.d.ts +1 -1
  43. package/dist/prompts/promptForDatasetName.js +4 -1
  44. package/dist/prompts/promptForDatasetName.js.map +1 -1
  45. package/dist/services/organizations.d.ts +3 -1
  46. package/dist/services/organizations.js +2 -1
  47. package/dist/services/organizations.js.map +1 -1
  48. package/dist/services/user.d.ts +5 -0
  49. package/dist/services/user.js +12 -1
  50. package/dist/services/user.js.map +1 -1
  51. package/dist/services/userApplications.d.ts +3 -1
  52. package/dist/services/userApplications.js +5 -1
  53. package/dist/services/userApplications.js.map +1 -1
  54. package/oclif.manifest.json +113 -113
  55. package/package.json +16 -12
  56. package/templates/app-quickstart/src/App.css +20 -0
  57. package/templates/app-quickstart/src/App.tsx +25 -0
  58. package/templates/app-quickstart/src/ExampleComponent.css +90 -0
  59. package/templates/app-quickstart/src/ExampleComponent.tsx +37 -0
  60. package/templates/app-sanity-ui/src/App.tsx +34 -0
  61. package/templates/app-sanity-ui/src/ExampleComponent.tsx +34 -0
  62. package/templates/app-sanity-ui/src/SanityUI.tsx +23 -0
  63. package/templates/blog/README.md +11 -0
  64. package/templates/blog/schemaTypes/author.js +50 -0
  65. package/templates/blog/schemaTypes/blockContent.js +67 -0
  66. package/templates/blog/schemaTypes/category.js +19 -0
  67. package/templates/blog/schemaTypes/index.js +6 -0
  68. package/templates/blog/schemaTypes/post.js +65 -0
  69. package/templates/blog/static/.gitkeep +1 -0
  70. package/templates/clean/README.md +9 -0
  71. package/templates/clean/schemaTypes/index.js +1 -0
  72. package/templates/clean/static/.gitkeep +1 -0
  73. package/templates/ecommerce/README.md +11 -0
  74. package/templates/ecommerce/plugins/.gitkeep +1 -0
  75. package/templates/ecommerce/plugins/barcode-input/BarcodeInput.js +62 -0
  76. package/templates/ecommerce/plugins/barcode-input/index.js +9 -0
  77. package/templates/ecommerce/plugins/barcode-input/schemaType.js +60 -0
  78. package/templates/ecommerce/schemaTypes/blockContent.js +67 -0
  79. package/templates/ecommerce/schemaTypes/category.js +39 -0
  80. package/templates/ecommerce/schemaTypes/index.js +23 -0
  81. package/templates/ecommerce/schemaTypes/locale/localeBlockContent.js +19 -0
  82. package/templates/ecommerce/schemaTypes/locale/localeString.js +19 -0
  83. package/templates/ecommerce/schemaTypes/locale/localeText.js +19 -0
  84. package/templates/ecommerce/schemaTypes/locale/supportedLanguages.js +5 -0
  85. package/templates/ecommerce/schemaTypes/product.js +83 -0
  86. package/templates/ecommerce/schemaTypes/productVariant.js +52 -0
  87. package/templates/ecommerce/schemaTypes/vendor.js +39 -0
  88. package/templates/ecommerce/static/.gitkeep +1 -0
  89. package/templates/get-started/README.md +9 -0
  90. package/templates/get-started/plugins/.gitkeep +1 -0
  91. package/templates/get-started/plugins/sanity-plugin-tutorial/CustomDefaultLayout.tsx +16 -0
  92. package/templates/get-started/plugins/sanity-plugin-tutorial/GetStartedTutorial.tsx +104 -0
  93. package/templates/get-started/plugins/sanity-plugin-tutorial/index.ts +11 -0
  94. package/templates/get-started/schemaTypes/index.ts +1 -0
  95. package/templates/get-started/static/.gitkeep +1 -0
  96. package/templates/moviedb/README.md +10 -0
  97. package/templates/moviedb/schemaTypes/blockContent.js +67 -0
  98. package/templates/moviedb/schemaTypes/castMember.js +37 -0
  99. package/templates/moviedb/schemaTypes/crewMember.js +52 -0
  100. package/templates/moviedb/schemaTypes/index.js +22 -0
  101. package/templates/moviedb/schemaTypes/movie.js +85 -0
  102. package/templates/moviedb/schemaTypes/person.js +37 -0
  103. package/templates/moviedb/schemaTypes/plotSummaries.js +20 -0
  104. package/templates/moviedb/schemaTypes/plotSummary.js +24 -0
  105. package/templates/moviedb/schemaTypes/screening.js +81 -0
  106. package/templates/moviedb/static/.gitkeep +1 -0
  107. package/templates/quickstart/README.md +9 -0
  108. package/templates/quickstart/schemaTypes/index.js +1 -0
  109. package/templates/quickstart/static/.gitkeep +1 -0
  110. package/templates/shared/gitignore.txt +29 -0
  111. package/templates/shared/tsconfig.json +17 -0
  112. package/templates/shopify/README.md +85 -0
  113. package/templates/shopify/components/hotspots/ProductTooltip.tsx +38 -0
  114. package/templates/shopify/components/icons/Shopify.tsx +20 -0
  115. package/templates/shopify/components/inputs/CollectionHidden.tsx +23 -0
  116. package/templates/shopify/components/inputs/PlaceholderString.tsx +20 -0
  117. package/templates/shopify/components/inputs/ProductHidden.tsx +64 -0
  118. package/templates/shopify/components/inputs/ProductVariantHidden.tsx +24 -0
  119. package/templates/shopify/components/inputs/ProxyString.tsx +32 -0
  120. package/templates/shopify/components/media/ColorTheme.tsx +38 -0
  121. package/templates/shopify/components/media/ShopifyDocumentStatus.tsx +82 -0
  122. package/templates/shopify/components/studio/Navbar.tsx +29 -0
  123. package/templates/shopify/constants.ts +61 -0
  124. package/templates/shopify/docs/features.md +158 -0
  125. package/templates/shopify/plugins/customDocumentActions/index.ts +55 -0
  126. package/templates/shopify/plugins/customDocumentActions/shopifyDelete.tsx +144 -0
  127. package/templates/shopify/plugins/customDocumentActions/shopifyLink.ts +39 -0
  128. package/templates/shopify/plugins/customDocumentActions/types.ts +14 -0
  129. package/templates/shopify/schemaTypes/documents/collection.tsx +142 -0
  130. package/templates/shopify/schemaTypes/documents/colorTheme.tsx +44 -0
  131. package/templates/shopify/schemaTypes/documents/page.ts +70 -0
  132. package/templates/shopify/schemaTypes/documents/product.tsx +132 -0
  133. package/templates/shopify/schemaTypes/documents/productVariant.tsx +67 -0
  134. package/templates/shopify/schemaTypes/index.ts +108 -0
  135. package/templates/shopify/schemaTypes/objects/collection/collectionGroupType.ts +27 -0
  136. package/templates/shopify/schemaTypes/objects/collection/collectionLinksType.ts +16 -0
  137. package/templates/shopify/schemaTypes/objects/customProductOption/customProductOptionColorObjectType.tsx +48 -0
  138. package/templates/shopify/schemaTypes/objects/customProductOption/customProductOptionColorType.tsx +50 -0
  139. package/templates/shopify/schemaTypes/objects/customProductOption/customProductOptionSizeObjectType.ts +40 -0
  140. package/templates/shopify/schemaTypes/objects/customProductOption/customProductOptionSizeType.ts +49 -0
  141. package/templates/shopify/schemaTypes/objects/global/footerType.ts +22 -0
  142. package/templates/shopify/schemaTypes/objects/global/menuLinksType.ts +21 -0
  143. package/templates/shopify/schemaTypes/objects/global/menuType.ts +17 -0
  144. package/templates/shopify/schemaTypes/objects/global/notFoundPageType.ts +37 -0
  145. package/templates/shopify/schemaTypes/objects/hotspot/imageWithProductHotspotsType.ts +48 -0
  146. package/templates/shopify/schemaTypes/objects/hotspot/productHotspotsType.tsx +17 -0
  147. package/templates/shopify/schemaTypes/objects/hotspot/spotType.tsx +60 -0
  148. package/templates/shopify/schemaTypes/objects/link/linkEmailType.tsx +34 -0
  149. package/templates/shopify/schemaTypes/objects/link/linkExternalType.tsx +37 -0
  150. package/templates/shopify/schemaTypes/objects/link/linkInternalType.tsx +33 -0
  151. package/templates/shopify/schemaTypes/objects/link/linkProductType.tsx +60 -0
  152. package/templates/shopify/schemaTypes/objects/module/accordionGroupType.ts +33 -0
  153. package/templates/shopify/schemaTypes/objects/module/accordionType.ts +28 -0
  154. package/templates/shopify/schemaTypes/objects/module/callToActionType.tsx +85 -0
  155. package/templates/shopify/schemaTypes/objects/module/calloutType.ts +38 -0
  156. package/templates/shopify/schemaTypes/objects/module/collectionReferenceType.tsx +47 -0
  157. package/templates/shopify/schemaTypes/objects/module/gridItemType.ts +41 -0
  158. package/templates/shopify/schemaTypes/objects/module/gridType.ts +28 -0
  159. package/templates/shopify/schemaTypes/objects/module/heroType.tsx +40 -0
  160. package/templates/shopify/schemaTypes/objects/module/imageCallToActionType.tsx +19 -0
  161. package/templates/shopify/schemaTypes/objects/module/imageFeatureType.ts +80 -0
  162. package/templates/shopify/schemaTypes/objects/module/imageFeaturesType.tsx +51 -0
  163. package/templates/shopify/schemaTypes/objects/module/instagramType.ts +35 -0
  164. package/templates/shopify/schemaTypes/objects/module/productFeaturesType.tsx +50 -0
  165. package/templates/shopify/schemaTypes/objects/module/productReferenceType.tsx +42 -0
  166. package/templates/shopify/schemaTypes/objects/seoType.ts +31 -0
  167. package/templates/shopify/schemaTypes/objects/shopify/collectionRuleType.tsx +37 -0
  168. package/templates/shopify/schemaTypes/objects/shopify/inventoryType.ts +25 -0
  169. package/templates/shopify/schemaTypes/objects/shopify/optionType.tsx +31 -0
  170. package/templates/shopify/schemaTypes/objects/shopify/placeholderStringType.ts +11 -0
  171. package/templates/shopify/schemaTypes/objects/shopify/priceRangeType.ts +20 -0
  172. package/templates/shopify/schemaTypes/objects/shopify/productWithVariantType.tsx +142 -0
  173. package/templates/shopify/schemaTypes/objects/shopify/proxyStringType.ts +12 -0
  174. package/templates/shopify/schemaTypes/objects/shopify/shopType.ts +15 -0
  175. package/templates/shopify/schemaTypes/objects/shopify/shopifyCollectionType.ts +84 -0
  176. package/templates/shopify/schemaTypes/objects/shopify/shopifyProductType.ts +131 -0
  177. package/templates/shopify/schemaTypes/objects/shopify/shopifyProductVariantType.ts +121 -0
  178. package/templates/shopify/schemaTypes/portableText/portableTextSimpleType.tsx +45 -0
  179. package/templates/shopify/schemaTypes/portableText/portableTextType.tsx +52 -0
  180. package/templates/shopify/schemaTypes/singletons/homeType.ts +49 -0
  181. package/templates/shopify/schemaTypes/singletons/settingsType.ts +96 -0
  182. package/templates/shopify/static/.gitkeep +1 -0
  183. package/templates/shopify/structure/collectionStructure.ts +9 -0
  184. package/templates/shopify/structure/colorThemeStructure.ts +9 -0
  185. package/templates/shopify/structure/homeStructure.ts +9 -0
  186. package/templates/shopify/structure/index.ts +57 -0
  187. package/templates/shopify/structure/pageStructure.ts +11 -0
  188. package/templates/shopify/structure/productStructure.ts +51 -0
  189. package/templates/shopify/structure/settingStructure.ts +9 -0
  190. package/templates/shopify/utils/blocksToText.ts +20 -0
  191. package/templates/shopify/utils/defineStructure.ts +11 -0
  192. package/templates/shopify/utils/getPriceRange.ts +24 -0
  193. package/templates/shopify/utils/shopifyUrls.ts +22 -0
  194. package/templates/shopify/utils/validateSlug.ts +18 -0
  195. package/templates/shopify-online-storefront/README.md +54 -0
  196. package/templates/shopify-online-storefront/components/icons/Shopify.tsx +22 -0
  197. package/templates/shopify-online-storefront/components/inputs/CollectionHidden.tsx +23 -0
  198. package/templates/shopify-online-storefront/components/inputs/PlaceholderString.tsx +25 -0
  199. package/templates/shopify-online-storefront/components/inputs/ProductHidden.tsx +66 -0
  200. package/templates/shopify-online-storefront/components/inputs/ProductVariantHidden.tsx +25 -0
  201. package/templates/shopify-online-storefront/components/inputs/ProxyString.tsx +38 -0
  202. package/templates/shopify-online-storefront/components/media/ShopifyDocumentStatus.tsx +83 -0
  203. package/templates/shopify-online-storefront/constants.ts +18 -0
  204. package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/index.ts +45 -0
  205. package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/shopifyDelete.tsx +144 -0
  206. package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/shopifyLink.ts +39 -0
  207. package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/types.ts +14 -0
  208. package/templates/shopify-online-storefront/schemaTypes/blocks/blockContent.ts +32 -0
  209. package/templates/shopify-online-storefront/schemaTypes/documents/collection.tsx +83 -0
  210. package/templates/shopify-online-storefront/schemaTypes/documents/product.tsx +102 -0
  211. package/templates/shopify-online-storefront/schemaTypes/documents/productVariant.tsx +82 -0
  212. package/templates/shopify-online-storefront/schemaTypes/index.ts +43 -0
  213. package/templates/shopify-online-storefront/schemaTypes/objects/accordion.ts +31 -0
  214. package/templates/shopify-online-storefront/schemaTypes/objects/accordionGroup.ts +35 -0
  215. package/templates/shopify-online-storefront/schemaTypes/objects/callout.ts +40 -0
  216. package/templates/shopify-online-storefront/schemaTypes/objects/inventory.ts +30 -0
  217. package/templates/shopify-online-storefront/schemaTypes/objects/option.ts +30 -0
  218. package/templates/shopify-online-storefront/schemaTypes/objects/priceRange.ts +22 -0
  219. package/templates/shopify-online-storefront/schemaTypes/objects/proxyString.ts +11 -0
  220. package/templates/shopify-online-storefront/schemaTypes/objects/shopifyCollection.ts +109 -0
  221. package/templates/shopify-online-storefront/schemaTypes/objects/shopifyCollectionRule.tsx +45 -0
  222. package/templates/shopify-online-storefront/schemaTypes/objects/shopifyProduct.ts +165 -0
  223. package/templates/shopify-online-storefront/schemaTypes/objects/shopifyProductVariant.ts +151 -0
  224. package/templates/shopify-online-storefront/structure/collectionStructure.ts +9 -0
  225. package/templates/shopify-online-storefront/structure/index.ts +37 -0
  226. package/templates/shopify-online-storefront/structure/productStructure.ts +35 -0
  227. package/templates/shopify-online-storefront/utils/defineStructure.ts +11 -0
  228. package/templates/shopify-online-storefront/utils/getPriceRange.ts +24 -0
  229. package/templates/shopify-online-storefront/utils/shopifyUrls.ts +22 -0
  230. package/dist/actions/build/__tests__/buildApp.test.js +0 -367
  231. package/dist/actions/build/__tests__/buildApp.test.js.map +0 -1
  232. package/dist/actions/build/__tests__/buildStudio.test.js +0 -561
  233. package/dist/actions/build/__tests__/buildStudio.test.js.map +0 -1
  234. package/dist/actions/build/__tests__/checkRequiredDependencies.test.js +0 -233
  235. package/dist/actions/build/__tests__/checkRequiredDependencies.test.js.map +0 -1
  236. package/dist/actions/build/__tests__/checkStudioDependencyVersions.test.js +0 -414
  237. package/dist/actions/build/__tests__/checkStudioDependencyVersions.test.js.map +0 -1
  238. package/dist/actions/build/__tests__/determineBasePath.test.js +0 -24
  239. package/dist/actions/build/__tests__/determineBasePath.test.js.map +0 -1
  240. package/dist/actions/build/__tests__/getAutoUpdatesImportMap.test.js +0 -109
  241. package/dist/actions/build/__tests__/getAutoUpdatesImportMap.test.js.map +0 -1
  242. package/dist/actions/build/__tests__/getViteConfig.test.js +0 -493
  243. package/dist/actions/build/__tests__/getViteConfig.test.js.map +0 -1
  244. package/dist/actions/build/__tests__/renderDocument.test.js +0 -278
  245. package/dist/actions/build/__tests__/renderDocument.test.js.map +0 -1
  246. package/dist/actions/build/__tests__/shouldAutoUpdate.test.js +0 -153
  247. package/dist/actions/build/__tests__/shouldAutoUpdate.test.js.map +0 -1
  248. package/dist/actions/build/renderDocumentWorker/__tests__/renderDocumentWorker.test.js +0 -657
  249. package/dist/actions/build/renderDocumentWorker/__tests__/renderDocumentWorker.test.js.map +0 -1
  250. package/dist/actions/dataset/__tests__/validateDatasetName.test.js +0 -182
  251. package/dist/actions/dataset/__tests__/validateDatasetName.test.js.map +0 -1
  252. package/dist/actions/deploy/__tests__/checkDir.test.js +0 -120
  253. package/dist/actions/deploy/__tests__/checkDir.test.js.map +0 -1
  254. package/dist/actions/docs/__tests__/normalizeDocsPath.test.js +0 -16
  255. package/dist/actions/docs/__tests__/normalizeDocsPath.test.js.map +0 -1
  256. package/dist/actions/documents/validation/reporters/prettyReporter/__tests__/formatDocumentValidation.test.js +0 -124
  257. package/dist/actions/documents/validation/reporters/prettyReporter/__tests__/formatDocumentValidation.test.js.map +0 -1
  258. package/dist/actions/graphql/__tests__/getGraphQLAPIs.test.js +0 -274
  259. package/dist/actions/graphql/__tests__/getGraphQLAPIs.test.js.map +0 -1
  260. package/dist/actions/media/__tests__/importMedia.test.js +0 -182
  261. package/dist/actions/media/__tests__/importMedia.test.js.map +0 -1
  262. package/dist/actions/schema/__tests__/formatSchemaValidation.test.js +0 -174
  263. package/dist/actions/schema/__tests__/formatSchemaValidation.test.js.map +0 -1
  264. package/dist/actions/schema/__tests__/validateAction.test.js +0 -281
  265. package/dist/actions/schema/__tests__/validateAction.test.js.map +0 -1
  266. package/dist/actions/telemetry/__tests__/fetchTelemetryConsent.test.js +0 -27
  267. package/dist/actions/telemetry/__tests__/fetchTelemetryConsent.test.js.map +0 -1
  268. package/dist/actions/users/__tests__/validateEmail.test.js +0 -16
  269. package/dist/actions/users/__tests__/validateEmail.test.js.map +0 -1
  270. package/dist/commands/__tests__/blueprints.test.js +0 -54
  271. package/dist/commands/__tests__/blueprints.test.js.map +0 -1
  272. package/dist/commands/__tests__/build.test.js +0 -132
  273. package/dist/commands/__tests__/build.test.js.map +0 -1
  274. package/dist/commands/__tests__/codemod.test.js +0 -271
  275. package/dist/commands/__tests__/codemod.test.js.map +0 -1
  276. package/dist/commands/__tests__/debug.test.js +0 -590
  277. package/dist/commands/__tests__/debug.test.js.map +0 -1
  278. package/dist/commands/__tests__/deploy.test.js +0 -1945
  279. package/dist/commands/__tests__/deploy.test.js.map +0 -1
  280. package/dist/commands/__tests__/dev.test.js +0 -453
  281. package/dist/commands/__tests__/dev.test.js.map +0 -1
  282. package/dist/commands/__tests__/exec.test.js +0 -207
  283. package/dist/commands/__tests__/exec.test.js.map +0 -1
  284. package/dist/commands/__tests__/init/init.authentication.test.js +0 -73
  285. package/dist/commands/__tests__/init/init.authentication.test.js.map +0 -1
  286. package/dist/commands/__tests__/init/init.create-new-project.test.js +0 -195
  287. package/dist/commands/__tests__/init/init.create-new-project.test.js.map +0 -1
  288. package/dist/commands/__tests__/init/init.plan.test.js +0 -279
  289. package/dist/commands/__tests__/init/init.plan.test.js.map +0 -1
  290. package/dist/commands/__tests__/init/init.setup.test.js +0 -335
  291. package/dist/commands/__tests__/init/init.setup.test.js.map +0 -1
  292. package/dist/commands/__tests__/install.test.js +0 -282
  293. package/dist/commands/__tests__/install.test.js.map +0 -1
  294. package/dist/commands/__tests__/learn.test.js +0 -29
  295. package/dist/commands/__tests__/learn.test.js.map +0 -1
  296. package/dist/commands/__tests__/logout.test.js +0 -91
  297. package/dist/commands/__tests__/logout.test.js.map +0 -1
  298. package/dist/commands/__tests__/manage.test.js +0 -110
  299. package/dist/commands/__tests__/manage.test.js.map +0 -1
  300. package/dist/commands/__tests__/migration.test.js +0 -119
  301. package/dist/commands/__tests__/migration.test.js.map +0 -1
  302. package/dist/commands/__tests__/preview.test.js +0 -261
  303. package/dist/commands/__tests__/preview.test.js.map +0 -1
  304. package/dist/commands/__tests__/start.test.js +0 -253
  305. package/dist/commands/__tests__/start.test.js.map +0 -1
  306. package/dist/commands/__tests__/undeploy.test.js +0 -382
  307. package/dist/commands/__tests__/undeploy.test.js.map +0 -1
  308. package/dist/commands/__tests__/versions.test.js +0 -142
  309. package/dist/commands/__tests__/versions.test.js.map +0 -1
  310. package/dist/commands/backup/__tests__/disable.test.js +0 -204
  311. package/dist/commands/backup/__tests__/disable.test.js.map +0 -1
  312. package/dist/commands/backup/__tests__/download.test.js +0 -768
  313. package/dist/commands/backup/__tests__/download.test.js.map +0 -1
  314. package/dist/commands/backup/__tests__/enable.test.js +0 -286
  315. package/dist/commands/backup/__tests__/enable.test.js.map +0 -1
  316. package/dist/commands/backup/__tests__/list.test.js +0 -330
  317. package/dist/commands/backup/__tests__/list.test.js.map +0 -1
  318. package/dist/commands/cors/__tests__/add.test.js +0 -376
  319. package/dist/commands/cors/__tests__/add.test.js.map +0 -1
  320. package/dist/commands/cors/__tests__/delete.test.js +0 -308
  321. package/dist/commands/cors/__tests__/delete.test.js.map +0 -1
  322. package/dist/commands/cors/__tests__/list.test.js +0 -241
  323. package/dist/commands/cors/__tests__/list.test.js.map +0 -1
  324. package/dist/commands/dataset/__tests__/copy.test.js +0 -628
  325. package/dist/commands/dataset/__tests__/copy.test.js.map +0 -1
  326. package/dist/commands/dataset/__tests__/create.test.js +0 -342
  327. package/dist/commands/dataset/__tests__/create.test.js.map +0 -1
  328. package/dist/commands/dataset/__tests__/delete.test.js +0 -231
  329. package/dist/commands/dataset/__tests__/delete.test.js.map +0 -1
  330. package/dist/commands/dataset/__tests__/export.test.js +0 -601
  331. package/dist/commands/dataset/__tests__/export.test.js.map +0 -1
  332. package/dist/commands/dataset/__tests__/import.test.js +0 -53
  333. package/dist/commands/dataset/__tests__/import.test.js.map +0 -1
  334. package/dist/commands/dataset/__tests__/list.test.js +0 -216
  335. package/dist/commands/dataset/__tests__/list.test.js.map +0 -1
  336. package/dist/commands/dataset/alias/__tests__/create.test.js +0 -339
  337. package/dist/commands/dataset/alias/__tests__/create.test.js.map +0 -1
  338. package/dist/commands/dataset/alias/__tests__/delete.test.js +0 -247
  339. package/dist/commands/dataset/alias/__tests__/delete.test.js.map +0 -1
  340. package/dist/commands/dataset/alias/__tests__/link.test.js +0 -376
  341. package/dist/commands/dataset/alias/__tests__/link.test.js.map +0 -1
  342. package/dist/commands/dataset/alias/__tests__/unlink.test.js +0 -313
  343. package/dist/commands/dataset/alias/__tests__/unlink.test.js.map +0 -1
  344. package/dist/commands/dataset/visibility/__tests__/get.test.js +0 -128
  345. package/dist/commands/dataset/visibility/__tests__/get.test.js.map +0 -1
  346. package/dist/commands/dataset/visibility/__tests__/set.test.js +0 -198
  347. package/dist/commands/dataset/visibility/__tests__/set.test.js.map +0 -1
  348. package/dist/commands/docs/__tests__/browse.test.js +0 -29
  349. package/dist/commands/docs/__tests__/browse.test.js.map +0 -1
  350. package/dist/commands/docs/__tests__/read.test.js +0 -78
  351. package/dist/commands/docs/__tests__/read.test.js.map +0 -1
  352. package/dist/commands/docs/__tests__/search.test.js +0 -255
  353. package/dist/commands/docs/__tests__/search.test.js.map +0 -1
  354. package/dist/commands/documents/__tests__/create.test.js +0 -1030
  355. package/dist/commands/documents/__tests__/create.test.js.map +0 -1
  356. package/dist/commands/documents/__tests__/delete.test.js +0 -300
  357. package/dist/commands/documents/__tests__/delete.test.js.map +0 -1
  358. package/dist/commands/documents/__tests__/get.test.js +0 -182
  359. package/dist/commands/documents/__tests__/get.test.js.map +0 -1
  360. package/dist/commands/documents/__tests__/query.test.js +0 -300
  361. package/dist/commands/documents/__tests__/query.test.js.map +0 -1
  362. package/dist/commands/documents/__tests__/validate.test.js +0 -249
  363. package/dist/commands/documents/__tests__/validate.test.js.map +0 -1
  364. package/dist/commands/graphql/__tests__/list.test.js +0 -240
  365. package/dist/commands/graphql/__tests__/list.test.js.map +0 -1
  366. package/dist/commands/graphql/__tests__/undeploy.test.js +0 -410
  367. package/dist/commands/graphql/__tests__/undeploy.test.js.map +0 -1
  368. package/dist/commands/hook/__tests__/attempt.test.js +0 -275
  369. package/dist/commands/hook/__tests__/attempt.test.js.map +0 -1
  370. package/dist/commands/hook/__tests__/create.test.js +0 -119
  371. package/dist/commands/hook/__tests__/create.test.js.map +0 -1
  372. package/dist/commands/hook/__tests__/delete.test.js +0 -233
  373. package/dist/commands/hook/__tests__/delete.test.js.map +0 -1
  374. package/dist/commands/hook/__tests__/list.test.js +0 -145
  375. package/dist/commands/hook/__tests__/list.test.js.map +0 -1
  376. package/dist/commands/hook/__tests__/logs.test.js +0 -798
  377. package/dist/commands/hook/__tests__/logs.test.js.map +0 -1
  378. package/dist/commands/manifest/__tests__/extract.test.js +0 -132
  379. package/dist/commands/manifest/__tests__/extract.test.js.map +0 -1
  380. package/dist/commands/mcp/__tests__/configure.test.js +0 -397
  381. package/dist/commands/mcp/__tests__/configure.test.js.map +0 -1
  382. package/dist/commands/media/__tests__/create-aspect.test.js +0 -173
  383. package/dist/commands/media/__tests__/create-aspect.test.js.map +0 -1
  384. package/dist/commands/media/__tests__/delete-aspect.test.js +0 -342
  385. package/dist/commands/media/__tests__/delete-aspect.test.js.map +0 -1
  386. package/dist/commands/media/__tests__/deploy-aspect.test.js +0 -619
  387. package/dist/commands/media/__tests__/deploy-aspect.test.js.map +0 -1
  388. package/dist/commands/media/__tests__/export.test.js +0 -697
  389. package/dist/commands/media/__tests__/export.test.js.map +0 -1
  390. package/dist/commands/media/__tests__/import.test.js +0 -347
  391. package/dist/commands/media/__tests__/import.test.js.map +0 -1
  392. package/dist/commands/openapi/__tests__/get.test.js +0 -149
  393. package/dist/commands/openapi/__tests__/get.test.js.map +0 -1
  394. package/dist/commands/openapi/__tests__/list.test.js +0 -113
  395. package/dist/commands/openapi/__tests__/list.test.js.map +0 -1
  396. package/dist/commands/projects/__tests__/list.test.js +0 -154
  397. package/dist/commands/projects/__tests__/list.test.js.map +0 -1
  398. package/dist/commands/schema/__tests__/delete.test.js +0 -454
  399. package/dist/commands/schema/__tests__/delete.test.js.map +0 -1
  400. package/dist/commands/schema/__tests__/deploy.test.js +0 -348
  401. package/dist/commands/schema/__tests__/deploy.test.js.map +0 -1
  402. package/dist/commands/schema/__tests__/extract.test.js +0 -121
  403. package/dist/commands/schema/__tests__/extract.test.js.map +0 -1
  404. package/dist/commands/schema/__tests__/list.test.js +0 -399
  405. package/dist/commands/schema/__tests__/list.test.js.map +0 -1
  406. package/dist/commands/schema/__tests__/validate.test.js +0 -121
  407. package/dist/commands/schema/__tests__/validate.test.js.map +0 -1
  408. package/dist/commands/telemetry/__tests__/disable.test.js +0 -147
  409. package/dist/commands/telemetry/__tests__/disable.test.js.map +0 -1
  410. package/dist/commands/telemetry/__tests__/enable.test.js +0 -133
  411. package/dist/commands/telemetry/__tests__/enable.test.js.map +0 -1
  412. package/dist/commands/telemetry/__tests__/status.test.js +0 -155
  413. package/dist/commands/telemetry/__tests__/status.test.js.map +0 -1
  414. package/dist/commands/tokens/__tests__/add.test.js +0 -435
  415. package/dist/commands/tokens/__tests__/add.test.js.map +0 -1
  416. package/dist/commands/tokens/__tests__/delete.test.js +0 -405
  417. package/dist/commands/tokens/__tests__/delete.test.js.map +0 -1
  418. package/dist/commands/tokens/__tests__/list.test.js +0 -395
  419. package/dist/commands/tokens/__tests__/list.test.js.map +0 -1
  420. package/dist/commands/users/__tests__/invite.test.js +0 -362
  421. package/dist/commands/users/__tests__/invite.test.js.map +0 -1
  422. package/dist/commands/users/__tests__/list.test.js +0 -407
  423. package/dist/commands/users/__tests__/list.test.js.map +0 -1
  424. package/dist/hooks/prerun/__tests__/setupTelemetry.test.js +0 -77
  425. package/dist/hooks/prerun/__tests__/setupTelemetry.test.js.map +0 -1
  426. package/dist/services/__tests__/datasetAliases.test.js +0 -131
  427. package/dist/services/__tests__/datasetAliases.test.js.map +0 -1
  428. package/dist/services/__tests__/datasets.test.js +0 -436
  429. package/dist/services/__tests__/datasets.test.js.map +0 -1
  430. package/dist/services/__tests__/graphql.test.js +0 -43
  431. package/dist/services/__tests__/graphql.test.js.map +0 -1
  432. package/dist/services/__tests__/mediaLibraries.test.js +0 -88
  433. package/dist/services/__tests__/mediaLibraries.test.js.map +0 -1
  434. package/dist/services/__tests__/projects.test.js +0 -41
  435. package/dist/services/__tests__/projects.test.js.map +0 -1
  436. package/dist/services/__tests__/userApplications.test.js +0 -113
  437. package/dist/services/__tests__/userApplications.test.js.map +0 -1
  438. package/dist/util/__tests__/appId.test.js +0 -31
  439. package/dist/util/__tests__/appId.test.js.map +0 -1
  440. package/dist/util/__tests__/cliClient.test.js +0 -184
  441. package/dist/util/__tests__/cliClient.test.js.map +0 -1
  442. package/dist/util/__tests__/compareDependencyVersions.test.js +0 -426
  443. package/dist/util/__tests__/compareDependencyVersions.test.js.map +0 -1
  444. package/dist/util/__tests__/extractDocumentsFromNdjsonOrTarball.test.js +0 -74
  445. package/dist/util/__tests__/extractDocumentsFromNdjsonOrTarball.test.js.map +0 -1
  446. package/dist/util/__tests__/findNdjsonEntry.test.js +0 -54
  447. package/dist/util/__tests__/findNdjsonEntry.test.js.map +0 -1
  448. package/dist/util/__tests__/getCliVersion.test.js +0 -28
  449. package/dist/util/__tests__/getCliVersion.test.js.map +0 -1
  450. package/dist/util/__tests__/getLocalPackageVersion.test.js +0 -84
  451. package/dist/util/__tests__/getLocalPackageVersion.test.js.map +0 -1
  452. package/dist/util/__tests__/getWorkspace.test.js +0 -37
  453. package/dist/util/__tests__/getWorkspace.test.js.map +0 -1
  454. package/dist/util/__tests__/readPackageJson.test.js +0 -69
  455. package/dist/util/__tests__/readPackageJson.test.js.map +0 -1
  456. package/dist/util/__tests__/warnAboutMissingAppId.test.js +0 -28
  457. package/dist/util/__tests__/warnAboutMissingAppId.test.js.map +0 -1
  458. package/dist/util/packageManager/__tests__/installPackages.test.js +0 -388
  459. package/dist/util/packageManager/__tests__/installPackages.test.js.map +0 -1
  460. package/dist/util/validation/ __tests__/validateDocuments.test.js +0 -274
  461. package/dist/util/validation/ __tests__/validateDocuments.test.js.map +0 -1
@@ -0,0 +1,39 @@
1
+ import {defineField, defineType} from 'sanity'
2
+
3
+ export default defineType({
4
+ name: 'vendor',
5
+ title: 'Vendor',
6
+ type: 'document',
7
+ fields: [
8
+ defineField({
9
+ name: 'title',
10
+ title: 'Title',
11
+ type: 'string',
12
+ }),
13
+ defineField({
14
+ name: 'slug',
15
+ title: 'Slug',
16
+ type: 'slug',
17
+ options: {
18
+ source: 'title',
19
+ maxLength: 96,
20
+ },
21
+ }),
22
+ defineField({
23
+ name: 'logo',
24
+ title: 'logo',
25
+ type: 'image',
26
+ }),
27
+ defineField({
28
+ name: 'description',
29
+ title: 'Description',
30
+ type: 'blockContent',
31
+ }),
32
+ ],
33
+ preview: {
34
+ select: {
35
+ title: 'title',
36
+ media: 'logo',
37
+ },
38
+ },
39
+ })
@@ -0,0 +1 @@
1
+ Files placed here will be served by the Sanity server under the `/static`-prefix
@@ -0,0 +1,9 @@
1
+ # Sanity Clean Content Studio
2
+
3
+ Congratulations, you have now installed the Sanity Content Studio, an open-source real-time content editing environment connected to the Sanity backend.
4
+
5
+ Now you can do the following things:
6
+
7
+ - [Read “getting started” in the docs](https://www.sanity.io/docs/introduction/getting-started?utm_source=readme)
8
+ - [Join the Sanity community](https://www.sanity.io/community/join?utm_source=readme)
9
+ - [Extend and build plugins](https://www.sanity.io/docs/content-studio/extending?utm_source=readme)
@@ -0,0 +1 @@
1
+ User-specific packages can be placed here
@@ -0,0 +1,16 @@
1
+ import React from 'react'
2
+ import {LayoutProps, useCurrentUser} from 'sanity'
3
+ import {GetStartedTutorial} from './GetStartedTutorial'
4
+
5
+ export function CustomDefaultLayout(props: LayoutProps) {
6
+ const user = useCurrentUser()
7
+
8
+ const showTutorial = Boolean(user?.roles?.length)
9
+
10
+ return (
11
+ <>
12
+ {showTutorial && <GetStartedTutorial />}
13
+ {props.renderDefault(props)}
14
+ </>
15
+ )
16
+ }
@@ -0,0 +1,104 @@
1
+ import React, {useState} from 'react'
2
+ import {
3
+ Card,
4
+ Container,
5
+ Button,
6
+ Flex,
7
+ Label,
8
+ Heading,
9
+ Text,
10
+ Stack,
11
+ useElementSize,
12
+ useTheme,
13
+ } from '@sanity/ui'
14
+ import {CloseIcon} from '@sanity/icons'
15
+ import {css, styled} from 'styled-components'
16
+
17
+ const BlueColor = css`
18
+ color: ${({theme}) => theme.sanity.color.muted.primary.enabled.fg};
19
+ `
20
+
21
+ const LabelContainer = styled(Label)`
22
+ ${BlueColor}
23
+ `
24
+
25
+ const TextContainer = styled(Text)`
26
+ ${BlueColor}
27
+ `
28
+
29
+ export const GetStartedTutorial = () => {
30
+ const [hideTutorial, setShowTutorial] = useState(
31
+ window.localStorage.getItem('getstarted_closedTutorial') !== null,
32
+ )
33
+
34
+ const {sanity} = useTheme()
35
+ const [rootElement, setRootElement] = useState<HTMLDivElement | null>(null)
36
+ const rect = useElementSize(rootElement)
37
+ const width = rect?.content?.width
38
+ const isSmallScreen = width ? width < sanity.media[1] : false
39
+ const isProdEnv = process.env.NODE_ENV !== 'development'
40
+
41
+ const onClose = () => {
42
+ window.localStorage.setItem('getstarted_closedTutorial', 'true')
43
+ setShowTutorial(true)
44
+ }
45
+
46
+ if (hideTutorial || isProdEnv) {
47
+ return null
48
+ }
49
+
50
+ return (
51
+ <div ref={setRootElement}>
52
+ <Card tone="primary" padding={isSmallScreen ? 3 : 5} paddingBottom={isSmallScreen ? 4 : 6}>
53
+ <Flex justify={isSmallScreen ? 'space-between' : 'flex-end'} align="center">
54
+ {isSmallScreen && (
55
+ <LabelContainer forwardedAs="p">Your Sanity Studio is all set up!</LabelContainer>
56
+ )}
57
+
58
+ <Button
59
+ aria-label="Close dialog"
60
+ icon={CloseIcon}
61
+ mode="bleed"
62
+ onClick={onClose}
63
+ padding={isSmallScreen ? undefined : 3}
64
+ />
65
+ </Flex>
66
+ <Stack space={5}>
67
+ {!isSmallScreen && (
68
+ <>
69
+ <LabelContainer forwardedAs="p" align="center">
70
+ Get started with sanity
71
+ </LabelContainer>
72
+
73
+ <Heading as="h1" size={4} align="center">
74
+ Your Sanity Studio is all set up!
75
+ </Heading>
76
+ </>
77
+ )}
78
+
79
+ <Container width={1}>
80
+ <TextContainer
81
+ forwardedAs="p"
82
+ size={isSmallScreen ? 1 : undefined}
83
+ align={isSmallScreen ? 'left' : 'center'}
84
+ >
85
+ Next, our docs will guide you through building schema types, adding content, and
86
+ connecting a frontend. You’ll see updates reflected in your Studio below.
87
+ </TextContainer>
88
+ </Container>
89
+
90
+ <Flex justify={isSmallScreen ? 'flex-start' : 'center'}>
91
+ <Button
92
+ as="a"
93
+ href="https://www.sanity.io/docs/create-a-schema-and-configure-sanity-studio"
94
+ target="_blank"
95
+ padding={isSmallScreen ? undefined : 4}
96
+ tone="primary"
97
+ text="Build a schema"
98
+ />
99
+ </Flex>
100
+ </Stack>
101
+ </Card>
102
+ </div>
103
+ )
104
+ }
@@ -0,0 +1,11 @@
1
+ import {definePlugin} from 'sanity'
2
+ import {CustomDefaultLayout} from './CustomDefaultLayout'
3
+
4
+ export const getStartedPlugin = definePlugin({
5
+ name: 'sanity-plugin-tutorial',
6
+ studio: {
7
+ components: {
8
+ layout: CustomDefaultLayout,
9
+ },
10
+ },
11
+ })
@@ -0,0 +1 @@
1
+ export const schemaTypes = []
@@ -0,0 +1 @@
1
+ Files placed here will be served by the Sanity server under the `/static`-prefix
@@ -0,0 +1,10 @@
1
+ # Sanity Movies Content Studio
2
+
3
+ Congratulations, you have now installed the Sanity Content Studio, an open-source real-time content editing environment connected to the Sanity backend.
4
+
5
+ Now you can do the following things:
6
+
7
+ - [Read “getting started” in the docs](https://www.sanity.io/docs/introduction/getting-started?utm_source=readme)
8
+ - Check out one of the example frontends: [React](https://github.com/sanity-io/example-frontend-next-js) | [React Native](https://github.com/sanity-io/example-app-react-native) | [Vue](https://github.com/sanity-io/example-frontend-vue-js) | [PHP](https://github.com/sanity-io/example-frontend-silex-twig)
9
+ - [Join the Sanity community](https://www.sanity.io/community/join?utm_source=readme)
10
+ - [Extend and build plugins](https://www.sanity.io/docs/content-studio/extending?utm_source=readme)
@@ -0,0 +1,67 @@
1
+ import {defineArrayMember, defineType} from 'sanity'
2
+
3
+ /**
4
+ * This is the schema definition for the rich text fields used for
5
+ * for this blog studio. When you import it in schemas.js it can be
6
+ * reused in other parts of the studio with:
7
+ * {
8
+ * name: 'someName',
9
+ * title: 'Some title',
10
+ * type: 'blockContent'
11
+ * }
12
+ */
13
+ export default defineType({
14
+ title: 'Block Content',
15
+ name: 'blockContent',
16
+ type: 'array',
17
+ of: [
18
+ defineArrayMember({
19
+ title: 'Block',
20
+ type: 'block',
21
+ // Styles let you set what your user can mark up blocks with. These
22
+ // correspond with HTML tags, but you can set any title or value
23
+ // you want and decide how you want to deal with it where you want to
24
+ // use your content.
25
+ styles: [
26
+ {title: 'Normal', value: 'normal'},
27
+ {title: 'H1', value: 'h1'},
28
+ {title: 'H2', value: 'h2'},
29
+ {title: 'H3', value: 'h3'},
30
+ {title: 'H4', value: 'h4'},
31
+ {title: 'Quote', value: 'blockquote'},
32
+ ],
33
+ lists: [{title: 'Bullet', value: 'bullet'}],
34
+ // Marks let you mark up inline text in the block editor.
35
+ marks: {
36
+ // Decorators usually describe a single property – e.g. a typographic
37
+ // preference or highlighting by editors.
38
+ decorators: [
39
+ {title: 'Strong', value: 'strong'},
40
+ {title: 'Emphasis', value: 'em'},
41
+ ],
42
+ // Annotations can be any object structure – e.g. a link or a footnote.
43
+ annotations: [
44
+ {
45
+ title: 'URL',
46
+ name: 'link',
47
+ type: 'object',
48
+ fields: [
49
+ {
50
+ title: 'URL',
51
+ name: 'href',
52
+ type: 'url',
53
+ },
54
+ ],
55
+ },
56
+ ],
57
+ },
58
+ }),
59
+ // You can add additional types here. Note that you can't use
60
+ // primitive types such as 'string' and 'number' in the same array
61
+ // as a block type.
62
+ defineArrayMember({
63
+ type: 'image',
64
+ options: {hotspot: true},
65
+ }),
66
+ ],
67
+ })
@@ -0,0 +1,37 @@
1
+ import {defineField, defineType} from 'sanity'
2
+
3
+ export default defineType({
4
+ name: 'castMember',
5
+ title: 'Cast Member',
6
+ type: 'object',
7
+ fields: [
8
+ defineField({
9
+ name: 'characterName',
10
+ title: 'Character Name',
11
+ type: 'string',
12
+ }),
13
+ defineField({
14
+ name: 'person',
15
+ title: 'Actor',
16
+ type: 'reference',
17
+ to: [{type: 'person'}],
18
+ }),
19
+ defineField({
20
+ name: 'externalId',
21
+ title: 'External ID',
22
+ type: 'number',
23
+ }),
24
+ defineField({
25
+ name: 'externalCreditId',
26
+ title: 'External Credit ID',
27
+ type: 'string',
28
+ }),
29
+ ],
30
+ preview: {
31
+ select: {
32
+ subtitle: 'characterName',
33
+ title: 'person.name',
34
+ media: 'person.image',
35
+ },
36
+ },
37
+ })
@@ -0,0 +1,52 @@
1
+ // @ts-check
2
+ import {defineField, defineType} from 'sanity'
3
+
4
+ export default defineType({
5
+ name: 'crewMember',
6
+ title: 'Crew Member',
7
+ type: 'object',
8
+ fields: [
9
+ defineField({
10
+ name: 'department',
11
+ title: 'Department',
12
+ type: 'string',
13
+ }),
14
+ defineField({
15
+ name: 'job',
16
+ title: 'Job',
17
+ type: 'string',
18
+ }),
19
+ defineField({
20
+ name: 'person',
21
+ title: 'Person',
22
+ type: 'reference',
23
+ to: [{type: 'person'}],
24
+ }),
25
+ defineField({
26
+ name: 'externalId',
27
+ title: 'External ID',
28
+ type: 'number',
29
+ }),
30
+ defineField({
31
+ name: 'externalCreditId',
32
+ title: 'External Credit ID',
33
+ type: 'string',
34
+ }),
35
+ ],
36
+ preview: {
37
+ select: {
38
+ name: 'person.name',
39
+ job: 'job',
40
+ department: 'department',
41
+ media: 'person.image',
42
+ },
43
+ prepare(selection) {
44
+ const {name, job, department, media} = selection
45
+ return {
46
+ title: name,
47
+ subtitle: `${job} [${department}]`,
48
+ media,
49
+ }
50
+ },
51
+ },
52
+ })
@@ -0,0 +1,22 @@
1
+ import blockContent from './blockContent'
2
+ import crewMember from './crewMember'
3
+ import castMember from './castMember'
4
+ import movie from './movie'
5
+ import person from './person'
6
+ import screening from './screening'
7
+ import plotSummary from './plotSummary'
8
+ import plotSummaries from './plotSummaries'
9
+
10
+ export const schemaTypes = [
11
+ // Document types
12
+ movie,
13
+ person,
14
+ screening,
15
+
16
+ // Other types
17
+ blockContent,
18
+ plotSummary,
19
+ plotSummaries,
20
+ castMember,
21
+ crewMember,
22
+ ]
@@ -0,0 +1,85 @@
1
+ import {defineField, defineType} from 'sanity'
2
+ import {MdLocalMovies as icon} from 'react-icons/md'
3
+
4
+ export default defineType({
5
+ name: 'movie',
6
+ title: 'Movie',
7
+ type: 'document',
8
+ icon,
9
+ fields: [
10
+ defineField({
11
+ name: 'title',
12
+ title: 'Title',
13
+ type: 'string',
14
+ }),
15
+ defineField({
16
+ name: 'slug',
17
+ title: 'Slug',
18
+ type: 'slug',
19
+ options: {
20
+ source: 'title',
21
+ maxLength: 100,
22
+ },
23
+ }),
24
+ defineField({
25
+ name: 'overview',
26
+ title: 'Overview',
27
+ type: 'blockContent',
28
+ }),
29
+ defineField({
30
+ name: 'releaseDate',
31
+ title: 'Release date',
32
+ type: 'datetime',
33
+ }),
34
+ defineField({
35
+ name: 'poster',
36
+ title: 'Poster Image',
37
+ type: 'image',
38
+ options: {
39
+ hotspot: true,
40
+ },
41
+ }),
42
+ defineField({
43
+ name: 'externalId',
44
+ title: 'External ID',
45
+ type: 'number',
46
+ }),
47
+ defineField({
48
+ name: 'popularity',
49
+ title: 'Popularity',
50
+ type: 'number',
51
+ }),
52
+ defineField({
53
+ name: 'castMembers',
54
+ title: 'Cast Members',
55
+ type: 'array',
56
+ of: [{type: 'castMember'}],
57
+ }),
58
+ defineField({
59
+ name: 'crewMembers',
60
+ title: 'Crew Members',
61
+ type: 'array',
62
+ of: [{type: 'crewMember'}],
63
+ }),
64
+ ],
65
+ preview: {
66
+ select: {
67
+ title: 'title',
68
+ date: 'releaseDate',
69
+ media: 'poster',
70
+ castName0: 'castMembers.0.person.name',
71
+ castName1: 'castMembers.1.person.name',
72
+ },
73
+ prepare(selection) {
74
+ const year = selection.date && selection.date.split('-')[0]
75
+ const cast = [selection.castName0, selection.castName1].filter(Boolean).join(', ')
76
+
77
+ return {
78
+ title: `${selection.title} ${year ? `(${year})` : ''}`,
79
+ date: selection.date,
80
+ subtitle: cast,
81
+ media: selection.media,
82
+ }
83
+ },
84
+ },
85
+ })
@@ -0,0 +1,37 @@
1
+ import {defineField, defineType} from 'sanity'
2
+ import {MdPerson as icon} from 'react-icons/md'
3
+
4
+ export default defineType({
5
+ name: 'person',
6
+ title: 'Person',
7
+ type: 'document',
8
+ icon,
9
+ fields: [
10
+ defineField({
11
+ name: 'name',
12
+ title: 'Name',
13
+ type: 'string',
14
+ description: 'Please use "Firstname Lastname" format',
15
+ }),
16
+ defineField({
17
+ name: 'slug',
18
+ title: 'Slug',
19
+ type: 'slug',
20
+ options: {
21
+ source: 'name',
22
+ maxLength: 100,
23
+ },
24
+ }),
25
+ defineField({
26
+ name: 'image',
27
+ title: 'Image',
28
+ type: 'image',
29
+ options: {
30
+ hotspot: true,
31
+ },
32
+ }),
33
+ ],
34
+ preview: {
35
+ select: {title: 'name', media: 'image'},
36
+ },
37
+ })
@@ -0,0 +1,20 @@
1
+ import {defineField, defineType} from 'sanity'
2
+
3
+ export default defineType({
4
+ title: 'Plot summaries',
5
+ name: 'plotSummaries',
6
+ type: 'object',
7
+ fields: [
8
+ defineField({
9
+ name: 'caption',
10
+ title: 'Caption',
11
+ type: 'string',
12
+ }),
13
+ defineField({
14
+ name: 'summaries',
15
+ title: 'Summaries',
16
+ type: 'array',
17
+ of: [{type: 'plotSummary'}],
18
+ }),
19
+ ],
20
+ })
@@ -0,0 +1,24 @@
1
+ import {defineField, defineType} from 'sanity'
2
+
3
+ export default defineType({
4
+ name: 'plotSummary',
5
+ title: 'Plot Summary',
6
+ type: 'object',
7
+ fields: [
8
+ defineField({
9
+ title: 'Summary',
10
+ name: 'summary',
11
+ type: 'text',
12
+ }),
13
+ defineField({
14
+ title: 'Author',
15
+ name: 'author',
16
+ type: 'string',
17
+ }),
18
+ defineField({
19
+ title: 'Link to author',
20
+ name: 'url',
21
+ type: 'url',
22
+ }),
23
+ ],
24
+ })
@@ -0,0 +1,81 @@
1
+ import {defineField, defineType} from 'sanity'
2
+ import {MdLocalPlay as icon} from 'react-icons/md'
3
+
4
+ export default defineType({
5
+ name: 'screening',
6
+ title: 'Screening',
7
+ type: 'document',
8
+ icon,
9
+ fields: [
10
+ defineField({
11
+ name: 'title',
12
+ title: 'Title',
13
+ type: 'string',
14
+ description: 'E.g.: Our first ever screening of Gattaca',
15
+ }),
16
+ defineField({
17
+ name: 'movie',
18
+ title: 'Movie',
19
+ type: 'reference',
20
+ to: [{type: 'movie'}],
21
+ description: 'Which movie are we screening',
22
+ }),
23
+ defineField({
24
+ name: 'published',
25
+ title: 'Published',
26
+ type: 'boolean',
27
+ description: 'Set to published when this screening should be visible on a front-end',
28
+ }),
29
+ defineField({
30
+ name: 'location',
31
+ title: 'Location',
32
+ type: 'geopoint',
33
+ description: 'Where will the screening take place?',
34
+ hidden: true,
35
+ }),
36
+ defineField({
37
+ name: 'beginAt',
38
+ title: 'Starts at',
39
+ type: 'datetime',
40
+ description: 'When does the screening start?',
41
+ }),
42
+ defineField({
43
+ name: 'endAt',
44
+ title: 'Ends at',
45
+ type: 'datetime',
46
+ description: 'When does the screening end?',
47
+ }),
48
+ defineField({
49
+ name: 'allowedGuests',
50
+ title: 'Who can come?',
51
+ type: 'string',
52
+ options: {
53
+ list: [
54
+ {title: 'Members', value: 'members'},
55
+ {title: 'Members and friends', value: 'friends'},
56
+ {title: 'Anyone', value: 'anyone'},
57
+ ],
58
+ layout: 'radio',
59
+ },
60
+ }),
61
+ defineField({
62
+ name: 'infoUrl',
63
+ title: 'More info at',
64
+ type: 'url',
65
+ description:
66
+ 'URL to imdb.com, rottentomatoes.com or some other place with reviews, stats, etc',
67
+ }),
68
+ defineField({
69
+ name: 'ticket',
70
+ title: 'Ticket',
71
+ type: 'file',
72
+ description: 'PDF for printing a physical ticket',
73
+ }),
74
+ ],
75
+ preview: {
76
+ select: {
77
+ title: 'title',
78
+ media: 'movie.poster',
79
+ },
80
+ },
81
+ })
@@ -0,0 +1 @@
1
+ Files placed here will be served by the Sanity server under the `/static`-prefix
@@ -0,0 +1,9 @@
1
+ # Sanity Studio
2
+
3
+ Congratulations, you have now installed Sanity Studio, an open-source real-time content editing environment connected to the Sanity Content Lake backend.
4
+
5
+ Now you can do the following things:
6
+
7
+ - [Read “getting started” in the docs](https://www.sanity.io/docs/introduction/getting-started?utm_source=readme)
8
+ - [Join the Sanity community](https://www.sanity.io/community/join?utm_source=readme)
9
+ - [Extend and build plugins](https://www.sanity.io/docs/content-studio/extending?utm_source=readme)
@@ -0,0 +1 @@
1
+ export const schemaTypes = []
@@ -0,0 +1 @@
1
+ Files placed here will be served by the Sanity server under the `/static`-prefix