angular / angular/angularfire

Production build fails with AngularFire 7 & Firebase 9 (ES5 bundle problem)

オープン
#3,059 コメント 0 件 リアクション 2 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
7.8k
フォーク
2.2k
平均マージ
22時間 28分
マージ済み PR(30日)
6

説明

### Version info

**Angular: 12.2.13**

**Firebase: 9.1.3**

**AngularFire: 7.2.0**

**Other (e.g. Ionic/Cordova, Node, browser, operating system): Ionic 5.8.5, Cordova 9, BraveBrowser, MacOS**

### How to reproduce these conditions

**Steps to set up and reproduce**

The problem occured when I ran `ionic build --prod`

Important! The problem appears only with Firebase 9 and AngularFire 7! With Firebase 8 and AngularFire 6 the production build works without any problem.

**Sample data and security rules**

### Debug output

```
› ionic build --prod
> ng run app:build:production
✔ Browser application bundle generation complete.
⠙ Generating ES5 bundles for differential loading...An unhandled exception occurred: {project-path}/main-es2015.059a60e139f9c6cfd626.js: Unexpected token (2461:8)

2459 | * limitations under the License.
2460 | */
> 2461 | function(de){return Promise.all(de.map(function(){var P=(0,f.Z)(function*(W){try{return{fulfilled:!0,value:yield W}}catch(Ie){return{fulfilled:!1,reason:Ie}}});return function(W){return P.apply(this,arguments)}}()))}(Io);dt.ports[0].postMessage({status:"done",eventId:Lt,eventType:Un,response:Yo})})()}_subscribe(W,Ie){0===Object.keys(this.handlersMap).length&&this.eventTarget.addEventListener("message",this.boundEventHandler),this.handlersMap[W]||(this.handlersMap[W]=new Set),this.handlersMap[W].add(Ie)}_unsubscribe(W,Ie){this.handlersMap[W]&&Ie&&this.handlersMap[W].delete(Ie),(!Ie||0===this.handlersMap[W].size)&&delete this.handlersMap[W],0===Object.keys(this.handlersMap).length&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}
| ^
2462 | /**
2463 | * @license
2464 | * Copyright 2020 Google LLC
See "/private/var/folders/hx/vt3ky4d13xvb7856_4mwlj300000gn/T/ng-FP9bZ2/angular-errors.log" for further details.
[ERROR] An error occurred while running subprocess ng.

ng run app:build:production exited with exit code 127.

Re-running this command with the --verbose flag may provide more information.

```

The exact problem is the `function(de)`. It should be `function de()`, I think..

### Expected behavior

Successful build.

### Actual behavior

Build failure

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず `ionic build --prod` で失敗を再現します。このコマンドは `ng run app:build:production` を呼び出します。生成された `main-es2015.059a60e139f9c6cfd626.js` と、報告された parse error 周辺の Angular の differential-loading ステップを調査します。Firebase 9 と AngularFire 7 で production build が正常に完了すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
angular, firebase, typescript
領域
build-system
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。