Skip to content

Commit

Permalink
Update inquirer, ts-ify prompt (#1338)
Browse files Browse the repository at this point in the history
  • Loading branch information
bkendall committed Jun 5, 2019
1 parent 2014e83 commit e36933b
Show file tree
Hide file tree
Showing 29 changed files with 205 additions and 143 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
"fs-extra": "^0.23.1",
"glob": "^7.1.2",
"google-auto-auth": "^0.7.2",
"inquirer": "^0.12.0",
"inquirer": "^6.3.1",
"is": "^3.2.1",
"jsonschema": "^1.0.2",
"jsonwebtoken": "^8.2.1",
Expand Down Expand Up @@ -115,7 +115,7 @@
"@types/express": "^4.16.0",
"@types/fs-extra": "^5.0.5",
"@types/glob": "^7.1.1",
"@types/inquirer": "^6.0.0",
"@types/inquirer": "^6.0.3",
"@types/lodash": "^4.14.118",
"@types/mocha": "^5.2.5",
"@types/nock": "^9.3.0",
Expand Down
2 changes: 1 addition & 1 deletion src/RulesDeploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import logger = require("./logger");
import FirebaseError = require("./error");
import utils = require("./utils");

import * as prompt from "./prompt";
import { prompt } from "./prompt";
import { ListRulesetsEntry, Release, RulesetFile } from "./gcp/rules";

// The status code the Firebase Rules backend sends to indicate too many rulesets.
Expand Down
2 changes: 1 addition & 1 deletion src/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ var api = require("./api");
var configstore = require("./configstore");
var FirebaseError = require("./error");
var logger = require("./logger");
var prompt = require("./prompt");
var { prompt } = require("./prompt");
var scopes = require("./scopes");

portfinder.basePort = 9005;
Expand Down
2 changes: 1 addition & 1 deletion src/commands/database-remove.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ var DatabaseRemove = require("../database/remove").default;
var api = require("../api");

var utils = require("../utils");
var prompt = require("../prompt");
var { prompt } = require("../prompt");
var clc = require("cli-color");
var _ = require("lodash");

Expand Down
2 changes: 1 addition & 1 deletion src/commands/database-set.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ var utils = require("../utils");
var clc = require("cli-color");
var logger = require("../logger");
var fs = require("fs");
var prompt = require("../prompt");
var { prompt } = require("../prompt");
var _ = require("lodash");

module.exports = new Command("database:set <path> [infile]")
Expand Down
2 changes: 1 addition & 1 deletion src/commands/database-update.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ var utils = require("../utils");
var clc = require("cli-color");
var logger = require("../logger");
var fs = require("fs");
var prompt = require("../prompt");
var { prompt } = require("../prompt");
var _ = require("lodash");

module.exports = new Command("database:update <path> [infile]")
Expand Down
2 changes: 1 addition & 1 deletion src/commands/firestore-delete.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
var clc = require("cli-color");
var Command = require("../command");
var FirestoreDelete = require("../firestore/delete");
var prompt = require("../prompt");
var { prompt } = require("../prompt");
var requirePermissions = require("../requirePermissions");
var utils = require("../utils");

Expand Down
2 changes: 1 addition & 1 deletion src/commands/functions-delete.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ var functionsConfig = require("../functionsConfig");
var functionsDelete = require("../functionsDelete");
var getProjectId = require("../getProjectId");
var helper = require("../functionsDeployHelper");
var prompt = require("../prompt");
var { prompt } = require("../prompt");
var requirePermissions = require("../requirePermissions");
var utils = require("../utils");

Expand Down
2 changes: 1 addition & 1 deletion src/commands/hosting-disable.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var requireInstance = require("../requireInstance");
var requirePermissions = require("../requirePermissions");
var api = require("../api");
var utils = require("../utils");
var prompt = require("../prompt");
var { prompt } = require("../prompt");
var clc = require("cli-color");

module.exports = new Command("hosting:disable")
Expand Down
31 changes: 13 additions & 18 deletions src/commands/init.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ var Config = require("../config");
var fsutils = require("../fsutils");
var init = require("../init");
var logger = require("../logger");
var prompt = require("../prompt");
var { prompt, promptOnce } = require("../prompt");
var requireAuth = require("../requireAuth");
var utils = require("../utils");

Expand Down Expand Up @@ -71,28 +71,28 @@ module.exports = new Command("init [feature]")

var choices = [
{
name: "database",
label: "Database: Deploy Firebase Realtime Database Rules",
value: "database",
name: "Database: Deploy Firebase Realtime Database Rules",
checked: false,
},
{
name: "firestore",
label: "Firestore: Deploy rules and create indexes for Firestore",
value: "firestore",
name: "Firestore: Deploy rules and create indexes for Firestore",
checked: false,
},
{
name: "functions",
label: "Functions: Configure and deploy Cloud Functions",
value: "functions",
name: "Functions: Configure and deploy Cloud Functions",
checked: false,
},
{
name: "hosting",
label: "Hosting: Configure and deploy Firebase Hosting sites",
value: "hosting",
name: "Hosting: Configure and deploy Firebase Hosting sites",
checked: false,
},
{
name: "storage",
label: "Storage: Deploy Cloud Storage security rules",
value: "storage",
name: "Storage: Deploy Cloud Storage security rules",
checked: false,
},
];
Expand All @@ -101,7 +101,7 @@ module.exports = new Command("init [feature]")
// HACK: Windows Node has issues with selectables as the first prompt, so we
// add an extra confirmation prompt that fixes the problem
if (process.platform === "win32") {
next = prompt.once({
next = promptOnce({
type: "confirm",
message: "Are you ready to proceed?",
});
Expand All @@ -128,16 +128,11 @@ module.exports = new Command("init [feature]")
message:
"Which Firebase CLI features do you want to set up for this folder? " +
"Press Space to select features, then Enter to confirm your choices.",
choices: prompt.convertLabeledListChoices(choices),
choices: choices,
},
]);
})
.then(function() {
if (!setup.featureArg) {
setup.features = setup.features.map(function(feat) {
return prompt.listLabelToValue(feat, choices);
});
}
if (setup.features.length === 0) {
return utils.reject(
"Must select at least one feature. Use " +
Expand Down
2 changes: 1 addition & 1 deletion src/commands/login.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var logger = require("../logger");
var configstore = require("../configstore");
var clc = require("cli-color");
var utils = require("../utils");
var prompt = require("../prompt");
var { prompt } = require("../prompt");

var auth = require("../auth");

Expand Down
2 changes: 1 addition & 1 deletion src/commands/open.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ var open = require("opn");
var api = require("../api");
var Command = require("../command");
var logger = require("../logger");
var prompt = require("../prompt");
var { prompt } = require("../prompt");
var requirePermissions = require("../requirePermissions");
var requireInstance = require("../requireInstance");
var utils = require("../utils");
Expand Down
4 changes: 2 additions & 2 deletions src/commands/tools-migrate.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ var Command = require("../command");
var Config = require("../config");
var identifierToProjectId = require("../identifierToProjectId");
var logger = require("../logger");
var prompt = require("../prompt");
var { promptOnce } = require("../prompt");
var requireAuth = require("../requireAuth");
var utils = require("../utils");

Expand Down Expand Up @@ -83,7 +83,7 @@ module.exports = new Command("tools:migrate")
if (options.confirm) {
next = Promise.resolve(true);
} else {
next = prompt.once({
next = promptOnce({
type: "confirm",
message: "Write new config to " + clc.underline("firebase.json") + "?",
default: true,
Expand Down
2 changes: 1 addition & 1 deletion src/commands/use.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ var firebaseApi = require("../firebaseApi");
var clc = require("cli-color");
var utils = require("../utils");
var _ = require("lodash");
var prompt = require("../prompt");
var { prompt } = require("../prompt");

var listAliases = function(options) {
if (options.rc.hasProjects) {
Expand Down
4 changes: 2 additions & 2 deletions src/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var FirebaseError = require("./error");
var fsutils = require("./fsutils");
var loadCJSON = require("./loadCJSON");
var parseBoltRules = require("./parseBoltRules");
var prompt = require("./prompt");
var { promptOnce } = require("./prompt");
var { resolveProjectPath } = require("./projectPath");
var utils = require("./utils");

Expand Down Expand Up @@ -216,7 +216,7 @@ Config.prototype.askWriteProjectFile = function(p, content) {
var writeTo = this.path(p);
var next;
if (fsutils.fileExistsSync(writeTo)) {
next = prompt.once({
next = promptOnce({
type: "confirm",
message: "File " + clc.underline(p) + " already exists. Overwrite?",
default: false,
Expand Down
4 changes: 2 additions & 2 deletions src/deploy/functions/release.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ var utils = require("../../utils");
var helper = require("../../functionsDeployHelper");
var runtimeSelector = require("../../runtimeChoiceSelector");
var { getAppEngineLocation } = require("../../functionsConfig");
var prompt = require("../../prompt");
var { promptOnce } = require("../../prompt");
var { createOrUpdateSchedulesAndTopics } = require("./createOrUpdateSchedulesAndTopics");

var deploymentTool = require("../../deploymentTool");
Expand Down Expand Up @@ -338,7 +338,7 @@ module.exports = function(context, options, payload) {

const next = options.force
? Promise.resolve(true)
: prompt.once({
: promptOnce({
type: "confirm",
name: "confirm",
default: false,
Expand Down
4 changes: 2 additions & 2 deletions src/init/features/database.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

var clc = require("cli-color");
var api = require("../../api");
var prompt = require("../../prompt");
var { prompt, promptOnce } = require("../../prompt");
var logger = require("../../logger");
var utils = require("../../utils");
var fsutils = require("../../fsutils");
Expand Down Expand Up @@ -76,7 +76,7 @@ module.exports = function(setup, config) {
" Do you want to overwrite it with the Database Rules for " +
clc.bold(instance) +
" from the Firebase Console?";
return prompt.once({
return promptOnce({
type: "confirm",
message: msg,
default: false,
Expand Down
7 changes: 3 additions & 4 deletions src/init/features/firestore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@ import FirebaseError = require("../../error");
import gcp = require("../../gcp");
import iv2 = require("../../firestore/indexes");
import fsutils = require("../../fsutils");
import prompt = require("../../prompt");
import { prompt, promptOnce } from "../../prompt";
import logger = require("../../logger");
import utils = require("../../utils");
import requireAccess = require("../../requireAccess");
import scopes = require("../../scopes");

const indexes = new iv2.FirestoreIndexes();

Expand Down Expand Up @@ -49,7 +48,7 @@ async function initRules(setup: any, config: any): Promise<any> {
clc.bold(filename) +
" already exists." +
" Do you want to overwrite it with the Firestore Rules from the Firebase Console?";
return prompt.once({
return promptOnce({
type: "confirm",
message: msg,
default: false,
Expand Down Expand Up @@ -121,7 +120,7 @@ async function initIndexes(setup: any, config: any): Promise<any> {
clc.bold(filename) +
" already exists." +
" Do you want to overwrite it with the Firestore Indexes from the Firebase Console?";
return prompt.once({
return promptOnce({
type: "confirm",
message: msg,
default: false,
Expand Down
2 changes: 1 addition & 1 deletion src/init/features/functions/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var clc = require("cli-color");
var _ = require("lodash");

var logger = require("../../../logger");
var prompt = require("../../../prompt");
var { prompt } = require("../../../prompt");
var enableApi = require("../../../ensureApiEnabled").enable;
var requireAccess = require("../../../requireAccess");
var scopes = require("../../../scopes");
Expand Down
2 changes: 1 addition & 1 deletion src/init/features/functions/javascript.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var fs = require("fs");
var path = require("path");

var npmDependencies = require("./npm-dependencies");
var prompt = require("../../../prompt");
var { prompt } = require("../../../prompt");

var TEMPLATE_ROOT = path.resolve(__dirname, "../../../../templates/init/functions/javascript/");
var INDEX_TEMPLATE = fs.readFileSync(path.join(TEMPLATE_ROOT, "index.js"), "utf8");
Expand Down
2 changes: 1 addition & 1 deletion src/init/features/functions/npm-dependencies.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
var spawn = require("cross-spawn");

var logger = require("../../../logger");
var prompt = require("../../../prompt");
var { prompt } = require("../../../prompt");

exports.askInstallDependencies = function(setup, config) {
return prompt(setup.functions, [
Expand Down
2 changes: 1 addition & 1 deletion src/init/features/functions/typescript.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var fs = require("fs");
var path = require("path");

var npmDependencies = require("./npm-dependencies");
var prompt = require("../../../prompt");
var { prompt } = require("../../../prompt");

var TEMPLATE_ROOT = path.resolve(__dirname, "../../../../templates/init/functions/typescript/");
var PACKAGE_LINTING_TEMPLATE = fs.readFileSync(
Expand Down
2 changes: 1 addition & 1 deletion src/init/features/hosting.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var fs = require("fs");

var api = require("../../api");
var logger = require("../../logger");
var prompt = require("../../prompt");
var { prompt } = require("../../prompt");

var INDEX_TEMPLATE = fs.readFileSync(
__dirname + "/../../../templates/init/hosting/index.html",
Expand Down
Loading

0 comments on commit e36933b

Please sign in to comment.