Skip to content

Commit

Permalink
Merge c7919f0 into 849c1b6
Browse files Browse the repository at this point in the history
  • Loading branch information
RyanZim committed Mar 2, 2017
2 parents 849c1b6 + c7919f0 commit 99941bb
Showing 1 changed file with 36 additions and 5 deletions.
41 changes: 36 additions & 5 deletions bin/cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,53 @@
/**
* Dependencies
*/
const path = require('path');
const chalk = require('chalk');
const argv = require('yargs').argv;
const replace = require('../lib/replace-in-file');

//Verify arguments
if (argv._.length < 3) {
if (argv._.length < 3 && !argv.config) {
console.error(chalk.red('Replace in file needs at least 3 arguments'));
process.exit(1);
}

//Collect main arguments
let from = argv._.shift();
const to = argv._.shift();
let from;
let to;
let files;

// If --config is set, load config file
if (argv.config) {
//Read config file
let config;
try {
config = require(path.join(process.cwd(), argv.config));
}
catch (e) {
console.error(chalk.red('Cannot load config file'));
process.exit(1);
}
from = config.from;
to = config.to;
if (typeof config.files === 'string') config.files = [config.files];
files = config.files;
}

if (!from) from = argv._.shift();
if (!to) to = argv._.shift();
if (!files) files = argv._;

if (!from || !to) {
console.error(chalk.red('Must set from & to options'));
process.exit(1);
}
if (!files) {
console.error(chalk.red('Must pass a list of files'));
process.exit(1);
}

//Single star globs already get expanded in the command line
const files = argv._.reduce((files, file) => {
files = files.reduce((files, file) => {
return files.concat(file.split(','));
}, []);

Expand Down

0 comments on commit 99941bb

Please sign in to comment.