UNPKG

jgb-cli

Version:

```shell npm i -g jgb-cli #全局安装 ```

84 lines 5.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var fs = require("fs"); var path = require("path"); var metadata = require("read-metadata"); var validateName = require("validate-npm-package-name"); var git_user_1 = require("./git-user"); function default_1(name, dir) { var opts = getMetadata(dir); setDefault(opts, 'name', name); setValidateName(opts); var author = git_user_1.default(); if (author) { setDefault(opts, 'author', author); } return opts; } exports.default = default_1; /** * Gets the metadata from either a meta.json or meta.js file. * * @param {String} dir * @return {Object} */ function getMetadata(dir) { var json = path.join(dir, 'meta.json'); var js = path.join(dir, 'meta.js'); var opts = {}; opts.status = true; if (fs.existsSync(json)) { opts = metadata.sync(json); } else if (fs.existsSync(js)) { var req = require(path.resolve(js)); if (req !== Object(req)) { throw new Error('meta.js needs to expose an object'); } opts = req; } else { opts.status = false; } return opts; } /** * Set the default value for a prompt question * * @param {Object} opts * @param {String} key * @param {String} val */ function setDefault(opts, key, val) { if (opts.schema) { opts.prompts = opts.schema; delete opts.schema; } var prompts = opts.prompts || (opts.prompts = {}); if (!prompts[key] || typeof prompts[key] !== 'object') { prompts[key] = { type: 'string', default: val }; } else { prompts[key].default = val; } } function setValidateName(opts) { var name = opts.prompts.name; var customValidate = name.validate; // tslint:disable-next-line:no-shadowed-variable name.validate = function (name) { var its = validateName(name); if (!its.validForNewPackages) { var errors = (its.errors || []).concat(its.warnings || []); return 'Sorry, ' + errors.join(' and ') + '.'; } if (typeof customValidate === 'function') { return customValidate(name); } return true; }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUJBQTBCO0FBQzFCLDJCQUE4QjtBQUM5Qix3Q0FBMkM7QUFDM0Msd0RBQTJEO0FBQzNELHVDQUFvQztBQUVwQyxtQkFBd0IsSUFBWSxFQUFFLEdBQVc7SUFDL0MsSUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9CLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUVyQixJQUFNLE1BQU0sR0FBRyxrQkFBVSxFQUFFLENBQUM7SUFDNUIsSUFBSSxNQUFNLEVBQUU7UUFDVixVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUNwQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQVhELDRCQVdDO0FBRUQ7Ozs7O0dBS0c7QUFFSCxTQUFTLFdBQVcsQ0FBQyxHQUFXO0lBQzlCLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLElBQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLElBQUksSUFBSSxHQUFRLEVBQUUsQ0FBQztJQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUVuQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdkIsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDNUI7U0FBTSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDNUIsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0QyxJQUFJLEdBQUcsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxHQUFHLEdBQUcsQ0FBQztLQUNaO1NBQU07UUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztLQUNyQjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUVILFNBQVMsVUFBVSxDQUFDLElBQVMsRUFBRSxHQUFXLEVBQUUsR0FBUTtJQUNsRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0tBQ3BCO0lBQ0QsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLEVBQUU7UUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHO1lBQ2IsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsR0FBRztTQUNiLENBQUM7S0FDSDtTQUFNO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7S0FDNUI7QUFDSCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsSUFBUztJQUNoQyxJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMvQixJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3JDLGdEQUFnRDtJQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQUMsSUFBWTtRQUMzQixJQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7WUFDN0QsT0FBTyxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDL0M7UUFDRCxJQUFJLE9BQU8sY0FBYyxLQUFLLFVBQVUsRUFBRTtZQUN4QyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9