UNPKG

recipez

Version:

Import recipes from cooking sites to your cookbook

55 lines (38 loc) 1.36 kB
#!/usr/bin/env node "use strict"; 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);