Skip to content

Commit ffe936b

Browse files
authored
feat(remix-dev): add warning for v2 "cjs"->"esm" defaults (#6154)
1 parent fe09eab commit ffe936b

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

integration/hmr-test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ let fixture = (options: {
1717
files: {
1818
"remix.config.js": js`
1919
module.exports = {
20+
serverModuleFormat: "cjs",
2021
tailwind: true,
2122
future: {
2223
unstable_dev: {

packages/remix-dev/__tests__/create-test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
flatRoutesWarning,
1414
formMethodWarning,
1515
metaWarning,
16+
serverModuleFormatWarning,
1617
} from "../config";
1718

1819
beforeAll(() => server.listen({ onUnhandledRequest: "error" }));
@@ -359,6 +360,8 @@ describe("the create command", () => {
359360
"\n" +
360361
metaWarning +
361362
"\n" +
363+
serverModuleFormatWarning +
364+
"\n" +
362365
flatRoutesWarning +
363366
"\n\n" +
364367
getOptOutOfInstallMessage() +

packages/remix-dev/config.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,11 @@ export async function readConfig(
455455
let serverEntryPoint = appConfig.server;
456456
let serverMainFields = appConfig.serverMainFields;
457457
let serverMinify = appConfig.serverMinify;
458+
459+
if (!appConfig.serverModuleFormat) {
460+
warnOnce(serverModuleFormatWarning, "serverModuleFormatWarning")
461+
}
462+
458463
let serverModuleFormat = appConfig.serverModuleFormat || "cjs";
459464
let serverPlatform = appConfig.serverPlatform || "node";
460465
if (isCloudflareRuntime) {
@@ -895,6 +900,12 @@ export let serverBuildTargetWarning =
895900
"For instructions on making this change see " +
896901
"https://remix.run/docs/en/v1.15.0/pages/v2#serverbuildtarget";
897902

903+
export const serverModuleFormatWarning =
904+
"⚠️ REMIX FUTURE CHANGE: The `serverModuleFormat` config default option will be changing in v2 " +
905+
"from `cjs` to `esm`. You can prepare for this change by explicitly specifying `serverModuleFormat: 'cjs'`. " +
906+
"For instructions on making this change see " +
907+
"https://remix.run/docs/en/v1.16.0/pages/v2#servermoduleformat";
908+
898909
export let flatRoutesWarning =
899910
"⚠️ REMIX FUTURE CHANGE: The route file convention is changing in v2. " +
900911
"You can prepare for this change at your convenience with the `v2_routeConvention` future flag. " +

0 commit comments

Comments
 (0)