babel-plugin-stats-about-using-chain-methods
v1.1.16
Published
The plugin collects stats info about using chain methods in the code
Downloads
65
Maintainers
Readme
babel-plugin-stats-about-using-chain-methods
The plugin collects stats info about using chains of methods calls in the code
Install
Using npm:
npm install --save-dev babel-plugin-stats-about-using-chain-methods
or using yarn:
yarn add -D babel-plugin-stats-about-using-chain-methods
Options
chainMethods
Array of method names to collect usage statistics about.
By default it is equal to:
[
'entries', 'every', 'filter', 'find', 'flat', 'flatMap', 'forEach',
'includes', 'indexOf', 'join', 'keys', 'map', 'reduce', 'reverse',
'slice', 'some', 'sort', 'splice', 'trim', 'values'
]
Configure
Attention!
To collect statistics correctly, the plugin must be the last in the list of registered plugins in babel config.
Simple configuration
babel.config.js
module.exports = {
plugins: ['babel-plugin-stats-about-using-chain-methods'],
};
Configuration with extending default methods list
const { default: plugin, defaultChainMethods } = require('babel-plugin-stats-about-using-chain-methods');
module.exports = {
plugins: [
[
plugin,
{
chainMethods: [
'sort',
'pop',
'unshift',
// list of default methods
...defaultChainMethods,
],
},
],
],
};
Configuration with custom methods list
module.exports = {
plugins: [
[
'babel-plugin-stats-about-using-chain-method',
{
chainMethods: ['enties', 'values', 'keys'],
},
],
],
};
Output processed file name
module.exports = {
plugins: [
[
'babel-plugin-stats-about-using-chain-methods',
{
printFileName: true,
},
],
],
};
Analyze code
Run the command
babel <path to the module>
The output will contain an object with statistics on the use of call chains from the specified methods in the form of an object
Example output
{
forEach: 139,
join: 122,
map: 121,
reduce: 44,
filter: 43,
'filter.map': 7,
'filter.join': 4,
'filter.reduce': 4,
'filter.forEach': 1,
'filter.map.join': 1
'map.join': 26,
'map.filter.join': 2,
'map.join.trim': 2,
'map.forEach': 1,
'map.reduce': 1,
'map.map': 1,
'join.trim': 3,
}
Wishes
Feel free to write your suggestions on other types of statistics: what kind of information about the code would be interesting to you.