Skip to content

expression.callee is undefined when evaluating custom decorators #121

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