A plugin to generate terraform configuration for Nextjs 8 and 9

Last update: Jun 8, 2022

Terraform nextjs plugin

A plugin to generate terraform configuration from nextjs pages

Build Status Codacy Badge npm Conventional Commits codecov

The reason

Nextjs supports serverless pages, where it creates files that can be used by some lambdas to render the pages. Unfortunately, here you are left alone. So here a solution for your troubles.

Installation

npm i --save-dev @ematipico/terraform-nextjs-plugin

Or

yarn add --dev @ematipico/terraform-nextjs-plugin

This package requires at least Next v8.

Usage

terranext --provider=AWS

This library supports cosmiconfig: you just need to have a file called terranextrc that matches the criteria. This repository has one.

Via CLI

You can use the simple CLI available. At moment you can't pass the routes parameter, you will need to use the config object or use the API.

Using the CLI will automatically emit the configuration files.

Arguments passed via CLI will override the ones that are defined inside the config file.

terranext --provider=AWS --gateway-key=CustomKey --next-dir-app=../../nextjs-project/

Or you can use the aliases:

terranext --provider=AWS -g=CustomKey -p=../../nextjs-project/

Help section


Usage
  $ terranext

Options
  --gateway-key, -g     The API Gateway key of the project. Default is "Terranext"
  --next-app-dir, -d    The path that Terraform CLI has to follow to reach the nextjs project.
  --provider            The Cloud provider to use when exporting the configuration
  --env				    A way for passing environment variables to the lambdas


Examples
  $ terranext
  $ terranext --gateway-key=CustomKey --next-app-dir=../../nextjs-project/
  $ terranext --provider=AWS --next-app-dir=../../nextjs-project/
  $ terranext -g=CustomKey -d=../../nextjs-project/
  $ terranext --env="DEBUG,express:*" --env="API_KEY,1234"

Via API

const generateResources = require("@ematipico/terraform-nextjs-plugin");

const configuration = {
	gatewayKey: "AmazingWebsite",
	lambdaPath: "../../project/build",
	provider: "AWS",
	env: [
		{
			key: "KEY",
			value: "2940"
		}
	]
};

const resources = generateResources(configuration); // inside resources you have the terraform json configuration
generateResources(configuration, true); // it creates two files

If the second argument is a boolean and it's true, the library will create two files:

  • gateway.terraform.tf.json
  • lambdas.terraform.tf.json

Having a suffix with .tf. will tell automatically to terraform that should be validated and planned. It will be up to you to consume them in a proper way.

Configuration

Name Type Default Description
gatewayKey string Terranext A name that will be prefixed to your resources. Usually it's the project name. Default value: Terranext.
provider string Must be provided The Cloud Provider. Based on the value, a different configuration will be exported. Supported providers: AWS
nextAppDir string Must be provided This is the path where your Next.js project is. Usually you will run terraform CLI from a different project/folder. So you need to tell terraform where this folder is. The library will take care of the rest. Default value: "./"
routes Array<Mapping>, Mapping Optional This is the structure of the routes that describe your pages.
env Array<Env> Optional Environments passed via CLI have to be split using ,: --env="KEY,VALUE". When using the API, you always have to pass an array of objects { key: "MyKeyName", "value": "MyKeyValue" }. Environment variables are applied to all the lambdas
nodeVersion 10 or 12 10 Runtime to use

Mapping explained

These mappings are only needed if you have custom routes. If you don't, routes is not needed as this library is able to create mappings from the files that Nextjs generates.

Let's say we want to describe the following URLs:

  • /about-us/contacts
  • /about-us/the-company
  • /blog/first-blog-post
  • /blog/second-blog-post
  • /credits?hideComments: here, hideComments is not mandatory. If it is mandatory, it will be marked true in the configuration
const routes = [
	{
		prefix: "/about-us",
		mappings: [
			{
				route: "/contacts", // the URL
				page: "/companyContacts" // the nextjs file, inside pages folder, that is responsible to render this page
			},
			{
				route: "/the-company",
				page: "/aboutTheCompany"
			}
		]
	},
	{
		prefix: "",
		mappings: [
			{
				route: "/blog/:url",
				page: "/blogPost"
			},
			{
				route: "/credits",
				page: "/credits",
				params: {
					hideComments: false
				}
			}
		]
	}
];

Providers

At the moment the project supports only AWS but it's up to support more providers in the future.

AWS

Once you generate the resource files, you will need to consume them. Also, you will need to create the following resource:

resource "aws_api_gateway_rest_api" "CustomKey" {
  name        = "WebApi"
  description = "Web API"
}

