-
-
Notifications
You must be signed in to change notification settings - Fork 375
Description
What is the current behaviour?
I'm working on a project that uses Firebase v9 and I'm getting an error when I run npm run build:
× ERROR Template execution failed: SyntaxError: Function statements require a function name
The error is thrown in prerender.js @ line 18:
let m = require(entry),When I check the ./ssr-build/ssr-bundle.js it's trying to require, I can see the syntax error.
To be honest, I'm not sure if this is the right project to file this issue. It looks like it's Terser messing up the ssr-bundle.js or maybe it's Firebase's auth module that has some syntax that causes Terser to mess up, etc, but I guess I have to start filing the issue somewhere :)
Steps to Reproduce
Steps to reproduce the behavior:
- Create a new project:
npx preact-cli create default my-project - Install firebase v9:
npm i firebase(note: I have the latest 9.6.1 version) - Import
{ getAuth } from 'firebase/auth'insrc/routes/Home/ - Run
npm run build
I've included a zip of a project that I created using these steps.
- Download the zip (attached)
- Run
npm install && npm run build
firebase-auth-ssr-minimize-error--zip.zip
What is the expected behaviour?
ssr-bundle.js should not contain a javascript syntax error causing the build to fail.
Please mention any other relevant information
- The project builds fine with
--no-prerender - The project builds fine when I disable minification in
preact.config.js:config.optimization.minimize = false;
Both the 'modular' v9 as the 'compat' version of Firebase Auth causes the error:
// This:
import { getAuth } from 'firebase/auth';
// Same as:
import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';npx preact-cli info:
Environment Info:
System:
OS: Windows 10 10.0.19044
CPU: (8) x64 Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz
Binaries:
Node: 14.16.1 - C:\Program Files\nodejs\node.EXE
npm: 6.14.15 - C:\Program Files\nodejs\npm.CMD
Browsers:
Edge: Spartan (44.19041.1266.0), Chromium (96.0.1054.62)
npmPackages:
preact: ^10.3.2 => 10.6.4
preact-cli: ^3.0.0 => 3.3.3
preact-render-to-string: ^5.1.4 => 5.1.19
preact-router: ^3.2.1 => 3.2.1