Package Exports
- babel-plugin-const-enum
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (babel-plugin-const-enum) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
babel-plugin-const-enum
Transform TypeScript
constenums
Install
Using npm:
npm install --save-dev babel-plugin-const-enumor using yarn:
yarn add babel-plugin-const-enum --devUsage
removeConst (default)
Removes the const keyword to use regular enum.
Can be used in a slower dev build to allow const, while prod still uses tsc.
See babel#6476.
// Before:
const enum MyEnum {
A = 1,
B = A,
C,
D = C,
E = 1,
F,
G = A * E,
H = A ** B ** C,
I = A << 20
}
// After:
enum MyEnum {
A = 1,
B = A,
C,
D = C,
E = 1,
F,
G = A * E,
H = A ** B ** C,
I = A << 20
}.babelrc
{
"plugins": [
"const-enum"
]
}Or Explicitly:
.babelrc
{
"plugins": [
[
"const-enum",
{
"transform": "removeConst"
}
]
]
}constObject
Transforms into a const object literal.
Can be further compressed using Uglify/Terser to inline enum access.
See babel#8741.
// Before:
const enum MyEnum {
A = 1,
B = A,
C,
D = C,
E = 1,
F,
G = A * E,
H = A ** B ** C,
I = A << 20
}
// After:
const MyEnum = {
A: 1,
B: 1,
C: 2,
D: 2,
E: 1,
F: 2,
G: 1,
H: 1,
I: 1048576
};.babelrc
{
"plugins": [
[
"const-enum",
{
"transform": "constObject"
}
]
]
}