Open tdesvenain opened 5 years ago
target: es5 in tsconfig.json fixes this
target: es5 in tsconfig.json fixes this
thank you for your information which also fixed my issue. However, after changing it to es5, we cannot use the new feature "automatically creates a modern ES2015 build with minimal polyfills and a compatible ES5 build for older browsers". Hopefully the developer of ngx-gallery can fix it as well.
This affects us as well after upgrading to Angular 8, which by default will update the target to es2015
. Using es5
indeed works, but is undesirable in the long run.
me too. I met this issue after upgrading to Angular 8. Look forward the fix instead of changing target.
i can not change the target to es5, cause other dependencies do require es6, so for me itis pretty blocking :(
same problem here! has someone solved it without changing to es5?
Same issue, using Angular 8 and changing target is not something we can do
in ngx-gallery.umd.js, this code needs to be modified. unfortunately my js skills are limited. maybe somebody can convert that ?
var CustomHammerConfig = /* @class / (function (_super) { __extends(CustomHammerConfig, _super); function CustomHammerConfig() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.overrides = ({ 'pinch': { enable: false }, 'rotate': { enable: false } }); return _this; } return CustomHammerConfig; ... blabla (platformBrowser.HammerGestureConfig;
Here is a es2015 compiled version that works with Angular 8. THIS MIGHT NOT BE UPDATED! change to this in your package.json: "ngx-gallery": "git://github.com/onack/ngx-gallery-dist",
@PawelSpoon A temporary fix that works 💯 for now : in the file ngx-gallery.umd.js changes this lines of code :
var CustomHammerConfig = /* @class / (function (_super) { __extends(CustomHammerConfig, _super); function CustomHammerConfig() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.overrides = ({ 'pinch': { enable: false }, 'rotate': { enable: false } }); return _this; } return CustomHammerConfig; }(platformBrowser.HammerGestureConfig));
to :
class CustomHammerConfig extends platformBrowser.HammerGestureConfig { constructor() { super(...arguments); this.overrides = ({ 'pinch': { enable: false }, 'rotate': { enable: false } }); } }
@onak, @Oussail , thanks a lot !
Oussail, thank you! that saved the day. but honestly, looks like this is a good time to look for a new gallery solution, or to create one.
Thanks . it was work
@Oussail Thanks a lot
I have same issue
@lukasz-galka Please reopen this issue as switching the target back to es5 only because of one lib is not a desirable solution.
@Oussail I don't know if it's a temporary solution, but it solved my job for now. Thank you so much.
@Oussail you saved my day! Thank youuuuuu
@Oussail Thanks, works like a charm!
google give webmaster tools error for es5
Uncaught SyntaxError: Unexpected reserved word https://www.ashiane.house/main.6a61cbe2f24a83ebd4ba.js:1`
until now, I recompile the compiled version with babel to es2015 from es5 (default target build)
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
but since my project exceed 500KB in size, i can't do that anymore, and google can't fetch the rendered version of my website for crawler.... So i changed this to:
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
and now i receive this error, my project won't even launch:
vendor.js:63261 ERROR TypeError: Class constructor HammerGestureConfig cannot be invoked without 'new'
BTW i didn't update recently, i try to fetch the new version, since there are both angular 8, and a "merge" label middle of posts.
update from 5.7 to 5.10 still same error:
TypeError: Class constructor HammerGestureConfig cannot be invoked without 'new' at new CustomHammerConfig (ngx-gallery.umd.js:1898) at _createClass (core.js:26964) at _createProviderInstance (core.js:26931) at resolveNgModuleDep (core.js:26878) at _callFactory (core.js:27002) at _createProviderInstance (core.js:26934) at resolveNgModuleDep (core.js:26878) at _createClass (core.js:26968) at _createProviderInstance (core.js:26931) at resolveNgModuleDep (core.js:26878)
@PawelSpoon A temporary fix that works 💯 for now : in the file ngx-gallery.umd.js changes this lines of code :
var CustomHammerConfig = /* @Class / (function (_super) { __extends(CustomHammerConfig, _super); function CustomHammerConfig() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.overrides = ({ 'pinch': { enable: false }, 'rotate': { enable: false } }); return _this; } return CustomHammerConfig; }(platformBrowser.HammerGestureConfig));
to :
class CustomHammerConfig extends platformBrowser.HammerGestureConfig { constructor() { super(...arguments); this.overrides = ({ 'pinch': { enable: false }, 'rotate': { enable: false } }); } }
The error fixed.... My issue with google not :|
Modify the providers in your app.module.ts with
export class CustomHammerConfig extends HammerGestureConfig {
overrides = {
pinch: { enable: false },
rotate: { enable: false }
};
}
and add to the Providers
providers: [
{ provide: HAMMER_GESTURE_CONFIG, useClass: CustomHammerConfig }
]
@Oussail Thank you I tried your solution but got this error: url is undefined in ngx-gallery.umd.js 159
you mean adding this instead of changing the code would work?
Modify the providers in your app.module.ts with
export class CustomHammerConfig extends HammerGestureConfig { overrides = { pinch: { enable: false }, rotate: { enable: false } }; }
and add to the Providers
providers: [ { provide: HAMMER_GESTURE_CONFIG, useClass: CustomHammerConfig } ]
This actually worked for me. Thanks.
I revert my project due some work project, and i'm moving to another city, and i lost track of everything.
it compiled on es5, but i'm not in condition to change anything in my project currently...
I changed the build task in guplfile to use es2015 target and it works in my angular 8 app (made a pull request). But I don't know if this kills any es5 app. Can anybody help me with this question?
@Oussail Thank you I tried your solution but got this error: url is undefined in ngx-gallery.umd.js 159
Ran into same error. Did you find a solution?
Ran into same error. @desoga10 your solution seems to work just fine, thanks.
Modify the providers in your app.module.ts with
export class CustomHammerConfig extends HammerGestureConfig { overrides = { pinch: { enable: false }, rotate: { enable: false } }; }
and add to the Providers
providers: [ { provide: HAMMER_GESTURE_CONFIG, useClass: CustomHammerConfig } ]
I have this error when I use ng serve --aot
Error during template compile of 'CustomHammerConfig'
Class CustomHammerConfig in /home/jeires/Documents/Angular/Cool Mart/coolmart/src/app/app.module.ts extends from a Injectable in another compilation unit without duplicating the decorator
Please add a Injectable or Pipe or Directive or Component or NgModule decorator to the class.
Error during template compile of 'CustomHammerConfig'
I added @Injectable() decorator like this and solved this issue:
@Injectable() export class CustomHammerConfig extends HammerGestureConfig { overrides = { pinch: { enable: false }, rotate: { enable: false } }; }
Hi, i work with Angular 7.2.5
I get this traceback in browser at module load :