generate-robotstxt
Version:
Awesome generator robots.txt
68 lines (50 loc) • 1.81 kB
JavaScript
;
var _fsExtra = require("fs-extra");
var _fsExtra2 = _interopRequireDefault(_fsExtra);
var _meow = require("meow");
var _meow2 = _interopRequireDefault(_meow);
var _path = require("path");
var _path2 = _interopRequireDefault(_path);
var _resolveFrom = require("resolve-from");
var _resolveFrom2 = _interopRequireDefault(_resolveFrom);
var _standalone = require("./standalone");
var _standalone2 = _interopRequireDefault(_standalone);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var cli = (0, _meow2.default)(`
Usage generate-robotstxt [options] <dest>
Options:
--config Path to a specific configuration file.
`, {
flags: {
config: {
type: "string"
}
}
});
var optionsBase = {};
if (cli.flags.config) {
// Should check these possibilities:
// a. name of a node_module
// b. absolute path
// c. relative path relative to `process.cwd()`.
// If none of the above work, we'll try a relative path starting
// in `process.cwd()`.
optionsBase.configFile = (0, _resolveFrom2.default)(process.cwd(), cli.flags.config) || _path2.default.join(process.cwd(), cli.flags.config);
}
Promise.resolve().then(function () {
return Object.assign({}, optionsBase);
}).then(function (options) {
return (0, _standalone2.default)(options);
}).then(function (output) {
if (cli.input.length === 0) {
throw new Error("Require `dest` argument");
}
var dest = _path2.default.resolve(cli.input.pop());
return Promise.resolve().then(function () {
return _fsExtra2.default.outputFile(dest, output);
});
}).catch(function (error) {
console.log(error); // eslint-disable-line no-console
process.exit(error.code || 1); // eslint-disable-line no-process-exit
});