From b9c06eb74ef8f3c8f81d842bb680eff520009a52 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Dec 2024 01:11:43 -0800 Subject: [PATCH 1/7] Bump Next.js (#4550) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/package.json | 2 +- package.json | 2 +- packages/toolpad-core/package.json | 2 +- playground/nextjs-pages/package.json | 4 +- playground/nextjs/package.json | 4 +- pnpm-lock.yaml | 258 +++++++++++++-------------- 6 files changed, 136 insertions(+), 136 deletions(-) diff --git a/docs/package.json b/docs/package.json index bb730a927d8..b87e5296328 100644 --- a/docs/package.json +++ b/docs/package.json @@ -67,7 +67,7 @@ "lodash": "4.17.21", "lz-string": "1.5.0", "markdown-to-jsx": "7.7.0", - "next": "^14.2.20", + "next": "^14.2.21", "nprogress": "0.2.0", "postcss": "8.4.49", "prismjs": "1.29.0", diff --git a/package.json b/package.json index b6d4dd03ed9..62302572d3e 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "@mui/internal-scripts": "1.0.30", "@mui/monorepo": "github:mui/material-ui#3570a80975bbd83bfcd0927c34faaf5fe777b5ff", "@mui/x-charts": "7.22.2", - "@next/eslint-plugin-next": "14.2.20", + "@next/eslint-plugin-next": "14.2.21", "@playwright/test": "1.47.2", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "16.0.1", diff --git a/packages/toolpad-core/package.json b/packages/toolpad-core/package.json index b7a2b2123c4..604d8a528ec 100644 --- a/packages/toolpad-core/package.json +++ b/packages/toolpad-core/package.json @@ -73,7 +73,7 @@ "@types/react-dom": "18.3.1", "@types/sinon": "^17.0.3", "@vitest/browser": "2.1.7", - "next": "^15.0.4", + "next": "^15.1.2", "next-router-mock": "^0.9.13", "playwright": "^1.47.2", "react-router-dom": "6.26.2", diff --git a/playground/nextjs-pages/package.json b/playground/nextjs-pages/package.json index 9dcedb29c27..f48669558d0 100644 --- a/playground/nextjs-pages/package.json +++ b/playground/nextjs-pages/package.json @@ -15,8 +15,8 @@ "@toolpad/core": "workspace:*", "@types/react": "18.3.18", "@types/react-dom": "18.3.1", - "eslint-config-next": "15.0.4", - "next": "15.0.4", + "eslint-config-next": "15.1.2", + "next": "15.1.2", "next-auth": "5.0.0-beta.25", "react": "18.3.1", "react-dom": "18.3.1" diff --git a/playground/nextjs/package.json b/playground/nextjs/package.json index 02f1ae24cd1..1a43698a32f 100644 --- a/playground/nextjs/package.json +++ b/playground/nextjs/package.json @@ -16,8 +16,8 @@ "@types/node": "^20.17.6", "@types/react": "18.3.18", "@types/react-dom": "18.3.1", - "eslint-config-next": "15.0.4", - "next": "15.0.4", + "eslint-config-next": "15.1.2", + "next": "15.1.2", "next-auth": "5.0.0-beta.25", "react": "18.3.1", "react-dom": "18.3.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67911428a05..73c24e6388a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -107,8 +107,8 @@ importers: specifier: 7.22.2 version: 7.22.2(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@mui/material@6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mui/system@6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@next/eslint-plugin-next': - specifier: 14.2.20 - version: 14.2.20 + specifier: 14.2.21 + version: 14.2.21 '@playwright/test': specifier: 1.47.2 version: 1.47.2 @@ -294,7 +294,7 @@ importers: version: 5.0.0-beta.67(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mui/docs': specifier: 6.2.1 - version: 6.2.1(x43f62rk27uyul4byumexdvu2u) + version: 6.2.1(wopobyujwuhvxg6p5iwz22urga) '@mui/icons-material': specifier: 6.2.1 version: 6.2.1(@mui/material@6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.18)(react@18.3.1) @@ -312,7 +312,7 @@ importers: version: 6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mui/material-nextjs': specifier: 6.2.1 - version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@mui/styles': specifier: 6.2.1 version: 6.2.1(@types/react@18.3.18)(react@18.3.1) @@ -419,8 +419,8 @@ importers: specifier: 7.7.0 version: 7.7.0(react@18.3.1) next: - specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^14.2.21 + version: 14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) nprogress: specifier: 0.2.0 version: 0.2.0 @@ -657,11 +657,11 @@ importers: specifier: 2.1.7 version: 2.1.7(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7) next: - specifier: ^15.0.4 - version: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^15.1.2 + version: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next-router-mock: specifier: ^0.9.13 - version: 0.9.13(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 0.9.13(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) playwright: specifier: ^1.47.2 version: 1.48.2 @@ -1212,7 +1212,7 @@ importers: version: 6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mui/material-nextjs': specifier: 6.2.1 - version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@toolpad/core': specifier: workspace:* version: link:../../packages/toolpad-core/build @@ -1226,14 +1226,14 @@ importers: specifier: 18.3.1 version: 18.3.1 eslint-config-next: - specifier: 15.0.4 - version: 15.0.4(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2) + specifier: 15.1.2 + version: 15.1.2(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2) next: - specifier: 15.0.4 - version: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 15.1.2 + version: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next-auth: specifier: 5.0.0-beta.25 - version: 5.0.0-beta.25(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 5.0.0-beta.25(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) react: specifier: 18.3.1 version: 18.3.1 @@ -1257,7 +1257,7 @@ importers: version: 6.2.1(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@mui/material-nextjs': specifier: 6.2.1 - version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@toolpad/core': specifier: workspace:* version: link:../../packages/toolpad-core/build @@ -1268,14 +1268,14 @@ importers: specifier: 18.3.1 version: 18.3.1 eslint-config-next: - specifier: 15.0.4 - version: 15.0.4(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2) + specifier: 15.1.2 + version: 15.1.2(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2) next: - specifier: 15.0.4 - version: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 15.1.2 + version: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) next-auth: specifier: 5.0.0-beta.25 - version: 5.0.0-beta.25(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + version: 5.0.0-beta.25(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) react: specifier: 18.3.1 version: 18.3.1 @@ -3491,116 +3491,116 @@ packages: resolution: {integrity: sha512-q3L9i3HoNfz0SGpTIS4zTcKBbRkxzCRpd169eyiTuk3IwcPC3/85mzLHranlKo2b+HYT0gu37YxGB45aD8A3Tw==} engines: {node: '>=18.0.0'} - '@next/env@14.2.20': - resolution: {integrity: sha512-JfDpuOCB0UBKlEgEy/H6qcBSzHimn/YWjUHzKl1jMeUO+QVRdzmTTl8gFJaNO87c8DXmVKhFCtwxQ9acqB3+Pw==} + '@next/env@14.2.21': + resolution: {integrity: sha512-lXcwcJd5oR01tggjWJ6SrNNYFGuOOMB9c251wUNkjCpkoXOPkDeF/15c3mnVlBqrW4JJXb2kVxDFhC4GduJt2A==} - '@next/env@15.0.4': - resolution: {integrity: sha512-WNRvtgnRVDD4oM8gbUcRc27IAhaL4eXQ/2ovGbgLnPGUvdyDr8UdXP4Q/IBDdAdojnD2eScryIDirv0YUCjUVw==} + '@next/env@15.1.2': + resolution: {integrity: sha512-Hm3jIGsoUl6RLB1vzY+dZeqb+/kWPZ+h34yiWxW0dV87l8Im/eMOwpOA+a0L78U0HM04syEjXuRlCozqpwuojQ==} - '@next/eslint-plugin-next@14.2.20': - resolution: {integrity: sha512-T0JRi706KLbvR1Uc46t56VtawbhR/igdBagzOrA7G+vv4rvjwnlu/Y4/Iq6X9TDVj5UZjyot4lUdkNd3V2kLhw==} + '@next/eslint-plugin-next@14.2.21': + resolution: {integrity: sha512-bxfiExnMkpwo4bBhCqnDhdgFyxSp6Xt6xu4Ne7En6MpgqwiER95Or+q1WDUDX4e888taeIAdPIAVaY+Wv0kiwQ==} - '@next/eslint-plugin-next@15.0.4': - resolution: {integrity: sha512-rbsF17XGzHtR7SDWzWpavSfum3/UdnF8bAaisnKwP//si3KWPTedVUsflAdjyK1zW3rweBjbALfKcavFneLGvg==} + '@next/eslint-plugin-next@15.1.2': + resolution: {integrity: sha512-sgfw3+WdaYOGPKCvM1L+UucBmRfh8V2Ygefp7ELON0+0vY7uohQwXXnVWg3rY7mXDKharQR3o7uedpfvnU2hlQ==} - '@next/swc-darwin-arm64@14.2.20': - resolution: {integrity: sha512-WDfq7bmROa5cIlk6ZNonNdVhKmbCv38XteVFYsxea1vDJt3SnYGgxLGMTXQNfs5OkFvAhmfKKrwe7Y0Hs+rWOg==} + '@next/swc-darwin-arm64@14.2.21': + resolution: {integrity: sha512-HwEjcKsXtvszXz5q5Z7wCtrHeTTDSTgAbocz45PHMUjU3fBYInfvhR+ZhavDRUYLonm53aHZbB09QtJVJj8T7g==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-arm64@15.0.4': - resolution: {integrity: sha512-QecQXPD0yRHxSXWL5Ff80nD+A56sUXZG9koUsjWJwA2Z0ZgVQfuy7gd0/otjxoOovPVHR2eVEvPMHbtZP+pf9w==} + '@next/swc-darwin-arm64@15.1.2': + resolution: {integrity: sha512-b9TN7q+j5/7+rGLhFAVZiKJGIASuo8tWvInGfAd8wsULjB1uNGRCj1z1WZwwPWzVQbIKWFYqc+9L7W09qwt52w==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@14.2.20': - resolution: {integrity: sha512-XIQlC+NAmJPfa2hruLvr1H1QJJeqOTDV+v7tl/jIdoFvqhoihvSNykLU/G6NMgoeo+e/H7p/VeWSOvMUHKtTIg==} + '@next/swc-darwin-x64@14.2.21': + resolution: {integrity: sha512-TSAA2ROgNzm4FhKbTbyJOBrsREOMVdDIltZ6aZiKvCi/v0UwFmwigBGeqXDA97TFMpR3LNNpw52CbVelkoQBxA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-darwin-x64@15.0.4': - resolution: {integrity: sha512-pb7Bye3y1Og3PlCtnz2oO4z+/b3pH2/HSYkLbL0hbVuTGil7fPen8/3pyyLjdiTLcFJ+ymeU3bck5hd4IPFFCA==} + '@next/swc-darwin-x64@15.1.2': + resolution: {integrity: sha512-caR62jNDUCU+qobStO6YJ05p9E+LR0EoXh1EEmyU69cYydsAy7drMcOlUlRtQihM6K6QfvNwJuLhsHcCzNpqtA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@14.2.20': - resolution: {integrity: sha512-pnzBrHTPXIMm5QX3QC8XeMkpVuoAYOmyfsO4VlPn+0NrHraNuWjdhe+3xLq01xR++iCvX+uoeZmJDKcOxI201Q==} + '@next/swc-linux-arm64-gnu@14.2.21': + resolution: {integrity: sha512-0Dqjn0pEUz3JG+AImpnMMW/m8hRtl1GQCNbO66V1yp6RswSTiKmnHf3pTX6xMdJYSemf3O4Q9ykiL0jymu0TuA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-gnu@15.0.4': - resolution: {integrity: sha512-12oSaBFjGpB227VHzoXF3gJoK2SlVGmFJMaBJSu5rbpaoT5OjP5OuCLuR9/jnyBF1BAWMs/boa6mLMoJPRriMA==} + '@next/swc-linux-arm64-gnu@15.1.2': + resolution: {integrity: sha512-fHHXBusURjBmN6VBUtu6/5s7cCeEkuGAb/ZZiGHBLVBXMBy4D5QpM8P33Or8JD1nlOjm/ZT9sEE5HouQ0F+hUA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.2.20': - resolution: {integrity: sha512-WhJJAFpi6yqmUx1momewSdcm/iRXFQS0HU2qlUGlGE/+98eu7JWLD5AAaP/tkK1mudS/rH2f9E3WCEF2iYDydQ==} + '@next/swc-linux-arm64-musl@14.2.21': + resolution: {integrity: sha512-Ggfw5qnMXldscVntwnjfaQs5GbBbjioV4B4loP+bjqNEb42fzZlAaK+ldL0jm2CTJga9LynBMhekNfV8W4+HBw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@15.0.4': - resolution: {integrity: sha512-QARO88fR/a+wg+OFC3dGytJVVviiYFEyjc/Zzkjn/HevUuJ7qGUUAUYy5PGVWY1YgTzeRYz78akQrVQ8r+sMjw==} + '@next/swc-linux-arm64-musl@15.1.2': + resolution: {integrity: sha512-9CF1Pnivij7+M3G74lxr+e9h6o2YNIe7QtExWq1KUK4hsOLTBv6FJikEwCaC3NeYTflzrm69E5UfwEAbV2U9/g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@14.2.20': - resolution: {integrity: sha512-ao5HCbw9+iG1Kxm8XsGa3X174Ahn17mSYBQlY6VGsdsYDAbz/ZP13wSLfvlYoIDn1Ger6uYA+yt/3Y9KTIupRg==} + '@next/swc-linux-x64-gnu@14.2.21': + resolution: {integrity: sha512-uokj0lubN1WoSa5KKdThVPRffGyiWlm/vCc/cMkWOQHw69Qt0X1o3b2PyLLx8ANqlefILZh1EdfLRz9gVpG6tg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-gnu@15.0.4': - resolution: {integrity: sha512-Z50b0gvYiUU1vLzfAMiChV8Y+6u/T2mdfpXPHraqpypP7yIT2UV9YBBhcwYkxujmCvGEcRTVWOj3EP7XW/wUnw==} + '@next/swc-linux-x64-gnu@15.1.2': + resolution: {integrity: sha512-tINV7WmcTUf4oM/eN3Yuu/f8jQ5C6AkueZPKeALs/qfdfX57eNv4Ij7rt0SA6iZ8+fMobVfcFVv664Op0caCCg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.2.20': - resolution: {integrity: sha512-CXm/kpnltKTT7945np6Td3w7shj/92TMRPyI/VvveFe8+YE+/YOJ5hyAWK5rpx711XO1jBCgXl211TWaxOtkaA==} + '@next/swc-linux-x64-musl@14.2.21': + resolution: {integrity: sha512-iAEBPzWNbciah4+0yI4s7Pce6BIoxTQ0AGCkxn/UBuzJFkYyJt71MadYQkjPqCQCJAFQ26sYh7MOKdU+VQFgPg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@15.0.4': - resolution: {integrity: sha512-7H9C4FAsrTAbA/ENzvFWsVytqRYhaJYKa2B3fyQcv96TkOGVMcvyS6s+sj4jZlacxxTcn7ygaMXUPkEk7b78zw==} + '@next/swc-linux-x64-musl@15.1.2': + resolution: {integrity: sha512-jf2IseC4WRsGkzeUw/cK3wci9pxR53GlLAt30+y+B+2qAQxMw6WAC3QrANIKxkcoPU3JFh/10uFfmoMDF9JXKg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@14.2.20': - resolution: {integrity: sha512-upJn2HGQgKNDbXVfIgmqT2BN8f3z/mX8ddoyi1I565FHbfowVK5pnMEwauvLvaJf4iijvuKq3kw/b6E9oIVRWA==} + '@next/swc-win32-arm64-msvc@14.2.21': + resolution: {integrity: sha512-plykgB3vL2hB4Z32W3ktsfqyuyGAPxqwiyrAi2Mr8LlEUhNn9VgkiAl5hODSBpzIfWweX3er1f5uNpGDygfQVQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-arm64-msvc@15.0.4': - resolution: {integrity: sha512-Z/v3WV5xRaeWlgJzN9r4PydWD8sXV35ywc28W63i37G2jnUgScA4OOgS8hQdiXLxE3gqfSuHTicUhr7931OXPQ==} + '@next/swc-win32-arm64-msvc@15.1.2': + resolution: {integrity: sha512-wvg7MlfnaociP7k8lxLX4s2iBJm4BrNiNFhVUY+Yur5yhAJHfkS8qPPeDEUH8rQiY0PX3u/P7Q/wcg6Mv6GSAA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-ia32-msvc@14.2.20': - resolution: {integrity: sha512-igQW/JWciTGJwj3G1ipalD2V20Xfx3ywQy17IV0ciOUBbFhNfyU1DILWsTi32c8KmqgIDviUEulW/yPb2FF90w==} + '@next/swc-win32-ia32-msvc@14.2.21': + resolution: {integrity: sha512-w5bacz4Vxqrh06BjWgua3Yf7EMDb8iMcVhNrNx8KnJXt8t+Uu0Zg4JHLDL/T7DkTCEEfKXO/Er1fcfWxn2xfPA==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@next/swc-win32-x64-msvc@14.2.20': - resolution: {integrity: sha512-AFmqeLW6LtxeFTuoB+MXFeM5fm5052i3MU6xD0WzJDOwku6SkZaxb1bxjBaRC8uNqTRTSPl0yMFtjNowIVI67w==} + '@next/swc-win32-x64-msvc@14.2.21': + resolution: {integrity: sha512-sT6+llIkzpsexGYZq8cjjthRyRGe5cJVhqh12FmlbxHqna6zsDDK8UNaV7g41T6atFHCJUPeLb3uyAwrBwy0NA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@next/swc-win32-x64-msvc@15.0.4': - resolution: {integrity: sha512-NGLchGruagh8lQpDr98bHLyWJXOBSmkEAfK980OiNBa7vNm6PsNoPvzTfstT78WyOeMRQphEQ455rggd7Eo+Dw==} + '@next/swc-win32-x64-msvc@15.1.2': + resolution: {integrity: sha512-D3cNA8NoT3aWISWmo7HF5Eyko/0OdOO+VagkoJuiTk7pyX3P/b+n8XA/MYvyR+xSVcbKn68B1rY9fgqjNISqzQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -4057,8 +4057,8 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/helpers@0.5.13': - resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} '@swc/helpers@0.5.5': resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} @@ -5974,8 +5974,8 @@ packages: eslint-plugin-react: ^7.28.0 eslint-plugin-react-hooks: ^4.3.0 - eslint-config-next@15.0.4: - resolution: {integrity: sha512-97mLaAhbJKVQYXUBBrenRtEUAA6bNDPxWfaFEd6mEhKfpajP4wJrW4l7BUlHuYWxR8oQa9W014qBJpumpJQwWA==} + eslint-config-next@15.1.2: + resolution: {integrity: sha512-PrMm1/4zWSJ689wd/ypWIR5ZF1uvmp3EkgpgBV1Yu6PhEobBjXMGgT8bVNelwl17LXojO8D5ePFRiI4qXjsPRA==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 || ^9.0.0 typescript: '>=3.3.1' @@ -8021,8 +8021,8 @@ packages: next: '>=10.0.0' react: '>=17.0.0' - next@14.2.20: - resolution: {integrity: sha512-yPvIiWsiyVYqJlSQxwmzMIReXn5HxFNq4+tlVQ812N1FbvhmE+fDpIAD7bcS2mGYQwPJ5vAsQouyme2eKsxaug==} + next@14.2.21: + resolution: {integrity: sha512-rZmLwucLHr3/zfDMYbJXbw0ZeoBpirxkXuvsJbk7UPorvPYZhP7vq7aHbKnU7dQNCYIimRrbB2pp3xmf+wsYUg==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: @@ -8039,16 +8039,16 @@ packages: sass: optional: true - next@15.0.4: - resolution: {integrity: sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA==} + next@15.1.2: + resolution: {integrity: sha512-nLJDV7peNy+0oHlmY2JZjzMfJ8Aj0/dd3jCwSZS8ZiO5nkQfcZRqDrRN3U5rJtqVTQneIOGZzb6LCNrk7trMCQ==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.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-66855b96-20241106 || ^19.0.0 - react-dom: ^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0 + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': @@ -12334,7 +12334,7 @@ snapshots: '@mui/core-downloads-tracker@6.2.1': {} - '@mui/docs@6.2.1(x43f62rk27uyul4byumexdvu2u)': + '@mui/docs@6.2.1(wopobyujwuhvxg6p5iwz22urga)': dependencies: '@babel/runtime': 7.26.0 '@mui/base': 5.0.0-beta.67(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -12346,7 +12346,7 @@ snapshots: clipboard-copy: 4.0.1 clsx: 2.1.1 csstype: 3.1.3 - next: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) nprogress: 0.2.0 prop-types: 15.8.1 react: 18.3.1 @@ -12427,22 +12427,22 @@ snapshots: '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1) '@types/react': 18.3.18 - '@mui/material-nextjs@6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + '@mui/material-nextjs@6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.26.0 '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) - next: 14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 optionalDependencies: '@emotion/cache': 11.14.0 '@emotion/server': 11.11.0 '@types/react': 18.3.18 - '@mui/material-nextjs@6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + '@mui/material-nextjs@6.2.1(@emotion/cache@11.14.0)(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@emotion/server@11.11.0)(@types/react@18.3.18)(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.26.0 '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) - next: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 optionalDependencies: '@emotion/cache': 11.14.0 @@ -12872,67 +12872,67 @@ snapshots: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 - '@next/env@14.2.20': {} + '@next/env@14.2.21': {} - '@next/env@15.0.4': {} + '@next/env@15.1.2': {} - '@next/eslint-plugin-next@14.2.20': + '@next/eslint-plugin-next@14.2.21': dependencies: glob: 10.3.10 - '@next/eslint-plugin-next@15.0.4': + '@next/eslint-plugin-next@15.1.2': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@14.2.20': + '@next/swc-darwin-arm64@14.2.21': optional: true - '@next/swc-darwin-arm64@15.0.4': + '@next/swc-darwin-arm64@15.1.2': optional: true - '@next/swc-darwin-x64@14.2.20': + '@next/swc-darwin-x64@14.2.21': optional: true - '@next/swc-darwin-x64@15.0.4': + '@next/swc-darwin-x64@15.1.2': optional: true - '@next/swc-linux-arm64-gnu@14.2.20': + '@next/swc-linux-arm64-gnu@14.2.21': optional: true - '@next/swc-linux-arm64-gnu@15.0.4': + '@next/swc-linux-arm64-gnu@15.1.2': optional: true - '@next/swc-linux-arm64-musl@14.2.20': + '@next/swc-linux-arm64-musl@14.2.21': optional: true - '@next/swc-linux-arm64-musl@15.0.4': + '@next/swc-linux-arm64-musl@15.1.2': optional: true - '@next/swc-linux-x64-gnu@14.2.20': + '@next/swc-linux-x64-gnu@14.2.21': optional: true - '@next/swc-linux-x64-gnu@15.0.4': + '@next/swc-linux-x64-gnu@15.1.2': optional: true - '@next/swc-linux-x64-musl@14.2.20': + '@next/swc-linux-x64-musl@14.2.21': optional: true - '@next/swc-linux-x64-musl@15.0.4': + '@next/swc-linux-x64-musl@15.1.2': optional: true - '@next/swc-win32-arm64-msvc@14.2.20': + '@next/swc-win32-arm64-msvc@14.2.21': optional: true - '@next/swc-win32-arm64-msvc@15.0.4': + '@next/swc-win32-arm64-msvc@15.1.2': optional: true - '@next/swc-win32-ia32-msvc@14.2.20': + '@next/swc-win32-ia32-msvc@14.2.21': optional: true - '@next/swc-win32-x64-msvc@14.2.20': + '@next/swc-win32-x64-msvc@14.2.21': optional: true - '@next/swc-win32-x64-msvc@15.0.4': + '@next/swc-win32-x64-msvc@15.1.2': optional: true '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': @@ -13472,7 +13472,7 @@ snapshots: '@swc/counter@0.1.3': {} - '@swc/helpers@0.5.13': + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 @@ -15758,9 +15758,9 @@ snapshots: object.assign: 4.1.5 object.entries: 1.1.8 - eslint-config-next@15.0.4(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2): + eslint-config-next@15.1.2(eslint-import-resolver-webpack@0.13.9(eslint-plugin-import@2.31.0)(webpack@5.96.1(esbuild@0.24.2)))(eslint@8.57.1)(typescript@5.7.2): dependencies: - '@next/eslint-plugin-next': 15.0.4 + '@next/eslint-plugin-next': 15.1.2 '@rushstack/eslint-patch': 1.10.4 '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2) @@ -18259,20 +18259,20 @@ snapshots: nested-error-stacks@2.1.1: {} - next-auth@5.0.0-beta.25(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1): + next-auth@5.0.0-beta.25(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1): dependencies: '@auth/core': 0.37.2 - next: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 - next-router-mock@0.9.13(next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1): + next-router-mock@0.9.13(next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1): dependencies: - next: 15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 - next@14.2.20(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.21(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@next/env': 14.2.20 + '@next/env': 14.2.21 '@swc/helpers': 0.5.5 busboy: 1.6.0 caniuse-lite: 1.0.30001676 @@ -18282,25 +18282,25 @@ snapshots: react-dom: 18.3.1(react@18.3.1) styled-jsx: 5.1.1(@babel/core@7.26.0)(babel-plugin-macros@3.1.0)(react@18.3.1) optionalDependencies: - '@next/swc-darwin-arm64': 14.2.20 - '@next/swc-darwin-x64': 14.2.20 - '@next/swc-linux-arm64-gnu': 14.2.20 - '@next/swc-linux-arm64-musl': 14.2.20 - '@next/swc-linux-x64-gnu': 14.2.20 - '@next/swc-linux-x64-musl': 14.2.20 - '@next/swc-win32-arm64-msvc': 14.2.20 - '@next/swc-win32-ia32-msvc': 14.2.20 - '@next/swc-win32-x64-msvc': 14.2.20 + '@next/swc-darwin-arm64': 14.2.21 + '@next/swc-darwin-x64': 14.2.21 + '@next/swc-linux-arm64-gnu': 14.2.21 + '@next/swc-linux-arm64-musl': 14.2.21 + '@next/swc-linux-x64-gnu': 14.2.21 + '@next/swc-linux-x64-musl': 14.2.21 + '@next/swc-win32-arm64-msvc': 14.2.21 + '@next/swc-win32-ia32-msvc': 14.2.21 + '@next/swc-win32-x64-msvc': 14.2.21 '@playwright/test': 1.47.2 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - next@15.0.4(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@next/env': 15.0.4 + '@next/env': 15.1.2 '@swc/counter': 0.1.3 - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 busboy: 1.6.0 caniuse-lite: 1.0.30001676 postcss: 8.4.31 @@ -18308,14 +18308,14 @@ snapshots: react-dom: 18.3.1(react@18.3.1) styled-jsx: 5.1.6(@babel/core@7.26.0)(babel-plugin-macros@3.1.0)(react@18.3.1) optionalDependencies: - '@next/swc-darwin-arm64': 15.0.4 - '@next/swc-darwin-x64': 15.0.4 - '@next/swc-linux-arm64-gnu': 15.0.4 - '@next/swc-linux-arm64-musl': 15.0.4 - '@next/swc-linux-x64-gnu': 15.0.4 - '@next/swc-linux-x64-musl': 15.0.4 - '@next/swc-win32-arm64-msvc': 15.0.4 - '@next/swc-win32-x64-msvc': 15.0.4 + '@next/swc-darwin-arm64': 15.1.2 + '@next/swc-darwin-x64': 15.1.2 + '@next/swc-linux-arm64-gnu': 15.1.2 + '@next/swc-linux-arm64-musl': 15.1.2 + '@next/swc-linux-x64-gnu': 15.1.2 + '@next/swc-linux-x64-musl': 15.1.2 + '@next/swc-win32-arm64-msvc': 15.1.2 + '@next/swc-win32-x64-msvc': 15.1.2 '@playwright/test': 1.47.2 sharp: 0.33.5 transitivePeerDependencies: From 02066992d2b281c9f57429b9f35ec2d0cae65140 Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Thu, 26 Dec 2024 15:40:42 +0100 Subject: [PATCH 2/7] [docs] Fix 301 links (#4558) --- .../components/sign-in-page/sign-in-page.md | 4 +- .../studio/how-to-guides/railway-deploy.md | 2 +- .../components/Examples/ExamplesGrid.tsx | 20 ++--- .../components/Examples/FeaturedExamples.tsx | 18 ++-- .../components/Examples/core-examples.ts | 82 ++++++++++--------- docs/src/modules/components/Examples/types.ts | 4 +- examples/core/auth-nextjs-email/README.md | 2 +- examples/core/auth-nextjs-passkey/README.md | 2 +- examples/core/auth-nextjs-themed/README.md | 4 +- examples/core/auth-vite/README.md | 2 +- examples/core/firebase-vite/README.md | 2 +- examples/core/vite/README.md | 2 +- .../create-toolpad-app/src/generateProject.ts | 2 +- 13 files changed, 75 insertions(+), 71 deletions(-) diff --git a/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md b/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md index cddc44d4daf..e120f9b8ed8 100644 --- a/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md +++ b/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md @@ -108,7 +108,7 @@ This renders an alert with the `error` string as the message. #### Next.js App Directory and GitHub -The component is composable with any authentication library you might want to use. The following is a `SignInPage` with [Auth.js](https://authjs.dev/) using GitHub, Next.js App router and server actions. +The component is composable with any authentication library you might want to use. The following is a `SignInPage` with [Auth.js](https://authjs.dev/) using GitHub, Next.js App Router and server actions. {{"component": "modules/components/DocsImage.tsx", "src": "/static/toolpad/docs/core/auth-next.png", "srcDark": "/static/toolpad/docs/core/auth-next-dark.png", "alt": "Auth.js & Next.js with Toolpad Core sign-in page", "caption": "Auth.js & Next.js app router with Toolpad Core Sign-in page", "zoom": true, "indent": 1, "aspectRatio": "1.428" }} @@ -230,7 +230,7 @@ Through the `theme` prop in the [AppProvider](https://mui.com/toolpad/core/react {{"demo": "ThemeSignInPage.js", "iframe": true, "height": 700 }} :::info -Find a full-fledged example using the Next.js App router, Auth.js and this theme [here](https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-themed). +Find a full-fledged example using the Next.js App Router, Auth.js and this theme [here](https://codesandbox.io/p/sandbox/github/mui/toolpad/tree/master/examples/core/auth-nextjs-themed). ::: ### Slots diff --git a/docs/data/toolpad/studio/how-to-guides/railway-deploy.md b/docs/data/toolpad/studio/how-to-guides/railway-deploy.md index 64d428730af..d13861161cd 100644 --- a/docs/data/toolpad/studio/how-to-guides/railway-deploy.md +++ b/docs/data/toolpad/studio/how-to-guides/railway-deploy.md @@ -6,7 +6,7 @@ This guide walks you through the deployment of a Toolpad Studio app from a GitHu ## Prerequisites -- A [Railway](https://railway.app/) account +- A [Railway](https://railway.com/) account - A [GitHub](https://github.com) account - A GitHub repository containing your Toolpad Studio app. Check out [pushing your Toolpad Studio app to GitHub](/toolpad/studio/how-to-guides/render-deploy/#pushing-your-toolpad-studio-app-to-github) for this step. diff --git a/docs/src/modules/components/Examples/ExamplesGrid.tsx b/docs/src/modules/components/Examples/ExamplesGrid.tsx index 8c24fc40fd2..501ee3578f3 100644 --- a/docs/src/modules/components/Examples/ExamplesGrid.tsx +++ b/docs/src/modules/components/Examples/ExamplesGrid.tsx @@ -122,32 +122,32 @@ function ExamplesGrid(props: ExamplesGridProps) { {t('source')} - {example.codeSandbox && ( - + {example.stackBlitz === true ? ( + - + - )} - {example.stackBlitz && ( - + ) : null} + {example.codeSandbox === true ? ( + - + - )} + ) : null} diff --git a/docs/src/modules/components/Examples/FeaturedExamples.tsx b/docs/src/modules/components/Examples/FeaturedExamples.tsx index 26c2bd4ec19..c935d807b9d 100644 --- a/docs/src/modules/components/Examples/FeaturedExamples.tsx +++ b/docs/src/modules/components/Examples/FeaturedExamples.tsx @@ -144,17 +144,18 @@ export default function FeaturedExamples(props: FeaturedExamplesProps) { gap: 1, }} > - {example.stackBlitz ? ( + {example.stackBlitz === true ? ( { - window.open(example.stackBlitz, '_blank', 'noopener,noreferrer'); - }} > @@ -162,17 +163,18 @@ export default function FeaturedExamples(props: FeaturedExamplesProps) { ) : null} - {example.codeSandbox ? ( + {example.codeSandbox === true ? ( { - window.open(example.codeSandbox, '_blank', 'noopener,noreferrer'); - }} > diff --git a/docs/src/modules/components/Examples/core-examples.ts b/docs/src/modules/components/Examples/core-examples.ts index 54667731313..6f24e9fab62 100644 --- a/docs/src/modules/components/Examples/core-examples.ts +++ b/docs/src/modules/components/Examples/core-examples.ts @@ -7,104 +7,106 @@ export default function examples() { src: '/static/toolpad/docs/core/tutorial-1.png', href: 'https://mui.com/toolpad/core/introduction/tutorial/', source: 'https://github.com/mui/toolpad/tree/master/examples/core/tutorial/', - codeSandbox: 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/tutorial', - stackBlitz: 'https://stackblitz.com/github/mui/toolpad/tree/master/examples/core/tutorial', + codeSandbox: true, + stackBlitz: true, }, { - title: 'Auth.js with Next.js App router', + title: 'Auth.js with Next.js App Router', description: - 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js App router', + 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js App Router.', src: '/static/toolpad/docs/core/auth-next.png', srcDark: '/static/toolpad/docs/core/auth-next-dark.png', source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs/', - codeSandbox: - 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs', - stackblitz: 'https://stackblitz.com/github/mui/toolpad/tree/master/examples/core/auth-nextjs', + codeSandbox: true, + stackBlitz: true, }, { - title: 'Auth.js with Next.js Pages router', + title: 'Auth.js with Next.js Pages Router', description: - 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js Pages router', + 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js Pages router.', src: '/static/toolpad/docs/core/auth-next.png', srcDark: '/static/toolpad/docs/core/auth-next-dark.png', source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-pages/', - codeSandbox: - 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-pages', - stackblitz: - 'https://stackblitz.com/github/mui/toolpad/tree/master/examples/core/auth-nextjs-pages', + // infinite redirection + codeSandbox: false, + stackBlitz: false, }, { - title: 'Auth.js Magic Link with Next.js App router', + title: 'Auth.js Magic Link with Next.js App Router', description: - 'This app shows you to how to get started using Toolpad Core with Auth.js Magic Links and the Next.js App router', + 'This app shows you to how to get started using Toolpad Core with Auth.js Magic Links and the Next.js App Router.', src: '/static/toolpad/docs/core/auth-next.png', source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-email', - codeSandbox: - 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-email', + // Crash with Prisma + codeSandbox: false, + stackBlitz: false, }, { title: 'Vite with React Router', description: - 'This app shows you to how to get started using Toolpad Core with Vite and React Router', + 'This app shows you to how to get started using Toolpad Core with Vite and React Router.', src: '/static/toolpad/docs/core/vite-react-router.png', source: 'https://github.com/mui/toolpad/tree/master/examples/core/vite/', - codeSandbox: 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/vite', - stackblitz: 'https://stackblitz.com/github/mui/toolpad/tree/master/examples/core/vite', + codeSandbox: true, + // Show nothing + stackBlitz: false, }, { - title: 'Auth.js v4 with Next.js Pages router', + title: 'Auth.js v4 with Next.js Pages Router', description: - 'This app shows you to how to get started using Toolpad Core with Auth.js v4 and the Next.js Pages router', + 'This app shows you to how to get started using Toolpad Core with Auth.js v4 and the Next.js Pages router.', src: '/static/toolpad/docs/core/auth-next.png', srcDark: '/static/toolpad/docs/core/auth-next-dark.png', source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-pages-nextauth-4/', - codeSandbox: - 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-pages-nextauth-4', - stackblitz: - 'https://stackblitz.com/github/mui/toolpad/tree/master/examples/core/auth-nextjs-pages-nextauth-4', + codeSandbox: true, + // Show nothing + stackBlitz: false, }, { - title: 'Next.js App router with Auth.js Passkey', + title: 'Next.js App Router with Auth.js Passkey', description: - 'This app shows you to how to get started using Toolpad Core with Auth.js Passkeys and the Next.js App router', + 'This app shows you to how to get started using Toolpad Core with Auth.js Passkeys and the Next.js App Router.', src: '/static/toolpad/docs/core/auth-next-passkey.png', srcDark: '/static/toolpad/docs/core/auth-next-passkey-dark.png', source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-passkey/', - codeSandbox: - 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-passkey', + // Crash with Prisma + codeSandbox: false, + stackBlitz: false, }, { title: 'Vite with React Router and mock authentication', description: - 'This app shows you to how to get started using Toolpad Core with Vite, React Router and any external authentication provider', + 'This app shows you to how to get started using Toolpad Core with Vite, React Router and any external authentication provider.', src: '/static/toolpad/docs/core/vite-react-router.png', source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-vite', - codeSandbox: - 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-vite', + codeSandbox: true, + // Show nothing + stackBlitz: false, }, { title: 'Vite with React Router and Firebase Auth', description: - 'This app shows you to how to get started using Toolpad Core with Vite, React Router, and authentication using Firebase', + 'This app shows you to how to get started using Toolpad Core with Vite, React Router, and authentication using Firebase.', src: '/static/toolpad/docs/core/firebase-vite-light.png', srcDark: '/static/toolpad/docs/core/firebase-vite-dark.png', source: 'https://github.com/mui/toolpad/tree/master/examples/core/firebase-vite', - codeSandbox: - 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/firebase-vite', + // Show nothing + codeSandbox: false, + stackBlitz: false, }, { - title: 'Functional Dashboard', + title: 'Functional dashboard', description: - 'This example shows you how to get started building a dashboard with Toolpad Core, Next.js app router, Auth.js and Material UI components in a customized theme', + 'This example shows you how to get started building a dashboard with Toolpad Core, Next.js app router, Auth.js and Material UI components in a customized theme.', src: '/static/toolpad/docs/core/functional-dashboard.png', href: 'https://mui.com/toolpad/core/templates/nextjs-dashboard', srcDark: '/static/toolpad/docs/core/functional-dashboard-dark.png', source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-themed', featured: true, new: true, - codeSandbox: - 'https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-themed', + codeSandbox: true, + stackBlitz: true, }, ]; } diff --git a/docs/src/modules/components/Examples/types.ts b/docs/src/modules/components/Examples/types.ts index 96508d22704..729ea4aa9c7 100644 --- a/docs/src/modules/components/Examples/types.ts +++ b/docs/src/modules/components/Examples/types.ts @@ -5,8 +5,8 @@ export interface Example { srcDark?: string; href: string; source: string; - codeSandbox?: string; - stackBlitz?: string; + codeSandbox?: boolean; + stackBlitz?: boolean; new?: boolean; featured?: boolean; } diff --git a/examples/core/auth-nextjs-email/README.md b/examples/core/auth-nextjs-email/README.md index b31c41650a4..da6cc6f9471 100644 --- a/examples/core/auth-nextjs-email/README.md +++ b/examples/core/auth-nextjs-email/README.md @@ -1,4 +1,4 @@ -# Toolpad Core Next.js App Router app with email provider +# Toolpad Core - Next.js App Router app with email provider This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). diff --git a/examples/core/auth-nextjs-passkey/README.md b/examples/core/auth-nextjs-passkey/README.md index d55433ada12..7bf46b3ea61 100644 --- a/examples/core/auth-nextjs-passkey/README.md +++ b/examples/core/auth-nextjs-passkey/README.md @@ -1,4 +1,4 @@ -# Toolpad Core Playground - Next.js App Router with Passkey +# Toolpad Core - Next.js App Router with Passkey This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). diff --git a/examples/core/auth-nextjs-themed/README.md b/examples/core/auth-nextjs-themed/README.md index baa6adbed70..cb926fe14dc 100644 --- a/examples/core/auth-nextjs-themed/README.md +++ b/examples/core/auth-nextjs-themed/README.md @@ -1,4 +1,4 @@ -# Create Toolpad App +# Toolpad Core - Create Toolpad App This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-toolpad-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). @@ -16,7 +16,7 @@ Open [http://localhost:3000](http://localhost:3000) with your browser to see the ## Run on CodeSandbox -Run this example on CodeSandbox [here](https://codesandbox.io/s/github/mui/toolpad/tree/master/examples/core/auth-nextjs-themed). +Run this example on CodeSandbox [here](https://codesandbox.io/p/sandbox/github/mui/toolpad/tree/master/examples/core/auth-nextjs-themed). ## Clone using `create-toolpad-app` diff --git a/examples/core/auth-vite/README.md b/examples/core/auth-vite/README.md index 77643b462dd..f84b2a951b3 100644 --- a/examples/core/auth-vite/README.md +++ b/examples/core/auth-vite/README.md @@ -1,4 +1,4 @@ -# React + TypeScript + Vite +# Toolpad Core - Vite with React Router and mock authentication This template provides a minimal setup to get React working in Vite with HMR. diff --git a/examples/core/firebase-vite/README.md b/examples/core/firebase-vite/README.md index 72355db4e34..49e6fa69d16 100644 --- a/examples/core/firebase-vite/README.md +++ b/examples/core/firebase-vite/README.md @@ -1,4 +1,4 @@ -# React + TypeScript + Vite +# Toolpad Core - Vite with React Router and Firebase Auth This template provides a minimal setup to get React working in Vite with HMR, and authentication with Firebase. diff --git a/examples/core/vite/README.md b/examples/core/vite/README.md index 5f2dc7485c8..1ef91e1e4f0 100644 --- a/examples/core/vite/README.md +++ b/examples/core/vite/README.md @@ -1,4 +1,4 @@ -# Toolpad Core - Vite & React Router +# Toolpad Core - Vite with React Router This example provides a minimal setup to get Toolpad Core working in Vite with HMR, as well as routing with React Router. diff --git a/packages/create-toolpad-app/src/generateProject.ts b/packages/create-toolpad-app/src/generateProject.ts index 2fa766bdd23..0825af5897c 100644 --- a/packages/create-toolpad-app/src/generateProject.ts +++ b/packages/create-toolpad-app/src/generateProject.ts @@ -10,7 +10,7 @@ import ordersPage from './templates/ordersPage'; import packageJson from './templates/packageJson'; import indexPage from './templates/indexPage'; -// App router specific files +// App Router specific files import rootLayout from './templates/nextjs-app/rootLayout'; import dashboardLayout from './templates/nextjs-app/dashboardLayout'; From 77a8b87aa3a29215d0e506992c6c45c52d41ecef Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Thu, 26 Dec 2024 16:05:17 +0100 Subject: [PATCH 3/7] [docs] Fix correct use of Page Router and App Router --- CHANGELOG.md | 2 +- .../core/components/page-container/page-container.md | 2 +- .../toolpad/core/components/sign-in-page/sign-in-page.md | 4 ++-- docs/data/toolpad/core/integrations/nextjs-approuter.md | 2 +- docs/src/modules/components/Examples/core-examples.ts | 2 +- packages/create-toolpad-app/src/generateProject.ts | 6 +++--- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 145837f87af..eeae1b1239f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -568,7 +568,7 @@ First components in @toolpad/core: [DashboardLayout](https://github.com/mui/tool - Lock file maintenance (#3622) @renovate[bot] - Lock file maintenance Examples (#3624) @renovate[bot] -- Add Next.js app router Toolpad Core playground (#3587) @apedroferreira +- Add Next.js App Router Toolpad Core playground (#3587) @apedroferreira - Isolate api-docs-builder deps @Janpot - isolate react-docgen @Janpot - Update renovate.json @Janpot diff --git a/docs/data/toolpad/core/components/page-container/page-container.md b/docs/data/toolpad/core/components/page-container/page-container.md index 70f3c2a2cf2..105bc9314d6 100644 --- a/docs/data/toolpad/core/components/page-container/page-container.md +++ b/docs/data/toolpad/core/components/page-container/page-container.md @@ -71,7 +71,7 @@ function useDynamicBreadcrumbs(id: string): Breadcrumb[] { } ``` -For example, under the Next.js app router you would be able to obtain breadcrumbs for a dynamic route as follows: +For example, under the Next.js App Router you would be able to obtain breadcrumbs for a dynamic route as follows: ```tsx // ./src/app/example/[id]/page.tsx diff --git a/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md b/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md index e120f9b8ed8..2efbf13c51e 100644 --- a/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md +++ b/docs/data/toolpad/core/components/sign-in-page/sign-in-page.md @@ -75,7 +75,7 @@ The `SignInPage` component can be set up to use [Passkeys](https://passkeys.dev) The [Toolpad Core Passkey example app](https://github.com/mui/mui-toolpad/tree/master/examples/core/auth-nextjs-passkey/) comes with a working app using `next-auth/webauthn`, Prisma and PostgreSQL. ::: -{{"component": "modules/components/DocsImage.tsx", "src": "/static/toolpad/docs/core/auth-next-passkey.png", "srcDark": "/static/toolpad/docs/core/auth-next-passkey-dark.png", "alt": "Auth.js Passkeys & Next.js with Toolpad Core sign-in page", "caption": "Auth.js Passkeys & Next.js app router with Toolpad Core Sign-in page", "zoom": true, "aspectRatio": "1.428" }} +{{"component": "modules/components/DocsImage.tsx", "src": "/static/toolpad/docs/core/auth-next-passkey.png", "srcDark": "/static/toolpad/docs/core/auth-next-passkey-dark.png", "alt": "Auth.js Passkeys & Next.js with Toolpad Core sign-in page", "caption": "Auth.js Passkeys & Next.js App Router with Toolpad Core Sign-in page", "zoom": true, "aspectRatio": "1.428" }} ## Credentials @@ -110,7 +110,7 @@ This renders an alert with the `error` string as the message. The component is composable with any authentication library you might want to use. The following is a `SignInPage` with [Auth.js](https://authjs.dev/) using GitHub, Next.js App Router and server actions. -{{"component": "modules/components/DocsImage.tsx", "src": "/static/toolpad/docs/core/auth-next.png", "srcDark": "/static/toolpad/docs/core/auth-next-dark.png", "alt": "Auth.js & Next.js with Toolpad Core sign-in page", "caption": "Auth.js & Next.js app router with Toolpad Core Sign-in page", "zoom": true, "indent": 1, "aspectRatio": "1.428" }} +{{"component": "modules/components/DocsImage.tsx", "src": "/static/toolpad/docs/core/auth-next.png", "srcDark": "/static/toolpad/docs/core/auth-next-dark.png", "alt": "Auth.js & Next.js with Toolpad Core sign-in page", "caption": "Auth.js & Next.js App Router with Toolpad Core Sign-in page", "zoom": true, "indent": 1, "aspectRatio": "1.428" }} #### Setting up diff --git a/docs/data/toolpad/core/integrations/nextjs-approuter.md b/docs/data/toolpad/core/integrations/nextjs-approuter.md index 46726d69424..8784c51e707 100644 --- a/docs/data/toolpad/core/integrations/nextjs-approuter.md +++ b/docs/data/toolpad/core/integrations/nextjs-approuter.md @@ -57,7 +57,7 @@ See the [MaterialĀ UI Next.js integration docs](https://mui.com/material-ui/inte ::: :::warning -If your app is statically rendered, you must wrap the `AppProvider` in a `Suspense` component when using the app router. See [https://github.com/mui/toolpad/issues/4524](https://github.com/mui/toolpad/issues/4524) for more information. +If your app is statically rendered, you must wrap the `AppProvider` in a `Suspense` component when using the App Router. See [https://github.com/mui/toolpad/issues/4524](https://github.com/mui/toolpad/issues/4524) for more information. ::: ## Create a dashboard layout diff --git a/docs/src/modules/components/Examples/core-examples.ts b/docs/src/modules/components/Examples/core-examples.ts index 6f24e9fab62..94e131d4766 100644 --- a/docs/src/modules/components/Examples/core-examples.ts +++ b/docs/src/modules/components/Examples/core-examples.ts @@ -98,7 +98,7 @@ export default function examples() { { title: 'Functional dashboard', description: - 'This example shows you how to get started building a dashboard with Toolpad Core, Next.js app router, Auth.js and Material UI components in a customized theme.', + 'This example shows you how to get started building a dashboard with Toolpad Core, Next.js App Router, Auth.js and Material UI components in a customized theme.', src: '/static/toolpad/docs/core/functional-dashboard.png', href: 'https://mui.com/toolpad/core/templates/nextjs-dashboard', srcDark: '/static/toolpad/docs/core/functional-dashboard-dark.png', diff --git a/packages/create-toolpad-app/src/generateProject.ts b/packages/create-toolpad-app/src/generateProject.ts index 0825af5897c..97b71b55b76 100644 --- a/packages/create-toolpad-app/src/generateProject.ts +++ b/packages/create-toolpad-app/src/generateProject.ts @@ -27,11 +27,11 @@ import prisma from './templates/auth/prisma'; import env from './templates/auth/env'; import schemaPrisma from './templates/auth/schemaPrisma'; -// Auth files for app router +// Auth files for App Router import signInPage from './templates/auth/nextjs-app/signInPage'; import signInAction from './templates/auth/nextjs-app/actions'; -// Auth files for pages router +// Auth files for Pages Router import signInPagePagesRouter from './templates/auth/nextjs-pages/signIn'; import { GenerateProjectOptions } from './types'; @@ -72,7 +72,7 @@ export default function generateProject( ['auth.ts', { content: auth(options) }], ['.env.local', { content: envLocal(options) }], ['middleware.ts', { content: middleware }], - // next-auth v5 does not provide an API route, so this file must be in the app router + // next-auth v5 does not provide an API route, so this file must be in the App Router // even if the rest of the app is using pages router // https://authjs.dev/getting-started/installation#configure ['app/api/auth/[...nextAuth]/route.ts', { content: routeHandler }], From 3c9303c16ceee263a1a28809d5dc70f0b6a3fc1f Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Mon, 30 Dec 2024 01:56:28 +0100 Subject: [PATCH 4/7] [docs] Fix layout shift example page (#4350) --- .../toolpad/core/introduction/examples.md | 10 +- .../getting-started/examples-overview.md | 6 +- .../components/Examples/core-examples.ts | 112 -------------- .../components/Examples/studio-examples.ts | 118 --------------- docs/src/modules/components/Examples/types.ts | 12 -- .../examples/CoreFeaturedExamples.tsx | 7 + .../components/examples/CoreOtherExamples.tsx | 7 + .../ExamplesFeatured.tsx} | 52 ++----- .../{Examples => examples}/ExamplesGrid.tsx | 35 ++--- .../components/examples/StudioExamples.tsx | 137 ++++++++++++++++++ .../components/examples/coreExamples.ts | 118 +++++++++++++++ .../components/examples/examplesUtils.ts | 31 ++++ 12 files changed, 329 insertions(+), 316 deletions(-) delete mode 100644 docs/src/modules/components/Examples/core-examples.ts delete mode 100644 docs/src/modules/components/Examples/studio-examples.ts delete mode 100644 docs/src/modules/components/Examples/types.ts create mode 100644 docs/src/modules/components/examples/CoreFeaturedExamples.tsx create mode 100644 docs/src/modules/components/examples/CoreOtherExamples.tsx rename docs/src/modules/components/{Examples/FeaturedExamples.tsx => examples/ExamplesFeatured.tsx} (82%) rename docs/src/modules/components/{Examples => examples}/ExamplesGrid.tsx (85%) create mode 100644 docs/src/modules/components/examples/StudioExamples.tsx create mode 100644 docs/src/modules/components/examples/coreExamples.ts create mode 100644 docs/src/modules/components/examples/examplesUtils.ts diff --git a/docs/data/toolpad/core/introduction/examples.md b/docs/data/toolpad/core/introduction/examples.md index 36dd4d14471..975af850692 100644 --- a/docs/data/toolpad/core/introduction/examples.md +++ b/docs/data/toolpad/core/introduction/examples.md @@ -7,12 +7,10 @@ title: Examples

Browse a collection of Toolpad Core examples to help you get started quickly.

- +## Featured examples -## Featured Examples +{{"component": "modules/components/examples/CoreFeaturedExamples.tsx"}} -{{"component": "modules/components/Examples/FeaturedExamples.tsx", "examplesFile": "core-examples.ts"}} +## Other examples -## Other Examples - -{{"component": "modules/components/Examples/ExamplesGrid.tsx", "examplesFile": "core-examples.ts", "reverse": true}} +{{"component": "modules/components/examples/CoreOtherExamples.tsx"}} diff --git a/docs/data/toolpad/studio/getting-started/examples-overview.md b/docs/data/toolpad/studio/getting-started/examples-overview.md index 4f071102e2f..575ca15647c 100644 --- a/docs/data/toolpad/studio/getting-started/examples-overview.md +++ b/docs/data/toolpad/studio/getting-started/examples-overview.md @@ -5,12 +5,10 @@ title: Examples # Overview -

Browse our collection of Toolpad Studio examples that help you familiarise with Toolpad Studio concepts.

- - +

Browse a collection of Toolpad Studio examples that help you familiarise with Toolpad Studio concepts.

This collection includes apps that showcase connecting to APIs, adding custom components, adding secrets, adding authentication, working with ORMs and more. If you're interested in how we, at MUI, use Toolpad Studio to build internal apps, check out the [blog post](https://mui.com/blog/toolpad-use-cases/). -{{"component": "modules/components/Examples/ExamplesGrid.tsx", "examplesFile": "studio-examples.ts"}} +{{"component": "modules/components/examples/StudioExamples.tsx"}} diff --git a/docs/src/modules/components/Examples/core-examples.ts b/docs/src/modules/components/Examples/core-examples.ts deleted file mode 100644 index 94e131d4766..00000000000 --- a/docs/src/modules/components/Examples/core-examples.ts +++ /dev/null @@ -1,112 +0,0 @@ -export default function examples() { - return [ - { - title: 'Tutorial app', - description: - 'This app shows you to get started with Toolpad Core and use basic layout and navigation features.', - src: '/static/toolpad/docs/core/tutorial-1.png', - href: 'https://mui.com/toolpad/core/introduction/tutorial/', - source: 'https://github.com/mui/toolpad/tree/master/examples/core/tutorial/', - codeSandbox: true, - stackBlitz: true, - }, - { - title: 'Auth.js with Next.js App Router', - description: - 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js App Router.', - src: '/static/toolpad/docs/core/auth-next.png', - srcDark: '/static/toolpad/docs/core/auth-next-dark.png', - source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs/', - codeSandbox: true, - stackBlitz: true, - }, - { - title: 'Auth.js with Next.js Pages Router', - description: - 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js Pages router.', - src: '/static/toolpad/docs/core/auth-next.png', - srcDark: '/static/toolpad/docs/core/auth-next-dark.png', - source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-pages/', - // infinite redirection - codeSandbox: false, - stackBlitz: false, - }, - { - title: 'Auth.js Magic Link with Next.js App Router', - description: - 'This app shows you to how to get started using Toolpad Core with Auth.js Magic Links and the Next.js App Router.', - src: '/static/toolpad/docs/core/auth-next.png', - source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-email', - // Crash with Prisma - codeSandbox: false, - stackBlitz: false, - }, - { - title: 'Vite with React Router', - description: - 'This app shows you to how to get started using Toolpad Core with Vite and React Router.', - src: '/static/toolpad/docs/core/vite-react-router.png', - source: 'https://github.com/mui/toolpad/tree/master/examples/core/vite/', - codeSandbox: true, - // Show nothing - stackBlitz: false, - }, - { - title: 'Auth.js v4 with Next.js Pages Router', - description: - 'This app shows you to how to get started using Toolpad Core with Auth.js v4 and the Next.js Pages router.', - src: '/static/toolpad/docs/core/auth-next.png', - srcDark: '/static/toolpad/docs/core/auth-next-dark.png', - source: - 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-pages-nextauth-4/', - codeSandbox: true, - // Show nothing - stackBlitz: false, - }, - { - title: 'Next.js App Router with Auth.js Passkey', - description: - 'This app shows you to how to get started using Toolpad Core with Auth.js Passkeys and the Next.js App Router.', - src: '/static/toolpad/docs/core/auth-next-passkey.png', - srcDark: '/static/toolpad/docs/core/auth-next-passkey-dark.png', - source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-passkey/', - // Crash with Prisma - codeSandbox: false, - stackBlitz: false, - }, - { - title: 'Vite with React Router and mock authentication', - description: - 'This app shows you to how to get started using Toolpad Core with Vite, React Router and any external authentication provider.', - src: '/static/toolpad/docs/core/vite-react-router.png', - source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-vite', - codeSandbox: true, - // Show nothing - stackBlitz: false, - }, - { - title: 'Vite with React Router and Firebase Auth', - description: - 'This app shows you to how to get started using Toolpad Core with Vite, React Router, and authentication using Firebase.', - src: '/static/toolpad/docs/core/firebase-vite-light.png', - srcDark: '/static/toolpad/docs/core/firebase-vite-dark.png', - source: 'https://github.com/mui/toolpad/tree/master/examples/core/firebase-vite', - // Show nothing - codeSandbox: false, - stackBlitz: false, - }, - { - title: 'Functional dashboard', - description: - 'This example shows you how to get started building a dashboard with Toolpad Core, Next.js App Router, Auth.js and Material UI components in a customized theme.', - src: '/static/toolpad/docs/core/functional-dashboard.png', - href: 'https://mui.com/toolpad/core/templates/nextjs-dashboard', - srcDark: '/static/toolpad/docs/core/functional-dashboard-dark.png', - source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-themed', - featured: true, - new: true, - codeSandbox: true, - stackBlitz: true, - }, - ]; -} diff --git a/docs/src/modules/components/Examples/studio-examples.ts b/docs/src/modules/components/Examples/studio-examples.ts deleted file mode 100644 index c889a4dbcd3..00000000000 --- a/docs/src/modules/components/Examples/studio-examples.ts +++ /dev/null @@ -1,118 +0,0 @@ -export default function examples() { - return [ - { - title: 'npm stats', - description: - 'This analytics dashboard shows how to track a KPI from a third-party data source.', - src: '/static/toolpad/docs/studio/examples/npm-stats.png', - href: 'https://mui.com/toolpad/studio/examples/npm-stats/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/npm-stats/', - }, - { - title: 'Basic CRUD application', - description: 'An admin application to showcase how CRUD operations work in Toolpad Studio.', - src: '/static/toolpad/docs/studio/examples/basic-crud-app.png', - href: 'https://mui.com/toolpad/studio/examples/basic-crud-app/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/basic-crud-app/', - }, - { - title: 'QR Code generator', - description: - 'A basic Toolpad Studio application that can be used to turn any text or URL into a QR code.', - src: '/static/toolpad/docs/studio/examples/qr-generator.png', - href: 'https://mui.com/toolpad/studio/examples/qr-generator/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/qr-generator/', - }, - { - title: 'With Prisma', - description: - 'A basic Toolpad Studio application that demonstrates how to integrate with Prisma.', - src: '/static/toolpad/marketing/with-prisma-hero.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma/', - }, - { - title: 'Google Sheet', - description: 'Quickly fetch data from Google Sheets to build a Toolpad Studio app.', - src: '/static/toolpad/marketing/google-sheet.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/google-sheet/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/google-sheet/', - }, - { - title: 'Dog app', - description: 'An app that shows dog images based on selected breeds or sub-breeds.', - src: '/static/toolpad/docs/studio/getting-started/first-app/step-13.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/dog-app/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/dog-app/', - }, - { - title: 'Customized data grid', - description: - 'A basic Toolpad Studio app that shows how to customize a data grid column using a custom code component.', - src: '/static/toolpad/marketing/custom-datagrid-column.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-datagrid-column', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-datagrid-column/', - }, - { - title: 'GraphQL app', - description: 'An app that shows latest 100 stargazers info for any GitHub repository.', - src: '/static/toolpad/marketing/graphql.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/graphql/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/graphql/', - }, - { - title: 'With WASM', - description: - 'A basic Toolpad Studio application that demonstrates integrating with WASM modules.', - src: '/static/toolpad/marketing/with-wasm.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-wasm/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-wasm/', - }, - { - title: 'Data provider with prisma', - description: - 'A basic Toolpad Studio application that demonstrates how to use data providers with Prisma.', - src: '/static/toolpad/marketing/with-prisma-data-provider.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma-data-provider/', - source: - 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma-data-provider/', - }, - { - title: 'With Supabase', - description: - 'A Toolpad Studio app that fetches data from Supabase and shows it in a list component.', - src: '/static/toolpad/marketing/supabase.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/supabase/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/supabase/', - }, - { - title: 'Stripe invoice downloader', - description: 'A Stripe app to fetch and download invoices.', - src: '/static/toolpad/marketing/stripe-script.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/stripe-script/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/stripe-script/', - }, - { - title: 'Charts', - description: - 'A basic Toolpad Studio application that demonstrates how to use chart component.', - src: '/static/toolpad/marketing/charts.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/charts/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/charts/', - }, - { - title: 'Google Authentication', - description: 'An app that shows how to set up Google authentication in Toolpad Studio.', - src: '/static/toolpad/marketing/auth-google.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/auth-google/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/auth-google/', - }, - { - title: 'Custom server', - description: 'An app that shows how to use Toolpad Studio with a custom server.', - src: '/static/toolpad/marketing/custom-server.png', - href: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-server/', - source: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-server/', - }, - ]; -} diff --git a/docs/src/modules/components/Examples/types.ts b/docs/src/modules/components/Examples/types.ts deleted file mode 100644 index 729ea4aa9c7..00000000000 --- a/docs/src/modules/components/Examples/types.ts +++ /dev/null @@ -1,12 +0,0 @@ -export interface Example { - title: string; - description: string; - src: string; - srcDark?: string; - href: string; - source: string; - codeSandbox?: boolean; - stackBlitz?: boolean; - new?: boolean; - featured?: boolean; -} diff --git a/docs/src/modules/components/examples/CoreFeaturedExamples.tsx b/docs/src/modules/components/examples/CoreFeaturedExamples.tsx new file mode 100644 index 00000000000..67af812cef3 --- /dev/null +++ b/docs/src/modules/components/examples/CoreFeaturedExamples.tsx @@ -0,0 +1,7 @@ +import * as React from 'react'; +import ExamplesFeatured from 'docs-toolpad/src/modules/components/examples/ExamplesFeatured'; +import coreExamples from 'docs-toolpad/src/modules/components/examples/coreExamples'; + +export default function CoreFeaturedExamples() { + return ; +} diff --git a/docs/src/modules/components/examples/CoreOtherExamples.tsx b/docs/src/modules/components/examples/CoreOtherExamples.tsx new file mode 100644 index 00000000000..14a65c35045 --- /dev/null +++ b/docs/src/modules/components/examples/CoreOtherExamples.tsx @@ -0,0 +1,7 @@ +import * as React from 'react'; +import ExamplesGrid from 'docs-toolpad/src/modules/components/examples/ExamplesGrid'; +import coreExamples from 'docs-toolpad/src/modules/components/examples/coreExamples'; + +export default function CoreOtherExamples() { + return ; +} diff --git a/docs/src/modules/components/Examples/FeaturedExamples.tsx b/docs/src/modules/components/examples/ExamplesFeatured.tsx similarity index 82% rename from docs/src/modules/components/Examples/FeaturedExamples.tsx rename to docs/src/modules/components/examples/ExamplesFeatured.tsx index c935d807b9d..9aa7e3ae46f 100644 --- a/docs/src/modules/components/Examples/FeaturedExamples.tsx +++ b/docs/src/modules/components/examples/ExamplesFeatured.tsx @@ -8,7 +8,6 @@ import Button from '@mui/material/Button'; import IconButton from '@mui/material/IconButton'; import Link from '@mui/material/Link'; import Tooltip from '@mui/material/Tooltip'; -import Skeleton from '@mui/material/Skeleton'; import Typography from '@mui/material/Typography'; import SvgIcon from '@mui/material/SvgIcon'; import Visibility from '@mui/icons-material/Visibility'; @@ -16,49 +15,17 @@ import CodeRoundedIcon from '@mui/icons-material/CodeRounded'; import OpenInNewRoundedIcon from '@mui/icons-material/OpenInNewRounded'; import { useTheme } from '@mui/material/styles'; import { sxChip } from 'docs/src/modules/components/AppNavDrawerItem'; -import type { Example } from './types'; +import { Example, versionGitHubLink } from './examplesUtils'; interface FeaturedExamplesProps { - examplesFile: string; + examples: Example[]; } -export default function FeaturedExamples(props: FeaturedExamplesProps) { +export default function ExamplesFeatured(props: FeaturedExamplesProps) { const t = useTranslate(); - const [examples, setExamples] = React.useState([]); - const [loading, setLoading] = React.useState(true); - - React.useEffect(() => { - const importExamples = async () => { - setLoading(true); - let exampleContent = await import(`./${props.examplesFile}`); - exampleContent = exampleContent - .default() - .filter((example: Example) => example.featured === true); - setExamples(exampleContent); - setLoading(false); - }; - importExamples(); - }, [props.examplesFile]); + const examples = props.examples.filter((example: Example) => example.featured === true); const docsTheme = useTheme(); - if (loading) { - return ( - - {[1].map((key) => ( - - - - - - ))} - - ); - } return ( @@ -84,7 +51,7 @@ export default function FeaturedExamples(props: FeaturedExamplesProps) { }} > ) : null} - + @@ -157,5 +146,3 @@ function ExamplesGrid(props: ExamplesGridProps) { ); } - -export default ExamplesGrid; diff --git a/docs/src/modules/components/examples/StudioExamples.tsx b/docs/src/modules/components/examples/StudioExamples.tsx new file mode 100644 index 00000000000..92adacac090 --- /dev/null +++ b/docs/src/modules/components/examples/StudioExamples.tsx @@ -0,0 +1,137 @@ +import * as React from 'react'; +import ExamplesGrid from 'docs-toolpad/src/modules/components/examples/ExamplesGrid'; +import type { Example } from './examplesUtils'; + +const examples = [ + { + title: 'npm stats', + description: + 'This analytics dashboard shows how to track a KPI from a third-party data source.', + src: '/static/toolpad/docs/studio/examples/npm-stats.png', + srcDark: '/static/toolpad/docs/studio/examples/npm-stats.png', // TODO fix + href: 'https://mui.com/toolpad/studio/examples/npm-stats/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/npm-stats/', + }, + { + title: 'Basic CRUD application', + description: 'An admin application to showcase how CRUD operations work in Toolpad Studio.', + src: '/static/toolpad/docs/studio/examples/basic-crud-app.png', + srcDark: '/static/toolpad/docs/studio/examples/basic-crud-app.png', // TODO fix + href: 'https://mui.com/toolpad/studio/examples/basic-crud-app/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/basic-crud-app/', + }, + { + title: 'QR Code generator', + description: + 'A basic Toolpad Studio application that can be used to turn any text or URL into a QR code.', + src: '/static/toolpad/docs/studio/examples/qr-generator.png', + srcDark: '/static/toolpad/docs/studio/examples/qr-generator.png', // TODO fix + href: 'https://mui.com/toolpad/studio/examples/qr-generator/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/qr-generator/', + }, + { + title: 'With Prisma', + description: + 'A basic Toolpad Studio application that demonstrates how to integrate with Prisma.', + src: '/static/toolpad/marketing/with-prisma-hero.png', + srcDark: '/static/toolpad/marketing/with-prisma-hero.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma/', + }, + { + title: 'Google Sheet', + description: 'Quickly fetch data from Google Sheets to build a Toolpad Studio app.', + src: '/static/toolpad/marketing/google-sheet.png', + srcDark: '/static/toolpad/marketing/google-sheet.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/google-sheet/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/google-sheet/', + }, + { + title: 'Dog app', + description: 'An app that shows dog images based on selected breeds or sub-breeds.', + src: '/static/toolpad/docs/studio/getting-started/first-app/step-13.png', + srcDark: '/static/toolpad/docs/studio/getting-started/first-app/step-13.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/dog-app/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/dog-app/', + }, + { + title: 'Customized data grid', + description: + 'A basic Toolpad Studio app that shows how to customize a data grid column using a custom code component.', + src: '/static/toolpad/marketing/custom-datagrid-column.png', + srcDark: '/static/toolpad/marketing/custom-datagrid-column.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-datagrid-column', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-datagrid-column/', + }, + { + title: 'GraphQL app', + description: 'An app that shows latest 100 stargazers info for any GitHub repository.', + src: '/static/toolpad/marketing/graphql.png', + srcDark: '/static/toolpad/marketing/graphql.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/graphql/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/graphql/', + }, + { + title: 'With WASM', + description: + 'A basic Toolpad Studio application that demonstrates integrating with WASM modules.', + src: '/static/toolpad/marketing/with-wasm.png', + srcDark: '/static/toolpad/marketing/with-wasm.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-wasm/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-wasm/', + }, + { + title: 'Data provider with prisma', + description: + 'A basic Toolpad Studio application that demonstrates how to use data providers with Prisma.', + src: '/static/toolpad/marketing/with-prisma-data-provider.png', + srcDark: '/static/toolpad/marketing/with-prisma-data-provider.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma-data-provider/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/with-prisma-data-provider/', + }, + { + title: 'With Supabase', + description: + 'A Toolpad Studio app that fetches data from Supabase and shows it in a list component.', + src: '/static/toolpad/marketing/supabase.png', + srcDark: '/static/toolpad/marketing/supabase.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/supabase/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/supabase/', + }, + { + title: 'Stripe invoice downloader', + description: 'A Stripe app to fetch and download invoices.', + src: '/static/toolpad/marketing/stripe-script.png', + srcDark: '/static/toolpad/marketing/stripe-script.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/stripe-script/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/stripe-script/', + }, + { + title: 'Charts', + description: 'A basic Toolpad Studio application that demonstrates how to use chart component.', + src: '/static/toolpad/marketing/charts.png', + srcDark: '/static/toolpad/marketing/charts.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/charts/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/charts/', + }, + { + title: 'Google Authentication', + description: 'An app that shows how to set up Google authentication in Toolpad Studio.', + src: '/static/toolpad/marketing/auth-google.png', + srcDark: '/static/toolpad/marketing/auth-google.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/auth-google/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/auth-google/', + }, + { + title: 'Custom server', + description: 'An app that shows how to use Toolpad Studio with a custom server.', + src: '/static/toolpad/marketing/custom-server.png', + srcDark: '/static/toolpad/marketing/custom-server.png', // TODO fix + href: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-server/', + source: 'https://github.com/mui/toolpad/tree/master/examples/studio/custom-server/', + }, +] satisfies Example[]; + +export default function StudioExamples() { + return ; +} diff --git a/docs/src/modules/components/examples/coreExamples.ts b/docs/src/modules/components/examples/coreExamples.ts new file mode 100644 index 00000000000..71449535b2a --- /dev/null +++ b/docs/src/modules/components/examples/coreExamples.ts @@ -0,0 +1,118 @@ +import type { Example } from './examplesUtils'; + +const coreExamples = [ + { + title: 'Functional dashboard', + description: + 'This example shows you how to get started building a dashboard with Toolpad Core, Next.js App Router, Auth.js and Material UI components in a customized theme.', + src: '/static/toolpad/docs/core/functional-dashboard.png', + href: 'https://mui.com/toolpad/core/templates/nextjs-dashboard/', + srcDark: '/static/toolpad/docs/core/functional-dashboard-dark.png', + source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-themed', + featured: true, + new: true, + codeSandbox: true, + stackBlitz: true, + }, + { + title: 'Vite with React Router and Firebase Auth', + description: + 'This app shows you to how to get started using Toolpad Core with Vite, React Router, and authentication using Firebase.', + src: '/static/toolpad/docs/core/firebase-vite-light.png', + srcDark: '/static/toolpad/docs/core/firebase-vite-dark.png', + source: 'https://github.com/mui/toolpad/tree/master/examples/core/firebase-vite', + // Show nothing + codeSandbox: false, + stackBlitz: false, + }, + { + title: 'Vite with React Router and mock authentication', + description: + 'This app shows you to how to get started using Toolpad Core with Vite, React Router and any external authentication provider.', + src: '/static/toolpad/docs/core/vite-react-router.png', + srcDark: '/static/toolpad/docs/core/vite-react-router.png', // TODO Fix + source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-vite', + codeSandbox: true, + // Show nothing + stackBlitz: false, + }, + { + title: 'Next.js App Router with Auth.js Passkey', + description: + 'This app shows you to how to get started using Toolpad Core with Auth.js Passkeys and the Next.js App Router.', + src: '/static/toolpad/docs/core/auth-next-passkey.png', + srcDark: '/static/toolpad/docs/core/auth-next-passkey-dark.png', + source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-passkey/', + // Crash with Prisma + codeSandbox: false, + stackBlitz: false, + }, + { + title: 'Auth.js v4 with Next.js Pages Router', + description: + 'This app shows you to how to get started using Toolpad Core with Auth.js v4 and the Next.js Pages router.', + src: '/static/toolpad/docs/core/auth-next.png', + srcDark: '/static/toolpad/docs/core/auth-next-dark.png', + source: + 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-pages-nextauth-4/', + codeSandbox: true, + // Show nothing + stackBlitz: false, + }, + { + title: 'Vite with React Router', + description: + 'This app shows you to how to get started using Toolpad Core with Vite and React Router.', + src: '/static/toolpad/docs/core/vite-react-router.png', + srcDark: '/static/toolpad/docs/core/vite-react-router.png', // TODO Fix + source: 'https://github.com/mui/toolpad/tree/master/examples/core/vite/', + codeSandbox: true, + // Show nothing + stackBlitz: false, + }, + { + title: 'Auth.js Magic Link with Next.js App Router', + description: + 'This app shows you to how to get started using Toolpad Core with Auth.js Magic Links and the Next.js App Router.', + src: '/static/toolpad/docs/core/auth-next.png', + srcDark: '/static/toolpad/docs/core/auth-next.png', // TODO Fix + source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-email', + // Crash with Prisma + codeSandbox: false, + stackBlitz: false, + }, + { + title: 'Auth.js with Next.js Pages Router', + description: + 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js Pages router.', + src: '/static/toolpad/docs/core/auth-next.png', + srcDark: '/static/toolpad/docs/core/auth-next-dark.png', + source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs-pages/', + // infinite redirection + codeSandbox: false, + stackBlitz: false, + }, + { + title: 'Auth.js with Next.js App Router', + description: + 'This app shows you to how to get started using Toolpad Core with Auth.js and the Next.js App Router.', + src: '/static/toolpad/docs/core/auth-next.png', + srcDark: '/static/toolpad/docs/core/auth-next-dark.png', + source: 'https://github.com/mui/toolpad/tree/master/examples/core/auth-nextjs/', + codeSandbox: true, + stackBlitz: true, + }, + { + title: 'Tutorial app', + description: + 'This app shows you to get started with Toolpad Core and use basic layout and navigation features.', + src: '/static/toolpad/docs/core/tutorial-1.png', + srcDark: '/static/toolpad/docs/core/tutorial-1.png', // TODO Fix + href: 'https://mui.com/toolpad/core/introduction/tutorial/', + source: 'https://github.com/mui/toolpad/tree/master/examples/core/tutorial/', + codeSandbox: true, + stackBlitz: true, + }, +] satisfies Example[]; + +export default coreExamples; diff --git a/docs/src/modules/components/examples/examplesUtils.ts b/docs/src/modules/components/examples/examplesUtils.ts new file mode 100644 index 00000000000..54404bbcf6a --- /dev/null +++ b/docs/src/modules/components/examples/examplesUtils.ts @@ -0,0 +1,31 @@ +// TODO move to docs-infra as a shared helper +/** + * This function allows to turn link from the docs to GitHub to be closer to permalink. + * Meaning, its purpose is so that we can version the docs while having it continue to work, or + * be able to introduce breaking changes on a next active branch without breaking the docs experience + * for stable version docs users. + */ +export function versionGitHubLink(href: string) { + // Bailed out, not a link that needs to be handled. + if (!href.startsWith(`${process.env.SOURCE_CODE_REPO}/tree/master`)) { + return href; + } + + return href.replace( + `${process.env.SOURCE_CODE_REPO}/tree/master`, + `${process.env.SOURCE_CODE_REPO}/blob/v${process.env.LIB_VERSION}`, + ); +} + +export interface Example { + title: string; + description: string; + src: string; + srcDark: string; + href?: string; + source: string; + codeSandbox?: boolean; + stackBlitz?: boolean; + new?: boolean; + featured?: boolean; +} From a7f95d1d143ed24b50b9267820e93995312df342 Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Mon, 30 Dec 2024 01:56:59 +0100 Subject: [PATCH 5/7] [docs] Link to docs on PRs (#4349) --- .circleci/config.yml | 19 +- dangerfile.ts | 21 ++ package.json | 1 + pnpm-lock.yaml | 463 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 499 insertions(+), 5 deletions(-) create mode 100644 dangerfile.ts diff --git a/.circleci/config.yml b/.circleci/config.yml index 4a4418c8924..5b00cd69850 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -30,7 +30,6 @@ commands: type: boolean default: false description: 'Set to true if you intend to use any browser (for example with playwright).' - steps: - when: condition: << parameters.browsers >> @@ -46,7 +45,6 @@ commands: name: Install pnpm package manager # See https://stackoverflow.com/a/73411601 command: corepack enable --install-directory ~/bin - - run: name: View install environment command: | @@ -133,7 +131,6 @@ jobs: test_unit: <<: *default-job - steps: - checkout - install_js: @@ -154,7 +151,6 @@ jobs: - image: mcr.microsoft.com/playwright:v1.48.2-focal environment: NODE_ENV: test - steps: - checkout - install_js: @@ -177,7 +173,6 @@ jobs: environment: NODE_ENV: test TOOLPAD_TEST_RETRIES: 1 - steps: - checkout - install_js: @@ -199,6 +194,16 @@ jobs: path: test/test-results destination: playwright-test-results + test_bundle_size_monitor: + <<: *default-job + steps: + - checkout + - install_js + - run: + name: Run danger on PRs + command: pnpm danger ci --fail-on-errors + # TODO test bundle size, similar to https://github.com/mui/base-ui/issues/201 + workflows: pipeline: jobs: @@ -228,3 +233,7 @@ workflows: <<: *default-context requires: - checkout + - test_bundle_size_monitor: + <<: *default-context + requires: + - checkout diff --git a/dangerfile.ts b/dangerfile.ts new file mode 100644 index 00000000000..1e033193330 --- /dev/null +++ b/dangerfile.ts @@ -0,0 +1,21 @@ +// danger has to be the first thing required! +import { danger, markdown } from 'danger'; + +function addDeployPreviewUrls() { + const netlifyPreview = `https://deploy-preview-${danger.github.pr.number}--mui-toolpad-docs.netlify.app/`; + + markdown(` +## Netlify deploy preview + +${netlifyPreview} +`); +} + +async function run() { + addDeployPreviewUrls(); +} + +run().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/package.json b/package.json index 62302572d3e..acb2d83da8d 100644 --- a/package.json +++ b/package.json @@ -76,6 +76,7 @@ "babel-plugin-transform-react-remove-prop-types": "0.4.24", "chalk": "5.3.0", "concurrently": "9.1.0", + "danger": "^12.3.3", "eslint": "8.57.1", "eslint-config-airbnb": "19.0.4", "eslint-config-airbnb-typescript": "18.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 73c24e6388a..9c30df23cd5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -160,6 +160,9 @@ importers: concurrently: specifier: 9.1.0 version: 9.1.0 + danger: + specifier: ^12.3.3 + version: 12.3.3(encoding@0.1.13) eslint: specifier: 8.57.1 version: 8.57.1 @@ -2690,6 +2693,18 @@ packages: '@floating-ui/utils@0.2.8': resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} + '@gitbeaker/core@38.12.1': + resolution: {integrity: sha512-8XMVcBIdVAAoxn7JtqmZ2Ee8f+AZLcCPmqEmPFOXY2jPS84y/DERISg/+sbhhb18iRy+ZsZhpWgQ/r3CkYNJOQ==} + engines: {node: '>=18.0.0'} + + '@gitbeaker/requester-utils@38.12.1': + resolution: {integrity: sha512-Rc/DgngS0YPN+AY1s9UnexKSy4Lh0bkQVAq9p7PRbRpXb33SlTeCg8eg/8+A/mrMcHgYmP0XhH8lkizyA5tBUQ==} + engines: {node: '>=18.0.0'} + + '@gitbeaker/rest@38.12.1': + resolution: {integrity: sha512-9KMSDtJ/sIov+5pcH+CAfiJXSiuYgN0KLKQFg0HHWR2DwcjGYkcbmhoZcWsaOWOqq4kihN1l7wX91UoRxxKKTQ==} + engines: {node: '>=18.0.0'} + '@googleapis/drive@8.14.0': resolution: {integrity: sha512-AOokfpP6pCdcJXWA8khaCEgbGpWYavWTdAAhL4idbbf2VCQcJ2f7vPalAYNu6a4Sfj0Ly4Ehnd1xw9J9TixB1A==} engines: {node: '>=12.0.0'} @@ -3754,28 +3769,48 @@ packages: cpu: [x64] os: [win32] + '@octokit/auth-token@2.5.0': + resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} + '@octokit/auth-token@3.0.4': resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==} engines: {node: '>= 14'} + '@octokit/core@3.6.0': + resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} + '@octokit/core@4.2.4': resolution: {integrity: sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==} engines: {node: '>= 14'} + '@octokit/endpoint@6.0.12': + resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} + '@octokit/endpoint@7.0.6': resolution: {integrity: sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==} engines: {node: '>= 14'} + '@octokit/graphql@4.8.0': + resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} + '@octokit/graphql@5.0.6': resolution: {integrity: sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==} engines: {node: '>= 14'} + '@octokit/openapi-types@12.11.0': + resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} + '@octokit/openapi-types@18.1.1': resolution: {integrity: sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==} '@octokit/plugin-enterprise-rest@6.0.1': resolution: {integrity: sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==} + '@octokit/plugin-paginate-rest@2.21.3': + resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==} + peerDependencies: + '@octokit/core': '>=2' + '@octokit/plugin-paginate-rest@6.1.2': resolution: {integrity: sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==} engines: {node: '>= 14'} @@ -3787,20 +3822,34 @@ packages: peerDependencies: '@octokit/core': '>=3' + '@octokit/plugin-rest-endpoint-methods@5.16.2': + resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==} + peerDependencies: + '@octokit/core': '>=3' + '@octokit/plugin-rest-endpoint-methods@7.2.3': resolution: {integrity: sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==} engines: {node: '>= 14'} peerDependencies: '@octokit/core': '>=3' + '@octokit/request-error@2.1.0': + resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} + '@octokit/request-error@3.0.3': resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==} engines: {node: '>= 14'} + '@octokit/request@5.6.3': + resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} + '@octokit/request@6.2.8': resolution: {integrity: sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==} engines: {node: '>= 14'} + '@octokit/rest@18.12.0': + resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==} + '@octokit/rest@19.0.11': resolution: {integrity: sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==} engines: {node: '>= 14'} @@ -3811,6 +3860,9 @@ packages: '@octokit/types@10.0.0': resolution: {integrity: sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==} + '@octokit/types@6.41.0': + resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} + '@octokit/types@9.3.2': resolution: {integrity: sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==} @@ -4109,6 +4161,10 @@ packages: peerDependencies: '@testing-library/dom': '>=7.21.4' + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + '@trendmicro/react-interpolate@0.5.5': resolution: {integrity: sha512-PjkRT3XeK30kGjmSRn//4L106ekZfFkjqQ85G8K1hDdT7aYdng0Hz1MSLJjW9XNiljdTNB8D8Sm4tiBhdz5P3A==} peerDependencies: @@ -4698,6 +4754,10 @@ packages: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + agent-base@7.1.1: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} @@ -4741,6 +4801,10 @@ packages: resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -4882,6 +4946,9 @@ packages: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} + async-retry@1.2.3: + resolution: {integrity: sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==} + async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} @@ -5116,6 +5183,10 @@ packages: chainsaw@0.1.0: resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + chalk@3.0.0: resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} engines: {node: '>=8'} @@ -5235,10 +5306,16 @@ packages: resolution: {integrity: sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -5253,6 +5330,10 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} + colors@1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + columnify@1.6.0: resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} engines: {node: '>=8.0.0'} @@ -5558,6 +5639,11 @@ packages: damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + danger@12.3.3: + resolution: {integrity: sha512-nZKzpgXN21rr4dwa6bFhM7G2JEa79dZRJiT3RVRSyi4yk1/hgZ2f8HDGoa7tMladTmu8WjJFyE3LpBIihh+aDw==} + engines: {node: '>=18'} + hasBin: true + dargs@7.0.0: resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} engines: {node: '>=8'} @@ -6202,6 +6288,10 @@ packages: resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==} engines: {node: ^18.19.0 || >=20.5.0} + expand-tilde@2.0.2: + resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} + engines: {node: '>=0.10.0'} + expect-type@1.1.0: resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} engines: {node: '>=12.0.0'} @@ -6217,6 +6307,10 @@ packages: resolution: {integrity: sha512-ORF7g6qGnD+YtUG9yx4DFoqCShNMmUKiXuT5oWMHiOvt/4WFbHC6yCwQMTSBMno7AqntNCAzzcnnjowRkTL9eQ==} engines: {node: '>= 18'} + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -6421,6 +6515,10 @@ packages: fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-exists-sync@0.1.0: + resolution: {integrity: sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==} + engines: {node: '>=0.10.0'} + fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} @@ -6507,6 +6605,10 @@ packages: resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} engines: {node: '>=16'} + get-stdin@6.0.0: + resolution: {integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==} + engines: {node: '>=4'} + get-stream@6.0.0: resolution: {integrity: sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==} engines: {node: '>=10'} @@ -6530,6 +6632,10 @@ packages: get-tsconfig@4.8.1: resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + git-config-path@1.0.1: + resolution: {integrity: sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==} + engines: {node: '>=0.10.0'} + git-raw-commits@3.0.0: resolution: {integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==} engines: {node: '>=14'} @@ -6662,6 +6768,14 @@ packages: has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + has-flag@2.0.0: + resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} + engines: {node: '>=0.10.0'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -6740,6 +6854,10 @@ packages: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} @@ -6756,6 +6874,10 @@ packages: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + https-proxy-agent@7.0.5: resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} @@ -6772,6 +6894,10 @@ packages: resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} engines: {node: '>=18.18.0'} + hyperlinker@1.0.0: + resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} + engines: {node: '>=4'} + hyphenate-style-name@1.1.0: resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} @@ -6931,6 +7057,10 @@ packages: is-electron@2.2.2: resolution: {integrity: sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==} + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -7266,6 +7396,10 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + jsonwebtoken@9.0.2: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} engines: {node: '>=12', npm: '>=6'} @@ -7466,6 +7600,9 @@ packages: lodash.escaperegexp@4.1.2: resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} + lodash.find@4.6.0: + resolution: {integrity: sha512-yaRZoAV3Xq28F1iafWN1+a0rflOej93l1DQUejs3SZ41h2O9UJBoS9aueGjPDgAl4B6tPC0NuuchLKaDQQ3Isg==} + lodash.flatten@4.4.0: resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} @@ -7499,6 +7636,9 @@ packages: lodash.isnumber@3.0.3: resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + lodash.isobject@3.0.2: + resolution: {integrity: sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==} + lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} @@ -7511,6 +7651,15 @@ packages: lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + lodash.keys@4.2.0: + resolution: {integrity: sha512-J79MkJcp7Df5mizHiVNpjoHXLi4HLjh9VLS/M7lQSGoQ+0oQ+lWEigREkqKyizPB1IawvQLLKY8mzEcm1tkyxQ==} + + lodash.mapvalues@4.6.0: + resolution: {integrity: sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -7670,6 +7819,9 @@ packages: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} engines: {node: '>= 0.8'} + memfs-or-file-map-to-github-branch@1.2.1: + resolution: {integrity: sha512-I/hQzJ2a/pCGR8fkSQ9l5Yx+FQ4e7X6blNHyWBm2ojeFLT3GVzGkTj7xnyWpdclrr7Nq4dmx3xrvu70m3ypzAQ==} + memfs@3.5.3: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} @@ -8063,6 +8215,9 @@ packages: nise@6.1.1: resolution: {integrity: sha512-aMSAzLVY7LyeM60gvBS423nBmIPP+Wy7St7hsb+8/fc1HmeoHJfLO8CKse4u3BtOZvQLJghYPI2i/1WZrEj5/g==} + node-cleanup@2.1.2: + resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} + node-dir@0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} engines: {node: '>= 0.10.5'} @@ -8300,6 +8455,9 @@ packages: outvariant@1.4.3: resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} + override-require@1.1.1: + resolution: {integrity: sha512-eoJ9YWxFcXbrn2U8FKT6RV+/Kj7fiGAB1VvHzbYKt8xM5ZuKZgCGvnHzDxmreEjcBH28ejg5MiOH4iyY1mQnkg==} + p-event@5.0.1: resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -8423,6 +8581,18 @@ packages: resolution: {integrity: sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + parse-diff@0.7.1: + resolution: {integrity: sha512-1j3l8IKcy4yRK2W4o9EYvJLSzpAVwz4DXqCewYyx2vEwk2gcf3DBPqc8Fj4XV3K33OYJ08A8fWwyu/ykD/HUSg==} + + parse-git-config@2.0.3: + resolution: {integrity: sha512-Js7ueMZOVSZ3tP8C7E3KZiHv6QQl7lnJ+OkbxoaFazzSa2KyEHqApfGbU3XboUgUnq4ZuUmskUpYKTNx01fm5A==} + engines: {node: '>=6'} + + parse-github-url@1.0.3: + resolution: {integrity: sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==} + engines: {node: '>= 0.10'} + hasBin: true + parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} @@ -8431,6 +8601,9 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-link-header@2.0.0: + resolution: {integrity: sha512-xjU87V0VyHZybn2RrCX5TIFGxTVZE6zqqZWMPlIKiSKuWh/X5WZdt+w1Ki1nXB+8L/KtL+nZ4iq+sfI6MrhhMw==} + parse-ms@4.0.0: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} @@ -8595,6 +8768,9 @@ packages: resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==} engines: {node: '>=10'} + pinpoint@1.1.0: + resolution: {integrity: sha512-+04FTD9x7Cls2rihLlo57QDCcHoLBGn5Dk51SwtFBWkUWLxZaBXyNVpCw1S+atvE7GmnFjeaRZ0WLq3UYuqAdg==} + pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -8769,6 +8945,10 @@ packages: peerDependencies: prettier: ^3.0.0 + prettyjson@1.2.5: + resolution: {integrity: sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==} + hasBin: true + prismjs@1.29.0: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} @@ -9070,6 +9250,10 @@ packages: resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} engines: {node: '>= 14.16.0'} + readline-sync@1.4.10: + resolution: {integrity: sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==} + engines: {node: '>= 0.8.0'} + recast@0.23.9: resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} engines: {node: '>= 4'} @@ -9110,6 +9294,9 @@ packages: regenerator-runtime@0.12.1: resolution: {integrity: sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==} + regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} @@ -9700,6 +9887,10 @@ packages: resolution: {integrity: sha512-W3n+NJ7TFjaLle8ihIIvsr/bbuKpnxeatsyjmhy7iSkom+/cshaHziCQAWXrHGWJVQSQFDOuES6C3nSEvcbrQg==} engines: {node: '>=16'} + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -9708,6 +9899,10 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} + supports-hyperlinks@1.0.1: + resolution: {integrity: sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==} + engines: {node: '>=4'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -10446,6 +10641,9 @@ packages: utf-8-validate: optional: true + xcase@2.0.1: + resolution: {integrity: sha512-UmFXIPU+9Eg3E9m/728Bii0lAIuoc+6nbrNUKaRPJOFp91ih44qqGlWtxMB6kXFrRD6po+86ksHM5XHCfk6iPw==} + xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} @@ -11944,6 +12142,22 @@ snapshots: '@floating-ui/utils@0.2.8': {} + '@gitbeaker/core@38.12.1': + dependencies: + '@gitbeaker/requester-utils': 38.12.1 + qs: 6.13.0 + xcase: 2.0.1 + + '@gitbeaker/requester-utils@38.12.1': + dependencies: + qs: 6.13.0 + xcase: 2.0.1 + + '@gitbeaker/rest@38.12.1': + dependencies: + '@gitbeaker/core': 38.12.1 + '@gitbeaker/requester-utils': 38.12.1 + '@googleapis/drive@8.14.0(encoding@0.1.13)': dependencies: googleapis-common: 7.2.0(encoding@0.1.13) @@ -13140,8 +13354,24 @@ snapshots: '@nx/nx-win32-x64-msvc@19.8.9': optional: true + '@octokit/auth-token@2.5.0': + dependencies: + '@octokit/types': 6.41.0 + '@octokit/auth-token@3.0.4': {} + '@octokit/core@3.6.0(encoding@0.1.13)': + dependencies: + '@octokit/auth-token': 2.5.0 + '@octokit/graphql': 4.8.0(encoding@0.1.13) + '@octokit/request': 5.6.3(encoding@0.1.13) + '@octokit/request-error': 2.1.0 + '@octokit/types': 6.41.0 + before-after-hook: 2.2.3 + universal-user-agent: 6.0.1 + transitivePeerDependencies: + - encoding + '@octokit/core@4.2.4(encoding@0.1.13)': dependencies: '@octokit/auth-token': 3.0.4 @@ -13154,12 +13384,26 @@ snapshots: transitivePeerDependencies: - encoding + '@octokit/endpoint@6.0.12': + dependencies: + '@octokit/types': 6.41.0 + is-plain-object: 5.0.0 + universal-user-agent: 6.0.1 + '@octokit/endpoint@7.0.6': dependencies: '@octokit/types': 9.3.2 is-plain-object: 5.0.0 universal-user-agent: 6.0.1 + '@octokit/graphql@4.8.0(encoding@0.1.13)': + dependencies: + '@octokit/request': 5.6.3(encoding@0.1.13) + '@octokit/types': 6.41.0 + universal-user-agent: 6.0.1 + transitivePeerDependencies: + - encoding + '@octokit/graphql@5.0.6(encoding@0.1.13)': dependencies: '@octokit/request': 6.2.8(encoding@0.1.13) @@ -13168,31 +13412,65 @@ snapshots: transitivePeerDependencies: - encoding + '@octokit/openapi-types@12.11.0': {} + '@octokit/openapi-types@18.1.1': {} '@octokit/plugin-enterprise-rest@6.0.1': {} + '@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0(encoding@0.1.13))': + dependencies: + '@octokit/core': 3.6.0(encoding@0.1.13) + '@octokit/types': 6.41.0 + '@octokit/plugin-paginate-rest@6.1.2(@octokit/core@4.2.4(encoding@0.1.13))': dependencies: '@octokit/core': 4.2.4(encoding@0.1.13) '@octokit/tsconfig': 1.0.2 '@octokit/types': 9.3.2 + '@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0(encoding@0.1.13))': + dependencies: + '@octokit/core': 3.6.0(encoding@0.1.13) + '@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.4(encoding@0.1.13))': dependencies: '@octokit/core': 4.2.4(encoding@0.1.13) + '@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0(encoding@0.1.13))': + dependencies: + '@octokit/core': 3.6.0(encoding@0.1.13) + '@octokit/types': 6.41.0 + deprecation: 2.3.1 + '@octokit/plugin-rest-endpoint-methods@7.2.3(@octokit/core@4.2.4(encoding@0.1.13))': dependencies: '@octokit/core': 4.2.4(encoding@0.1.13) '@octokit/types': 10.0.0 + '@octokit/request-error@2.1.0': + dependencies: + '@octokit/types': 6.41.0 + deprecation: 2.3.1 + once: 1.4.0 + '@octokit/request-error@3.0.3': dependencies: '@octokit/types': 9.3.2 deprecation: 2.3.1 once: 1.4.0 + '@octokit/request@5.6.3(encoding@0.1.13)': + dependencies: + '@octokit/endpoint': 6.0.12 + '@octokit/request-error': 2.1.0 + '@octokit/types': 6.41.0 + is-plain-object: 5.0.0 + node-fetch: 2.7.0(encoding@0.1.13) + universal-user-agent: 6.0.1 + transitivePeerDependencies: + - encoding + '@octokit/request@6.2.8(encoding@0.1.13)': dependencies: '@octokit/endpoint': 7.0.6 @@ -13204,6 +13482,15 @@ snapshots: transitivePeerDependencies: - encoding + '@octokit/rest@18.12.0(encoding@0.1.13)': + dependencies: + '@octokit/core': 3.6.0(encoding@0.1.13) + '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0(encoding@0.1.13)) + '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0(encoding@0.1.13)) + '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0(encoding@0.1.13)) + transitivePeerDependencies: + - encoding + '@octokit/rest@19.0.11(encoding@0.1.13)': dependencies: '@octokit/core': 4.2.4(encoding@0.1.13) @@ -13219,6 +13506,10 @@ snapshots: dependencies: '@octokit/openapi-types': 18.1.1 + '@octokit/types@6.41.0': + dependencies: + '@octokit/openapi-types': 12.11.0 + '@octokit/types@9.3.2': dependencies: '@octokit/openapi-types': 18.1.1 @@ -13531,6 +13822,8 @@ snapshots: dependencies: '@testing-library/dom': 10.4.0 + '@tootallnate/once@2.0.0': {} + '@trendmicro/react-interpolate@0.5.5(react@18.3.1)': dependencies: lodash.omit: 4.5.0 @@ -14273,6 +14566,12 @@ snapshots: address@1.2.2: {} + agent-base@6.0.2: + dependencies: + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + agent-base@7.1.1: dependencies: debug: 4.3.7 @@ -14333,6 +14632,10 @@ snapshots: ansi-regex@6.1.0: {} + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -14525,6 +14828,10 @@ snapshots: dependencies: tslib: 2.8.1 + async-retry@1.2.3: + dependencies: + retry: 0.12.0 + async@3.2.6: {} asynckit@0.4.0: {} @@ -14819,6 +15126,12 @@ snapshots: dependencies: traverse: 0.3.9 + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + chalk@3.0.0: dependencies: ansi-styles: 4.3.0 @@ -14924,10 +15237,16 @@ snapshots: cmd-shim@6.0.3: {} + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + color-convert@2.0.1: dependencies: color-name: 1.1.4 + color-name@1.1.3: {} + color-name@1.1.4: {} color-string@1.9.1: @@ -14942,6 +15261,8 @@ snapshots: color-convert: 2.0.1 color-string: 1.9.1 + colors@1.4.0: {} + columnify@1.6.0: dependencies: strip-ansi: 6.0.1 @@ -15275,6 +15596,49 @@ snapshots: damerau-levenshtein@1.0.8: {} + danger@12.3.3(encoding@0.1.13): + dependencies: + '@gitbeaker/rest': 38.12.1 + '@octokit/rest': 18.12.0(encoding@0.1.13) + async-retry: 1.2.3 + chalk: 2.4.2 + commander: 2.20.3 + core-js: 3.39.0 + debug: 4.3.7 + fast-json-patch: 3.1.1 + get-stdin: 6.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + hyperlinker: 1.0.0 + json5: 2.2.3 + jsonpointer: 5.0.1 + jsonwebtoken: 9.0.2 + lodash.find: 4.6.0 + lodash.includes: 4.3.0 + lodash.isobject: 3.0.2 + lodash.keys: 4.2.0 + lodash.mapvalues: 4.6.0 + lodash.memoize: 4.1.2 + memfs-or-file-map-to-github-branch: 1.2.1(encoding@0.1.13) + micromatch: 4.0.8 + node-cleanup: 2.1.2 + node-fetch: 2.7.0(encoding@0.1.13) + override-require: 1.1.1 + p-limit: 2.3.0 + parse-diff: 0.7.1 + parse-git-config: 2.0.3 + parse-github-url: 1.0.3 + parse-link-header: 2.0.0 + pinpoint: 1.1.0 + prettyjson: 1.2.5 + readline-sync: 1.4.10 + regenerator-runtime: 0.13.11 + require-from-string: 2.0.2 + supports-hyperlinks: 1.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dargs@7.0.0: {} data-urls@5.0.0: @@ -16155,6 +16519,10 @@ snapshots: strip-final-newline: 4.0.0 yoctocolors: 2.1.1 + expand-tilde@2.0.2: + dependencies: + homedir-polyfill: 1.0.3 + expect-type@1.1.0: {} exponential-backoff@3.1.1: {} @@ -16232,6 +16600,10 @@ snapshots: transitivePeerDependencies: - supports-color + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + extend@3.0.2: {} external-editor@3.1.0: @@ -16453,6 +16825,8 @@ snapshots: fs-constants@1.0.0: {} + fs-exists-sync@0.1.0: {} + fs-extra@11.2.0: dependencies: graceful-fs: 4.2.11 @@ -16550,6 +16924,8 @@ snapshots: get-port@7.1.0: {} + get-stdin@6.0.0: {} + get-stream@6.0.0: {} get-stream@6.0.1: {} @@ -16571,6 +16947,12 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + git-config-path@1.0.1: + dependencies: + extend-shallow: 2.0.1 + fs-exists-sync: 0.1.0 + homedir-polyfill: 1.0.3 + git-raw-commits@3.0.0: dependencies: dargs: 7.0.0 @@ -16760,6 +17142,10 @@ snapshots: has-bigints@1.0.2: {} + has-flag@2.0.0: {} + + has-flag@3.0.0: {} + has-flag@4.0.0: {} has-property-descriptors@1.0.2: @@ -16837,6 +17223,14 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 + http-proxy-agent@5.0.0: + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 @@ -16873,6 +17267,13 @@ snapshots: transitivePeerDependencies: - debug + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.3.7 + transitivePeerDependencies: + - supports-color + https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 @@ -16886,6 +17287,8 @@ snapshots: human-signals@8.0.0: {} + hyperlinker@1.0.0: {} + hyphenate-style-name@1.1.0: {} iconv-lite@0.4.24: @@ -17044,6 +17447,8 @@ snapshots: is-electron@2.2.2: {} + is-extendable@0.1.1: {} + is-extglob@2.1.1: {} is-finalizationregistry@1.0.2: @@ -17346,6 +17751,8 @@ snapshots: jsonparse@1.3.1: {} + jsonpointer@5.0.1: {} + jsonwebtoken@9.0.2: dependencies: jws: 3.2.2 @@ -17673,6 +18080,8 @@ snapshots: lodash.escaperegexp@4.1.2: {} + lodash.find@4.6.0: {} + lodash.flatten@4.4.0: {} lodash.get@4.4.2: {} @@ -17695,6 +18104,8 @@ snapshots: lodash.isnumber@3.0.3: {} + lodash.isobject@3.0.2: {} + lodash.isplainobject@4.0.6: {} lodash.isstring@4.0.1: {} @@ -17703,6 +18114,12 @@ snapshots: lodash.kebabcase@4.1.1: {} + lodash.keys@4.2.0: {} + + lodash.mapvalues@4.6.0: {} + + lodash.memoize@4.1.2: {} + lodash.merge@4.6.2: {} lodash.omit@4.5.0: {} @@ -17879,6 +18296,12 @@ snapshots: media-typer@1.1.0: {} + memfs-or-file-map-to-github-branch@1.2.1(encoding@0.1.13): + dependencies: + '@octokit/rest': 18.12.0(encoding@0.1.13) + transitivePeerDependencies: + - encoding + memfs@3.5.3: dependencies: fs-monkey: 1.0.6 @@ -18330,6 +18753,8 @@ snapshots: just-extend: 6.2.0 path-to-regexp: 8.2.0 + node-cleanup@2.1.2: {} + node-dir@0.1.17: dependencies: minimatch: 3.1.2 @@ -18655,6 +19080,8 @@ snapshots: outvariant@1.4.3: {} + override-require@1.1.1: {} + p-event@5.0.1: dependencies: p-timeout: 5.1.0 @@ -18785,6 +19212,16 @@ snapshots: just-diff: 6.0.2 just-diff-apply: 5.5.0 + parse-diff@0.7.1: {} + + parse-git-config@2.0.3: + dependencies: + expand-tilde: 2.0.2 + git-config-path: 1.0.1 + ini: 1.3.8 + + parse-github-url@1.0.3: {} + parse-json@4.0.0: dependencies: error-ex: 1.3.2 @@ -18797,6 +19234,10 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-link-header@2.0.0: + dependencies: + xtend: 4.0.2 + parse-ms@4.0.0: {} parse-passwd@1.0.0: {} @@ -18928,6 +19369,8 @@ snapshots: pify@5.0.0: {} + pinpoint@1.1.0: {} + pirates@4.0.6: {} piscina@4.7.0: @@ -19071,6 +19514,11 @@ snapshots: prettier: 3.4.1 tslib: 2.8.1 + prettyjson@1.2.5: + dependencies: + colors: 1.4.0 + minimist: 1.2.8 + prismjs@1.29.0: {} proc-log@4.2.0: {} @@ -19426,6 +19874,8 @@ snapshots: readdirp@4.0.2: {} + readline-sync@1.4.10: {} + recast@0.23.9: dependencies: ast-types: 0.16.1 @@ -19483,6 +19933,8 @@ snapshots: regenerator-runtime@0.12.1: {} + regenerator-runtime@0.13.11: {} + regenerator-runtime@0.14.1: {} regenerator-transform@0.15.2: @@ -20183,6 +20635,10 @@ snapshots: dependencies: copy-anything: 3.0.5 + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -20191,6 +20647,11 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-hyperlinks@1.0.1: + dependencies: + has-flag: 2.0.0 + supports-color: 5.5.0 + supports-preserve-symlinks-flag@1.0.0: {} symbol-tree@3.2.4: {} @@ -20995,6 +21456,8 @@ snapshots: ws@8.18.0: {} + xcase@2.0.1: {} + xml-name-validator@5.0.0: {} xmlchars@2.2.0: {} From a8b74d4e6a680d660e3820ecc94ac75e24e04794 Mon Sep 17 00:00:00 2001 From: Olivier Tassinari Date: Thu, 2 Jan 2025 22:58:08 +0100 Subject: [PATCH 6/7] [core] Fix docs:build to work in docs folder too --- docs/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/package.json b/docs/package.json index b87e5296328..d5f41531ae6 100644 --- a/docs/package.json +++ b/docs/package.json @@ -5,7 +5,7 @@ "author": "MUI Toolpad", "license": "MIT", "scripts": { - "build": "rimraf docs/export && cross-env NODE_ENV=production next build --profile && pnpm build-sw", + "build": "rimraf ./export && cross-env NODE_ENV=production next build --profile && pnpm build-sw", "build:clean": "rimraf .next && pnpm build", "build-sw": "node ./scripts/buildServiceWorker.js", "dev": "next dev --port 3003", From c8d31260f0d4ce76a7817f374eaf5de79c4d8a70 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Jan 2025 13:47:18 +0000 Subject: [PATCH 7/7] Bump Vitest to 2.1.8 (#4521) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 6 +- packages/toolpad-core/package.json | 4 +- packages/toolpad-utils/package.json | 2 +- pnpm-lock.yaml | 156 ++++++++++++++-------------- 4 files changed, 84 insertions(+), 84 deletions(-) diff --git a/package.json b/package.json index acb2d83da8d..bf11b3e9f30 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "@types/yargs": "17.0.33", "@typescript-eslint/eslint-plugin": "7.18.0", "@typescript-eslint/parser": "7.18.0", - "@vitest/coverage-v8": "2.1.7", + "@vitest/coverage-v8": "2.1.8", "babel-plugin-react-remove-properties": "0.3.0", "babel-plugin-transform-react-remove-prop-types": "0.4.24", "chalk": "5.3.0", @@ -114,7 +114,7 @@ }, "dependencies": { "@types/lodash": "4.17.13", - "@vitest/browser": "2.1.7", + "@vitest/browser": "2.1.8", "archiver": "7.0.1", "cross-env": "7.0.3", "dotenv-cli": "7.4.4", @@ -125,7 +125,7 @@ "semver": "7.6.3", "tsup": "8.3.5", "tsx": "4.19.2", - "vitest": "2.1.7", + "vitest": "2.1.8", "yargs": "17.7.2", "zod": "3.23.8", "zod-to-json-schema": "3.23.5" diff --git a/packages/toolpad-core/package.json b/packages/toolpad-core/package.json index 604d8a528ec..572ece518dc 100644 --- a/packages/toolpad-core/package.json +++ b/packages/toolpad-core/package.json @@ -72,13 +72,13 @@ "@types/react": "18.3.18", "@types/react-dom": "18.3.1", "@types/sinon": "^17.0.3", - "@vitest/browser": "2.1.7", + "@vitest/browser": "2.1.8", "next": "^15.1.2", "next-router-mock": "^0.9.13", "playwright": "^1.47.2", "react-router-dom": "6.26.2", "sinon": "^19.0.2", - "vitest": "2.1.7" + "vitest": "2.1.8" }, "peerDependencies": { "@mui/icons-material": "5 - 6", diff --git a/packages/toolpad-utils/package.json b/packages/toolpad-utils/package.json index ece090915c8..d29fd9c8904 100644 --- a/packages/toolpad-utils/package.json +++ b/packages/toolpad-utils/package.json @@ -71,6 +71,6 @@ "@types/react": "18.3.18", "@types/react-is": "18.3.0", "@types/title": "3.4.3", - "vitest": "2.1.7" + "vitest": "2.1.8" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9c30df23cd5..55de90eb744 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,8 +16,8 @@ importers: specifier: 4.17.13 version: 4.17.13 '@vitest/browser': - specifier: 2.1.7 - version: 2.1.7(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7) + specifier: 2.1.8 + version: 2.1.8(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8) archiver: specifier: 7.0.1 version: 7.0.1 @@ -49,8 +49,8 @@ importers: specifier: 4.19.2 version: 4.19.2 vitest: - specifier: 2.1.7 - version: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) + specifier: 2.1.8 + version: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) yargs: specifier: 17.7.2 version: 17.7.2 @@ -146,8 +146,8 @@ importers: specifier: 7.18.0 version: 7.18.0(eslint@8.57.1)(typescript@5.7.2) '@vitest/coverage-v8': - specifier: 2.1.7 - version: 2.1.7(@vitest/browser@2.1.7)(vitest@2.1.7) + specifier: 2.1.8 + version: 2.1.8(@vitest/browser@2.1.8)(vitest@2.1.8) babel-plugin-react-remove-properties: specifier: 0.3.0 version: 0.3.0 @@ -261,10 +261,10 @@ importers: version: 5.0.0 vitest-dom: specifier: 0.1.1 - version: 0.1.1(vitest@2.1.7) + version: 0.1.1(vitest@2.1.8) vitest-fail-on-console: specifier: 0.7.1 - version: 0.7.1(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7) + version: 0.7.1(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8) docs: dependencies: @@ -657,8 +657,8 @@ importers: specifier: ^17.0.3 version: 17.0.3 '@vitest/browser': - specifier: 2.1.7 - version: 2.1.7(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7) + specifier: 2.1.8 + version: 2.1.8(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8) next: specifier: ^15.1.2 version: 15.1.2(@babel/core@7.26.0)(@playwright/test@1.47.2)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -675,8 +675,8 @@ importers: specifier: ^19.0.2 version: 19.0.2 vitest: - specifier: 2.1.7 - version: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) + specifier: 2.1.8 + version: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) publishDirectory: build packages/toolpad-studio: @@ -1196,8 +1196,8 @@ importers: specifier: 3.4.3 version: 3.4.3 vitest: - specifier: 2.1.7 - version: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) + specifier: 2.1.8 + version: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) playground/nextjs: devDependencies: @@ -4595,12 +4595,12 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 - '@vitest/browser@2.1.7': - resolution: {integrity: sha512-jR5rNWDH8v50tzcwM7R1DGYu/3MNmXFW/BaNJkhkOee3GJ0MfT1KNWNAFWyjSExPUPnFqlijBPWobG3rTLdPeg==} + '@vitest/browser@2.1.8': + resolution: {integrity: sha512-OWVvEJThRgxlNMYNVLEK/9qVkpRcLvyuKLngIV3Hob01P56NjPHprVBYn+rx4xAJudbM9yrCrywPIEuA3Xyo8A==} peerDependencies: playwright: '*' safaridriver: '*' - vitest: 2.1.7 + vitest: 2.1.8 webdriverio: '*' peerDependenciesMeta: playwright: @@ -4610,20 +4610,20 @@ packages: webdriverio: optional: true - '@vitest/coverage-v8@2.1.7': - resolution: {integrity: sha512-deQ4J+yu6nEjmEfcBndbgrRM95IZoRpV1dDVRbZhjUcgYVZz/Wc4YaLiDDt9Sy5qcikrJUZMlrUxDy7dBojebg==} + '@vitest/coverage-v8@2.1.8': + resolution: {integrity: sha512-2Y7BPlKH18mAZYAW1tYByudlCYrQyl5RGvnnDYJKW5tCiO5qg3KSAy3XAxcxKz900a0ZXxWtKrMuZLe3lKBpJw==} peerDependencies: - '@vitest/browser': 2.1.7 - vitest: 2.1.7 + '@vitest/browser': 2.1.8 + vitest: 2.1.8 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@2.1.7': - resolution: {integrity: sha512-folWk4qQDEedgUyvaZw94LIJuNLoDtY+rhKhhNy0csdwifn/pQz8EWVRnyrW3j0wMpy+xwJT8WiwiYxk+i+s7w==} + '@vitest/expect@2.1.8': + resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==} - '@vitest/mocker@2.1.7': - resolution: {integrity: sha512-nKMTnuJrarFH+7llWxeLmYRldIwTY3OM1DzdytHj0f2+fah6Cyk4XbswhjOiTCnAvXsZAEoo1OaD6rneSSU+3Q==} + '@vitest/mocker@2.1.8': + resolution: {integrity: sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 @@ -4633,20 +4633,20 @@ packages: vite: optional: true - '@vitest/pretty-format@2.1.7': - resolution: {integrity: sha512-HoqRIyfQlXPrRDB43h0lC8eHPUDPwFweMaD6t+psOvwClCC+oZZim6wPMjuoMnRdiFxXqbybg/QbuewgTwK1vA==} + '@vitest/pretty-format@2.1.8': + resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==} - '@vitest/runner@2.1.7': - resolution: {integrity: sha512-MrDNpXUIXksR57qipYh068SOX4N1hVw6oVILlTlfeTyA1rp0asuljyp15IZwKqhjpWLObFj+tiNrOM4R8UnSqg==} + '@vitest/runner@2.1.8': + resolution: {integrity: sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==} - '@vitest/snapshot@2.1.7': - resolution: {integrity: sha512-OioIxV/xS393DKdlkRNhmtY0K37qVdCv8w1M2SlLTBSX+fNK6zgcd01VlT1nXdbKVDaB8Zb6BOfQYYoGeGTEGg==} + '@vitest/snapshot@2.1.8': + resolution: {integrity: sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==} - '@vitest/spy@2.1.7': - resolution: {integrity: sha512-e5pzIaIC0LBrb/j1FaF7HXlPJLGtltiAkwXTMqNEHALJc7USSLEwziJ+aIWTmjsWNg89zazg37h7oZITnublsQ==} + '@vitest/spy@2.1.8': + resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==} - '@vitest/utils@2.1.7': - resolution: {integrity: sha512-7gUdvIzCCuIrMZu0WHTvDJo8C1NsUtOqmwmcS3bRHUcfHemj29wmkzLVNuWQD7WHoBD/+I7WIgrnzt7kxR54ow==} + '@vitest/utils@2.1.8': + resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==} '@webassemblyjs/ast@1.12.1': resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} @@ -10404,9 +10404,9 @@ packages: victory-vendor@36.9.2: resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} - vite-node@2.1.7: - resolution: {integrity: sha512-b/5MxSWd0ftWt1B1LHfzCw0ASzaxHztUwP0rcsBhkDSGy9ZDEDieSIjFG3I78nI9dUN0eSeD6LtuKPZGjwwpZQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vite-node@2.1.8: + resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true vite@5.4.11: @@ -10451,15 +10451,15 @@ packages: vite: '>=4.5.2' vitest: '>=0.26.2' - vitest@2.1.7: - resolution: {integrity: sha512-wzJ7Wri44ufkzTZbI1lHsdHfiGdFRmnJ9qIudDQ6tknjJeHhF5QgNSSjk7KRZUU535qEiEXFJ7tSHqyzyIv0jQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vitest@2.1.8: + resolution: {integrity: sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^20.17.6 - '@vitest/browser': 2.1.7 - '@vitest/ui': 2.1.7 + '@vitest/browser': 2.1.8 + '@vitest/ui': 2.1.8 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -14356,17 +14356,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/browser@2.1.7(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7)': + '@vitest/browser@2.1.8(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8)': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) - '@vitest/mocker': 2.1.7(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0)) - '@vitest/utils': 2.1.7 + '@vitest/mocker': 2.1.8(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0)) + '@vitest/utils': 2.1.8 magic-string: 0.30.12 msw: 2.6.5(@types/node@20.17.6)(typescript@5.7.2) sirv: 3.0.0 tinyrainbow: 1.2.0 - vitest: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) + vitest: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) ws: 8.18.0 optionalDependencies: playwright: 1.48.2 @@ -14377,7 +14377,7 @@ snapshots: - utf-8-validate - vite - '@vitest/coverage-v8@2.1.7(@vitest/browser@2.1.7)(vitest@2.1.7)': + '@vitest/coverage-v8@2.1.8(@vitest/browser@2.1.8)(vitest@2.1.8)': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -14391,50 +14391,50 @@ snapshots: std-env: 3.8.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) + vitest: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) optionalDependencies: - '@vitest/browser': 2.1.7(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7) + '@vitest/browser': 2.1.8(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8) transitivePeerDependencies: - supports-color - '@vitest/expect@2.1.7': + '@vitest/expect@2.1.8': dependencies: - '@vitest/spy': 2.1.7 - '@vitest/utils': 2.1.7 + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.7(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))': + '@vitest/mocker@2.1.8(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))': dependencies: - '@vitest/spy': 2.1.7 + '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: msw: 2.6.5(@types/node@20.17.6)(typescript@5.7.2) vite: 5.4.11(@types/node@20.17.6)(terser@5.36.0) - '@vitest/pretty-format@2.1.7': + '@vitest/pretty-format@2.1.8': dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@2.1.7': + '@vitest/runner@2.1.8': dependencies: - '@vitest/utils': 2.1.7 + '@vitest/utils': 2.1.8 pathe: 1.1.2 - '@vitest/snapshot@2.1.7': + '@vitest/snapshot@2.1.8': dependencies: - '@vitest/pretty-format': 2.1.7 + '@vitest/pretty-format': 2.1.8 magic-string: 0.30.12 pathe: 1.1.2 - '@vitest/spy@2.1.7': + '@vitest/spy@2.1.8': dependencies: tinyspy: 3.0.2 - '@vitest/utils@2.1.7': + '@vitest/utils@2.1.8': dependencies: - '@vitest/pretty-format': 2.1.7 + '@vitest/pretty-format': 2.1.8 loupe: 3.1.2 tinyrainbow: 1.2.0 @@ -21163,7 +21163,7 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 - vite-node@2.1.7(@types/node@20.17.6)(terser@5.36.0): + vite-node@2.1.8(@types/node@20.17.6)(terser@5.36.0): dependencies: cac: 6.7.14 debug: 4.3.7 @@ -21191,7 +21191,7 @@ snapshots: fsevents: 2.3.3 terser: 5.36.0 - vitest-dom@0.1.1(vitest@2.1.7): + vitest-dom@0.1.1(vitest@2.1.8): dependencies: aria-query: 5.3.2 chalk: 5.3.0 @@ -21199,23 +21199,23 @@ snapshots: dom-accessibility-api: 0.6.3 lodash-es: 4.17.21 redent: 4.0.0 - vitest: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) + vitest: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) - vitest-fail-on-console@0.7.1(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7): + vitest-fail-on-console@0.7.1(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8): dependencies: chalk: 5.3.0 vite: 5.4.11(@types/node@20.17.6)(terser@5.36.0) - vitest: 2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) + vitest: 2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0) - vitest@2.1.7(@types/node@20.17.6)(@vitest/browser@2.1.7)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0): + vitest@2.1.8(@types/node@20.17.6)(@vitest/browser@2.1.8)(jsdom@25.0.1)(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(terser@5.36.0): dependencies: - '@vitest/expect': 2.1.7 - '@vitest/mocker': 2.1.7(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0)) - '@vitest/pretty-format': 2.1.7 - '@vitest/runner': 2.1.7 - '@vitest/snapshot': 2.1.7 - '@vitest/spy': 2.1.7 - '@vitest/utils': 2.1.7 + '@vitest/expect': 2.1.8 + '@vitest/mocker': 2.1.8(msw@2.6.5(@types/node@20.17.6)(typescript@5.7.2))(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0)) + '@vitest/pretty-format': 2.1.8 + '@vitest/runner': 2.1.8 + '@vitest/snapshot': 2.1.8 + '@vitest/spy': 2.1.8 + '@vitest/utils': 2.1.8 chai: 5.1.2 debug: 4.3.7 expect-type: 1.1.0 @@ -21227,11 +21227,11 @@ snapshots: tinypool: 1.0.1 tinyrainbow: 1.2.0 vite: 5.4.11(@types/node@20.17.6)(terser@5.36.0) - vite-node: 2.1.7(@types/node@20.17.6)(terser@5.36.0) + vite-node: 2.1.8(@types/node@20.17.6)(terser@5.36.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 20.17.6 - '@vitest/browser': 2.1.7(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.7) + '@vitest/browser': 2.1.8(@types/node@20.17.6)(playwright@1.48.2)(typescript@5.7.2)(vite@5.4.11(@types/node@20.17.6)(terser@5.36.0))(vitest@2.1.8) jsdom: 25.0.1 transitivePeerDependencies: - less