| 
						 | 
						- #!/usr/bin/env node
 - 
 - const assign = require('object.assign');
 - const entries = require('object.entries');
 - const { ESLint } = require('eslint');
 - 
 - const baseConfig = require('.');
 - const whitespaceRules = require('./whitespaceRules');
 - 
 - const severities = ['off', 'warn', 'error'];
 - 
 - function getSeverity(ruleConfig) {
 -   if (Array.isArray(ruleConfig)) {
 -     return getSeverity(ruleConfig[0]);
 -   }
 -   if (typeof ruleConfig === 'number') {
 -     return severities[ruleConfig];
 -   }
 -   return ruleConfig;
 - }
 - 
 - async function onlyErrorOnRules(rulesToError, config) {
 -   const errorsOnly = assign({}, config);
 -   const cli = new ESLint({
 -     useEslintrc: false,
 -     baseConfig: config
 -   });
 -   const baseRules = (await cli.calculateConfigForFile(require.resolve('./'))).rules;
 - 
 -   entries(baseRules).forEach((rule) => {
 -     const ruleName = rule[0];
 -     const ruleConfig = rule[1];
 -     const severity = getSeverity(ruleConfig);
 - 
 -     if (rulesToError.indexOf(ruleName) === -1 && severity === 'error') {
 -       if (Array.isArray(ruleConfig)) {
 -         errorsOnly.rules[ruleName] = ['warn'].concat(ruleConfig.slice(1));
 -       } else if (typeof ruleConfig === 'number') {
 -         errorsOnly.rules[ruleName] = 1;
 -       } else {
 -         errorsOnly.rules[ruleName] = 'warn';
 -       }
 -     }
 -   });
 - 
 -   return errorsOnly;
 - }
 - 
 - onlyErrorOnRules(whitespaceRules, baseConfig).then((config) => console.log(JSON.stringify(config)));
 
 
  |