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