diff --git a/.changeset/slow-bobcats-clap.md b/.changeset/slow-bobcats-clap.md new file mode 100644 index 00000000000..600ce76bafd --- /dev/null +++ b/.changeset/slow-bobcats-clap.md @@ -0,0 +1,5 @@ +--- +'@firebase/messaging': patch +--- + +Add a CJS bundle for messaging/sw. This enables some SSR frameworks to run their Node.js pipelines without erroring. diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 56bbbcef088..e9b566dd665 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -7,6 +7,7 @@ "browser": "dist/esm/index.esm2017.js", "module": "dist/esm/index.esm2017.js", "sw": "dist/index.sw.esm2017.js", + "sw-main": "dist/index.sw.cjs", "esm5": "dist/esm/index.esm.js", "exports": { ".": { @@ -15,7 +16,11 @@ "esm5": "./dist/esm/index.esm.js", "default": "./dist/index.cjs.js" }, - "./sw": "./dist/index.sw.esm2017.js", + "./sw": { + "require": "./dist/index.sw.cjs", + "import": "./dist/index.sw.esm2017.js", + "default": "./dist/index.sw.esm2017.js" + }, "./package.json": "./package.json" }, "typings": "dist/src/index.d.ts", diff --git a/packages/messaging/rollup.config.js b/packages/messaging/rollup.config.js index 5f2aaafd5fd..297dc00c46f 100644 --- a/packages/messaging/rollup.config.js +++ b/packages/messaging/rollup.config.js @@ -89,6 +89,20 @@ const cjsBuilds = [ replace(generateBuildTargetReplaceConfig('cjs', 5)) ], external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`)) + }, + // sw build + // TODO: This may no longer be necessary when we can provide ESM Node + // builds (contingent on updating the `idb` dependency). When we add + // ESM Node builds, test with Nuxt and other SSR frameworks to see if + // this can then be removed. + { + input: 'src/index.sw.ts', + output: { file: pkg['sw-main'], format: 'cjs', sourcemap: true }, + plugins: [ + ...es5BuildPlugins, + replace(generateBuildTargetReplaceConfig('cjs', 5)) + ], + external: id => deps.some(dep => id === dep || id.startsWith(`${dep}/`)) } ]; diff --git a/packages/messaging/sw/package.json b/packages/messaging/sw/package.json index 12f410389c9..98f4f9711b6 100644 --- a/packages/messaging/sw/package.json +++ b/packages/messaging/sw/package.json @@ -2,6 +2,7 @@ "name": "@firebase/messaging-sw", "description": "", "author": "Firebase (https://firebase.google.com/)", + "main": "../dist/index.sw.cjs", "module": "../dist/index.sw.esm2017.js", "typings": "../dist/src/index.sw.d.ts" }