前端代码
This commit is contained in:
62
node_modules/browser-sync/dist/cli/command.recipe.js
generated
vendored
Normal file
62
node_modules/browser-sync/dist/cli/command.recipe.js
generated
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
"use strict";
|
||||
var logger = require("../logger").logger;
|
||||
var chalk = require("chalk");
|
||||
/**
|
||||
* $ browser-sync recipe <name> <options>
|
||||
*
|
||||
* This command will copy a recipe into either the current directory
|
||||
* or one given with the --output flag
|
||||
*
|
||||
* @param opts
|
||||
* @returns {Function}
|
||||
*/
|
||||
module.exports = function (opts) {
|
||||
var path = require("path");
|
||||
var fs = require("fs-extra");
|
||||
var input = opts.cli.input.slice(1);
|
||||
var resolved = require.resolve("bs-recipes");
|
||||
var dir = path.dirname(resolved);
|
||||
var logRecipes = function () {
|
||||
var dirs = fs.readdirSync(path.join(dir, "recipes"));
|
||||
logger.info("Install one of the following with %s\n", chalk.cyan('browser-sync recipe <name>'));
|
||||
dirs.forEach(function (name) {
|
||||
console.log(" " + name);
|
||||
});
|
||||
};
|
||||
if (!input.length) {
|
||||
logger.info("No recipe name provided!");
|
||||
logRecipes();
|
||||
return opts.cb();
|
||||
}
|
||||
if (opts.cli.input[1] === "ls") {
|
||||
logRecipes();
|
||||
return opts.cb();
|
||||
}
|
||||
input = input[0];
|
||||
var flags = opts.cli.flags;
|
||||
var output = flags.output
|
||||
? path.resolve(flags.output)
|
||||
: path.join(process.cwd(), input);
|
||||
var targetDir = path.join(dir, "recipes", input);
|
||||
if (fs.existsSync(output)) {
|
||||
return opts.cb(new Error("Target folder exists remove it first and then try again"));
|
||||
}
|
||||
if (fs.existsSync(targetDir)) {
|
||||
fs.copy(targetDir, output, function (err) {
|
||||
if (err) {
|
||||
opts.cb(err);
|
||||
}
|
||||
else {
|
||||
logger.info("Recipe copied into %s", chalk.cyan(output));
|
||||
logger.info("Next, inside that folder, run %s", chalk.cyan("npm i && npm start"));
|
||||
opts.cb(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
logger.info("Recipe %s not found. The following are available though", chalk.cyan(input));
|
||||
logRecipes();
|
||||
opts.cb();
|
||||
}
|
||||
};
|
||||
//# sourceMappingURL=command.recipe.js.map
|
Reference in New Issue
Block a user