Refactor eslint commands

Note: Possibly the noise can be reduced if the dependency is managed on
the repository (the main `package.json` file) instead of in a package.
This commit is contained in:
Alberto Maturano 2018-09-12 16:28:52 -05:00
parent 6631054af0
commit 8485a12400

View File

@ -6,20 +6,21 @@ const glob = require('glob');
const fs = require('fs');
const listChangedFiles = require('../packages/strapi-lint/lib/internals/shared/listChangedFiles.js');
const changedFiles = listChangedFiles();
const { includes, take } = require('lodash');
const { includes, take, template } = require('lodash');
const frontCmd =
'node ../../node_modules/strapi-lint/node_modules/.bin/eslint --ignore-path .gitignore --ignore-pattern \'/admin/build/\' --config ../../node_modules/strapi-lint/lib/internals/eslint/front/.eslintrc.json admin';
const helperCmd =
'node ../../node_modules/strapi-lint/node_modules/.bin/eslint --ignore-path .gitignore --ignore-pattern \'/admin/build/\' --config ../../node_modules/strapi-lint/lib/internals/eslint/front/.eslintrc.json lib/src';
const backCmd =
'node ../../node_modules/strapi-lint/node_modules/.bin/eslint --ignore-path .gitignore --ignore-pattern \'/admin\' --config ../../node_modules/strapi-lint/lib/internals/eslint/back/.eslintrc.json controllers config services bin lib';
const cmdEslint = template(
"node ../../node_modules/strapi-lint/node_modules/.bin/eslint --ignore-path .gitignore --ignore-pattern '${ignore}'"
+ ' --config ../../node_modules/strapi-lint/lib/internals/eslint/${conf}/.eslintrc.json ${params}'
);
const cmdFront = cmdEslint({ ignore: '/admin/build/', conf: 'front', params: 'admin' });
const cmdHelper = cmdEslint({ ignore: '/admin/build/', conf: 'front', params: 'lib/src' });
const cmdBack = cmdEslint({ ignore: '/admin', conf: 'back', params: 'controllers config services bin lib' });
const watcher = (label, pckgName, type = 'front') => {
shell.echo(label);
shell.cd(pckgName);
const cmd = includes(pckgName, 'strapi-helper-plugin') ? helperCmd : `${frontCmd} && ${backCmd}`;
const cmd = includes(pckgName, 'strapi-helper-plugin') ? cmdHelper : `${cmdFront} && ${cmdBack}`;
const data = shell.exec(cmd, { silent: true });
shell.echo(chalk(eslintErrorsFormatter(data.stdout)));
@ -56,4 +57,4 @@ files
.filter((directory, index) => files.indexOf(directory) === index)
.forEach(package => {
watcher(`Testing ${package}`, package);
});
});