question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Bug Report

What is the expected behavior?

To make FlexLayoutServerModule work under firebase cloud function.

What is the current behavior?

Getting an error after successful deploy to a firebase.

What are the steps to reproduce?

  1. Create Angular repo with SSR
  2. Add FlexLayout
  3. Use firebase to deploy cloud function

functions/package.json

  "name": "functions",
  "scripts": {
    "lint": "tslint --project tsconfig.json",
    "build": "tsc",
    "serve": "npm run build && firebase serve --only functions",
    "shell": "npm run build && firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "main": "index.js",
  "dependencies": {
    "@angular/animations": "^7.1.0",
    "@angular/cdk": "^7.1.0",
    "@angular/common": "^7.1.0",
    "@angular/compiler": "^7.1.0",
    "@angular/core": "^7.1.0",
    "@angular/flex-layout": "^7.0.0-beta.22",
    "@angular/forms": "^7.1.0",
    "@angular/http": "^7.1.0",
    "@angular/platform-browser": "^7.1.0",
    "@angular/platform-browser-dynamic": "^7.1.0",
    "@angular/platform-server": "^7.1.0",
    "@angular/router": "^7.1.0",
    "@nguniversal/common": "^7.0.2",
    "@nguniversal/express-engine": "^7.0.2",
    "@nguniversal/module-map-ngfactory-loader": "^7.0.2",
    "@types/smoothscroll-polyfill": "^0.3.0",
    "firebase-admin": "^6.4.0",
    "firebase-functions": "^2.1.0",
    "compression": "^1.7.3",
    "core-js": "^2.5.4",
    "express": "^4.16.4",
    "hammerjs": "^2.0.8",
    "rxjs": "^6.3.3",
    "smoothscroll-polyfill": "^0.4.3",
    "ts-loader": "^5.3.0",
    "zone.js": "^0.8.26",
    "reflect-metadata": "^0.1.12"
  },
  "devDependencies": {
    "tslint": "^5.11.0",
    "typescript": "^3.1.6"
  },
  "private": true
}

app.server.module.ts

  imports: [
    AppModule,
    ServerModule,
    ModuleMapLoaderModule,
    ServerTransferStateModule,
    FlexLayoutServerModule,
  ],
  bootstrap: [AppComponent],
})
export class AppServerModule {}

error I am getting

