[
  {
    "path": ".gitignore",
    "content": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules\n/.pnp\n.pnp.js\n\n# testing\n/coverage\n\n# next.js\n/.next/\n/out/\n\n# production\n/build\n\n# misc\n.DS_Store\n\n# debug\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n\n# local env files\n.env.local\n.env.development.local\n.env.test.local\n.env.production.local\n\n# Local Netlify folder\n.netlify\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2024 netlify-templates\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# Next + Netlify Starter\n\n[![Netlify Status](https://api.netlify.com/api/v1/badges/46648482-644c-4c80-bafb-872057e51b6b/deploy-status)](https://app.netlify.com/sites/next-dev-starter/deploys)\n\nThis is a [Next.js](https://nextjs.org/) v16 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://www.netlify.com/)!\n\nThis 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.\n\n[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](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)\n\n(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)\n\n## Table of Contents:\n\n- [Getting Started](#getting-started)\n- [Installation options](#installation-options)\n- [Testing](#testing)\n  - [Included Default Testing](#included-default-testing)\n  - [Removing Renovate](#removing-renovate)\n\n## Getting Started\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.\n\n### Installation options\n\n**Option one:** One-click deploy\n\n[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](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)\n\n**Option two:** Manual clone\n\n1. Clone this repo: `git clone https://github.com/netlify-templates/next-netlify-starter.git`\n2. Navigate to the directory and run `npm install`\n3. Run `npm run dev`\n4. Make your changes\n5. 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)\n\n## Testing\n\n### Included Default Testing\n\nWe’ve included some tooling that helps us maintain these templates. This template currently uses:\n\n- [Renovate](https://www.mend.io/free-developer-tools/renovate/) - to regularly update our dependencies\n- [Cypress](https://www.cypress.io/) - to run tests against how the template runs in the browser\n- [Cypress Netlify Build Plugin](https://github.com/cypress-io/netlify-plugin-cypress) - to run our tests during our build process\n\nIf your team is not interested in this tooling, you can remove them with ease!\n\n### Removing Renovate\n\nIn 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.\n"
  },
  {
    "path": "components/Footer.js",
    "content": "import styles from './Footer.module.css'\n\nexport default function Footer() {\n  return (\n    <>\n      <footer className={styles.footer}>\n        <a href=\"https://www.netlify.com\" target=\"_blank\" rel=\"noopener\">\n          <img src=\"/logo-netlify.svg\" alt=\"Netlify Logo\" className={styles.logo} />\n        </a>\n      </footer>\n    </>\n  )\n}\n"
  },
  {
    "path": "components/Footer.module.css",
    "content": ".footer {\n  width: 100%;\n  height: 100px;\n  border-top: 1px solid #eaeaea;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.logo {\n  height: 3em;\n  margin: 5px;\n}\n"
  },
  {
    "path": "components/Header.js",
    "content": "export default function Header({ title }) {\n  return <h1 className=\"title\">{title}</h1>\n}\n"
  },
  {
    "path": "jsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \"./\",\n    \"paths\": {\n      \"@components/*\": [\"components/*\"],\n      \"@styles/*\": [\"styles/*\"]\n    }\n  }\n}\n"
  },
  {
    "path": "netlify.toml",
    "content": "[build]\n  command = \"npm run build\"\n  publish = \".next\""
  },
  {
    "path": "next.config.js",
    "content": "/** @type {import('next').NextConfig} */\nconst nextConfig = {\n  reactStrictMode: true\n};\n\nmodule.exports = nextConfig;"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"next-netlify-starter\",\n  \"version\": \"0.5.0\",\n  \"private\": true,\n  \"scripts\": {\n    \"dev\": \"next dev\",\n    \"build\": \"next build\",\n    \"start\": \"next start\",\n    \"export\": \"next build && next export\"\n  },\n  \"dependencies\": {\n    \"next\": \"^16.0.7\",\n    \"react\": \"^19.2.1\",\n    \"react-dom\": \"^19.2.1\"\n  }\n}\n"
  },
  {
    "path": "pages/_app.js",
    "content": "import '@styles/globals.css'\n\nfunction Application({ Component, pageProps }) {\n  return <Component {...pageProps} />\n}\n\nexport default Application\n"
  },
  {
    "path": "pages/index.js",
    "content": "import Head from 'next/head'\nimport Header from '@components/Header'\nimport Footer from '@components/Footer'\n\nexport default function Home() {\n  return (\n    <div className=\"container\">\n      <Head>\n        <title>Next.js Starter!</title>\n        <link rel=\"icon\" href=\"/favicon.ico\" />\n      </Head>\n\n      <main>\n        <Header title=\"Welcome to my app!\" />\n        <p className=\"description\">\n          Get started by editing <code>pages/index.js</code>\n        </p>\n      </main>\n\n      <Footer />\n    </div>\n  )\n}\n"
  },
  {
    "path": "renovate.json",
    "content": "{\n  \"$schema\": \"https://docs.renovatebot.com/renovate-schema.json\",\n  \"extends\": [\n    \"local>netlify-templates/renovate-config\"\n  ]\n}\n"
  },
  {
    "path": "styles/globals.css",
    "content": "html,\nbody {\n  background-color: #f8fafc;\n  padding: 0;\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell,\n    Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n}\n\n* {\n  box-sizing: border-box;\n}\n\nmain {\n  padding: 5rem 0;\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n}\n\ncode {\n  background: #e2e8f0;\n  border-radius: 5px;\n  padding: 0.75rem;\n  font-family: Menlo, Monaco, Lucida Console, Courier New, monospace;\n}\n\n.container {\n  height: 100vh;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n}\n"
  }
]