babel-plugin-transform-remove-undefined

This removes rvals that are equivalent to undefined wherever possible

Usage no npm install needed!

<script type="module">
  import babelPluginTransformRemoveUndefined from 'https://cdn.skypack.dev/babel-plugin-transform-remove-undefined';
</script>

README

babel-plugin-transform-remove-undefined

For variable assignments, this removes rvals that evaluate to undefined (vars in functions only). For functions, this removes return arguments that evaluate to undefined.

Example

In

let a = void 0;
function foo() {
  var b = undefined;
  return undefined;
}

Out

let a;
function foo() {
  var b;
  return;
}

Installation

npm install babel-plugin-transform-remove-undefined --save-dev

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["babel-plugin-transform-remove-undefined"]
}

Via CLI

babel --plugins babel-plugin-transform-remove-undefined script.js

Via Node API

require("@babel/core").transform("code", {
  plugins: ["babel-plugin-transform-remove-undefined"]
});

Options

  • tdz - Detect usages before declaration/initialization in let/const(throws) and var(void 0)