TypeError: this.marshal.init is not a function
    at LayoutAlignDirective.BaseDirective2.init (/user_code/node_modules/@angular/flex-layout/bundles/flex-layout-core.umd.js:2416:22)
    at new LayoutAlignDirective (/user_code/node_modules/@angular/flex-layout/bundles/flex-layout-flex.umd.js:1529:15)
    at createClass (/user_code/node_modules/@angular/core/bundles/core.umd.js:20747:24)
    at createDirectiveInstance (/user_code/node_modules/@angular/core/bundles/core.umd.js:20616:24)
    at createViewNodes (/user_code/node_modules/@angular/core/bundles/core.umd.js:21842:40)
    at callViewAction (/user_code/node_modules/@angular/core/bundles/core.umd.js:22158:17)
    at execComponentViewsAction (/user_code/node_modules/@angular/core/bundles/core.umd.js:22077:17)
    at createViewNodes (/user_code/node_modules/@angular/core/bundles/core.umd.js:21870:9)
    at createRootView (/user_code/node_modules/@angular/core/bundles/core.umd.js:21756:9)
    at Object.createProdRootView [as createRootView] (/user_code/node_modules/@angular/core/bundles/core.umd.js:22268:16)
    at resolvePromise (/user_code/node_modules/zone.js/dist/zone-node.js:814:31)
    at resolvePromise (/user_code/node_modules/zone.js/dist/zone-node.js:771:17)
    at /user_code/node_modules/zone.js/dist/zone-node.js:873:17
    at ZoneDelegate.invokeTask (/user_code/node_modules/zone.js/dist/zone-node.js:421:31)
    at Object.onInvokeTask (/user_code/node_modules/@angular/core/bundles/core.umd.js:16192:37)
    at ZoneDelegate.invokeTask (/user_code/node_modules/zone.js/dist/zone-node.js:420:36)
    at Zone.runTask (/user_code/node_modules/zone.js/dist/zone-node.js:188:47)
    at drainMicroTaskQueue (/user_code/node_modules/zone.js/dist/zone-node.js:595:35)
    at ZoneTask.invokeTask (/user_code/node_modules/zone.js/dist/zone-node.js:500:21)
    at ZoneTask.invoke (/user_code/node_modules/zone.js/dist/zone-node.js:485:48)
  rejection: 
   TypeError: this.marshal.init is not a function
       at LayoutAlignDirective.BaseDirective2.init (/user_code/node_modules/@angular/flex-layout/bundles/flex-layout-core.umd.js:2416:22)
       at new LayoutAlignDirective (/user_code/node_modules/@angular/flex-layout/bundles/flex-layout-flex.umd.js:1529:15)
       at createClass (/user_code/node_modules/@angular/core/bundles/core.umd.js:20747:24)
       at createDirectiveInstance (/user_code/node_modules/@angular/core/bundles/core.umd.js:20616:24)
       at createViewNodes (/user_code/node_modules/@angular/core/bundles/core.umd.js:21842:40)
       at callViewAction (/user_code/node_modules/@angular/core/bundles/core.umd.js:22158:17)
       at execComponentViewsAction (/user_code/node_modules/@angular/core/bundles/core.umd.js:22077:17)
       at createViewNodes (/user_code/node_modules/@angular/core/bundles/core.umd.js:21870:9)
       at createRootView (/user_code/node_modules/@angular/core/bundles/core.umd.js:21756:9)
       at Object.createProdRootView [as createRootView] (/user_code/node_modules/@angular/core/bundles/core.umd.js:22268:16),
  promise: 
   ZoneAwarePromise {
     __zone_symbol__state: 0,
     __zone_symbol__value: 
      TypeError: this.marshal.init is not a function
          at LayoutAlignDirective.BaseDirective2.init (/user_code/node_modules/@angular/flex-layout/bundles/flex-layout-core.umd.js:2416:22)
          at new LayoutAlignDirective (/user_code/node_modules/@angular/flex-layout/bundles/flex-layout-flex.umd.js:1529:15)
          at createClass (/user_code/node_modules/@angular/core/bundles/core.umd.js:20747:24)
          at createDirectiveInstance (/user_code/node_modules/@angular/core/bundles/core.umd.js:20616:24)
          at createViewNodes (/user_code/node_modules/@angular/core/bundles/core.umd.js:21842:40)
          at callViewAction (/user_code/node_modules/@angular/core/bundles/core.umd.js:22158:17)
          at execComponentViewsAction (/user_code/node_modules/@angular/core/bundles/core.umd.js:22077:17)
          at createViewNodes (/user_code/node_modules/@angular/core/bundles/core.umd.js:21870:9)
          at createRootView (/user_code/node_modules/@angular/core/bundles/core.umd.js:21756:9)
          at Object.createProdRootView [as createRootView] (/user_code/node_modules/@angular/core/bundles/core.umd.js:22268:16) },
  zone: 
   Zone {
     _properties: { isAngularZone: true },
     _parent: 
      Zone {
        _properties: {},
        _parent: null,
        _name: '<root>',
        _zoneDelegate: [Object] },
     _name: 'angular',
     _zoneDelegate: 
      ZoneDelegate {
        _taskCounts: [Object],
        zone: [Circular],
        _parentDelegate: [Object],
        _forkZS: null,
        _forkDlgt: null,
        _forkCurrZone: [Object],
        _interceptZS: null,
        _interceptDlgt: null,
        _interceptCurrZone: [Object],
        _invokeZS: [Object],
        _invokeDlgt: [Object],
        _invokeCurrZone: [Circular],
        _handl

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Reactions:10
  • Comments:44 (19 by maintainers)

github_iconTop GitHub Comments

8reactions
devpalacommented, Mar 20, 2019

“La solución”: Volver a es5 “target”: “es6” to “target”: “es5”, Eso es una simple solutions cerebritos

6reactions
epelccommented, Jun 10, 2019

@CaerusKaru Do you know why this would be popping up again(with angular 8 and flex-layout beta 26) when building using the following options? I think the fix would be in that release.

npx ng build --prod --aot=false --build-optimizer=false

It works fine if you do a regular prod build with aot and the build optimizer enabled but a prod build without that doesn’t work. Also works in dev mode or if you target es5 instead of es2015(differential loading in angular 8).

Maybe it is a bug with the fix that it works in full aot+prod but not in prod with aot+build optimizer turned off?

image image

Read more comments on GitHub >

github_iconTop Results From Across the Web

ECMAScript 2015 (ES6) | Can I use... Support ... - CanIUse
"Can I use" provides up-to-date browser support tables for support of ...
Read more >
ECMAScript 6 compatibility table
Feature name▻ Current browser 98% ES6 Trans‑ piler 25% Trace... Optimisation Optimisation Optimisation Optimi... §proper tail calls (tail call optimisation)▻ 0/2 0/2 0/2 §direct recursionc No...
Read more >
JavaScript Versions - W3Schools
Browser Support for ES6 (2015) ; Chrome, 51, May 2016 ; Firefox, 52, Mar 2017 ; Edge, 14, Aug 2016 ; Safari, 10,...
Read more >
Node.js ES2015/ES6, ES2016 and ES2017 support
Yes. Yes Yes. Yes Error. Error Error. Error Error. Error Error. Error function() function() function() function() function() function() function() function() function() function() function() function() function() function()...
Read more >
ECMAScript 2015 (ES6) and beyond - Node.js
green provides an excellent overview over supported ECMAScript features in various versions of Node.js, based on kangax's compat-table. Which features are in ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found