ES2015 support
See original GitHub issueBug 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?
- Create Angular repo with SSR
- Add FlexLayout
- 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:
- Created 5 years ago
- Reactions:10
- Comments:44 (19 by maintainers)
Top 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 >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
“La solución”: Volver a es5 “target”: “es6” to “target”: “es5”, Eso es una simple solutions cerebritos
@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 ofes2015
(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?