peerlibrary / meteor-blaze-components

Reusable components for Blaze
http://components.meteorapp.com/
BSD 3-Clause "New" or "Revised" License
354 stars 26 forks source link

Meteor 1.8.2: ReferenceError: meteorBabelHelpers is not defined #156

Open hexsprite opened 5 years ago

hexsprite commented 5 years ago

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...

mitar commented 5 years ago

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

hexsprite commented 5 years ago

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

mitar commented 5 years ago

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

hexsprite commented 5 years ago

peerlibrary:blaze-components@0.23.0

mitar commented 5 years ago

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.

hexsprite commented 5 years ago

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

mitar commented 5 years ago

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

hexsprite commented 5 years ago

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

Yup.

mitar commented 4 years ago

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.

hexsprite commented 4 years ago

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...

mitar commented 4 years ago

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

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

hexsprite commented 4 years ago

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 commented 4 years ago

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...

mitar commented 4 years ago

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?

hexsprite commented 4 years ago

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.

MatejJan commented 1 year ago

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