Skip to content

Flow property declarations are not removed #7233

@nicolo-ribaudo

Description

@nicolo-ribaudo

Input Code

https://github.com/babel/babel/blob/master/packages/babylon/src/parser/lval.js

export default class LValParser extends NodeUtils {
  // Forward-declaration: defined in expression.js
  +checkReservedWord: (
    word: string,
    startLoc: number,
    checkKeywords: boolean,
    isBinding: boolean,
  ) => void;
  +parseIdentifier: (liberal?: boolean) => Identifier;
  +parseMaybeAssign: (
    noIn?: ?boolean,
    refShorthandDefaultPos?: ?Pos,
    afterLeftParse?: Function,
    refNeedsArrowPos?: ?Pos,
  ) => Expression;
  +parseObj: <T: ObjectPattern | ObjectExpression>(
    isPattern: boolean,
    refShorthandDefaultPos?: ?Pos,
  ) => T;
  // Forward-declaration: defined in statement.js
  +parseDecorator: () => Decorator;

  // ...

Babel/Babylon Configuration (.babelrc, package.json, cli command)

https://github.com/babel/babel/blob/master/.babelrc.js

const config = {
  comments: false,
  presets: [
    ["@babel/env", envOpts],
    "@babel/flow"
  ],
  plugins: [
    ["@babel/proposal-class-properties", { loose: true }],
    "@babel/proposal-export-namespace-from",
    "@babel/proposal-numeric-separator",
    ["@babel/proposal-object-rest-spread", { useBuiltIns: true }],
  ]
};

Expected Behavior

function LValParser() {
  return _NodeUtils.apply(this, arguments) || this;
}

Current Behavior

function LValParser() {
  var _temp, _this;

  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
    args[_key] = arguments[_key];
  }

  return (
    ((_temp = _this =
      _NodeUtils.call.apply(_NodeUtils, [this].concat(args)) || this),
    (_this.checkReservedWord = void 0),
    (_this.parseIdentifier = void 0),
    (_this.parseMaybeAssign = void 0),
    (_this.parseObj = void 0),
    (_this.parseDecorator = void 0),
    _temp) || _assertThisInitialized(_this)
  );
}

Context

I was trying to build Babylon with gulp

Metadata

Metadata

Assignees

No one assigned

    Labels

    Spec: Class Fieldsarea: flowoutdatedA closed issue/PR that is archived due to age. Recommended to make a new issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions