UNPKG

1.31 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6const path_1 = __importDefault(require("path"));
7const fs_1 = __importDefault(require("fs"));
8const hooksfiles = ['prompt.js', 'index.js'];
9const prompt = (createPrompter, actionfolder, args) => {
10 const hooksfile = hooksfiles
11 .map(f => path_1.default.resolve(path_1.default.join(actionfolder, f)))
12 .find(f => fs_1.default.existsSync(f));
13 if (!hooksfile) {
14 return Promise.resolve({});
15 }
16 // shortcircuit without prompter
17 // $FlowFixMe
18 const hooksModule = require(hooksfile);
19 if (hooksModule.params) {
20 return hooksModule.params({ args });
21 }
22 // lazy loads prompter
23 // everything below requires it
24 const prompter = createPrompter();
25 if (hooksModule.prompt) {
26 return hooksModule.prompt({ prompter, inquirer: prompter, args });
27 }
28 return prompter.prompt(
29 // prompt _only_ for things we've not seen on the CLI
30 hooksModule.filter(p => args[p.name] === undefined ||
31 args[p.name] === null ||
32 args[p.name].length === 0));
33};
34exports.default = prompt;
35//# sourceMappingURL=prompt.js.map
\No newline at end of file