diff --git a/examples/custom-server/.eslintrc.js b/examples/custom-server/.eslintrc.js index 19b786c12..8dc3d9095 100644 --- a/examples/custom-server/.eslintrc.js +++ b/examples/custom-server/.eslintrc.js @@ -1,5 +1,5 @@ module.exports = { root: true, - extends: ['@payloadcms'], + extends: ['plugin:@next/next/recommended', '@payloadcms'], ignorePatterns: ['**/payload-types.ts'], } diff --git a/examples/custom-server/README.md b/examples/custom-server/README.md index a214ae0f0..7f9302c63 100644 --- a/examples/custom-server/README.md +++ b/examples/custom-server/README.md @@ -84,13 +84,9 @@ Check out the [package.json](./src/package.json) in this repository for a comple ## Eject -To eject Next.js from this template and replace it with another front-end framework, follow these steps: +If you prefer another front-end framework or would like to use Payload as a standalone CMS, you can easily eject the front-end from this template. To eject, simply run `yarn eject`. This will uninstall all Next.js related dependencies and delete all files and folders related to the Next.js front-end. It also removes all custom routing from your `server.ts` file and updates your `eslintrc.js`. -1. Remove the `next`, `react`, and `react-dom` dependencies from your `package.json` file -1. Remove the `next.config.js` and `next-env.d.ts` files from your project root -1. Remove the `./src/app` directory and all of its contents - -Now you can install and setup any other framework you'd like. Follow the [Express](#express) instructions above to make the necessary changes to build and serve your front-end. +> Note: Your eject script may not work as expected if you've made significant modifications to your project. If you run into any issues, compare your project's dependencies and file structure with this template, see [./src/eject](./src/eject) for full details. ## Development diff --git a/examples/custom-server/eject.ts b/examples/custom-server/eject.ts new file mode 100644 index 000000000..cc91361df --- /dev/null +++ b/examples/custom-server/eject.ts @@ -0,0 +1,36 @@ +import fs from 'fs' +import path from 'path' + +// Run this script to eject the front-end from this template +// This will remove all template-specific files and directories +// See `yarn eject` in `package.json` for the exact command +// See `./README.md#eject` for more information + +const files = ['./next.config.js', './next-env.d.ts'] +const directories = ['./src/app'] + +const eject = async (): Promise => { + files.forEach(file => { + fs.unlinkSync(path.join(__dirname, file)) + }) + + directories.forEach(directory => { + fs.rm(path.join(__dirname, directory), { recursive: true }, err => { + if (err) throw err + }) + }) + + // create a new `./src/server.ts` file + // use contents from `./src/server.default.ts` + const serverFile = path.join(__dirname, './src/server.ts') + const serverDefaultFile = path.join(__dirname, './src/server.default.ts') + fs.copyFileSync(serverDefaultFile, serverFile) + + // remove `'plugin:@next/next/recommended', ` from `./.eslintrc.js` + const eslintConfigFile = path.join(__dirname, './.eslintrc.js') + const eslintConfig = fs.readFileSync(eslintConfigFile, 'utf8') + const updatedEslintConfig = eslintConfig.replace(`'plugin:@next/next/recommended', `, '') + fs.writeFileSync(eslintConfigFile, updatedEslintConfig, 'utf8') +} + +eject() diff --git a/examples/custom-server/package.json b/examples/custom-server/package.json index 7dedc5e23..15eabbf3d 100644 --- a/examples/custom-server/package.json +++ b/examples/custom-server/package.json @@ -12,6 +12,7 @@ "build:next": "cross-env PAYLOAD_CONFIG_PATH=dist/payload.config.js NEXT_BUILD=true node dist/server.js", "build": "cross-env NODE_ENV=production yarn build:payload && yarn build:server && yarn copyfiles && yarn build:next", "serve": "cross-env PAYLOAD_CONFIG_PATH=dist/payload.config.js NODE_ENV=production node dist/server.js", + "eject": "yarn remove next react react-dom @next/eslint-plugin-next && ts-node eject.ts", "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png}\" dist/", "generate:types": "cross-env PAYLOAD_CONFIG_PATH=src/payload.config.ts payload generate:types", "generate:graphQLSchema": "PAYLOAD_CONFIG_PATH=src/payload.config.ts payload generate:graphQLSchema", @@ -22,17 +23,19 @@ "dotenv": "^8.2.0", "escape-html": "^1.0.3", "express": "^4.17.1", - "next": "^13.4.7", + "next": "^13.4.8", "payload": "^1.8.2", "react": "^18.2.0", "react-dom": "^18.2.0" }, "devDependencies": { - "@payloadcms/eslint-config": "^0.0.1", + "@next/eslint-plugin-next": "^13.1.6", + "@payloadcms/eslint-config": "^0.0.2", "@types/escape-html": "^1.0.2", "@types/express": "^4.17.9", "@types/node": "18.11.3", - "@types/react": "18.0.21", + "@types/react": "^18.2.14", + "@types/react-dom": "^18.2.6", "@typescript-eslint/eslint-plugin": "^5.51.0", "@typescript-eslint/parser": "^5.51.0", "copyfiles": "^2.4.1", diff --git a/examples/custom-server/src/app/globals.scss b/examples/custom-server/src/app/app.scss similarity index 96% rename from examples/custom-server/src/app/globals.scss rename to examples/custom-server/src/app/app.scss index eae04652f..21f01bb94 100644 --- a/examples/custom-server/src/app/globals.scss +++ b/examples/custom-server/src/app/app.scss @@ -1,16 +1,17 @@ $breakpoint: 1000px; :root { - --max-width: 1100px; - --border-radius: 12px; + --max-width: 1600px; --foreground-rgb: 0, 0, 0; --background-rgb: 255, 255, 255; --block-spacing: 2rem; --gutter-h: 4rem; + --base: 1rem; @media (max-width: $breakpoint) { --block-spacing: 1rem; --gutter-h: 2rem; + --base: 0.75rem; } } diff --git a/examples/custom-server/src/app/layout.module.scss b/examples/custom-server/src/app/layout.module.scss index 2aa678797..f43a839c6 100644 --- a/examples/custom-server/src/app/layout.module.scss +++ b/examples/custom-server/src/app/layout.module.scss @@ -3,10 +3,6 @@ min-height: 100vh; } -.logo { - width: 200px; -} - .header { margin-bottom: 4rem; display: flex; @@ -14,3 +10,7 @@ align-items: center; justify-content: center; } + +.logo { + width: 200px; +} diff --git a/examples/custom-server/src/app/layout.tsx b/examples/custom-server/src/app/layout.tsx index 66760106b..0099dd423 100644 --- a/examples/custom-server/src/app/layout.tsx +++ b/examples/custom-server/src/app/layout.tsx @@ -1,6 +1,7 @@ import React from 'react' +import Link from 'next/link' -import './globals.scss' +import './app.scss' import classes from './layout.module.scss' @@ -14,7 +15,7 @@ export default function RootLayout({ children }: { children: React.ReactNode })
- + - +
{children} diff --git a/examples/custom-server/src/server.default.ts b/examples/custom-server/src/server.default.ts new file mode 100644 index 000000000..e0e911233 --- /dev/null +++ b/examples/custom-server/src/server.default.ts @@ -0,0 +1,45 @@ +import dotenv from 'dotenv' +import path from 'path' + +// This file is used to replace `server.ts` when ejecting i.e. `yarn eject` +// See `../eject.ts` for exact details on how this file is used +// See `./README.md#eject` for more information + +dotenv.config({ + path: path.resolve(__dirname, '../.env'), +}) + +import express from 'express' +import payload from 'payload' + +import { seed } from './seed' + +const app = express() +const PORT = process.env.PORT || 3000 + +// Redirect root to the admin panel +app.get('/', (_, res) => { + res.redirect('/admin') +}) + +const start = async (): Promise => { + await payload.init({ + secret: process.env.PAYLOAD_SECRET || '', + mongoURL: process.env.MONGODB_URI || '', + express: app, + onInit: () => { + payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`) + }, + }) + + if (process.env.PAYLOAD_SEED === 'true') { + payload.logger.info('---- SEEDING DATABASE ----') + await seed(payload) + } + + app.listen(PORT, async () => { + payload.logger.info(`App URL: ${process.env.PAYLOAD_PUBLIC_SERVER_URL}`) + }) +} + +start() diff --git a/examples/custom-server/src/server.ts b/examples/custom-server/src/server.ts index c0b5ba213..727ca6e99 100644 --- a/examples/custom-server/src/server.ts +++ b/examples/custom-server/src/server.ts @@ -53,7 +53,7 @@ const start = async (): Promise => { payload.logger.info('Next.js started') app.listen(PORT, async () => { - payload.logger.info(`Server listening on ${PORT}...`) + payload.logger.info(`Next.js App URL: ${process.env.PAYLOAD_PUBLIC_SERVER_URL}`) }) }) } diff --git a/examples/custom-server/yarn.lock b/examples/custom-server/yarn.lock index 65bcf0b3b..fdbf7765e 100644 --- a/examples/custom-server/yarn.lock +++ b/examples/custom-server/yarn.lock @@ -517,55 +517,62 @@ dependencies: "@monaco-editor/loader" "^1.3.3" -"@next/env@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/env/-/env-13.4.7.tgz#ca12d341edb128ca70384635bd2794125ffb1c01" - integrity sha512-ZlbiFulnwiFsW9UV1ku1OvX/oyIPLtMk9p/nnvDSwI0s7vSoZdRtxXNsaO+ZXrLv/pMbXVGq4lL8TbY9iuGmVw== +"@next/env@13.4.8": + version "13.4.8" + resolved "https://registry.yarnpkg.com/@next/env/-/env-13.4.8.tgz#8048ef3c3d770a3f3d1dd51d159593acfbd4e517" + integrity sha512-twuSf1klb3k9wXI7IZhbZGtFCWvGD4wXTY2rmvzIgVhXhs7ISThrbNyutBx3jWIL8Y/Hk9+woytFz5QsgtcRKQ== -"@next/swc-darwin-arm64@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.7.tgz#5e36c26dda5b0bc0ea15d8555d0abd71a1ef4b5d" - integrity sha512-VZTxPv1b59KGiv/pZHTO5Gbsdeoxcj2rU2cqJu03btMhHpn3vwzEK0gUSVC/XW96aeGO67X+cMahhwHzef24/w== +"@next/eslint-plugin-next@^13.1.6": + version "13.4.8" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.8.tgz#2aa7a0bbfc87fbed5aa0e938d0d16dca85061ee4" + integrity sha512-cmfVHpxWjjcETFt2WHnoFU6EmY69QcPJRlRNAooQlNe53Ke90vg1Ci/dkPffryJZaxxiRziP9bQrV8lDVCn3Fw== + dependencies: + glob "7.1.7" -"@next/swc-darwin-x64@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.7.tgz#4c14ec14b200373cd602589086cb1253a28cd803" - integrity sha512-gO2bw+2Ymmga+QYujjvDz9955xvYGrWofmxTq7m70b9pDPvl7aDFABJOZ2a8SRCuSNB5mXU8eTOmVVwyp/nAew== +"@next/swc-darwin-arm64@13.4.8": + version "13.4.8" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.8.tgz#3838d7c96750b7f427ac47b97503fc013734f6e6" + integrity sha512-MSFplVM4dTWOuKAUv0XR9gY7AWtMSBu9os9f+kp+s5rWhM1I2CdR3obFttd6366nS/W/VZxbPM5oEIdlIa46zA== -"@next/swc-linux-arm64-gnu@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.7.tgz#e7819167ec876ddac5a959e4c7bce4d001f0e924" - integrity sha512-6cqp3vf1eHxjIDhEOc7Mh/s8z1cwc/l5B6ZNkOofmZVyu1zsbEM5Hmx64s12Rd9AYgGoiCz4OJ4M/oRnkE16/Q== +"@next/swc-darwin-x64@13.4.8": + version "13.4.8" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.8.tgz#3de9c26a2ee7b189f22433bf8137256a2517f258" + integrity sha512-Reox+UXgonon9P0WNDE6w85DGtyBqGitl/ryznOvn6TvfxEaZIpTgeu3ZrJLU9dHSMhiK7YAM793mE/Zii2/Qw== -"@next/swc-linux-arm64-musl@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.7.tgz#0cac0f01d4e308b439e6c33182bed77835fe383b" - integrity sha512-T1kD2FWOEy5WPidOn1si0rYmWORNch4a/NR52Ghyp4q7KyxOCuiOfZzyhVC5tsLIBDH3+cNdB5DkD9afpNDaOw== +"@next/swc-linux-arm64-gnu@13.4.8": + version "13.4.8" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.8.tgz#9536314c931b9e78f20e4a424eace9993015c6e1" + integrity sha512-kdyzYvAYtqQVgzIKNN7e1rLU8aZv86FDSRqPlOkKZlvqudvTO0iohuTPmnEEDlECeBM6qRPShNffotDcU/R2KA== -"@next/swc-linux-x64-gnu@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.7.tgz#feb61e16a68c67f3ef230f30d9562a3783c7bd59" - integrity sha512-zaEC+iEiAHNdhl6fuwl0H0shnTzQoAoJiDYBUze8QTntE/GNPfTYpYboxF5LRYIjBwETUatvE0T64W6SKDipvg== +"@next/swc-linux-arm64-musl@13.4.8": + version "13.4.8" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.8.tgz#a894ec6a078edd28f5cfab60593a61e05b6b605b" + integrity sha512-oWxx4yRkUGcR81XwbI+T0zhZ3bDF6V1aVLpG+C7hSG50ULpV8gC39UxVO22/bv93ZlcfMY4zl8xkz9Klct6dpQ== -"@next/swc-linux-x64-musl@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.7.tgz#02179ecfa6d24a2956c2b54f7d27a050568bbf24" - integrity sha512-X6r12F8d8SKAtYJqLZBBMIwEqcTRvUdVm+xIq+l6pJqlgT2tNsLLf2i5Cl88xSsIytBICGsCNNHd+siD2fbWBA== +"@next/swc-linux-x64-gnu@13.4.8": + version "13.4.8" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.8.tgz#b8af198dc0b4a8c64deb0494ae285e3e1a465910" + integrity sha512-anhtvuO6eE9YRhYnaEGTfbpH3L5gT/9qPFcNoi6xS432r/4DAtpJY8kNktqkTVevVIC/pVumqO8tV59PR3zbNg== -"@next/swc-win32-arm64-msvc@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.7.tgz#274b7f00a2ec5934af73db15da8459e8647bfaed" - integrity sha512-NPnmnV+vEIxnu6SUvjnuaWRglZzw4ox5n/MQTxeUhb5iwVWFedolPFebMNwgrWu4AELwvTdGtWjqof53AiWHcw== +"@next/swc-linux-x64-musl@13.4.8": + version "13.4.8" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.8.tgz#d2ad24001020665a78405f595995c22750ec63c4" + integrity sha512-aR+J4wWfNgH1DwCCBNjan7Iumx0lLtn+2/rEYuhIrYLY4vnxqSVGz9u3fXcgUwo6Q9LT8NFkaqK1vPprdq+BXg== -"@next/swc-win32-ia32-msvc@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.7.tgz#4a95c106a6db2eee3a4c1352b77995e298d7446a" - integrity sha512-6Hxijm6/a8XqLQpOOf/XuwWRhcuc/g4rBB2oxjgCMuV9Xlr2bLs5+lXyh8w9YbAUMYR3iC9mgOlXbHa79elmXw== +"@next/swc-win32-arm64-msvc@13.4.8": + version "13.4.8" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.8.tgz#e5c4bfaa105fbe2bdb21a6d01467edd39a29cf37" + integrity sha512-OWBKIrJwQBTqrat0xhxEB/jcsjJR3+diD9nc/Y8F1mRdQzsn4bPsomgJyuqPVZs6Lz3K18qdIkvywmfSq75SsQ== -"@next/swc-win32-x64-msvc@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.7.tgz#5137780f58d7f0230adc293a0429821bfa7d8c21" - integrity sha512-sW9Yt36Db1nXJL+mTr2Wo0y+VkPWeYhygvcHj1FF0srVtV+VoDjxleKtny21QHaG05zdeZnw2fCtf2+dEqgwqA== +"@next/swc-win32-ia32-msvc@13.4.8": + version "13.4.8" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.8.tgz#c49c4d9f91845855bf544d5d14e8e13311da9931" + integrity sha512-agiPWGjUndXGTOn4ChbKipQXRA6/UPkywAWIkx7BhgGv48TiJfHTK6MGfBoL9tS6B4mtW39++uy0wFPnfD0JWg== + +"@next/swc-win32-x64-msvc@13.4.8": + version "13.4.8" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.8.tgz#22c5c8fa05680f2775a29c6c5a74cf04b8cc9d90" + integrity sha512-UIRKoByVKbuR6SnFG4JM8EMFlJrfEGuUQ1ihxzEleWcNwRMMiVaCj1KyqfTOW8VTQhJ0u8P1Ngg6q1RwnIBTtw== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -588,10 +595,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@payloadcms/eslint-config@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@payloadcms/eslint-config/-/eslint-config-0.0.1.tgz#4324702ddef6c773b3f3033795a13e6b50c95a92" - integrity sha512-Il59+0C4E/bI6uM2hont3I+oABWkJZbfbItubje5SGMrXkymUq8jT/UZRk0eCt918bB7gihxDXx8guFnR/aNIw== +"@payloadcms/eslint-config@^0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@payloadcms/eslint-config/-/eslint-config-0.0.2.tgz#cadb97ccd6476204a38e057b3cf57dc80efb209f" + integrity sha512-EcS7qyX4++eBP/MS4QgrFOzzplsVMaPDfEcxWYoH9OLJCUTlGz8UmfMZPWU7DeAuyehJdij+BywSrcprqun9rA== "@polka/url@^1.0.0-next.20": version "1.0.0-next.21" @@ -905,6 +912,13 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== +"@types/react-dom@^18.2.6": + version "18.2.6" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.6.tgz#ad621fa71a8db29af7c31b41b2ea3d8a6f4144d1" + integrity sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A== + dependencies: + "@types/react" "*" + "@types/react-transition-group@^4.4.0": version "4.4.6" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.6.tgz#18187bcda5281f8e10dfc48f0943e2fdf4f75e2e" @@ -912,7 +926,7 @@ dependencies: "@types/react" "*" -"@types/react@*": +"@types/react@*", "@types/react@^18.2.14": version "18.2.14" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.14.tgz#fa7a6fecf1ce35ca94e74874f70c56ce88f7a127" integrity sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g== @@ -921,15 +935,6 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@18.0.21": - version "18.0.21" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.21.tgz#b8209e9626bb00a34c76f55482697edd2b43cc67" - integrity sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - "@types/scheduler@*": version "0.16.3" resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" @@ -3130,6 +3135,18 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== +glob@7.1.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.0.5, glob@^7.1.3, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -4367,12 +4384,12 @@ next-tick@1, next-tick@^1.1.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -next@^13.4.7: - version "13.4.7" - resolved "https://registry.yarnpkg.com/next/-/next-13.4.7.tgz#2ab20e6fada2e25cb81bd17f68956705ffd9824e" - integrity sha512-M8z3k9VmG51SRT6v5uDKdJXcAqLzP3C+vaKfLIAM0Mhx1um1G7MDnO63+m52qPdZfrTFzMZNzfsgvm3ghuVHIQ== +next@^13.4.8: + version "13.4.8" + resolved "https://registry.yarnpkg.com/next/-/next-13.4.8.tgz#72245bf4fdf328970147ee30de97142c39b1cb3f" + integrity sha512-lxUjndYKjZHGK3CWeN2RI+/6ni6EUvjiqGWXAYPxUfGIdFGQ5XoisrqAJ/dF74aP27buAfs8MKIbIMMdxjqSBg== dependencies: - "@next/env" "13.4.7" + "@next/env" "13.4.8" "@swc/helpers" "0.5.1" busboy "1.6.0" caniuse-lite "^1.0.30001406" @@ -4381,15 +4398,15 @@ next@^13.4.7: watchpack "2.4.0" zod "3.21.4" optionalDependencies: - "@next/swc-darwin-arm64" "13.4.7" - "@next/swc-darwin-x64" "13.4.7" - "@next/swc-linux-arm64-gnu" "13.4.7" - "@next/swc-linux-arm64-musl" "13.4.7" - "@next/swc-linux-x64-gnu" "13.4.7" - "@next/swc-linux-x64-musl" "13.4.7" - "@next/swc-win32-arm64-msvc" "13.4.7" - "@next/swc-win32-ia32-msvc" "13.4.7" - "@next/swc-win32-x64-msvc" "13.4.7" + "@next/swc-darwin-arm64" "13.4.8" + "@next/swc-darwin-x64" "13.4.8" + "@next/swc-linux-arm64-gnu" "13.4.8" + "@next/swc-linux-arm64-musl" "13.4.8" + "@next/swc-linux-x64-gnu" "13.4.8" + "@next/swc-linux-x64-musl" "13.4.8" + "@next/swc-win32-arm64-msvc" "13.4.8" + "@next/swc-win32-ia32-msvc" "13.4.8" + "@next/swc-win32-x64-msvc" "13.4.8" no-case@^3.0.4: version "3.0.4"