Files
supabase/apps/docs/package.json
T
Brian-AnandDanny White f1082e28c7 chore: migrate Framer Motion imports to Motion (#51520)
## Problem

Closes #31221.
The applications and shared UI packages still import the former
`framer-motion` package instead of Motion's React entry point.

## Solution

Replace runtime imports, type imports, and three test mocks with
`motion/react` across the consuming workspaces.
Replace the seven direct dependency declarations with `motion:
^11.18.2`.
Preserve the existing animation engine version and all other dependency
resolutions, including the asynchronous `domMax` feature loader.
Historical blog examples remain as published; `framer-motion` remains a
transitive implementation dependency of Motion.

## Review instructions

1. Run `pnpm install --frozen-lockfile` and check the seven dependency
replacements in the lockfile.
2. Open the WWW Auth page and Docs homepage at desktop and mobile
widths, with normal and reduced motion preferences.
3. Open the mobile navigation, expand Product on WWW, and close the menu
using Escape and the close button.
4. Check the existing animation components, shared form validation, and
Studio tests for unchanged behavior.

Validation:

- Studio: 731 test files, 8,334 passing tests and one expected failure,
with `--maxWorkers=4`.
- Shared UI, UI patterns, WWW, and UI library: 615 passing tests.
- `pnpm run typecheck --concurrency=1`: all 16 repository tasks pass.
- All six application source lint scripts and lint ratchets pass;
generated Docs example copies are excluded from local lint.
- Repository Prettier source check, lockfile formatting, and case hazard
check pass.
- WWW: 10 existing end-to-end checks across nine pages.
- Docs: 5 existing guide link and accessibility checks across Database
and Auth.
- WWW and Docs mobile navigation pass at desktop/mobile sizes with
normal/reduced motion; SQL-to-REST translation tabs exercise the
asynchronous feature loader without browser errors.
- Frozen-lockfile installation passes; all existing package and snapshot
resolutions are unchanged.
- Learn and UI library command palettes open, filter results, and close
with Escape without browser errors.
- Independent code review finds no actionable defects.
- `npm run build -- --filter=www --filter=docs --filter=studio
--filter=learn --filter=library --concurrency=1 --continue=always`: all
five affected applications build successfully (9 tasks including
prerequisites); asset uploads disabled for local validation.

## Checklist

- [x] I have read
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
- [x] If I wrote a new docs topic or edited an existing topic, I used
the `/write-the-docs` or `/edit-the-docs` skill, which applies the docs
[style
guide](https://github.com/supabase/supabase/tree/master/apps/docs/style-guide)
(no docs topics changed)

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2026-10-14 07:16:00 +00:00

187 lines
7.7 KiB
JSON

{
"name": "docs",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"build": "next build",
"build:analyze": "ANALYZE=true next build",
"build:guides-markdown": "tsx ./internals/generate-guides-markdown.ts",
"build:federated-content": "tsx --conditions=react-server ./scripts/federated-content/fetch-federated-content.ts",
"prebuild:reference-markdown": "pnpm run codegen:references",
"build:reference-markdown": "tsx ./internals/generate-reference-markdown.ts",
"build:markdown": "pnpm build:guides-markdown && pnpm build:reference-markdown",
"build:gz-archive": "tsx ./internals/generate-gz-archive.ts",
"build:sitemap": "tsx ./internals/generate-sitemap.ts",
"clean": "rimraf .next .turbo features/docs/generated examples __generated__ tsconfig.tsbuildinfo",
"codegen:examples": "shx cp -r ../../examples ./examples",
"codegen:graphql": "tsx --conditions=react-server ./scripts/graphqlSchema.ts && graphql-codegen --config codegen.ts",
"codegen:references:new:ensure": "(test -f spec/reference/javascript/v2/supabase.json || (cd spec && make download.tsdoc.v2)) && (test -f spec/reference/server/v1/server.json || (cd spec && make download.server.v1)) && (test -f spec/reference/middleware/v1/middleware.json || (cd spec && make download.middleware.v1))",
"codegen:references:dart": "tsx scripts/generate-dart-reference.ts",
"precodegen:references:new": "pnpm run codegen:references:new:ensure && pnpm run codegen:references:dart",
"codegen:references:new": "pnpm run codegen:references:new:ensure && tsx scripts/build-reference-content.ts",
"codegen:references:legacy": "tsx features/docs/Reference.generated.script.ts",
"codegen:references": "pnpm codegen:references:legacy && pnpm codegen:references:new",
"dev": "next dev --port 3001",
"dev:secrets:pull": "AWS_PROFILE=supa-dev node ../../scripts/getSecrets.js -n local/docs",
"embeddings": "tsx --conditions=react-server scripts/search/generate-embeddings.ts",
"embeddings:nimbus": "ENABLED_FEATURES_OVERRIDE_DISABLE_ALL=true pnpm run embeddings",
"embeddings:refresh": "pnpm run embeddings --refresh",
"embeddings:nimbus:refresh": "ENABLED_FEATURES_OVERRIDE_DISABLE_ALL=true pnpm run embeddings:refresh",
"last-changed": "tsx scripts/last-changed.ts",
"last-changed:reset": "pnpm run last-changed -- --reset",
"lint": "eslint .",
"lint:ratchet": "tsx node_modules/eslint-config-supabase/ratchet-eslint-rules.ts --rules-file node_modules/eslint-config-supabase/ratchet-rules.json",
"postbuild": "pnpm run build:sitemap && ./../../scripts/upload-static-assets.sh",
"prebuild": "pnpm run codegen:graphql && pnpm run codegen:references && pnpm run codegen:examples && pnpm build:federated-content && pnpm run build:markdown && pnpm run build:gz-archive",
"predev": "pnpm run codegen:graphql && pnpm run codegen:references && pnpm run codegen:examples",
"preembeddings": "pnpm run codegen:references",
"preinstall": "npx only-allow pnpm",
"presearch-v2:ingest": "pnpm run build:guides-markdown",
"presync": "pnpm run codegen:graphql",
"pretest": "pnpm run codegen:examples",
"pretypecheck": "pnpm run codegen:graphql && next typegen",
"search-v2:ingest": "tsx scripts/search_v2/ingest.ts",
"start": "next start",
"sync": "tsx --conditions=react-server ./resources/rootSync.ts",
"test": "pnpm supabase start && pnpm run test:local && pnpm supabase stop",
"test:local": "vitest --exclude \"**/*.smoke.test.ts\"",
"test:local:unwatch": "vitest --exclude \"**/*.smoke.test.ts\" --run",
"test:smoke": "pnpm run codegen:references && vitest -t \"prod smoke test\"",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@har-sdk/openapi-sampler": "^2.2.0",
"@hookform/resolvers": "^3.1.1",
"@mdx-js/loader": "^3.0.0",
"@mdx-js/react": "^3.0.0",
"@next/bundle-analyzer": "15.3.1",
"@next/mdx": "15.3.1",
"@octokit/auth-app": "^7.0.0",
"@octokit/core": "^7.0.6",
"@octokit/graphql": "^8.0.0",
"@octokit/plugin-retry": "^8.1.0",
"@sentry/nextjs": "catalog:",
"@supabase/supabase-js": "catalog:",
"@tanstack/react-query": "~5.83.0",
"acorn": "^8.11.3",
"acorn-typescript": "^1.4.13",
"ai-commands": "workspace:*",
"beautiful-mermaid": "^1.1.3",
"class-variance-authority": "^0.7.1",
"common": "workspace:*",
"common-tags": "^1.8.2",
"config": "workspace:*",
"dev-tools": "workspace:*",
"eslint-config-supabase": "workspace:*",
"github-slugger": "^2.0.0",
"graphql": "^16.10.0",
"graphql-validation-complexity": "^0.4.2",
"gray-matter": "^4.0.3",
"hast-util-has-property": "^2.0.1",
"hast-util-to-html": "^9.0.5",
"icons": "workspace:*",
"isbot": "^5.1.2",
"js-yaml": "^3.14.2",
"jsrsasign": "^11.0.0",
"katex": "^0.16.21",
"libpg-query": "15.2.0",
"lodash-es": "catalog:",
"lucide-react": "*",
"mdast": "^3.0.0",
"mdast-util-from-markdown": "^1.2.0",
"mdast-util-gfm": "^2.0.2",
"mdast-util-mdx": "^2.0.0",
"mdast-util-mdx-jsx": "^2.0.0",
"mdast-util-to-hast": "^12.3.0",
"mdast-util-to-markdown": "^1.5.0",
"mdast-util-to-string": "^3.1.1",
"micromark-extension-gfm": "^2.0.3",
"micromark-extension-mdxjs": "^1.0.0",
"motion": "catalog:",
"next": "^15.5.24",
"next-mdx-remote-client": "^1.1.7",
"next-plugin-yaml": "^1.0.1",
"next-themes": "catalog:",
"nuqs": "^1.19.1",
"openai": "^4.75.1",
"openapi-fetch": "0.12.4",
"radix-ui": "catalog:",
"react": "catalog:",
"react-copy-to-clipboard": "^5.1.0",
"react-dom": "catalog:",
"react-error-boundary": "^4.0.12",
"react-hook-form": "^7.71.2",
"react-intersection-observer": "^9.5.3",
"react-markdown": "^10.1.0",
"react-use": "^17.5.0",
"rehype-katex": "^7.0.0",
"rehype-slug": "^5.1.0",
"remark": "^14.0.2",
"remark-emoji": "^3.1.2",
"remark-gfm": "^4.0.0",
"remark-math": "^6.0.0",
"server-only": "^0.0.1",
"shared-data": "workspace:*",
"ui": "workspace:*",
"ui-patterns": "workspace:*",
"unist-builder": "^3.0.1",
"unist-util-filter": "^4.0.1",
"unist-util-visit": "^4.1.2",
"uuid": "^14.0.0",
"valtio": "catalog:",
"yaml": "^2.8.1",
"zod": "catalog:"
},
"devDependencies": {
"@babel/core": "*",
"@graphiql/toolkit": "^0.9.1",
"@graphql-codegen/cli": "5.0.5",
"@graphql-codegen/typescript": "4.1.6",
"@graphql-codegen/typescript-resolvers": "4.5.0",
"@redocly/cli": "^2.26.0",
"@testing-library/react": "^16.3.3",
"@types/common-tags": "^1.8.4",
"@types/estree": "1.0.5",
"@types/graphql-validation-complexity": "^0.4.4",
"@types/hast": "^2.3.4",
"@types/jsrsasign": "^10.5.12",
"@types/lodash-es": "^4.17.12",
"@types/mdast": "^3.0.0",
"@types/node": "catalog:",
"@types/react": "catalog:",
"@types/react-copy-to-clipboard": "^5.0.4",
"@types/react-dom": "catalog:",
"@types/unist": "^2.0.6",
"@typescript/native": "catalog:",
"amaro": "^1.1.5",
"api-types": "workspace:*",
"cheerio": "^1.0.0-rc.12",
"config": "workspace:*",
"dotenv": "^16.0.3",
"ejs": "^3.1.10",
"fast-glob": "^3.3.3",
"globby": "^13.2.2",
"graphiql": "^4.0.2",
"openapi-types": "^12.1.3",
"postcss": "catalog:",
"remark-frontmatter": "^5.0.0",
"remark-parse": "^11.0.0",
"shiki": "^3.2.1",
"shx": "^0.4.0",
"simple-git": "^3.24.0",
"slugify": "^1.6.6",
"smol-toml": "^1.3.1",
"tailwindcss": "catalog:",
"tar": "^7.5.21",
"tsconfig": "workspace:*",
"tsx": "catalog:",
"twoslash": "^0.3.1",
"typescript": "catalog:",
"unified": "^11.0.5",
"unist-util-visit-parents": "5.1.3",
"vite": "catalog:",
"vitest": "catalog:"
}
}