From 3e878913a6261aa56e1257214cbe9bbdf7140782 Mon Sep 17 00:00:00 2001 From: Pedro Bonamin <46196328+pedrobonamin@users.noreply.github.com> Date: Thu, 24 Oct 2024 08:06:56 +0200 Subject: [PATCH 01/10] feat(cli): add warning and docs for react-19 and Next.Js combined (#7660) Co-authored-by: Ash Co-authored-by: Espen Hovlandsdal --- .../src/actions/init-project/initProject.ts | 32 +++++++++++++++++-- .../actions/init-project/readPackageJson.ts | 18 +++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 packages/@sanity/cli/src/actions/init-project/readPackageJson.ts diff --git a/packages/@sanity/cli/src/actions/init-project/initProject.ts b/packages/@sanity/cli/src/actions/init-project/initProject.ts index dac97466649..691a327039d 100644 --- a/packages/@sanity/cli/src/actions/init-project/initProject.ts +++ b/packages/@sanity/cli/src/actions/init-project/initProject.ts @@ -4,11 +4,13 @@ import path from 'node:path' import {type DatasetAclMode, type SanityProject} from '@sanity/client' import {type Framework} from '@vercel/frameworks' +import {type detectFrameworkRecord} from '@vercel/fs-detectors' import dotenv from 'dotenv' import execa, {type CommonOptions} from 'execa' import {deburr, noop} from 'lodash' import pFilter from 'p-filter' import resolveFrom from 'resolve-from' +import semver from 'semver' import {evaluate, patch} from 'silver-fleece' import which from 'which' @@ -55,6 +57,7 @@ import { promptForNextTemplate, promptForStudioPath, } from './prompts/nextjs' +import {readPackageJson} from './readPackageJson' import {reconfigureV2Project} from './reconfigureV2Project' import templates from './templates' import { @@ -110,7 +113,9 @@ export interface ProjectOrganization { // eslint-disable-next-line max-statements, complexity export default async function initSanity( args: CliCommandArguments, - context: CliCommandContext & {detectedFramework: Framework | null}, + context: CliCommandContext & { + detectedFramework: Awaited> + }, ): Promise { const { output, @@ -128,6 +133,8 @@ export default async function initSanity( const cliFlags = args.extOptions const unattended = cliFlags.y || cliFlags.yes const print = unattended ? noop : output.print + const warn = (msg: string) => output.warn(chalk.yellow.bgBlack(msg)) + const intendedPlan = cliFlags['project-plan'] const intendedCoupon = cliFlags.coupon const reconfigure = cliFlags.reconfigure @@ -298,7 +305,8 @@ export default async function initSanity( } let initNext = false - if (detectedFramework?.slug === 'nextjs') { + const isNextJs = detectedFramework?.slug === 'nextjs' + if (isNextJs) { initNext = await prompt.single({ type: 'confirm', message: @@ -327,6 +335,26 @@ export default async function initSanity( // Ensure we are using the output path provided by user outputPath = answers.outputPath + if (isNextJs) { + const packageJson = readPackageJson(`${outputPath}/package.json`) + const reactVersion = packageJson?.dependencies?.react + + if (reactVersion) { + const isUsingReact19 = semver.coerce(reactVersion)?.major === 19 + const isUsingNextJs15 = semver.coerce(detectedFramework?.detectedVersion)?.major === 15 + + if (isUsingNextJs15 && isUsingReact19) { + warn('╭────────────────────────────────────────────────────────────╮') + warn('│ │') + warn('│ It looks like you are using Next.js 15 and React 19 │') + warn('│ Please read our compatibility guide. │') + warn('│ https://www.sanity.io/help/react-19 │') + warn('│ │') + warn('╰────────────────────────────────────────────────────────────╯') + } + } + } + if (initNext) { const useTypeScript = unattended ? true : await promptForTypeScript(prompt) trace.log({step: 'useTypeScript', selectedOption: useTypeScript ? 'yes' : 'no'}) diff --git a/packages/@sanity/cli/src/actions/init-project/readPackageJson.ts b/packages/@sanity/cli/src/actions/init-project/readPackageJson.ts new file mode 100644 index 00000000000..ed638458a67 --- /dev/null +++ b/packages/@sanity/cli/src/actions/init-project/readPackageJson.ts @@ -0,0 +1,18 @@ +import fs from 'node:fs' + +import {type PackageJson} from '../../types' + +/** + * Read the `package.json` file at the given path + * + * @param filePath - Path to package.json to read + * @returns The parsed package.json + */ +export function readPackageJson(filePath: string): PackageJson | undefined { + try { + // eslint-disable-next-line no-sync + return JSON.parse(fs.readFileSync(filePath, 'utf8')) + } catch (err) { + return undefined + } +} From 77184037d3fd36b28641c377fb421f2e7eeae609 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 08:31:35 +0000 Subject: [PATCH 02/10] v3.62.1 --- dev/depcheck-test/package.json | 2 +- dev/design-studio/package.json | 2 +- dev/embedded-studio/package.json | 2 +- dev/page-building-studio/package.json | 2 +- dev/starter-next-studio/package.json | 2 +- dev/starter-studio/package.json | 2 +- dev/strict-studio/package.json | 2 +- dev/studio-e2e-testing/package.json | 4 +- dev/test-next-studio/package.json | 2 +- dev/test-studio/package.json | 4 +- examples/blog-studio/package.json | 2 +- examples/clean-studio/package.json | 2 +- examples/ecommerce-studio/package.json | 4 +- examples/movies-studio/package.json | 2 +- lerna.json | 2 +- packages/@repo/dev-aliases/package.json | 2 +- packages/@repo/package.bundle/package.json | 2 +- packages/@repo/package.config/package.json | 2 +- packages/@repo/test-config/package.json | 2 +- packages/@repo/test-exports/package.json | 2 +- packages/@repo/tsconfig/package.json | 2 +- packages/@sanity/block-tools/package.json | 6 +-- packages/@sanity/cli/package.json | 6 +-- packages/@sanity/codegen/package.json | 2 +- packages/@sanity/diff/package.json | 2 +- packages/@sanity/migrate/package.json | 6 +-- packages/@sanity/mutator/package.json | 4 +- packages/@sanity/schema/package.json | 4 +- packages/@sanity/types/package.json | 2 +- packages/@sanity/util/package.json | 4 +- packages/@sanity/vision/package.json | 2 +- packages/create-sanity/package.json | 4 +- packages/groq/package.json | 2 +- packages/sanity/package.json | 20 +++++----- perf/studio/package.json | 2 +- perf/tests/package.json | 2 +- pnpm-lock.yaml | 44 +++++++++++----------- 37 files changed, 80 insertions(+), 80 deletions(-) diff --git a/dev/depcheck-test/package.json b/dev/depcheck-test/package.json index 3da85260a2b..d4bd4a11c94 100644 --- a/dev/depcheck-test/package.json +++ b/dev/depcheck-test/package.json @@ -1,6 +1,6 @@ { "name": "depcheck-test", - "version": "3.62.0", + "version": "3.62.1", "private": true, "license": "MIT", "author": "Sanity.io " diff --git a/dev/design-studio/package.json b/dev/design-studio/package.json index 85cc130603a..3a37ac63e3c 100644 --- a/dev/design-studio/package.json +++ b/dev/design-studio/package.json @@ -1,6 +1,6 @@ { "name": "design-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "Sanity Design Studio", "keywords": [ diff --git a/dev/embedded-studio/package.json b/dev/embedded-studio/package.json index 32c1430bd7f..82e52be7f3d 100644 --- a/dev/embedded-studio/package.json +++ b/dev/embedded-studio/package.json @@ -1,6 +1,6 @@ { "name": "embedded-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "scripts": { "build": "tsc && vite build && sanity manifest extract", diff --git a/dev/page-building-studio/package.json b/dev/page-building-studio/package.json index d99e3dfc41c..9285788006e 100644 --- a/dev/page-building-studio/package.json +++ b/dev/page-building-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-page-building-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "license": "MIT", "author": "Sanity.io ", diff --git a/dev/starter-next-studio/package.json b/dev/starter-next-studio/package.json index a81b2ba265b..87f774c931c 100644 --- a/dev/starter-next-studio/package.json +++ b/dev/starter-next-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-starter-next-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "license": "MIT", "author": "Sanity.io ", diff --git a/dev/starter-studio/package.json b/dev/starter-studio/package.json index 6d638bbcbdf..1b63d261731 100644 --- a/dev/starter-studio/package.json +++ b/dev/starter-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-starter-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "license": "MIT", "author": "Sanity.io ", diff --git a/dev/strict-studio/package.json b/dev/strict-studio/package.json index 7352fcc7553..6155fa433e5 100644 --- a/dev/strict-studio/package.json +++ b/dev/strict-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-strict-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "license": "MIT", "author": "Sanity.io ", diff --git a/dev/studio-e2e-testing/package.json b/dev/studio-e2e-testing/package.json index 4693861d364..bcda4792467 100644 --- a/dev/studio-e2e-testing/package.json +++ b/dev/studio-e2e-testing/package.json @@ -1,6 +1,6 @@ { "name": "studio-e2e-testing", - "version": "3.62.0", + "version": "3.62.1", "private": true, "keywords": [ "sanity" @@ -18,7 +18,7 @@ "@sanity/google-maps-input": "^4.0.0", "@sanity/icons": "^3.4.0", "@sanity/ui": "^2.8.10", - "@sanity/vision": "3.62.0", + "@sanity/vision": "3.62.1", "react": "^18.3.1", "react-dom": "^18.3.1", "sanity": "workspace:*", diff --git a/dev/test-next-studio/package.json b/dev/test-next-studio/package.json index d32940afbc6..42b0eeba07a 100644 --- a/dev/test-next-studio/package.json +++ b/dev/test-next-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-test-next-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "license": "MIT", "author": "Sanity.io ", diff --git a/dev/test-studio/package.json b/dev/test-studio/package.json index 5c8363cddc6..b63b0aae758 100644 --- a/dev/test-studio/package.json +++ b/dev/test-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-test-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "license": "MIT", "author": "Sanity.io ", @@ -19,7 +19,7 @@ "@portabletext/editor": "^1.1.5", "@portabletext/react": "^3.0.0", "@sanity/assist": "^3.0.2", - "@sanity/block-tools": "3.62.0", + "@sanity/block-tools": "3.62.1", "@sanity/client": "^6.22.2", "@sanity/color": "^3.0.0", "@sanity/google-maps-input": "^4.0.0", diff --git a/examples/blog-studio/package.json b/examples/blog-studio/package.json index 63d5aec0f24..8a3b77399ea 100644 --- a/examples/blog-studio/package.json +++ b/examples/blog-studio/package.json @@ -1,6 +1,6 @@ { "name": "blog-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "Content studio running with schema from the blog init template", "keywords": [ diff --git a/examples/clean-studio/package.json b/examples/clean-studio/package.json index 161d1701c2c..19a455d70e9 100644 --- a/examples/clean-studio/package.json +++ b/examples/clean-studio/package.json @@ -1,6 +1,6 @@ { "name": "clean-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "Content studio running with schema from the clean template", "keywords": [ diff --git a/examples/ecommerce-studio/package.json b/examples/ecommerce-studio/package.json index 73602f75c39..c0ccf1bbce9 100644 --- a/examples/ecommerce-studio/package.json +++ b/examples/ecommerce-studio/package.json @@ -1,6 +1,6 @@ { "name": "ecommerce-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "", "keywords": [ @@ -29,7 +29,7 @@ "start": "sanity dev --port 3337" }, "dependencies": { - "@sanity/cli": "3.62.0", + "@sanity/cli": "3.62.1", "@sanity/ui": "^2.8.10", "react": "^18.3.1", "react-barcode": "^1.4.1", diff --git a/examples/movies-studio/package.json b/examples/movies-studio/package.json index bd75085293d..d4644fe1897 100644 --- a/examples/movies-studio/package.json +++ b/examples/movies-studio/package.json @@ -1,6 +1,6 @@ { "name": "movies-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "Content studio running with schema from the moviedb init template", "keywords": [ diff --git a/lerna.json b/lerna.json index 5817b8a5f65..55fa115f9b8 100644 --- a/lerna.json +++ b/lerna.json @@ -12,5 +12,5 @@ "packages/groq", "packages/sanity" ], - "version": "3.62.0" + "version": "3.62.1" } diff --git a/packages/@repo/dev-aliases/package.json b/packages/@repo/dev-aliases/package.json index 3ae2ee8b676..bf634cec6e8 100644 --- a/packages/@repo/dev-aliases/package.json +++ b/packages/@repo/dev-aliases/package.json @@ -1,6 +1,6 @@ { "name": "@repo/dev-aliases", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "Dev aliases for the sanity monorepo", "type": "module", diff --git a/packages/@repo/package.bundle/package.json b/packages/@repo/package.bundle/package.json index a17cbaea3fa..91e52d11486 100644 --- a/packages/@repo/package.bundle/package.json +++ b/packages/@repo/package.bundle/package.json @@ -1,6 +1,6 @@ { "name": "@repo/package.bundle", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "Shared package bundle configuration", "main": "./src/package.bundle.ts", diff --git a/packages/@repo/package.config/package.json b/packages/@repo/package.config/package.json index 28df3897777..4f7b6f5297f 100644 --- a/packages/@repo/package.config/package.json +++ b/packages/@repo/package.config/package.json @@ -1,6 +1,6 @@ { "name": "@repo/package.config", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "Shared @sanity/pkg-utils configuration", "main": "./src/package.config.ts", diff --git a/packages/@repo/test-config/package.json b/packages/@repo/test-config/package.json index 4ced85c458f..78f2d3f0cfb 100644 --- a/packages/@repo/test-config/package.json +++ b/packages/@repo/test-config/package.json @@ -1,6 +1,6 @@ { "name": "@repo/test-config", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "Test (as in unit test) config shared across packages in the sanity monorepo", "type": "module", diff --git a/packages/@repo/test-exports/package.json b/packages/@repo/test-exports/package.json index 744afdae4c3..4fdc0e4b7ca 100644 --- a/packages/@repo/test-exports/package.json +++ b/packages/@repo/test-exports/package.json @@ -1,6 +1,6 @@ { "name": "@repo/test-exports", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "Ensures that all the monorepo packages that are published works in native node ESM and CJS runtimes", "exports": { diff --git a/packages/@repo/tsconfig/package.json b/packages/@repo/tsconfig/package.json index abed1d00dfe..82bfa26028d 100644 --- a/packages/@repo/tsconfig/package.json +++ b/packages/@repo/tsconfig/package.json @@ -1,5 +1,5 @@ { "name": "@repo/tsconfig", - "version": "3.62.0", + "version": "3.62.1", "private": true } diff --git a/packages/@sanity/block-tools/package.json b/packages/@sanity/block-tools/package.json index 65aef59690e..385787f87ca 100644 --- a/packages/@sanity/block-tools/package.json +++ b/packages/@sanity/block-tools/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/block-tools", - "version": "3.62.0", + "version": "3.62.1", "description": "Can format HTML, Slate JSON or Sanity block array into any other format.", "keywords": [ "sanity", @@ -49,7 +49,7 @@ "watch": "pkg-utils watch" }, "dependencies": { - "@sanity/types": "3.62.0", + "@sanity/types": "3.62.1", "@types/react": "^18.3.5", "get-random-values-esm": "1.0.2", "lodash": "^4.17.21" @@ -57,7 +57,7 @@ "devDependencies": { "@repo/package.config": "workspace:*", "@repo/test-config": "workspace:*", - "@sanity/schema": "3.62.0", + "@sanity/schema": "3.62.1", "@types/jsdom": "^20.0.0", "@types/lodash": "^4.17.7", "@vercel/stega": "0.1.2", diff --git a/packages/@sanity/cli/package.json b/packages/@sanity/cli/package.json index b76453d8b26..6658dee1525 100644 --- a/packages/@sanity/cli/package.json +++ b/packages/@sanity/cli/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/cli", - "version": "3.62.0", + "version": "3.62.1", "description": "Sanity CLI tool for managing Sanity installations, managing plugins, schemas and datasets", "keywords": [ "sanity", @@ -58,9 +58,9 @@ "dependencies": { "@babel/traverse": "^7.23.5", "@sanity/client": "^6.22.2", - "@sanity/codegen": "3.62.0", + "@sanity/codegen": "3.62.1", "@sanity/telemetry": "^0.7.7", - "@sanity/util": "3.62.0", + "@sanity/util": "3.62.1", "chalk": "^4.1.2", "debug": "^4.3.4", "decompress": "^4.2.0", diff --git a/packages/@sanity/codegen/package.json b/packages/@sanity/codegen/package.json index abdedc2d3b9..3313d0eab0b 100644 --- a/packages/@sanity/codegen/package.json +++ b/packages/@sanity/codegen/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/codegen", - "version": "3.62.0", + "version": "3.62.1", "description": "Codegen toolkit for Sanity.io", "keywords": [ "sanity", diff --git a/packages/@sanity/diff/package.json b/packages/@sanity/diff/package.json index d23d98a9a79..23e862d54cb 100644 --- a/packages/@sanity/diff/package.json +++ b/packages/@sanity/diff/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/diff", - "version": "3.62.0", + "version": "3.62.1", "description": "Generates diffs between documents and primitive types", "keywords": [ "sanity", diff --git a/packages/@sanity/migrate/package.json b/packages/@sanity/migrate/package.json index d9b57cc4e93..912b7ff9d5b 100644 --- a/packages/@sanity/migrate/package.json +++ b/packages/@sanity/migrate/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/migrate", - "version": "3.62.0", + "version": "3.62.1", "description": "Tooling for running data migrations on Sanity.io projects", "keywords": [ "sanity", @@ -52,8 +52,8 @@ "dependencies": { "@sanity/client": "^6.22.2", "@sanity/mutate": "^0.10.1", - "@sanity/types": "3.62.0", - "@sanity/util": "3.62.0", + "@sanity/types": "3.62.1", + "@sanity/util": "3.62.1", "arrify": "^2.0.1", "debug": "^4.3.4", "fast-fifo": "^1.3.2", diff --git a/packages/@sanity/mutator/package.json b/packages/@sanity/mutator/package.json index c8dab966c72..13c05cea481 100644 --- a/packages/@sanity/mutator/package.json +++ b/packages/@sanity/mutator/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/mutator", - "version": "3.62.0", + "version": "3.62.1", "description": "A set of models to make it easier to utilize the powerful real time collaborative features of Sanity", "keywords": [ "sanity", @@ -50,7 +50,7 @@ }, "dependencies": { "@sanity/diff-match-patch": "^3.1.1", - "@sanity/types": "3.62.0", + "@sanity/types": "3.62.1", "@sanity/uuid": "^3.0.1", "debug": "^4.3.4", "lodash": "^4.17.21" diff --git a/packages/@sanity/schema/package.json b/packages/@sanity/schema/package.json index f572966a64f..29b73b0d379 100644 --- a/packages/@sanity/schema/package.json +++ b/packages/@sanity/schema/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/schema", - "version": "3.62.0", + "version": "3.62.1", "description": "", "keywords": [ "sanity", @@ -64,7 +64,7 @@ }, "dependencies": { "@sanity/generate-help-url": "^3.0.0", - "@sanity/types": "3.62.0", + "@sanity/types": "3.62.1", "arrify": "^1.0.1", "groq-js": "^1.13.0", "humanize-list": "^1.0.1", diff --git a/packages/@sanity/types/package.json b/packages/@sanity/types/package.json index 60a5923c99f..666556a6138 100644 --- a/packages/@sanity/types/package.json +++ b/packages/@sanity/types/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/types", - "version": "3.62.0", + "version": "3.62.1", "description": "Type definitions for common Sanity data structures", "keywords": [ "sanity", diff --git a/packages/@sanity/util/package.json b/packages/@sanity/util/package.json index 6eeccc41d0a..3bd78cf287a 100644 --- a/packages/@sanity/util/package.json +++ b/packages/@sanity/util/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/util", - "version": "3.62.0", + "version": "3.62.1", "description": "Utilities shared across projects of Sanity", "keywords": [ "sanity", @@ -122,7 +122,7 @@ }, "dependencies": { "@sanity/client": "^6.22.2", - "@sanity/types": "3.62.0", + "@sanity/types": "3.62.1", "get-random-values-esm": "1.0.2", "moment": "^2.30.1", "rxjs": "^7.8.1" diff --git a/packages/@sanity/vision/package.json b/packages/@sanity/vision/package.json index 786d115f9bd..694e918db66 100644 --- a/packages/@sanity/vision/package.json +++ b/packages/@sanity/vision/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/vision", - "version": "3.62.0", + "version": "3.62.1", "description": "Sanity plugin for running/debugging GROQ-queries against Sanity datasets", "keywords": [ "sanity", diff --git a/packages/create-sanity/package.json b/packages/create-sanity/package.json index d508e678ee1..fee59ef43b9 100644 --- a/packages/create-sanity/package.json +++ b/packages/create-sanity/package.json @@ -1,6 +1,6 @@ { "name": "create-sanity", - "version": "3.62.0", + "version": "3.62.1", "description": "Initialize a new Sanity project", "keywords": [ "sanity", @@ -26,7 +26,7 @@ "index.js" ], "dependencies": { - "@sanity/cli": "3.62.0", + "@sanity/cli": "3.62.1", "resolve-pkg": "^2.0.0" }, "engines": { diff --git a/packages/groq/package.json b/packages/groq/package.json index 7579e1096a3..1608434a591 100644 --- a/packages/groq/package.json +++ b/packages/groq/package.json @@ -1,6 +1,6 @@ { "name": "groq", - "version": "3.62.0", + "version": "3.62.1", "description": "Tagged template literal for Sanity.io GROQ-queries", "keywords": [ "sanity", diff --git a/packages/sanity/package.json b/packages/sanity/package.json index f4f9179bd24..2133598d687 100644 --- a/packages/sanity/package.json +++ b/packages/sanity/package.json @@ -1,6 +1,6 @@ { "name": "sanity", - "version": "3.62.0", + "version": "3.62.1", "description": "Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches", "keywords": [ "sanity", @@ -158,11 +158,11 @@ "@rexxars/react-json-inspector": "^8.0.1", "@sanity/asset-utils": "^2.0.6", "@sanity/bifur-client": "^0.4.1", - "@sanity/block-tools": "3.62.0", - "@sanity/cli": "3.62.0", + "@sanity/block-tools": "3.62.1", + "@sanity/cli": "3.62.1", "@sanity/client": "^6.22.2", "@sanity/color": "^3.0.0", - "@sanity/diff": "3.62.0", + "@sanity/diff": "3.62.1", "@sanity/diff-match-patch": "^3.1.1", "@sanity/eventsource": "^5.0.0", "@sanity/export": "^3.41.0", @@ -171,14 +171,14 @@ "@sanity/import": "^3.37.3", "@sanity/insert-menu": "1.0.9", "@sanity/logos": "^2.1.4", - "@sanity/migrate": "3.62.0", - "@sanity/mutator": "3.62.0", + "@sanity/migrate": "3.62.1", + "@sanity/mutator": "3.62.1", "@sanity/presentation": "1.17.3", - "@sanity/schema": "3.62.0", + "@sanity/schema": "3.62.1", "@sanity/telemetry": "^0.7.7", - "@sanity/types": "3.62.0", + "@sanity/types": "3.62.1", "@sanity/ui": "^2.8.10", - "@sanity/util": "3.62.0", + "@sanity/util": "3.62.1", "@sanity/uuid": "^3.0.1", "@sentry/react": "^8.7.0", "@tanstack/react-table": "^8.16.0", @@ -273,7 +273,7 @@ "@repo/dev-aliases": "workspace:*", "@repo/package.config": "workspace:*", "@repo/test-config": "workspace:*", - "@sanity/codegen": "3.62.0", + "@sanity/codegen": "3.62.1", "@sanity/generate-help-url": "^3.0.0", "@sanity/pkg-utils": "6.11.4", "@sanity/tsdoc": "1.0.113", diff --git a/perf/studio/package.json b/perf/studio/package.json index 89a3cb64891..7a629ae9782 100644 --- a/perf/studio/package.json +++ b/perf/studio/package.json @@ -1,6 +1,6 @@ { "name": "perf-studio", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "Sanity Studio with various test cases for tracking performance", "license": "MIT", diff --git a/perf/tests/package.json b/perf/tests/package.json index 7e76171e429..b73f87700ea 100644 --- a/perf/tests/package.json +++ b/perf/tests/package.json @@ -1,6 +1,6 @@ { "name": "sanity-perf-tests", - "version": "3.62.0", + "version": "3.62.1", "private": true, "description": "Sanity Studio perf tests", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 392b68ca474..29b72652481 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -370,7 +370,7 @@ importers: specifier: ^2.8.10 version: 2.8.10(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/vision': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../../packages/@sanity/vision react: specifier: ^18.3.1 @@ -439,7 +439,7 @@ importers: specifier: ^3.0.2 version: 3.0.8(@sanity/mutator@packages+@sanity+mutator)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/block-tools': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../../packages/@sanity/block-tools '@sanity/client': specifier: ^6.22.2 @@ -599,7 +599,7 @@ importers: examples/ecommerce-studio: dependencies: '@sanity/cli': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../../packages/@sanity/cli '@sanity/ui': specifier: ^2.8.10 @@ -728,7 +728,7 @@ importers: packages/@sanity/block-tools: dependencies: '@sanity/types': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../types '@types/react': specifier: ^18.3.5 @@ -747,7 +747,7 @@ importers: specifier: workspace:* version: link:../../@repo/test-config '@sanity/schema': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../schema '@types/jsdom': specifier: ^20.0.0 @@ -777,13 +777,13 @@ importers: specifier: ^6.22.2 version: 6.22.2(debug@4.3.7) '@sanity/codegen': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../codegen '@sanity/telemetry': specifier: ^0.7.7 version: 0.7.9(react@19.0.0-rc-f994737d14-20240522) '@sanity/util': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../util chalk: specifier: ^4.1.2 @@ -1086,10 +1086,10 @@ importers: specifier: ^0.10.1 version: 0.10.1(debug@4.3.7) '@sanity/types': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../types '@sanity/util': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../util arrify: specifier: ^2.0.1 @@ -1132,7 +1132,7 @@ importers: specifier: ^3.1.1 version: 3.1.1 '@sanity/types': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../types '@sanity/uuid': specifier: ^3.0.1 @@ -1169,7 +1169,7 @@ importers: specifier: ^3.0.0 version: 3.0.0 '@sanity/types': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../types arrify: specifier: ^1.0.1 @@ -1255,7 +1255,7 @@ importers: specifier: ^6.22.2 version: 6.22.2(debug@4.3.7) '@sanity/types': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../types get-random-values-esm: specifier: 1.0.2 @@ -1392,7 +1392,7 @@ importers: packages/create-sanity: dependencies: '@sanity/cli': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../@sanity/cli resolve-pkg: specifier: ^2.0.0 @@ -1437,10 +1437,10 @@ importers: specifier: ^0.4.1 version: 0.4.1 '@sanity/block-tools': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../@sanity/block-tools '@sanity/cli': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../@sanity/cli '@sanity/client': specifier: ^6.22.2 @@ -1449,7 +1449,7 @@ importers: specifier: ^3.0.0 version: 3.0.6 '@sanity/diff': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../@sanity/diff '@sanity/diff-match-patch': specifier: ^3.1.1 @@ -1476,28 +1476,28 @@ importers: specifier: ^2.1.4 version: 2.1.13(@sanity/color@3.0.6)(react@18.3.1) '@sanity/migrate': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../@sanity/migrate '@sanity/mutator': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../@sanity/mutator '@sanity/presentation': specifier: 1.17.3 version: 1.17.3(@sanity/client@6.22.2(debug@4.3.7))(@sanity/color@3.0.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/schema': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../@sanity/schema '@sanity/telemetry': specifier: ^0.7.7 version: 0.7.9(react@18.3.1) '@sanity/types': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../@sanity/types '@sanity/ui': specifier: ^2.8.10 version: 2.8.10(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/util': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../@sanity/util '@sanity/uuid': specifier: ^3.0.1 @@ -1777,7 +1777,7 @@ importers: specifier: workspace:* version: link:../@repo/test-config '@sanity/codegen': - specifier: 3.62.0 + specifier: 3.62.1 version: link:../@sanity/codegen '@sanity/generate-help-url': specifier: ^3.0.0 From 21988da17e934e71f3d5cf2962043b1cbb86e704 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 00:52:12 +0200 Subject: [PATCH 03/10] fix(deps): Update dev-non-major (#7661) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- dev/embedded-studio/package.json | 2 +- dev/test-next-studio/package.json | 2 +- dev/test-studio/package.json | 2 +- pnpm-lock.yaml | 310 +++++++++++++++--------------- 4 files changed, 158 insertions(+), 158 deletions(-) diff --git a/dev/embedded-studio/package.json b/dev/embedded-studio/package.json index 82e52be7f3d..9ad4f8714a0 100644 --- a/dev/embedded-studio/package.json +++ b/dev/embedded-studio/package.json @@ -15,7 +15,7 @@ "styled-components": "^6.1.0" }, "devDependencies": { - "@types/react": "^18.3.11", + "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@vitejs/plugin-react": "^4.3.3", "typescript": "5.6.3", diff --git a/dev/test-next-studio/package.json b/dev/test-next-studio/package.json index 42b0eeba07a..edeb92a03e3 100644 --- a/dev/test-next-studio/package.json +++ b/dev/test-next-studio/package.json @@ -13,7 +13,7 @@ "dependencies": { "@sanity/vision": "workspace:*", "babel-plugin-react-compiler": "0.0.0-experimental-de2cfda-20240912", - "next": "15.0.0", + "next": "15.0.1", "react": "19.0.0-rc-a7d1240c-20240731", "react-dom": "19.0.0-rc-a7d1240c-20240731", "react-is": "19.0.0-rc-a7d1240c-20240731", diff --git a/dev/test-studio/package.json b/dev/test-studio/package.json index b63b0aae758..1d8d5eddc3c 100644 --- a/dev/test-studio/package.json +++ b/dev/test-studio/package.json @@ -41,7 +41,7 @@ "@sanity/util": "workspace:*", "@sanity/uuid": "^3.0.1", "@sanity/vision": "workspace:*", - "@sanity/visual-editing": "2.2.2", + "@sanity/visual-editing": "2.3.0", "@turf/helpers": "^6.0.1", "@turf/points-within-polygon": "^5.1.5", "@vercel/stega": "0.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29b72652481..b0b4cff6ab3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -77,7 +77,7 @@ importers: version: 18.19.44 '@types/react': specifier: ^18.3.5 - version: 18.3.11 + version: 18.3.12 '@types/semver': specifier: ^7.5.6 version: 7.5.8 @@ -274,8 +274,8 @@ importers: version: 6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@types/react': - specifier: ^18.3.11 - version: 18.3.11 + specifier: ^18.3.12 + version: 18.3.12 '@types/react-dom': specifier: ^18.3.1 version: 18.3.1 @@ -314,7 +314,7 @@ importers: dependencies: next: specifier: ^14.0.0 - version: 14.2.15(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.2.16(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 @@ -383,10 +383,10 @@ importers: version: link:../../packages/sanity sanity-plugin-media: specifier: ^2.3.1 - version: 2.3.2(@sanity/ui@2.8.10(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + version: 2.3.2(@sanity/ui@2.8.10(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) sanity-plugin-mux-input: specifier: ^2.2.1 - version: 2.3.6(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + version: 2.3.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) sanity-test-studio: specifier: workspace:* version: link:../test-studio @@ -403,8 +403,8 @@ importers: specifier: 0.0.0-experimental-de2cfda-20240912 version: 0.0.0-experimental-de2cfda-20240912 next: - specifier: 15.0.0 - version: 15.0.0(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@0.0.0-experimental-de2cfda-20240912)(react-dom@19.0.0-rc-a7d1240c-20240731(react@19.0.0-rc-a7d1240c-20240731))(react@19.0.0-rc-a7d1240c-20240731) + specifier: 15.0.1 + version: 15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@0.0.0-experimental-de2cfda-20240912)(react-dom@19.0.0-rc-a7d1240c-20240731(react@19.0.0-rc-a7d1240c-20240731))(react@19.0.0-rc-a7d1240c-20240731) react: specifier: 19.0.0-rc-a7d1240c-20240731 version: 19.0.0-rc-a7d1240c-20240731 @@ -505,8 +505,8 @@ importers: specifier: workspace:* version: link:../../packages/@sanity/vision '@sanity/visual-editing': - specifier: 2.2.2 - version: 2.2.2(@sanity/client@6.22.2)(next@15.0.0(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 2.3.0 + version: 2.3.0(@sanity/client@6.22.2)(next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@turf/helpers': specifier: ^6.0.1 version: 6.5.0 @@ -554,10 +554,10 @@ importers: version: 2.1.0(@sanity/ui@2.8.10(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) sanity-plugin-media: specifier: ^2.3.1 - version: 2.3.2(@sanity/ui@2.8.10(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + version: 2.3.2(@sanity/ui@2.8.10(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) sanity-plugin-mux-input: specifier: ^2.2.1 - version: 2.3.6(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + version: 2.3.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) styled-components: specifier: ^6.1.11 version: 6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -732,7 +732,7 @@ importers: version: link:../types '@types/react': specifier: ^18.3.5 - version: 18.3.11 + version: 18.3.12 get-random-values-esm: specifier: 1.0.2 version: 1.0.2 @@ -1210,7 +1210,7 @@ importers: version: 1.13.0 '@types/react': specifier: ^18.3.5 - version: 18.3.11 + version: 18.3.12 rimraf: specifier: ^3.0.2 version: 3.0.2 @@ -1225,7 +1225,7 @@ importers: version: 6.22.2(debug@4.3.7) '@types/react': specifier: ^18.3.5 - version: 18.3.11 + version: 18.3.12 devDependencies: '@repo/package.config': specifier: workspace:* @@ -1684,7 +1684,7 @@ importers: version: 3.2.2 react-focus-lock: specifier: ^2.8.1 - version: 2.12.1(@types/react@18.3.11)(react@18.3.1) + version: 2.12.1(@types/react@18.3.12)(react@18.3.1) react-i18next: specifier: 14.0.2 version: 14.0.2(i18next@23.12.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1799,7 +1799,7 @@ importers: version: 6.4.8 '@testing-library/react': specifier: ^15.0.6 - version: 15.0.7(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 15.0.7(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/user-event': specifier: ^13.5.0 version: 13.5.0(@testing-library/dom@10.4.0) @@ -1835,7 +1835,7 @@ importers: version: 3.4.3 '@types/react': specifier: ^18.3.5 - version: 18.3.11 + version: 18.3.12 '@types/react-dom': specifier: ^18.3.0 version: 18.3.1 @@ -1928,7 +1928,7 @@ importers: version: 1.10.9(@swc/core@1.7.14(@swc/helpers@0.5.13))(@swc/types@0.1.12)(typescript@5.6.3) '@types/react': specifier: ^18.3.3 - version: 18.3.11 + version: 18.3.12 '@types/react-dom': specifier: ^18.3.0 version: 18.3.1 @@ -3809,110 +3809,110 @@ packages: '@napi-rs/wasm-runtime@0.2.4': resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} - '@next/env@14.2.15': - resolution: {integrity: sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==} + '@next/env@14.2.16': + resolution: {integrity: sha512-fLrX5TfJzHCbnZ9YUSnGW63tMV3L4nSfhgOQ0iCcX21Pt+VSTDuaLsSuL8J/2XAiVA5AnzvXDpf6pMs60QxOag==} - '@next/env@15.0.0': - resolution: {integrity: sha512-Mcv8ZVmEgTO3bePiH/eJ7zHqQEs2gCqZ0UId2RxHmDDc7Pw6ngfSrOFlxG8XDpaex+n2G+TKPsQAf28MO+88Gw==} + '@next/env@15.0.1': + resolution: {integrity: sha512-lc4HeDUKO9gxxlM5G2knTRifqhsY6yYpwuHspBZdboZe0Gp+rZHBNNSIjmQKDJIdRXiXGyVnSD6gafrbQPvILQ==} - '@next/swc-darwin-arm64@14.2.15': - resolution: {integrity: sha512-Rvh7KU9hOUBnZ9TJ28n2Oa7dD9cvDBKua9IKx7cfQQ0GoYUwg9ig31O2oMwH3wm+pE3IkAQ67ZobPfEgurPZIA==} + '@next/swc-darwin-arm64@14.2.16': + resolution: {integrity: sha512-uFT34QojYkf0+nn6MEZ4gIWQ5aqGF11uIZ1HSxG+cSbj+Mg3+tYm8qXYd3dKN5jqKUm5rBVvf1PBRO/MeQ6rxw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-arm64@15.0.0': - resolution: {integrity: sha512-Gjgs3N7cFa40a9QT9AEHnuGKq69/bvIOn0SLGDV+ordq07QOP4k1GDOVedMHEjVeqy1HBLkL8rXnNTuMZIv79A==} + '@next/swc-darwin-arm64@15.0.1': + resolution: {integrity: sha512-C9k/Xv4sxkQRTA37Z6MzNq3Yb1BJMmSqjmwowoWEpbXTkAdfOwnoKOpAb71ItSzoA26yUTIo6ZhN8rKGu4ExQw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@14.2.15': - resolution: {integrity: sha512-5TGyjFcf8ampZP3e+FyCax5zFVHi+Oe7sZyaKOngsqyaNEpOgkKB3sqmymkZfowy3ufGA/tUgDPPxpQx931lHg==} + '@next/swc-darwin-x64@14.2.16': + resolution: {integrity: sha512-mCecsFkYezem0QiZlg2bau3Xul77VxUD38b/auAjohMA22G9KTJneUYMv78vWoCCFkleFAhY1NIvbyjj1ncG9g==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-darwin-x64@15.0.0': - resolution: {integrity: sha512-BUtTvY5u9s5berAuOEydAUlVMjnl6ZjXS+xVrMt317mglYZ2XXjY8YRDCaz9vYMjBNPXH8Gh75Cew5CMdVbWTw==} + '@next/swc-darwin-x64@15.0.1': + resolution: {integrity: sha512-uHl13HXOuq1G7ovWFxCACDJHTSDVbn/sbLv8V1p+7KIvTrYQ5HNoSmKBdYeEKRRCbEmd+OohOgg9YOp8Ux3MBg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@14.2.15': - resolution: {integrity: sha512-3Bwv4oc08ONiQ3FiOLKT72Q+ndEMyLNsc/D3qnLMbtUYTQAmkx9E/JRu0DBpHxNddBmNT5hxz1mYBphJ3mfrrw==} + '@next/swc-linux-arm64-gnu@14.2.16': + resolution: {integrity: sha512-yhkNA36+ECTC91KSyZcgWgKrYIyDnXZj8PqtJ+c2pMvj45xf7y/HrgI17hLdrcYamLfVt7pBaJUMxADtPaczHA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-gnu@15.0.0': - resolution: {integrity: sha512-sbCoEpuWUBpYoLSgYrk0CkBv8RFv4ZlPxbwqRHr/BWDBJppTBtF53EvsntlfzQJ9fosYX12xnS6ltxYYwsMBjg==} + '@next/swc-linux-arm64-gnu@15.0.1': + resolution: {integrity: sha512-LvyhvxHOihFTEIbb35KxOc3q8w8G4xAAAH/AQnsYDEnOvwawjL2eawsB59AX02ki6LJdgDaHoTEnC54Gw+82xw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.2.15': - resolution: {integrity: sha512-k5xf/tg1FBv/M4CMd8S+JL3uV9BnnRmoe7F+GWC3DxkTCD9aewFRH1s5rJ1zkzDa+Do4zyN8qD0N8c84Hu96FQ==} + '@next/swc-linux-arm64-musl@14.2.16': + resolution: {integrity: sha512-X2YSyu5RMys8R2lA0yLMCOCtqFOoLxrq2YbazFvcPOE4i/isubYjkh+JCpRmqYfEuCVltvlo+oGfj/b5T2pKUA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@15.0.0': - resolution: {integrity: sha512-JAw84qfL81aQCirXKP4VkgmhiDpXJupGjt8ITUkHrOVlBd+3h5kjfPva5M0tH2F9KKSgJQHEo3F5S5tDH9h2ww==} + '@next/swc-linux-arm64-musl@15.0.1': + resolution: {integrity: sha512-vFmCGUFNyk/A5/BYcQNhAQqPIw01RJaK6dRO+ZEhz0DncoW+hJW1kZ8aH2UvTX27zPq3m85zN5waMSbZEmANcQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@14.2.15': - resolution: {integrity: sha512-kE6q38hbrRbKEkkVn62reLXhThLRh6/TvgSP56GkFNhU22TbIrQDEMrO7j0IcQHcew2wfykq8lZyHFabz0oBrA==} + '@next/swc-linux-x64-gnu@14.2.16': + resolution: {integrity: sha512-9AGcX7VAkGbc5zTSa+bjQ757tkjr6C/pKS7OK8cX7QEiK6MHIIezBLcQ7gQqbDW2k5yaqba2aDtaBeyyZh1i6Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-gnu@15.0.0': - resolution: {integrity: sha512-r5Smd03PfxrGKMewdRf2RVNA1CU5l2rRlvZLQYZSv7FUsXD5bKEcOZ/6/98aqRwL7diXOwD8TCWJk1NbhATQHg==} + '@next/swc-linux-x64-gnu@15.0.1': + resolution: {integrity: sha512-5by7IYq0NCF8rouz6Qg9T97jYU68kaClHPfGpQG2lCZpSYHtSPQF1kjnqBTd34RIqPKMbCa4DqCufirgr8HM5w==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.2.15': - resolution: {integrity: sha512-PZ5YE9ouy/IdO7QVJeIcyLn/Rc4ml9M2G4y3kCM9MNf1YKvFY4heg3pVa/jQbMro+tP6yc4G2o9LjAz1zxD7tQ==} + '@next/swc-linux-x64-musl@14.2.16': + resolution: {integrity: sha512-Klgeagrdun4WWDaOizdbtIIm8khUDQJ/5cRzdpXHfkbY91LxBXeejL4kbZBrpR/nmgRrQvmz4l3OtttNVkz2Sg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@15.0.0': - resolution: {integrity: sha512-fM6qocafz4Xjhh79CuoQNeGPhDHGBBUbdVtgNFJOUM8Ih5ZpaDZlTvqvqsh5IoO06CGomxurEGqGz/4eR/FaMQ==} + '@next/swc-linux-x64-musl@15.0.1': + resolution: {integrity: sha512-lmYr6H3JyDNBJLzklGXLfbehU3ay78a+b6UmBGlHls4xhDXBNZfgb0aI67sflrX+cGBnv1LgmWzFlYrAYxS1Qw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@14.2.15': - resolution: {integrity: sha512-2raR16703kBvYEQD9HNLyb0/394yfqzmIeyp2nDzcPV4yPjqNUG3ohX6jX00WryXz6s1FXpVhsCo3i+g4RUX+g==} + '@next/swc-win32-arm64-msvc@14.2.16': + resolution: {integrity: sha512-PwW8A1UC1Y0xIm83G3yFGPiOBftJK4zukTmk7DI1CebyMOoaVpd8aSy7K6GhobzhkjYvqS/QmzcfsWG2Dwizdg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-arm64-msvc@15.0.0': - resolution: {integrity: sha512-ZOd7c/Lz1lv7qP/KzR513XEa7QzW5/P0AH3A5eR1+Z/KmDOvMucht0AozccPc0TqhdV1xaXmC0Fdx0hoNzk6ng==} + '@next/swc-win32-arm64-msvc@15.0.1': + resolution: {integrity: sha512-DS8wQtl6diAj0eZTdH0sefykm4iXMbHT4MOvLwqZiIkeezKpkgPFcEdFlz3vKvXa2R/2UEgMh48z1nEpNhjeOQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-ia32-msvc@14.2.15': - resolution: {integrity: sha512-fyTE8cklgkyR1p03kJa5zXEaZ9El+kDNM5A+66+8evQS5e/6v0Gk28LqA0Jet8gKSOyP+OTm/tJHzMlGdQerdQ==} + '@next/swc-win32-ia32-msvc@14.2.16': + resolution: {integrity: sha512-jhPl3nN0oKEshJBNDAo0etGMzv0j3q3VYorTSFqH1o3rwv1MQRdor27u1zhkgsHPNeY1jxcgyx1ZsCkDD1IHgg==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@next/swc-win32-x64-msvc@14.2.15': - resolution: {integrity: sha512-SzqGbsLsP9OwKNUG9nekShTwhj6JSB9ZLMWQ8g1gG6hdE5gQLncbnbymrwy2yVmH9nikSLYRYxYMFu78Ggp7/g==} + '@next/swc-win32-x64-msvc@14.2.16': + resolution: {integrity: sha512-OA7NtfxgirCjfqt+02BqxC3MIgM/JaGjw9tOe4fyZgPsqfseNiMPnCRP44Pfs+Gpo9zPN+SXaFsgP6vk8d571A==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@next/swc-win32-x64-msvc@15.0.0': - resolution: {integrity: sha512-2RVWcLtsqg4LtaoJ3j7RoKpnWHgcrz5XvuUGE7vBYU2i6M2XeD9Y8RlLaF770LEIScrrl8MdWsp6odtC6sZccg==} + '@next/swc-win32-x64-msvc@15.0.1': + resolution: {integrity: sha512-4Ho2ggvDdMKlZ/0e9HNdZ9ngeaBwtc+2VS5oCeqrbXqOgutX6I4U2X/42VBw0o+M5evn4/7v3zKgGHo+9v/VjA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -4624,11 +4624,11 @@ packages: resolution: {integrity: sha512-yjRBoscacw4hl4c3UF/BhOCTUOjGDRP2u7biF/ALsgAOnMhUDlLA1OtDz3op7oyz4Yp30QydnlrtR3ha/Una5g==} engines: {node: '>=18'} - '@sanity/mutate@0.10.1-canary.4': - resolution: {integrity: sha512-p12N0GreukzQFGqG72NLFlukJ+jrlCNXTfg6zyfoom4c0GgN+FX0NW8GVW4HwCaMY5u3UiEqSQecT3R/lVyZ6w==} + '@sanity/mutate@0.10.1-canary.5': + resolution: {integrity: sha512-ce5xQJhqvbFnYejUEUlpR8VNq9RqMYYnasVdtZPBoD2gJpHpwSMXhpvWHcZM3gtNDcQEkHT/ttPDluMghbF8aw==} engines: {node: '>=18'} peerDependencies: - xstate: ^5.18.0 + xstate: ^5.18.2 peerDependenciesMeta: xstate: optional: true @@ -4716,8 +4716,8 @@ packages: '@sanity/uuid@3.0.2': resolution: {integrity: sha512-vzdhqOrX7JGbMyK40KuIwwyXHm7GMLOGuYgn3xlC09e4ZVNofUO5mgezQqnRv0JAMthIRhofqs9f6ufUjMKOvw==} - '@sanity/visual-editing@2.2.2': - resolution: {integrity: sha512-JRcyNLc+vrrvxreERxtZfk+qE3JKHKmFVKZW2LADIZJ3NTnlYJ0YHSbusXVK4Sy4TrQ3RIY3NHxtfNQrjB7lkA==} + '@sanity/visual-editing@2.3.0': + resolution: {integrity: sha512-e0C1EqmRgEXRJwrUcvq0Q/RvmHBCAo4h8qdkWQXbsgWPBl1d+veyYqlRZOESEGvAhaw7xcrOXG2BaJgUPqK5ow==} engines: {node: '>=18'} peerDependencies: '@remix-run/react': '>= 2' @@ -5177,8 +5177,8 @@ packages: '@types/react-transition-group@4.4.11': resolution: {integrity: sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==} - '@types/react@18.3.11': - resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==} + '@types/react@18.3.12': + resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} '@types/readdir-glob@1.1.5': resolution: {integrity: sha512-raiuEPUYqXu+nvtY2Pe8s8FEmZ3x5yAH4VkLdihcPdalvsHltomrRC9BzuStrJ9yk06470hS0Crw0f1pXqD+Hg==} @@ -9267,8 +9267,8 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - next@14.2.15: - resolution: {integrity: sha512-h9ctmOokpoDphRvMGnwOJAedT6zKhwqyZML9mDtspgf4Rh3Pn7UTYKqePNoDvhsWBAO5GoPNYshnAUGIazVGmw==} + next@14.2.16: + resolution: {integrity: sha512-LcO7WnFu6lYSvCzZoo1dB+IO0xXz5uEv52HF1IUN0IqVTUIZGHuuR10I5efiLadGt+4oZqTcNZyVVEem/TM5nA==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: @@ -9285,16 +9285,16 @@ packages: sass: optional: true - next@15.0.0: - resolution: {integrity: sha512-/ivqF6gCShXpKwY9hfrIQYh8YMge8L3W+w1oRLv/POmK4MOQnh+FscZ8a0fRFTSQWE+2z9ctNYvELD9vP2FV+A==} + next@15.0.1: + resolution: {integrity: sha512-PSkFkr/w7UnFWm+EP8y/QpHrJXMqpZzAXpergB/EqLPOh4SGPJXv1wj4mslr2hUZBAS9pX7/9YLIdxTv6fwytw==} engines: {node: '>=18.18.0'} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 '@playwright/test': ^1.41.2 babel-plugin-react-compiler: '*' - react: ^18.2.0 || 19.0.0-rc-65a56d0e-20241020 - react-dom: ^18.2.0 || 19.0.0-rc-65a56d0e-20241020 + react: ^18.2.0 || 19.0.0-rc-69d4b800-20241021 + react-dom: ^18.2.0 || 19.0.0-rc-69d4b800-20241021 sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': @@ -13201,7 +13201,7 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.13.0(@types/react@18.3.11)(react@18.3.1)': + '@emotion/react@11.13.0(@types/react@18.3.12)(react@18.3.1)': dependencies: '@babel/runtime': 7.25.6 '@emotion/babel-plugin': 11.12.0 @@ -13213,7 +13213,7 @@ snapshots: hoist-non-react-statics: 3.3.2 react: 18.3.1 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 transitivePeerDependencies: - supports-color @@ -14121,7 +14121,7 @@ snapshots: '@microsoft/tsdoc@0.15.0': {} - '@mux/mux-player-react@2.9.1(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mux/mux-player-react@2.9.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@mux/mux-player': 2.9.1 '@mux/playback-core': 0.25.2 @@ -14129,7 +14129,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 '@mux/mux-player@2.9.1': dependencies: @@ -14160,59 +14160,59 @@ snapshots: '@emnapi/runtime': 1.3.1 '@tybys/wasm-util': 0.9.0 - '@next/env@14.2.15': {} + '@next/env@14.2.16': {} - '@next/env@15.0.0': {} + '@next/env@15.0.1': {} - '@next/swc-darwin-arm64@14.2.15': + '@next/swc-darwin-arm64@14.2.16': optional: true - '@next/swc-darwin-arm64@15.0.0': + '@next/swc-darwin-arm64@15.0.1': optional: true - '@next/swc-darwin-x64@14.2.15': + '@next/swc-darwin-x64@14.2.16': optional: true - '@next/swc-darwin-x64@15.0.0': + '@next/swc-darwin-x64@15.0.1': optional: true - '@next/swc-linux-arm64-gnu@14.2.15': + '@next/swc-linux-arm64-gnu@14.2.16': optional: true - '@next/swc-linux-arm64-gnu@15.0.0': + '@next/swc-linux-arm64-gnu@15.0.1': optional: true - '@next/swc-linux-arm64-musl@14.2.15': + '@next/swc-linux-arm64-musl@14.2.16': optional: true - '@next/swc-linux-arm64-musl@15.0.0': + '@next/swc-linux-arm64-musl@15.0.1': optional: true - '@next/swc-linux-x64-gnu@14.2.15': + '@next/swc-linux-x64-gnu@14.2.16': optional: true - '@next/swc-linux-x64-gnu@15.0.0': + '@next/swc-linux-x64-gnu@15.0.1': optional: true - '@next/swc-linux-x64-musl@14.2.15': + '@next/swc-linux-x64-musl@14.2.16': optional: true - '@next/swc-linux-x64-musl@15.0.0': + '@next/swc-linux-x64-musl@15.0.1': optional: true - '@next/swc-win32-arm64-msvc@14.2.15': + '@next/swc-win32-arm64-msvc@14.2.16': optional: true - '@next/swc-win32-arm64-msvc@15.0.0': + '@next/swc-win32-arm64-msvc@15.0.1': optional: true - '@next/swc-win32-ia32-msvc@14.2.15': + '@next/swc-win32-ia32-msvc@14.2.16': optional: true - '@next/swc-win32-x64-msvc@14.2.15': + '@next/swc-win32-x64-msvc@14.2.16': optional: true - '@next/swc-win32-x64-msvc@15.0.0': + '@next/swc-win32-x64-msvc@15.0.1': optional: true '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': @@ -15120,7 +15120,7 @@ snapshots: transitivePeerDependencies: - debug - '@sanity/mutate@0.10.1-canary.4(xstate@5.18.2)': + '@sanity/mutate@0.10.1-canary.5(xstate@5.18.2)': dependencies: '@sanity/client': 6.22.2(debug@4.3.7) '@sanity/diff-match-patch': 3.1.1 @@ -15472,7 +15472,7 @@ snapshots: '@sanity/types@3.37.2(debug@4.3.7)': dependencies: '@sanity/client': 6.22.2(debug@4.3.7) - '@types/react': 18.3.11 + '@types/react': 18.3.12 transitivePeerDependencies: - debug @@ -15609,10 +15609,10 @@ snapshots: '@types/uuid': 8.3.4 uuid: 8.3.2 - '@sanity/visual-editing@2.2.2(@sanity/client@6.22.2)(next@15.0.0(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@sanity/visual-editing@2.3.0(@sanity/client@6.22.2)(next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@sanity/comlink': 1.0.0 - '@sanity/mutate': 0.10.1-canary.4(xstate@5.18.2) + '@sanity/mutate': 0.10.1-canary.5(xstate@5.18.2) '@sanity/preview-url-secret': 2.0.0(@sanity/client@6.22.2(debug@4.3.7)) '@vercel/stega': 0.1.2 react: 18.3.1 @@ -15624,7 +15624,7 @@ snapshots: xstate: 5.18.2 optionalDependencies: '@sanity/client': 6.22.2(debug@4.3.7) - next: 15.0.0(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - debug @@ -15857,7 +15857,7 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@15.0.7(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@15.0.7(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.6 '@testing-library/dom': 10.4.0 @@ -15865,7 +15865,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 '@testing-library/user-event@13.5.0(@testing-library/dom@10.4.0)': dependencies: @@ -16010,7 +16010,7 @@ snapshots: '@types/hoist-non-react-statics@3.3.5': dependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 hoist-non-react-statics: 3.3.2 '@types/inquirer@6.5.0': @@ -16094,28 +16094,28 @@ snapshots: '@types/react-copy-to-clipboard@5.0.7': dependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 '@types/react-dom@18.3.1': dependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 '@types/react-is@18.3.0': dependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 '@types/react-redux@7.1.33': dependencies: '@types/hoist-non-react-statics': 3.3.5 - '@types/react': 18.3.11 + '@types/react': 18.3.12 hoist-non-react-statics: 3.3.2 redux: 4.2.1 '@types/react-transition-group@4.4.11': dependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 - '@types/react@18.3.11': + '@types/react@18.3.12': dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 @@ -21360,9 +21360,9 @@ snapshots: neo-async@2.6.2: {} - next@14.2.15(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.16(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@next/env': 14.2.15 + '@next/env': 14.2.16 '@swc/helpers': 0.5.5 busboy: 1.6.0 caniuse-lite: 1.0.30001669 @@ -21372,23 +21372,23 @@ snapshots: react-dom: 18.3.1(react@18.3.1) styled-jsx: 5.1.1(@babel/core@7.25.8)(babel-plugin-macros@3.1.0)(react@18.3.1) optionalDependencies: - '@next/swc-darwin-arm64': 14.2.15 - '@next/swc-darwin-x64': 14.2.15 - '@next/swc-linux-arm64-gnu': 14.2.15 - '@next/swc-linux-arm64-musl': 14.2.15 - '@next/swc-linux-x64-gnu': 14.2.15 - '@next/swc-linux-x64-musl': 14.2.15 - '@next/swc-win32-arm64-msvc': 14.2.15 - '@next/swc-win32-ia32-msvc': 14.2.15 - '@next/swc-win32-x64-msvc': 14.2.15 + '@next/swc-darwin-arm64': 14.2.16 + '@next/swc-darwin-x64': 14.2.16 + '@next/swc-linux-arm64-gnu': 14.2.16 + '@next/swc-linux-arm64-musl': 14.2.16 + '@next/swc-linux-x64-gnu': 14.2.16 + '@next/swc-linux-x64-musl': 14.2.16 + '@next/swc-win32-arm64-msvc': 14.2.16 + '@next/swc-win32-ia32-msvc': 14.2.16 + '@next/swc-win32-x64-msvc': 14.2.16 '@playwright/test': 1.47.0 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - next@15.0.0(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@0.0.0-experimental-de2cfda-20240912)(react-dom@19.0.0-rc-a7d1240c-20240731(react@19.0.0-rc-a7d1240c-20240731))(react@19.0.0-rc-a7d1240c-20240731): + next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(babel-plugin-react-compiler@0.0.0-experimental-de2cfda-20240912)(react-dom@19.0.0-rc-a7d1240c-20240731(react@19.0.0-rc-a7d1240c-20240731))(react@19.0.0-rc-a7d1240c-20240731): dependencies: - '@next/env': 15.0.0 + '@next/env': 15.0.1 '@swc/counter': 0.1.3 '@swc/helpers': 0.5.13 busboy: 1.6.0 @@ -21398,14 +21398,14 @@ snapshots: react-dom: 19.0.0-rc-a7d1240c-20240731(react@19.0.0-rc-a7d1240c-20240731) styled-jsx: 5.1.6(@babel/core@7.25.8)(babel-plugin-macros@3.1.0)(react@19.0.0-rc-a7d1240c-20240731) optionalDependencies: - '@next/swc-darwin-arm64': 15.0.0 - '@next/swc-darwin-x64': 15.0.0 - '@next/swc-linux-arm64-gnu': 15.0.0 - '@next/swc-linux-arm64-musl': 15.0.0 - '@next/swc-linux-x64-gnu': 15.0.0 - '@next/swc-linux-x64-musl': 15.0.0 - '@next/swc-win32-arm64-msvc': 15.0.0 - '@next/swc-win32-x64-msvc': 15.0.0 + '@next/swc-darwin-arm64': 15.0.1 + '@next/swc-darwin-x64': 15.0.1 + '@next/swc-linux-arm64-gnu': 15.0.1 + '@next/swc-linux-arm64-musl': 15.0.1 + '@next/swc-linux-x64-gnu': 15.0.1 + '@next/swc-linux-x64-musl': 15.0.1 + '@next/swc-win32-arm64-msvc': 15.0.1 + '@next/swc-win32-x64-msvc': 15.0.1 '@playwright/test': 1.47.0 babel-plugin-react-compiler: 0.0.0-experimental-de2cfda-20240912 sharp: 0.33.5 @@ -21413,9 +21413,9 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@15.0.0(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@next/env': 15.0.0 + '@next/env': 15.0.1 '@swc/counter': 0.1.3 '@swc/helpers': 0.5.13 busboy: 1.6.0 @@ -21425,14 +21425,14 @@ snapshots: react-dom: 18.3.1(react@18.3.1) styled-jsx: 5.1.6(@babel/core@7.25.8)(babel-plugin-macros@3.1.0)(react@18.3.1) optionalDependencies: - '@next/swc-darwin-arm64': 15.0.0 - '@next/swc-darwin-x64': 15.0.0 - '@next/swc-linux-arm64-gnu': 15.0.0 - '@next/swc-linux-arm64-musl': 15.0.0 - '@next/swc-linux-x64-gnu': 15.0.0 - '@next/swc-linux-x64-musl': 15.0.0 - '@next/swc-win32-arm64-msvc': 15.0.0 - '@next/swc-win32-x64-msvc': 15.0.0 + '@next/swc-darwin-arm64': 15.0.1 + '@next/swc-darwin-x64': 15.0.1 + '@next/swc-linux-arm64-gnu': 15.0.1 + '@next/swc-linux-arm64-musl': 15.0.1 + '@next/swc-linux-x64-gnu': 15.0.1 + '@next/swc-linux-x64-musl': 15.0.1 + '@next/swc-win32-arm64-msvc': 15.0.1 + '@next/swc-win32-x64-msvc': 15.0.1 '@playwright/test': 1.47.0 sharp: 0.33.5 transitivePeerDependencies: @@ -22382,17 +22382,17 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-focus-lock@2.12.1(@types/react@18.3.11)(react@18.3.1): + react-focus-lock@2.12.1(@types/react@18.3.12)(react@18.3.1): dependencies: '@babel/runtime': 7.25.6 focus-lock: 1.3.5 prop-types: 15.8.1 react: 18.3.1 react-clientside-effect: 1.2.6(react@18.3.1) - use-callback-ref: 1.3.2(@types/react@18.3.11)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.11)(react@18.3.1) + use-callback-ref: 1.3.2(@types/react@18.3.12)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.12)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 react-hook-form@7.52.2(react@18.3.1): dependencies: @@ -22463,11 +22463,11 @@ snapshots: rxjs: 7.8.1 use-effect-event: 1.0.2(react@18.3.1) - react-select@5.8.0(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-select@5.8.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.6 '@emotion/cache': 11.13.1 - '@emotion/react': 11.13.0(@types/react@18.3.11)(react@18.3.1) + '@emotion/react': 11.13.0(@types/react@18.3.12)(react@18.3.1) '@floating-ui/dom': 1.6.10 '@types/react-transition-group': 4.4.11 memoize-one: 6.0.0 @@ -22475,7 +22475,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.11)(react@18.3.1) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.3.12)(react@18.3.1) transitivePeerDependencies: - '@types/react' - supports-color @@ -22916,7 +22916,7 @@ snapshots: transitivePeerDependencies: - react-dom - sanity-plugin-media@2.3.2(@sanity/ui@2.8.10(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + sanity-plugin-media@2.3.2(@sanity/ui@2.8.10(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: '@hookform/resolvers': 3.9.0(react-hook-form@7.52.2(react@18.3.1)) '@reduxjs/toolkit': 1.9.7(react-redux@7.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) @@ -22938,7 +22938,7 @@ snapshots: react-file-icon: 1.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-hook-form: 7.52.2(react@18.3.1) react-redux: 7.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-select: 5.8.0(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-select: 5.8.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-virtuoso: 4.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) redux: 4.2.1 redux-observable: 2.0.0(redux@4.2.1) @@ -22951,9 +22951,9 @@ snapshots: - react-native - supports-color - sanity-plugin-mux-input@2.3.6(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + sanity-plugin-mux-input@2.3.6(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): dependencies: - '@mux/mux-player-react': 2.9.1(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mux/mux-player-react': 2.9.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mux/upchunk': 3.4.0 '@sanity/icons': 3.4.0(react@18.3.1) '@sanity/incompatible-plugin': 1.0.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -24109,12 +24109,12 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - use-callback-ref@1.3.2(@types/react@18.3.11)(react@18.3.1): + use-callback-ref@1.3.2(@types/react@18.3.12)(react@18.3.1): dependencies: react: 18.3.1 tslib: 2.8.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 use-device-pixel-ratio@1.1.2(react@18.3.1): dependencies: @@ -24138,19 +24138,19 @@ snapshots: dependencies: react: 18.3.1 - use-isomorphic-layout-effect@1.1.2(@types/react@18.3.11)(react@18.3.1): + use-isomorphic-layout-effect@1.1.2(@types/react@18.3.12)(react@18.3.1): dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 - use-sidecar@1.1.2(@types/react@18.3.11)(react@18.3.1): + use-sidecar@1.1.2(@types/react@18.3.12)(react@18.3.1): dependencies: detect-node-es: 1.1.0 react: 18.3.1 tslib: 2.8.0 optionalDependencies: - '@types/react': 18.3.11 + '@types/react': 18.3.12 use-sync-external-store@1.2.2(react@18.3.1): dependencies: From 35fdd4d5f29700c8cc29230faa81a3746b69fafd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 01:33:38 +0200 Subject: [PATCH 04/10] fix(deps): update dependency @sanity/presentation to v1.17.4 (#7662) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/sanity/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/sanity/package.json b/packages/sanity/package.json index 2133598d687..3c40bf7bc2f 100644 --- a/packages/sanity/package.json +++ b/packages/sanity/package.json @@ -173,7 +173,7 @@ "@sanity/logos": "^2.1.4", "@sanity/migrate": "3.62.1", "@sanity/mutator": "3.62.1", - "@sanity/presentation": "1.17.3", + "@sanity/presentation": "1.17.4", "@sanity/schema": "3.62.1", "@sanity/telemetry": "^0.7.7", "@sanity/types": "3.62.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b0b4cff6ab3..b0156430600 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1482,8 +1482,8 @@ importers: specifier: 3.62.1 version: link:../@sanity/mutator '@sanity/presentation': - specifier: 1.17.3 - version: 1.17.3(@sanity/client@6.22.2(debug@4.3.7))(@sanity/color@3.0.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + specifier: 1.17.4 + version: 1.17.4(@sanity/client@6.22.2(debug@4.3.7))(@sanity/color@3.0.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/schema': specifier: 3.62.1 version: link:../@sanity/schema @@ -4643,8 +4643,8 @@ packages: peerDependencies: typescript: 5.4.x || 5.5.x || 5.6.x - '@sanity/presentation@1.17.3': - resolution: {integrity: sha512-mh7Y3l8y/VAvloQz0kB9VBirITXPzA/qkTZtEe3NqmxLwTwQZ6t81NU314xcgc6dI+NTbvP/q5oOAxavJzDEBQ==} + '@sanity/presentation@1.17.4': + resolution: {integrity: sha512-dWbArI771MW9O34eZxf9ufA5Ow7fyAKWe2aF1Li4GIZCj8GKrOvBLusOVWj7NjwRf31Zsz+d3cMPFOCov7i/7w==} engines: {node: '>=16.14'} peerDependencies: '@sanity/client': ^6.22.2 @@ -15244,7 +15244,7 @@ snapshots: - debug - supports-color - '@sanity/presentation@1.17.3(@sanity/client@6.22.2(debug@4.3.7))(@sanity/color@3.0.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@sanity/presentation@1.17.4(@sanity/client@6.22.2(debug@4.3.7))(@sanity/color@3.0.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@sanity/client': 6.22.2(debug@4.3.7) '@sanity/comlink': 1.0.0 From aa41c29765177b37ef5f04ca8563f424a341d742 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 01:38:05 +0200 Subject: [PATCH 05/10] fix(deps): Update dev-non-major (#7663) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- dev/test-studio/package.json | 2 +- pnpm-lock.yaml | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/dev/test-studio/package.json b/dev/test-studio/package.json index 1d8d5eddc3c..97b603c9dd4 100644 --- a/dev/test-studio/package.json +++ b/dev/test-studio/package.json @@ -41,7 +41,7 @@ "@sanity/util": "workspace:*", "@sanity/uuid": "^3.0.1", "@sanity/vision": "workspace:*", - "@sanity/visual-editing": "2.3.0", + "@sanity/visual-editing": "2.3.1", "@turf/helpers": "^6.0.1", "@turf/points-within-polygon": "^5.1.5", "@vercel/stega": "0.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b0156430600..ff86fa2e13a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -482,7 +482,7 @@ importers: version: 2.0.0(@sanity/client@6.22.2(debug@4.3.7)) '@sanity/react-loader': specifier: ^1.8.3 - version: 1.10.10(@sanity/client@6.22.2)(react@18.3.1) + version: 1.10.11(@sanity/client@6.22.2)(react@18.3.1) '@sanity/tsdoc': specifier: 1.0.113 version: 1.0.113(@types/babel__core@7.20.5)(@types/node@22.5.4)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.32.0) @@ -505,8 +505,8 @@ importers: specifier: workspace:* version: link:../../packages/@sanity/vision '@sanity/visual-editing': - specifier: 2.3.0 - version: 2.3.0(@sanity/client@6.22.2)(next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 2.3.1 + version: 2.3.1(@sanity/client@6.22.2)(next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@turf/helpers': specifier: ^6.0.1 version: 6.5.0 @@ -4510,8 +4510,8 @@ packages: resolution: {integrity: sha512-OwbT5C1j8wEVEvU78cYrC7l2l+cUH4UWHE4LF+FjniiQqeO+Udt6qK8akDRzsULmt3V2ebPOg+CYgRZh8Fkhdg==} engines: {node: '>=18'} - '@sanity/core-loader@1.7.2': - resolution: {integrity: sha512-LWXOWLhu+XreJDxBcxTCl8J5fEvwx7PErnzbqTkwLjkWJB41KgrL/2AjxF46R3TW5PoXsRcIHbFwF5L/Z/UBOw==} + '@sanity/core-loader@1.7.3': + resolution: {integrity: sha512-Xf0/fyRwaejq/MawPnrsMFS0hBV6TpbsrQI0ZK4C8vrV+M68y+QRedtuxsH09ea/7g+M5TxssuczyOjVks9sPA==} engines: {node: '>=18'} peerDependencies: '@sanity/client': ^6.22.2 @@ -4660,8 +4660,8 @@ packages: peerDependencies: '@sanity/client': ^6.22.2 - '@sanity/react-loader@1.10.10': - resolution: {integrity: sha512-qVdgnIxu3dxFh5vBc9Yhyc7tiIwzEwjHovjaBkYmim2XMwJU4ukLz+7yegl4sEBVd5rPu9axUbj+BoMD2kNBYw==} + '@sanity/react-loader@1.10.11': + resolution: {integrity: sha512-SJOSI7J/JarbbOyWyLqxcUH30AbkuoFHKZkt8OfRXtkouaEgMUO7NFHumoSOjzOi9YURsM+DjFwZTTKHsNVhSA==} engines: {node: '>=18'} peerDependencies: '@sanity/client': ^6.22.2 @@ -4716,8 +4716,8 @@ packages: '@sanity/uuid@3.0.2': resolution: {integrity: sha512-vzdhqOrX7JGbMyK40KuIwwyXHm7GMLOGuYgn3xlC09e4ZVNofUO5mgezQqnRv0JAMthIRhofqs9f6ufUjMKOvw==} - '@sanity/visual-editing@2.3.0': - resolution: {integrity: sha512-e0C1EqmRgEXRJwrUcvq0Q/RvmHBCAo4h8qdkWQXbsgWPBl1d+veyYqlRZOESEGvAhaw7xcrOXG2BaJgUPqK5ow==} + '@sanity/visual-editing@2.3.1': + resolution: {integrity: sha512-ijRaoV6N6pby+DoL/P0enQqNQd5n7UNjx0yfI9O7XVMePf4APtvpTJgyeLZl9+z0BgYLLTHyHlxvm7QwjPXLhw==} engines: {node: '>=18'} peerDependencies: '@remix-run/react': '>= 2' @@ -14913,7 +14913,7 @@ snapshots: uuid: 10.0.0 xstate: 5.18.2 - '@sanity/core-loader@1.7.2(@sanity/client@6.22.2)': + '@sanity/core-loader@1.7.3(@sanity/client@6.22.2)': dependencies: '@sanity/client': 6.22.2(debug@4.3.7) '@sanity/comlink': 1.0.0 @@ -15281,10 +15281,10 @@ snapshots: '@sanity/client': 6.22.2(debug@4.3.7) '@sanity/uuid': 3.0.2 - '@sanity/react-loader@1.10.10(@sanity/client@6.22.2)(react@18.3.1)': + '@sanity/react-loader@1.10.11(@sanity/client@6.22.2)(react@18.3.1)': dependencies: '@sanity/client': 6.22.2(debug@4.3.7) - '@sanity/core-loader': 1.7.2(@sanity/client@6.22.2) + '@sanity/core-loader': 1.7.3(@sanity/client@6.22.2) react: 18.3.1 '@sanity/telemetry@0.7.9(react@18.3.1)': @@ -15609,7 +15609,7 @@ snapshots: '@types/uuid': 8.3.4 uuid: 8.3.2 - '@sanity/visual-editing@2.3.0(@sanity/client@6.22.2)(next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@sanity/visual-editing@2.3.1(@sanity/client@6.22.2)(next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@sanity/comlink': 1.0.0 '@sanity/mutate': 0.10.1-canary.5(xstate@5.18.2) From 6ea8f1c0d32003026e46748fe8166fff8fe35dd8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 13:04:52 +0000 Subject: [PATCH 06/10] v3.62.2 --- dev/depcheck-test/package.json | 2 +- dev/design-studio/package.json | 2 +- dev/embedded-studio/package.json | 2 +- dev/page-building-studio/package.json | 2 +- dev/starter-next-studio/package.json | 2 +- dev/starter-studio/package.json | 2 +- dev/strict-studio/package.json | 2 +- dev/studio-e2e-testing/package.json | 4 +- dev/test-next-studio/package.json | 2 +- dev/test-studio/package.json | 4 +- examples/blog-studio/package.json | 2 +- examples/clean-studio/package.json | 2 +- examples/ecommerce-studio/package.json | 4 +- examples/movies-studio/package.json | 2 +- lerna.json | 2 +- packages/@repo/dev-aliases/package.json | 2 +- packages/@repo/package.bundle/package.json | 2 +- packages/@repo/package.config/package.json | 2 +- packages/@repo/test-config/package.json | 2 +- packages/@repo/test-exports/package.json | 2 +- packages/@repo/tsconfig/package.json | 2 +- packages/@sanity/block-tools/package.json | 6 +-- packages/@sanity/cli/package.json | 6 +-- packages/@sanity/codegen/package.json | 2 +- packages/@sanity/diff/package.json | 2 +- packages/@sanity/migrate/package.json | 6 +-- packages/@sanity/mutator/package.json | 4 +- packages/@sanity/schema/package.json | 4 +- packages/@sanity/types/package.json | 2 +- packages/@sanity/util/package.json | 4 +- packages/@sanity/vision/package.json | 2 +- packages/create-sanity/package.json | 4 +- packages/groq/package.json | 2 +- packages/sanity/package.json | 20 +++++----- perf/studio/package.json | 2 +- perf/tests/package.json | 2 +- pnpm-lock.yaml | 44 +++++++++++----------- 37 files changed, 80 insertions(+), 80 deletions(-) diff --git a/dev/depcheck-test/package.json b/dev/depcheck-test/package.json index d4bd4a11c94..f5e27b60773 100644 --- a/dev/depcheck-test/package.json +++ b/dev/depcheck-test/package.json @@ -1,6 +1,6 @@ { "name": "depcheck-test", - "version": "3.62.1", + "version": "3.62.2", "private": true, "license": "MIT", "author": "Sanity.io " diff --git a/dev/design-studio/package.json b/dev/design-studio/package.json index 3a37ac63e3c..82cd27c528e 100644 --- a/dev/design-studio/package.json +++ b/dev/design-studio/package.json @@ -1,6 +1,6 @@ { "name": "design-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "Sanity Design Studio", "keywords": [ diff --git a/dev/embedded-studio/package.json b/dev/embedded-studio/package.json index 9ad4f8714a0..15abccee07b 100644 --- a/dev/embedded-studio/package.json +++ b/dev/embedded-studio/package.json @@ -1,6 +1,6 @@ { "name": "embedded-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "scripts": { "build": "tsc && vite build && sanity manifest extract", diff --git a/dev/page-building-studio/package.json b/dev/page-building-studio/package.json index 9285788006e..31471146248 100644 --- a/dev/page-building-studio/package.json +++ b/dev/page-building-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-page-building-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "license": "MIT", "author": "Sanity.io ", diff --git a/dev/starter-next-studio/package.json b/dev/starter-next-studio/package.json index 87f774c931c..382dd3c4c02 100644 --- a/dev/starter-next-studio/package.json +++ b/dev/starter-next-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-starter-next-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "license": "MIT", "author": "Sanity.io ", diff --git a/dev/starter-studio/package.json b/dev/starter-studio/package.json index 1b63d261731..e3fe258ce02 100644 --- a/dev/starter-studio/package.json +++ b/dev/starter-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-starter-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "license": "MIT", "author": "Sanity.io ", diff --git a/dev/strict-studio/package.json b/dev/strict-studio/package.json index 6155fa433e5..25dffd0817e 100644 --- a/dev/strict-studio/package.json +++ b/dev/strict-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-strict-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "license": "MIT", "author": "Sanity.io ", diff --git a/dev/studio-e2e-testing/package.json b/dev/studio-e2e-testing/package.json index bcda4792467..7d0e262ed07 100644 --- a/dev/studio-e2e-testing/package.json +++ b/dev/studio-e2e-testing/package.json @@ -1,6 +1,6 @@ { "name": "studio-e2e-testing", - "version": "3.62.1", + "version": "3.62.2", "private": true, "keywords": [ "sanity" @@ -18,7 +18,7 @@ "@sanity/google-maps-input": "^4.0.0", "@sanity/icons": "^3.4.0", "@sanity/ui": "^2.8.10", - "@sanity/vision": "3.62.1", + "@sanity/vision": "3.62.2", "react": "^18.3.1", "react-dom": "^18.3.1", "sanity": "workspace:*", diff --git a/dev/test-next-studio/package.json b/dev/test-next-studio/package.json index edeb92a03e3..3bca353d568 100644 --- a/dev/test-next-studio/package.json +++ b/dev/test-next-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-test-next-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "license": "MIT", "author": "Sanity.io ", diff --git a/dev/test-studio/package.json b/dev/test-studio/package.json index 97b603c9dd4..9dc5ab2a5ca 100644 --- a/dev/test-studio/package.json +++ b/dev/test-studio/package.json @@ -1,6 +1,6 @@ { "name": "sanity-test-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "license": "MIT", "author": "Sanity.io ", @@ -19,7 +19,7 @@ "@portabletext/editor": "^1.1.5", "@portabletext/react": "^3.0.0", "@sanity/assist": "^3.0.2", - "@sanity/block-tools": "3.62.1", + "@sanity/block-tools": "3.62.2", "@sanity/client": "^6.22.2", "@sanity/color": "^3.0.0", "@sanity/google-maps-input": "^4.0.0", diff --git a/examples/blog-studio/package.json b/examples/blog-studio/package.json index 8a3b77399ea..e46480cb749 100644 --- a/examples/blog-studio/package.json +++ b/examples/blog-studio/package.json @@ -1,6 +1,6 @@ { "name": "blog-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "Content studio running with schema from the blog init template", "keywords": [ diff --git a/examples/clean-studio/package.json b/examples/clean-studio/package.json index 19a455d70e9..50fd9a2e8e2 100644 --- a/examples/clean-studio/package.json +++ b/examples/clean-studio/package.json @@ -1,6 +1,6 @@ { "name": "clean-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "Content studio running with schema from the clean template", "keywords": [ diff --git a/examples/ecommerce-studio/package.json b/examples/ecommerce-studio/package.json index c0ccf1bbce9..02f752a396c 100644 --- a/examples/ecommerce-studio/package.json +++ b/examples/ecommerce-studio/package.json @@ -1,6 +1,6 @@ { "name": "ecommerce-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "", "keywords": [ @@ -29,7 +29,7 @@ "start": "sanity dev --port 3337" }, "dependencies": { - "@sanity/cli": "3.62.1", + "@sanity/cli": "3.62.2", "@sanity/ui": "^2.8.10", "react": "^18.3.1", "react-barcode": "^1.4.1", diff --git a/examples/movies-studio/package.json b/examples/movies-studio/package.json index d4644fe1897..02a1af3d8f0 100644 --- a/examples/movies-studio/package.json +++ b/examples/movies-studio/package.json @@ -1,6 +1,6 @@ { "name": "movies-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "Content studio running with schema from the moviedb init template", "keywords": [ diff --git a/lerna.json b/lerna.json index 55fa115f9b8..d2d03fe44d2 100644 --- a/lerna.json +++ b/lerna.json @@ -12,5 +12,5 @@ "packages/groq", "packages/sanity" ], - "version": "3.62.1" + "version": "3.62.2" } diff --git a/packages/@repo/dev-aliases/package.json b/packages/@repo/dev-aliases/package.json index bf634cec6e8..47d7a79cca7 100644 --- a/packages/@repo/dev-aliases/package.json +++ b/packages/@repo/dev-aliases/package.json @@ -1,6 +1,6 @@ { "name": "@repo/dev-aliases", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "Dev aliases for the sanity monorepo", "type": "module", diff --git a/packages/@repo/package.bundle/package.json b/packages/@repo/package.bundle/package.json index 91e52d11486..67691b6150e 100644 --- a/packages/@repo/package.bundle/package.json +++ b/packages/@repo/package.bundle/package.json @@ -1,6 +1,6 @@ { "name": "@repo/package.bundle", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "Shared package bundle configuration", "main": "./src/package.bundle.ts", diff --git a/packages/@repo/package.config/package.json b/packages/@repo/package.config/package.json index 4f7b6f5297f..8d7c92ee6b0 100644 --- a/packages/@repo/package.config/package.json +++ b/packages/@repo/package.config/package.json @@ -1,6 +1,6 @@ { "name": "@repo/package.config", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "Shared @sanity/pkg-utils configuration", "main": "./src/package.config.ts", diff --git a/packages/@repo/test-config/package.json b/packages/@repo/test-config/package.json index 78f2d3f0cfb..5deff7e3cc4 100644 --- a/packages/@repo/test-config/package.json +++ b/packages/@repo/test-config/package.json @@ -1,6 +1,6 @@ { "name": "@repo/test-config", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "Test (as in unit test) config shared across packages in the sanity monorepo", "type": "module", diff --git a/packages/@repo/test-exports/package.json b/packages/@repo/test-exports/package.json index 4fdc0e4b7ca..9f182ae6d4a 100644 --- a/packages/@repo/test-exports/package.json +++ b/packages/@repo/test-exports/package.json @@ -1,6 +1,6 @@ { "name": "@repo/test-exports", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "Ensures that all the monorepo packages that are published works in native node ESM and CJS runtimes", "exports": { diff --git a/packages/@repo/tsconfig/package.json b/packages/@repo/tsconfig/package.json index 82bfa26028d..d9dc6cd66e5 100644 --- a/packages/@repo/tsconfig/package.json +++ b/packages/@repo/tsconfig/package.json @@ -1,5 +1,5 @@ { "name": "@repo/tsconfig", - "version": "3.62.1", + "version": "3.62.2", "private": true } diff --git a/packages/@sanity/block-tools/package.json b/packages/@sanity/block-tools/package.json index 385787f87ca..146337e5024 100644 --- a/packages/@sanity/block-tools/package.json +++ b/packages/@sanity/block-tools/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/block-tools", - "version": "3.62.1", + "version": "3.62.2", "description": "Can format HTML, Slate JSON or Sanity block array into any other format.", "keywords": [ "sanity", @@ -49,7 +49,7 @@ "watch": "pkg-utils watch" }, "dependencies": { - "@sanity/types": "3.62.1", + "@sanity/types": "3.62.2", "@types/react": "^18.3.5", "get-random-values-esm": "1.0.2", "lodash": "^4.17.21" @@ -57,7 +57,7 @@ "devDependencies": { "@repo/package.config": "workspace:*", "@repo/test-config": "workspace:*", - "@sanity/schema": "3.62.1", + "@sanity/schema": "3.62.2", "@types/jsdom": "^20.0.0", "@types/lodash": "^4.17.7", "@vercel/stega": "0.1.2", diff --git a/packages/@sanity/cli/package.json b/packages/@sanity/cli/package.json index 6658dee1525..60f61de8f93 100644 --- a/packages/@sanity/cli/package.json +++ b/packages/@sanity/cli/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/cli", - "version": "3.62.1", + "version": "3.62.2", "description": "Sanity CLI tool for managing Sanity installations, managing plugins, schemas and datasets", "keywords": [ "sanity", @@ -58,9 +58,9 @@ "dependencies": { "@babel/traverse": "^7.23.5", "@sanity/client": "^6.22.2", - "@sanity/codegen": "3.62.1", + "@sanity/codegen": "3.62.2", "@sanity/telemetry": "^0.7.7", - "@sanity/util": "3.62.1", + "@sanity/util": "3.62.2", "chalk": "^4.1.2", "debug": "^4.3.4", "decompress": "^4.2.0", diff --git a/packages/@sanity/codegen/package.json b/packages/@sanity/codegen/package.json index 3313d0eab0b..61323638e28 100644 --- a/packages/@sanity/codegen/package.json +++ b/packages/@sanity/codegen/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/codegen", - "version": "3.62.1", + "version": "3.62.2", "description": "Codegen toolkit for Sanity.io", "keywords": [ "sanity", diff --git a/packages/@sanity/diff/package.json b/packages/@sanity/diff/package.json index 23e862d54cb..e430dca2186 100644 --- a/packages/@sanity/diff/package.json +++ b/packages/@sanity/diff/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/diff", - "version": "3.62.1", + "version": "3.62.2", "description": "Generates diffs between documents and primitive types", "keywords": [ "sanity", diff --git a/packages/@sanity/migrate/package.json b/packages/@sanity/migrate/package.json index 912b7ff9d5b..fe92dddc0ad 100644 --- a/packages/@sanity/migrate/package.json +++ b/packages/@sanity/migrate/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/migrate", - "version": "3.62.1", + "version": "3.62.2", "description": "Tooling for running data migrations on Sanity.io projects", "keywords": [ "sanity", @@ -52,8 +52,8 @@ "dependencies": { "@sanity/client": "^6.22.2", "@sanity/mutate": "^0.10.1", - "@sanity/types": "3.62.1", - "@sanity/util": "3.62.1", + "@sanity/types": "3.62.2", + "@sanity/util": "3.62.2", "arrify": "^2.0.1", "debug": "^4.3.4", "fast-fifo": "^1.3.2", diff --git a/packages/@sanity/mutator/package.json b/packages/@sanity/mutator/package.json index 13c05cea481..db92aa56702 100644 --- a/packages/@sanity/mutator/package.json +++ b/packages/@sanity/mutator/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/mutator", - "version": "3.62.1", + "version": "3.62.2", "description": "A set of models to make it easier to utilize the powerful real time collaborative features of Sanity", "keywords": [ "sanity", @@ -50,7 +50,7 @@ }, "dependencies": { "@sanity/diff-match-patch": "^3.1.1", - "@sanity/types": "3.62.1", + "@sanity/types": "3.62.2", "@sanity/uuid": "^3.0.1", "debug": "^4.3.4", "lodash": "^4.17.21" diff --git a/packages/@sanity/schema/package.json b/packages/@sanity/schema/package.json index 29b73b0d379..88103ba6df3 100644 --- a/packages/@sanity/schema/package.json +++ b/packages/@sanity/schema/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/schema", - "version": "3.62.1", + "version": "3.62.2", "description": "", "keywords": [ "sanity", @@ -64,7 +64,7 @@ }, "dependencies": { "@sanity/generate-help-url": "^3.0.0", - "@sanity/types": "3.62.1", + "@sanity/types": "3.62.2", "arrify": "^1.0.1", "groq-js": "^1.13.0", "humanize-list": "^1.0.1", diff --git a/packages/@sanity/types/package.json b/packages/@sanity/types/package.json index 666556a6138..bdc91f54b68 100644 --- a/packages/@sanity/types/package.json +++ b/packages/@sanity/types/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/types", - "version": "3.62.1", + "version": "3.62.2", "description": "Type definitions for common Sanity data structures", "keywords": [ "sanity", diff --git a/packages/@sanity/util/package.json b/packages/@sanity/util/package.json index 3bd78cf287a..5b689e4e7c6 100644 --- a/packages/@sanity/util/package.json +++ b/packages/@sanity/util/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/util", - "version": "3.62.1", + "version": "3.62.2", "description": "Utilities shared across projects of Sanity", "keywords": [ "sanity", @@ -122,7 +122,7 @@ }, "dependencies": { "@sanity/client": "^6.22.2", - "@sanity/types": "3.62.1", + "@sanity/types": "3.62.2", "get-random-values-esm": "1.0.2", "moment": "^2.30.1", "rxjs": "^7.8.1" diff --git a/packages/@sanity/vision/package.json b/packages/@sanity/vision/package.json index 694e918db66..872b23cc247 100644 --- a/packages/@sanity/vision/package.json +++ b/packages/@sanity/vision/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/vision", - "version": "3.62.1", + "version": "3.62.2", "description": "Sanity plugin for running/debugging GROQ-queries against Sanity datasets", "keywords": [ "sanity", diff --git a/packages/create-sanity/package.json b/packages/create-sanity/package.json index fee59ef43b9..8634ffbacfb 100644 --- a/packages/create-sanity/package.json +++ b/packages/create-sanity/package.json @@ -1,6 +1,6 @@ { "name": "create-sanity", - "version": "3.62.1", + "version": "3.62.2", "description": "Initialize a new Sanity project", "keywords": [ "sanity", @@ -26,7 +26,7 @@ "index.js" ], "dependencies": { - "@sanity/cli": "3.62.1", + "@sanity/cli": "3.62.2", "resolve-pkg": "^2.0.0" }, "engines": { diff --git a/packages/groq/package.json b/packages/groq/package.json index 1608434a591..56f2266bcc0 100644 --- a/packages/groq/package.json +++ b/packages/groq/package.json @@ -1,6 +1,6 @@ { "name": "groq", - "version": "3.62.1", + "version": "3.62.2", "description": "Tagged template literal for Sanity.io GROQ-queries", "keywords": [ "sanity", diff --git a/packages/sanity/package.json b/packages/sanity/package.json index 3c40bf7bc2f..b6454105a88 100644 --- a/packages/sanity/package.json +++ b/packages/sanity/package.json @@ -1,6 +1,6 @@ { "name": "sanity", - "version": "3.62.1", + "version": "3.62.2", "description": "Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches", "keywords": [ "sanity", @@ -158,11 +158,11 @@ "@rexxars/react-json-inspector": "^8.0.1", "@sanity/asset-utils": "^2.0.6", "@sanity/bifur-client": "^0.4.1", - "@sanity/block-tools": "3.62.1", - "@sanity/cli": "3.62.1", + "@sanity/block-tools": "3.62.2", + "@sanity/cli": "3.62.2", "@sanity/client": "^6.22.2", "@sanity/color": "^3.0.0", - "@sanity/diff": "3.62.1", + "@sanity/diff": "3.62.2", "@sanity/diff-match-patch": "^3.1.1", "@sanity/eventsource": "^5.0.0", "@sanity/export": "^3.41.0", @@ -171,14 +171,14 @@ "@sanity/import": "^3.37.3", "@sanity/insert-menu": "1.0.9", "@sanity/logos": "^2.1.4", - "@sanity/migrate": "3.62.1", - "@sanity/mutator": "3.62.1", + "@sanity/migrate": "3.62.2", + "@sanity/mutator": "3.62.2", "@sanity/presentation": "1.17.4", - "@sanity/schema": "3.62.1", + "@sanity/schema": "3.62.2", "@sanity/telemetry": "^0.7.7", - "@sanity/types": "3.62.1", + "@sanity/types": "3.62.2", "@sanity/ui": "^2.8.10", - "@sanity/util": "3.62.1", + "@sanity/util": "3.62.2", "@sanity/uuid": "^3.0.1", "@sentry/react": "^8.7.0", "@tanstack/react-table": "^8.16.0", @@ -273,7 +273,7 @@ "@repo/dev-aliases": "workspace:*", "@repo/package.config": "workspace:*", "@repo/test-config": "workspace:*", - "@sanity/codegen": "3.62.1", + "@sanity/codegen": "3.62.2", "@sanity/generate-help-url": "^3.0.0", "@sanity/pkg-utils": "6.11.4", "@sanity/tsdoc": "1.0.113", diff --git a/perf/studio/package.json b/perf/studio/package.json index 7a629ae9782..e216f167b82 100644 --- a/perf/studio/package.json +++ b/perf/studio/package.json @@ -1,6 +1,6 @@ { "name": "perf-studio", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "Sanity Studio with various test cases for tracking performance", "license": "MIT", diff --git a/perf/tests/package.json b/perf/tests/package.json index b73f87700ea..f88c17749fc 100644 --- a/perf/tests/package.json +++ b/perf/tests/package.json @@ -1,6 +1,6 @@ { "name": "sanity-perf-tests", - "version": "3.62.1", + "version": "3.62.2", "private": true, "description": "Sanity Studio perf tests", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff86fa2e13a..72889800e72 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -370,7 +370,7 @@ importers: specifier: ^2.8.10 version: 2.8.10(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/vision': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../../packages/@sanity/vision react: specifier: ^18.3.1 @@ -439,7 +439,7 @@ importers: specifier: ^3.0.2 version: 3.0.8(@sanity/mutator@packages+@sanity+mutator)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/block-tools': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../../packages/@sanity/block-tools '@sanity/client': specifier: ^6.22.2 @@ -599,7 +599,7 @@ importers: examples/ecommerce-studio: dependencies: '@sanity/cli': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../../packages/@sanity/cli '@sanity/ui': specifier: ^2.8.10 @@ -728,7 +728,7 @@ importers: packages/@sanity/block-tools: dependencies: '@sanity/types': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../types '@types/react': specifier: ^18.3.5 @@ -747,7 +747,7 @@ importers: specifier: workspace:* version: link:../../@repo/test-config '@sanity/schema': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../schema '@types/jsdom': specifier: ^20.0.0 @@ -777,13 +777,13 @@ importers: specifier: ^6.22.2 version: 6.22.2(debug@4.3.7) '@sanity/codegen': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../codegen '@sanity/telemetry': specifier: ^0.7.7 version: 0.7.9(react@19.0.0-rc-f994737d14-20240522) '@sanity/util': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../util chalk: specifier: ^4.1.2 @@ -1086,10 +1086,10 @@ importers: specifier: ^0.10.1 version: 0.10.1(debug@4.3.7) '@sanity/types': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../types '@sanity/util': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../util arrify: specifier: ^2.0.1 @@ -1132,7 +1132,7 @@ importers: specifier: ^3.1.1 version: 3.1.1 '@sanity/types': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../types '@sanity/uuid': specifier: ^3.0.1 @@ -1169,7 +1169,7 @@ importers: specifier: ^3.0.0 version: 3.0.0 '@sanity/types': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../types arrify: specifier: ^1.0.1 @@ -1255,7 +1255,7 @@ importers: specifier: ^6.22.2 version: 6.22.2(debug@4.3.7) '@sanity/types': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../types get-random-values-esm: specifier: 1.0.2 @@ -1392,7 +1392,7 @@ importers: packages/create-sanity: dependencies: '@sanity/cli': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../@sanity/cli resolve-pkg: specifier: ^2.0.0 @@ -1437,10 +1437,10 @@ importers: specifier: ^0.4.1 version: 0.4.1 '@sanity/block-tools': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../@sanity/block-tools '@sanity/cli': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../@sanity/cli '@sanity/client': specifier: ^6.22.2 @@ -1449,7 +1449,7 @@ importers: specifier: ^3.0.0 version: 3.0.6 '@sanity/diff': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../@sanity/diff '@sanity/diff-match-patch': specifier: ^3.1.1 @@ -1476,28 +1476,28 @@ importers: specifier: ^2.1.4 version: 2.1.13(@sanity/color@3.0.6)(react@18.3.1) '@sanity/migrate': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../@sanity/migrate '@sanity/mutator': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../@sanity/mutator '@sanity/presentation': specifier: 1.17.4 version: 1.17.4(@sanity/client@6.22.2(debug@4.3.7))(@sanity/color@3.0.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/schema': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../@sanity/schema '@sanity/telemetry': specifier: ^0.7.7 version: 0.7.9(react@18.3.1) '@sanity/types': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../@sanity/types '@sanity/ui': specifier: ^2.8.10 version: 2.8.10(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/util': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../@sanity/util '@sanity/uuid': specifier: ^3.0.1 @@ -1777,7 +1777,7 @@ importers: specifier: workspace:* version: link:../@repo/test-config '@sanity/codegen': - specifier: 3.62.1 + specifier: 3.62.2 version: link:../@sanity/codegen '@sanity/generate-help-url': specifier: ^3.0.0 From bd83ebbdc09de2a05dc69557511cf2d666a41dd0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 19:10:27 +0200 Subject: [PATCH 07/10] fix(deps): update dependency @sanity/presentation to v1.17.6 (#7669) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/sanity/package.json | 2 +- pnpm-lock.yaml | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/packages/sanity/package.json b/packages/sanity/package.json index b6454105a88..472af32b1b3 100644 --- a/packages/sanity/package.json +++ b/packages/sanity/package.json @@ -173,7 +173,7 @@ "@sanity/logos": "^2.1.4", "@sanity/migrate": "3.62.2", "@sanity/mutator": "3.62.2", - "@sanity/presentation": "1.17.4", + "@sanity/presentation": "1.17.6", "@sanity/schema": "3.62.2", "@sanity/telemetry": "^0.7.7", "@sanity/types": "3.62.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 72889800e72..abc0e7d4bf1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1482,8 +1482,8 @@ importers: specifier: 3.62.2 version: link:../@sanity/mutator '@sanity/presentation': - specifier: 1.17.4 - version: 1.17.4(@sanity/client@6.22.2(debug@4.3.7))(@sanity/color@3.0.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + specifier: 1.17.6 + version: 1.17.6(@sanity/client@6.22.2(debug@4.3.7))(@sanity/color@3.0.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/schema': specifier: 3.62.2 version: link:../@sanity/schema @@ -4510,6 +4510,10 @@ packages: resolution: {integrity: sha512-OwbT5C1j8wEVEvU78cYrC7l2l+cUH4UWHE4LF+FjniiQqeO+Udt6qK8akDRzsULmt3V2ebPOg+CYgRZh8Fkhdg==} engines: {node: '>=18'} + '@sanity/comlink@1.1.1': + resolution: {integrity: sha512-hmjL8X9/muInbO4Fko6rn9WOZhZWMPKz5n3FHttb/KurKaHbkhcon/jIkZ8DowxW75wkUDp8m/nkBZznJ58HIA==} + engines: {node: '>=18'} + '@sanity/core-loader@1.7.3': resolution: {integrity: sha512-Xf0/fyRwaejq/MawPnrsMFS0hBV6TpbsrQI0ZK4C8vrV+M68y+QRedtuxsH09ea/7g+M5TxssuczyOjVks9sPA==} engines: {node: '>=18'} @@ -4643,8 +4647,8 @@ packages: peerDependencies: typescript: 5.4.x || 5.5.x || 5.6.x - '@sanity/presentation@1.17.4': - resolution: {integrity: sha512-dWbArI771MW9O34eZxf9ufA5Ow7fyAKWe2aF1Li4GIZCj8GKrOvBLusOVWj7NjwRf31Zsz+d3cMPFOCov7i/7w==} + '@sanity/presentation@1.17.6': + resolution: {integrity: sha512-cEp9S5qG+gzC9YMn762iKeh1CqeIPyEXpJMVUNmc22Pl4hv4zXeAa+Rs68aPdn1Zk6Ughy++EAuIQcXDLrY2SQ==} engines: {node: '>=16.14'} peerDependencies: '@sanity/client': ^6.22.2 @@ -14913,6 +14917,12 @@ snapshots: uuid: 10.0.0 xstate: 5.18.2 + '@sanity/comlink@1.1.1': + dependencies: + rxjs: 7.8.1 + uuid: 10.0.0 + xstate: 5.18.2 + '@sanity/core-loader@1.7.3(@sanity/client@6.22.2)': dependencies: '@sanity/client': 6.22.2(debug@4.3.7) @@ -15244,10 +15254,10 @@ snapshots: - debug - supports-color - '@sanity/presentation@1.17.4(@sanity/client@6.22.2(debug@4.3.7))(@sanity/color@3.0.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@sanity/presentation@1.17.6(@sanity/client@6.22.2(debug@4.3.7))(@sanity/color@3.0.6)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@sanity/client': 6.22.2(debug@4.3.7) - '@sanity/comlink': 1.0.0 + '@sanity/comlink': 1.1.1 '@sanity/icons': 3.4.0(react@18.3.1) '@sanity/logos': 2.1.13(@sanity/color@3.0.6)(react@18.3.1) '@sanity/preview-url-secret': 2.0.0(@sanity/client@6.22.2(debug@4.3.7)) From 4ede77b443d1900a4b89bab8e0e78dc4213fb689 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 19:11:04 +0200 Subject: [PATCH 08/10] fix(deps): update dependency @sanity/insert-menu to v1.0.10 (#7668) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/@sanity/types/package.json | 2 +- packages/sanity/package.json | 2 +- pnpm-lock.yaml | 18 +++++++++--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/@sanity/types/package.json b/packages/@sanity/types/package.json index bdc91f54b68..73b605f3f34 100644 --- a/packages/@sanity/types/package.json +++ b/packages/@sanity/types/package.json @@ -55,7 +55,7 @@ "devDependencies": { "@repo/package.config": "workspace:*", "@repo/test-config": "workspace:*", - "@sanity/insert-menu": "1.0.9", + "@sanity/insert-menu": "1.0.10", "@vitejs/plugin-react": "^4.3.1", "react": "^18.3.1", "rimraf": "^3.0.2", diff --git a/packages/sanity/package.json b/packages/sanity/package.json index 472af32b1b3..b429ce090ee 100644 --- a/packages/sanity/package.json +++ b/packages/sanity/package.json @@ -169,7 +169,7 @@ "@sanity/icons": "^3.4.0", "@sanity/image-url": "^1.0.2", "@sanity/import": "^3.37.3", - "@sanity/insert-menu": "1.0.9", + "@sanity/insert-menu": "1.0.10", "@sanity/logos": "^2.1.4", "@sanity/migrate": "3.62.2", "@sanity/mutator": "3.62.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index abc0e7d4bf1..20914113665 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1234,8 +1234,8 @@ importers: specifier: workspace:* version: link:../../@repo/test-config '@sanity/insert-menu': - specifier: 1.0.9 - version: 1.0.9(@sanity/types@packages+@sanity+types)(react-dom@19.0.0-rc-f994737d14-20240522(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@19.0.0-rc-f994737d14-20240522(react@18.3.1))(react@18.3.1)) + specifier: 1.0.10 + version: 1.0.10(@sanity/types@packages+@sanity+types)(react-dom@19.0.0-rc-f994737d14-20240522(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@19.0.0-rc-f994737d14-20240522(react@18.3.1))(react@18.3.1)) '@vitejs/plugin-react': specifier: ^4.3.1 version: 4.3.3(vite@5.4.9(@types/node@22.5.4)(terser@5.32.0)) @@ -1470,8 +1470,8 @@ importers: specifier: ^3.37.3 version: 3.37.5 '@sanity/insert-menu': - specifier: 1.0.9 - version: 1.0.9(@sanity/types@packages+@sanity+types)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + specifier: 1.0.10 + version: 1.0.10(@sanity/types@packages+@sanity+types)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@sanity/logos': specifier: ^2.1.4 version: 2.1.13(@sanity/color@3.0.6)(react@18.3.1) @@ -4583,11 +4583,11 @@ packages: react: ^16.9 || ^17 || ^18 react-dom: ^16.9 || ^17 || ^18 - '@sanity/insert-menu@1.0.9': - resolution: {integrity: sha512-NP/CaBPS5qwUJ/nSmgDSmDME5a6PVq9DhaEOKC2ux8Jhuab5tRXx8y2Nbrcw3muZdwmSY4HpkLNVoTdtmpgBcg==} + '@sanity/insert-menu@1.0.10': + resolution: {integrity: sha512-tFfjP7IA9QjD5flSwILUNjQKh4Vrq+E1Z5e0gBtPCRFHTde0VRrfiiX/qTr0IPYREo3MOhIBZbriJScBeGuMfg==} engines: {node: '>=18.0.0'} peerDependencies: - '@sanity/types': ^3.57.2 + '@sanity/types': ^3.62.2 react: ^18.3 || >=19.0.0-rc react-dom: ^18.3 || >=19.0.0-rc react-is: ^18.3 || >=19.0.0-rc @@ -15069,7 +15069,7 @@ snapshots: react-copy-to-clipboard: 5.1.0(react@18.3.1) react-dom: 18.3.1(react@18.3.1) - '@sanity/insert-menu@1.0.9(@sanity/types@packages+@sanity+types)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@sanity/insert-menu@1.0.10(@sanity/types@packages+@sanity+types)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@sanity/icons': 3.4.0(react@18.3.1) '@sanity/types': link:packages/@sanity/types @@ -15081,7 +15081,7 @@ snapshots: transitivePeerDependencies: - styled-components - '@sanity/insert-menu@1.0.9(@sanity/types@packages+@sanity+types)(react-dom@19.0.0-rc-f994737d14-20240522(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@19.0.0-rc-f994737d14-20240522(react@18.3.1))(react@18.3.1))': + '@sanity/insert-menu@1.0.10(@sanity/types@packages+@sanity+types)(react-dom@19.0.0-rc-f994737d14-20240522(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(styled-components@6.1.13(react-dom@19.0.0-rc-f994737d14-20240522(react@18.3.1))(react@18.3.1))': dependencies: '@sanity/icons': 3.4.0(react@18.3.1) '@sanity/types': link:packages/@sanity/types From 1ebedd2614ab10491b1e9eeac61d8e7f30af063a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 19:18:22 +0200 Subject: [PATCH 09/10] fix(deps): Update dev-non-major (#7671) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- dev/test-studio/package.json | 4 +-- pnpm-lock.yaml | 68 +++++++++++++++--------------------- 2 files changed, 31 insertions(+), 41 deletions(-) diff --git a/dev/test-studio/package.json b/dev/test-studio/package.json index 9dc5ab2a5ca..02b01e90861 100644 --- a/dev/test-studio/package.json +++ b/dev/test-studio/package.json @@ -16,7 +16,7 @@ "workshop:dev": "node -r esbuild-register scripts/workshop/dev.ts" }, "dependencies": { - "@portabletext/editor": "^1.1.5", + "@portabletext/editor": "^1.1.7", "@portabletext/react": "^3.0.0", "@sanity/assist": "^3.0.2", "@sanity/block-tools": "3.62.2", @@ -41,7 +41,7 @@ "@sanity/util": "workspace:*", "@sanity/uuid": "^3.0.1", "@sanity/vision": "workspace:*", - "@sanity/visual-editing": "2.3.1", + "@sanity/visual-editing": "2.4.1", "@turf/helpers": "^6.0.1", "@turf/points-within-polygon": "^5.1.5", "@vercel/stega": "0.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 20914113665..6d6118d5599 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -430,8 +430,8 @@ importers: dev/test-studio: dependencies: '@portabletext/editor': - specifier: ^1.1.5 - version: 1.1.5(@sanity/block-tools@packages+@sanity+block-tools)(@sanity/schema@packages+@sanity+schema)(@sanity/types@packages+@sanity+types)(@sanity/util@packages+@sanity+util)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rxjs@7.8.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + specifier: ^1.1.7 + version: 1.1.7(@sanity/block-tools@packages+@sanity+block-tools)(@sanity/schema@packages+@sanity+schema)(@sanity/types@packages+@sanity+types)(@sanity/util@packages+@sanity+util)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rxjs@7.8.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@portabletext/react': specifier: ^3.0.0 version: 3.1.0(react@18.3.1) @@ -482,7 +482,7 @@ importers: version: 2.0.0(@sanity/client@6.22.2(debug@4.3.7)) '@sanity/react-loader': specifier: ^1.8.3 - version: 1.10.11(@sanity/client@6.22.2)(react@18.3.1) + version: 1.10.13(@sanity/client@6.22.2)(react@18.3.1) '@sanity/tsdoc': specifier: 1.0.113 version: 1.0.113(@types/babel__core@7.20.5)(@types/node@22.5.4)(react-dom@18.3.1(react@18.3.1))(react-is@19.0.0-rc-a7d1240c-20240731)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.32.0) @@ -505,8 +505,8 @@ importers: specifier: workspace:* version: link:../../packages/@sanity/vision '@sanity/visual-editing': - specifier: 2.3.1 - version: 2.3.1(@sanity/client@6.22.2)(next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 2.4.1 + version: 2.4.1(@sanity/client@6.22.2)(next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@turf/helpers': specifier: ^6.0.1 version: 6.5.0 @@ -1423,7 +1423,7 @@ importers: version: 3.4.0 '@portabletext/editor': specifier: ^1.1.5 - version: 1.1.5(@sanity/block-tools@packages+@sanity+block-tools)(@sanity/schema@packages+@sanity+schema)(@sanity/types@packages+@sanity+types)(@sanity/util@packages+@sanity+util)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rxjs@7.8.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + version: 1.1.7(@sanity/block-tools@packages+@sanity+block-tools)(@sanity/schema@packages+@sanity+schema)(@sanity/types@packages+@sanity+types)(@sanity/util@packages+@sanity+util)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rxjs@7.8.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@portabletext/react': specifier: ^3.0.0 version: 3.1.0(react@18.3.1) @@ -4230,14 +4230,14 @@ packages: resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} engines: {node: '>=12'} - '@portabletext/editor@1.1.5': - resolution: {integrity: sha512-rXJLT04jqr4rr1l+GDpuY/OGdEdq6j7078/DN2yoJwyCkySLQvBKLDFOMItSF6I8FNNHHKamGoTj2fZFGbYWBQ==} + '@portabletext/editor@1.1.7': + resolution: {integrity: sha512-U1aBImFcXaer6NSU/8z6zEPTfxPwM65nvtY37Tg3nY2M1ns1Sx+2xAlUUiGAfBCjpRFaqIL5+578bcs9Xo/ayQ==} engines: {node: '>=18'} peerDependencies: - '@sanity/block-tools': ^3.61.0 - '@sanity/schema': ^3.61.0 - '@sanity/types': ^3.61.0 - '@sanity/util': ^3.61.0 + '@sanity/block-tools': ^3.62.2 + '@sanity/schema': ^3.62.2 + '@sanity/types': ^3.62.2 + '@sanity/util': ^3.62.2 react: ^16.9 || ^17 || ^18 rxjs: ^7.8.1 styled-components: ^6.1.13 @@ -4506,16 +4506,12 @@ packages: resolution: {integrity: sha512-2TjYEvOftD0v7ukx3Csdh9QIu44P2z7NDJtlC3qITJRYV36J7R6Vfd3trVhFnN77/7CZrGjqngrtohv8VqO5nw==} engines: {node: '>=18.0.0'} - '@sanity/comlink@1.0.0': - resolution: {integrity: sha512-OwbT5C1j8wEVEvU78cYrC7l2l+cUH4UWHE4LF+FjniiQqeO+Udt6qK8akDRzsULmt3V2ebPOg+CYgRZh8Fkhdg==} - engines: {node: '>=18'} - '@sanity/comlink@1.1.1': resolution: {integrity: sha512-hmjL8X9/muInbO4Fko6rn9WOZhZWMPKz5n3FHttb/KurKaHbkhcon/jIkZ8DowxW75wkUDp8m/nkBZznJ58HIA==} engines: {node: '>=18'} - '@sanity/core-loader@1.7.3': - resolution: {integrity: sha512-Xf0/fyRwaejq/MawPnrsMFS0hBV6TpbsrQI0ZK4C8vrV+M68y+QRedtuxsH09ea/7g+M5TxssuczyOjVks9sPA==} + '@sanity/core-loader@1.7.5': + resolution: {integrity: sha512-xHH85EqWb30OnNd0vsTmky/Y+GT1ikVNba/gZrhNHAxXJImOCQvqO89WtV3DPyvIBCpvsoLQyM0DfSxSf+7CVw==} engines: {node: '>=18'} peerDependencies: '@sanity/client': ^6.22.2 @@ -4664,8 +4660,8 @@ packages: peerDependencies: '@sanity/client': ^6.22.2 - '@sanity/react-loader@1.10.11': - resolution: {integrity: sha512-SJOSI7J/JarbbOyWyLqxcUH30AbkuoFHKZkt8OfRXtkouaEgMUO7NFHumoSOjzOi9YURsM+DjFwZTTKHsNVhSA==} + '@sanity/react-loader@1.10.13': + resolution: {integrity: sha512-0zx/qt2TajRDJG/R+hS5ANPx6rdXLq+j38M98T6sJvbrV5YacyW5IL+ZNOf+K2XjFHrlfORbB89qAK0ChjV3iA==} engines: {node: '>=18'} peerDependencies: '@sanity/client': ^6.22.2 @@ -4720,8 +4716,8 @@ packages: '@sanity/uuid@3.0.2': resolution: {integrity: sha512-vzdhqOrX7JGbMyK40KuIwwyXHm7GMLOGuYgn3xlC09e4ZVNofUO5mgezQqnRv0JAMthIRhofqs9f6ufUjMKOvw==} - '@sanity/visual-editing@2.3.1': - resolution: {integrity: sha512-ijRaoV6N6pby+DoL/P0enQqNQd5n7UNjx0yfI9O7XVMePf4APtvpTJgyeLZl9+z0BgYLLTHyHlxvm7QwjPXLhw==} + '@sanity/visual-editing@2.4.1': + resolution: {integrity: sha512-qJp6yoiMKANwcAQ7HYpuElhPHn1OofLzSRuD6BPYbpdQsnuPtQMm4W/hByQzqdy/1T5X91Hmll4+/pkxmsEtnA==} engines: {node: '>=18'} peerDependencies: '@remix-run/react': '>= 2' @@ -10807,8 +10803,8 @@ packages: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} - slate-react@0.110.2: - resolution: {integrity: sha512-J5M4FHFAXmHWdz3wCixhFZcO3/hX6u1VOM6zSlIs7g43hGp0o9woo4zcCm1xgGB8m/BWYucQCq2n2t3g4PIjug==} + slate-react@0.110.3: + resolution: {integrity: sha512-AS8PPjwmsFS3Lq0MOEegLVlFoxhyos68G6zz2nW4sh3WeTXV7pX0exnwtY1a/docn+J3LGQO11aZXTenPXA/kg==} peerDependencies: react: '>=18.2.0' react-dom: '>=18.2.0' @@ -14611,7 +14607,7 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 - '@portabletext/editor@1.1.5(@sanity/block-tools@packages+@sanity+block-tools)(@sanity/schema@packages+@sanity+schema)(@sanity/types@packages+@sanity+types)(@sanity/util@packages+@sanity+util)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rxjs@7.8.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@portabletext/editor@1.1.7(@sanity/block-tools@packages+@sanity+block-tools)(@sanity/schema@packages+@sanity+schema)(@sanity/types@packages+@sanity+types)(@sanity/util@packages+@sanity+util)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rxjs@7.8.1)(styled-components@6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@portabletext/patches': 1.1.0 '@sanity/block-tools': link:packages/@sanity/block-tools @@ -14624,7 +14620,7 @@ snapshots: react: 18.3.1 rxjs: 7.8.1 slate: 0.110.2 - slate-react: 0.110.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.110.2) + slate-react: 0.110.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.110.2) styled-components: 6.1.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) xstate: 5.18.2 transitivePeerDependencies: @@ -14911,22 +14907,16 @@ snapshots: '@sanity/color@3.0.6': {} - '@sanity/comlink@1.0.0': - dependencies: - rxjs: 7.8.1 - uuid: 10.0.0 - xstate: 5.18.2 - '@sanity/comlink@1.1.1': dependencies: rxjs: 7.8.1 uuid: 10.0.0 xstate: 5.18.2 - '@sanity/core-loader@1.7.3(@sanity/client@6.22.2)': + '@sanity/core-loader@1.7.5(@sanity/client@6.22.2)': dependencies: '@sanity/client': 6.22.2(debug@4.3.7) - '@sanity/comlink': 1.0.0 + '@sanity/comlink': 1.1.1 '@sanity/diff-match-patch@3.1.1': {} @@ -15291,10 +15281,10 @@ snapshots: '@sanity/client': 6.22.2(debug@4.3.7) '@sanity/uuid': 3.0.2 - '@sanity/react-loader@1.10.11(@sanity/client@6.22.2)(react@18.3.1)': + '@sanity/react-loader@1.10.13(@sanity/client@6.22.2)(react@18.3.1)': dependencies: '@sanity/client': 6.22.2(debug@4.3.7) - '@sanity/core-loader': 1.7.3(@sanity/client@6.22.2) + '@sanity/core-loader': 1.7.5(@sanity/client@6.22.2) react: 18.3.1 '@sanity/telemetry@0.7.9(react@18.3.1)': @@ -15619,9 +15609,9 @@ snapshots: '@types/uuid': 8.3.4 uuid: 8.3.2 - '@sanity/visual-editing@2.3.1(@sanity/client@6.22.2)(next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@sanity/visual-editing@2.4.1(@sanity/client@6.22.2)(next@15.0.1(@babel/core@7.25.8)(@playwright/test@1.47.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@sanity/comlink': 1.0.0 + '@sanity/comlink': 1.1.1 '@sanity/mutate': 0.10.1-canary.5(xstate@5.18.2) '@sanity/preview-url-secret': 2.0.0(@sanity/client@6.22.2(debug@4.3.7)) '@vercel/stega': 0.1.2 @@ -23184,7 +23174,7 @@ snapshots: slash@4.0.0: {} - slate-react@0.110.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.110.2): + slate-react@0.110.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(slate@0.110.2): dependencies: '@juggle/resize-observer': 3.4.0 direction: 1.0.4 From 12cb46b0b7352370db9e66c83b1939737fe82fec Mon Sep 17 00:00:00 2001 From: Snorre Eskeland Brekke Date: Fri, 25 Oct 2024 13:31:10 +0200 Subject: [PATCH 10/10] feat: adds support for Create-Studio integration (#7635) Co-authored-by: Robin Pyon --- .../.depcheckignore.json | 3 + dev/test-create-integration-studio/.gitignore | 1 + .../package.json | 22 ++ .../sanity.cli.ts | 11 + .../sanity.config.ts | 22 ++ dev/test-create-integration-studio/schema.ts | 354 ++++++++++++++++++ .../tsconfig.json | 3 + packages/@sanity/types/src/reference/types.ts | 3 +- .../types/src/schema/definition/type/array.ts | 9 +- .../types/src/schema/definition/type/block.ts | 4 +- .../src/schema/definition/type/boolean.ts | 4 +- .../src/schema/definition/type/common.ts | 27 ++ .../types/src/schema/definition/type/date.ts | 4 +- .../src/schema/definition/type/datetime.ts | 4 +- .../src/schema/definition/type/document.ts | 3 +- .../types/src/schema/definition/type/email.ts | 4 +- .../src/schema/definition/type/geopoint.ts | 4 +- .../src/schema/definition/type/number.ts | 4 +- .../src/schema/definition/type/object.ts | 3 +- .../types/src/schema/definition/type/slug.ts | 4 +- .../src/schema/definition/type/string.ts | 12 +- .../types/src/schema/definition/type/url.ts | 4 +- packages/@sanity/types/test/boolean.test.ts | 3 + .../context/SanityCreateConfigContext.tsx | 13 + packages/sanity/src/_singletons/index.ts | 1 + .../config/__tests__/resolveConfig.test.ts | 2 + .../src/core/config/configPropertyReducers.ts | 45 +++ .../startInCreateSortedActions.test.ts | 40 ++ .../create/startInCreateSortedActions.ts | 23 ++ .../sanity/src/core/config/prepareConfig.ts | 15 +- .../src/core/config/resolveDefaultPlugins.ts | 3 +- packages/sanity/src/core/config/types.ts | 39 ++ .../create/__telemetry__/create.telemetry.ts | 32 ++ .../__tests__/createDocumentUrl.test.ts | 70 ++++ .../components/CreateIntegrationWrapper.tsx | 6 + .../components/CreateLearnMoreButton.tsx | 25 ++ .../create/components/CreateLinkedActions.tsx | 62 +++ .../CreateLinkedDocumentBannerContent.tsx | 105 ++++++ .../components/CreateUnlinkConfirmDialog.tsx | 61 +++ .../create/components/media/CreateSvg.tsx | 224 +++++++++++ .../context/SanityCreateConfigProvider.tsx | 35 ++ .../sanity/src/core/create/context/index.ts | 2 + .../create/context/useSanityCreateConfig.ts | 32 ++ .../src/core/create/createDocumentUrls.ts | 31 ++ .../core/create/createIntegrationPlugin.ts | 27 ++ .../sanity/src/core/create/createStorage.ts | 17 + .../sanity/src/core/create/createUtils.ts | 33 ++ packages/sanity/src/core/create/i18n/index.ts | 27 ++ .../sanity/src/core/create/i18n/resources.ts | 82 ++++ packages/sanity/src/core/create/index.ts | 3 + .../start-in-create/CreateLinkingDialog.tsx | 69 ++++ .../start-in-create/StartInCreateAction.tsx | 92 +++++ .../start-in-create/StartInCreateDialog.tsx | 88 +++++ .../studio-app/__tests__/appIdCache.test.ts | 25 ++ .../fetchCreateCompatibleAppId.test.ts | 98 +++++ .../__tests__/useStudioAppIdStore.test.ts | 52 +++ .../src/core/create/studio-app/appIdCache.ts | 39 ++ .../studio-app/fetchCreateCompatibleAppId.ts | 63 ++++ .../src/core/create/studio-app/manifest.ts | 28 ++ .../core/create/studio-app/manifestTypes.ts | 16 + .../create/studio-app/useStudioAppIdStore.ts | 82 ++++ packages/sanity/src/core/create/types.ts | 33 ++ .../core/create/useSanityCreateTelemetry.ts | 55 +++ packages/sanity/src/core/index.ts | 1 + .../panes/document/DocumentPaneProvider.tsx | 6 +- .../document-layout/DocumentLayout.tsx | 38 +- .../document/statusBar/DocumentStatusBar.tsx | 35 +- pnpm-lock.yaml | 291 ++++++++++++++ 68 files changed, 2641 insertions(+), 37 deletions(-) create mode 100644 dev/test-create-integration-studio/.depcheckignore.json create mode 100644 dev/test-create-integration-studio/.gitignore create mode 100644 dev/test-create-integration-studio/package.json create mode 100644 dev/test-create-integration-studio/sanity.cli.ts create mode 100644 dev/test-create-integration-studio/sanity.config.ts create mode 100644 dev/test-create-integration-studio/schema.ts create mode 100644 dev/test-create-integration-studio/tsconfig.json create mode 100644 packages/sanity/src/_singletons/context/SanityCreateConfigContext.tsx create mode 100644 packages/sanity/src/core/config/create/__tests__/startInCreateSortedActions.test.ts create mode 100644 packages/sanity/src/core/config/create/startInCreateSortedActions.ts create mode 100644 packages/sanity/src/core/create/__telemetry__/create.telemetry.ts create mode 100644 packages/sanity/src/core/create/__tests__/createDocumentUrl.test.ts create mode 100644 packages/sanity/src/core/create/components/CreateIntegrationWrapper.tsx create mode 100644 packages/sanity/src/core/create/components/CreateLearnMoreButton.tsx create mode 100644 packages/sanity/src/core/create/components/CreateLinkedActions.tsx create mode 100644 packages/sanity/src/core/create/components/CreateLinkedDocumentBannerContent.tsx create mode 100644 packages/sanity/src/core/create/components/CreateUnlinkConfirmDialog.tsx create mode 100644 packages/sanity/src/core/create/components/media/CreateSvg.tsx create mode 100644 packages/sanity/src/core/create/context/SanityCreateConfigProvider.tsx create mode 100644 packages/sanity/src/core/create/context/index.ts create mode 100644 packages/sanity/src/core/create/context/useSanityCreateConfig.ts create mode 100644 packages/sanity/src/core/create/createDocumentUrls.ts create mode 100644 packages/sanity/src/core/create/createIntegrationPlugin.ts create mode 100644 packages/sanity/src/core/create/createStorage.ts create mode 100644 packages/sanity/src/core/create/createUtils.ts create mode 100644 packages/sanity/src/core/create/i18n/index.ts create mode 100644 packages/sanity/src/core/create/i18n/resources.ts create mode 100644 packages/sanity/src/core/create/index.ts create mode 100644 packages/sanity/src/core/create/start-in-create/CreateLinkingDialog.tsx create mode 100644 packages/sanity/src/core/create/start-in-create/StartInCreateAction.tsx create mode 100644 packages/sanity/src/core/create/start-in-create/StartInCreateDialog.tsx create mode 100644 packages/sanity/src/core/create/studio-app/__tests__/appIdCache.test.ts create mode 100644 packages/sanity/src/core/create/studio-app/__tests__/fetchCreateCompatibleAppId.test.ts create mode 100644 packages/sanity/src/core/create/studio-app/__tests__/useStudioAppIdStore.test.ts create mode 100644 packages/sanity/src/core/create/studio-app/appIdCache.ts create mode 100644 packages/sanity/src/core/create/studio-app/fetchCreateCompatibleAppId.ts create mode 100644 packages/sanity/src/core/create/studio-app/manifest.ts create mode 100644 packages/sanity/src/core/create/studio-app/manifestTypes.ts create mode 100644 packages/sanity/src/core/create/studio-app/useStudioAppIdStore.ts create mode 100644 packages/sanity/src/core/create/types.ts create mode 100644 packages/sanity/src/core/create/useSanityCreateTelemetry.ts diff --git a/dev/test-create-integration-studio/.depcheckignore.json b/dev/test-create-integration-studio/.depcheckignore.json new file mode 100644 index 00000000000..0958cae05dc --- /dev/null +++ b/dev/test-create-integration-studio/.depcheckignore.json @@ -0,0 +1,3 @@ +{ + "ignore": ["styled-components", "react", "react-dom", "sanity"] +} diff --git a/dev/test-create-integration-studio/.gitignore b/dev/test-create-integration-studio/.gitignore new file mode 100644 index 00000000000..9b1c8b133c9 --- /dev/null +++ b/dev/test-create-integration-studio/.gitignore @@ -0,0 +1 @@ +/dist diff --git a/dev/test-create-integration-studio/package.json b/dev/test-create-integration-studio/package.json new file mode 100644 index 00000000000..ad3b6ccf5cd --- /dev/null +++ b/dev/test-create-integration-studio/package.json @@ -0,0 +1,22 @@ +{ + "name": "test-create-integration-studio", + "version": "3.61.0", + "private": true, + "license": "MIT", + "author": "Sanity.io ", + "scripts": { + "build": "../.bin/sanity build", + "clean": "rimraf .sanity dist", + "deploy": "npx sanity deploy", + "dev": "../.bin/sanity dev", + "lint": "eslint .", + "start": "../.bin/sanity start" + }, + "dependencies": { + "@sanity/code-input": "^4.1.4", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "sanity": "workspace:*", + "styled-components": "^6.1.0" + } +} diff --git a/dev/test-create-integration-studio/sanity.cli.ts b/dev/test-create-integration-studio/sanity.cli.ts new file mode 100644 index 00000000000..89fd9fa0307 --- /dev/null +++ b/dev/test-create-integration-studio/sanity.cli.ts @@ -0,0 +1,11 @@ +import {defineCliConfig} from 'sanity/cli' + +export default defineCliConfig({ + api: { + projectId: 'ppsg7ml5', + dataset: 'test', + }, + + studioHost: 'create-integration-test', + autoUpdates: false, +}) diff --git a/dev/test-create-integration-studio/sanity.config.ts b/dev/test-create-integration-studio/sanity.config.ts new file mode 100644 index 00000000000..146861de727 --- /dev/null +++ b/dev/test-create-integration-studio/sanity.config.ts @@ -0,0 +1,22 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +import {codeInput} from '@sanity/code-input' +import {defineConfig} from 'sanity' +import {structureTool} from 'sanity/structure' + +import {schemaTypes} from './schema' + +export default defineConfig({ + plugins: [structureTool(), codeInput()], + title: 'Strict', + name: 'default', + projectId: 'ppsg7ml5', + dataset: 'test', + schema: {types: schemaTypes}, + + beta: { + create: { + startInCreateEnabled: true, + fallbackStudioOrigin: 'create-integration-test.sanity.studio', + }, + }, +}) diff --git a/dev/test-create-integration-studio/schema.ts b/dev/test-create-integration-studio/schema.ts new file mode 100644 index 00000000000..70edcbcb80d --- /dev/null +++ b/dev/test-create-integration-studio/schema.ts @@ -0,0 +1,354 @@ +import {defineArrayMember, defineField, defineType, type FieldGroupDefinition} from 'sanity' + +export const mainGroup: FieldGroupDefinition = { + name: 'main', + title: 'Common fields', +} +export const seoGroup: FieldGroupDefinition = { + name: 'seo', + title: 'SEO fields', +} + +export const schemaTypes = [ + defineType({ + title: 'Documentation Article', + name: 'create-test-article', + type: 'document', + groups: [mainGroup, seoGroup], + fieldsets: [{name: 'switches', title: 'Article settings', options: {columns: 2}}], + fields: [ + defineField({ + name: 'title', + title: 'Title', + type: 'string', + description: 'Main header and page title.', + group: [mainGroup.name], + }), + defineField({ + name: 'description', + title: 'Description', + type: 'text', + rows: 3, + description: 'Lede and page summary.', + group: [mainGroup.name], + }), + defineField({ + type: 'image', + name: 'image', + title: 'Image', + description: 'Primary image for content.', + group: [mainGroup.name], + }), + defineField({ + name: 'authors', + title: 'Authors', + type: 'array', + description: 'One or more content authors', + validation: (Rule) => Rule.required().min(1).unique(), + of: [ + defineArrayMember({ + type: 'object', + name: 'authors', + title: 'Authors', + fields: [ + defineField({ + type: 'string', + name: 'name', + title: 'Full Name', + }), + defineField({ + type: 'string', + name: 'email', + title: 'Email', + }), + ], + }), + ], + group: [mainGroup.name], + }), + { + title: 'Slug', + name: 'slug', + type: 'slug', + description: 'Last part of the page URL.', + options: { + source: 'title', + auto: true, + }, + }, + { + title: 'Hide this article?', + name: 'hidden', + type: 'boolean', + description: 'Turn this on to prevent this document from showing up in search results.', + }, + { + title: 'Enterprise Feature', + name: 'enterprise', + type: 'boolean', + description: 'This article describes a feature only available on enterprise plans', + }, + { + title: 'Experimental Feature', + name: 'experimental', + type: 'boolean', + description: + 'This article describes a feature that should be considered experimental, where the API and feature set might change', + }, + { + title: 'Body', + name: 'body', + type: 'blockContent', + }, + { + title: 'Search keywords', + name: 'keywords', + type: 'array', + of: [{type: 'string'}], + options: { + layout: 'tags', + }, + description: 'A list of keywords to supplement search index.', + }, + { + title: 'Related Articles', + name: 'articles', + type: 'array', + of: [ + { + type: 'reference', + to: [{type: 'create-test-article'}], + }, + ], + }, + defineField({ + name: 'seoTitle', + title: 'SEO Title', + type: 'string', + description: 'Will override title used for SEO and social media previews.', + group: [seoGroup.name], + }), + defineField({ + name: 'seoDescription', + title: 'SEO Description', + type: 'text', + rows: 3, + description: 'Will override description used for SEO and social media previews.', + group: [seoGroup.name], + }), + defineField({ + name: 'seoImage', + title: 'SEO Image', + type: 'image', + description: 'Will override image used for SEO and social media previews.', + group: [seoGroup.name], + }), + ], + }), + defineType({ + title: 'Block Content', + name: 'blockContent', + type: 'array', + of: [ + { + title: 'Block', + type: 'block', + styles: [ + {title: 'Normal', value: 'normal'}, + {title: 'H1', value: 'h1'}, + {title: 'H2', value: 'h2'}, + {title: 'H3', value: 'h3'}, + {title: 'H4', value: 'h4'}, + {title: 'Quote', value: 'blockquote'}, + ], + marks: { + decorators: [ + {title: 'Strong', value: 'strong'}, + {title: 'Emphasis', value: 'em'}, + {title: 'Code', value: 'code'}, + ], + annotations: [ + { + title: 'Abbreviation', + name: 'abbreviation', + type: 'object', + description: 'Add definitions for abbreviations, initialisms, and acronyms', + fields: [ + { + title: 'Expansion', + name: 'title', + type: 'string', + description: 'Spell out the full term', + }, + ], + }, + ], + }, + }, + { + title: 'Call to action', + name: 'callToAction', + type: 'object', + fields: [ + { + title: 'Label', + name: 'label', + type: 'string', + }, + { + title: 'Url', + name: 'url', + type: 'string', + }, + ], + }, + { + title: 'Image', + type: 'image', + options: { + hotspot: true, + }, + preview: { + select: { + imageUrl: 'asset.url', + title: 'caption', + }, + }, + fields: [ + { + title: 'Caption', + name: 'caption', + type: 'string', + }, + { + name: 'alt', + type: 'string', + title: 'Alt text', + description: 'Alternative text for screenreaders. Falls back on caption if not set', + }, + { + title: 'Enable lightbox', + description: + '❓ Optional. The default behavior is to enable it if image is large enough to benefit from it.', + name: 'enableLightbox', + type: 'boolean', + }, + { + title: 'Icon', + name: 'isIcon', + type: 'boolean', + }, + { + title: 'Disable shadow', + description: 'Not implemented in most surfaces.', + name: 'disableShadow', + type: 'boolean', + }, + { + title: 'Large', + description: 'Not implemented in most surfaces.', + name: 'isLarge', + type: 'boolean', + }, + { + name: 'infoBox', + title: 'Info Box', + type: 'object', + fields: [ + { + name: 'title', + title: 'Title', + type: 'string', + }, + ], + }, + ], + }, + { + name: 'infoBox', + title: 'Info Box', + type: 'object', + fields: [ + { + name: 'title', + title: 'Title', + type: 'string', + }, + { + title: 'Box Content', + name: 'body', + type: 'text', + }, + ], + preview: { + select: { + title: 'title', + body: 'body', + }, + prepare(selection) { + return selection + }, + }, + }, + {name: 'code', type: 'code'}, + { + name: 'protip', + type: 'object', + fields: [ + { + title: 'Protip', + name: 'body', + type: 'text', + }, + ], + preview: { + select: { + body: 'body', + }, + prepare(selection) { + return selection + }, + }, + }, + { + name: 'gotcha', + type: 'object', + fields: [ + { + title: 'Gotcha', + name: 'body', + type: 'text', + }, + ], + preview: { + select: { + body: 'body', + }, + prepare(selection) { + return selection + }, + }, + }, + { + name: 'example', + type: 'object', + fields: [ + { + title: 'Example', + name: 'body', + description: 'Use this to exemplify something that’s not just a code block', + type: 'text', + }, + ], + preview: { + select: { + body: 'body', + }, + prepare(selection) { + return selection + }, + }, + }, + ], + }), +] diff --git a/dev/test-create-integration-studio/tsconfig.json b/dev/test-create-integration-studio/tsconfig.json new file mode 100644 index 00000000000..e10fe0a8eaa --- /dev/null +++ b/dev/test-create-integration-studio/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../tsconfig.dev" +} diff --git a/packages/@sanity/types/src/reference/types.ts b/packages/@sanity/types/src/reference/types.ts index 8a2e51a00a4..89d3a9ce472 100644 --- a/packages/@sanity/types/src/reference/types.ts +++ b/packages/@sanity/types/src/reference/types.ts @@ -2,6 +2,7 @@ import {type SanityClient} from '@sanity/client' import {type SanityDocument} from '../documents' import {type Path} from '../paths' +import {type BaseSchemaTypeOptions} from '../schema' /** @public */ export interface Reference { @@ -56,7 +57,7 @@ export interface ReferenceFilterQueryOptions { } /** @public */ -export interface ReferenceBaseOptions { +export interface ReferenceBaseOptions extends BaseSchemaTypeOptions { disableNew?: boolean } diff --git a/packages/@sanity/types/src/schema/definition/type/array.ts b/packages/@sanity/types/src/schema/definition/type/array.ts index efecfdc1cfb..2a966859728 100644 --- a/packages/@sanity/types/src/schema/definition/type/array.ts +++ b/packages/@sanity/types/src/schema/definition/type/array.ts @@ -8,12 +8,17 @@ import { type IntrinsicTypeName, type TypeAliasDefinition, } from '../schemaDefinition' -import {type BaseSchemaDefinition, type SearchConfiguration, type TitledListValue} from './common' +import { + type BaseSchemaDefinition, + type BaseSchemaTypeOptions, + type SearchConfiguration, + type TitledListValue, +} from './common' export type {InsertMenuOptions} /** @public */ -export interface ArrayOptions extends SearchConfiguration { +export interface ArrayOptions extends SearchConfiguration, BaseSchemaTypeOptions { list?: TitledListValue[] | V[] // inferring the array.of value for ArrayDefinition cause too much code-noise and was removed. // Since we don't have the type-info needed here, we allow values diff --git a/packages/@sanity/types/src/schema/definition/type/block.ts b/packages/@sanity/types/src/schema/definition/type/block.ts index d1613dd53dd..7c045b7e58c 100644 --- a/packages/@sanity/types/src/schema/definition/type/block.ts +++ b/packages/@sanity/types/src/schema/definition/type/block.ts @@ -3,13 +3,13 @@ import {type ComponentType, type ReactNode} from 'react' import {type RuleDef, type ValidationBuilder} from '../../ruleBuilder' import {type InitialValueProperty} from '../../types' import {type ArrayOfType} from './array' -import {type BaseSchemaDefinition} from './common' +import {type BaseSchemaDefinition, type BaseSchemaTypeOptions} from './common' import {type ObjectDefinition} from './object' /** * Schema options for a Block schema definition * @public */ -export interface BlockOptions { +export interface BlockOptions extends BaseSchemaTypeOptions { /** * Turn on or off the builtin browser spellchecking. Default is on. */ diff --git a/packages/@sanity/types/src/schema/definition/type/boolean.ts b/packages/@sanity/types/src/schema/definition/type/boolean.ts index 9c5bf9ca6ae..30c0ef83ffd 100644 --- a/packages/@sanity/types/src/schema/definition/type/boolean.ts +++ b/packages/@sanity/types/src/schema/definition/type/boolean.ts @@ -1,9 +1,9 @@ import {type RuleDef, type ValidationBuilder} from '../../ruleBuilder' import {type InitialValueProperty} from '../../types' -import {type BaseSchemaDefinition} from './common' +import {type BaseSchemaDefinition, type BaseSchemaTypeOptions} from './common' /** @public */ -export interface BooleanOptions { +export interface BooleanOptions extends BaseSchemaTypeOptions { layout?: 'switch' | 'checkbox' } diff --git a/packages/@sanity/types/src/schema/definition/type/common.ts b/packages/@sanity/types/src/schema/definition/type/common.ts index 91e1c638965..b970f82e3fe 100644 --- a/packages/@sanity/types/src/schema/definition/type/common.ts +++ b/packages/@sanity/types/src/schema/definition/type/common.ts @@ -24,6 +24,33 @@ export type FieldGroupDefinition = { i18n?: I18nTextRecord<'title'> } +/** + * Options for configuring how Sanity Create interfaces with the type or field. + * + * @public + */ +export interface SanityCreateOptions { + /** Set to true to exclude a type or field from appearing in Sanity Create */ + exclude?: boolean + + /** + * A short description of what the type or field is used for. + * Purpose can be used to improve how and when content mapping uses the field. + * */ + purpose?: string +} + +/** + * `BaseOptions` applies to all type options. + * + * It can be extended by interface declaration merging in plugins to provide generic options to all types and fields. + * + * @public + * */ +export interface BaseSchemaTypeOptions { + sanityCreate?: SanityCreateOptions +} + /** @public */ export interface BaseSchemaDefinition { name: string diff --git a/packages/@sanity/types/src/schema/definition/type/date.ts b/packages/@sanity/types/src/schema/definition/type/date.ts index 7a234ffc00b..b76e17009dd 100644 --- a/packages/@sanity/types/src/schema/definition/type/date.ts +++ b/packages/@sanity/types/src/schema/definition/type/date.ts @@ -1,10 +1,10 @@ import {type FieldReference} from '../../../validation' import {type RuleDef, type ValidationBuilder} from '../../ruleBuilder' import {type InitialValueProperty} from '../../types' -import {type BaseSchemaDefinition} from './common' +import {type BaseSchemaDefinition, type BaseSchemaTypeOptions} from './common' /** @public */ -export interface DateOptions { +export interface DateOptions extends BaseSchemaTypeOptions { dateFormat?: string } diff --git a/packages/@sanity/types/src/schema/definition/type/datetime.ts b/packages/@sanity/types/src/schema/definition/type/datetime.ts index dcc102b2112..7cc85c042f0 100644 --- a/packages/@sanity/types/src/schema/definition/type/datetime.ts +++ b/packages/@sanity/types/src/schema/definition/type/datetime.ts @@ -1,10 +1,10 @@ import {type FieldReference} from '../../../validation' import {type RuleDef, type ValidationBuilder} from '../../ruleBuilder' import {type InitialValueProperty} from '../../types' -import {type BaseSchemaDefinition} from './common' +import {type BaseSchemaDefinition, type BaseSchemaTypeOptions} from './common' /** @public */ -export interface DatetimeOptions { +export interface DatetimeOptions extends BaseSchemaTypeOptions { dateFormat?: string timeFormat?: string timeStep?: number diff --git a/packages/@sanity/types/src/schema/definition/type/document.ts b/packages/@sanity/types/src/schema/definition/type/document.ts index 0783ada5cee..e567dd18b42 100644 --- a/packages/@sanity/types/src/schema/definition/type/document.ts +++ b/packages/@sanity/types/src/schema/definition/type/document.ts @@ -1,6 +1,7 @@ import {type SanityDocument} from '../../../documents/types' import {type RuleDef, type ValidationBuilder} from '../../ruleBuilder' import {type InitialValueProperty, type SortOrdering} from '../../types' +import {type BaseSchemaTypeOptions} from './common' import {type ObjectDefinition} from './object' /** @@ -9,7 +10,7 @@ import {type ObjectDefinition} from './object' * @public */ // eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface DocumentOptions {} +export interface DocumentOptions extends BaseSchemaTypeOptions {} /** @public */ // eslint-disable-next-line @typescript-eslint/no-empty-interface diff --git a/packages/@sanity/types/src/schema/definition/type/email.ts b/packages/@sanity/types/src/schema/definition/type/email.ts index d97efbbedd6..001c2a7672a 100644 --- a/packages/@sanity/types/src/schema/definition/type/email.ts +++ b/packages/@sanity/types/src/schema/definition/type/email.ts @@ -1,6 +1,6 @@ import {type RuleDef, type ValidationBuilder} from '../../ruleBuilder' import {type InitialValueProperty} from '../../types' -import {type BaseSchemaDefinition} from './common' +import {type BaseSchemaDefinition, type BaseSchemaTypeOptions} from './common' /** @public */ // eslint-disable-next-line @typescript-eslint/no-empty-interface @@ -9,7 +9,7 @@ export interface EmailRule extends RuleDef {} /** @public */ // only exists to support declaration extensions // eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface EmailOptions {} +export interface EmailOptions extends BaseSchemaTypeOptions {} /** @public */ export interface EmailDefinition extends BaseSchemaDefinition { diff --git a/packages/@sanity/types/src/schema/definition/type/geopoint.ts b/packages/@sanity/types/src/schema/definition/type/geopoint.ts index fa505eac894..2e3d00bfac3 100644 --- a/packages/@sanity/types/src/schema/definition/type/geopoint.ts +++ b/packages/@sanity/types/src/schema/definition/type/geopoint.ts @@ -1,6 +1,6 @@ import {type RuleDef, type ValidationBuilder} from '../../ruleBuilder' import {type InitialValueProperty} from '../../types' -import {type BaseSchemaDefinition} from './common' +import {type BaseSchemaDefinition, type BaseSchemaTypeOptions} from './common' /** * Geographical point representing a pair of latitude and longitude coordinates, @@ -37,7 +37,7 @@ export interface GeopointRule extends RuleDef {} /** @public */ // eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface GeopointOptions {} +export interface GeopointOptions extends BaseSchemaTypeOptions {} /** @public */ export interface GeopointDefinition extends BaseSchemaDefinition { diff --git a/packages/@sanity/types/src/schema/definition/type/number.ts b/packages/@sanity/types/src/schema/definition/type/number.ts index 19082922544..939383f240c 100644 --- a/packages/@sanity/types/src/schema/definition/type/number.ts +++ b/packages/@sanity/types/src/schema/definition/type/number.ts @@ -1,11 +1,11 @@ import {type FieldReference} from '../../../validation' import {type RuleDef, type ValidationBuilder} from '../../ruleBuilder' import {type InitialValueProperty} from '../../types' -import {type BaseSchemaDefinition, type EnumListProps} from './common' +import {type BaseSchemaDefinition, type BaseSchemaTypeOptions, type EnumListProps} from './common' /** @public */ // eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface NumberOptions extends EnumListProps {} +export interface NumberOptions extends EnumListProps, BaseSchemaTypeOptions {} /** @public */ export interface NumberRule extends RuleDef { diff --git a/packages/@sanity/types/src/schema/definition/type/object.ts b/packages/@sanity/types/src/schema/definition/type/object.ts index 3f8d94226b0..443bdf5d830 100644 --- a/packages/@sanity/types/src/schema/definition/type/object.ts +++ b/packages/@sanity/types/src/schema/definition/type/object.ts @@ -4,12 +4,13 @@ import {type InitialValueProperty} from '../../types' import {type FieldDefinition} from '../schemaDefinition' import { type BaseSchemaDefinition, + type BaseSchemaTypeOptions, type FieldGroupDefinition, type FieldsetDefinition, } from './common' /** @public */ -export interface ObjectOptions { +export interface ObjectOptions extends BaseSchemaTypeOptions { collapsible?: boolean collapsed?: boolean columns?: number diff --git a/packages/@sanity/types/src/schema/definition/type/slug.ts b/packages/@sanity/types/src/schema/definition/type/slug.ts index ca6edcc0242..cf1accd73d9 100644 --- a/packages/@sanity/types/src/schema/definition/type/slug.ts +++ b/packages/@sanity/types/src/schema/definition/type/slug.ts @@ -3,7 +3,7 @@ import {type SlugifierFn, type SlugSourceFn} from '../../../slug' import {type SlugIsUniqueValidator} from '../../../validation' import {type RuleDef, type ValidationBuilder} from '../../ruleBuilder' import {type InitialValueProperty} from '../../types' -import {type BaseSchemaDefinition} from './common' +import {type BaseSchemaDefinition, type BaseSchemaTypeOptions} from './common' /** @public */ export interface SlugValue { @@ -16,7 +16,7 @@ export interface SlugValue { export interface SlugRule extends RuleDef {} /** @public */ -export interface SlugOptions { +export interface SlugOptions extends BaseSchemaTypeOptions { source?: string | Path | SlugSourceFn maxLength?: number slugify?: SlugifierFn diff --git a/packages/@sanity/types/src/schema/definition/type/string.ts b/packages/@sanity/types/src/schema/definition/type/string.ts index 0b708079e3b..dd7ed8034eb 100644 --- a/packages/@sanity/types/src/schema/definition/type/string.ts +++ b/packages/@sanity/types/src/schema/definition/type/string.ts @@ -1,11 +1,19 @@ import {type FieldReference} from '../../../validation' import {type RuleDef, type ValidationBuilder} from '../../ruleBuilder' import {type InitialValueProperty} from '../../types' -import {type BaseSchemaDefinition, type EnumListProps, type SearchConfiguration} from './common' +import { + type BaseSchemaDefinition, + type BaseSchemaTypeOptions, + type EnumListProps, + type SearchConfiguration, +} from './common' /** @public */ // eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface StringOptions extends EnumListProps, SearchConfiguration {} +export interface StringOptions + extends EnumListProps, + SearchConfiguration, + BaseSchemaTypeOptions {} /** @public */ export interface StringRule extends RuleDef { diff --git a/packages/@sanity/types/src/schema/definition/type/url.ts b/packages/@sanity/types/src/schema/definition/type/url.ts index a8c6e2554bc..906314b21fd 100644 --- a/packages/@sanity/types/src/schema/definition/type/url.ts +++ b/packages/@sanity/types/src/schema/definition/type/url.ts @@ -1,7 +1,7 @@ import {type UriValidationOptions} from '../../../validation/types' import {type RuleDef, type ValidationBuilder} from '../../ruleBuilder' import {type InitialValueProperty} from '../../types' -import {type BaseSchemaDefinition} from './common' +import {type BaseSchemaDefinition, type BaseSchemaTypeOptions} from './common' /** @public */ export interface UrlRule extends RuleDef { @@ -11,7 +11,7 @@ export interface UrlRule extends RuleDef { /** @public */ // only exists to support declaration extensions // eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface UrlOptions {} +export interface UrlOptions extends BaseSchemaTypeOptions {} /** @public */ export interface UrlDefinition extends BaseSchemaDefinition { diff --git a/packages/@sanity/types/test/boolean.test.ts b/packages/@sanity/types/test/boolean.test.ts index 1ba1a92abc8..5cb0fc796a3 100644 --- a/packages/@sanity/types/test/boolean.test.ts +++ b/packages/@sanity/types/test/boolean.test.ts @@ -29,6 +29,9 @@ describe('boolean types', () => { hidden: () => false, options: { layout: 'checkbox', + sanityCreate: { + exclude: true, + }, }, }) diff --git a/packages/sanity/src/_singletons/context/SanityCreateConfigContext.tsx b/packages/sanity/src/_singletons/context/SanityCreateConfigContext.tsx new file mode 100644 index 00000000000..2f89b9833fa --- /dev/null +++ b/packages/sanity/src/_singletons/context/SanityCreateConfigContext.tsx @@ -0,0 +1,13 @@ +import {createContext} from 'sanity/_createContext' + +import type {SanityCreateConfigContextValue} from '../../core' + +/** + * @internal + */ +export const SanityCreateConfigContext = createContext( + 'sanity/_singletons/context/start-in-create-enabled', + { + startInCreateEnabled: false, + }, +) diff --git a/packages/sanity/src/_singletons/index.ts b/packages/sanity/src/_singletons/index.ts index 05761b9609f..6679e2e0282 100644 --- a/packages/sanity/src/_singletons/index.ts +++ b/packages/sanity/src/_singletons/index.ts @@ -47,6 +47,7 @@ export * from './context/ResourceCacheContext' export * from './context/ReviewChangesContext' export * from './context/RouterContext' export * from './context/RouterHistoryContext' +export * from './context/SanityCreateConfigContext' export * from './context/ScheduledPublishingEnabledContext' export * from './context/SchedulePublishingUpsellContext' export * from './context/Schedules' diff --git a/packages/sanity/src/core/config/__tests__/resolveConfig.test.ts b/packages/sanity/src/core/config/__tests__/resolveConfig.test.ts index 34cb13bea71..7eaed5a6dc6 100644 --- a/packages/sanity/src/core/config/__tests__/resolveConfig.test.ts +++ b/packages/sanity/src/core/config/__tests__/resolveConfig.test.ts @@ -162,6 +162,7 @@ describe('resolveConfig', () => { {name: 'sanity/comments'}, {name: 'sanity/tasks'}, {name: 'sanity/scheduled-publishing'}, + {name: 'sanity/create-integration'}, ]) }) @@ -188,6 +189,7 @@ describe('resolveConfig', () => { expect(workspace.__internal.options.plugins).toMatchObject([ {name: 'sanity/comments'}, {name: 'sanity/tasks'}, + {name: 'sanity/create-integration'}, ]) }) }) diff --git a/packages/sanity/src/core/config/configPropertyReducers.ts b/packages/sanity/src/core/config/configPropertyReducers.ts index c2b6a66205a..221ad852b12 100644 --- a/packages/sanity/src/core/config/configPropertyReducers.ts +++ b/packages/sanity/src/core/config/configPropertyReducers.ts @@ -391,3 +391,48 @@ export const legacySearchEnabledReducer: ConfigPropertyReducer { + const {config, initialValue} = opts + const flattenedConfig = flattenConfig(config, []) + + const result = flattenedConfig.reduce((acc, {config: innerConfig}) => { + const resolver = innerConfig.beta?.create?.startInCreateEnabled + + if (!resolver && typeof resolver !== 'boolean') return acc + if (typeof resolver === 'boolean') return resolver + + throw new Error( + `Expected \`beta.create.startInCreateEnabled\` to be a boolean, but received ${getPrintableType( + resolver, + )}`, + ) + }, initialValue) + + return result +} + +export const createFallbackOriginReducer = (config: PluginOptions): string | undefined => { + const flattenedConfig = flattenConfig(config, []) + + const result = flattenedConfig.reduce( + (acc, {config: innerConfig}) => { + const resolver = innerConfig.beta?.create?.fallbackStudioOrigin + + if (!resolver) return acc + if (typeof resolver === 'string') return resolver + + throw new Error( + `Expected \`beta.create.fallbackStudioOrigin\` to be a string, but received ${getPrintableType( + resolver, + )}`, + ) + }, + undefined as string | undefined, + ) + + return result +} diff --git a/packages/sanity/src/core/config/create/__tests__/startInCreateSortedActions.test.ts b/packages/sanity/src/core/config/create/__tests__/startInCreateSortedActions.test.ts new file mode 100644 index 00000000000..ccc2cecc84b --- /dev/null +++ b/packages/sanity/src/core/config/create/__tests__/startInCreateSortedActions.test.ts @@ -0,0 +1,40 @@ +import {describe, expect, it} from 'vitest' + +import {type DocumentActionComponent} from '../../document/actions' +import { + getStartInCreateSortedActions, + START_IN_CREATE_ACTION_NAME, +} from '../startInCreateSortedActions' + +describe('getStartInCreateSortedActions', () => { + it(`sorts "Start in Create" action first`, async () => { + const StartInCreateAction: DocumentActionComponent = () => { + return null + } + StartInCreateAction.action = START_IN_CREATE_ACTION_NAME + + const Action1: DocumentActionComponent = () => { + return null + } + const Action2: DocumentActionComponent = () => { + return null + } + + const actions = [Action1, Action2, StartInCreateAction] + const sortedActions = getStartInCreateSortedActions(actions) + expect(sortedActions).toEqual([StartInCreateAction, Action1, Action2]) + }) + + it(`leaves actions untouched when "Start in Create" actions is not present`, async () => { + const Action1: DocumentActionComponent = () => { + return null + } + const Action2: DocumentActionComponent = () => { + return null + } + + const actions = [Action1, Action2] + const sortedActions = getStartInCreateSortedActions(actions) + expect(sortedActions).toEqual([Action1, Action2]) + }) +}) diff --git a/packages/sanity/src/core/config/create/startInCreateSortedActions.ts b/packages/sanity/src/core/config/create/startInCreateSortedActions.ts new file mode 100644 index 00000000000..0f3938722ab --- /dev/null +++ b/packages/sanity/src/core/config/create/startInCreateSortedActions.ts @@ -0,0 +1,23 @@ +//this file has to live here to avoid cyclic dependencies between config<->create +import {type DocumentActionComponent} from '../document' + +// The "Start in Create" action must be sorted first, so we need a sort key; the action string – +// we also don't want this string in the config interfaces, so we need the cheeky cast to smuggle it through +export const START_IN_CREATE_ACTION_NAME = + 'startInCreate' as unknown as DocumentActionComponent['action'] + +/** + * Sorts "Start in Create" action first, when present + */ +export function getStartInCreateSortedActions( + actions: DocumentActionComponent[], +): DocumentActionComponent[] { + return [...actions].sort((a, b) => { + if (a.action === START_IN_CREATE_ACTION_NAME) { + return -1 + } else if (b.action === START_IN_CREATE_ACTION_NAME) { + return 1 + } + return 0 + }) +} diff --git a/packages/sanity/src/core/config/prepareConfig.ts b/packages/sanity/src/core/config/prepareConfig.ts index 054250acc5b..dbc82006572 100644 --- a/packages/sanity/src/core/config/prepareConfig.ts +++ b/packages/sanity/src/core/config/prepareConfig.ts @@ -25,6 +25,7 @@ import {operatorDefinitions} from '../studio/components/navbar/search/definition import {type InitialValueTemplateItem, type Template, type TemplateItem} from '../templates' import {EMPTY_ARRAY, isNonNullable} from '../util' import { + createFallbackOriginReducer, documentActionsReducer, documentBadgesReducer, documentCommentsEnabledReducer, @@ -42,9 +43,11 @@ import { partialIndexingEnabledReducer, resolveProductionUrlReducer, schemaTemplatesReducer, + startInCreateEnabledReducer, toolsReducer, } from './configPropertyReducers' import {ConfigResolutionError} from './ConfigResolutionError' +import {getStartInCreateSortedActions} from './create/startInCreateSortedActions' import {createDefaultIcon} from './createDefaultIcon' import {documentFieldActionsReducer, initialDocumentFieldActions} from './document' import {resolveConfigProperty} from './resolveConfigProperty' @@ -495,14 +498,16 @@ function resolveSource({ config, }), document: { - actions: (partialContext) => - resolveConfigProperty({ + actions: (partialContext) => { + const actions = resolveConfigProperty({ config, context: {...context, ...partialContext}, initialValue: initialDocumentActions, propertyName: 'document.actions', reducer: documentActionsReducer, - }), + }) + return getStartInCreateSortedActions(actions) + }, badges: (partialContext) => resolveConfigProperty({ config, @@ -648,6 +653,10 @@ function resolveSource({ // This beta feature is no longer available. enabled: false, }, + create: { + startInCreateEnabled: startInCreateEnabledReducer({config, initialValue: false}), + fallbackStudioOrigin: createFallbackOriginReducer(config), + }, }, } diff --git a/packages/sanity/src/core/config/resolveDefaultPlugins.ts b/packages/sanity/src/core/config/resolveDefaultPlugins.ts index 2e79260b243..b567b8f839a 100644 --- a/packages/sanity/src/core/config/resolveDefaultPlugins.ts +++ b/packages/sanity/src/core/config/resolveDefaultPlugins.ts @@ -1,4 +1,5 @@ import {comments} from '../comments/plugin' +import {createIntegration} from '../create/createIntegrationPlugin' import {DEFAULT_SCHEDULED_PUBLISH_PLUGIN_OPTIONS} from '../scheduledPublishing/constants' import {SCHEDULED_PUBLISHING_NAME, scheduledPublishing} from '../scheduledPublishing/plugin' import {tasks, TASKS_NAME} from '../tasks/plugin' @@ -9,7 +10,7 @@ import { type WorkspaceOptions, } from './types' -const defaultPlugins = [comments(), tasks(), scheduledPublishing()] +const defaultPlugins = [comments(), tasks(), scheduledPublishing(), createIntegration()] export function getDefaultPlugins( options: DefaultPluginsWorkspaceOptions, diff --git a/packages/sanity/src/core/config/types.ts b/packages/sanity/src/core/config/types.ts index 5903b68b763..2d1beb7db52 100644 --- a/packages/sanity/src/core/config/types.ts +++ b/packages/sanity/src/core/config/types.ts @@ -388,10 +388,12 @@ export interface PluginOptions { */ enableLegacySearch?: boolean } + /** Configuration for studio beta features. * @internal */ beta?: BetaFeatures + /** Configuration for error handling. * @beta */ @@ -917,4 +919,41 @@ interface BetaFeatures { */ enabled: boolean } + + /** + * @beta + */ + create?: { + /** + * When true, a "Start in Sanity Create" action will be shown for all new documents, in place of regular document actions, + * when the following are true: + * - the origin of the current url is listed under Studios in sanity.to/manage (OR fallbackStudioOrigin is provided) + * - [origin]/static/create-manifest.json is available over HTTP GET + * + * The manifest file is automatically created and deployed when deploying studios with `sanity deploy` + * + * @see #fallbackStudioOrigin + */ + startInCreateEnabled?: boolean + + /** + * To show the "Start in Create" button on localhost, or in studios not listed under Studios in sanity.io/manage + * provide a fallback origin as a string. + * + * The string must be the exactly equal `name` as shown for the Studio in manage, and the studio must have create-manifest.json available. + * + * If the provided fallback Studio does not expose create-manifest.json "Start in Sanity Create" will fail when using the fallback. + * + * Example: `wonderful.sanity.studio` + * + * Keep in mind that when fallback origin is used, Sanity Create will used the schema types and dataset in the *deployed* Studio, + * not from localhost. + * + * To see data synced from Sanity Create in your localhost Studio, you must ensure that the deployed fallback studio uses the same + * workspace and schemas as your local configuration. + * + * @see #startInCreateEnabled + */ + fallbackStudioOrigin?: string + } } diff --git a/packages/sanity/src/core/create/__telemetry__/create.telemetry.ts b/packages/sanity/src/core/create/__telemetry__/create.telemetry.ts new file mode 100644 index 00000000000..d950e671b59 --- /dev/null +++ b/packages/sanity/src/core/create/__telemetry__/create.telemetry.ts @@ -0,0 +1,32 @@ +import {defineEvent} from '@sanity/telemetry' + +export const CreateDocumentLinkCtaClicked = defineEvent({ + name: 'Create Document Link CTA Clicked', + version: 1, + description: 'The "Start in Sanity Create" button is clicked.', +}) + +export const CreateDocumentLinkAccepted = defineEvent({ + name: 'Create Document Link Accepted', + version: 1, + description: + 'Continue in the "Start in Sanity Create" dialog was pressed, or auto-confirm was enabled.', +}) + +export const CreateDocumentUnlinkCtaClicked = defineEvent({ + name: 'Create Document Unlink CTA Clicked', + version: 1, + description: 'The Unlink action was clicked', +}) + +export const CreateDocumentUnlinkApproved = defineEvent({ + name: 'Create Document Unlink Approved', + version: 1, + description: 'User confirmed that they want the Studio document unlinked', +}) + +export const CreateDocumentOpened = defineEvent({ + name: 'Create Document Opened', + version: 1, + description: 'User clicked "Edit in Create"', +}) diff --git a/packages/sanity/src/core/create/__tests__/createDocumentUrl.test.ts b/packages/sanity/src/core/create/__tests__/createDocumentUrl.test.ts new file mode 100644 index 00000000000..4fffbf93f88 --- /dev/null +++ b/packages/sanity/src/core/create/__tests__/createDocumentUrl.test.ts @@ -0,0 +1,70 @@ +import {describe, expect, it} from 'vitest' + +import {getCreateDocumentUrl, getCreateLinkUrl} from '../createDocumentUrls' +import {type CreateLinkMetadata} from '../types' + +describe('createDocumentUrls', () => { + describe('getCreateDocumentUrl', () => { + it(`returns Create prod document url`, async () => { + const metadata: CreateLinkMetadata = { + _id: 'id', + dataset: 'dataset', + ejected: false, + } + expect(getCreateDocumentUrl(metadata)).toEqual('https://www.sanity.io/app/create/dataset/id') + }) + + it(`returns Create staging document url`, async () => { + const metadata: CreateLinkMetadata = { + _id: 'id', + dataset: 'dataset', + ejected: false, + host: 'https://www.sanity.work', + } + expect(getCreateDocumentUrl(metadata)).toEqual( + 'https://create-staging.sanity.build/app/create/dataset/id', + ) + }) + }) + + describe('getCreateLinkUrl', () => { + it(`returns Create prod create link url`, async () => { + expect( + getCreateLinkUrl({ + docId: 'id', + documentType: 'documentType', + appId: 'appId', + projectId: 'projectId', + workspaceName: 'workspace', + }), + ).toEqual( + 'https://www.sanity.io/app/create/studio-import?' + + 'projectId=projectId&' + + 'applicationId=appId&' + + 'workspaceName=workspace&' + + 'documentType=documentType&' + + 'documentId=id', + ) + }) + + it(`returns Create staging create link url`, async () => { + expect( + getCreateLinkUrl({ + docId: 'id', + documentType: 'documentType', + appId: 'appId', + projectId: 'projectId', + workspaceName: 'workspace', + customHost: 'https://www.sanity.work', + }), + ).toEqual( + 'https://create-staging.sanity.build/app/create/studio-import?' + + 'projectId=projectId&' + + 'applicationId=appId&' + + 'workspaceName=workspace&' + + 'documentType=documentType&' + + 'documentId=id', + ) + }) + }) +}) diff --git a/packages/sanity/src/core/create/components/CreateIntegrationWrapper.tsx b/packages/sanity/src/core/create/components/CreateIntegrationWrapper.tsx new file mode 100644 index 00000000000..9d6fb12b88e --- /dev/null +++ b/packages/sanity/src/core/create/components/CreateIntegrationWrapper.tsx @@ -0,0 +1,6 @@ +import {type LayoutProps} from '../../config' +import {SanityCreateConfigProvider} from '../context/SanityCreateConfigProvider' + +export function CreateIntegrationWrapper(props: LayoutProps) { + return {props.renderDefault(props)} +} diff --git a/packages/sanity/src/core/create/components/CreateLearnMoreButton.tsx b/packages/sanity/src/core/create/components/CreateLearnMoreButton.tsx new file mode 100644 index 00000000000..c01110e95ae --- /dev/null +++ b/packages/sanity/src/core/create/components/CreateLearnMoreButton.tsx @@ -0,0 +1,25 @@ +import {LaunchIcon} from '@sanity/icons' +import {type ForwardedRef, forwardRef} from 'react' + +import {Button} from '../../../ui-components' +import {useTranslation} from '../../i18n' +import {createLocaleNamespace} from '../i18n' + +export const CreateLearnMoreButton = forwardRef(function CreateLearnMoreButton( + props, + ref: ForwardedRef, +) { + const {t} = useTranslation(createLocaleNamespace) + return ( + + {troubleshootingOpen && ( + + + {t('linking-in-progress-dialog.troubleshooting.content')} + + + )} + + + + + ) +} diff --git a/packages/sanity/src/core/create/start-in-create/StartInCreateAction.tsx b/packages/sanity/src/core/create/start-in-create/StartInCreateAction.tsx new file mode 100644 index 00000000000..d4f0275be97 --- /dev/null +++ b/packages/sanity/src/core/create/start-in-create/StartInCreateAction.tsx @@ -0,0 +1,92 @@ +import {useCallback, useState} from 'react' + +import { + type DocumentActionComponent, + type DocumentActionDescription, + type DocumentActionProps, +} from '../../config' +import {START_IN_CREATE_ACTION_NAME} from '../../config/create/startInCreateSortedActions' +import {useTranslation} from '../../i18n' +import {useSchemaType} from '../../scheduledPublishing/hooks/useSchemaType' +import {isStartInCreateAutoConfirmed, setStartInCreateAutoConfirm} from '../createStorage' +import {isSanityCreateExcludedType} from '../createUtils' +import {createLocaleNamespace} from '../i18n' +import {type AppIdCache} from '../studio-app/appIdCache' +import {useStudioAppIdStore} from '../studio-app/useStudioAppIdStore' +import {type CreateLinkedSanityDocument} from '../types' +import {useSanityCreateTelemetry} from '../useSanityCreateTelemetry' +import {CreateLinkingDialog} from './CreateLinkingDialog' +import {StartInCreateDialog} from './StartInCreateDialog' + +export function createStartInCreateAction(appIdCache: AppIdCache): DocumentActionComponent { + const StartInCreateActionWrapper: DocumentActionComponent = function StartInCreateActionWrapper( + props: DocumentActionProps, + ): DocumentActionDescription | null { + return StartInCreateAction({appIdCache, ...props}) + } + + StartInCreateActionWrapper.action = START_IN_CREATE_ACTION_NAME + return StartInCreateActionWrapper +} + +export function StartInCreateAction( + props: DocumentActionProps & {appIdCache: AppIdCache}, +): DocumentActionDescription | null { + const {id, type, draft, liveEdit, published, appIdCache} = props + const doc = (draft ?? published) as CreateLinkedSanityDocument + + const {appId} = useStudioAppIdStore(appIdCache) + const {t} = useTranslation(createLocaleNamespace) + const schemaType = useSchemaType(type) + const telemetry = useSanityCreateTelemetry() + + const [isDialogOpen, setDialogOpen] = useState(false) + const [isLinking, setLinking] = useState(false) + const [autoConfirm, setAutoConfirm] = useState(() => isStartInCreateAutoConfirmed()) + const closeDialog = useCallback(() => setDialogOpen(false), []) + + const linkingStarted = useCallback((dontShowAgain: boolean) => { + setStartInCreateAutoConfirm(dontShowAgain) + setAutoConfirm(dontShowAgain) + setLinking(true) + }, []) + + const isExcludedByOption = schemaType && isSanityCreateExcludedType(schemaType) + const createLinkId = (draft?._id ?? published?._id ?? liveEdit) ? id : `drafts.${id}` + + //appId will always be undefined when start in create is disabled via config + if (isExcludedByOption || !appId || doc?._createdAt) { + return null + } + + return { + label: t('start-in-create-action.label'), + dialog: isLinking + ? { + type: 'custom', + component: , + } + : isDialogOpen && { + type: 'dialog', + onClose: closeDialog, + header: t('start-in-create-dialog.header'), + width: 'small', + content: ( + + ), + }, + onHandle: () => { + if (!isDialogOpen) { + telemetry.linkCtaClicked() + } + setDialogOpen(true) + }, + tone: 'default', + } +} diff --git a/packages/sanity/src/core/create/start-in-create/StartInCreateDialog.tsx b/packages/sanity/src/core/create/start-in-create/StartInCreateDialog.tsx new file mode 100644 index 00000000000..962f4b4a5d1 --- /dev/null +++ b/packages/sanity/src/core/create/start-in-create/StartInCreateDialog.tsx @@ -0,0 +1,88 @@ +import {LaunchIcon} from '@sanity/icons' +import {Checkbox, Flex, Stack, Text, useToast} from '@sanity/ui' +import {useCallback, useEffect, useId, useState} from 'react' + +import {Button} from '../../../ui-components' +import {useTranslation} from '../../i18n' +import {useWorkspace} from '../../studio' +import {CreateLearnMoreButton} from '../components/CreateLearnMoreButton' +import {CreateSvg} from '../components/media/CreateSvg' +import {getCreateLinkUrl} from '../createDocumentUrls' +import {createLocaleNamespace} from '../i18n' +import {useSanityCreateTelemetry} from '../useSanityCreateTelemetry' + +export interface StartInCreateDialogProps { + createLinkId: string + appId: string + type: string + onLinkingStarted: (autoConfirm: boolean) => void + autoConfirm: boolean +} + +export function StartInCreateDialog(props: StartInCreateDialogProps) { + const {createLinkId, appId, type, onLinkingStarted, autoConfirm} = props + const {t} = useTranslation(createLocaleNamespace) + const checkboxId = useId() + const [dontShowAgain, setDontShowAgain] = useState(false) + + const telemetry = useSanityCreateTelemetry() + const toggleDontShowAgain = useCallback(() => setDontShowAgain((current) => !current), []) + + const {push: pushToast} = useToast() + const workspace = useWorkspace() + + const createUrl = getCreateLinkUrl({ + projectId: workspace.projectId, + appId, + workspaceName: workspace.name, + documentType: type, + docId: createLinkId, + }) + + const startLinking = useCallback(() => { + if (!createUrl) { + pushToast({ + title: t('start-in-create-dialog.error-toast.unresolved-url'), + status: 'warning', + }) + return + } + + window?.open(createUrl, '_blank')?.focus() + onLinkingStarted(autoConfirm || dontShowAgain) + telemetry.linkAccepted() + }, [createUrl, onLinkingStarted, pushToast, t, dontShowAgain, autoConfirm, telemetry]) + + useEffect(() => { + if (autoConfirm && createUrl) { + startLinking() + } + }, [autoConfirm, startLinking, createUrl]) + + return ( + + + + {t('start-in-create-dialog.lede')} + + + {t('start-in-create-dialog.details')} + + + + + {t('start-in-create-dialog.dont-remind-me-checkbox')} + + + + +