Sha256: cf813ebad4e0a1b4c0bb271a78a7c574f975c10009f5d7c9a0a5b7cf61bc0bcc

Contents?: true

Size: 1.51 KB

Versions: 62

Compression:

Stored size: 1.51 KB

Contents

var Project = require('../core/Project');
var open = require('opn');
var endpointParser = require('bower-endpoint-parser');
var createError = require('../util/createError');
var defaultConfig = require('../config');

function home(logger, name, config) {
    var project;
    var promise;
    var decEndpoint;

    config = defaultConfig(config);
    project = new Project(config, logger);

    // Get the package meta
    // If no name is specified, read the project json
    // If a name is specified, fetch from the package repository
    if (!name) {
        promise = project.hasJson()
        .then(function (json) {
            if (!json) {
                throw createError('You are not inside a package', 'ENOENT');
            }

            return project.getJson();
        });
    } else {
        decEndpoint = endpointParser.decompose(name);
        promise = project.getPackageRepository().fetch(decEndpoint)
        .spread(function (canonicalDir, pkgMeta) {
            return pkgMeta;
        });
    }

    // Get homepage and open it
    return promise.then(function (pkgMeta) {
        var homepage = pkgMeta.homepage;

        if (!homepage) {
            throw createError('No homepage set for ' + pkgMeta.name, 'ENOHOME');
        }

        open(homepage);
        return homepage;
    });
}

// -------------------

home.readOptions = function (argv) {
    var cli = require('../util/cli');
    var options = cli.readOptions(argv);
    var name = options.argv.remain[1];

    return [name];
};

module.exports = home;

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
trusty-festivity-extension-2.6.3 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.6.2 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.6.1 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.6 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.19 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.18 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.17 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.16 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.15 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.14 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.13 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.12 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.11 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.10 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.9 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.8 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.7 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.6 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.5 node_modules/bower/lib/commands/home.js
trusty-festivity-extension-2.5.4 node_modules/bower/lib/commands/home.js