Home
Softono
o

opennextjs

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
3

Software by opennextjs

opennextjs-aws
Open Source

opennextjs-aws

<p align="center"> <a href="https://opennext.js.org"> <picture> <source media="(prefers-color-scheme: dark)" srcset="docs/public/logo-dark.svg"> <img alt="OpenNext" src="docs/public/logo-light.svg" width="300" /> </picture> </a> </p> <p align="center"> <a href="https://discord.gg/opennextjs"><img alt="Discord" src="https://img.shields.io/discord/1283128968140161065?style=flat-square" /></a> <a href="https://www.npmjs.com/package/@opennextjs/aws"><img alt="npm" src="https://img.shields.io/npm/v/@opennextjs/aws.svg?style=flat-square" /></a> </p> --- <h1 align="center"> <a href="https://opennext.js.org/aws">Docs</a> </h1> ## Description OpenNext takes the Next.js build output and converts it into packages that can be deployed across a variety of environments. Natively OpenNext has support for AWS Lambda, and classic Node.js Server. ## Features OpenNext aims to support all Next.js 15 features. Some features are work in progress. If you are running into any problems make sure to check the [docs](https://opennext.js.org/aws) first before you open a [new issue](/issues/new) or visit our [Discord](https://discord.gg/opennextjs) to let us know! - [x] App & Pages Router - [x] API routes - [x] Dynamic routes - [x] Static site generation (SSG) - [x] Server-side rendering (SSR) - [x] Incremental static regeneration (ISR) - [x] Middleware - [x] Server actions - [x] Image optimization - [x] [NextAuth.js](https://next-auth.js.org) - [x] Running at edge - [x] [Almost no coldstart (\*)](#coldstart) ## Who is using OpenNext? [Gymshark UK](https://uk.gymshark.com), [Udacity](https://engineering.udacity.com/deploying-next-js-on-the-edge-with-sst-is-sst-the-game-changer-its-claimed-to-be-1f05a0abc27c), [TUDN](https://www.tudn.com), [NHS England](https://github.com/nhs-england-tools/terraform-aws-opennext) ## Configuration ### Configuration file For personalisation you need to create a file `open-next.config.ts` at the same place as your `next.config.js`, and export a default object that satisfies the `OpenNextConfig` interface. It is possible to not have an open-next.config.ts file, the default configuration will then be applied automatically. ### Debug mode OpenNext can be executed in debug mode by setting the environment variable `OPEN_NEXT_DEBUG=true` before your build. This will output A LOT of additional logs to the console. This also disable minifying in esbuild, and add source maps to the output. This can result in code that might be up to 2-3X larger than the production build. Do **not** enable this in production. You can read more about the configuration in the [docs](https://opennext.js.org/aws/config) ## Preleases Besides the standard npm releases we also automatically publish prerelease packages on branch pushes (using [`pkg.pr.new`](https://github.com/stackblitz-labs/pkg.pr.new)): - `https://pkg.pr.new/@opennextjs/aws@main`: Updated with every push to the `main` branch, this prerelease contains the most up to date yet (reasonably) stable version of the package. - `https://pkg.pr.new/@opennextjs/aws@experimental` Updated with every push to the `experimental` branch, this prerelease contains the latest experimental version of the package (containing features that we want to test/experiment on before committing to). Which you can simply install directly with your package manager of choice, for example: ```bash npm i https://pkg.pr.new/@opennextjs/aws@main ``` ## Contribute To run `OpenNext` locally: 1. Clone this repository. 1. Build `open-next`: ```bash cd packages/open-next pnpm build ``` 1. Run `open-next` in watch mode: ```bash pnpm dev ``` 1. Now, you can make changes in `open-next` and build your Next.js app to test the changes. ```bash cd path/to/my/nextjs/app path/to/opennextjs-aws/packages/open-next/dist/index.js build ``` There is also a way to run OpenNext locally. You can read a guide about it [here](https://opennext.js.org/aws/contribute/local_run). Its mostly used for development/debugging purposes. ## Testing You can run unit tests with ```bash pnpm test ``` You can tun e2e locally with: ```bash pnpm -r openbuild:local pnpm -r openbuild:local:start ``` And in a different shell: ```bash pnpm e2e:test ``` ## Coldstart OpenNext provide you with a warmer function that can be used to reduce cold start. On Lambda, there are multiple scenarios where a lambda will trigger a cold start even if you have some warmed instance. For example if you have more requests than warm instances you'll get a cold start. Also NextJs lazy load the routes, so even if you hit a warm instance, this specific route might not have been loaded yet. ## Acknowledgements We are grateful for the projects that inspired OpenNext and the amazing tools and libraries developed by the community: - [nextjs-lambda](https://github.com/sladg/nextjs-lambda) by [Jan](https://github.com/sladg) for serving as inspiration for packaging Next.js's standalone output to Lambda. - [CDK NextJS](https://github.com/jetbridge/cdk-nextjs/) by [JetBridge](https://github.com/jetbridge) for its contribution to the deployment architecture of a Next.js application on AWS. - [serverless-http](https://github.com/dougmoscrop/serverless-http) by [Doug Moscrop](https://github.com/dougmoscrop) for developing an excellent library for transforming AWS Lambda events and responses. - [serverless-nextjs](https://github.com/serverless-nextjs/serverless-next.js) by [Serverless Framework](https://github.com/serverless) for paving the way for serverless Next.js applications on AWS. Special shoutout to [@khuezy](https://github.com/khuezy) and [@conico974](https://github.com/conico974) for their outstanding contributions to the project. --- Maintained by [SST](https://sst.dev). Join our community: [Discord](https://discord.gg/opennextjs) | [YouTube](https://www.youtube.com/c/sst-dev) | [Twitter](https://twitter.com/SST_dev)

