Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BABEL_PARSER_SYNTAX_ERROR error with 2.3.1 when using d3 #11525

Closed
pfafman opened this issue Jul 9, 2021 · 35 comments · Fixed by #11488, #11580 or #11581
Closed

BABEL_PARSER_SYNTAX_ERROR error with 2.3.1 when using d3 #11525

pfafman opened this issue Jul 9, 2021 · 35 comments · Fixed by #11488, #11580 or #11581

Comments

@pfafman
Copy link

pfafman commented Jul 9, 2021

Getting BABEL_PARSER_SYNTAX_ERROR when starting up meteor on 2.2.1, 2.3 or 2.3.1. Report here is for 2.3.1

Reported here #11410 but it is a pull not a bug:

Steps to reproduce:

  1. create a todo app with blaze:
    meteor create --blaze simple-todos-blaze
  2. Update to meteor 2.3.1
    meteor update --release 2.3.1
  3. Add in d3
    meteor npm install --save d3
  4. Add Import statement for d3 into the client.js
  5. Run it
    meteor

Result:

$ meteor
[[[[[ ~/Projects/coWorkr/simple-todos-blaze ]]]]]

=> Started proxy.
=> Started HMR server.
/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:218
      throw error;
      ^

SyntaxError: Unexpected token (4:15)
    at Object._raise (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/error.js:134:45)
    at Object.raiseWithData (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/error.js:129:17)
    at Object.raise (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/error.js:78:17)
    at Object.unexpected (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/util.js:181:16)
    at Object.checkExpressionErrors (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/util.js:286:12)
    at Object.parseMaybeAssign (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:307:12)
    at Object.parseMaybeAssign (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/plugins/flow/index.js:2951:20)
    at /Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:236:12
    at Object.allowInAnd (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:2636:12)
    at Object.parseMaybeAssignAllowIn (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:235:17)
    at Object.parseExprListItem (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:2290:18)
    at Object.parseCallExpressionArguments (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:924:14)
    at Object.parseCoverCallAndAsyncArrowHead (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:776:29)
    at Object.parseSubscript (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:666:19)
    at Object.parseSubscript (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/plugins/flow/index.js:3142:20)
    at Object.parseSubscripts (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:624:19)
    at Object.parseSubscripts (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/plugins/flow/index.js:3088:20)
    at Object.parseExprSubscripts (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:609:17)
    at Object.parseUpdate (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:583:21)
    at Object.parseMaybeUnary (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:550:23)
    at Object.parseExprOps (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:354:23)
    at Object.parseMaybeConditional (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:320:23)
    at Object.parseMaybeAssign (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:281:21)
    at Object.parseMaybeAssign (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/plugins/flow/index.js:2951:20)
    at Object.parseExpressionBase (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:207:23)
    at /Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:200:39
    at Object.allowInAnd (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:2631:16)
    at Object.parseExpression (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:200:17)
    at Object.parseReturnStatement (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:668:28)
    at Object.parseStatementContent (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:275:21)
    at Object.parseStatement (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:229:17)
    at Object.parseStatement (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/plugins/flow/index.js:1833:26)
    at Object.parseBlockOrModuleBlockBody (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:961:25)
    at Object.parseBlockBody (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:937:10)
    at Object.parseBlock (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:907:10)
    at Object.parseFunctionBody (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:2145:24)
    at Object.parseFunctionBody (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/plugins/flow/index.js:1788:20)
    at Object.parseFunctionBodyAndFinish (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:2118:10)
    at Object.parseFunctionBodyAndFinish (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/plugins/flow/index.js:1811:13)
    at /Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:1180:12
    at Object.withTopicForbiddingContext (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/expression.js:2608:14)
    at Object.parseFunction (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:1178:10)
    at Object.parseExportDefaultExpression (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:1892:19)
    at Object.parseExportDefaultExpression (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/plugins/flow/index.js:1902:20)
    at Object.parseExport (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:1803:31)
    at Object.parseExport (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/plugins/flow/index.js:2109:26)
    at Object.parseStatementContent (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:327:25)
    at Object.parseStatement (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:229:17)
    at Object.parseStatement (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/plugins/flow/index.js:1833:26)
    at Object.parseBlockOrModuleBlockBody (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:961:25)
    at Object.parseBlockBody (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:937:10)
    at Object.parseProgram (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:116:10)
    at Object.parseTopLevel (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/statement.js:101:25)
    at Object.parseTopLevel (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/plugins/flow/index.js:3208:30)
    at Object.parse (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/parser/index.js:41:10)
    at Object.parse (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@babel/parser/src/index.js:58:38)
    at parse (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/reify/lib/parsers/babel.js:49:22)
    at exports.compile (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/reify/lib/compiler.js:54:47)
    at wrap.makeCacheKey (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:89:16)
    at recomputeNewValue (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/optimism/src/entry.ts:198:31)
    at Slot.withValue (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@wry/context/lib/context.esm.js:69:29)
    at reallyRecompute (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/optimism/src/entry.ts:181:19)
    at Entry.recompute (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/optimism/src/entry.ts:91:9)
    at optimistic (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/optimism/src/index.ts:150:25)
    at DefaultHandlers.js (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:157:12)
    at DefaultHandlers.call (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:136:12)
    at ImportScanner.readModule (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:1276:44)
    at ImportScanner.readDepFile (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:1320:16)
    at /Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:1147:22
    at each (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/underscore/underscore-node-f-pre.js:1321:7)
    at ImportScanner.scanFile (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:1105:5)
    at /Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:1156:12
    at each (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/underscore/underscore-node-f-pre.js:1321:7)
    at ImportScanner.scanFile (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:1105:5)
    at /Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:1156:12
    at each (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/underscore/underscore-node-f-pre.js:1321:7)
    at ImportScanner.scanFile (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:1105:5)
    at /Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:740:14
    at Array.forEach (<anonymous>)
    at ImportScanner.scanImports (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/isobuild/tools/isobuild/import-scanner.ts:738:22)
    at /tools/isobuild/compiler-plugin.js:1381:17
    at Array.forEach (<anonymous>)
    at Function.computeJsOutputFilesMap (/tools/isobuild/compiler-plugin.js:1346:19)
    at ClientTarget._emitResources (/tools/isobuild/bundler.js:1161:8)
    at /tools/isobuild/bundler.js:864:12
    at Object.enterJob (/tools/utils/buildmessage.js:388:12)
    at ClientTarget.make (/tools/isobuild/bundler.js:852:18)
    at /tools/isobuild/bundler.js:3255:14
    at /tools/isobuild/bundler.js:3408:25
    at Array.forEach (<anonymous>)
    at /tools/isobuild/bundler.js:3362:14
    at Object.capture (/tools/utils/buildmessage.js:283:5)
    at bundle (/tools/isobuild/bundler.js:3236:31)
    at /tools/isobuild/bundler.js:3179:32
    at Slot.withValue (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/@wry/context/lib/context.esm.js:69:29)
    at Object.withCache (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/fs/tools/fs/files.ts:1662:39)
    at Object.bundle (/tools/isobuild/bundler.js:3179:16)
    at /tools/runners/run-app.js:590:24
    at Function.run (/Users/tep/.meteor/packages/meteor-tool/.2.3.1.qpz0aq.e749j++os.osx.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.x86_64/tools/tool-env/tools/tool-env/profile.ts:289:14)
    at bundleApp (/tools/runners/run-app.js:589:34)
    at AppRunner._runOnce (/tools/runners/run-app.js:636:35)
    at AppRunner._fiber (/tools/runners/run-app.js:958:28)
    at /tools/runners/run-app.js:419:12 {
  loc: Position { line: 4, column: 15 },
  pos: 148,
  code: 'BABEL_PARSER_SYNTAX_ERROR',
  reasonCode: 'UnexpectedToken'
}

