Skip to content

Error in docker-compose up: SyntaxError: Unexpected token { #2961

@JoshuaKGoldberg

Description

@JoshuaKGoldberg

Steps to reproduce

I'm following https://github.com/xtermjs/xterm.js/wiki/Contributing#running-the-demo on Node 12.4.0:

git clone https://github.com/xtermjs/xterm.js
docker-compose up
> xterm@4.6.0 test-unit /usr/src/app
> node ./bin/test.js


/usr/src/app/node_modules/webidl-conversions/lib/index.js:357
    } catch {
            ^

SyntaxError: Unexpected token {
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:617:28)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/usr/src/app/node_modules/jsdom/lib/jsdom/browser/Window.js:3:27)
    at Module._compile (module.js:653:30)
    ...
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-06-03T19_28_16_161Z-debug.log
ERROR: Service 'watch' failed to build: The command '/bin/sh -c npm run build && npm run test' returned a non-zero code: 1

This particular syntax error comes from jsdom/webidl-conversions@647d873:

- catch (e) {
+ catch {

Looks like whatever version combination of Node and the webidl-conversions package is such that webidl-conversions includes the change to remove the catch variable and the Node version doesn't yet support that syntax.

Perhaps the docker file should be updated to a newer Node version than 8?

FROM node:8

It works fine if I change that to node:12.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions