function isModuleExportsExpression()

in src/debugAdapter/configurationReader.ts [274:296]


  function isModuleExportsExpression(nodeType: string, node: ESTree.Node): boolean {
    if (nodeType !== 'ExpressionStatement') {
      return false;
    }

    node = node as ESTree.ExpressionStatement;

    if (
      node.expression.type === 'AssignmentExpression' &&
      node.expression.left.type === 'MemberExpression' &&
      node.expression.left.object.type === 'Identifier' &&
      node.expression.left.object.name === 'module'
    ) {
      if (
        (node.expression.left.property.type === 'Identifier' && node.expression.left.property.name === 'exports') ||
        (node.expression.left.property.type === 'Literal' && node.expression.left.property.value === 'module')
      ) {
        return true;
      }
    }

    return false;
  }