Remove d3 and it is fine.

Versions:
"@babel/runtime": "^7.11.2",
"d3": "^7.0.0",
"jquery": "^3.5.1",
"meteor-node-stubs": "^1.0.1"

Issue still exists after updating npms:
"@babel/runtime": "^7.14.6",
"d3": "^7.0.0",
"jquery": "^3.6.0",
"meteor-node-stubs": "^1.0.3"

This is not an issue on Meteor 2.2!

@StorytellerCZ
Copy link
Collaborator

Is it the same as before or is it coming from a new package? Sadly the output here isn't of much help.

@StorytellerCZ
Copy link
Collaborator

StorytellerCZ commented Jul 9, 2021

Probably again this:
d3/d3-array#216

@StorytellerCZ
Copy link
Collaborator

StorytellerCZ commented Jul 9, 2021

This issue tracks it in Babel:
babel/babel#11038

@pfafman
Copy link
Author

pfafman commented Jul 9, 2021

I saw the babel issue but looks like no one has done anything in 6 months. The thing I am trying to tack down is why any version prior 20 meteor 2.2.1 works

As stated this is just the example code with d3 added in. No new package and the output is all babel gives me.

@pfafman
Copy link
Author

pfafman commented Jul 9, 2021

Any of my projects with d3 gets the same error. If someone is using d3 with meteor 2.2.1 or greater and it is working would like to know.

