├── .gitignore
├── .nvmrc
├── LICENSE
├── README.md
├── components
├── Footer.js
├── Footer.module.css
└── Header.js
├── jsconfig.json
├── netlify.toml
├── next.config.js
├── package-lock.json
├── package.json
├── pages
├── _app.js
└── index.js
├── public
├── favicon.ico
└── logo-netlify.svg
├── renovate.json
└── styles
└── globals.css
/.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.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # next.js
12 | /.next/
13 | /out/
14 |
15 | # production
16 | /build
17 |
18 | # misc
19 | .DS_Store
20 |
21 | # debug
22 | npm-debug.log*
23 | yarn-debug.log*
24 | yarn-error.log*
25 |
26 | # local env files
27 | .env.local
28 | .env.development.local
29 | .env.test.local
30 | .env.production.local
31 |
32 | # Local Netlify folder
33 | .netlify
34 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | v18
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 netlify-templates
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Next + Netlify Starter
2 |
3 | [](https://app.netlify.com/sites/next-dev-starter/deploys)
4 |
5 | This is a [Next.js](https://nextjs.org/) v15 project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) and set up to be instantly deployed to [Netlify](https://url.netlify.com/SyTBPVamO)!
6 |
7 | This project is a very minimal starter that includes 2 sample components, a global stylesheet, a `netlify.toml` for deployment, and a `jsconfig.json` for setting up absolute imports and aliases. With Netlify, you'll have access to features like Preview Mode, server-side rendering/incremental static regeneration via Netlify Functions, and internationalized routing on deploy automatically.
8 |
9 | [](https://app.netlify.com/start/deploy?repository=https://github.com/netlify-templates/next-netlify-starter&utm_source=github&utm_medium=nextstarter-cs&utm_campaign=devex-cs)
10 |
11 | (If you click this button, it will create a new repo for you that looks exactly like this one, and sets that repo up immediately for deployment on Netlify)
12 |
13 | ## Table of Contents:
14 |
15 | - [Getting Started](#getting-started)
16 | - [Installation options](#installation-options)
17 | - [Testing](#testing)
18 | - [Included Default Testing](#included-default-testing)
19 | - [Removing Renovate](#removing-renovate)
20 |
21 | ## Getting Started
22 |
23 | First, run the development server:
24 |
25 | ```bash
26 | npm run dev
27 | # or
28 | yarn dev
29 | ```
30 |
31 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
32 |
33 | You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
34 |
35 | ### Installation options
36 |
37 | **Option one:** One-click deploy
38 |
39 | [](https://app.netlify.com/start/deploy?repository=https://github.com/netlify-templates/next-netlify-starter&utm_source=github&utm_medium=nextstarter-cs&utm_campaign=devex-cs)
40 |
41 | **Option two:** Manual clone
42 |
43 | 1. Clone this repo: `git clone https://github.com/netlify-templates/next-netlify-starter.git`
44 | 2. Navigate to the directory and run `npm install`
45 | 3. Run `npm run dev`
46 | 4. Make your changes
47 | 5. Connect to [Netlify](https://url.netlify.com/Bk4UicocL) manually (the `netlify.toml` file is the one you'll need to make sure stays intact to make sure the export is done and pointed to the right stuff)
48 |
49 | ## Testing
50 |
51 | ### Included Default Testing
52 |
53 | We’ve included some tooling that helps us maintain these templates. This template currently uses:
54 |
55 | - [Renovate](https://www.mend.io/free-developer-tools/renovate/) - to regularly update our dependencies
56 | - [Cypress](https://www.cypress.io/) - to run tests against how the template runs in the browser
57 | - [Cypress Netlify Build Plugin](https://github.com/cypress-io/netlify-plugin-cypress) - to run our tests during our build process
58 |
59 | If your team is not interested in this tooling, you can remove them with ease!
60 |
61 | ### Removing Renovate
62 |
63 | In order to keep our project up-to-date with dependencies we use a tool called [Renovate](https://github.com/marketplace/renovate). If you’re not interested in this tooling, delete the `renovate.json` file and commit that onto your main branch.
64 |
--------------------------------------------------------------------------------
/components/Footer.js:
--------------------------------------------------------------------------------
1 | import styles from './Footer.module.css'
2 |
3 | export default function Footer() {
4 | return (
5 | <>
6 |
7 |
8 |
9 | >
10 | )
11 | }
12 |
--------------------------------------------------------------------------------
/components/Footer.module.css:
--------------------------------------------------------------------------------
1 | .footer {
2 | width: 100%;
3 | height: 100px;
4 | border-top: 1px solid #eaeaea;
5 | display: flex;
6 | justify-content: center;
7 | align-items: center;
8 | }
9 |
10 | .logo {
11 | height: 3em;
12 | margin: 5px;
13 | }
14 |
--------------------------------------------------------------------------------
/components/Header.js:
--------------------------------------------------------------------------------
1 | export default function Header({ title }) {
2 | return
{title}
3 | }
4 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": "./",
4 | "paths": {
5 | "@components/*": ["components/*"],
6 | "@styles/*": ["styles/*"]
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/netlify.toml:
--------------------------------------------------------------------------------
1 | [build]
2 | command = "npm run build"
3 | publish = ".next"
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {
3 | reactStrictMode: true
4 | };
5 |
6 | module.exports = nextConfig;
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "next-netlify-starter",
3 | "version": "0.5.0",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "next-netlify-starter",
9 | "version": "0.5.0",
10 | "dependencies": {
11 | "@netlify/plugin-nextjs": "^5.11.2",
12 | "next": "^15.0.0",
13 | "react": "^18.2.0",
14 | "react-dom": "^18.2.0"
15 | }
16 | },
17 | "node_modules/@emnapi/runtime": {
18 | "version": "1.4.1",
19 | "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.1.tgz",
20 | "integrity": "sha512-LMshMVP0ZhACNjQNYXiU1iZJ6QCcv0lUdPDPugqGvCGXt5xtRVBPdtA0qU12pEXZzpWAhWlZYptfdAFq10DOVQ==",
21 | "license": "MIT",
22 | "optional": true,
23 | "dependencies": {
24 | "tslib": "^2.4.0"
25 | }
26 | },
27 | "node_modules/@img/sharp-darwin-arm64": {
28 | "version": "0.34.1",
29 | "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.1.tgz",
30 | "integrity": "sha512-pn44xgBtgpEbZsu+lWf2KNb6OAf70X68k+yk69Ic2Xz11zHR/w24/U49XT7AeRwJ0Px+mhALhU5LPci1Aymk7A==",
31 | "cpu": [
32 | "arm64"
33 | ],
34 | "license": "Apache-2.0",
35 | "optional": true,
36 | "os": [
37 | "darwin"
38 | ],
39 | "engines": {
40 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
41 | },
42 | "funding": {
43 | "url": "https://opencollective.com/libvips"
44 | },
45 | "optionalDependencies": {
46 | "@img/sharp-libvips-darwin-arm64": "1.1.0"
47 | }
48 | },
49 | "node_modules/@img/sharp-darwin-x64": {
50 | "version": "0.34.1",
51 | "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.1.tgz",
52 | "integrity": "sha512-VfuYgG2r8BpYiOUN+BfYeFo69nP/MIwAtSJ7/Zpxc5QF3KS22z8Pvg3FkrSFJBPNQ7mmcUcYQFBmEQp7eu1F8Q==",
53 | "cpu": [
54 | "x64"
55 | ],
56 | "license": "Apache-2.0",
57 | "optional": true,
58 | "os": [
59 | "darwin"
60 | ],
61 | "engines": {
62 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
63 | },
64 | "funding": {
65 | "url": "https://opencollective.com/libvips"
66 | },
67 | "optionalDependencies": {
68 | "@img/sharp-libvips-darwin-x64": "1.1.0"
69 | }
70 | },
71 | "node_modules/@img/sharp-libvips-darwin-arm64": {
72 | "version": "1.1.0",
73 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.1.0.tgz",
74 | "integrity": "sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==",
75 | "cpu": [
76 | "arm64"
77 | ],
78 | "license": "LGPL-3.0-or-later",
79 | "optional": true,
80 | "os": [
81 | "darwin"
82 | ],
83 | "funding": {
84 | "url": "https://opencollective.com/libvips"
85 | }
86 | },
87 | "node_modules/@img/sharp-libvips-darwin-x64": {
88 | "version": "1.1.0",
89 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.1.0.tgz",
90 | "integrity": "sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==",
91 | "cpu": [
92 | "x64"
93 | ],
94 | "license": "LGPL-3.0-or-later",
95 | "optional": true,
96 | "os": [
97 | "darwin"
98 | ],
99 | "funding": {
100 | "url": "https://opencollective.com/libvips"
101 | }
102 | },
103 | "node_modules/@img/sharp-libvips-linux-arm": {
104 | "version": "1.1.0",
105 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.1.0.tgz",
106 | "integrity": "sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==",
107 | "cpu": [
108 | "arm"
109 | ],
110 | "license": "LGPL-3.0-or-later",
111 | "optional": true,
112 | "os": [
113 | "linux"
114 | ],
115 | "funding": {
116 | "url": "https://opencollective.com/libvips"
117 | }
118 | },
119 | "node_modules/@img/sharp-libvips-linux-arm64": {
120 | "version": "1.1.0",
121 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.1.0.tgz",
122 | "integrity": "sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==",
123 | "cpu": [
124 | "arm64"
125 | ],
126 | "license": "LGPL-3.0-or-later",
127 | "optional": true,
128 | "os": [
129 | "linux"
130 | ],
131 | "funding": {
132 | "url": "https://opencollective.com/libvips"
133 | }
134 | },
135 | "node_modules/@img/sharp-libvips-linux-ppc64": {
136 | "version": "1.1.0",
137 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.1.0.tgz",
138 | "integrity": "sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==",
139 | "cpu": [
140 | "ppc64"
141 | ],
142 | "license": "LGPL-3.0-or-later",
143 | "optional": true,
144 | "os": [
145 | "linux"
146 | ],
147 | "funding": {
148 | "url": "https://opencollective.com/libvips"
149 | }
150 | },
151 | "node_modules/@img/sharp-libvips-linux-s390x": {
152 | "version": "1.1.0",
153 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.1.0.tgz",
154 | "integrity": "sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==",
155 | "cpu": [
156 | "s390x"
157 | ],
158 | "license": "LGPL-3.0-or-later",
159 | "optional": true,
160 | "os": [
161 | "linux"
162 | ],
163 | "funding": {
164 | "url": "https://opencollective.com/libvips"
165 | }
166 | },
167 | "node_modules/@img/sharp-libvips-linux-x64": {
168 | "version": "1.1.0",
169 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.1.0.tgz",
170 | "integrity": "sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==",
171 | "cpu": [
172 | "x64"
173 | ],
174 | "license": "LGPL-3.0-or-later",
175 | "optional": true,
176 | "os": [
177 | "linux"
178 | ],
179 | "funding": {
180 | "url": "https://opencollective.com/libvips"
181 | }
182 | },
183 | "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
184 | "version": "1.1.0",
185 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.1.0.tgz",
186 | "integrity": "sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==",
187 | "cpu": [
188 | "arm64"
189 | ],
190 | "license": "LGPL-3.0-or-later",
191 | "optional": true,
192 | "os": [
193 | "linux"
194 | ],
195 | "funding": {
196 | "url": "https://opencollective.com/libvips"
197 | }
198 | },
199 | "node_modules/@img/sharp-libvips-linuxmusl-x64": {
200 | "version": "1.1.0",
201 | "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.1.0.tgz",
202 | "integrity": "sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==",
203 | "cpu": [
204 | "x64"
205 | ],
206 | "license": "LGPL-3.0-or-later",
207 | "optional": true,
208 | "os": [
209 | "linux"
210 | ],
211 | "funding": {
212 | "url": "https://opencollective.com/libvips"
213 | }
214 | },
215 | "node_modules/@img/sharp-linux-arm": {
216 | "version": "0.34.1",
217 | "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.1.tgz",
218 | "integrity": "sha512-anKiszvACti2sGy9CirTlNyk7BjjZPiML1jt2ZkTdcvpLU1YH6CXwRAZCA2UmRXnhiIftXQ7+Oh62Ji25W72jA==",
219 | "cpu": [
220 | "arm"
221 | ],
222 | "license": "Apache-2.0",
223 | "optional": true,
224 | "os": [
225 | "linux"
226 | ],
227 | "engines": {
228 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
229 | },
230 | "funding": {
231 | "url": "https://opencollective.com/libvips"
232 | },
233 | "optionalDependencies": {
234 | "@img/sharp-libvips-linux-arm": "1.1.0"
235 | }
236 | },
237 | "node_modules/@img/sharp-linux-arm64": {
238 | "version": "0.34.1",
239 | "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.1.tgz",
240 | "integrity": "sha512-kX2c+vbvaXC6vly1RDf/IWNXxrlxLNpBVWkdpRq5Ka7OOKj6nr66etKy2IENf6FtOgklkg9ZdGpEu9kwdlcwOQ==",
241 | "cpu": [
242 | "arm64"
243 | ],
244 | "license": "Apache-2.0",
245 | "optional": true,
246 | "os": [
247 | "linux"
248 | ],
249 | "engines": {
250 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
251 | },
252 | "funding": {
253 | "url": "https://opencollective.com/libvips"
254 | },
255 | "optionalDependencies": {
256 | "@img/sharp-libvips-linux-arm64": "1.1.0"
257 | }
258 | },
259 | "node_modules/@img/sharp-linux-s390x": {
260 | "version": "0.34.1",
261 | "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.1.tgz",
262 | "integrity": "sha512-7s0KX2tI9mZI2buRipKIw2X1ufdTeaRgwmRabt5bi9chYfhur+/C1OXg3TKg/eag1W+6CCWLVmSauV1owmRPxA==",
263 | "cpu": [
264 | "s390x"
265 | ],
266 | "license": "Apache-2.0",
267 | "optional": true,
268 | "os": [
269 | "linux"
270 | ],
271 | "engines": {
272 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
273 | },
274 | "funding": {
275 | "url": "https://opencollective.com/libvips"
276 | },
277 | "optionalDependencies": {
278 | "@img/sharp-libvips-linux-s390x": "1.1.0"
279 | }
280 | },
281 | "node_modules/@img/sharp-linux-x64": {
282 | "version": "0.34.1",
283 | "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.1.tgz",
284 | "integrity": "sha512-wExv7SH9nmoBW3Wr2gvQopX1k8q2g5V5Iag8Zk6AVENsjwd+3adjwxtp3Dcu2QhOXr8W9NusBU6XcQUohBZ5MA==",
285 | "cpu": [
286 | "x64"
287 | ],
288 | "license": "Apache-2.0",
289 | "optional": true,
290 | "os": [
291 | "linux"
292 | ],
293 | "engines": {
294 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
295 | },
296 | "funding": {
297 | "url": "https://opencollective.com/libvips"
298 | },
299 | "optionalDependencies": {
300 | "@img/sharp-libvips-linux-x64": "1.1.0"
301 | }
302 | },
303 | "node_modules/@img/sharp-linuxmusl-arm64": {
304 | "version": "0.34.1",
305 | "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.1.tgz",
306 | "integrity": "sha512-DfvyxzHxw4WGdPiTF0SOHnm11Xv4aQexvqhRDAoD00MzHekAj9a/jADXeXYCDFH/DzYruwHbXU7uz+H+nWmSOQ==",
307 | "cpu": [
308 | "arm64"
309 | ],
310 | "license": "Apache-2.0",
311 | "optional": true,
312 | "os": [
313 | "linux"
314 | ],
315 | "engines": {
316 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
317 | },
318 | "funding": {
319 | "url": "https://opencollective.com/libvips"
320 | },
321 | "optionalDependencies": {
322 | "@img/sharp-libvips-linuxmusl-arm64": "1.1.0"
323 | }
324 | },
325 | "node_modules/@img/sharp-linuxmusl-x64": {
326 | "version": "0.34.1",
327 | "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.1.tgz",
328 | "integrity": "sha512-pax/kTR407vNb9qaSIiWVnQplPcGU8LRIJpDT5o8PdAx5aAA7AS3X9PS8Isw1/WfqgQorPotjrZL3Pqh6C5EBg==",
329 | "cpu": [
330 | "x64"
331 | ],
332 | "license": "Apache-2.0",
333 | "optional": true,
334 | "os": [
335 | "linux"
336 | ],
337 | "engines": {
338 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
339 | },
340 | "funding": {
341 | "url": "https://opencollective.com/libvips"
342 | },
343 | "optionalDependencies": {
344 | "@img/sharp-libvips-linuxmusl-x64": "1.1.0"
345 | }
346 | },
347 | "node_modules/@img/sharp-wasm32": {
348 | "version": "0.34.1",
349 | "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.1.tgz",
350 | "integrity": "sha512-YDybQnYrLQfEpzGOQe7OKcyLUCML4YOXl428gOOzBgN6Gw0rv8dpsJ7PqTHxBnXnwXr8S1mYFSLSa727tpz0xg==",
351 | "cpu": [
352 | "wasm32"
353 | ],
354 | "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
355 | "optional": true,
356 | "dependencies": {
357 | "@emnapi/runtime": "^1.4.0"
358 | },
359 | "engines": {
360 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
361 | },
362 | "funding": {
363 | "url": "https://opencollective.com/libvips"
364 | }
365 | },
366 | "node_modules/@img/sharp-win32-ia32": {
367 | "version": "0.34.1",
368 | "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.1.tgz",
369 | "integrity": "sha512-WKf/NAZITnonBf3U1LfdjoMgNO5JYRSlhovhRhMxXVdvWYveM4kM3L8m35onYIdh75cOMCo1BexgVQcCDzyoWw==",
370 | "cpu": [
371 | "ia32"
372 | ],
373 | "license": "Apache-2.0 AND LGPL-3.0-or-later",
374 | "optional": true,
375 | "os": [
376 | "win32"
377 | ],
378 | "engines": {
379 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
380 | },
381 | "funding": {
382 | "url": "https://opencollective.com/libvips"
383 | }
384 | },
385 | "node_modules/@img/sharp-win32-x64": {
386 | "version": "0.34.1",
387 | "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.1.tgz",
388 | "integrity": "sha512-hw1iIAHpNE8q3uMIRCgGOeDoz9KtFNarFLQclLxr/LK1VBkj8nby18RjFvr6aP7USRYAjTZW6yisnBWMX571Tw==",
389 | "cpu": [
390 | "x64"
391 | ],
392 | "license": "Apache-2.0 AND LGPL-3.0-or-later",
393 | "optional": true,
394 | "os": [
395 | "win32"
396 | ],
397 | "engines": {
398 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
399 | },
400 | "funding": {
401 | "url": "https://opencollective.com/libvips"
402 | }
403 | },
404 | "node_modules/@netlify/plugin-nextjs": {
405 | "version": "5.11.2",
406 | "resolved": "https://registry.npmjs.org/@netlify/plugin-nextjs/-/plugin-nextjs-5.11.2.tgz",
407 | "integrity": "sha512-9Hgd/J5nP2U/Vv0teytq9uUAGppiKV9t5tzpsuMLqeqUGD9STxXwKmyZd2v8Z4THSW9rw4+8w7dH7LVlFoym2A==",
408 | "license": "MIT",
409 | "engines": {
410 | "node": ">=18.0.0"
411 | }
412 | },
413 | "node_modules/@next/env": {
414 | "version": "15.3.2",
415 | "resolved": "https://registry.npmjs.org/@next/env/-/env-15.3.2.tgz",
416 | "integrity": "sha512-xURk++7P7qR9JG1jJtLzPzf0qEvqCN0A/T3DXf8IPMKo9/6FfjxtEffRJIIew/bIL4T3C2jLLqBor8B/zVlx6g==",
417 | "license": "MIT"
418 | },
419 | "node_modules/@next/swc-darwin-arm64": {
420 | "version": "15.3.2",
421 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.3.2.tgz",
422 | "integrity": "sha512-2DR6kY/OGcokbnCsjHpNeQblqCZ85/1j6njYSkzRdpLn5At7OkSdmk7WyAmB9G0k25+VgqVZ/u356OSoQZ3z0g==",
423 | "cpu": [
424 | "arm64"
425 | ],
426 | "license": "MIT",
427 | "optional": true,
428 | "os": [
429 | "darwin"
430 | ],
431 | "engines": {
432 | "node": ">= 10"
433 | }
434 | },
435 | "node_modules/@next/swc-darwin-x64": {
436 | "version": "15.3.2",
437 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.3.2.tgz",
438 | "integrity": "sha512-ro/fdqaZWL6k1S/5CLv1I0DaZfDVJkWNaUU3un8Lg6m0YENWlDulmIWzV96Iou2wEYyEsZq51mwV8+XQXqMp3w==",
439 | "cpu": [
440 | "x64"
441 | ],
442 | "license": "MIT",
443 | "optional": true,
444 | "os": [
445 | "darwin"
446 | ],
447 | "engines": {
448 | "node": ">= 10"
449 | }
450 | },
451 | "node_modules/@next/swc-linux-arm64-gnu": {
452 | "version": "15.3.2",
453 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.3.2.tgz",
454 | "integrity": "sha512-covwwtZYhlbRWK2HlYX9835qXum4xYZ3E2Mra1mdQ+0ICGoMiw1+nVAn4d9Bo7R3JqSmK1grMq/va+0cdh7bJA==",
455 | "cpu": [
456 | "arm64"
457 | ],
458 | "license": "MIT",
459 | "optional": true,
460 | "os": [
461 | "linux"
462 | ],
463 | "engines": {
464 | "node": ">= 10"
465 | }
466 | },
467 | "node_modules/@next/swc-linux-arm64-musl": {
468 | "version": "15.3.2",
469 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.3.2.tgz",
470 | "integrity": "sha512-KQkMEillvlW5Qk5mtGA/3Yz0/tzpNlSw6/3/ttsV1lNtMuOHcGii3zVeXZyi4EJmmLDKYcTcByV2wVsOhDt/zg==",
471 | "cpu": [
472 | "arm64"
473 | ],
474 | "license": "MIT",
475 | "optional": true,
476 | "os": [
477 | "linux"
478 | ],
479 | "engines": {
480 | "node": ">= 10"
481 | }
482 | },
483 | "node_modules/@next/swc-linux-x64-gnu": {
484 | "version": "15.3.2",
485 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.3.2.tgz",
486 | "integrity": "sha512-uRBo6THWei0chz+Y5j37qzx+BtoDRFIkDzZjlpCItBRXyMPIg079eIkOCl3aqr2tkxL4HFyJ4GHDes7W8HuAUg==",
487 | "cpu": [
488 | "x64"
489 | ],
490 | "license": "MIT",
491 | "optional": true,
492 | "os": [
493 | "linux"
494 | ],
495 | "engines": {
496 | "node": ">= 10"
497 | }
498 | },
499 | "node_modules/@next/swc-linux-x64-musl": {
500 | "version": "15.3.2",
501 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.3.2.tgz",
502 | "integrity": "sha512-+uxFlPuCNx/T9PdMClOqeE8USKzj8tVz37KflT3Kdbx/LOlZBRI2yxuIcmx1mPNK8DwSOMNCr4ureSet7eyC0w==",
503 | "cpu": [
504 | "x64"
505 | ],
506 | "license": "MIT",
507 | "optional": true,
508 | "os": [
509 | "linux"
510 | ],
511 | "engines": {
512 | "node": ">= 10"
513 | }
514 | },
515 | "node_modules/@next/swc-win32-arm64-msvc": {
516 | "version": "15.3.2",
517 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.3.2.tgz",
518 | "integrity": "sha512-LLTKmaI5cfD8dVzh5Vt7+OMo+AIOClEdIU/TSKbXXT2iScUTSxOGoBhfuv+FU8R9MLmrkIL1e2fBMkEEjYAtPQ==",
519 | "cpu": [
520 | "arm64"
521 | ],
522 | "license": "MIT",
523 | "optional": true,
524 | "os": [
525 | "win32"
526 | ],
527 | "engines": {
528 | "node": ">= 10"
529 | }
530 | },
531 | "node_modules/@next/swc-win32-x64-msvc": {
532 | "version": "15.3.2",
533 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.3.2.tgz",
534 | "integrity": "sha512-aW5B8wOPioJ4mBdMDXkt5f3j8pUr9W8AnlX0Df35uRWNT1Y6RIybxjnSUe+PhM+M1bwgyY8PHLmXZC6zT1o5tA==",
535 | "cpu": [
536 | "x64"
537 | ],
538 | "license": "MIT",
539 | "optional": true,
540 | "os": [
541 | "win32"
542 | ],
543 | "engines": {
544 | "node": ">= 10"
545 | }
546 | },
547 | "node_modules/@swc/counter": {
548 | "version": "0.1.3",
549 | "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
550 | "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="
551 | },
552 | "node_modules/@swc/helpers": {
553 | "version": "0.5.15",
554 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
555 | "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==",
556 | "license": "Apache-2.0",
557 | "dependencies": {
558 | "tslib": "^2.8.0"
559 | }
560 | },
561 | "node_modules/busboy": {
562 | "version": "1.6.0",
563 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
564 | "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
565 | "dependencies": {
566 | "streamsearch": "^1.1.0"
567 | },
568 | "engines": {
569 | "node": ">=10.16.0"
570 | }
571 | },
572 | "node_modules/caniuse-lite": {
573 | "version": "1.0.30001607",
574 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001607.tgz",
575 | "integrity": "sha512-WcvhVRjXLKFB/kmOFVwELtMxyhq3iM/MvmXcyCe2PNf166c39mptscOc/45TTS96n2gpNV2z7+NakArTWZCQ3w==",
576 | "funding": [
577 | {
578 | "type": "opencollective",
579 | "url": "https://opencollective.com/browserslist"
580 | },
581 | {
582 | "type": "tidelift",
583 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
584 | },
585 | {
586 | "type": "github",
587 | "url": "https://github.com/sponsors/ai"
588 | }
589 | ]
590 | },
591 | "node_modules/client-only": {
592 | "version": "0.0.1",
593 | "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
594 | "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
595 | },
596 | "node_modules/color": {
597 | "version": "4.2.3",
598 | "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
599 | "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
600 | "optional": true,
601 | "dependencies": {
602 | "color-convert": "^2.0.1",
603 | "color-string": "^1.9.0"
604 | },
605 | "engines": {
606 | "node": ">=12.5.0"
607 | }
608 | },
609 | "node_modules/color-convert": {
610 | "version": "2.0.1",
611 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
612 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
613 | "optional": true,
614 | "dependencies": {
615 | "color-name": "~1.1.4"
616 | },
617 | "engines": {
618 | "node": ">=7.0.0"
619 | }
620 | },
621 | "node_modules/color-name": {
622 | "version": "1.1.4",
623 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
624 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
625 | "optional": true
626 | },
627 | "node_modules/color-string": {
628 | "version": "1.9.1",
629 | "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
630 | "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
631 | "optional": true,
632 | "dependencies": {
633 | "color-name": "^1.0.0",
634 | "simple-swizzle": "^0.2.2"
635 | }
636 | },
637 | "node_modules/detect-libc": {
638 | "version": "2.0.3",
639 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
640 | "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
641 | "optional": true,
642 | "engines": {
643 | "node": ">=8"
644 | }
645 | },
646 | "node_modules/is-arrayish": {
647 | "version": "0.3.2",
648 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
649 | "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
650 | "optional": true
651 | },
652 | "node_modules/js-tokens": {
653 | "version": "4.0.0",
654 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
655 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
656 | },
657 | "node_modules/loose-envify": {
658 | "version": "1.4.0",
659 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
660 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
661 | "dependencies": {
662 | "js-tokens": "^3.0.0 || ^4.0.0"
663 | },
664 | "bin": {
665 | "loose-envify": "cli.js"
666 | }
667 | },
668 | "node_modules/nanoid": {
669 | "version": "3.3.6",
670 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
671 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
672 | "funding": [
673 | {
674 | "type": "github",
675 | "url": "https://github.com/sponsors/ai"
676 | }
677 | ],
678 | "bin": {
679 | "nanoid": "bin/nanoid.cjs"
680 | },
681 | "engines": {
682 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
683 | }
684 | },
685 | "node_modules/next": {
686 | "version": "15.3.2",
687 | "resolved": "https://registry.npmjs.org/next/-/next-15.3.2.tgz",
688 | "integrity": "sha512-CA3BatMyHkxZ48sgOCLdVHjFU36N7TF1HhqAHLFOkV6buwZnvMI84Cug8xD56B9mCuKrqXnLn94417GrZ/jjCQ==",
689 | "license": "MIT",
690 | "dependencies": {
691 | "@next/env": "15.3.2",
692 | "@swc/counter": "0.1.3",
693 | "@swc/helpers": "0.5.15",
694 | "busboy": "1.6.0",
695 | "caniuse-lite": "^1.0.30001579",
696 | "postcss": "8.4.31",
697 | "styled-jsx": "5.1.6"
698 | },
699 | "bin": {
700 | "next": "dist/bin/next"
701 | },
702 | "engines": {
703 | "node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
704 | },
705 | "optionalDependencies": {
706 | "@next/swc-darwin-arm64": "15.3.2",
707 | "@next/swc-darwin-x64": "15.3.2",
708 | "@next/swc-linux-arm64-gnu": "15.3.2",
709 | "@next/swc-linux-arm64-musl": "15.3.2",
710 | "@next/swc-linux-x64-gnu": "15.3.2",
711 | "@next/swc-linux-x64-musl": "15.3.2",
712 | "@next/swc-win32-arm64-msvc": "15.3.2",
713 | "@next/swc-win32-x64-msvc": "15.3.2",
714 | "sharp": "^0.34.1"
715 | },
716 | "peerDependencies": {
717 | "@opentelemetry/api": "^1.1.0",
718 | "@playwright/test": "^1.41.2",
719 | "babel-plugin-react-compiler": "*",
720 | "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
721 | "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
722 | "sass": "^1.3.0"
723 | },
724 | "peerDependenciesMeta": {
725 | "@opentelemetry/api": {
726 | "optional": true
727 | },
728 | "@playwright/test": {
729 | "optional": true
730 | },
731 | "babel-plugin-react-compiler": {
732 | "optional": true
733 | },
734 | "sass": {
735 | "optional": true
736 | }
737 | }
738 | },
739 | "node_modules/picocolors": {
740 | "version": "1.0.0",
741 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
742 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
743 | },
744 | "node_modules/postcss": {
745 | "version": "8.4.31",
746 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
747 | "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
748 | "funding": [
749 | {
750 | "type": "opencollective",
751 | "url": "https://opencollective.com/postcss/"
752 | },
753 | {
754 | "type": "tidelift",
755 | "url": "https://tidelift.com/funding/github/npm/postcss"
756 | },
757 | {
758 | "type": "github",
759 | "url": "https://github.com/sponsors/ai"
760 | }
761 | ],
762 | "dependencies": {
763 | "nanoid": "^3.3.6",
764 | "picocolors": "^1.0.0",
765 | "source-map-js": "^1.0.2"
766 | },
767 | "engines": {
768 | "node": "^10 || ^12 || >=14"
769 | }
770 | },
771 | "node_modules/react": {
772 | "version": "18.3.1",
773 | "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
774 | "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
775 | "dependencies": {
776 | "loose-envify": "^1.1.0"
777 | },
778 | "engines": {
779 | "node": ">=0.10.0"
780 | }
781 | },
782 | "node_modules/react-dom": {
783 | "version": "18.3.1",
784 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
785 | "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
786 | "dependencies": {
787 | "loose-envify": "^1.1.0",
788 | "scheduler": "^0.23.2"
789 | },
790 | "peerDependencies": {
791 | "react": "^18.3.1"
792 | }
793 | },
794 | "node_modules/scheduler": {
795 | "version": "0.23.2",
796 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
797 | "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
798 | "dependencies": {
799 | "loose-envify": "^1.1.0"
800 | }
801 | },
802 | "node_modules/semver": {
803 | "version": "7.7.1",
804 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
805 | "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
806 | "license": "ISC",
807 | "optional": true,
808 | "bin": {
809 | "semver": "bin/semver.js"
810 | },
811 | "engines": {
812 | "node": ">=10"
813 | }
814 | },
815 | "node_modules/sharp": {
816 | "version": "0.34.1",
817 | "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.1.tgz",
818 | "integrity": "sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==",
819 | "hasInstallScript": true,
820 | "license": "Apache-2.0",
821 | "optional": true,
822 | "dependencies": {
823 | "color": "^4.2.3",
824 | "detect-libc": "^2.0.3",
825 | "semver": "^7.7.1"
826 | },
827 | "engines": {
828 | "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
829 | },
830 | "funding": {
831 | "url": "https://opencollective.com/libvips"
832 | },
833 | "optionalDependencies": {
834 | "@img/sharp-darwin-arm64": "0.34.1",
835 | "@img/sharp-darwin-x64": "0.34.1",
836 | "@img/sharp-libvips-darwin-arm64": "1.1.0",
837 | "@img/sharp-libvips-darwin-x64": "1.1.0",
838 | "@img/sharp-libvips-linux-arm": "1.1.0",
839 | "@img/sharp-libvips-linux-arm64": "1.1.0",
840 | "@img/sharp-libvips-linux-ppc64": "1.1.0",
841 | "@img/sharp-libvips-linux-s390x": "1.1.0",
842 | "@img/sharp-libvips-linux-x64": "1.1.0",
843 | "@img/sharp-libvips-linuxmusl-arm64": "1.1.0",
844 | "@img/sharp-libvips-linuxmusl-x64": "1.1.0",
845 | "@img/sharp-linux-arm": "0.34.1",
846 | "@img/sharp-linux-arm64": "0.34.1",
847 | "@img/sharp-linux-s390x": "0.34.1",
848 | "@img/sharp-linux-x64": "0.34.1",
849 | "@img/sharp-linuxmusl-arm64": "0.34.1",
850 | "@img/sharp-linuxmusl-x64": "0.34.1",
851 | "@img/sharp-wasm32": "0.34.1",
852 | "@img/sharp-win32-ia32": "0.34.1",
853 | "@img/sharp-win32-x64": "0.34.1"
854 | }
855 | },
856 | "node_modules/simple-swizzle": {
857 | "version": "0.2.2",
858 | "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
859 | "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
860 | "optional": true,
861 | "dependencies": {
862 | "is-arrayish": "^0.3.1"
863 | }
864 | },
865 | "node_modules/source-map-js": {
866 | "version": "1.0.2",
867 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
868 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
869 | "engines": {
870 | "node": ">=0.10.0"
871 | }
872 | },
873 | "node_modules/streamsearch": {
874 | "version": "1.1.0",
875 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
876 | "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
877 | "engines": {
878 | "node": ">=10.0.0"
879 | }
880 | },
881 | "node_modules/styled-jsx": {
882 | "version": "5.1.6",
883 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz",
884 | "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==",
885 | "dependencies": {
886 | "client-only": "0.0.1"
887 | },
888 | "engines": {
889 | "node": ">= 12.0.0"
890 | },
891 | "peerDependencies": {
892 | "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0"
893 | },
894 | "peerDependenciesMeta": {
895 | "@babel/core": {
896 | "optional": true
897 | },
898 | "babel-plugin-macros": {
899 | "optional": true
900 | }
901 | }
902 | },
903 | "node_modules/tslib": {
904 | "version": "2.8.0",
905 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz",
906 | "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA=="
907 | }
908 | }
909 | }
910 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "next-netlify-starter",
3 | "version": "0.5.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "export": "next build && next export"
10 | },
11 | "dependencies": {
12 | "@netlify/plugin-nextjs": "^5.11.2",
13 | "next": "^15.0.0",
14 | "react": "^18.2.0",
15 | "react-dom": "^18.2.0"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/pages/_app.js:
--------------------------------------------------------------------------------
1 | import '@styles/globals.css'
2 |
3 | function Application({ Component, pageProps }) {
4 | return
5 | }
6 |
7 | export default Application
8 |
--------------------------------------------------------------------------------
/pages/index.js:
--------------------------------------------------------------------------------
1 | import Head from 'next/head'
2 | import Header from '@components/Header'
3 | import Footer from '@components/Footer'
4 |
5 | export default function Home() {
6 | return (
7 |
8 |
9 |
Next.js Starter!
10 |
11 |
12 |
13 |
14 |
15 |
16 | Get started by editing pages/index.js
17 |
18 |
19 |
20 |
21 |
22 | )
23 | }
24 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netlify-templates/next-netlify-starter/33dca259c8e8e24ab87ca166e37197aff0afdda9/public/favicon.ico
--------------------------------------------------------------------------------
/public/logo-netlify.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3 | "extends": [
4 | "local>netlify-templates/renovate-config"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/styles/globals.css:
--------------------------------------------------------------------------------
1 | html,
2 | body {
3 | background-color: #f8fafc;
4 | padding: 0;
5 | margin: 0;
6 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell,
7 | Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
8 | }
9 |
10 | * {
11 | box-sizing: border-box;
12 | }
13 |
14 | main {
15 | padding: 5rem 0;
16 | flex: 1;
17 | display: flex;
18 | flex-direction: column;
19 | justify-content: center;
20 | align-items: center;
21 | }
22 |
23 | code {
24 | background: #e2e8f0;
25 | border-radius: 5px;
26 | padding: 0.75rem;
27 | font-family: Menlo, Monaco, Lucida Console, Courier New, monospace;
28 | }
29 |
30 | .container {
31 | height: 100vh;
32 | display: flex;
33 | flex-direction: column;
34 | justify-content: center;
35 | align-items: center;
36 | }
37 |
--------------------------------------------------------------------------------