Package Exports
- babel-plugin-syntax-trailing-function-commas
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-syntax-trailing-function-commas) 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-syntax-trailing-function-commas
Compile trailing function commas to ES5
function clownPuppiesEverywhere(
param1,
param2,
) { /* ... */ }
clownPuppiesEverywhere(
'foo',
'bar',
);
Example
Basic
This is an example from the Proposal.
Let's say you have this function:
function clownPuppiesEverywhere(
param1,
param2
) { /* ... */ }
clownPuppiesEverywhere(
'foo',
'bar'
);
If you want to have a new parameter called param3
, the diff output would be like that:
function clownPuppiesEverywhere(
param1,
- param2
+ param2, // Change this line to add a comma
+ param3 // Add param3
) { /* ... */ }
clownPuppiesEverywhere(
'foo',
- 'bar'
+ 'bar', // Change this line to add a comma
+ 'baz' // Add param3
);
In total, you have to change 2 lines for the function declaration and 2 lines for each usage.
If you had your function defined with trailing commas:
function clownPuppiesEverywhere(
param1,
param2,
) { /* ... */ }
clownPuppiesEverywhere(
'foo',
'bar',
);
Adding a new parameter would only change one line in the function declaration and one line for each usage:
function clownPuppiesEverywhere(
param1,
param2,
+ param3, // Add param3
) { /* ... */ }
clownPuppiesEverywhere(
'foo',
'bar',
+ 'baz', // Add param3
);
In the end, your diff output will be cleaner and easier to read, it would be much quicker to add a new parameter to your functions, it also makes it easier to copy paste elements and move code around.
Installation
npm install --save-dev babel-plugin-syntax-trailing-function-commas
Usage
Via .babelrc
(Recommended)
.babelrc
{
"plugins": ["syntax-trailing-function-commas"]
}
Via CLI
babel --plugins syntax-trailing-function-commas script.js
Via Node API
require("babel-core").transform("code", {
plugins: ["syntax-trailing-function-commas"]
});