@StorytellerCZ
Copy link
Collaborator

🤔 I think that it could be either babel/typescript updates or maybe one of the babel related dependencies. We should probably try to play with those for now.

@pfafman
Copy link
Author

pfafman commented Jul 11, 2021

Downgrading to d3 v5 removes the error when using meteor 2.2.1 -2.3.1

Downgrading meteor to 2.2 removes the error when using d3 vs 7

Commenting out the lines in the cumsum.js file in d3 which is where the error is coming from.
or editing it to make it a little more readable:

export default function cumsum(values, valueof) {
  var sum = 0, index = 0;
  return Float64Array.from(values, (v) => {
    if (valueof === undefined) {
      (sum += +v || 0)
    } else {
      (sum += +valueof(v, index++, values) || 0)
    }
  });
}

Since the babel npm version is the same in all the above combinations I think it is how the newer versions of meteor are handing the code to babel???

@bluefangs
Copy link

I hit upon a very similar error with @amcharts/maps. Downgrading to 2.2 seems to solve the issue for now.

@derwaldgeist
Copy link

derwaldgeist commented Jul 24, 2021

Unfortunately, that affects any library that is using D3 under the hood. We’re using react-globe-gl and fell into the same trap when upgrading Meteor to 2.2.1. We didn’t want to upgrade to the latest Meteor because of potential breaking changes caused by Node 14.

@StorytellerCZ
Copy link
Collaborator

Looks like they have made another go at fixing this: babel/babel#13581

@StorytellerCZ
Copy link
Collaborator

I'm guessing it will be in Babel 7.14.9. I will update all the packages when it comes out.

@derwaldgeist
Copy link

Thanks. Any chance to get this down ported to 2.2.1? I’m hesitating to upgrade to Node 14.

@StorytellerCZ
Copy link
Collaborator

@derwaldgeist I'll look into it once the fix comes out.

StorytellerCZ added a commit that referenced this issue Aug 2, 2021
@StorytellerCZ
Copy link
Collaborator

StorytellerCZ commented Aug 2, 2021

Babel 7.14.9 is out with the fix.

@StorytellerCZ
Copy link
Collaborator

I have updated babel for 2.3.3 both in the bundle and in skeletons. I'm going to the new version now to see if it resolves the issue.

@larswolter
Copy link
Contributor

Hi, at least for me it does not solve the issue. It seems that the meteor babel-compiler package uses @meteorjs/babel wrapper with @babel/parser@7.14.3
I think this needs to be updated, or is there a way to tell the compiler to use the babel npms installed in the project?

@StorytellerCZ
Copy link
Collaborator

@larswolter Good catch! I will update that one asap!

@StorytellerCZ
Copy link
Collaborator

Even with all of that I'm still getting the error in 2.4-beta.8. Did I miss something?

@pfafman
Copy link
Author

pfafman commented Aug 3, 2021

I upgrade my test app of this (modified simple-tofod-blaze with d3 added) and I am still getting the error about the cumsum.js file but it is a little nicer error output. This was even after removing and reinstalling all the NPMs.

simple-todos-blaze$ meteor


[[[[[ ~/Projects/coWorkr/simple-todos-blaze ]]]]]

=> Started proxy.
=> Started HMR server.
=> Errors prevented startup:

   While building for web.browser:
   node_modules/d3-array/src/cumsum.js:4:15: Unexpected token (4:15)

   While building for web.browser.legacy:
   node_modules/d3-array/src/cumsum.js:4:15: Unexpected token (4:15)

=> Your application has errors. Waiting for file change.
=> Started MongoDB.

@larswolter
Copy link
Contributor

For me it also fails with the new ersion but without the nice error output. I tried to verify if the new @babel/parser fixes the problem and it does not. The error only occurs when using the babel/parser flow plugin, following is a small example to test it

import babelParser from '@babel/parser';
import fs from 'fs';

// meteor default (from Meteor babel-compiler Babel.getDefaultOptions()))
//const options = { "allowImportExportEverywhere": true, "allowReturnOutsideFunction": true, "allowUndeclaredExports": true, "plugins": ["*", "flow", "jsx", "asyncGenerators", "bigInt", "classPrivateMethods", "classPrivateProperties", "classProperties", "doExpressions", "dynamicImport", "exportDefaultFrom", "exportExtensions", "exportNamespaceFrom", "functionBind", "functionSent", "importMeta", "nullishCoalescingOperator", "numericSeparator", "objectRestSpread", "optionalCatchBinding", "optionalChaining", ["pipelineOperator", { "proposal": "minimal" }], "throwExpressions"], "sourceType": "module", "strictMode": false }

