Skip to content

Update to new Acorn to allow undefined #1

Description

@adamnovak

It seems that undefined is now allowed in newer language versions (like ES6 and ES7 I think), but conditionalify won't work when user code uses undefined.

Here's a stack trace from the gulp build I am trying to use conditionalify in:

SyntaxError: The keyword 'undefined' is reserved (223:18) while parsing file: /cluster/home/anovak/build/sequenceTubeMap/frontend/app/scripts/tubemap.js
    at Parser.pp.raise (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:943:13)
    at Parser.pp.parseIdent (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:665:203)
    at Parser.pp.parseExprAtom (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:276:21)
    at Parser.pp.parseExprSubscripts (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:216:19)
    at Parser.pp.parseMaybeUnary (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:197:19)
    at Parser.pp.parseExprOp (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:173:42)
    at Parser.pp.parseExprOps (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:153:15)
    at Parser.pp.parseMaybeConditional (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:133:19)
    at Parser.pp.parseMaybeAssign (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:110:19)
    at Parser.pp.parseExpression (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:86:19)
    at Parser.pp.parseParenExpression (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:341:18)
    at Parser.pp.parseIfStatement (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:1835:20)
    at Parser.pp.parseStatement (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:1714:19)
    at Parser.pp.parseBlock (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:1987:21)
    at Parser.pp.parseStatement (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:1732:19)
    at Parser.pp.parseIfStatement (/cluster/home/anovak/build/sequenceTubeMap/frontend/node_modules/conditionalify/node_modules/acorn/dist/acorn.js:1836:26)

I think this can be fixed by updating Acorn; see acornjs/acorn#383

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions