babel-plugin-private-underscores icon indicating copy to clipboard operation
babel-plugin-private-underscores copied to clipboard

Make _classMembers 'private' using symbols

trafficstars

babel-plugin-private-underscores

Make _classMembers 'private' using symbols

Install

yarn add --dev babel-plugin-private-underscores

Example

Input

class Foo {
  constructor() {
    this._method();
  }

  _method() {
    // ...
  }
}

Output

let _method = Symbol('_method');
class Foo {
  constructor() {
    this[_method]();
  }

  [_method]() {
    // ...
  }
}

Usage

{
  "plugins": [
    "private-underscores"
  ]
}

Note: This is not real private, it just makes it a lot harder for people to accidentally use methods with underscores.