Skip to content

Commit 17fa699

Browse files
authored
Remove the server.enhanceMiddleware deprecation warning (#2091)
1 parent 8558522 commit 17fa699

5 files changed

Lines changed: 10 additions & 32 deletions

File tree

‎docs/Configuration.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,7 @@ Has no effect.
789789
790790
Type: `(Middleware, MetroServer) => Middleware | connect.Server`
791791
792-
A function that allows attaching custom [`connect`](https://www.npmjs.com/package/connect) middleware to Metro. Metro logs a deprecation warning when this option is set to anything other than its default. Use [`unstable_middleware`](#unstable_middleware-experimental) or [`unstable_priorityMiddleware`](#unstable_prioritymiddleware-experimental) instead, and [`unstable_onServerCreated`](#unstable_onservercreated-experimental) to access the Metro server instance.
792+
A function that allows attaching custom [`connect`](https://www.npmjs.com/package/connect) middleware to Metro. Use [`unstable_middleware`](#unstable_middleware-experimental) or [`unstable_priorityMiddleware`](#unstable_prioritymiddleware-experimental) instead, and [`unstable_onServerCreated`](#unstable_onservercreated-experimental) to access the Metro server instance.
793793
794794
For example:
795795

‎packages/metro-config/src/defaults/defaults.js‎

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @oncall react_native
1010
*/
1111

12-
import type {ConfigT, PerfLogger, RootPerfLogger} from '../types';
12+
import type {PerfLogger, RootPerfLogger} from '../types';
1313

1414
export {default as defaultCreateModuleIdFactory} from './createModuleIdFactory';
1515

@@ -63,10 +63,6 @@ export const platforms: Array<string> = ['ios', 'android', 'windows', 'web'];
6363

6464
export const DEFAULT_METRO_MINIFIER_PATH = 'metro-minify-terser';
6565

66-
// Metro warns about `server.enhanceMiddleware` unless it is this function.
67-
export const defaultEnhanceMiddleware: ConfigT['server']['enhanceMiddleware'] =
68-
(middleware, _server) => middleware;
69-
7066
export const noopPerfLoggerFactory = (): RootPerfLogger => {
7167
class Logger {
7268
start() {}

‎packages/metro-config/src/defaults/index.js‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import {
1717
assetExts,
1818
assetResolutions,
1919
defaultCreateModuleIdFactory,
20-
defaultEnhanceMiddleware,
2120
noopPerfLoggerFactory,
2221
platforms,
2322
sourceExts,
@@ -76,7 +75,7 @@ const getDefaultValues = (projectRoot: ?string): ConfigT => ({
7675
},
7776

7877
server: {
79-
enhanceMiddleware: defaultEnhanceMiddleware,
78+
enhanceMiddleware: (middleware, _) => middleware,
8079
forwardClientLogs: true,
8180
port: 8081,
8281
rewriteRequestUrl: url => url,

‎packages/metro/src/index.flow.js‎

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ import {
4949
mergeConfig,
5050
resolveConfig,
5151
} from 'metro-config';
52-
import {defaultEnhanceMiddleware} from 'metro-config/private/defaults/defaults';
5352
import {Terminal} from 'metro-core';
5453
import fs from 'node:fs';
5554
import http from 'node:http';
@@ -249,14 +248,6 @@ export const createConnectMiddleware = async function (
249248

250249
// Enhance the resulting middleware using the config options
251250
if (config.server.enhanceMiddleware) {
252-
if (config.server.enhanceMiddleware !== defaultEnhanceMiddleware) {
253-
logDeprecationWarning(
254-
'The `server.enhanceMiddleware` config option is deprecated and will be ' +
255-
'removed in a later release. Please use `server.unstable_middleware` ' +
256-
'or `server.unstable_priorityMiddleware` instead, and ' +
257-
'`server.unstable_onServerCreated` to access the Metro server instance.',
258-
);
259-
}
260251
enhancedMiddleware = config.server.enhanceMiddleware(
261252
enhancedMiddleware,
262253
metroServer,

‎packages/metro/src/integration_tests/__tests__/server-extraMiddleware-test.js‎

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -155,24 +155,16 @@ describe('runServer custom middleware', () => {
155155
expect(events).toEqual([['config', true], ['runServer', true], 'ready']);
156156
});
157157

158-
test('does not warn for the default server.enhanceMiddleware', async () => {
158+
test('applies server.enhanceMiddleware without warning', async () => {
159159
const warn = jest.spyOn(console, 'warn').mockImplementation(() => {});
160-
await startServer(await loadConfig());
160+
const enhanceMiddleware = jest.fn(middleware => middleware);
161+
await startServer(await loadConfig({enhanceMiddleware}));
161162

162-
expect(warn).not.toHaveBeenCalled();
163-
warn.mockRestore();
164-
});
165-
166-
test('warns when server.enhanceMiddleware is set', async () => {
167-
const warn = jest.spyOn(console, 'warn').mockImplementation(() => {});
168-
await startServer(
169-
await loadConfig({enhanceMiddleware: middleware => middleware}),
170-
);
171-
172-
expect(warn).toHaveBeenCalledWith(
173-
expect.stringContaining('DEPRECATED'),
174-
expect.stringContaining('`server.enhanceMiddleware`'),
163+
expect(enhanceMiddleware).toHaveBeenCalledWith(
164+
expect.any(Function),
165+
expect.any(MetroServer),
175166
);
167+
expect(warn).not.toHaveBeenCalled();
176168
expect((await request(BUNDLE_PATH)).status).toBe(200);
177169
warn.mockRestore();
178170
});

0 commit comments

Comments
 (0)