123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #!/usr/bin/env node
- 'use strict';
- var pkg = require('./package.json');
- var wiredep = require('./wiredep');
- var argv = require('minimist')(process.argv.slice(2));
- var chalk = require('chalk');
- var fs = require('fs');
- var args = [
- { short: 'h', full: 'help' },
- { short: 'v', full: 'version' },
- { short: 'b', full: 'bowerJson' },
- { short: 'd', full: 'directory' },
- { short: 'e', full: 'exclude' },
- { short: 'i', full: 'ignorePath' },
- { short: 's', full: 'src' }
- ];
- function help() {
- console.log(pkg.description);
- console.log('');
- console.log('Usage: ' + chalk.cyan('$') + chalk.bold(' wiredep ') + chalk.yellow('[options]'));
- console.log('');
- console.log('Options:');
- console.log(' -h, --help # Print usage information');
- console.log(' -v, --version # Print the version');
- console.log(' -b, --bowerJson # Path to `bower.json`');
- console.log(' -d, --directory # Your Bower directory');
- console.log(' -e, --exclude # A path to be excluded');
- console.log(' -i, --ignorePath # A path to be ignored');
- console.log(' -s, --src # Path to your source file');
- console.log(' --dependencies # Include Bower `dependencies`');
- console.log(' --devDependencies # Include Bower `devDependencies`');
- console.log(' --includeSelf # Include top-level `main` files');
- console.log(' --verbose # Print the results of `wiredep`');
- }
- if (argv.v || argv.version) {
- console.log(pkg.version);
- return;
- }
- if (argv.h || argv.help || Object.keys(argv).length === 1) {
- help();
- return;
- }
- if (!argv.s && !argv.src) {
- console.log(chalk.bold.red('> Source file not specified.'));
- console.log('Please pass a `--src path/to/source.html` to `wiredep`.');
- return;
- }
- if (argv.b || argv.bowerJson) {
- try {
- argv.bowerJson = JSON.parse(fs.readFileSync(argv.b || argv.bowerJson));
- } catch (e) {}
- }
- try {
- if (!argv.bowerJson) {
- fs.statSync('./bower.json');
- }
- } catch (e) {
- console.log(chalk.bold.red('> bower.json not found.'));
- console.log('Please run `wiredep` from the directory where your `bower.json` file is located.');
- console.log('Alternatively, pass a `--bowerJson path/to/bower.json`.');
- return;
- }
- var results = wiredep(Object.keys(argv).reduce(function (acc, arg) {
- args.filter(function (argObj) {
- if (argObj.short === arg) {
- acc[argObj.full] = argv[arg];
- delete acc[arg];
- }
- });
- return acc;
- }, argv));
- if (argv.verbose) {
- console.log(results);
- }
|