recipez
Version:
Import recipes from cooking sites to your cookbook
55 lines (38 loc) • 1.36 kB
JavaScript
;
var _meow = _interopRequireDefault(require("meow"));
var _colors = _interopRequireDefault(require("colors"));
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _mkdirp2 = _interopRequireDefault(require("mkdirp"));
var _util = require("util");
var _index = require("./index");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const mkdirp = _mkdirp2.default.sync;
const writeFile = (0, _util.promisify)(_fs.default.writeFile);
const cli = (0, _meow.default)(`
Usage:
> npx recipez https://www.allrecipes.com/recipe/273685/chili-lime-chicken/
`, {
flags: {
output: {
type: 'boolean',
alias: 'o'
}
}
});
const main = async (input, flags) => {
const [url] = input;
if (!url) {
console.log(_colors.default.red('Pass a url to a recipe.'));
process.exit(1);
}
console.log(_colors.default.bold(`Importing recipe from ${url}`));
const result = await (0, _index.app)(url);
const out = _path.default.resolve(process.cwd(), flags.output || 'cookbook/');
const file = _path.default.join(out, result.recipe.name + '.md');
await mkdirp(out);
console.log(_colors.default.green(`Writing ${file}`));
await writeFile(file, result.contents);
};
main(cli.input, cli.flags);