Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: sanity-io/sanity
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.79.0
Choose a base ref
...
head repository: sanity-io/sanity
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.80.0
Choose a head ref
Loading
Showing with 8,555 additions and 4,403 deletions.
  1. +1 −0 .github/renovate.json
  2. +4 −25 .github/workflows/are-we-compiled-yet.yml
  3. +4 −30 .github/workflows/cli-test.yml
  4. +3 −26 .github/workflows/depCheck.yml
  5. +4 −29 .github/workflows/docReport.yml
  6. +15 −152 .github/workflows/e2e-ct.yml
  7. +27 −177 .github/workflows/e2e-ui.yml
  8. +42 −143 .github/workflows/e2e.yml
  9. +6 −52 .github/workflows/efps.yml
  10. +4 −29 .github/workflows/etl.yml
  11. +3 −26 .github/workflows/formatCheck.yml
  12. +2 −25 .github/workflows/lint-fix-if-needed.yml
  13. +4 −25 .github/workflows/lintPr.yml
  14. +3 −26 .github/workflows/perf.yml
  15. +3 −27 .github/workflows/pnpm-if-needed.yml
  16. +8 −54 .github/workflows/pr-cleanup.yml
  17. +2 −25 .github/workflows/prettier-if-needed.yml
  18. +4 −28 .github/workflows/release.yml
  19. +8 −60 .github/workflows/test.yml
  20. +2 −25 .github/workflows/testExports.yml
  21. +3 −26 .github/workflows/typeCheck.yml
  22. +1 −1 dev/depcheck-test/package.json
  23. +3 −3 dev/design-studio/package.json
  24. +4 −4 dev/embedded-studio/package.json
  25. +4 −4 dev/page-building-studio/package.json
  26. +4 −4 dev/starter-studio/package.json
  27. +2 −2 dev/strict-studio/package.json
  28. +6 −6 dev/studio-e2e-testing/package.json
  29. +2 −2 dev/test-create-integration-studio/package.json
  30. +11 −11 dev/test-studio/package.json
  31. +12 −0 dev/test-studio/sanity.config.ts
  32. +15 −2 dev/test-studio/schema/debug/arrayCapabilities.ts
  33. +5 −0 dev/test-studio/schema/index.ts
  34. +206 −0 dev/test-studio/schema/standard/globalDocumentReference.ts
  35. +1 −0 dev/test-studio/structure/constants.ts
  36. +2 −2 examples/blog-studio/package.json
  37. +2 −2 examples/clean-studio/package.json
  38. +4 −4 examples/ecommerce-studio/package.json
  39. +2 −2 examples/movies-studio/package.json
  40. +1 −1 lerna.json
  41. +8 −8 package.json
  42. +1 −1 packages/@repo/dev-aliases/package.json
  43. +1 −1 packages/@repo/package.bundle/package.json
  44. +1 −1 packages/@repo/package.config/package.json
  45. +2 −2 packages/@repo/test-config/package.json
  46. +1 −1 packages/@repo/test-exports/package.json
  47. +1 −1 packages/@repo/tsconfig/package.json
  48. +6 −6 packages/@sanity/cli/package.json
  49. +10 −10 packages/@sanity/cli/src/actions/init-project/bootstrapLocalTemplate.ts
  50. +4 −4 packages/@sanity/cli/src/actions/init-project/{createCoreAppCliConfig.ts → createAppCliConfig.ts}
  51. +3 −3 ...ages/@sanity/cli/src/actions/init-project/{determineCoreAppTemplate.ts → determineAppTemplate.ts}
  52. +8 −8 packages/@sanity/cli/src/actions/init-project/initProject.ts
  53. +4 −4 packages/@sanity/cli/src/actions/init-project/templates/{coreApp.ts → appQuickstart.ts}
  54. +2 −2 packages/@sanity/cli/src/actions/init-project/templates/index.ts
  55. +2 −2 packages/@sanity/cli/src/types.ts
  56. 0 packages/@sanity/cli/templates/{core-app → app-quickstart}/src/App.css
  57. +2 −2 packages/@sanity/cli/templates/{core-app → app-quickstart}/src/App.tsx
  58. 0 packages/@sanity/cli/templates/{core-app → app-quickstart}/src/ExampleComponent.css
  59. 0 packages/@sanity/cli/templates/{core-app → app-quickstart}/src/ExampleComponent.tsx
  60. +1 −1 packages/@sanity/cli/test/__fixtures__/v3/package.json
  61. +2 −2 packages/@sanity/cli/test/init.test.ts
  62. +2 −2 packages/@sanity/codegen/package.json
  63. +1 −1 packages/@sanity/diff/package.json
  64. +6 −6 packages/@sanity/migrate/package.json
  65. +3 −3 packages/@sanity/mutator/package.json
  66. +3 −3 packages/@sanity/schema/package.json
  67. +107 −0 packages/@sanity/schema/src/legacy/types/globalDocumentReference.ts
  68. +1 −0 packages/@sanity/schema/src/legacy/types/index.ts
  69. +1 −0 packages/@sanity/schema/src/sanity/coreTypes.ts
  70. +8 −0 packages/@sanity/schema/src/sanity/extractSchema.ts
  71. +2 −0 packages/@sanity/schema/src/sanity/validateSchema.ts
  72. +1 −0 packages/@sanity/schema/src/sanity/validation/createValidationResult.ts
  73. +1 −0 packages/@sanity/schema/src/sanity/validation/types/block.ts
  74. +195 −0 packages/@sanity/schema/src/sanity/validation/types/globalDocumentReference.ts
  75. +160 −0 packages/@sanity/schema/test/extractSchema/__snapshots__/extractSchema.test.ts.snap
  76. +68 −0 packages/@sanity/schema/test/extractSchema/extractSchema.test.ts
  77. +147 −0 packages/@sanity/schema/test/legacy/fixtures/schemas/globalDocumentReference.ts
  78. +4 −4 packages/@sanity/types/package.json
  79. +13 −0 packages/@sanity/types/src/globalDocumentReference/asserters.ts
  80. +2 −0 packages/@sanity/types/src/globalDocumentReference/index.ts
  81. +61 −0 packages/@sanity/types/src/globalDocumentReference/types.ts
  82. +1 −0 packages/@sanity/types/src/index.ts
  83. +2 −0 packages/@sanity/types/src/schema/definition/schemaDefinition.ts
  84. +23 −0 packages/@sanity/types/src/schema/definition/type/globalDocumentReference.ts
  85. +1 −0 packages/@sanity/types/src/schema/definition/type/index.ts
  86. +36 −1 packages/@sanity/types/test/reference.test.ts
  87. +4 −4 packages/@sanity/util/package.json
  88. +7 −7 packages/@sanity/vision/package.json
  89. +12 −3 packages/@sanity/vision/src/components/VisionGui.tsx
  90. +2 −2 packages/create-sanity/package.json
  91. +1 −1 packages/groq/package.json
  92. +1 −1 packages/sanity/fixtures/examples/prj-with-react-18/package.json
  93. +1 −1 packages/sanity/fixtures/examples/prj-with-react-19/package.json
  94. +30 −30 packages/sanity/package.json
  95. +2 −11 packages/sanity/playwright-ct.config.ts
  96. +2 −2 packages/sanity/playwright-ct/tests/formBuilder/inputs/PortableText/Annotations.spec.tsx
  97. +8 −12 packages/sanity/playwright-ct/tests/formBuilder/utils/TestForm.tsx
  98. +25 −25 packages/sanity/src/_internal/cli/actions/app/__tests__/deployAction.test.ts
  99. +10 −10 packages/sanity/src/_internal/cli/actions/app/__tests__/undeployAction.test.ts
  100. +6 −6 packages/sanity/src/_internal/cli/actions/app/deployAction.ts
  101. +46 −7 packages/sanity/src/_internal/cli/actions/app/devAction.ts
  102. +6 −6 packages/sanity/src/_internal/cli/actions/app/undeployAction.ts
  103. +7 −7 packages/sanity/src/_internal/cli/actions/build/buildAction.ts
  104. +28 −28 packages/sanity/src/_internal/cli/actions/deploy/__tests__/helpers.test.ts
  105. +16 −16 packages/sanity/src/_internal/cli/actions/deploy/helpers.ts
  106. +95 −7 packages/sanity/src/_internal/cli/actions/dev/devAction.ts
  107. +12 −0 packages/sanity/src/_internal/cli/actions/graphql/extractFromSanitySchema.ts
  108. +7 −1 packages/sanity/src/_internal/cli/commands/dataset/importDatasetCommand.ts
  109. +3 −3 packages/sanity/src/_internal/cli/commands/deploy/deployCommand.ts
  110. +3 −3 packages/sanity/src/_internal/cli/commands/deploy/undeployCommand.ts
  111. +7 −4 packages/sanity/src/_internal/cli/commands/dev/devCommand.ts
  112. +4 −4 packages/sanity/src/_internal/cli/server/buildStaticFiles.ts
  113. +17 −14 packages/sanity/src/_internal/cli/server/devServer.ts
  114. +5 −5 packages/sanity/src/_internal/cli/server/getEntryModule.ts
  115. +4 −4 packages/sanity/src/_internal/cli/server/getViteConfig.ts
  116. +4 −4 packages/sanity/src/_internal/cli/server/previewServer.ts
  117. +8 −13 packages/sanity/src/_internal/cli/server/renderDocument.tsx
  118. +5 −5 packages/sanity/src/_internal/cli/server/runtime.ts
  119. +3 −3 packages/sanity/src/_internal/cli/server/vite/plugin-sanity-build-entries.ts
  120. +3 −3 packages/sanity/src/_internal/cli/util/checkRequiredDependencies.ts
  121. +5 −0 packages/sanity/src/_internal/cli/util/determineIsApp.ts
  122. +0 −5 packages/sanity/src/_internal/cli/util/determineIsCoreApp.ts
  123. +5 −5 packages/sanity/src/_internal/cli/util/servers.ts
  124. +1 −0 packages/sanity/src/core/components/inputs/DateInputs/DateTimeInput.tsx
  125. +0 −1 packages/sanity/src/core/components/inputs/DateInputs/LazyTextInput.tsx
  126. +9 −0 packages/sanity/src/core/components/inputs/DateInputs/TimeInput.tsx
  127. +26 −59 packages/sanity/src/core/components/inputs/DateInputs/calendar/Calendar.tsx
  128. +1 −0 packages/sanity/src/core/components/inputs/DateInputs/calendar/YearInput.tsx
  129. +0 −4 packages/sanity/src/core/components/inputs/DateInputs/calendar/constants.ts
  130. +1 −2 packages/sanity/src/core/components/inputs/DateInputs/calendar/types.ts
  131. +4 −0 packages/sanity/src/core/form/inputs/CrossDatasetReferenceInput/useReferenceInfo.ts
  132. +1 −2 packages/sanity/src/core/form/inputs/DateInputs/__tests__/CommonDateTimeInput.test.tsx
  133. +1 −2 packages/sanity/src/core/form/inputs/DateInputs/utils.ts
  134. +425 −0 packages/sanity/src/core/form/inputs/GlobalDocumentReferenceInput/GlobalDocumentReferenceInput.tsx
  135. +9 −0 ...anity/src/core/form/inputs/GlobalDocumentReferenceInput/GlobalDocumentReferencePreview.styled.tsx
  136. +147 −0 packages/sanity/src/core/form/inputs/GlobalDocumentReferenceInput/GlobalDocumentReferencePreview.tsx
  137. +88 −0 packages/sanity/src/core/form/inputs/GlobalDocumentReferenceInput/OptionPreview.tsx
  138. +63 −0 packages/sanity/src/core/form/inputs/GlobalDocumentReferenceInput/PreviewReferenceValue.tsx
  139. +94 −0 packages/sanity/src/core/form/inputs/GlobalDocumentReferenceInput/ReferenceAutocomplete.tsx
  140. +418 −0 ...src/core/form/inputs/GlobalDocumentReferenceInput/__tests__/GlobalDocumentReferenceInput.test.tsx
  141. +2 −0 packages/sanity/src/core/form/inputs/GlobalDocumentReferenceInput/index.ts
  142. +31 −0 packages/sanity/src/core/form/inputs/GlobalDocumentReferenceInput/types.ts
  143. +79 −0 packages/sanity/src/core/form/inputs/GlobalDocumentReferenceInput/useReferenceInfo.ts
  144. +19 −0 packages/sanity/src/core/form/inputs/GlobalDocumentReferenceInput/utils/resolveProjectDataset.ts
  145. +31 −18 packages/sanity/src/core/form/inputs/ReferenceInput/ReferenceItem.tsx
  146. +4 −0 packages/sanity/src/core/form/inputs/ReferenceInput/useReferenceInfo.ts
  147. +2 −0 packages/sanity/src/core/form/studio/inputResolver/defaultInputs.ts
  148. +133 −0 ...sanity/src/core/form/studio/inputs/globalDocumentReference/StudioGlobalDocumentReferenceInput.tsx
  149. +4 −0 packages/sanity/src/core/form/studio/inputs/globalDocumentReference/constants.ts
  150. +212 −0 packages/sanity/src/core/form/studio/inputs/globalDocumentReference/datastores/getReferenceClient.ts
  151. +164 −0 packages/sanity/src/core/form/studio/inputs/globalDocumentReference/datastores/getReferenceInfo.ts
  152. +73 −0 packages/sanity/src/core/form/studio/inputs/globalDocumentReference/datastores/search.ts
  153. +14 −9 packages/sanity/src/core/i18n/bundles/studio.ts
  154. +7 −3 packages/sanity/src/core/perspective/ReleasesToolLink.tsx
  155. +6 −3 packages/sanity/src/core/perspective/navbar/GlobalPerspectiveMenu.tsx
  156. +2 −2 packages/sanity/src/core/perspective/navbar/PerspectiveLayerIndicator.tsx
  157. +16 −37 packages/sanity/src/core/perspective/navbar/ReleasesNav.tsx
  158. +3 −3 packages/sanity/src/core/perspective/navbar/__tests__/ReleasesNav.test.tsx
  159. +23 −12 packages/sanity/src/core/perspective/navbar/currentGlobalPerspectiveLabel.tsx
  160. +17 −0 packages/sanity/src/core/perspective/styles.ts
  161. +2 −1 packages/sanity/src/core/preview/types.ts
  162. +25 −17 packages/sanity/src/core/preview/utils/getPreviewValueWithFallback.tsx
  163. +14 −8 packages/sanity/src/core/releases/components/ReleaseAvatar.tsx
  164. +16 −15 packages/sanity/src/core/releases/components/ScheduleDatePicker.tsx
  165. +20 −18 packages/sanity/src/core/releases/components/dialog/CreateReleaseDialog.tsx
  166. +18 −32 packages/sanity/src/core/releases/components/dialog/DiscardVersionDialog.tsx
  167. +108 −50 packages/sanity/src/core/releases/components/dialog/ReleaseForm.tsx
  168. +1 −1 packages/sanity/src/core/releases/components/dialog/TitleDescriptionForm.tsx
  169. +22 −12 packages/sanity/src/core/releases/components/dialog/UnpublishVersionDialog.tsx
  170. +37 −52 packages/sanity/src/core/releases/components/documentHeader/VersionChip.tsx
  171. +6 −10 packages/sanity/src/core/releases/components/documentHeader/contextMenu/VersionContextMenu.tsx
  172. +1 −1 ...src/core/releases/components/documentHeader/contextMenu/__tests__/VersionContextMenuItem.test.tsx
  173. +9 −43 packages/sanity/src/core/releases/hooks/useVersionOperations.tsx
  174. +3 −11 packages/sanity/src/core/releases/i18n/resources.ts
  175. +6 −5 packages/sanity/src/core/releases/store/__tests__/__mocks/useActiveReleases.mock.ts
  176. +134 −0 packages/sanity/src/core/releases/store/__tests__/createReleaseMetadataAggregator.test.ts
  177. +165 −95 packages/sanity/src/core/releases/store/__tests__/createReleaseOperationsStore.test.ts
  178. +137 −0 packages/sanity/src/core/releases/store/__tests__/useActiveReleases.test.ts
  179. +26 −21 packages/sanity/src/core/releases/store/createReleaseOperationStore.ts
  180. +15 −1 packages/sanity/src/core/releases/store/types.ts
  181. +35 −19 packages/sanity/src/core/releases/tool/components/ReleaseDocumentPreview.tsx
  182. +45 −25 packages/sanity/src/core/releases/tool/components/ReleaseMenuButton/ReleaseMenuButton.tsx
  183. +2 −5 packages/sanity/src/core/releases/tool/components/ReleaseMenuButton/releaseActions.ts
  184. +141 −0 packages/sanity/src/core/releases/tool/components/__tests__/ReleaseDocumentPreview.test.tsx
  185. +0 −15 packages/sanity/src/core/releases/tool/components/releaseCTAButtons/ReleasePublishAllButton.tsx
  186. +1 −1 packages/sanity/src/core/releases/tool/components/releaseCTAButtons/ReleaseScheduleButton.tsx
  187. +0 −15 packages/sanity/src/core/releases/tool/components/releaseCTAButtons/ReleaseUnscheduleButton.tsx
  188. +0 −123 packages/sanity/src/core/releases/tool/detail/ReleaseReview.tsx
  189. +2 −14 packages/sanity/src/core/releases/tool/detail/ReleaseSummary.tsx
  190. +1 −0 packages/sanity/src/core/releases/tool/detail/ReleaseTypePicker.tsx
  191. +3 −0 packages/sanity/src/core/releases/tool/detail/__tests__/ReleaseDetail.test.tsx
  192. +0 −331 packages/sanity/src/core/releases/tool/detail/__tests__/ReleaseReview.test.tsx
  193. +2 −2 packages/sanity/src/core/releases/tool/detail/__tests__/ReleaseTypePicker.test.tsx
  194. +36 −17 packages/sanity/src/core/releases/tool/detail/documentTable/DocumentActions.tsx
  195. +0 −94 packages/sanity/src/core/releases/tool/detail/review/DocumentDiff.styled.tsx
  196. +0 −75 packages/sanity/src/core/releases/tool/detail/review/DocumentDiff.tsx
  197. +0 −74 packages/sanity/src/core/releases/tool/detail/review/DocumentDiffContainer.tsx
  198. +0 −106 packages/sanity/src/core/releases/tool/detail/review/DocumentReviewHeader.tsx
  199. +6 −15 packages/sanity/src/core/releases/tool/detail/useBundleDocuments.ts
  200. +109 −88 packages/sanity/src/core/releases/tool/overview/ReleasesOverview.tsx
  201. +1 −1 packages/sanity/src/core/releases/tool/overview/__tests__/ReleasesOverview.test.tsx
  202. +187 −0 packages/sanity/src/core/releases/tool/resources/ReleaseIllustration.tsx
  203. +3 −3 packages/sanity/src/core/releases/util/getReleaseTone.ts
  204. +1 −0 packages/sanity/src/core/scheduledPublishing/components/dateInputs/base/DateTimeInput.tsx
  205. +8 −1 packages/sanity/src/core/scheduledPublishing/components/dateInputs/base/calendar/YearInput.tsx
  206. +6 −1 packages/sanity/src/core/search/common/deriveSearchWeightsFromType2024.ts
  207. +6 −2 packages/sanity/src/core/search/groq2024/createSearchQuery.ts
  208. +23 −2 packages/sanity/src/core/store/_legacy/datastores.ts
  209. +12 −0 packages/sanity/src/core/store/_legacy/document/__telemetry__/listenerLatency.telemetry.ts
  210. +132 −11 packages/sanity/src/core/store/_legacy/document/document-pair/checkoutPair.ts
  211. +4 −4 packages/sanity/src/core/store/_legacy/document/document-pair/consistencyStatus.ts
  212. +2 −2 packages/sanity/src/core/store/_legacy/document/document-pair/documentEvents.ts
  213. +2 −2 packages/sanity/src/core/store/_legacy/document/document-pair/editOperations.ts
  214. +3 −3 packages/sanity/src/core/store/_legacy/document/document-pair/editState.ts
  215. +3 −3 packages/sanity/src/core/store/_legacy/document/document-pair/memoizedPair.ts
  216. +2 −2 packages/sanity/src/core/store/_legacy/document/document-pair/operationArgs.ts
  217. +3 −3 packages/sanity/src/core/store/_legacy/document/document-pair/operationEvents.ts
  218. +2 −2 packages/sanity/src/core/store/_legacy/document/document-pair/remoteSnapshots.ts
  219. +2 −2 packages/sanity/src/core/store/_legacy/document/document-pair/snapshotPair.ts
  220. +1 −1 packages/sanity/src/core/store/_legacy/document/document-pair/utils/actionsApiClient.ts
  221. +2 −2 packages/sanity/src/core/store/_legacy/document/document-pair/validation.ts
  222. +12 −8 packages/sanity/src/core/store/_legacy/document/document-store.ts
  223. +12 −2 packages/sanity/src/core/store/_legacy/document/getPairListener.ts
  224. +7 −7 packages/sanity/src/core/store/_legacy/document/hooks/__tests__/useDocumentType.test.tsx
  225. +9 −6 packages/sanity/src/core/store/_legacy/document/resolveTypeForDocument.ts
  226. +2 −2 packages/sanity/src/core/store/_legacy/grants/documentPairPermissions.ts
  227. +10 −2 packages/sanity/src/core/store/events/useEventsStore.ts
  228. +2 −1 packages/sanity/src/core/studio/components/navbar/StudioNavbar.tsx
  229. +6 −1 ...anity/src/core/studio/components/navbar/search/components/searchResults/item/SearchResultItem.tsx
  230. +8 −1 ...rc/core/studio/components/navbar/search/components/searchResults/item/SearchResultItemPreview.tsx
  231. +3 −5 packages/sanity/src/core/studio/components/navbar/workspace/WorkspaceAuth/Layout.tsx
  232. +48 −0 packages/sanity/src/core/studio/copyPaste/__test__/transferValue.test.ts
  233. +8 −4 packages/sanity/src/core/studio/copyPaste/transferValue.ts
  234. +1 −0 packages/sanity/src/core/tasks/components/form/fields/TargetField.tsx
  235. +2 −2 packages/sanity/src/core/util/getDocumentVariantType.ts
  236. +2 −1 packages/sanity/src/core/validation/validateDocumentWithReferences.ts
  237. +14 −22 packages/sanity/src/core/validation/validators/slugValidator.ts
  238. +3 −2 packages/sanity/src/presentation/document/PresentationDocumentHeader.tsx
  239. +1 −2 packages/sanity/src/presentation/editor/ContentEditor.tsx
  240. +9 −2 packages/sanity/src/presentation/plugin.tsx
  241. +7 −2 packages/sanity/src/presentation/types.ts
  242. +6 −3 packages/sanity/src/presentation/useDocumentLocations.ts
  243. +12 −3 packages/sanity/src/structure/components/paneHeaderActions/PaneHeaderCreateButton.tsx
  244. +1 −1 packages/sanity/src/structure/components/paneItem/PaneItemPreview.tsx
  245. +1 −1 packages/sanity/src/structure/i18n/resources.ts
  246. +8 −4 packages/sanity/src/structure/panes/document/documentPanel/banners/ArchivedReleaseDocumentBanner.tsx
  247. +13 −2 .../sanity/src/structure/panes/document/documentPanel/header/perspective/DocumentPerspectiveList.tsx
  248. +1 −1 packages/sanity/src/structure/panes/document/statusBar/DocumentStatusBar.tsx
  249. +6 −5 packages/sanity/src/structure/panes/document/timeline/events/PublishedEventMenu.tsx
  250. +5 −12 packages/sanity/src/structure/structureBuilder/util/resolveTypeForDocument.ts
  251. +60 −0 packages/sanity/test/cli/graphql/__snapshots__/extract.test.ts.snap
  252. +78 −0 packages/sanity/test/cli/graphql/__snapshots__/gen2.test.ts.snap
  253. +624 −0 packages/sanity/test/cli/graphql/__snapshots__/gen3.test.ts.snap
  254. +1 −0 packages/sanity/test/form/index.ts
  255. +57 −0 packages/sanity/test/form/renderGlobalDocumentReferenceInput.tsx
  256. +2 −4 packages/sanity/test/validation/infer.test.ts
  257. +4 −0 packages/sanity/test/vitest.setup.ts
  258. +3 −2 packages/sanity/tsconfig.settings.json
  259. +3 −3 perf/efps/package.json
  260. +3 −3 perf/studio/package.json
  261. +4 −4 perf/tests/package.json
  262. +3 −1 playwright.config.ts
  263. +1,030 −1,183 pnpm-lock.yaml
  264. +9 −5 test/e2e/tests/document-actions/delete.spec.ts
  265. +23 −6 test/e2e/tests/document-actions/discardChanges.spec.ts
  266. +7 −0 test/e2e/tests/document-actions/liveEdit.spec.ts
  267. +5 −2 test/e2e/tests/document-actions/publish.spec.ts
  268. +10 −6 test/e2e/tests/document-actions/restore.spec.ts
  269. +3 −2 test/e2e/tests/document-actions/unpublish.spec.ts
  270. +8 −2 test/e2e/tests/inputs/array-capabilities.spec.ts
  271. +1 −1 test/e2e/tests/inputs/datetime.spec.ts
  272. +3 −3 test/e2e/tests/inputs/reference.spec.ts
  273. +19 −18 test/e2e/tests/inputs/text.spec.ts
  274. +3 −2 test/e2e/tests/navbar/appearanceMenu.spec.ts
  275. +59 −34 test/e2e/tests/pte/ImageArrayDrag.spec.ts
  276. +456 −0 test/e2e/tests/releases/displayDocument/DisplayedDocument.spec.ts
  277. +18 −0 test/e2e/tests/releases/utils/__fixtures__/documents.ts
  278. +17 −0 test/e2e/tests/releases/utils/__fixtures__/releases.ts
  279. +210 −0 test/e2e/tests/releases/utils/methods.ts
  280. +35 −0 test/e2e/tests/vision/utils.ts
  281. +142 −0 test/e2e/tests/vision/vision.spec.ts
  282. +2 −1 turbo.json
