Closed samselikoff closed 5 years ago
Ops... I see, you use Ember v3.8 here with EmberFire v3-rc... I check it out again... but maybe it is totally legit... this is still a bug... ;)
On Sat, 23 Mar 2019 at 18:57, Sam Selikoff notifications@github.com wrote:
I'm trying out v3 on a new 3.8 app and running into this error when trying to access this.store in a controller:
Class constructor FirestoreAdapter cannot be invoked without 'new'
I believe this is the same error @zoltan-nz https://github.com/zoltan-nz pointed out on #553 https://github.com/firebase/emberfire/pull/553#pullrequestreview-200976641 .
e.g. DEBUG: ------------------------------- DEBUG: Ember : 3.8.0 DEBUG: Ember Data : 3.8.0 DEBUG: jQuery : 3.3.1 DEBUG: EmberFire : 3.0.0-rc.1-4 DEBUG: Firebase : 5.9.1 DEBUG: -------------------------------
Test case
I can provide a repo if needed Expected behavior
I can use the store! :) Actual behavior
I see this error message:
Uncaught TypeError: Class constructor FirestoreAdapter cannot be invoked without 'new'
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/firebase/emberfire/issues/568, or mute the thread https://github.com/notifications/unsubscribe-auth/AA9odwM6YGSJC_z8Rn6aSMTM39jPCQYGks5vZcJNgaJpZM4cEvEV .
Kind of weird that my application was working fine a couple of hours ago with EmberFire 3.0.0-rc.1-4 and Firebase 5.8.6, and suddenly it started throwing this error
I've read that this is more a Babel issue, I haven't tested but here they say that configuring Babel presets could help: https://stackoverflow.com/a/51860850 and https://github.com/babel/babel/issues/4269#issuecomment-245413185 and https://github.com/koajs/koa/issues/568#issuecomment-183780111
I'm having the same issue. @samselikoff did you find a solution?
DEBUG: -------------------------------
DEBUG: Ember : 3.9.1
DEBUG: Ember Data : 3.9.1
DEBUG: jQuery : 3.4.0
DEBUG: EmberFire : 3.0.0-rc.1-4
DEBUG: Firebase : 5.10.0
DEBUG: -------------------------------
@bnetter I found a workaround, but not sure how other things it'll break, I'm actually right now testing for a project.
The problem seems related to babel and the way it handles native classes, when searching in Google I found a lot of "solutions" that pointed to exclude 'transform-es2015-classes'
and 'transform-classes'
from babel, also using target: 'node'
; but again, I'm not very sure how to set/configure that.
Well, the workaround I've just see that allows me to build the project is to add ie 11
in the build targets. The easiest way is to change the config/targets.js
file like this:
// config/targets.js
'use strict';
const browsers = [
'last 1 Chrome versions',
'last 1 Firefox versions',
'last 1 Safari versions'
];
const isCI = !!process.env.CI;
const isProduction = process.env.EMBER_ENV === 'production';
//if (isCI || isProduction) {
browsers.push('ie 11');
//}
module.exports = {
browsers
};
Well, it can be done properly just removing the if
or adding the ie 11
to the array of browsers, but well that's basically the point.
The first problem I've found it's that when using Fastboot emberfire
wants to import XMLHttpRequest
, and it breaks the build; but that is more a general Fastboot issue, that I vaguely remember I solved before
I also had this and it went away after upgrading ember-source. Maybe version +3.5? Didn't need to touch targets.js.
I'm trying out v3 on a new 3.8 app and running into this error when trying to access
this.store
in a controller:I believe this is the same error @zoltan-nz pointed out on #553.
Test case
I can provide a repo if needed
Expected behavior
I can use the store! :)
Actual behavior
I see this error message: