* Lint against CJS globals in modules * Use `import.meta.url` instead of `__filename` in `src` files * Prepare fixtures runner for `import.meta.url` * Use `import.meta.url` instead of `__filename` in `test/index` files * Remove `__dirname` from remaining test files dirname * Avoid using `module` in `src` files * Avoid using `require` in `src` files * Avoid using `require` in `test` files * Update `@types/node` * Compile dynamic import in `@babel/node` * Fix windows * Use `@babel/plugin-proposal-dynamic-import` from npm
@babel/plugin-codemod-optional-catch-binding
If the argument bound to the catch block is not referenced in the catch block, that argument and the catch binding is removed.
Examples
try {
throw 0;
} catch (err) {
console.log("it failed, but this code executes");
}
Is transformed to:
try {
throw 0;
} catch {
console.log("it failed, but this code executes");
}
Installation
npm install --save-dev @babel/plugin-codemod-optional-catch-binding
Usage
Via .babelrc (Recommended)
.babelrc
{
"plugins": ["@babel/plugin-codemod-optional-catch-binding"]
}
Via CLI
babel --plugins @babel/plugin-codemod-optional-catch-binding script.js
Via Node API
require("@babel/core").transform("code", {
plugins: ["@babel/plugin-codemod-optional-catch-binding"]
});
References
This codemod updates your source code in line with the following proposal: