meteor-blaze-components icon indicating copy to clipboard operation
meteor-blaze-components copied to clipboard

Meteor 1.8.2: ReferenceError: meteorBabelHelpers is not defined

Open hexsprite opened this issue 6 years ago • 16 comments

Getting:

lib.coffee:1131 Uncaught ReferenceError: meteorBabelHelpers is not defined

seems to be related to

https://github.com/peerlibrary/meteor-subscription-scope/pull/3/files and https://forums.meteor.com/t/meteor-1-8-2-beta-17-referenceerror-meteorbabelhelpers-is-not-defined/50097/6

I changed it to...

fields = Object.keys(Blaze.TemplateInstance.prototype)
blazeComponentMethods = Object.keys(BlazeComponent.prototype)
for i in [0...fields.length]
  methodName = fields[i]
  if methodName in blazeComponentMethods
    continue
  method = Blaze.TemplateInstance.prototype[methodName]
  do (methodName, method) ->
...

But it seems like there's some other uses of that loop in there... not sure if that will be enough for all cases...

hexsprite avatar Nov 14 '19 02:11 hexsprite

I think you are not using the latest package. Please check which version of the package you are using. Please provide a small reproduction.

mitar avatar Nov 14 '19 02:11 mitar

I'm using 0.23.0

I tried a reproduction using meteor create --bare; meteor remove static-html; meteor add peerlibrary:blaze-components

But it doesn't seem to happen. I checked and all the packages installed in versions in the repro are the same in my project. So I'm a little confused since the error is being reported as peerlibrary:blaze-components

hexsprite avatar Nov 14 '19 20:11 hexsprite

From my experience I think you are not really using 0.23.0. Can you check in versions file?

mitar avatar Nov 14 '19 20:11 mitar

peerlibrary:[email protected]

hexsprite avatar Nov 14 '19 20:11 hexsprite

Hm, then I do not have an idea. Without reproduction I cannot really help much here. :-(

Maybe some other PeerLibrary dependency is not at the latest version.

mitar avatar Nov 14 '19 20:11 mitar

OK I took the packages from from my large app and copied it into a new project. Seems to reproduce this issue but I'm not yet sure why...

https://github.com/hexsprite/meteor-blaze-components-156

hexsprite avatar Nov 14 '19 21:11 hexsprite

Have you went through all peerlibrary packages in versions and made sure they are at the latest version?

mitar avatar Nov 14 '19 21:11 mitar

Have you went through all peerlibrary packages in versions and made sure they are at the latest version?

Yup.

hexsprite avatar Nov 14 '19 23:11 hexsprite

I am not sure when I will have time too look into this. I thought this has been resolved by re-publishing all packages.

You could try putting them temporary into packages/ inside your app, and see if that resolves it. And if does, then bisect to see which one has to be there. And then I can look if I maybe missed some to republish.

mitar avatar Nov 25 '19 21:11 mitar

Thanks, I'm going to be busy with some other issues but I will return to this and let you know what I figure out... I suspect something is pulling in an old dependency...

hexsprite avatar Nov 25 '19 22:11 hexsprite

I suspect something is pulling in an old dependency...

But you would see that in .versions file I believe.

mitar avatar Nov 25 '19 23:11 mitar

I've been checking dependencies using meteor list --tree but I don't notice anything obvious.

As a workaround I forked the package and added meteorBabelHelpers = Package.modules.meteorBabelHelpers at the top of lib.coffee and that has fixed the problem for now.

I audited all the built packages and found that also peerlibrary:base-component was also missing the meteorBabelHelpers declaration.

hexsprite avatar Nov 27 '19 20:11 hexsprite

I'm curious by which mechanism that Meteor decides that a given package requires the a particular dependency declaration to be added... seems like something is broken there...

hexsprite avatar Nov 29 '19 14:11 hexsprite

They are using dependency resolver, computing the solution for all dependency constraints. So something is pushing an old version.

Have you tried cloning repositories into packages? From my experience that should be enough and no need to change the code in a forked repo?

mitar avatar Dec 02 '19 07:12 mitar

Have you tried cloning repositories into packages? From my experience that should be enough and no need to change the code in a forked repo?

Yes. It did not help. I had to add the declaration in order to get it to work.

hexsprite avatar Dec 03 '19 06:12 hexsprite

Bumping this as I also ran into the same or a very similar issue when building for cordova/electron (web version works just fine).

Uncaught ReferenceError: meteorBabelHelpers is not defined
    at lib.coffee:1131

MatejJan avatar Feb 08 '23 16:02 MatejJan