1 change: 1 addition & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -58,6 +58,7 @@
"@sanity/template-validator",
"@sanity/ui",
"@sanity/visual-editing-csm",
"framer-motion",
"get-it",
"groq-js",
"react-rx"
29 changes: 4 additions & 25 deletions .github/workflows/are-we-compiled-yet.yml
Original file line number Diff line number Diff line change
@@ -19,33 +19,12 @@ jobs:
TURBO_TEAM: ${{ vars.TURBO_TEAM }}

steps:
- name: Checkout
uses: actions/checkout@v4

- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
name: Install pnpm
id: pnpm-install
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache node modules
id: cache-node-modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
- uses: actions/setup-node@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
v1-${{ runner.os }}-pnpm-store-${{ env.cache-name }}-
v1-${{ runner.os }}-pnpm-store-
v1-${{ runner.os }}-
cache: pnpm
node-version: lts/*

- name: Install project dependencies
run: pnpm install
34 changes: 4 additions & 30 deletions .github/workflows/cli-test.yml
Original file line number Diff line number Diff line change
@@ -33,38 +33,12 @@ jobs:
# experimental: true

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}

- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
name: Install pnpm
id: pnpm-install
- uses: actions/setup-node@v4
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache node modules
id: cache-node-modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
v1-${{ runner.os }}-pnpm-store-${{ env.cache-name }}-
v1-${{ runner.os }}-pnpm-store-
v1-${{ runner.os }}-
cache: pnpm
node-version: ${{ matrix.node }}

- name: Install project dependencies
run: pnpm install
29 changes: 3 additions & 26 deletions .github/workflows/depCheck.yml
Original file line number Diff line number Diff line change
@@ -7,34 +7,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18

- uses: pnpm/action-setup@v4
name: Install pnpm
id: pnpm-install
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache node modules
id: cache-node-modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
- uses: actions/setup-node@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
v1-${{ runner.os }}-pnpm-store-${{ env.cache-name }}-
v1-${{ runner.os }}-pnpm-store-
v1-${{ runner.os }}-
cache: pnpm
node-version: lts/*

- name: Install project dependencies
run: pnpm install
33 changes: 4 additions & 29 deletions .github/workflows/docReport.yml
Original file line number Diff line number Diff line change
@@ -19,37 +19,12 @@ jobs:
TURBO_TEAM: ${{ vars.TURBO_TEAM }}

steps:
- name: Checkout
uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 18

- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
name: Install pnpm
id: pnpm-install
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache node modules
id: cache-node-modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
- uses: actions/setup-node@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
v1-${{ runner.os }}-pnpm-store-${{ env.cache-name }}-
v1-${{ runner.os }}-pnpm-store-
v1-${{ runner.os }}-
cache: pnpm
node-version: lts/*

- name: Install project dependencies
run: pnpm install
167 changes: 15 additions & 152 deletions .github/workflows/e2e-ct.yml
Original file line number Diff line number Diff line change
@@ -17,61 +17,21 @@ jobs:
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
strategy:
fail-fast: false
matrix:
# Be sure to update all instances in this file and `pr-cleanup.yml` if updated
project: [chromium, firefox, webkit]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18

- uses: pnpm/action-setup@v4
name: Install pnpm
id: pnpm-install
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache node modules
id: cache-node-modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
- uses: actions/setup-node@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
v1-${{ runner.os }}-pnpm-store-${{ env.cache-name }}-
v1-${{ runner.os }}-pnpm-store-
v1-${{ runner.os }}-
cache: pnpm
node-version: lts/*

- name: Install project dependencies
run: pnpm install

- name: Build packages
# This warms up the turborepo remote cache
run: pnpm build --output-logs=full --log-order=grouped

# Caches build from either PR or next
- name: Cache build
id: cache-e2e-build
uses: actions/cache@v4
env:
cache-name: cache-e2e-build
with:
path: |
./*
!**/node_modules/**
# Unique key for a workflow run. Should be invalidated in the next run
key: ${{ runner.os }}-${{ matrix.project }}-${{ env.cache-name }}-${{ github.run_id }}

playwright-ct-test:
timeout-minutes: 30
needs: [install]
@@ -82,41 +42,17 @@ jobs:
strategy:
fail-fast: false
matrix:
# Be sure to update all instances in this file and `pr-cleanup.yml` if updated
project: [chromium, firefox, webkit]
# Add more shards here if needed
# Add more shards here if needed, but remember that the github required checks will have to be updated as well
shardIndex: [1, 2]
shardTotal: [2]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18

- uses: pnpm/action-setup@v4
name: Install pnpm
id: pnpm-install
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache node modules
id: cache-node-modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
- uses: actions/setup-node@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
v1-${{ runner.os }}-pnpm-store-${{ env.cache-name }}-
v1-${{ runner.os }}-pnpm-store-
v1-${{ runner.os }}-
cache: pnpm
node-version: lts/*

- name: Install project dependencies
run: pnpm install
@@ -136,21 +72,12 @@ jobs:
- name: Install Playwright Browsers
# TODO: Fix webkit caching when downloading from cache
# for some reason it doesn't work without installing again
# if: steps.cache-playwright-browsers.outputs.cache-hit != 'true'
if: steps.cache-playwright-browsers.outputs.cache-hit != 'true' || matrix.project == 'webkit'
run: npx playwright install --with-deps

- name: Restore build cache
uses: actions/cache/restore@v4
id: restore-build
env:
cache-name: cache-e2e-build
with:
path: |
./*
!**/node_modules/**
key: ${{ runner.os }}-${{ matrix.project }}-${{ env.cache-name }}-${{ github.run_id }}
# If the cached build from the pervious step is not available. Fail the build
fail-on-cache-miss: true
- name: Build packages
# This should take only a few seconds as it'll restore the remote cache that got primed in the `install` job
run: pnpm build --output-logs=full --log-order=grouped

- name: Run end-to-end tests
env:
@@ -171,34 +98,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18

- uses: pnpm/action-setup@v4
name: Install pnpm
id: pnpm-install
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- name: Cache node modules
id: cache-node-modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
- uses: actions/setup-node@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
v1-${{ runner.os }}-pnpm-store-${{ env.cache-name }}-
v1-${{ runner.os }}-pnpm-store-
v1-${{ runner.os }}-
cache: pnpm
node-version: lts/*

- name: Install project dependencies
run: pnpm install
@@ -213,15 +117,6 @@ jobs:
- name: Merge into HTML Report
run: npx playwright merge-reports --reporter json ${{ github.workspace }}/packages/sanity/playwright-ct/playwright-ct-report >> ${{ github.workspace }}/packages/sanity/playwright-ct/playwright-ct-report/playwright-ct-test-results.json

- name: Get Current Job Log URL
uses: Tiryoh/gha-jobid-action@be260d8673c9211a84cdcf37794ebd654ba81eef # v1
id: job_html_url
if: always()
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
# Get the first run's ID even though it might be correct it should bring to the right place
job_name: "playwright-ct-test (chromium, 1, 2)"

- uses: actions/upload-artifact@v4
if: always()
with:
@@ -231,35 +126,3 @@ jobs:
${{ github.workspace }}/packages/sanity/playwright-ct/playwright-ct-report
${{ github.workspace }}/packages/sanity/playwright-ct/results
retention-days: 30

cleanup:
permissions:
contents: read
actions: write # needed to delete the cache
timeout-minutes: 30
name: Cleanup (${{ matrix.project }})
runs-on: ubuntu-latest
needs: [playwright-ct-test]

strategy:
# we want to know if a test fails on a specific node version
fail-fast: false
matrix:
# Be sure to update all instances in this file and `pr-cleanup.yml` if updated
project: [chromium, firefox, webkit]

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 18

# Delete the cache so it is only used once
- name: Delete Cache
run: gh cache delete ${{ runner.os }}-${{ matrix.project }}-${{ env.cache-name }}-${{ github.run_id }}
env:
cache-name: cache-e2e-build
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading