Skip to content

expression.callee is undefined when evaluating custom decorators #121

@wassim-ben-amor

Description

@wassim-ben-amor

Hello, when using the linter, I have an error exactly here:
https://github.com/stencil-community/stencil-eslint/blob/506dba7a5e430da4cfabe96b8e1b1cb31fe07699/src/utils.ts#L50

When debugging the linter run, I have found that dec.expression.callee is undefined. The name of the decorator is situated directly on dec.expression. This issue is happening when using the decorator in this way:

@BindToInstance
  async onApply(
  ... 

instead of

@BindToInstance()
  async onApply(
  ... 

Do you agree to change it to:

function decoratorName(dec) {
  if (!dec.expression) return undefined;
  const { callee, name } = dec.expression;
  return callee ? callee.name : name;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Help WantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions