diff --git a/.release-please-manifest.json b/.release-please-manifest.json index a328528dc8..c99ba658e8 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "5.11.6" + ".": "5.12.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b96ae66a2..8b998f8043 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [5.12.0](https://github.com/opennextjs/opennextjs-netlify/compare/v5.11.6...v5.12.0) (2025-07-31) + + +### Features + +* restore NETLIFY_NEXT_PLUGIN_SKIP ([#3017](https://github.com/opennextjs/opennextjs-netlify/issues/3017)) ([0b51c47](https://github.com/opennextjs/opennextjs-netlify/commit/0b51c4741ee82a230987122c222a14415f65dfd9)) + ## [5.11.6](https://github.com/opennextjs/opennextjs-netlify/compare/v5.11.5...v5.11.6) (2025-07-14) diff --git a/package-lock.json b/package-lock.json index fc85a0730e..8bbdcddbff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@netlify/plugin-nextjs", - "version": "5.11.6", + "version": "5.12.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@netlify/plugin-nextjs", - "version": "5.11.6", + "version": "5.12.0", "license": "MIT", "devDependencies": { "@fastly/http-compute-js": "1.1.5", diff --git a/package.json b/package.json index d1e661a626..d869493268 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@netlify/plugin-nextjs", - "version": "5.11.6", + "version": "5.12.0", "description": "Run Next.js seamlessly on Netlify", "main": "./dist/index.js", "type": "module", diff --git a/src/index.ts b/src/index.ts index ce109ef501..27d9c1ff7b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -24,9 +24,17 @@ import { verifyPublishDir, } from './build/verification.js' +const skipPlugin = + process.env.NETLIFY_NEXT_PLUGIN_SKIP === 'true' || process.env.NETLIFY_NEXT_PLUGIN_SKIP === '1' +const skipText = 'Skipping Next.js plugin due to NETLIFY_NEXT_PLUGIN_SKIP environment variable.' const tracer = wrapTracer(trace.getTracer('Next.js runtime')) export const onPreDev = async (options: NetlifyPluginOptions) => { + if (skipPlugin) { + console.warn(skipText) + return + } + await tracer.withActiveSpan('onPreDev', async () => { const context = new PluginContext(options) @@ -36,6 +44,11 @@ export const onPreDev = async (options: NetlifyPluginOptions) => { } export const onPreBuild = async (options: NetlifyPluginOptions) => { + if (skipPlugin) { + console.warn(skipText) + return + } + await tracer.withActiveSpan('onPreBuild', async () => { // Enable Next.js standalone mode at build time process.env.NEXT_PRIVATE_STANDALONE = 'true' @@ -53,6 +66,11 @@ export const onPreBuild = async (options: NetlifyPluginOptions) => { } export const onBuild = async (options: NetlifyPluginOptions) => { + if (skipPlugin) { + console.warn(skipText) + return + } + await tracer.withActiveSpan('onBuild', async (span) => { const ctx = new PluginContext(options) @@ -86,12 +104,22 @@ export const onBuild = async (options: NetlifyPluginOptions) => { } export const onPostBuild = async (options: NetlifyPluginOptions) => { + if (skipPlugin) { + console.warn(skipText) + return + } + await tracer.withActiveSpan('onPostBuild', async () => { await publishStaticDir(new PluginContext(options)) }) } export const onSuccess = async () => { + if (skipPlugin) { + console.warn(skipText) + return + } + await tracer.withActiveSpan('onSuccess', async () => { const prewarm = [process.env.DEPLOY_URL, process.env.DEPLOY_PRIME_URL, process.env.URL].filter( // If running locally then the deploy ID is a placeholder value. Filtering for `https://0--` removes it. @@ -102,6 +130,11 @@ export const onSuccess = async () => { } export const onEnd = async (options: NetlifyPluginOptions) => { + if (skipPlugin) { + console.warn(skipText) + return + } + await tracer.withActiveSpan('onEnd', async () => { await unpublishStaticDir(new PluginContext(options)) }) diff --git a/tests/utils/fixture.ts b/tests/utils/fixture.ts index 5f42864932..3ddd787dcb 100644 --- a/tests/utils/fixture.ts +++ b/tests/utils/fixture.ts @@ -32,7 +32,8 @@ import { BLOB_TOKEN } from './constants.mjs' import { type FixtureTestContext } from './contexts.js' import { setNextVersionInFixture } from './next-version-helpers.mjs' -const bootstrapURL = 'https://edge.netlify.com/bootstrap/index-combined.ts' +const bootstrapURL = + 'https://6877afcf20679a00086bab1c--edge.netlify.com/bootstrap/index-combined.ts' const actualCwd = await vi.importActual('process').then((p) => p.cwd()) const eszipHelper = join(actualCwd, 'tools/deno/eszip.ts')