diff --git a/.changeset/dev-server-log-controller.md b/.changeset/dev-server-log-controller.md new file mode 100644 index 000000000..e4b89445d --- /dev/null +++ b/.changeset/dev-server-log-controller.md @@ -0,0 +1,5 @@ +--- +"@callstack/repack-dev-server": patch +--- + +Silence the fastify `FSTDEP023` deprecation warning printed on every dev server start by passing request log suppression through fastify's `logController` option instead of the deprecated top-level `disableRequestLogging` option diff --git a/packages/dev-server/src/createServer.ts b/packages/dev-server/src/createServer.ts index 5c1805c91..7a9437e23 100644 --- a/packages/dev-server/src/createServer.ts +++ b/packages/dev-server/src/createServer.ts @@ -2,7 +2,7 @@ import { Writable } from 'node:stream'; import util from 'node:util'; import middie from '@fastify/middie'; import fastifySensible from '@fastify/sensible'; -import Fastify from 'fastify'; +import Fastify, { LogController } from 'fastify'; import { createProxyMiddleware } from 'http-proxy-middleware'; import apiPlugin from './plugins/api/apiPlugin.js'; import compilerPlugin from './plugins/compiler/compilerPlugin.js'; @@ -32,7 +32,12 @@ export async function createServer(config: Server.Config) { // to `server.close()`, which only closes them on Node 19+. Force-closing // keeps `stop()` from hanging on Node 18. forceCloseConnections: true, - disableRequestLogging: options.disableRequestLogging, + // The top-level `disableRequestLogging` option is deprecated (FSTDEP023). + // `LogController` only gates per-request log lines; everything else still + // goes through the `logger` stream below. + logController: new LogController({ + disableRequestLogging: options.disableRequestLogging, + }), logger: { level: 'trace', stream: new Writable({