Ecmascript 0.12.4 breaks app


#1

We recently decided to update our installed packages to the latest release as we do every so often. We are running meteor 1.8.0.1 and the latest ecmascript package breaks things for us. With NO code changes we have some code similar to:

export const MyCronJob = {
  name: 'MyCronJob',
  schedule: parser => parser.text('every 1 hour'),
  job: async () => {
    ....
    const result = await myfunction(testVal);
    ...
  }
}

With 0.12.3 this builds just fine and the application runs properly. With 0.12.4 the app no longer runs and during build we get: await is a reserved word. Fortunately just reverting to 0.12.3 gets things back up and running. Any thoughts why this breaks? Should I just submit an issue under the main meteor git?


#2

Are you updating to the Meteor 1.8.1 (currently still in beta) version of ecmascript while remaining with Meteor 1.8.0.1?

If so, that seems like an expected risk of breakage. Meteor has traditionally released versions based on a curated and tested-as-working set of packages. Trying to jump the gun, especially with something as touchy as Babel, does not sound like a good idea.


#3

No, it pulled this version simply with meteor update being run and remained at 1.8.0.1


#4

Hmm. That does sound unexpected. The ecmascript version in 1.8.0.1 is definitely set to 0.12.3:


#5

Ok, not going to argue about this. I know it was meteor update followed by broke. In fact after forcing it back to 0.12.3 if I run the same command again I get:

$ meteor update
This project is already at Meteor 1.8.0.1, the latest release.
Your top-level dependencies are at their latest compatible versions.
                                              
The following top-level dependencies were not updated to the very latest version available:
 * ecmascript 0.12.3 (0.12.4 is available)

#6

I wasn’t arguing, I was expressing confusion :slight_smile:


#7

I just tried the same update on a 1.8.0.1 project and can confirm that ecmascript and a few other packages are updated to the current devel branch versions. However, I don’t get any problems with using async/await :confused:


#8

Well made the mistake of going to 1.8.0.2 today as the system suggested, once again BROKEN! However, this time it will not let me downgrade ecmascript to 0.12.3 as there appears to be some root level dependency on the 0.12.4 version. Man, meteor updates are frustrating! Any suggestions now why the code is broken syntax wise.


#9

do you have a custom babel config? can you share it?


#10

Actually, it appears the older versions were not processing the statements correctly. We had that await inside of a forEach((item) => {{) loop and it was simply necessary to move the async in front of (item) for it to work and compile correctly.

We do not have a custom babel config either. Thanks for the help!