standard-things / esm

Tomorrow's ECMAScript modules today!
Other
5.27k stars 147 forks source link

Static getter in a class results in SyntaxError with esm 3.2.23 #804

Closed Tronil closed 5 years ago

Tronil commented 5 years ago

The following can no longer be loaded with the 3.2.23 release:

export class Foo
{
    static get bar()
    {
        return "Foo";
    }
}

If you try you get:

static get bar()
               ^

SyntaxError: Invalid or unexpected token
    at Object.Module._extensions..js (module.js:664:10)

It works with 3.2.22.

PazzaVlad commented 5 years ago

Have the same problem

ptb commented 5 years ago

I'm having a similar issue, works with 3.2.22 but not 3.2.23:

node_modules/puppeteer/lib/Page.js:44
    static async create(client, target, ignoreHTTPSErrors, defaultViewport, screenshotTaskQueue) {
                 ^

  SyntaxError: Invalid or unexpected token
jdalton commented 5 years ago

Yep, super sorry about that folks. Updated parsing support and missed smth. Will have it fixed in the next few hours.

dnalborczyk commented 5 years ago

thanks guys for taking the time to report! looks like a regression.

@jdalton the following fail with v3.2.23.:

class Foo {
  static get bar() {}
  static set bar(val) {}
  static async afunc() {}
  static *gfunc() {}
  static async *agfunc() {}
}
dnalborczyk commented 5 years ago

@jdalton uups, same time. 😄 btw, not sure if you noticed. the git release tags are tagged as 3.2.33 as supposed to 3.2.23.

jdalton commented 5 years ago

esm v3.2.24 is released 🎉

exogen commented 5 years ago

Thanks for the fix @jdalton! I'm noticing some cases are still having trouble however.

$ node -r esm
> require('node-fetch')
/Users/brian.beck/Projects/node_modules/node-fetch/lib/index.js:899
    [Symbol.iterator]() {
                  ^

SyntaxError: Invalid or unexpected token

(that [Symbol.iterator]() method is on a class)

works fine on 3.2.22 and without esm!

jdalton commented 5 years ago

I'll throw that into the test mix too : )

andrewgremlich commented 5 years ago

Ditto to @exogen comment with the same error.