babel-plugin-minify-constant-folding

Tries to evaluate expressions and inline the result.

MIT 81 个版本
安装
npm install babel-plugin-minify-constant-folding
yarn add babel-plugin-minify-constant-folding
pnpm add babel-plugin-minify-constant-folding
bun add babel-plugin-minify-constant-folding
README

babel-plugin-minify-constant-folding

Tries to evaluate expressions and inline the result.

Example

In

"a" + "b"
2 * 3;
4 | 3;
"b" + a + "c" + "d" + g + z + "f" + "h" + "i"

[a, b, c].concat([d, e], f, g, [h]);
["a", "b", "c"].join();
["a", "b", "c"].join('@');
[1, 2, 3].length;
[1, 2, 3][1];
[1, 2, 3].shift();
[1, 2, 3].slice(0, 2);
[a, b, c].pop();
[a, b, c].reverse();
"a,b,c".split(",");
"abc"[0];
"abc".charAt();
"abc".charAt(1);
"abc".length;

Out

"ab";
6;
7;
"b" + a + "cd" + g + z + "fhi";

[a, b, c, d, e, f, g, h];
"a,b,c";
"a@b@c";
3;
2;
2;
[1, 2];
c;
[c, b, a];
["a", "b", "c"];
"a";
"a";
"a";
"b";
3;

Installation

npm install babel-plugin-minify-constant-folding --save-dev

Usage

.babelrc

{
  "plugins": ["minify-constant-folding"]
}

Via CLI

babel --plugins minify-constant-folding script.js

Via Node API

require("@babel/core").transform("code", {
  plugins: ["minify-constant-folding"]
});

Options

  • tdz - Account for TDZ (Temporal Dead Zone)
版本列表
0.5.0-alpha.9 2018-09-23
0.5.0 2018-09-24
0.4.3 2018-05-14
0.4.2 2018-05-14
0.4.1 2018-05-03
0.4.0 2018-04-08
0.3.0 2018-01-31
0.2.0 2017-08-14
0.1.3 2017-06-20
0.1.2 2017-06-13
0.1.1 2017-05-22
0.1.0 2017-05-22
0.0.4 2017-02-08
0.0.3 2016-11-18
0.0.1 2016-08-26