Low-Code & No-Code Dev PaaS & Self-hosting
5K Github Stars
opennextjs-cloudflare
Open Source

opennextjs-cloudflare

# Deploy Next.js apps to Cloudflare [OpenNext for Cloudflare](https://opennext.js.org/cloudflare) is an adapter that enables the deployment of Next.js applications to Cloudflare's developer platform. This monorepo includes a package for adapting a Next.js application built via `next build` (in standalone mode) to run in the Cloudflare workerd runtime using the [Workers Node.js compatibility layer](https://developers.cloudflare.com/workers/runtime-apis/nodejs/). ## Get started Visit the [OpenNext docs](https://opennext.js.org/cloudflare/get-started) for instructions on starting a new project, or migrating an existing one. ## Contributing ### The repository The repository contains two directories: - `packages` containing a cloudflare package that can be used to build a Cloudflare Workers-compatible output for Next.js applications. - `examples` containing Next.js applications that use the above mentioned cloudflare package. ### How to try out the `@opennextjs/cloudflare` package You can simply install the package from npm as specified in the [OpenNext documentation](https://opennext.js.org/cloudflare/get-started). #### Prereleases Besides the standard npm releases we also automatically publish prerelease packages on branch pushes (using [`pkg.pr.new`](https://github.com/stackblitz-labs/pkg.pr.new)): - `https://pkg.pr.new/@opennextjs/cloudflare@main`: Updated with every push to the `main` branch, this prerelease contains the most up to date yet (reasonably) stable version of the package. - `https://pkg.pr.new/@opennextjs/cloudflare@experimental` Updated with every push to the `experimental` branch, this prerelease contains the latest experimental version of the package (containing features that we want to test/experiment on before committing to). Which you can simply install directly with your package manager of choice, for example: ```bash npm i https://pkg.pr.new/@opennextjs/cloudflare@main ``` ### How to develop in the repository See the [CONTRIBUTING](./CONTRIBUTING.md) page for how to get started with this repository.

Artifact & Package Registries PaaS & Self-hosting
1.8K Github Stars
opennextjs-netlify
Open Source

opennextjs-netlify

![Next.js Runtime](next-js-runtime.png) # Next.js Runtime <p align="center"> <a aria-label="npm version" href="https://www.npmjs.com/package/@netlify/plugin-nextjs"> <img alt="" src="https://img.shields.io/npm/v/@netlify/plugin-nextjs"> </a> <a aria-label="MIT License" href="https://img.shields.io/npm/l/@netlify/plugin-nextjs"> <img alt="" src="https://img.shields.io/npm/l/@netlify/plugin-nextjs"> </a> </p> This package handles the build process and creates the runtime environment for Next.js sites on Netlify. You should not normally need to install it yourself, as it is used automatically during builds of Next.js sites. See [the docs for using Next.js on Netlify](https://docs.netlify.com/frameworks/next-js/overview/) for more details. Next.js is supported natively on Netlify, and in most cases you will not need to install or configure anything. This repo includes the packages used to support Next.js on Netlify. ## Prerequisites - Next.js 13.5 or later - Node.js 18 or later - The latest version of the [Netlify CLI](https://docs.netlify.com/cli/get-started/) ## Deploying If you build on Netlify, the Next.js Runtime will work with no additional configuration. ## Manually installing the Next.js Runtime The Next.js Runtime installs automatically for new Next.js sites on Netlify. You can also install it manually in the following ways: ### From the UI (Recommended) You can go to the [UI](https://app.netlify.com/plugins/@netlify/plugin-nextjs/install) and choose the site to install the Next.js Runtime on. This method is recommended because you will benefit from auto-upgrades to important fixes and feature updates. ### From `npm` ```shell npm install -D @netlify/plugin-nextjs ``` ...then add the following to your `netlify.toml` file: ```toml [[plugins]] package = "@netlify/plugin-nextjs" ``` This method is recommended if you wish to pin the Next.js Runtime to a specific version. ## v4 If you are using Next.js 10-13.4 or Node.js < 18, you must use v4 of the Next.js Runtime. If you are still using v4, you can find [its README here](https://github.com/netlify/next-runtime/blob/v4/README.md) and the [v4 Runtime docs here](https://docs.netlify.com/frameworks/next-js/runtime-v4/overview/). ### Upgrading from v4 to v5 To upgrade from v4 to v5, please visit [the v5 documentation](https://docs.netlify.com/frameworks/next-js/overview/). ## Feedback If you think you have found a bug in Next.js on Netlify, [please open an issue](https://github.com/opennextjs/opennextjs-netlify/issues). If you have comments or feature requests, [see the discussion board](https://github.com/opennextjs/opennextjs-netlify/discussions) Please note that v4 will only receive security fixes and critical bug fixes.

Web Development
846 Github Stars