Skip to content

Crash on optional chaining #110

@mysticatea

Description

@mysticatea

Some queries crash on optional chaining.

Repro code:

  • Node 12.12.0
  • acorn@7.3.1
  • esquery@1.3.1
const acorn = require("acorn")
const esquery = require("esquery")

const ast = acorn.parse("a?.b", { ecmaVersion: 2020 })
console.log(esquery(ast, ":nth-child(1)"))

Error:

TypeError: Cannot read property 'length' of undefined
    at f (C:\Users\t-nagashima.AD\dev\sandbox\node_modules\esquery\dist\esquery.min.js:1:32431)
    at l (C:\Users\t-nagashima.AD\dev\sandbox\node_modules\esquery\dist\esquery.min.js:1:30995)
    at f.enter (C:\Users\t-nagashima.AD\dev\sandbox\node_modules\esquery\dist\esquery.min.js:1:32935)
    at f.__execute (C:\Users\t-nagashima.AD\dev\sandbox\node_modules\esquery\dist\esquery.min.js:1:8604)
    at f.traverse (C:\Users\t-nagashima.AD\dev\sandbox\node_modules\esquery\dist\esquery.min.js:1:9487)
    at Object.y [as traverse] (C:\Users\t-nagashima.AD\dev\sandbox\node_modules\esquery\dist\esquery.min.js:1:2490)
    at h (C:\Users\t-nagashima.AD\dev\sandbox\node_modules\esquery\dist\esquery.min.js:1:32878)
    at d (C:\Users\t-nagashima.AD\dev\sandbox\node_modules\esquery\dist\esquery.min.js:1:33189)
    at m (C:\Users\t-nagashima.AD\dev\sandbox\node_modules\esquery\dist\esquery.min.js:1:33278)

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