diff --git a/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOM-test.js b/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOM-test.js index 80562624eb173..6dc004829b75f 100644 --- a/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOM-test.js +++ b/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOM-test.js @@ -62,11 +62,9 @@ describe('ReactFlightDOM', () => { jest.mock('react-server-dom-webpack/server', () => require('react-server-dom-webpack/server.node.unbundled'), ); - if (__EXPERIMENTAL__) { - jest.mock('react-server-dom-webpack/static', () => - require('react-server-dom-webpack/static.node.unbundled'), - ); - } + jest.mock('react-server-dom-webpack/static', () => + require('react-server-dom-webpack/static.node.unbundled'), + ); const WebpackMock = require('./utils/WebpackMock'); clientExports = WebpackMock.clientExports; clientExportsESM = WebpackMock.clientExportsESM; @@ -74,9 +72,7 @@ describe('ReactFlightDOM', () => { webpackMap = WebpackMock.webpackMap; ReactServerDOMServer = require('react-server-dom-webpack/server'); - if (__EXPERIMENTAL__) { - ReactServerDOMStaticServer = require('react-server-dom-webpack/static'); - } + ReactServerDOMStaticServer = require('react-server-dom-webpack/static'); // This reset is to load modules for the SSR/Browser scope. jest.unmock('react-server-dom-webpack/server'); @@ -2771,7 +2767,6 @@ describe('ReactFlightDOM', () => { ); }); - // @gate experimental it('can prerender', async () => { let resolveGreeting; const greetingPromise = new Promise(resolve => { @@ -2834,7 +2829,6 @@ describe('ReactFlightDOM', () => { expect(getMeaningfulChildren(container)).toEqual(
hello world
); }); - // @gate enableHalt it('does not propagate abort reasons errors when aborting a prerender', async () => { let resolveGreeting; const greetingPromise = new Promise(resolve => { @@ -2916,7 +2910,6 @@ describe('ReactFlightDOM', () => { expect(getMeaningfulChildren(container)).toEqual(
loading...
); }); - // @gate enableHalt it('will leave async iterables in an incomplete state when halting', async () => { let resolve; const wait = new Promise(r => (resolve = r)); @@ -2976,7 +2969,6 @@ describe('ReactFlightDOM', () => { expect(await race).toBe('timeout'); }); - // @gate enableHalt it('will halt unfinished chunks inside Suspense when aborting a prerender', async () => { const controller = new AbortController(); function ComponentThatAborts() { diff --git a/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMBrowser-test.js b/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMBrowser-test.js index 4313c379b70bd..c85189817b2fd 100644 --- a/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMBrowser-test.js +++ b/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMBrowser-test.js @@ -63,12 +63,10 @@ describe('ReactFlightDOMBrowser', () => { webpackMap = WebpackMock.webpackMap; webpackServerMap = WebpackMock.webpackServerMap; ReactServerDOMServer = require('react-server-dom-webpack/server'); - if (__EXPERIMENTAL__) { - jest.mock('react-server-dom-webpack/static', () => - require('react-server-dom-webpack/static.browser'), - ); - ReactServerDOMStaticServer = require('react-server-dom-webpack/static'); - } + jest.mock('react-server-dom-webpack/static', () => + require('react-server-dom-webpack/static.browser'), + ); + ReactServerDOMStaticServer = require('react-server-dom-webpack/static'); __unmockReact(); jest.resetModules(); @@ -2465,7 +2463,6 @@ describe('ReactFlightDOMBrowser', () => { expect(errors).toEqual([reason]); }); - // @gate experimental it('can prerender', async () => { let resolveGreeting; const greetingPromise = new Promise(resolve => { @@ -2514,7 +2511,6 @@ describe('ReactFlightDOMBrowser', () => { expect(container.innerHTML).toBe('
hello world
'); }); - // @gate enableHalt it('does not propagate abort reasons errors when aborting a prerender', async () => { let resolveGreeting; const greetingPromise = new Promise(resolve => { diff --git a/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMEdge-test.js b/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMEdge-test.js index 5194913d2cb32..39dc351a5b1a1 100644 --- a/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMEdge-test.js +++ b/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMEdge-test.js @@ -87,12 +87,10 @@ describe('ReactFlightDOMEdge', () => { ReactServer = require('react'); ReactServerDOMServer = require('react-server-dom-webpack/server'); - if (__EXPERIMENTAL__) { - jest.mock('react-server-dom-webpack/static', () => - require('react-server-dom-webpack/static.edge'), - ); - ReactServerDOMStaticServer = require('react-server-dom-webpack/static'); - } + jest.mock('react-server-dom-webpack/static', () => + require('react-server-dom-webpack/static.edge'), + ); + ReactServerDOMStaticServer = require('react-server-dom-webpack/static'); jest.resetModules(); __unmockReact(); @@ -1291,7 +1289,6 @@ describe('ReactFlightDOMEdge', () => { ]); }); - // @gate experimental it('can prerender', async () => { let resolveGreeting; const greetingPromise = new Promise(resolve => { @@ -1345,7 +1342,6 @@ describe('ReactFlightDOMEdge', () => { expect(result).toBe('
hello world
'); }); - // @gate enableHalt it('does not propagate abort reasons errors when aborting a prerender', async () => { let resolveGreeting; const greetingPromise = new Promise(resolve => { @@ -1423,7 +1419,6 @@ describe('ReactFlightDOMEdge', () => { expect(div.textContent).toBe('loading...'); }); - // @gate enableHalt it('should abort parsing an incomplete prerender payload', async () => { const infinitePromise = new Promise(() => {}); const controller = new AbortController(); @@ -1471,7 +1466,6 @@ describe('ReactFlightDOMEdge', () => { expect(error.message).toBe('Connection closed.'); }); - // @gate experimental it('should be able to handle a rejected promise in unstable_prerender', async () => { const expectedError = new Error('Bam!'); const errors = []; @@ -1510,7 +1504,6 @@ describe('ReactFlightDOMEdge', () => { expect(error.message).toBe(expectedMessage); }); - // @gate experimental it('should be able to handle an erroring async iterable in unstable_prerender', async () => { const expectedError = new Error('Bam!'); const errors = []; @@ -1557,7 +1550,6 @@ describe('ReactFlightDOMEdge', () => { expect(error.message).toBe(expectedMessage); }); - // @gate experimental it('should be able to handle an erroring readable stream in unstable_prerender', async () => { const expectedError = new Error('Bam!'); const errors = []; @@ -1605,7 +1597,6 @@ describe('ReactFlightDOMEdge', () => { expect(error.message).toBe(expectedMessage); }); - // @gate experimental it('can prerender an async iterable', async () => { const errors = []; @@ -1649,7 +1640,6 @@ describe('ReactFlightDOMEdge', () => { expect(text).toBe('hello world'); }); - // @gate experimental it('can prerender a readable stream', async () => { const errors = []; @@ -1683,7 +1673,6 @@ describe('ReactFlightDOMEdge', () => { expect(result).toBe('hello world'); }); - // @gate experimental it('does not return a prerender prelude early when an error is emitted and there are still pending tasks', async () => { let rejectPromise; const rejectingPromise = new Promise( diff --git a/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMNode-test.js b/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMNode-test.js index 43e36348327ff..e599a5c6f90b3 100644 --- a/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMNode-test.js +++ b/packages/react-server-dom-webpack/src/__tests__/ReactFlightDOMNode-test.js @@ -49,12 +49,10 @@ describe('ReactFlightDOMNode', () => { ); ReactServer = require('react'); ReactServerDOMServer = require('react-server-dom-webpack/server'); - if (__EXPERIMENTAL__) { - jest.mock('react-server-dom-webpack/static', () => - require('react-server-dom-webpack/static.node'), - ); - ReactServerDOMStaticServer = require('react-server-dom-webpack/static'); - } + jest.mock('react-server-dom-webpack/static', () => + require('react-server-dom-webpack/static.node'), + ); + ReactServerDOMStaticServer = require('react-server-dom-webpack/static'); const WebpackMock = require('./utils/WebpackMock'); clientExports = WebpackMock.clientExports; @@ -385,7 +383,6 @@ describe('ReactFlightDOMNode', () => { expect(errors).toEqual([reason]); }); - // @gate experimental it('can prerender', async () => { let resolveGreeting; const greetingPromise = new Promise(resolve => { @@ -440,7 +437,6 @@ describe('ReactFlightDOMNode', () => { expect(result).toBe('
hello world
'); }); - // @gate enableHalt it('does not propagate abort reasons errors when aborting a prerender', async () => { let resolveGreeting; const greetingPromise = new Promise(resolve => { diff --git a/packages/react-server/src/ReactFlightServer.js b/packages/react-server/src/ReactFlightServer.js index aefcf5f6ee809..9da5512130f12 100644 --- a/packages/react-server/src/ReactFlightServer.js +++ b/packages/react-server/src/ReactFlightServer.js @@ -15,7 +15,6 @@ import type {TemporaryReferenceSet} from './ReactFlightServerTemporaryReferences import { enablePostpone, - enableHalt, enableTaint, enableProfilerTimer, enableComponentPerformanceTrack, @@ -656,7 +655,7 @@ function serializeThenable( // We can no longer accept any resolved values request.abortableTasks.delete(newTask); newTask.status = ABORTED; - if (enableHalt && request.type === PRERENDER) { + if (request.type === PRERENDER) { request.pendingChunks--; } else { const errorId: number = (request.fatalError: any); @@ -804,7 +803,7 @@ function serializeReadableStream( } aborted = true; request.abortListeners.delete(abortStream); - if (enableHalt && request.type === PRERENDER) { + if (request.type === PRERENDER) { request.pendingChunks--; } else { erroredTask(request, streamTask, reason); @@ -930,7 +929,7 @@ function serializeAsyncIterable( } aborted = true; request.abortListeners.delete(abortIterable); - if (enableHalt && request.type === PRERENDER) { + if (request.type === PRERENDER) { request.pendingChunks--; } else { erroredTask(request, streamTask, reason); @@ -2263,7 +2262,7 @@ function serializeBlob(request: Request, blob: Blob): string { } aborted = true; request.abortListeners.delete(abortBlob); - if (enableHalt && request.type === PRERENDER) { + if (request.type === PRERENDER) { request.pendingChunks--; } else { erroredTask(request, newTask, reason); @@ -2318,7 +2317,7 @@ function renderModel( if (request.status === ABORTING) { task.status = ABORTED; - if (enableHalt && request.type === PRERENDER) { + if (request.type === PRERENDER) { // This will create a new task and refer to it in this slot // the new task won't be retried because we are aborting return outlineHaltedTask(request, task, wasReactNode); @@ -4048,7 +4047,7 @@ function retryTask(request: Request, task: Task): void { if (request.status === ABORTING) { request.abortableTasks.delete(task); task.status = ABORTED; - if (enableHalt && request.type === PRERENDER) { + if (request.type === PRERENDER) { // When aborting a prerener with halt semantics we don't emit // anything into the slot for a task that aborts, it remains unresolved request.pendingChunks--; @@ -4325,7 +4324,7 @@ export function abort(request: Request, reason: mixed): void { } const abortableTasks = request.abortableTasks; if (abortableTasks.size > 0) { - if (enableHalt && request.type === PRERENDER) { + if (request.type === PRERENDER) { // When prerendering with halt semantics we simply halt the task // and leave the reference unfulfilled. abortableTasks.forEach(task => haltTask(task, request));