push.js icon indicating copy to clipboard operation
push.js copied to clipboard

'callback is not defined' in strict mode

Open iamgoodbytes opened this issue 8 years ago • 1 comments

Hi! I'm not sure if this is something that should be fixed in push.js or on my side but here it goes:

I was using rollupjs to bundle a module that uses push.js. This triggers an error in strict mode:

index.js:386 Uncaught (in promise) ReferenceError: callback is not defined

Here's where my browser is complaining: https://github.com/Nickersoft/push.js/blob/master/push.js#L369

My understanding is that callback could be declared as a var (when doing so, I get rid of the error). I'm not completely sure what's causing this to happen, because when I use push.js directly, I don't get the error.

Here's a gist of what rollup is doing and where the browser throws the error: https://gist.github.com/iamgoodbytes/2308eca55ea8ec86d3ee55ba13503ed0#file-gistfile1-txt-L386

UPDATE: disabling strict mode in rollup solved this for me, maybe someone can clarify why callback needs to be undeclared in push.js? I'm sure I'm missing something.

Thanks for the clarification and for the amazing library!

iamgoodbytes avatar Feb 10 '17 10:02 iamgoodbytes

Hmm.. I can look into it, but at first glance it seems the callback declaration is missing a var, which is not allowed in strict mode. What I should probably do is add back that var and add a 'use strict' at the top of the file. Thanks for bringing it to my attention and thanks for using Push!

Nickersoft avatar Feb 10 '17 15:02 Nickersoft