diff --git a/packages/skin-database/app/layout.tsx b/packages/skin-database/app/layout.tsx index 174ff314..761de386 100644 --- a/packages/skin-database/app/layout.tsx +++ b/packages/skin-database/app/layout.tsx @@ -1,3 +1,13 @@ +// There is some bug between how JSZip pulls in setimmediate (which it expects +// to polyfill `window.setimmediate` and our Webpack setup. The result is that +// one of our bundles is missing the polyfill. If we call JSZip code from within +// that bundle the polyfill is not present and we get an error. +// +// This explicit import should ensure that the polyfill is present in the +// entrypoint bundle and thus always set on `window`. +// +// We should be able to remove this once we root cause the bundling issue. +import "setimmediate"; import ReduxContextProvider from "./redux"; import { GoogleAnalytics } from "@next/third-parties/google"; @@ -9,11 +19,11 @@ export const viewport: Viewport = { initialScale: 1, }; -export default function RootLayout({ - children, -}: { +type Props = { children: React.ReactNode; -}) { +}; + +export default function RootLayout({ children }: Props) { return (