locals {
  groupname = "WebApi"
  lambda_iam_role = "arn:aws:iam::202020202020:role/lambda_execution_role"
  aws_region = "${data.aws_region.current.name}"
}

Please check the integration testing to see how to consume the configuration.

GitHub

https://github.com/ematipico/terraform-nextjs-plugin
Comments
  • 1. Lambda Handler not being found when viewing the generated API Stage

    Issue

    NodeJS 8.10 Handler 'render' missing on module 'contact' NodeJS 10.x Contact.render is undefined or not exported

    Expected Behavior

    Page to be displayed.

    Actual Behavior

    Error message is shown and stack is logged to cloudwatch.

    Steps to Reproduce the Problem

    1. Generate Example as shown in the integration section of the repository.
    2. Do a terraform apply
    3. Go to the generated link from the API Gateway and navigate to one of the routes.
    4. Review the cloudwatch log generated.

    Specifications

    • Next 9.1.2
    • React 16.11.0
    • React-dom 16.11
    • Node 8.10 (Did try 10.x with updating the lambdas too)
    • Terraform v0.11.15
    • Version: latest
    • Platform: Ubuntu / AWS
    • Subsystem:

    Example of lambda contents:

    • Contact.js "\n\nconst page = require('./contact.original.js');\nconst http = require('http')\n\nexports.render = (event, context, callback) => {\n\tconst server = new http.Server((req, res) => page.render(req, res));\n\tserver.listen(3000);\n};\n\n\n"

    I have set the nextJs config to be serverless but it could be that it is not picking it up.

    Reviewed by connormcwood at 2019-11-05 15:50
  • 2. [security] chore(deps-dev): bump codecov from 3.6.1 to 3.6.5

    Bumps codecov from 3.6.1 to 3.6.5.

    Release notes

    Sourced from codecov's releases.

    v3.6.4

    Fix for Cirrus CI

    v3.6.3

    AWS Codebuild fixes + package updates

    v3.6.2

    command line args sanitised

    Commits
    Maintainer changes

    This version was pushed to npm by drazisil, a new releaser for codecov since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    Reviewed by dependabot-preview[bot] at 2020-02-10 06:02
  • 3. Integration Example is missing critical setup information

    As the title suggests.

    When building the terraform files using the build.js file created many resources are created that if ran are not created. As a result of that when creating those terraform resources to match up with the desired routes it is not clear what should to where.

    For example data.archive_file.packLambda-index resource is required but it is not clear what file this resource should point to. Unfortunately this repository seems to be missing a lot of initial set up information and as a result of that it will limit adoption.

    I can see that creating the main resources and letting the tf.json file fill in the property values should allow for the creation of the resources. However, there seems to be an issue with the suffix .html that prevents various resources from being deployed. (Using TF 0.11)

    Error asking for user input: Error parsing address 'aws_api_gateway_resource.CustomKey-index.html': Unexpected value for InstanceType field: "html"

    Reviewed by connormcwood at 2019-11-05 14:18
  • 4. chore(deps-dev): bump @types/node from 14.10.1 to 14.14.26

    Bumps @types/node from 14.10.1 to 14.14.26.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    Reviewed by dependabot-preview[bot] at 2021-02-12 05:59
  • 5. chore(deps-dev): bump typescript from 4.0.2 to 4.1.4

    Bumps typescript from 4.0.2 to 4.1.4.

    Release notes

    Sourced from typescript's releases.

    TypeScript 4.1.4

    This release contains fixes for a security risk involving language service plugin loading. More details are available here.

    TypeScript 4.1.3

    For release notes, check out the release announcement.

    For the complete list of fixed issues, check out the

    Downloads are available on:

    TypeScript 4.1

    For release notes, check out the release announcement.

    For the complete list of fixed issues, check out the

    Downloads are available on:

    TypeScript 4.1 RC

    For release notes, check out the release announcement.

    For the complete list of fixed issues, check out the

    Downloads are available on:

    TypeScript 4.1 Beta

    For release notes, check out the release announcement.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    Reviewed by dependabot-preview[bot] at 2021-02-10 05:56
  • 6. chore(deps-dev): bump @types/node from 14.10.1 to 14.14.25

    Bumps @types/node from 14.10.1 to 14.14.25.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    Reviewed by dependabot-preview[bot] at 2021-02-05 06:03
  • 7. chore(deps-dev): bump @types/node from 14.10.1 to 14.14.24

    Bumps @types/node from 14.10.1 to 14.14.24.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    Reviewed by dependabot-preview[bot] at 2021-02-04 06:44
  • 8. chore(deps-dev): bump eslint from 7.8.1 to 7.19.0

    Bumps eslint from 7.8.1 to 7.19.0.

    Release notes

    Sourced from eslint's releases.

    v7.19.0

    • ce7f061 Update: add shadowed variable loc to message in no-shadow (fixes #13646) (#13841) (t-mangoe)
    • c60e23f Update: fix let logic in for-in and for-of loops in no-extra-parens (#14011) (Milos Djermanovic)
    • d76e8f6 Fix: no-useless-rename invalid autofix with parenthesized identifiers (#14032) (Milos Djermanovic)
    • 5800d92 Docs: Clarify stylistic rule update policy (#14052) (Brandon Mills)
    • 0ccf6d2 Docs: remove configuring.md (#14036) (Milos Djermanovic)
    • 65bb0ab Chore: Clean up new issue workflow (#14040) (Nicholas C. Zakas)
    • e1da90f Fix: nested indenting for offsetTernaryExpressions: true (fixes #13971) (#13972) (Chris Brody)
    • 1a078b9 Update: check ternary : even if ? was reported in space-infix-ops (#13963) (Milos Djermanovic)
    • fb27422 Fix: extend prefer-const fixer range to whole declaration (fixes #13899) (#14033) (Nitin Kumar)
    • e0b05c7 Docs: add a correct example to no-unsafe-optional-chaining (refs #14029) (#14050) (armin yahya)
    • 46e836d Sponsors: Sync README with website (ESLint Jenkins)
    • 3fc4fa4 Docs: update configuring links (#14038) (Milos Djermanovic)
    • 8561c21 Docs: fix broken links in configuring/README.md (#14046) (Milos Djermanovic)
    • 1c309eb Update: fix no-invalid-regexp false negatives with no flags specified (#14018) (Milos Djermanovic)
    • f6602d5 Docs: Reorganize Configuration Documentation (#13837) (klkhan)
    • c753b44 Sponsors: Sync README with website (ESLint Jenkins)
    • a4fdb70 Docs: Fixed Typo (#14007) (Yash Singh)
    • f7ca481 Docs: Explain why we disable lock files (refs eslint/tsc-meetings#234) (#14006) (Brandon Mills)

    v7.18.0

    • e3264b2 Upgrade: @eslint/eslintrc to improve error message for invalid extends (#14009) (Milos Djermanovic)
    • f17c3c3 Update: check logical assignment operators in the complexity rule (#13979) (Milos Djermanovic)
    • 672deb0 Docs: fix no-invalid-regexp docs regarding ecmaVersion (#13991) (Milos Djermanovic)
    • 179a910 Fix: --init crash on question to upgrade/downgrade ESLint (fixes #13978) (#13995) (Milos Djermanovic)
    • 292b1c0 Fix: no-extra-parens false positive with let identifier in for-loop (#13981) (Milos Djermanovic)
    • de61f94 Sponsors: Sync README with website (ESLint Jenkins)
    • 9250d16 Upgrade: Bump lodash to fix security issue (#13993) (Frederik Prijck)
    • 75fea9b Sponsors: Sync README with website (ESLint Jenkins)
    • f2687e7 Docs: update space-in-parens related rules (#13985) (Chris Brody)
    • 4a38bbe Docs: space-in-parens examples with no arguments etc. (#13987) (Chris Brody)
    • 3e49169 Sponsors: Sync README with website (ESLint Jenkins)
    • c5bf1f2 Sponsors: Sync README with website (ESLint Jenkins)
    • 98a729c Sponsors: Sync README with website (ESLint Jenkins)
    • e83a696 Sponsors: Sync README with website (ESLint Jenkins)
    • 78cb483 Chore: test foo( ) with space-in-parens option "always" (#13986) (Chris Brody)
    • f6948f6 Docs: Update semantic versioning policy (#13970) (Nicholas C. Zakas)
    • 0688212 Sponsors: Sync README with website (ESLint Jenkins)
    • aeba5e5 Chore: fix typo (#13975) (Nitin Kumar)
    • 4ee1134 Sponsors: Sync README with website (ESLint Jenkins)

    v7.17.0

    • e128e77 Update: check logical assignment in no-constant-condition (#13946) (Milos Djermanovic)
    • cc48713 Chore: refactor calculating range and loc in no-useless-escape (#13964) (Milos Djermanovic)
    • 535fe47 Update: use regexpp's default ecmaVersion in no-control-regex (#13969) (Milos Djermanovic)
    • 83e98cd Fix: use regexpp's default ecmaVersion in no-invalid-regexp (#13968) (Milos Djermanovic)
    • 7297363 Docs: fix examples for no-multi-str (#13966) (Milos Djermanovic)
    • 0649871 Update: add autofix to rule multiline-ternary (#13958) (薛定谔的猫)
    • f6e7e32 Fix: no-useless-escape wrong loc and fix with CRLF in template elements (#13953) (Milos Djermanovic)
    • 19c69c0 Fix: one-var shouldn't split declaration if it isn't in a statement list (#13959) (Milos Djermanovic)

    ... (truncated)

    Changelog

    Sourced from eslint's changelog.

    v7.19.0 - January 30, 2021

    • ce7f061 Update: add shadowed variable loc to message in no-shadow (fixes #13646) (#13841) (t-mangoe)
    • c60e23f Update: fix let logic in for-in and for-of loops in no-extra-parens (#14011) (Milos Djermanovic)
    • d76e8f6 Fix: no-useless-rename invalid autofix with parenthesized identifiers (#14032) (Milos Djermanovic)
    • 5800d92 Docs: Clarify stylistic rule update policy (#14052) (Brandon Mills)
    • 0ccf6d2 Docs: remove configuring.md (#14036) (Milos Djermanovic)
    • 65bb0ab Chore: Clean up new issue workflow (#14040) (Nicholas C. Zakas)
    • e1da90f Fix: nested indenting for offsetTernaryExpressions: true (fixes #13971) (#13972) (Chris Brody)
    • 1a078b9 Update: check ternary : even if ? was reported in space-infix-ops (#13963) (Milos Djermanovic)
    • fb27422 Fix: extend prefer-const fixer range to whole declaration (fixes #13899) (#14033) (Nitin Kumar)
    • e0b05c7 Docs: add a correct example to no-unsafe-optional-chaining (refs #14029) (#14050) (armin yahya)
    • 46e836d Sponsors: Sync README with website (ESLint Jenkins)
    • 3fc4fa4 Docs: update configuring links (#14038) (Milos Djermanovic)
    • 8561c21 Docs: fix broken links in configuring/README.md (#14046) (Milos Djermanovic)
    • 1c309eb Update: fix no-invalid-regexp false negatives with no flags specified (#14018) (Milos Djermanovic)
    • f6602d5 Docs: Reorganize Configuration Documentation (#13837) (klkhan)
    • c753b44 Sponsors: Sync README with website (ESLint Jenkins)
    • a4fdb70 Docs: Fixed Typo (#14007) (Yash Singh)
    • f7ca481 Docs: Explain why we disable lock files (refs eslint/tsc-meetings#234) (#14006) (Brandon Mills)

    v7.18.0 - January 15, 2021

    • e3264b2 Upgrade: @eslint/eslintrc to improve error message for invalid extends (#14009) (Milos Djermanovic)
    • f17c3c3 Update: check logical assignment operators in the complexity rule (#13979) (Milos Djermanovic)
    • 672deb0 Docs: fix no-invalid-regexp docs regarding ecmaVersion (#13991) (Milos Djermanovic)
    • 179a910 Fix: --init crash on question to upgrade/downgrade ESLint (fixes #13978) (#13995) (Milos Djermanovic)
    • 292b1c0 Fix: no-extra-parens false positive with let identifier in for-loop (#13981) (Milos Djermanovic)
    • de61f94 Sponsors: Sync README with website (ESLint Jenkins)
    • 9250d16 Upgrade: Bump lodash to fix security issue (#13993) (Frederik Prijck)
    • 75fea9b Sponsors: Sync README with website (ESLint Jenkins)
    • f2687e7 Docs: update space-in-parens related rules (#13985) (Chris Brody)
    • 4a38bbe Docs: space-in-parens examples with no arguments etc. (#13987) (Chris Brody)
    • 3e49169 Sponsors: Sync README with website (ESLint Jenkins)
    • c5bf1f2 Sponsors: Sync README with website (ESLint Jenkins)
    • 98a729c Sponsors: Sync README with website (ESLint Jenkins)
    • e83a696 Sponsors: Sync README with website (ESLint Jenkins)
    • 78cb483 Chore: test foo( ) with space-in-parens option "always" (#13986) (Chris Brody)
    • f6948f6 Docs: Update semantic versioning policy (#13970) (Nicholas C. Zakas)
    • 0688212 Sponsors: Sync README with website (ESLint Jenkins)
    • aeba5e5 Chore: fix typo (#13975) (Nitin Kumar)
    • 4ee1134 Sponsors: Sync README with website (ESLint Jenkins)

    v7.17.0 - January 1, 2021

    • e128e77 Update: check logical assignment in no-constant-condition (#13946) (Milos Djermanovic)
    • cc48713 Chore: refactor calculating range and loc in no-useless-escape (#13964) (Milos Djermanovic)
    • 535fe47 Update: use regexpp's default ecmaVersion in no-control-regex (#13969) (Milos Djermanovic)
    • 83e98cd Fix: use regexpp's default ecmaVersion in no-invalid-regexp (#13968) (Milos Djermanovic)
    • 7297363 Docs: fix examples for no-multi-str (#13966) (Milos Djermanovic)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    Reviewed by dependabot-preview[bot] at 2021-02-01 06:41
  • 9. chore(deps-dev): bump next from 9.4.4 to 10.0.6

    Bumps next from 9.4.4 to 10.0.6.

    Release notes

    Sourced from next's releases.

    v10.0.6

    Core Changes

    • refactor(next): client/index.tsx: #20806
    • Update profiling approach to cover webpack runs: #20900
    • Prevent unpredictable dependency hosting by explicitly resolve module path on webpack.ProvidePlugin: #20971
    • fix: Replace all backslashes when normalizing path in getFormattedDiagnostic: #17915
    • Error when exporting to static directory: #20969
    • fix(next): always enable absoluteRuntime when running under webpack: #19538
    • perf(next): use require.resolve instead of resolve: #19518
    • feat(css): add strictPostcssConfiguration flag: #20914
    • Add proper error when conflicting paths are detected: #20918
    • Font optimization - remove warning message: #20874
    • Wrong index path revalidation timer: #20818
    • Fix image cache for vector and animated images: #20480
    • feat: webpack inlining with configuration for v4 / v5: #20598
    • fix: bump node-sass peer dependency: #21084
    • fix: webpack 5 and worker-loader support: #21050
    • feat: Webpack loader inlining: #21127
    • Bump minimum suggested React version: #21046
    • fix: resolve two peer dep install warnings: #21176
    • fix hydration mismatch on href for url with anchor refs: #21065
    • Minimal mode normalizing: #21083
    • use webpack resolve api to resolve in externals config: #21205
    • improve splitChunks config for webpack 5: #21208
    • Add codemod for files that do not support the new React JSX transform: #21281
    • Fix webpack 5 warning + disabling of profiling: #21276
    • chore: upgrade chokidar to fix install warning: #21343
    • Fix splitting page path by buildId: #19901
    • upgrade webpack 5 for empty entrypoint fix: #21353
    • Add experimental per-page option to disable JS preloads: #21329
    • chore: compile resolve-url-loader: #21351
    • chore: compile style-loader dep: #21355
    • chore: compile css-loader: #21357
    • Preserve asPath while resolving rewrites: #21410
    • ci: fix webpack 5 enabling for tests: #21436
    • Fix shallow routing scroll: #21437
    • fix(next): respect extends in tsconfig with exclude and include: #16619
    • Fix hostname message in dev/start: #20409
    • fix: upgrade pinned deps for tests: #21515
    • Require only build directory to be writeable for build: #20977
    • Critical css fix: #21462
    • Fix aspath for getInitialProps: #20572
    • refactor: server/api-utils.ts: #21148
    • expanded on No Router Instance: #21248
    • refactor: add types to name-default-components.ts: #21291
    • Fix to parse REACT_EDITOR in env: #21331
    • Remove mkdirp: #21365
    • Change type of GetServerSidePropsContext.req.cookies the be the same as NextApiRequest.cookies: #21336
    • Allow undefined body sent to sendData(): #20981

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    Reviewed by dependabot-preview[bot] at 2021-02-01 06:40
  • 10. chore(deps-dev): bump @types/node from 14.10.1 to 14.14.22

    Bumps @types/node from 14.10.1 to 14.14.22.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    Reviewed by dependabot-preview[bot] at 2021-01-20 06:44
  • 11. chore(deps-dev): bump eslint from 7.8.1 to 7.18.0

    Bumps eslint from 7.8.1 to 7.18.0.

    Release notes

    Sourced from eslint's releases.

    v7.18.0

    • e3264b2 Upgrade: @eslint/eslintrc to improve error message for invalid extends (#14009) (Milos Djermanovic)
    • f17c3c3 Update: check logical assignment operators in the complexity rule (#13979) (Milos Djermanovic)
    • 672deb0 Docs: fix no-invalid-regexp docs regarding ecmaVersion (#13991) (Milos Djermanovic)
    • 179a910 Fix: --init crash on question to upgrade/downgrade ESLint (fixes #13978) (#13995) (Milos Djermanovic)
    • 292b1c0 Fix: no-extra-parens false positive with let identifier in for-loop (#13981) (Milos Djermanovic)
    • de61f94 Sponsors: Sync README with website (ESLint Jenkins)
    • 9250d16 Upgrade: Bump lodash to fix security issue (#13993) (Frederik Prijck)
    • 75fea9b Sponsors: Sync README with website (ESLint Jenkins)
    • f2687e7 Docs: update space-in-parens related rules (#13985) (Chris Brody)
    • 4a38bbe Docs: space-in-parens examples with no arguments etc. (#13987) (Chris Brody)
    • 3e49169 Sponsors: Sync README with website (ESLint Jenkins)
    • c5bf1f2 Sponsors: Sync README with website (ESLint Jenkins)
    • 98a729c Sponsors: Sync README with website (ESLint Jenkins)
    • e83a696 Sponsors: Sync README with website (ESLint Jenkins)
    • 78cb483 Chore: test foo( ) with space-in-parens option "always" (#13986) (Chris Brody)
    • f6948f6 Docs: Update semantic versioning policy (#13970) (Nicholas C. Zakas)
    • 0688212 Sponsors: Sync README with website (ESLint Jenkins)
    • aeba5e5 Chore: fix typo (#13975) (Nitin Kumar)
    • 4ee1134 Sponsors: Sync README with website (ESLint Jenkins)

    v7.17.0

    • e128e77 Update: check logical assignment in no-constant-condition (#13946) (Milos Djermanovic)
    • cc48713 Chore: refactor calculating range and loc in no-useless-escape (#13964) (Milos Djermanovic)
    • 535fe47 Update: use regexpp's default ecmaVersion in no-control-regex (#13969) (Milos Djermanovic)
    • 83e98cd Fix: use regexpp's default ecmaVersion in no-invalid-regexp (#13968) (Milos Djermanovic)
    • 7297363 Docs: fix examples for no-multi-str (#13966) (Milos Djermanovic)
    • 0649871 Update: add autofix to rule multiline-ternary (#13958) (薛定谔的猫)
    • f6e7e32 Fix: no-useless-escape wrong loc and fix with CRLF in template elements (#13953) (Milos Djermanovic)
    • 19c69c0 Fix: one-var shouldn't split declaration if it isn't in a statement list (#13959) (Milos Djermanovic)
    • e451b96 Docs: update build tool for webpack (#13962) (Sam Chen)
    • c3e9acc Chore: fix typos (#13960) (YeonJuan)
    • 7289ecf Sponsors: Sync README with website (ESLint Jenkins)

    v7.16.0

    • a62ad6f Update: fix false negative of no-extra-parens with NewExpression (#13930) (Milos Djermanovic)
    • f85b4c7 Fix: require-atomic-updates false positive across await (fixes #11954) (#13915) (buhi)
    • 301d0c0 Fix: no-constant-condition false positives with unary expressions (#13927) (Milos Djermanovic)
    • 555c128 Fix: false positive with await and ** in no-extra-parens (fixes #12739) (#13923) (Milos Djermanovic)
    • d93c935 Docs: update JSON Schema links (#13936) (Milos Djermanovic)
    • 8d0c93a Upgrade: [email protected] (#13920) (Rouven Weßling)
    • 9247683 Docs: Remove for deleted npm run profile script (#13931) (Brandon Mills)
    • ab240d4 Fix: prefer-exponentiation-operator invalid autofix with await (#13924) (Milos Djermanovic)
    • dc76911 Chore: Add .pre-commit-hooks.yaml file (#13628) (Álvaro Mondéjar)
    • 2124e1b Docs: Fix wrong rule name (#13913) (noisyboy25)
    • 06b5809 Sponsors: Sync README with website (ESLint Jenkins)
    • 26fc12f Docs: Update README team and sponsors (ESLint Jenkins)

    v7.15.0

    • 5c11aab Upgrade: @eslint/esintrc and espree for bug fixes (refs #13878) (#13908) (Brandon Mills)

    ... (truncated)

    Changelog

    Sourced from eslint's changelog.

    v7.18.0 - January 15, 2021

    • e3264b2 Upgrade: @eslint/eslintrc to improve error message for invalid extends (#14009) (Milos Djermanovic)
    • f17c3c3 Update: check logical assignment operators in the complexity rule (#13979) (Milos Djermanovic)
    • 672deb0 Docs: fix no-invalid-regexp docs regarding ecmaVersion (#13991) (Milos Djermanovic)
    • 179a910 Fix: --init crash on question to upgrade/downgrade ESLint (fixes #13978) (#13995) (Milos Djermanovic)
    • 292b1c0 Fix: no-extra-parens false positive with let identifier in for-loop (#13981) (Milos Djermanovic)
    • de61f94 Sponsors: Sync README with website (ESLint Jenkins)
    • 9250d16 Upgrade: Bump lodash to fix security issue (#13993) (Frederik Prijck)
    • 75fea9b Sponsors: Sync README with website (ESLint Jenkins)
    • f2687e7 Docs: update space-in-parens related rules (#13985) (Chris Brody)
    • 4a38bbe Docs: space-in-parens examples with no arguments etc. (#13987) (Chris Brody)
    • 3e49169 Sponsors: Sync README with website (ESLint Jenkins)
    • c5bf1f2 Sponsors: Sync README with website (ESLint Jenkins)
    • 98a729c Sponsors: Sync README with website (ESLint Jenkins)
    • e83a696 Sponsors: Sync README with website (ESLint Jenkins)
    • 78cb483 Chore: test foo( ) with space-in-parens option "always" (#13986) (Chris Brody)
    • f6948f6 Docs: Update semantic versioning policy (#13970) (Nicholas C. Zakas)
    • 0688212 Sponsors: Sync README with website (ESLint Jenkins)
    • aeba5e5 Chore: fix typo (#13975) (Nitin Kumar)
    • 4ee1134 Sponsors: Sync README with website (ESLint Jenkins)

    v7.17.0 - January 1, 2021

    • e128e77 Update: check logical assignment in no-constant-condition (#13946) (Milos Djermanovic)
    • cc48713 Chore: refactor calculating range and loc in no-useless-escape (#13964) (Milos Djermanovic)
    • 535fe47 Update: use regexpp's default ecmaVersion in no-control-regex (#13969) (Milos Djermanovic)
    • 83e98cd Fix: use regexpp's default ecmaVersion in no-invalid-regexp (#13968) (Milos Djermanovic)
    • 7297363 Docs: fix examples for no-multi-str (#13966) (Milos Djermanovic)
    • 0649871 Update: add autofix to rule multiline-ternary (#13958) (薛定谔的猫)
    • f6e7e32 Fix: no-useless-escape wrong loc and fix with CRLF in template elements (#13953) (Milos Djermanovic)
    • 19c69c0 Fix: one-var shouldn't split declaration if it isn't in a statement list (#13959) (Milos Djermanovic)
    • e451b96 Docs: update build tool for webpack (#13962) (Sam Chen)
    • c3e9acc Chore: fix typos (#13960) (YeonJuan)
    • 7289ecf Sponsors: Sync README with website (ESLint Jenkins)

    v7.16.0 - December 18, 2020

    • a62ad6f Update: fix false negative of no-extra-parens with NewExpression (#13930) (Milos Djermanovic)
    • f85b4c7 Fix: require-atomic-updates false positive across await (fixes #11954) (#13915) (buhi)
    • 301d0c0 Fix: no-constant-condition false positives with unary expressions (#13927) (Milos Djermanovic)
    • 555c128 Fix: false positive with await and ** in no-extra-parens (fixes #12739) (#13923) (Milos Djermanovic)
    • d93c935 Docs: update JSON Schema links (#13936) (Milos Djermanovic)
    • 8d0c93a Upgrade: [email protected] (#13920) (Rouven Weßling)
    • 9247683 Docs: Remove for deleted npm run profile script (#13931) (Brandon Mills)
    • ab240d4 Fix: prefer-exponentiation-operator invalid autofix with await (#13924) (Milos Djermanovic)
    • dc76911 Chore: Add .pre-commit-hooks.yaml file (#13628) (Álvaro Mondéjar)
    • 2124e1b Docs: Fix wrong rule name (#13913) (noisyboy25)
    • 06b5809 Sponsors: Sync README with website (ESLint Jenkins)
    • 26fc12f Docs: Update README team and sponsors (ESLint Jenkins)

    ... (truncated)

    Commits
    • 6509705 7.18.0
    • ad923cb Build: changelog update for 7.18.0
    • e3264b2 Upgrade: @eslint/eslintrc to improve error message for invalid extends (#14009)
    • f17c3c3 Update: check logical assignment operators in the complexity rule (#13979)
    • 672deb0 Docs: fix no-invalid-regexp docs regarding ecmaVersion (#13991)
    • 179a910 Fix: --init crash on question to upgrade/downgrade ESLint (fixes #13978) (#13...
    • 292b1c0 Fix: no-extra-parens false positive with let identifier in for-loop (#13981)
    • de61f94 Sponsors: Sync README with website
    • 9250d16 Upgrade: Bump lodash to fix security issue (#13993)
    • 75fea9b Sponsors: Sync README with website
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    Reviewed by dependabot-preview[bot] at 2021-01-18 06:55
  • 12. [Bug] Plugin picks up sourcemaps as pages

    Issue

    Expected Behavior

    The plugin only looks for .next/serverless/pages/*.js files.

    Actual Behavior

    The plugin picks up every file in .next/serverless/pages, including *.js.map files.

    Steps to Reproduce the Problem

    Simply running a build with the latest version of next should suffice. I do have a few custom settings in my webpack config but none of them have to do with sourcemapping, which as far as I know is enabled by default in nextjs.

    Specifications

    • Version: 3.0.0
    • Platform: Darwin
    • Subsystem: n/a
    Reviewed by jariz at 2020-07-13 21:55
Zero config PWA plugin for Next.js, with workbox 🧰

Zero Config PWA Plugin for Next.js This plugin is powered by workbox and other good stuff. Features 0️⃣ Zero config for registering and generating a s

Jun 24, 2022
A Next.js plugin for embedding optimized images.
A Next.js plugin for embedding optimized images.

Next.js plugin for embedding optimized images. Features import png/jpg images output to webp format resize to multiple screen sizes and densities opti

Jun 14, 2022
Next.js plugin to transpile code from node_modules

Next.js + Transpile node_modules Transpile modules from node_modules using the Next.js Babel configuration. Makes it easy to have local libraries and

Jun 23, 2022
Woo-next-br - WooCommerce React CMS Theme built with NextJs Babel, Node, using GraphQL and Apollo Client
Woo-next-br - WooCommerce React CMS Theme built with NextJs Babel, Node, using GraphQL and Apollo Client

WooCommerce Nextjs React Theme ?? This is a React WooCommerce theme, built with

Feb 23, 2022
Next-js movie-app - Sample movie app using NextJS and TMDB as an API
Next-js movie-app - Sample movie app using NextJS and TMDB as an API

Next.JS Boilerplate with Typescript and Redux Toolkit A Next.JS Boilerplate in T

Apr 1, 2022
Next-base64: Base64 decoder and encoder for nextjs 🎉

next-base64 is a library for client-side and server-side base64 encoding and decoding

May 2, 2022
The easiest way to translate your NextJs apps.
The easiest way to translate your NextJs apps.

next-i18next The easiest way to translate your NextJs apps. If you are using next-i18next in production, please consider sponsoring the package with a

Jun 25, 2022
nextjs + purgecss for smaller css bundles

next-purgecss Next.js + Purgecss = ?? Next.js makes it easy to create SSR and static React applications. Purgecss helps you remove unused CSS. Install

Feb 23, 2022
Enable Fast Refresh for remote data in NextJS.

Enable Fast Refresh for remote data in NextJS.

Jun 16, 2022
NextJS VScode extension to visualize component tree.
NextJS VScode extension to visualize component tree.

Nexus A component tree extension for NextJS Report Bugs · Request Features Table of Contents About The Project Built With Installation Getting Started

May 13, 2022
next-gql-dogs code for the NextJS + GraphQL + Typescript Blueprint video

next-gql-dogs code for the NextJS + GraphQL + Typescript Blueprint video

Jun 11, 2022
React and Next.js site to display Discord server experiments and their rollouts

Discord Server Experiment Rollouts https://rollouts.advaith.io This is a site made with React and Next.js to display the current Discord server experi

Jun 5, 2022
Cookie serializer and deserializer library for next.js
Cookie serializer and deserializer library for next.js

next-cookie Cookie serializer and deserializer library for next.js. Installation $ npm install next-cookie Usage HOCs The cookies are read and write

Jun 25, 2022
Simple promise-based session middleware for Next.js, micro, Express, and more

next-session Simple promise-based session middleware for Next.js. Also works in micro or Node.js HTTP Server, Express, and more. Project status: While

Jun 25, 2022
🛠 Next.js stateless session utility using signed and encrypted cookies to store data

next-iron-session ?? Next.js and Express (connect middleware) stateless session utility using signed and encrypted cookies to store data This Next.js,

Jun 17, 2022
The TypeScript-ready, minimal router and middleware layer for Next.js, Micro, Vercel, or Node.js http/http2

next-connect The smol method routing and middleware for Next.js (also works in other frameworks). Powered by trouter. Features Compatible with Express

Jun 26, 2022
Effortless deployment to AWS and GitHub Pages for Next.js apps 🚀
Effortless deployment to AWS and GitHub Pages for Next.js apps 🚀

Next Deploy Effortless deployment to AWS and GitHub Pages for Next.js apps ?? Table of Contents Getting Started Features Background CLI Distributed De

Jun 21, 2022
Perfect Next.js dark mode in 2 lines of code. Support System preference and any other theme with no flashing

Perfect Next.js dark mode in 2 lines of code. Support System preference and any other theme with no flashing

Jun 23, 2022
Simple and customizable page transitions for Next.js apps

next-page-transitions Simple and customizable page transitions for Next.js apps Demo: https://next-page-transitions.now.sh/ What does this library do

Jun 15, 2022