// meteor default (from Meteor babel-compiler Babel.getDefaultOptions())) without flow
//const options = { "allowImportExportEverywhere": true, "allowReturnOutsideFunction": true, "allowUndeclaredExports": true, "plugins": ["*", "jsx", "asyncGenerators", "bigInt", "classPrivateMethods", "classPrivateProperties", "classProperties", "doExpressions", "dynamicImport", "exportDefaultFrom", "exportExtensions", "exportNamespaceFrom", "functionBind", "functionSent", "importMeta", "nullishCoalescingOperator", "numericSeparator", "objectRestSpread", "optionalCatchBinding", "optionalChaining", ["pipelineOperator", { "proposal": "minimal" }], "throwExpressions"], "sourceType": "module", "strictMode": false }

// minimum failing
const options = { sourceType: 'module', plugins: ['flow'] };
const res = babelParser.parse(
  fs.readFileSync('./node_modules/d3-array/src/cumsum.js').toString(),
  options);
console.log(`Successfully parsed src`);

Using the following package.json

{
  "name": "parsercheck",
  "version": "1.0.0",
  "description": "test for d3-array compiling failure",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Lars Wolter",
  "license": "ISC",
  "dependencies": {
    "@babel/parser": "^7.14.9",
    "d3-array": "^3.0.1"
  }
}

@larswolter
Copy link
Contributor

The according issue in Babel babel/babel#13644

@nicolo-ribaudo
Copy link

PR to fix this: babel/babel#13655

@StorytellerCZ
Copy link
Collaborator

@nicolo-ribaudo thanks for finding the new PR. I'll be watching it and update dependencies accordingly once it is merged.

@nachocodoner
Copy link
Member

Grettings @StorytellerCZ!

Great that the fix is coming! 😄 We have faced this issue on a large app that uses d3 as well. Anyway, is there a way to force babel/parser version on an existing meteor version for development purposes? Or do we need to wait for the next release?

@nicolo-ribaudo
Copy link

If you are using Yarn, you can add this to your package.json:

"resolutions": {
  "@babel/parser": "1.2.3"
}

where 1.2.3 is a known working version.

@nachocodoner
Copy link
Member

@nicolo-ribaudo Thank you! I used this on the past and worked well.

However, I think the issue mentioned in this thread is related with meteor infrastructure to bundle and the usage of @babel/parser is on the framework level, and if I am not mistaken it is used on several Meteor transpiler libaries and wrappers on the core, like reify, meteor-babel, and maybe others I am not aware of.

So my question is more around how we can relace on-fly the definitions of these libraries on Meteor level if possible. I don't think we have a way to use NPM resolutions straight on Meteor core since NPM packages are described behind the definitions of athmosphere packages and these don't support resolutions. I can only think on use a custom Meteor, and fork all libraries using @babel/parser to tweak properly the working version when available. Asking just in case there is a known way on the Meteor development that I am missing.

Anyway, I will wait for the next patch version when ready. 😄

@StorytellerCZ
Copy link
Collaborator

It is as @Gywem says. I'm watching babel daily to for new versions and will update them for each beta until we get the fix.

@nicolo-ribaudo
Copy link

Released! https://github.com/babel/babel/releases/tag/v7.15.3

@StorytellerCZ
Copy link
Collaborator

@nicolo-ribaudo I will make a new 2.4 beta with the new version straight away.

@nachocodoner
Copy link
Member

@StorytellerCZ: Can we get a patch on 2.3.x? Or should we upgrade straight to 2.4?

@StorytellerCZ
Copy link
Collaborator

@Gywem we'll test on 2.4 beta and then I'll look into backporting it to 2.3. There will be a new version anyhow today or tomorrow due to Node security release.

@StorytellerCZ StorytellerCZ linked a pull request Aug 11, 2021 that will close this issue
4 tasks
@derwaldgeist
Copy link

Any chance to downport to 2.2.1 as well? We're still on this version, since 2.3 brought a new major Node release.

@StorytellerCZ
Copy link
Collaborator

@derwaldgeist since Node 12.x is also getting a security release I will release 2.2.3 which will include these fixes as well, but 2.3.5 will have priority.

@derwaldgeist
Copy link

Awesome, thanks!

@StorytellerCZ StorytellerCZ linked a pull request Aug 11, 2021 that will close this issue
@larswolter
Copy link
Contributor

2.3.5-beta.0 solved it for me. Thanks for the quick fix and backporting!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants