├── .dockerignore ├── app ├── page.tsx └── layout.tsx ├── next.config.ts ├── .gitignore ├── tsconfig.json ├── package.json ├── Dockerfile ├── README.md └── pnpm-lock.yaml /.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | .next 3 | node_modules 4 | -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- 1 | export default function Home() { 2 | return ( 3 |
4 |
Next.js on Fly
5 |
6 | ); 7 | } 8 | -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- 1 | import type { NextConfig } from 'next'; 2 | 3 | const nextConfig: NextConfig = { 4 | output: 'standalone', 5 | }; 6 | 7 | export default nextConfig; 8 | -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from 'next'; 2 | 3 | export const metadata: Metadata = { 4 | title: 'Next.js on Fly', 5 | description: 'Deploy your Next.js application to Fly', 6 | }; 7 | 8 | export default function RootLayout({ 9 | children, 10 | }: Readonly<{ 11 | children: React.ReactNode; 12 | }>) { 13 | return ( 14 | 15 | {children} 16 | 17 | ); 18 | } 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.* 7 | .yarn/* 8 | !.yarn/patches 9 | !.yarn/plugins 10 | !.yarn/releases 11 | !.yarn/versions 12 | 13 | # testing 14 | /coverage 15 | 16 | # next.js 17 | /.next/ 18 | /out/ 19 | 20 | # production 21 | /build 22 | 23 | # misc 24 | .DS_Store 25 | *.pem 26 | 27 | # debug 28 | npm-debug.log* 29 | yarn-debug.log* 30 | yarn-error.log* 31 | 32 | # local env files 33 | .env*.local 34 | 35 | # vercel 36 | .vercel 37 | 38 | # typescript 39 | *.tsbuildinfo 40 | next-env.d.ts 41 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2017", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "noEmit": true, 9 | "esModuleInterop": true, 10 | "module": "esnext", 11 | "moduleResolution": "bundler", 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "jsx": "preserve", 15 | "incremental": true, 16 | "plugins": [ 17 | { 18 | "name": "next" 19 | } 20 | ], 21 | "paths": { 22 | "@/*": ["./*"] 23 | } 24 | }, 25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 26 | "exclude": ["node_modules"] 27 | } 28 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "next dev --turbo", 5 | "build": "next build", 6 | "start": "node .next/standalone/server.js" 7 | }, 8 | "dependencies": { 9 | "react": "19.0.0-rc-69d4b800-20241021", 10 | "react-dom": "19.0.0-rc-69d4b800-20241021", 11 | "next": "15.0.6" 12 | }, 13 | "devDependencies": { 14 | "typescript": "^5", 15 | "@types/node": "^20", 16 | "@types/react": "npm:types-react@19.0.0-rc.1", 17 | "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1" 18 | }, 19 | "pnpm": { 20 | "overrides": { 21 | "@types/react": "npm:types-react@19.0.0-rc.1", 22 | "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:lts-alpine AS base 2 | 3 | # Stage 1: Install dependencies 4 | FROM base AS deps 5 | WORKDIR /app 6 | COPY package.json pnpm-lock.yaml ./ 7 | RUN corepack enable pnpm && pnpm install --frozen-lockfile 8 | 9 | # Stage 2: Build the application 10 | FROM base AS builder 11 | WORKDIR /app 12 | COPY --from=deps /app/node_modules ./node_modules 13 | COPY . . 14 | RUN corepack enable pnpm && pnpm run build 15 | 16 | # Stage 3: Production server 17 | FROM base AS runner 18 | WORKDIR /app 19 | ENV NODE_ENV=production 20 | COPY --from=builder /app/.next/standalone ./ 21 | COPY --from=builder /app/.next/static ./.next/static 22 | RUN if [ -d "/app/public" ]; then cp -r /app/public ./public; fi # Copy public folder if it exists 23 | 24 | EXPOSE 3000 25 | CMD ["node", "server.js"] 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Deploy Next.js to Fly 2 | 3 | This is a Next.js template which can be deployed to [Fly.io](https://fly.io). 4 | 5 | ## Deploying to Fly 6 | 7 | Fly can run your application from a [Docker image without a Docker container](https://www.youtube.com/watch?v=7iypMRKniPU) on their infrastructure. 8 | 9 | Everything you need to get started can be found at [https://fly.io/nextjs](https://fly.io/nextjs). 10 | 11 | ```bash 12 | # Install flyctl on macOS 13 | brew install flyctl 14 | 15 | # Run from Next.js project root 16 | fly launch 17 | 18 | # Scale CPU, memory, instances, and regions 19 | fly scale 20 | ``` 21 | 22 | For more information, see our [deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying#self-hosting). 23 | 24 | ## Learn More 25 | 26 | To learn more about Fly.io, take a look at the following resources: 27 | 28 | - [Deep Dive Demo](https://fly.io/docs/deep-dive/) - if you want something more than a "Hello World" app to play with. 29 | - [Run a Next.js App](https://fly.io/docs/js/frameworks/nextjs/) - start from `create-next-app` and create a deployable app. 30 | - [JavaScript on Fly.io](https://fly.io/docs/js/) - deployment and debugging tips common to all JS applications. 31 | 32 | To learn more about Next.js, take a look at the following resources: 33 | 34 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 35 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 36 | 37 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! 38 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | overrides: 8 | '@types/react': npm:types-react@19.0.0-rc.1 9 | '@types/react-dom': npm:types-react-dom@19.0.0-rc.1 10 | 11 | importers: 12 | 13 | .: 14 | dependencies: 15 | next: 16 | specifier: 15.0.6 17 | version: 15.0.6(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021) 18 | react: 19 | specifier: 19.0.0-rc-69d4b800-20241021 20 | version: 19.0.0-rc-69d4b800-20241021 21 | react-dom: 22 | specifier: 19.0.0-rc-69d4b800-20241021 23 | version: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021) 24 | devDependencies: 25 | '@types/node': 26 | specifier: ^20 27 | version: 20.16.12 28 | '@types/react': 29 | specifier: npm:types-react@19.0.0-rc.1 30 | version: types-react@19.0.0-rc.1 31 | '@types/react-dom': 32 | specifier: npm:types-react-dom@19.0.0-rc.1 33 | version: types-react-dom@19.0.0-rc.1 34 | typescript: 35 | specifier: ^5 36 | version: 5.6.3 37 | 38 | packages: 39 | 40 | '@emnapi/runtime@1.3.1': 41 | resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} 42 | 43 | '@img/sharp-darwin-arm64@0.33.5': 44 | resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} 45 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 46 | cpu: [arm64] 47 | os: [darwin] 48 | 49 | '@img/sharp-darwin-x64@0.33.5': 50 | resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} 51 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 52 | cpu: [x64] 53 | os: [darwin] 54 | 55 | '@img/sharp-libvips-darwin-arm64@1.0.4': 56 | resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} 57 | cpu: [arm64] 58 | os: [darwin] 59 | 60 | '@img/sharp-libvips-darwin-x64@1.0.4': 61 | resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} 62 | cpu: [x64] 63 | os: [darwin] 64 | 65 | '@img/sharp-libvips-linux-arm64@1.0.4': 66 | resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} 67 | cpu: [arm64] 68 | os: [linux] 69 | 70 | '@img/sharp-libvips-linux-arm@1.0.5': 71 | resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} 72 | cpu: [arm] 73 | os: [linux] 74 | 75 | '@img/sharp-libvips-linux-s390x@1.0.4': 76 | resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} 77 | cpu: [s390x] 78 | os: [linux] 79 | 80 | '@img/sharp-libvips-linux-x64@1.0.4': 81 | resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} 82 | cpu: [x64] 83 | os: [linux] 84 | 85 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 86 | resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} 87 | cpu: [arm64] 88 | os: [linux] 89 | 90 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 91 | resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} 92 | cpu: [x64] 93 | os: [linux] 94 | 95 | '@img/sharp-linux-arm64@0.33.5': 96 | resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} 97 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 98 | cpu: [arm64] 99 | os: [linux] 100 | 101 | '@img/sharp-linux-arm@0.33.5': 102 | resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} 103 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 104 | cpu: [arm] 105 | os: [linux] 106 | 107 | '@img/sharp-linux-s390x@0.33.5': 108 | resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} 109 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 110 | cpu: [s390x] 111 | os: [linux] 112 | 113 | '@img/sharp-linux-x64@0.33.5': 114 | resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} 115 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 116 | cpu: [x64] 117 | os: [linux] 118 | 119 | '@img/sharp-linuxmusl-arm64@0.33.5': 120 | resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} 121 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 122 | cpu: [arm64] 123 | os: [linux] 124 | 125 | '@img/sharp-linuxmusl-x64@0.33.5': 126 | resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} 127 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 128 | cpu: [x64] 129 | os: [linux] 130 | 131 | '@img/sharp-wasm32@0.33.5': 132 | resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} 133 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 134 | cpu: [wasm32] 135 | 136 | '@img/sharp-win32-ia32@0.33.5': 137 | resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} 138 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 139 | cpu: [ia32] 140 | os: [win32] 141 | 142 | '@img/sharp-win32-x64@0.33.5': 143 | resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} 144 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 145 | cpu: [x64] 146 | os: [win32] 147 | 148 | '@next/env@15.0.6': 149 | resolution: {integrity: sha512-rZibc2hQig468lV1oT9wEb96z4rcYO6j9XbzCRMYr1xXFLOCB2aUBgO+qHTaJwlDgEcOcX6hmWaqUgXn+CXOXQ==} 150 | 151 | '@next/swc-darwin-arm64@15.0.5': 152 | resolution: {integrity: sha512-BrNm/9BZoV6QEFKFZdgZRyYwhdhxV8GhW+U4D5cdkT4Wefj7YflAUZNx2FWyBPp7utBPCgJXnVbVLhlDoIfKFg==} 153 | engines: {node: '>= 10'} 154 | cpu: [arm64] 155 | os: [darwin] 156 | 157 | '@next/swc-darwin-x64@15.0.5': 158 | resolution: {integrity: sha512-SkpRdqyJLhmU6Ip0dHrZ5mLMQgTU0MlTASRwqCj6NXQJ04eS4QzBgEUUOPX+tsUOQ+KSVMgX/iQaWgQHNMyyCQ==} 159 | engines: {node: '>= 10'} 160 | cpu: [x64] 161 | os: [darwin] 162 | 163 | '@next/swc-linux-arm64-gnu@15.0.5': 164 | resolution: {integrity: sha512-nk+6BAIkIHTeQg+U1uqGpZ8K1KSAbhq80EkSgpgPC6wBmRkEeBitn4yL9C0fUiEPeZ3zN4yrvI635GG/H2QmSQ==} 165 | engines: {node: '>= 10'} 166 | cpu: [arm64] 167 | os: [linux] 168 | 169 | '@next/swc-linux-arm64-musl@15.0.5': 170 | resolution: {integrity: sha512-CozywhydLroNNz1AMKdKKVBuRc0UIBG7TlVgXXn51MdZo4sMbfApOlQFUyuAbKJbe67vd39Yib2lVVVDfLTtfw==} 171 | engines: {node: '>= 10'} 172 | cpu: [arm64] 173 | os: [linux] 174 | 175 | '@next/swc-linux-x64-gnu@15.0.5': 176 | resolution: {integrity: sha512-VWfvl8toyC/5Rn1GgKfiASYgssCsxz4GtwK2cFKmmnyGfoKubFc6DfCI5MzBoe2Q2gzd2CeZDoT1BhuutSiL7A==} 177 | engines: {node: '>= 10'} 178 | cpu: [x64] 179 | os: [linux] 180 | 181 | '@next/swc-linux-x64-musl@15.0.5': 182 | resolution: {integrity: sha512-xCD/V4Z55eFtG2SNyXgG3ciIikcxNe4FgmgcW4xTaEcLY59ZJVLxx4PLve2vDgp7xqvwDD4vvUsJuFMuQ12oGg==} 183 | engines: {node: '>= 10'} 184 | cpu: [x64] 185 | os: [linux] 186 | 187 | '@next/swc-win32-arm64-msvc@15.0.5': 188 | resolution: {integrity: sha512-OmKXP/mUzY+AiDFk9PR3RoM6YfgzNYhtSbfvTUDk3PxoCLKnwTZ8xsFoWX2ph/RFC25QucTeAFepouGGsdBPAg==} 189 | engines: {node: '>= 10'} 190 | cpu: [arm64] 191 | os: [win32] 192 | 193 | '@next/swc-win32-x64-msvc@15.0.5': 194 | resolution: {integrity: sha512-O34P9asvZtdNQ+4sEczSLruYvM7XEQKY/FCwRAeQQnrWW3tol3VEuv2GtnFb1YHsP3lZtagd11UYJqrs0Y0r2A==} 195 | engines: {node: '>= 10'} 196 | cpu: [x64] 197 | os: [win32] 198 | 199 | '@swc/counter@0.1.3': 200 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 201 | 202 | '@swc/helpers@0.5.13': 203 | resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} 204 | 205 | '@types/node@20.16.12': 206 | resolution: {integrity: sha512-LfPFB0zOeCeCNQV3i+67rcoVvoN5n0NVuR2vLG0O5ySQMgchuZlC4lgz546ZOJyDtj5KIgOxy+lacOimfqZAIA==} 207 | 208 | busboy@1.6.0: 209 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 210 | engines: {node: '>=10.16.0'} 211 | 212 | caniuse-lite@1.0.30001669: 213 | resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==} 214 | 215 | client-only@0.0.1: 216 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 217 | 218 | color-convert@2.0.1: 219 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 220 | engines: {node: '>=7.0.0'} 221 | 222 | color-name@1.1.4: 223 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 224 | 225 | color-string@1.9.1: 226 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 227 | 228 | color@4.2.3: 229 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 230 | engines: {node: '>=12.5.0'} 231 | 232 | csstype@3.1.3: 233 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 234 | 235 | detect-libc@2.0.3: 236 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 237 | engines: {node: '>=8'} 238 | 239 | is-arrayish@0.3.2: 240 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 241 | 242 | nanoid@3.3.7: 243 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 244 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 245 | hasBin: true 246 | 247 | next@15.0.6: 248 | resolution: {integrity: sha512-srsIn0zBpspm1wO5omzPQJ5E28kujrnjqwYHQR8XGZ7fijiBT9SPk3Aa+Ff/HPybgr8EZNyF7TVzH9/M9IvziQ==} 249 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} 250 | hasBin: true 251 | peerDependencies: 252 | '@opentelemetry/api': ^1.1.0 253 | '@playwright/test': ^1.41.2 254 | babel-plugin-react-compiler: '*' 255 | react: ^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0 256 | react-dom: ^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0 257 | sass: ^1.3.0 258 | peerDependenciesMeta: 259 | '@opentelemetry/api': 260 | optional: true 261 | '@playwright/test': 262 | optional: true 263 | babel-plugin-react-compiler: 264 | optional: true 265 | sass: 266 | optional: true 267 | 268 | picocolors@1.1.1: 269 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 270 | 271 | postcss@8.4.31: 272 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 273 | engines: {node: ^10 || ^12 || >=14} 274 | 275 | react-dom@19.0.0-rc-69d4b800-20241021: 276 | resolution: {integrity: sha512-ZXBsP/kTDLI9QopUaUgYJhmmAhO8aKz7DCv2Ui2rA9boCfJ/dRRh6BlVidsyb2dPzG01rItdRFQqwbP+x9s5Rg==} 277 | peerDependencies: 278 | react: 19.0.0-rc-69d4b800-20241021 279 | 280 | react@19.0.0-rc-69d4b800-20241021: 281 | resolution: {integrity: sha512-dXki4tN+rP+4xhsm65q/QI/19VCZdu5vPcy4h6zaJt20XP8/1r/LCwrLFYuj8hElbNz5AmxW6JtRa7ej0BzZdg==} 282 | engines: {node: '>=0.10.0'} 283 | 284 | scheduler@0.25.0-rc-69d4b800-20241021: 285 | resolution: {integrity: sha512-S5AYX/YhMAN6u9AXgKYbZP4U4ZklC6R9Q7HmFSBk7d4DLiHVNxvAvlSvuM4nxFkwOk50MnpfTKQ7UWHXDOc9Eg==} 286 | 287 | semver@7.6.3: 288 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 289 | engines: {node: '>=10'} 290 | hasBin: true 291 | 292 | sharp@0.33.5: 293 | resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} 294 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 295 | 296 | simple-swizzle@0.2.2: 297 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 298 | 299 | source-map-js@1.2.1: 300 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 301 | engines: {node: '>=0.10.0'} 302 | 303 | streamsearch@1.1.0: 304 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 305 | engines: {node: '>=10.0.0'} 306 | 307 | styled-jsx@5.1.6: 308 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} 309 | engines: {node: '>= 12.0.0'} 310 | peerDependencies: 311 | '@babel/core': '*' 312 | babel-plugin-macros: '*' 313 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' 314 | peerDependenciesMeta: 315 | '@babel/core': 316 | optional: true 317 | babel-plugin-macros: 318 | optional: true 319 | 320 | tslib@2.8.0: 321 | resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} 322 | 323 | types-react-dom@19.0.0-rc.1: 324 | resolution: {integrity: sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==} 325 | 326 | types-react@19.0.0-rc.1: 327 | resolution: {integrity: sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==} 328 | 329 | typescript@5.6.3: 330 | resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} 331 | engines: {node: '>=14.17'} 332 | hasBin: true 333 | 334 | undici-types@6.19.8: 335 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 336 | 337 | snapshots: 338 | 339 | '@emnapi/runtime@1.3.1': 340 | dependencies: 341 | tslib: 2.8.0 342 | optional: true 343 | 344 | '@img/sharp-darwin-arm64@0.33.5': 345 | optionalDependencies: 346 | '@img/sharp-libvips-darwin-arm64': 1.0.4 347 | optional: true 348 | 349 | '@img/sharp-darwin-x64@0.33.5': 350 | optionalDependencies: 351 | '@img/sharp-libvips-darwin-x64': 1.0.4 352 | optional: true 353 | 354 | '@img/sharp-libvips-darwin-arm64@1.0.4': 355 | optional: true 356 | 357 | '@img/sharp-libvips-darwin-x64@1.0.4': 358 | optional: true 359 | 360 | '@img/sharp-libvips-linux-arm64@1.0.4': 361 | optional: true 362 | 363 | '@img/sharp-libvips-linux-arm@1.0.5': 364 | optional: true 365 | 366 | '@img/sharp-libvips-linux-s390x@1.0.4': 367 | optional: true 368 | 369 | '@img/sharp-libvips-linux-x64@1.0.4': 370 | optional: true 371 | 372 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 373 | optional: true 374 | 375 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 376 | optional: true 377 | 378 | '@img/sharp-linux-arm64@0.33.5': 379 | optionalDependencies: 380 | '@img/sharp-libvips-linux-arm64': 1.0.4 381 | optional: true 382 | 383 | '@img/sharp-linux-arm@0.33.5': 384 | optionalDependencies: 385 | '@img/sharp-libvips-linux-arm': 1.0.5 386 | optional: true 387 | 388 | '@img/sharp-linux-s390x@0.33.5': 389 | optionalDependencies: 390 | '@img/sharp-libvips-linux-s390x': 1.0.4 391 | optional: true 392 | 393 | '@img/sharp-linux-x64@0.33.5': 394 | optionalDependencies: 395 | '@img/sharp-libvips-linux-x64': 1.0.4 396 | optional: true 397 | 398 | '@img/sharp-linuxmusl-arm64@0.33.5': 399 | optionalDependencies: 400 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 401 | optional: true 402 | 403 | '@img/sharp-linuxmusl-x64@0.33.5': 404 | optionalDependencies: 405 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 406 | optional: true 407 | 408 | '@img/sharp-wasm32@0.33.5': 409 | dependencies: 410 | '@emnapi/runtime': 1.3.1 411 | optional: true 412 | 413 | '@img/sharp-win32-ia32@0.33.5': 414 | optional: true 415 | 416 | '@img/sharp-win32-x64@0.33.5': 417 | optional: true 418 | 419 | '@next/env@15.0.6': {} 420 | 421 | '@next/swc-darwin-arm64@15.0.5': 422 | optional: true 423 | 424 | '@next/swc-darwin-x64@15.0.5': 425 | optional: true 426 | 427 | '@next/swc-linux-arm64-gnu@15.0.5': 428 | optional: true 429 | 430 | '@next/swc-linux-arm64-musl@15.0.5': 431 | optional: true 432 | 433 | '@next/swc-linux-x64-gnu@15.0.5': 434 | optional: true 435 | 436 | '@next/swc-linux-x64-musl@15.0.5': 437 | optional: true 438 | 439 | '@next/swc-win32-arm64-msvc@15.0.5': 440 | optional: true 441 | 442 | '@next/swc-win32-x64-msvc@15.0.5': 443 | optional: true 444 | 445 | '@swc/counter@0.1.3': {} 446 | 447 | '@swc/helpers@0.5.13': 448 | dependencies: 449 | tslib: 2.8.0 450 | 451 | '@types/node@20.16.12': 452 | dependencies: 453 | undici-types: 6.19.8 454 | 455 | busboy@1.6.0: 456 | dependencies: 457 | streamsearch: 1.1.0 458 | 459 | caniuse-lite@1.0.30001669: {} 460 | 461 | client-only@0.0.1: {} 462 | 463 | color-convert@2.0.1: 464 | dependencies: 465 | color-name: 1.1.4 466 | optional: true 467 | 468 | color-name@1.1.4: 469 | optional: true 470 | 471 | color-string@1.9.1: 472 | dependencies: 473 | color-name: 1.1.4 474 | simple-swizzle: 0.2.2 475 | optional: true 476 | 477 | color@4.2.3: 478 | dependencies: 479 | color-convert: 2.0.1 480 | color-string: 1.9.1 481 | optional: true 482 | 483 | csstype@3.1.3: {} 484 | 485 | detect-libc@2.0.3: 486 | optional: true 487 | 488 | is-arrayish@0.3.2: 489 | optional: true 490 | 491 | nanoid@3.3.7: {} 492 | 493 | next@15.0.6(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021): 494 | dependencies: 495 | '@next/env': 15.0.6 496 | '@swc/counter': 0.1.3 497 | '@swc/helpers': 0.5.13 498 | busboy: 1.6.0 499 | caniuse-lite: 1.0.30001669 500 | postcss: 8.4.31 501 | react: 19.0.0-rc-69d4b800-20241021 502 | react-dom: 19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021) 503 | styled-jsx: 5.1.6(react@19.0.0-rc-69d4b800-20241021) 504 | optionalDependencies: 505 | '@next/swc-darwin-arm64': 15.0.5 506 | '@next/swc-darwin-x64': 15.0.5 507 | '@next/swc-linux-arm64-gnu': 15.0.5 508 | '@next/swc-linux-arm64-musl': 15.0.5 509 | '@next/swc-linux-x64-gnu': 15.0.5 510 | '@next/swc-linux-x64-musl': 15.0.5 511 | '@next/swc-win32-arm64-msvc': 15.0.5 512 | '@next/swc-win32-x64-msvc': 15.0.5 513 | sharp: 0.33.5 514 | transitivePeerDependencies: 515 | - '@babel/core' 516 | - babel-plugin-macros 517 | 518 | picocolors@1.1.1: {} 519 | 520 | postcss@8.4.31: 521 | dependencies: 522 | nanoid: 3.3.7 523 | picocolors: 1.1.1 524 | source-map-js: 1.2.1 525 | 526 | react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021): 527 | dependencies: 528 | react: 19.0.0-rc-69d4b800-20241021 529 | scheduler: 0.25.0-rc-69d4b800-20241021 530 | 531 | react@19.0.0-rc-69d4b800-20241021: {} 532 | 533 | scheduler@0.25.0-rc-69d4b800-20241021: {} 534 | 535 | semver@7.6.3: 536 | optional: true 537 | 538 | sharp@0.33.5: 539 | dependencies: 540 | color: 4.2.3 541 | detect-libc: 2.0.3 542 | semver: 7.6.3 543 | optionalDependencies: 544 | '@img/sharp-darwin-arm64': 0.33.5 545 | '@img/sharp-darwin-x64': 0.33.5 546 | '@img/sharp-libvips-darwin-arm64': 1.0.4 547 | '@img/sharp-libvips-darwin-x64': 1.0.4 548 | '@img/sharp-libvips-linux-arm': 1.0.5 549 | '@img/sharp-libvips-linux-arm64': 1.0.4 550 | '@img/sharp-libvips-linux-s390x': 1.0.4 551 | '@img/sharp-libvips-linux-x64': 1.0.4 552 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 553 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 554 | '@img/sharp-linux-arm': 0.33.5 555 | '@img/sharp-linux-arm64': 0.33.5 556 | '@img/sharp-linux-s390x': 0.33.5 557 | '@img/sharp-linux-x64': 0.33.5 558 | '@img/sharp-linuxmusl-arm64': 0.33.5 559 | '@img/sharp-linuxmusl-x64': 0.33.5 560 | '@img/sharp-wasm32': 0.33.5 561 | '@img/sharp-win32-ia32': 0.33.5 562 | '@img/sharp-win32-x64': 0.33.5 563 | optional: true 564 | 565 | simple-swizzle@0.2.2: 566 | dependencies: 567 | is-arrayish: 0.3.2 568 | optional: true 569 | 570 | source-map-js@1.2.1: {} 571 | 572 | streamsearch@1.1.0: {} 573 | 574 | styled-jsx@5.1.6(react@19.0.0-rc-69d4b800-20241021): 575 | dependencies: 576 | client-only: 0.0.1 577 | react: 19.0.0-rc-69d4b800-20241021 578 | 579 | tslib@2.8.0: {} 580 | 581 | types-react-dom@19.0.0-rc.1: 582 | dependencies: 583 | '@types/react': types-react@19.0.0-rc.1 584 | 585 | types-react@19.0.0-rc.1: 586 | dependencies: 587 | csstype: 3.1.3 588 | 589 | typescript@5.6.3: {} 590 | 591 | undici-types@6.19.8: {} 592 | --------------------------------------------------------------------------------