Closed alpjor closed 9 years ago
I see this as well and can be replicated by adding 'mquandalle:harmony' to a freshly created project. I have been trying the release candidates and the '1.0.2-rc.6' does not error. It is broken on all the other rcs.
Same issue
Thanks guys. I tracked down the bug and opened an issue with @google – hopefully somebody on their side gets a chance to take a look and we can figure out what @meteor broke.
The problem is that harmony-collections
which is a dependency for meteor-pathwatcher-tweaks
conflicts with traceur Map
implementations.
For now, you can get this to work by monkeypatching files /Users/alpjor/.meteor/packages/meteor-tool/.1.0.37.1ovh56a++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/pathwatcher/node_modules/emissary/node_modules/property-accessors/node_modules/harmony-collections/harmony-collections.js
and /Users/alpjor/.meteor/packages/meteor-tool/.1.0.37.1ovh56a++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/pathwatcher/node_modules/emissary/node_modules/harmony-collections/harmony-collections.js
on line 576, like this:
if (false/*'Map' in global && 'forEach' in global.Map.prototype*/) {
M = exports.Map = global.Map;
} else {
The problem is that harmony-collections
tries to utilise standard Map
implementation for it's own purposes, and traceur
provides one. But the problem is that it initialises this Map not in the way, that traceur
expects.
So, the problem is that in traceur
implementation size
method of the Map
is a getter, which is correct. But harmony-collections
tries to wrap it, instead calls getter and the error occurs.
Created a pull request for harmony-collections. But, I think it will take time to update all plugins.
For reference until this is fixed without monkey-patching: The files in meteor 1.0.2.1 are now these 2 (i.e. the file names have changed!) -
~/.meteor/packages/meteor-tool/.1.0.38.1bth24m++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/node_modules/harmony-collections/harmony-collections.js
~/.meteor/packages/meteor-tool/.1.0.38.1bth24m++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/node_modules/property-accessors/node_modules/harmony-collections/harmony-collections.js
I tried to make a sed
script for automatic replacement of stuff but my shell-fu was not enough to wrestle the special character handling in bash and sed to the ground with all the {-s and (-s and *-s...
Seeker, what do you mean by your post? I was able to make it run only with editing lines in those files. But, will this work now in production once published ?
@tomitrescak I only meant to give the updated file names since they changed between Meteor versions 1.0.2 and 1.0.2.1, apparently.
So, I think there are two ways:
Wait until my pull request will be merged and then all dependants will update dependencies, or just switch off the Map feature in traceur
config here.
@Termina1 how can switching off Map feature be done?
I asked that over at google/traceur-compiler#1613, I just haven't had time to implement it yet.
Guys, new version of Meteor is out there, problem remains. Thank god for the fix you found, but a permanent solution would be fantastic.
Are there any news on this issue? Pull request by @Termina1 seems to be still open.
I am also really looking forward to a more permeant fix. Any idea why the pull request is stalled?
May be someone could contact @Benvie to ask him merge this pull request? His account email is not working.
https://github.com/Benvie/harmony-collections haven't be updated for about a whole year, so we should consider @Termina1 PR won't be merged anytime soon. Maybe we could replace this lib by https://github.com/WebReflection/es6-collections (not tested) instead of maintaining our own fork?
So, I just decided to update emissary
and property-accessor
to get rid of harmony-collections
. Pull requests are here https://github.com/atom/property-accessors/pull/5/files and here https://github.com/atom/emissary/pull/10/files. When it is merged, we need to update versions in pathwatcher
and Meteor itself.
Created pull request (https://github.com/atom/node-pathwatcher/pull/58), so it is the last thing. After this is merged, we just need to wait until new meteor version, where will be new pathwatcher module.
I'm seeing the same error on Meteor 1.0.3.2:
> meteor
[[[[[ ~/Code/siftie ]]]]]
=> Started proxy.
=> Started MongoDB.
/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:173
throw(ex);
^
TypeError: Cannot read property 'length' of undefined
at Map.size (/Users/Nick/.meteor/packages/mquandalle_harmony/.1.3.79.3uufil++os+web.browser+web.cordova/plugin.compileHarmony.os/npm/compileHarmony/node_modules/traceur/bin/traceur.js:1254:27)
at /Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/node_modules/property-accessors/node_modules/harmony-collections/harmony-collections.js:719:27
at initialize (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/node_modules/property-accessors/node_modules/harmony-collections/harmony-collections.js:317:38)
at /Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/node_modules/property-accessors/node_modules/harmony-collections/harmony-collections.js:716:3
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/node_modules/property-accessors/node_modules/harmony-collections/harmony-collections.js:793:2)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (/Users/Nick/.meteor/packages/meteorhacks_npm/.1.2.2.1mhfgu6++os+web.browser+web.cordova/plugin.initializing-npm-support.os/npm/initializing-npm-support/node_modules/node-echo/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/node_modules/property-accessors/lib/property-accessors.js:8:54)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/node_modules/property-accessors/lib/property-accessors.js:74:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (/Users/Nick/.meteor/packages/meteorhacks_npm/.1.2.2.1mhfgu6++os+web.browser+web.cordova/plugin.initializing-npm-support.os/npm/initializing-npm-support/node_modules/node-echo/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/lib/behavior.js:9:23)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/lib/behavior.js:120:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (/Users/Nick/.meteor/packages/meteorhacks_npm/.1.2.2.1mhfgu6++os+web.browser+web.cordova/plugin.initializing-npm-support.os/npm/initializing-npm-support/node_modules/node-echo/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/lib/helpers.js:5:14)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/lib/helpers.js:55:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (/Users/Nick/.meteor/packages/meteorhacks_npm/.1.2.2.1mhfgu6++os+web.browser+web.cordova/plugin.initializing-npm-support.os/npm/initializing-npm-support/node_modules/node-echo/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/lib/emissary.js:4:13)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/node_modules/emissary/lib/emissary.js:14:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (/Users/Nick/.meteor/packages/meteorhacks_npm/.1.2.2.1mhfgu6++os+web.browser+web.cordova/plugin.initializing-npm-support.os/npm/initializing-npm-support/node_modules/node-echo/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/lib/file.js:12:18)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/lib/file.js:384:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (/Users/Nick/.meteor/packages/meteorhacks_npm/.1.2.2.1mhfgu6++os+web.browser+web.cordova/plugin.initializing-npm-support.os/npm/initializing-npm-support/node_modules/node-echo/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/lib/main.js:203:18)
at Object.<anonymous> (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-pathwatcher-tweaks/lib/main.js:207:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (/Users/Nick/.meteor/packages/meteorhacks_npm/.1.2.2.1mhfgu6++os+web.browser+web.cordova/plugin.initializing-npm-support.os/npm/initializing-npm-support/node_modules/node-echo/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.files.pathwatcherWatch (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/files.js:1230:21)
at Object.watch (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/safe-pathwatcher.js:33:23)
at [object Object]._.extend._watchFileOrDirectory (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/watch.js:414:35)
at /Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/watch.js:381:14
at Function._.each._.forEach (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:87:22)
at [object Object]._.extend._startFileWatches (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/watch.js:376:7)
at new Watcher (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/watch.js:307:8)
at [object Object]._.extend._runOnce (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/run-app.js:663:23)
at [object Object]._.extend._fiber (/Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/run-app.js:771:28)
at /Users/Nick/.meteor/packages/meteor-tool/.1.0.41.wyca8t++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/run-app.js:366:12
> meteor list
accounts-password 1.0.6 Password support for accounts
accounts-ui 1.1.4 Simple templates to add login widgets to an app
email 1.0.5 Send email messages
erasaur:meteor-lodash 3.5.0 Wrapper for Lo-Dash v3.5.0
fourseven:scss 2.0.1_2 Style with attitude. Sass and SCSS support for Met...
houston:admin 2.0.3 A zero-config Meteor Admin
iron:router 1.0.7 Routing specifically designed for Meteor
meteor-platform 1.2.1 Include a standard set of Meteor packages in your app
meteorhacks:kadira 2.19.6 Performance Monitoring for Meteor
meteorhacks:npm 1.2.2 Use npm modules with your Meteor App
mquandalle:harmony 1.3.79 JavaScript.next-to-JavaScript-of-today compiler
npm-container 1.0.0+ Contains all your npm dependencies
reywood:publish-composite 1.3.5 Publish a set of related documents from multiple col...
spiderable 1.0.6 Makes the application crawlable to web spiders
+ These packages are built locally from source.
> meteor --version
Meteor 1.0.3.2
Because fixes did not land in this version. If you use master everything should be ok
I had to go with grigio:babel in the end ...
@tomitrescak thanks! Babel works much better.
Should we “officialy” encourage users to use babel?
@mquandalle I don't think so, there should be always an alternative.
An error seems to be fixed on 1.0.4.1
release.
yeah it seems to work fine on 1.0.4.1... Great
Good to hear, let me close this issue
Can't seem to start my project now. :(