@netlify/plugin-nextjs 5.0.0-rc.8 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,105 +1,18 @@
1
- # Next.js Runtime
2
-
3
- Next.js is supported natively on Netlify, and in most cases you will not need to install or
4
- configure anything. This repo includes the packages used to support Next.js on Netlify.
5
-
6
- ## Lambda Folder structure:
7
-
8
- For a simple next.js app
9
-
10
- ```
11
- /___netlify-server-handler
12
- ├── .netlify
13
- │ ├── tags-manifest.json
14
- │ └── dist // the compiled runtime code
15
- │ └── run
16
- │ ├── handlers
17
- │ │ ├── server.js
18
- │ │ └── cache.cjs
19
- │ └── next.cjs
20
- ├── .next // or distDir name from the next.config.js
21
- │ └── // content from standalone
22
- ├── run-config.json // the config object from the required-server-files.json
23
- ├── node_modules
24
- ├── ___netlify-server-handler.json
25
- ├── ___netlify-server-handler.mjs
26
- └── package.json
27
- ```
28
-
29
- ## Testing
30
-
31
- The repo includes two types of tests: e2e tests in the repo that use Playwright, integration tests
32
- that use Vitest.
33
-
34
- By default the e2e and integration tests run against the latest version of Next.js. To run tests
35
- against a specific version, set the `NEXT_VERSION` environment variable to the desired version.
36
-
37
- By default, PRs will run the integration tests against the latest version of Next.js. To run tests
38
- against `latest`, `canary` and `13.5.1`, apply the `test all versions` label to the PR when you
39
- create it. These also run nightly and on release PRs.
40
-
41
- ### Integration testing
42
-
43
- > **Prerequisite** Run `npm run build` before running integration tests.
44
-
45
- How to add new integration test scenarios to the application:
46
-
47
- 1. Create a new folder under `tests/fixtures/<your-name>`
48
- 2. Adapt the `next.config.js` to be a standalone application
49
- 3. Create a `postinstall` script that runs the `next build`. It's important to notice that the
50
- integration tests rely on a already built next.js application in this folder. They rely on the
51
- `.next` folder.
52
- 4. Add your test
53
-
54
- > Currently the tests require a built version of the `dist/run/handlers/cache.cjs` so you need to
55
- > run `npm run build` before executing the integration tests.
56
-
57
- In addition, the integration tests need to be prepared before first use. You can do this by running
58
- `npm run pretest`. To speed up this process and build only the fixtures whose name starts with a
59
- given prefix, run `npm run pretest -- <prefix>`.
60
-
61
- ### E2E testing
62
-
63
- > **Prerequisite**
64
- >
65
- > Needs the `netlify-cli` installed and being logged in having access to Netlify Testing
66
- > Organization
67
-
68
- The e2e tests can be invoked with `npm run e2e` and perform a full e2e test. This means they do the
69
- following:
70
-
71
- 1. Building the next-runtime (just running `npm run build` in the repository)
72
- 2. Creating a temp directory and copying the provided fixture over to the directory.
73
- 3. Packing the runtime with `npm pack` to the temp directory.
74
- 4. Installing the runtime from the created zip artifact of `npm pack` (this is like installing a
75
- node_module from the registry)
76
- 5. Creating a `netlify.toml` inside the temp directory of the fixture and adding the runtime as a
77
- plugin.
78
- 6. Running `netlify deploy --build` invoking the runtime. This will use the
79
- [next-runtime-testing](https://app.netlify.com/sites/next-runtime-testing/overview) as site to
80
- deploy to.
81
- 7. Using the `deployId` and `url` of the deployed site to run some
82
- [playwright](https://playwright.dev/) tests against, asserting the correctness of the runtime.
83
- 8. After the tests where run successfully, it will delete the deployment again and clean everything
84
- up. In case of a failure, the deploy won't be cleaned up to leave it for troubleshooting
85
- purposes.
86
-
87
- > [!TIP] If you'd like to always keep the deployment and the local fixture around for
88
- > troubleshooting, run `E2E_PERSIST=1 npm run e2e`.
89
-
90
- ### Next.js tests
91
-
92
- There is a script `run-local-test.sh` and GitHub workflow that runs the e2e tests from the Next.js
93
- repo against this repo. It requires that `next.js` is checked out in the same parent directory as
94
- this repo, and is run from this repo with `./run-local-test.sh your-test-pattern-here`.
95
-
96
- #### cleanup old deploys
97
-
98
- To cleanup old and dangling deploys from failed builds you can run the following script:
99
-
100
- ```bash
101
- npx tsx ./tools/e2e/cleanup-deploys.ts
102
- ```
103
-
104
- This will cleanup all created deploys on the
105
- [next-runtime-testing](https://app.netlify.com/sites/next-runtime-testing/overview) site.
1
+ ![Next.js Runtime](https://github.com/netlify/next-runtime/raw/main/next-js-runtime.png)
2
+
3
+ # `@netlify/plugin-nextjs`
4
+
5
+ <p align="center">
6
+ <a aria-label="npm version" href="https://www.npmjs.com/package/@netlify/plugin-nextjs">
7
+ <img alt="" src="https://img.shields.io/npm/v/@netlify/plugin-nextjs">
8
+ </a>
9
+ <a aria-label="MIT License" href="https://img.shields.io/npm/l/@netlify/plugin-nextjs">
10
+ <img alt="" src="https://img.shields.io/npm/l/@netlify/plugin-nextjs">
11
+ </a>
12
+ </p>
13
+
14
+ This package handles the build process and creates the runtime environment for Next.js sites on
15
+ Netlify. You should not normally need to install it yourself, as it is used automatically during
16
+ builds of Next.js sites. See
17
+ [the docs for using Next.js on Netlify](https://docs.netlify.com/frameworks/next-js/overview/) for
18
+ more details.
@@ -8,7 +8,7 @@ import "./chunk-5JVNISGM.js";
8
8
 
9
9
  // package.json
10
10
  var name = "@netlify/plugin-nextjs";
11
- var version = "5.0.0-rc.8";
11
+ var version = "5.0.0";
12
12
  var description = "Run Next.js seamlessly on Netlify";
13
13
  var main = "./dist/index.js";
14
14
  var type = "module";
@@ -51202,7 +51202,7 @@ var import_sdk_trace_node = __toESM(require_src14(), 1);
51202
51202
  var import_semantic_conventions = __toESM(require_src(), 1);
51203
51203
  var {
51204
51204
  default: { version, name }
51205
- } = await import("../../esm-chunks/package-NFGYFGF2.js");
51205
+ } = await import("../../esm-chunks/package-F3THTZDD.js");
51206
51206
  var sdk = new import_sdk_node.NodeSDK({
51207
51207
  resource: new import_resources.Resource({
51208
51208
  [import_semantic_conventions.SEMRESATTRS_SERVICE_NAME]: name,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netlify/plugin-nextjs",
3
- "version": "5.0.0-rc.8",
3
+ "version": "5.0.0",
4
4
  "description": "Run Next.js seamlessly on Netlify",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",