* 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-object-assign-to-object-spread
Transforms old code that uses Object.assign with an Object Literal as
the first param to use Object Spread syntax.
Examples
const obj = Object.assign({
test1: 1,
}, other, {
test2: 2,
}, other2);
Is transformed to:
const obj = {
test1: 1,
...other,
test2: 2,
...other2,
};
Installation
npm install --save-dev @babel/plugin-codemod-object-assign-to-object-spread
Usage
Via .babelrc (Recommended)
.babelrc
{
"plugins": ["@babel/plugin-codemod-object-assign-to-object-spread"]
}
Via CLI
babel --plugins @babel/plugin-codemod-object-assign-to-object-spread script.js
Via Node API
require("@babel/core").transform("code", {
plugins: ["@babel/plugin-codemod-object-assign-to-object-spread"]
});