Skip to content

JanStevens/open-next

This branch is 197 commits behind opennextjs/opennextjs-aws:refs/heads/main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9d632d1 · Jun 19, 2024
Jun 19, 2024
Dec 8, 2023
Oct 11, 2023
Jun 19, 2024
Jun 19, 2024
Jun 19, 2024
Jun 19, 2024
Jun 19, 2024
Nov 2, 2023
Aug 31, 2023
Apr 6, 2023
Dec 4, 2022
Nov 29, 2022
Jun 9, 2024
Aug 31, 2023
Jun 9, 2024
Sep 2, 2023
Jun 19, 2024
Aug 31, 2023

Repository files navigation

OpenNext

Discord npm


Docs | Example

OpenNext takes the Next.js build output and converts it into a package that can be deployed to any functions as a service platform.

Features

OpenNext aims to support all Next.js 14 features. Some features are work in progress. Please open a new issue to let us know!

  • App & Pages Router
  • API routes
  • Dynamic routes
  • Static site generation (SSG)
  • Server-side rendering (SSR)
  • Incremental static regeneration (ISR)
  • Middleware
  • Image optimization
  • NextAuth.js
  • Running at edge
  • No cold start

Who is using OpenNext?

Gymshark UK, Udacity, TUDN, NHS England

Example

In the example folder, you can find a Next.js benchmark app. It contains a variety of pages that each test a single Next.js feature. The app is deployed to both Vercel and AWS using SST.

AWS link: https://d1gwt3w78t4dm3.cloudfront.net

Vercel link: https://open-next.vercel.app

Configuration

Environment variables

  • AWS_SDK_DYNAMODB_MAX_ATTEMPTS: The maximum number of times requests that encounter retryable failures should be attempted for DynamoDB. Defaults to 3.
  • AWS_SDK_S3_MAX_ATTEMPTS: The maximum number of times requests that encounter retryable failures should be attempted for S3. Defaults to 3.
  • DYNAMO_BATCH_WRITE_COMMAND_CONCURRENCY: The number of concurrent batch write commands to DynamoDB. Defaults to 4 in an effort to leave plenty of DynamoDB write request capacity for the production load.

Contribute

To run OpenNext locally:

  1. Clone this repository.
  2. Build open-next:
    cd open-next
    pnpm build
  3. Run open-next in watch mode:
    pnpm dev
  4. Now, you can make changes in open-next and build your Next.js app to test the changes.
    cd path/to/my/nextjs/app
    path/to/open-next/packages/open-next/dist/index.js build

Acknowledgements

We are grateful for the projects that inspired OpenNext and the amazing tools and libraries developed by the community:

Special shoutout to @khuezy and @conico974 for their outstanding contributions to the project.


Maintained by SST. Join our community: Discord | YouTube | Twitter

About

Open source Next.js serverless adapter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 92.2%
  • JavaScript 7.4%
  • Other 0.4%