Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

nullish coalescence in js leads to error #1970

Open
starsolaris opened this issue Dec 13, 2020 · 2 comments
Open

nullish coalescence in js leads to error #1970

starsolaris opened this issue Dec 13, 2020 · 2 comments

Comments

@starsolaris
Copy link
Contributor

fuse-box 4.0.0-next.447
next code in js:

return item ?? null;

lead to:

⚠️  Error while parsing module g:\source\git\modules\solid\node_modules\vis-data\esnext\esm\vis-data.js
        ' SyntaxError: [1239:30]: Unexpected token: '?'
    at report (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:188:13)
    at parsePrimaryExpression (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:4113:15)
    at parseExpression (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:3542:18)
    at parseConditionalExpression (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:3615:26)
    at parseAssignmentExpression (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:3591:18)
    at parseExpression (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:3544:14)
    at parseExpressions (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:3557:20)
    at parseReturnStatement (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:2696:13)
    at parseStatement (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:2609:22)
    at parseStatementListItem (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:2601:22)
    at parseBlock (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:2682:21)
    at parseStatement (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:2623:22)
    at parseConsequentOrAlternative (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:2827:13)
    at parseIfStatement (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:2810:26)
    at parseStatement (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:2611:22)
    at parseStatementListItem (g:\source\git\modules\solid\node_modules\meriyah\dist\meriyah.umd.js:2601:22)
@starsolaris starsolaris changed the title nullish coalescence in js lead to error nullish coalescence in js leads to error Dec 13, 2020
@charsleysa
Copy link
Contributor

@starsolaris can you please create a minimal reproduction?

@starsolaris
Copy link
Contributor Author

@charsleysa i rechecked this issue, and found that scenario is more complex:

package.json

{
  "name": "3",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "build": "ts-node -T fuse build"
  },  
  "dependencies": {
    "fuse-box": "4.0.0-next.447",
    "ts-node": "^9.1.1",
    "typescript": "^4.1.3"
  }
}

test.ts

import {b} from "accepts/a";

console.log(b);

a.js

function b() {
	return item ?? null;
}
export {b};

copy a.js to some module in node_modules (ex: accepts/a.js)
run with start entry test.ts:

 ⚠️  Error while parsing module g:\source\git\modules\3\node_modules\accepts\a.js
        ' SyntaxError: [2:15]: Unexpected token: '?'
    at report (g:\source\git\modules\3\node_modules\meriyah\dist\meriyah.umd.js:188:13)
    at parsePrimaryExpression (g:\source\git\modules\3\node_modules\meriyah\dist\meriyah.umd.js:4113:15)
    at parseExpression (g:\source\git\modules\3\node_modules\meriyah\dist\meriyah.umd.js:3542:18)
    at parseConditionalExpression (g:\source\git\modules\3\node_modules\meriyah\dist\meriyah.umd.js:3615:26)
    at parseAssignmentExpression (g:\source\git\modules\3\node_modules\meriyah\dist\meriyah.umd.js:3591:18)
    at parseExpression (g:\source\git\modules\3\node_modules\meriyah\dist\meriyah.umd.js:3544:14)
    at parseExpressions (g:\source\git\modules\3\node_modules\meriyah\dist\meriyah.umd.js:3557:20)
    at parseReturnStatement (g:\source\git\modules\3\node_modules\meriyah\dist\meriyah.umd.js:2696:13)
    at parseStatement (g:\source\git\modules\3\node_modules\meriyah\dist\meriyah.umd.js:2609:22)
    at parseStatementListItem (g:\source\git\modules\3\node_modules\meriyah\dist\meriyah.umd.js:2601:22)

if i import a.js from local directory:
test,ts

import {b} from "./a";

console.log(b);

then build completed without errors

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

No branches or pull requests

2 participants