mirror of
https://github.com/zhigang1992/firebase-tools.git
synced 2026-01-12 09:04:01 +08:00
Master Sync 10/25 (#970)
* Add emulator:run * Cleanup * Download emulators if needed * Cleanup * Remove unused dep * Use CACHE_DIR * Allow FIREBASE_EMULATORS_PATH to override the cache dir * Format * Simplify emulator remote storage * Use fs-extra * Hide emulator:run behind preview * Cleanup * Fix URL * Remove old commands * Point at real artifacts * make emulators executable after downloading * Allow --yes flag for emulator * Prompt for emulator download * Linter * Emulator CLI per API Review (#318) * Emulator CLI per API Review * Cleanup * Address comments * Linter * Add a useful error message for when the emulator cannot start because… (#329) * Add a useful error message for when the emulator cannot start because Java is not installed * linter * action item * Add start time to profiler dump (#323) * Set emulator version for initial release (#336) * Typescript (#338) * The path structure layout seems like it changed (#341) * The path structure layout seems like it changed * Update src/auth.js Co-Authored-By: ryanpbrewster <RyanPBrewster@gmail.com> * Update functions init templates to v2.1.0 (#969) (#343)
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
/templates
|
||||
/node_modules
|
||||
/coverage
|
||||
coverage
|
||||
node_modules
|
||||
templates
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -11,3 +11,5 @@ yarn.lock
|
||||
.DS_Store
|
||||
.idea
|
||||
*.iml
|
||||
|
||||
lib/
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
/templates
|
||||
/node_modules
|
||||
/lib/**/*
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
important - As of v6.0.0, the Firebase CLI is transpiled from the `src` directory using TypeScript. Some deep requires of files may have changed, and `npm run build` must be run in the checked out repo directory (or when installed from git via `npm`) before the CLI can be used.
|
||||
important - As of v6.0.0, the Firebase CLI is only going to be supported with Node >= 6.0.0.
|
||||
|
||||
66
gulpfile.js
66
gulpfile.js
@@ -1,66 +0,0 @@
|
||||
/**************/
|
||||
/* REQUIRES */
|
||||
/**************/
|
||||
var gulp = require("gulp");
|
||||
|
||||
// File I/O
|
||||
var exit = require("gulp-exit");
|
||||
var eslint = require("gulp-eslint");
|
||||
|
||||
// Testing
|
||||
var mocha = require("gulp-mocha");
|
||||
var istanbul = require("gulp-istanbul");
|
||||
|
||||
var _ = require("lodash");
|
||||
|
||||
/****************/
|
||||
/* FILE PATHS */
|
||||
/****************/
|
||||
var paths = {
|
||||
js: ["index.js", "lib/**/*.js", "commands/**/*.js"],
|
||||
|
||||
tests: ["test/**/*.spec.js"],
|
||||
|
||||
scripts: ["scripts/*.js"],
|
||||
};
|
||||
|
||||
/***********/
|
||||
/* TASKS */
|
||||
/***********/
|
||||
// Lints the JavaScript files
|
||||
gulp.task("lint", function() {
|
||||
var filesToLint = _.union(paths.js, paths.tests, paths.scripts);
|
||||
return gulp
|
||||
.src(filesToLint)
|
||||
.pipe(eslint())
|
||||
.pipe(eslint.format())
|
||||
.pipe(eslint.failAfterError());
|
||||
});
|
||||
|
||||
// Runs the Mocha test suite
|
||||
gulp.task("test", function() {
|
||||
return gulp
|
||||
.src(paths.js)
|
||||
.pipe(istanbul())
|
||||
.pipe(istanbul.hookRequire())
|
||||
.on("finish", function() {
|
||||
gulp
|
||||
.src(paths.tests)
|
||||
.pipe(
|
||||
mocha({
|
||||
reporter: "spec",
|
||||
timeout: 5000,
|
||||
})
|
||||
)
|
||||
.pipe(istanbul.writeReports())
|
||||
.pipe(exit());
|
||||
});
|
||||
});
|
||||
|
||||
// Reruns the linter every time a JavaScript file changes
|
||||
gulp.task("watch", function() {
|
||||
gulp.watch(paths.js, gulp.series("lint"));
|
||||
});
|
||||
|
||||
// Default task
|
||||
gulp.task("default", gulp.series("lint", "test"));
|
||||
4
mocha.opts
Normal file
4
mocha.opts
Normal file
@@ -0,0 +1,4 @@
|
||||
--require ts-node/register
|
||||
--recursive
|
||||
--timeout=1000
|
||||
src/test/**/*.{ts,js}
|
||||
46
package.json
46
package.json
@@ -2,16 +2,27 @@
|
||||
"name": "firebase-tools",
|
||||
"version": "5.1.1",
|
||||
"description": "Command-Line Interface for Firebase",
|
||||
"main": "index.js",
|
||||
"main": "./lib/index.js",
|
||||
"bin": {
|
||||
"firebase": "./bin/firebase"
|
||||
"firebase": "./lib/bin/firebase.js"
|
||||
},
|
||||
"scripts": {
|
||||
"format": "prettier --write '**/*.js' 'bin/*'",
|
||||
"lint": "eslint '**/*.js'",
|
||||
"mocha": "nyc mocha test/**/*.spec.js --timeout=1000",
|
||||
"build": "tsc",
|
||||
"build:watch": "tsc --watch",
|
||||
"clean": "rm -rf lib",
|
||||
"format": "prettier --write 'src/**/*.{js,ts}'",
|
||||
"lint": "npm run lint:js && npm run lint:ts",
|
||||
"lint:js": "eslint 'src/**/*.js'",
|
||||
"lint:ts": "tslint --project tsconfig.json --config tslint.json",
|
||||
"mocha": "nyc mocha --opts mocha.opts",
|
||||
"prepublish": "npm run clean && npm run build",
|
||||
"prepare": "npm run clean && npm run build",
|
||||
"test": "npm run lint && npm run mocha"
|
||||
},
|
||||
"files": [
|
||||
"lib",
|
||||
"templates"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/firebase/firebase-tools.git"
|
||||
@@ -29,7 +40,7 @@
|
||||
],
|
||||
"preferGlobal": true,
|
||||
"engines": {
|
||||
"node": "^4.5 || >=5.10"
|
||||
"node": ">= 6.0.0"
|
||||
},
|
||||
"engineStrict": true,
|
||||
"author": "Firebase (https://firebase.google.com/)",
|
||||
@@ -37,13 +48,6 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/firebase/firebase-tools/issues"
|
||||
},
|
||||
"files": [
|
||||
"bin/**",
|
||||
"lib/**",
|
||||
"commands/**",
|
||||
"templates/**",
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/firebase/firebase-tools",
|
||||
"dependencies": {
|
||||
"JSONStream": "^1.2.1",
|
||||
@@ -86,11 +90,15 @@
|
||||
"winston": "^1.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/chai": "^4.1.6",
|
||||
"@types/glob": "^7.1.1",
|
||||
"@types/mocha": "^5.2.5",
|
||||
"@types/node": "^10.12.0",
|
||||
"chai": "^4.2.0",
|
||||
"chai-as-promised": "^7.1.1",
|
||||
"coveralls": "^3.0.1",
|
||||
"eslint": "^4.19.1",
|
||||
"eslint-plugin-prettier": "^2.6.0",
|
||||
"eslint": "^5.7.0",
|
||||
"eslint-plugin-prettier": "^3.0.0",
|
||||
"gulp": "^4.0.0",
|
||||
"gulp-eslint": "^4.0.2",
|
||||
"gulp-exit": "0.0.2",
|
||||
@@ -99,9 +107,13 @@
|
||||
"mocha": "^5.0.5",
|
||||
"nock": "^9.3.3",
|
||||
"nyc": "^11.9.0",
|
||||
"prettier": "1.11.1",
|
||||
"prettier": "1.14.3",
|
||||
"sinon": "^6.3.4",
|
||||
"sinon-chai": "^3.2.0"
|
||||
"sinon-chai": "^3.2.0",
|
||||
"ts-node": "^7.0.1",
|
||||
"tslint": "^5.11.0",
|
||||
"tslint-plugin-prettier": "^2.0.0",
|
||||
"typescript": "^3.1.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@google-cloud/functions-emulator": "^1.0.0-beta.5"
|
||||
|
||||
@@ -4,8 +4,8 @@ var os = require("os");
|
||||
var path = require("path");
|
||||
var _ = require("lodash");
|
||||
|
||||
var api = require("../lib/api");
|
||||
var utils = require("../lib/utils");
|
||||
var api = require("./api");
|
||||
var utils = require("./utils");
|
||||
|
||||
var EXPORTED_JSON_KEYS = [
|
||||
"localId",
|
||||
@@ -3,9 +3,9 @@
|
||||
var clc = require("cli-color");
|
||||
var _ = require("lodash");
|
||||
|
||||
var api = require("../lib/api");
|
||||
var logger = require("../lib/logger");
|
||||
var utils = require("../lib/utils");
|
||||
var api = require("./api");
|
||||
var logger = require("./logger");
|
||||
var utils = require("./utils");
|
||||
|
||||
var ALLOWED_JSON_KEYS = [
|
||||
"localId",
|
||||
@@ -1,24 +1,24 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
|
||||
var pkg = require("../package.json");
|
||||
var pkg = require("../../package.json");
|
||||
var updateNotifier = require("update-notifier")({ pkg: pkg });
|
||||
updateNotifier.notify({ defer: true });
|
||||
|
||||
var client = require("..");
|
||||
var errorOut = require("../lib/errorOut");
|
||||
var errorOut = require("../errorOut");
|
||||
var winston = require("winston");
|
||||
var logger = require("../lib/logger");
|
||||
var logger = require("../logger");
|
||||
var fs = require("fs");
|
||||
var fsutils = require("../lib/fsutils");
|
||||
var fsutils = require("../fsutils");
|
||||
var path = require("path");
|
||||
var clc = require("cli-color");
|
||||
var ansiStrip = require("cli-color/strip");
|
||||
var configstore = require("../lib/configstore");
|
||||
var configstore = require("../configstore");
|
||||
var _ = require("lodash");
|
||||
var args = process.argv.slice(2);
|
||||
var handlePreviewToggles = require("../lib/handlePreviewToggles");
|
||||
var utils = require("../lib/utils");
|
||||
var handlePreviewToggles = require("../handlePreviewToggles");
|
||||
var utils = require("../utils");
|
||||
var cmd;
|
||||
|
||||
var logFilename = path.join(process.cwd(), "/firebase-debug.log");
|
||||
@@ -56,7 +56,7 @@ if (utils.envOverrides.length) {
|
||||
logger.debug(_.repeat("-", 70));
|
||||
logger.debug();
|
||||
|
||||
require("../lib/fetchMOTD")();
|
||||
require("../fetchMOTD")();
|
||||
|
||||
process.on("exit", function(code) {
|
||||
code = process.exitCode || code;
|
||||
@@ -11,7 +11,7 @@ var getProjectId = require("./getProjectId");
|
||||
var RC = require("./rc");
|
||||
var Config = require("./config");
|
||||
var detectProjectRoot = require("./detectProjectRoot");
|
||||
var configstore = require("../lib/configstore");
|
||||
var configstore = require("./configstore");
|
||||
|
||||
var Command = function(cmd) {
|
||||
this._cmd = cmd;
|
||||
@@ -4,11 +4,11 @@ var clc = require("cli-color");
|
||||
var fs = require("fs");
|
||||
var os = require("os");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var accountExporter = require("../lib/accountExporter");
|
||||
var getProjectId = require("../lib/getProjectId");
|
||||
var logger = require("../lib/logger");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var Command = require("../command");
|
||||
var accountExporter = require("../accountExporter");
|
||||
var getProjectId = require("../getProjectId");
|
||||
var logger = require("../logger");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
|
||||
var MAX_BATCH_SIZE = 1000;
|
||||
|
||||
@@ -6,12 +6,12 @@ var fs = require("fs");
|
||||
var jsonStream = require("JSONStream");
|
||||
var _ = require("lodash");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var accountImporter = require("../lib/accountImporter");
|
||||
var getProjectId = require("../lib/getProjectId");
|
||||
var logger = require("../lib/logger");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var utils = require("../lib/utils");
|
||||
var Command = require("../command");
|
||||
var accountImporter = require("../accountImporter");
|
||||
var getProjectId = require("../getProjectId");
|
||||
var logger = require("../logger");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var utils = require("../utils");
|
||||
|
||||
var MAX_BATCH_SIZE = 1000;
|
||||
var validateOptions = accountImporter.validateOptions;
|
||||
@@ -1,14 +1,14 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var requireInstance = require("../lib/requireInstance");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var Command = require("../command");
|
||||
var requireInstance = require("../requireInstance");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var request = require("request");
|
||||
var api = require("../lib/api");
|
||||
var responseToError = require("../lib/responseToError");
|
||||
var FirebaseError = require("../lib/error");
|
||||
var api = require("../api");
|
||||
var responseToError = require("../responseToError");
|
||||
var FirebaseError = require("../error");
|
||||
|
||||
var utils = require("../lib/utils");
|
||||
var utils = require("../utils");
|
||||
var querystring = require("querystring");
|
||||
var _ = require("lodash");
|
||||
var fs = require("fs");
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
var _ = require("lodash");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var requireInstance = require("../lib/requireInstance");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var utils = require("../lib/utils");
|
||||
var profiler = require("../lib/profiler");
|
||||
var Command = require("../command");
|
||||
var requireInstance = require("../requireInstance");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var utils = require("../utils");
|
||||
var profiler = require("../profiler");
|
||||
|
||||
var description = "profile the Realtime Database and generate a usage report";
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var requireInstance = require("../lib/requireInstance");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var Command = require("../command");
|
||||
var requireInstance = require("../requireInstance");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var request = require("request");
|
||||
var api = require("../lib/api");
|
||||
var responseToError = require("../lib/responseToError");
|
||||
var FirebaseError = require("../lib/error");
|
||||
var api = require("../api");
|
||||
var responseToError = require("../responseToError");
|
||||
var FirebaseError = require("../error");
|
||||
|
||||
var utils = require("../lib/utils");
|
||||
var utils = require("../utils");
|
||||
var clc = require("cli-color");
|
||||
var logger = require("../lib/logger");
|
||||
var logger = require("../logger");
|
||||
var fs = require("fs");
|
||||
var _ = require("lodash");
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var requireInstance = require("../lib/requireInstance");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var Command = require("../command");
|
||||
var requireInstance = require("../requireInstance");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var request = require("request");
|
||||
var api = require("../lib/api");
|
||||
var responseToError = require("../lib/responseToError");
|
||||
var FirebaseError = require("../lib/error");
|
||||
var api = require("../api");
|
||||
var responseToError = require("../responseToError");
|
||||
var FirebaseError = require("../error");
|
||||
|
||||
var utils = require("../lib/utils");
|
||||
var prompt = require("../lib/prompt");
|
||||
var utils = require("../utils");
|
||||
var prompt = require("../prompt");
|
||||
var clc = require("cli-color");
|
||||
var _ = require("lodash");
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var requireInstance = require("../lib/requireInstance");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var Command = require("../command");
|
||||
var requireInstance = require("../requireInstance");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var request = require("request");
|
||||
var api = require("../lib/api");
|
||||
var responseToError = require("../lib/responseToError");
|
||||
var FirebaseError = require("../lib/error");
|
||||
var api = require("../api");
|
||||
var responseToError = require("../responseToError");
|
||||
var FirebaseError = require("../error");
|
||||
|
||||
var utils = require("../lib/utils");
|
||||
var utils = require("../utils");
|
||||
var clc = require("cli-color");
|
||||
var logger = require("../lib/logger");
|
||||
var logger = require("../logger");
|
||||
var fs = require("fs");
|
||||
var prompt = require("../lib/prompt");
|
||||
var prompt = require("../prompt");
|
||||
var _ = require("lodash");
|
||||
|
||||
module.exports = new Command("database:set <path> [infile]")
|
||||
@@ -1,18 +1,18 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var requireInstance = require("../lib/requireInstance");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var Command = require("../command");
|
||||
var requireInstance = require("../requireInstance");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var request = require("request");
|
||||
var api = require("../lib/api");
|
||||
var responseToError = require("../lib/responseToError");
|
||||
var FirebaseError = require("../lib/error");
|
||||
var api = require("../api");
|
||||
var responseToError = require("../responseToError");
|
||||
var FirebaseError = require("../error");
|
||||
|
||||
var utils = require("../lib/utils");
|
||||
var utils = require("../utils");
|
||||
var clc = require("cli-color");
|
||||
var logger = require("../lib/logger");
|
||||
var logger = require("../logger");
|
||||
var fs = require("fs");
|
||||
var prompt = require("../lib/prompt");
|
||||
var prompt = require("../prompt");
|
||||
var _ = require("lodash");
|
||||
|
||||
module.exports = new Command("database:update <path> [infile]")
|
||||
@@ -2,15 +2,15 @@
|
||||
|
||||
var _ = require("lodash");
|
||||
|
||||
var requireInstance = require("../lib/requireInstance");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var checkDupHostingKeys = require("../lib/checkDupHostingKeys");
|
||||
var checkValidTargetFilters = require("../lib/checkValidTargetFilters");
|
||||
var checkFirebaseSDKVersion = require("../lib/checkFirebaseSDKVersion");
|
||||
var Command = require("../lib/command");
|
||||
var deploy = require("../lib/deploy");
|
||||
var requireConfig = require("../lib/requireConfig");
|
||||
var filterTargets = require("../lib/filterTargets");
|
||||
var requireInstance = require("../requireInstance");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var checkDupHostingKeys = require("../checkDupHostingKeys");
|
||||
var checkValidTargetFilters = require("../checkValidTargetFilters");
|
||||
var checkFirebaseSDKVersion = require("../checkFirebaseSDKVersion");
|
||||
var Command = require("../command");
|
||||
var deploy = require("../deploy");
|
||||
var requireConfig = require("../requireConfig");
|
||||
var filterTargets = require("../filterTargets");
|
||||
|
||||
// in order of least time-consuming to most time-consuming
|
||||
var VALID_TARGETS = ["database", "storage", "firestore", "functions", "hosting"];
|
||||
@@ -1,9 +1,9 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var requireConfig = require("../lib/requireConfig");
|
||||
var action = require("../lib/functionsShellCommandAction");
|
||||
var Command = require("../command");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var requireConfig = require("../requireConfig");
|
||||
var action = require("../functionsShellCommandAction");
|
||||
|
||||
module.exports = new Command("experimental:functions:shell")
|
||||
.description(
|
||||
@@ -1,11 +1,11 @@
|
||||
"use strict";
|
||||
|
||||
var clc = require("cli-color");
|
||||
var Command = require("../lib/command");
|
||||
var FirestoreDelete = require("../lib/firestore/delete");
|
||||
var prompt = require("../lib/prompt");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var utils = require("../lib/utils");
|
||||
var Command = require("../command");
|
||||
var FirestoreDelete = require("../firestore/delete");
|
||||
var prompt = require("../prompt");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var utils = require("../utils");
|
||||
|
||||
var _getConfirmationMessage = function(deleteOp, options) {
|
||||
if (options.allCollections) {
|
||||
@@ -1,9 +1,9 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var firestoreIndexes = require("../lib/firestore/indexes.js");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var logger = require("../lib/logger");
|
||||
var Command = require("../command");
|
||||
var firestoreIndexes = require("../firestore/indexes.js");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var logger = require("../logger");
|
||||
var _ = require("lodash");
|
||||
|
||||
var _prettyPrint = function(indexes) {
|
||||
@@ -1,13 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
var clc = require("cli-color");
|
||||
var Command = require("../lib/command");
|
||||
var functionsConfig = require("../lib/functionsConfig");
|
||||
var functionsConfigClone = require("../lib/functionsConfigClone");
|
||||
var getProjectId = require("../lib/getProjectId");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var utils = require("../lib/utils");
|
||||
var logger = require("../lib/logger");
|
||||
var Command = require("../command");
|
||||
var functionsConfig = require("../functionsConfig");
|
||||
var functionsConfigClone = require("../functionsConfigClone");
|
||||
var getProjectId = require("../getProjectId");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var utils = require("../utils");
|
||||
var logger = require("../logger");
|
||||
|
||||
module.exports = new Command("functions:config:clone")
|
||||
.description("clone environment config from another project")
|
||||
@@ -1,11 +1,11 @@
|
||||
"use strict";
|
||||
|
||||
var _ = require("lodash");
|
||||
var Command = require("../lib/command");
|
||||
var getProjectId = require("../lib/getProjectId");
|
||||
var logger = require("../lib/logger");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var functionsConfig = require("../lib/functionsConfig");
|
||||
var Command = require("../command");
|
||||
var getProjectId = require("../getProjectId");
|
||||
var logger = require("../logger");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var functionsConfig = require("../functionsConfig");
|
||||
|
||||
function _materialize(projectId, path) {
|
||||
if (_.isUndefined(path)) {
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
var _ = require("lodash");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var getProjectId = require("../lib/getProjectId");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var runtimeconfig = require("../lib/gcp/runtimeconfig");
|
||||
var functionsConfig = require("../lib/functionsConfig");
|
||||
var logger = require("../lib/logger");
|
||||
var Command = require("../command");
|
||||
var getProjectId = require("../getProjectId");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var runtimeconfig = require("../gcp/runtimeconfig");
|
||||
var functionsConfig = require("../functionsConfig");
|
||||
var logger = require("../logger");
|
||||
|
||||
module.exports = new Command("functions:config:legacy")
|
||||
.description("get legacy functions config variables")
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
var clc = require("cli-color");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var getProjectId = require("../lib/getProjectId");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var logger = require("../lib/logger");
|
||||
var utils = require("../lib/utils");
|
||||
var functionsConfig = require("../lib/functionsConfig");
|
||||
var Command = require("../command");
|
||||
var getProjectId = require("../getProjectId");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var logger = require("../logger");
|
||||
var utils = require("../utils");
|
||||
var functionsConfig = require("../functionsConfig");
|
||||
|
||||
module.exports = new Command("functions:config:set [values...]")
|
||||
.description("set environment config with key=value syntax")
|
||||
@@ -3,13 +3,13 @@
|
||||
var _ = require("lodash");
|
||||
|
||||
var clc = require("cli-color");
|
||||
var Command = require("../lib/command");
|
||||
var functionsConfig = require("../lib/functionsConfig");
|
||||
var getProjectId = require("../lib/getProjectId");
|
||||
var logger = require("../lib/logger");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var utils = require("../lib/utils");
|
||||
var runtimeconfig = require("../lib/gcp/runtimeconfig");
|
||||
var Command = require("../command");
|
||||
var functionsConfig = require("../functionsConfig");
|
||||
var getProjectId = require("../getProjectId");
|
||||
var logger = require("../logger");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var utils = require("../utils");
|
||||
var runtimeconfig = require("../gcp/runtimeconfig");
|
||||
|
||||
module.exports = new Command("functions:config:unset [keys...]")
|
||||
.description("unset environment config at the specified path(s)")
|
||||
@@ -2,15 +2,15 @@
|
||||
|
||||
var _ = require("lodash");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var Command = require("../command");
|
||||
var clc = require("cli-color");
|
||||
var cloudfunctions = require("../lib/gcp/cloudfunctions");
|
||||
var functionsDelete = require("../lib/functionsDelete");
|
||||
var getProjectId = require("../lib/getProjectId");
|
||||
var helper = require("../lib/functionsDeployHelper");
|
||||
var prompt = require("../lib/prompt");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var utils = require("../lib/utils");
|
||||
var cloudfunctions = require("../gcp/cloudfunctions");
|
||||
var functionsDelete = require("../functionsDelete");
|
||||
var getProjectId = require("../getProjectId");
|
||||
var helper = require("../functionsDeployHelper");
|
||||
var prompt = require("../prompt");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var utils = require("../utils");
|
||||
|
||||
module.exports = new Command("functions:delete [filters...]")
|
||||
.description("delete one or more Cloud Functions by name or group name.")
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
var _ = require("lodash");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var FirebaseError = require("../lib/error");
|
||||
var gcp = require("../lib/gcp");
|
||||
var getProjectId = require("../lib/getProjectId");
|
||||
var logger = require("../lib/logger");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var Command = require("../command");
|
||||
var FirebaseError = require("../error");
|
||||
var gcp = require("../gcp");
|
||||
var getProjectId = require("../getProjectId");
|
||||
var logger = require("../logger");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var open = require("opn");
|
||||
|
||||
module.exports = new Command("functions:log")
|
||||
@@ -1,9 +1,9 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var requireConfig = require("../lib/requireConfig");
|
||||
var action = require("../lib/functionsShellCommandAction");
|
||||
var Command = require("../command");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var requireConfig = require("../requireConfig");
|
||||
var action = require("../functionsShellCommandAction");
|
||||
|
||||
module.exports = new Command("functions:shell")
|
||||
.description("launch full Node shell with emulated functions")
|
||||
@@ -1,10 +1,10 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var Command = require("../command");
|
||||
|
||||
var clc = require("cli-color");
|
||||
var logger = require("../lib/logger");
|
||||
var utils = require("../lib/utils");
|
||||
var logger = require("../logger");
|
||||
var utils = require("../utils");
|
||||
|
||||
module.exports = new Command("help [command]")
|
||||
.description("display help information")
|
||||
@@ -1,11 +1,11 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var requireInstance = require("../lib/requireInstance");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var api = require("../lib/api");
|
||||
var utils = require("../lib/utils");
|
||||
var prompt = require("../lib/prompt");
|
||||
var Command = require("../command");
|
||||
var requireInstance = require("../requireInstance");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var api = require("../api");
|
||||
var utils = require("../utils");
|
||||
var prompt = require("../prompt");
|
||||
var clc = require("cli-color");
|
||||
|
||||
module.exports = new Command("hosting:disable")
|
||||
@@ -1,6 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
var previews = require("../lib/previews");
|
||||
var previews = require("../previews");
|
||||
module.exports = function(client) {
|
||||
var loadCommand = function(name) {
|
||||
var cmd = require("./" + name);
|
||||
@@ -74,6 +74,13 @@ module.exports = function(client) {
|
||||
web: loadCommand("setup-web"),
|
||||
};
|
||||
|
||||
if (previews.emulators) {
|
||||
client.setup.emulators = {
|
||||
database: loadCommand("setup-emulators-database"),
|
||||
firestore: loadCommand("setup-emulators-firestore"),
|
||||
};
|
||||
}
|
||||
|
||||
client.target = loadCommand("target");
|
||||
client.target.apply = loadCommand("target-apply");
|
||||
client.target.clear = loadCommand("target-clear");
|
||||
@@ -5,16 +5,16 @@ var fs = require("fs");
|
||||
var homeDir = require("user-home");
|
||||
var path = require("path");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var Config = require("../lib/config");
|
||||
var fsutils = require("../lib/fsutils");
|
||||
var init = require("../lib/init");
|
||||
var logger = require("../lib/logger");
|
||||
var prompt = require("../lib/prompt");
|
||||
var requireAuth = require("../lib/requireAuth");
|
||||
var utils = require("../lib/utils");
|
||||
var Command = require("../command");
|
||||
var Config = require("../config");
|
||||
var fsutils = require("../fsutils");
|
||||
var init = require("../init");
|
||||
var logger = require("../logger");
|
||||
var prompt = require("../prompt");
|
||||
var requireAuth = require("../requireAuth");
|
||||
var utils = require("../utils");
|
||||
|
||||
var TEMPLATE_ROOT = path.resolve(__dirname, "../templates/");
|
||||
var TEMPLATE_ROOT = path.resolve(__dirname, "../../templates/");
|
||||
var BANNER_TEXT = fs.readFileSync(path.join(TEMPLATE_ROOT, "banner.txt"), "utf8");
|
||||
var GITIGNORE_TEMPLATE = fs.readFileSync(path.join(TEMPLATE_ROOT, "_gitignore"), "utf8");
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
var clc = require("cli-color");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var getProjectId = require("../lib/getProjectId");
|
||||
var logger = require("../lib/logger");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var utils = require("../lib/utils");
|
||||
var kits = require("../lib/kits");
|
||||
var Command = require("../command");
|
||||
var getProjectId = require("../getProjectId");
|
||||
var logger = require("../logger");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var utils = require("../utils");
|
||||
var kits = require("../kits");
|
||||
|
||||
// TODO: add option for urlPath to be inserted or parse urlPath for name if needed
|
||||
module.exports = new Command("kits:install <githubRepo>")
|
||||
@@ -2,13 +2,13 @@
|
||||
var clc = require("cli-color");
|
||||
var _ = require("lodash");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var gcp = require("../lib/gcp");
|
||||
var pollKits = require("../lib/kits/pollKits");
|
||||
var getProjectId = require("../lib/getProjectId");
|
||||
var prompt = require("../lib/prompt");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var utils = require("../lib/utils");
|
||||
var Command = require("../command");
|
||||
var gcp = require("../gcp");
|
||||
var pollKits = require("../kits/pollKits");
|
||||
var getProjectId = require("../getProjectId");
|
||||
var prompt = require("../prompt");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var utils = require("../utils");
|
||||
|
||||
var DEFAULT_REGION = gcp.cloudfunctions.DEFAULT_REGION;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var api = require("../lib/api");
|
||||
var requireAuth = require("../lib/requireAuth");
|
||||
var Command = require("../command");
|
||||
var api = require("../api");
|
||||
var requireAuth = require("../requireAuth");
|
||||
var clc = require("cli-color");
|
||||
var Table = require("cli-table");
|
||||
var _ = require("lodash");
|
||||
var logger = require("../lib/logger");
|
||||
var logger = require("../logger");
|
||||
|
||||
module.exports = new Command("list")
|
||||
.description("list the Firebase projects you have access to")
|
||||
@@ -1,10 +1,10 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var Command = require("../command");
|
||||
var clc = require("cli-color");
|
||||
var utils = require("../lib/utils");
|
||||
var logger = require("../lib/logger");
|
||||
var auth = require("../lib/auth");
|
||||
var utils = require("../utils");
|
||||
var logger = require("../logger");
|
||||
var auth = require("../auth");
|
||||
|
||||
module.exports = new Command("login:ci")
|
||||
.description("generate an access token for use in non-interactive environments")
|
||||
@@ -1,13 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var logger = require("../lib/logger");
|
||||
var configstore = require("../lib/configstore");
|
||||
var Command = require("../command");
|
||||
var logger = require("../logger");
|
||||
var configstore = require("../configstore");
|
||||
var clc = require("cli-color");
|
||||
var utils = require("../lib/utils");
|
||||
var prompt = require("../lib/prompt");
|
||||
var utils = require("../utils");
|
||||
var prompt = require("../prompt");
|
||||
|
||||
var auth = require("../lib/auth");
|
||||
var auth = require("../auth");
|
||||
|
||||
module.exports = new Command("login")
|
||||
.description("log the CLI into Firebase")
|
||||
@@ -1,13 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var configstore = require("../lib/configstore");
|
||||
var logger = require("../lib/logger");
|
||||
var Command = require("../command");
|
||||
var configstore = require("../configstore");
|
||||
var logger = require("../logger");
|
||||
var clc = require("cli-color");
|
||||
|
||||
var utils = require("../lib/utils");
|
||||
var api = require("../lib/api");
|
||||
var auth = require("../lib/auth");
|
||||
var utils = require("../utils");
|
||||
var api = require("../api");
|
||||
var auth = require("../auth");
|
||||
var _ = require("lodash");
|
||||
|
||||
module.exports = new Command("logout")
|
||||
@@ -4,12 +4,12 @@ var _ = require("lodash");
|
||||
var clc = require("cli-color");
|
||||
var open = require("opn");
|
||||
|
||||
var api = require("../lib/api");
|
||||
var Command = require("../lib/command");
|
||||
var logger = require("../lib/logger");
|
||||
var prompt = require("../lib/prompt");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var utils = require("../lib/utils");
|
||||
var api = require("../api");
|
||||
var Command = require("../command");
|
||||
var logger = require("../logger");
|
||||
var prompt = require("../prompt");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var utils = require("../utils");
|
||||
|
||||
var LINKS = [
|
||||
{ name: "Project Dashboard", arg: "dashboard", consoleUrl: "/overview" },
|
||||
@@ -2,29 +2,34 @@
|
||||
|
||||
var clc = require("cli-color");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var logger = require("../lib/logger");
|
||||
var utils = require("../lib/utils");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var requireConfig = require("../lib/requireConfig");
|
||||
var checkDupHostingKeys = require("../lib/checkDupHostingKeys");
|
||||
var serve = require("../lib/serve/index");
|
||||
var filterTargets = require("../lib/filterTargets");
|
||||
var getProjectNumber = require("../lib/getProjectNumber");
|
||||
var Command = require("../command");
|
||||
var logger = require("../logger");
|
||||
var utils = require("../utils");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
var requireConfig = require("../requireConfig");
|
||||
var checkDupHostingKeys = require("../checkDupHostingKeys");
|
||||
var serve = require("../serve/index");
|
||||
var filterTargets = require("../filterTargets");
|
||||
var getProjectNumber = require("../getProjectNumber");
|
||||
var previews = require("../previews");
|
||||
|
||||
var VALID_TARGETS = ["functions", "hosting"];
|
||||
|
||||
if (previews.emulators) {
|
||||
VALID_TARGETS = ["functions", "hosting", "database", "firestore"];
|
||||
}
|
||||
|
||||
module.exports = new Command("serve")
|
||||
.description("start a local server for your static assets")
|
||||
.option("-p, --port <port>", "the port on which to listen (default: 5000)", 5000)
|
||||
.option("-o, --host <host>", "the host on which to listen (default: localhost)", "localhost")
|
||||
.option(
|
||||
"--only <targets>",
|
||||
"only serve specified targets (valid targets are: functions, hosting)"
|
||||
"only serve specified targets (valid targets are: " + VALID_TARGETS.join(", ") + ")"
|
||||
)
|
||||
.option(
|
||||
"--except <targets>",
|
||||
"serve all except specified targets (valid targets are: functions, hosting)"
|
||||
"serve all except specified targets (valid targets are: " + VALID_TARGETS.join(", ") + ")"
|
||||
)
|
||||
.before(requireConfig)
|
||||
.before(requirePermissions)
|
||||
10
src/commands/setup-emulators-database.js
Normal file
10
src/commands/setup-emulators-database.js
Normal file
@@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
|
||||
const Command = require("../command");
|
||||
const downloadEmulator = require("../emulator/download");
|
||||
|
||||
const name = "database";
|
||||
|
||||
module.exports = new Command("setup:emulators:" + name)
|
||||
.description("downloads the " + name + " emulator")
|
||||
.action(downloadEmulator.bind(this, name));
|
||||
10
src/commands/setup-emulators-firestore.js
Normal file
10
src/commands/setup-emulators-firestore.js
Normal file
@@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
|
||||
const Command = require("../command");
|
||||
const downloadEmulator = require("../emulator/download");
|
||||
|
||||
const name = "firestore";
|
||||
|
||||
module.exports = new Command("setup:emulators:" + name)
|
||||
.description("downloads the " + name + " emulator")
|
||||
.action(downloadEmulator.bind(this, name));
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
var fs = require("fs");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var fetchWebSetup = require("../lib/fetchWebSetup");
|
||||
var logger = require("../lib/logger");
|
||||
var requirePermissions = require("../lib/requirePermissions");
|
||||
var Command = require("../command");
|
||||
var fetchWebSetup = require("../fetchWebSetup");
|
||||
var logger = require("../logger");
|
||||
var requirePermissions = require("../requirePermissions");
|
||||
|
||||
var JS_TEMPLATE = fs.readFileSync(__dirname + "/../templates/setup/web.js", "utf8");
|
||||
var JS_TEMPLATE = fs.readFileSync(__dirname + "/../../templates/setup/web.js", "utf8");
|
||||
|
||||
module.exports = new Command("setup:web")
|
||||
.description("display this project's setup information for the Firebase JS SDK")
|
||||
@@ -3,10 +3,10 @@
|
||||
var _ = require("lodash");
|
||||
var clc = require("cli-color");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var logger = require("../lib/logger");
|
||||
var requireConfig = require("../lib/requireConfig");
|
||||
var utils = require("../lib/utils");
|
||||
var Command = require("../command");
|
||||
var logger = require("../logger");
|
||||
var requireConfig = require("../requireConfig");
|
||||
var utils = require("../utils");
|
||||
|
||||
module.exports = new Command("target:apply <type> <name> <resources...>")
|
||||
.description("apply a deploy target to a resource")
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
var clc = require("cli-color");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var requireConfig = require("../lib/requireConfig");
|
||||
var utils = require("../lib/utils");
|
||||
var Command = require("../command");
|
||||
var requireConfig = require("../requireConfig");
|
||||
var utils = require("../utils");
|
||||
|
||||
module.exports = new Command("target:clear <type> <target>")
|
||||
.description("clear all resources from a named resource target")
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
var clc = require("cli-color");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var requireConfig = require("../lib/requireConfig");
|
||||
var utils = require("../lib/utils");
|
||||
var Command = require("../command");
|
||||
var requireConfig = require("../requireConfig");
|
||||
var utils = require("../utils");
|
||||
|
||||
module.exports = new Command("target:remove <type> <resource>")
|
||||
.description("remove a resource target")
|
||||
@@ -3,10 +3,10 @@
|
||||
var _ = require("lodash");
|
||||
var clc = require("cli-color");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var logger = require("../lib/logger");
|
||||
var requireConfig = require("../lib/requireConfig");
|
||||
var utils = require("../lib/utils");
|
||||
var Command = require("../command");
|
||||
var logger = require("../logger");
|
||||
var requireConfig = require("../requireConfig");
|
||||
var utils = require("../utils");
|
||||
|
||||
function _logTargets(type, targets) {
|
||||
logger.info(clc.cyan("[ " + type + " ]"));
|
||||
@@ -3,13 +3,13 @@
|
||||
var _ = require("lodash");
|
||||
var clc = require("cli-color");
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var Config = require("../lib/config");
|
||||
var identifierToProjectId = require("../lib/identifierToProjectId");
|
||||
var logger = require("../lib/logger");
|
||||
var prompt = require("../lib/prompt");
|
||||
var requireAuth = require("../lib/requireAuth");
|
||||
var utils = require("../lib/utils");
|
||||
var Command = require("../command");
|
||||
var Config = require("../config");
|
||||
var identifierToProjectId = require("../identifierToProjectId");
|
||||
var logger = require("../logger");
|
||||
var prompt = require("../prompt");
|
||||
var requireAuth = require("../requireAuth");
|
||||
var utils = require("../utils");
|
||||
|
||||
var MOVE_KEYS = {
|
||||
rules: "database.rules",
|
||||
@@ -1,13 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
var Command = require("../lib/command");
|
||||
var logger = require("../lib/logger");
|
||||
var requireAuth = require("../lib/requireAuth");
|
||||
var api = require("../lib/api");
|
||||
var Command = require("../command");
|
||||
var logger = require("../logger");
|
||||
var requireAuth = require("../requireAuth");
|
||||
var api = require("../api");
|
||||
var clc = require("cli-color");
|
||||
var utils = require("../lib/utils");
|
||||
var utils = require("../utils");
|
||||
var _ = require("lodash");
|
||||
var prompt = require("../lib/prompt");
|
||||
var prompt = require("../prompt");
|
||||
|
||||
var listAliases = function(options) {
|
||||
if (options.rc.hasProjects) {
|
||||
@@ -1,10 +1,10 @@
|
||||
"use strict";
|
||||
|
||||
var logger = require("../../logger");
|
||||
var utils = require("../../utils");
|
||||
var track = require("../../track");
|
||||
var listFiles = require("../../listFiles");
|
||||
const Uploader = require("./uploader");
|
||||
var { listFiles } = require("../../listFiles");
|
||||
var logger = require("../../logger");
|
||||
var track = require("../../track");
|
||||
var utils = require("../../utils");
|
||||
|
||||
var clc = require("cli-color");
|
||||
var SPINNER = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
||||
@@ -26,7 +26,7 @@ function _progressMessage(message, current, total) {
|
||||
"/" +
|
||||
total +
|
||||
"] (" +
|
||||
clc.bold.green(Math.floor(current * 1.0 / total * 100).toString() + "%") +
|
||||
clc.bold.green(Math.floor(((current * 1.0) / total) * 100).toString() + "%") +
|
||||
")"
|
||||
);
|
||||
}
|
||||
46
src/emulator/constants.js
Normal file
46
src/emulator/constants.js
Normal file
@@ -0,0 +1,46 @@
|
||||
"use strict";
|
||||
|
||||
var userHome = require("user-home");
|
||||
var path = require("path");
|
||||
|
||||
const CACHE_DIR =
|
||||
process.env.FIREBASE_EMULATORS_PATH || path.join(userHome, ".cache", "firebase", "emulators");
|
||||
|
||||
const _emulators = {
|
||||
database: {
|
||||
name: "database",
|
||||
instance: null,
|
||||
port: 9000,
|
||||
stdout: null,
|
||||
cacheDir: CACHE_DIR,
|
||||
remoteUrl:
|
||||
"https://storage.googleapis.com/firebase-preview-drop/emulator/firebase-database-emulator-v3.5.0.jar",
|
||||
localPath: path.join(CACHE_DIR, "firebase-database-emulator-v3.5.0.jar"),
|
||||
},
|
||||
firestore: {
|
||||
name: "firestore",
|
||||
instance: null,
|
||||
port: 8080,
|
||||
stdout: null,
|
||||
cacheDir: CACHE_DIR,
|
||||
remoteUrl:
|
||||
"https://storage.googleapis.com/firebase-preview-drop/emulator/cloud-firestore-emulator-v1.2.0.jar",
|
||||
localPath: path.join(CACHE_DIR, "cloud-firestore-emulator-v1.2.0.jar"),
|
||||
},
|
||||
};
|
||||
|
||||
const _commands = {
|
||||
database: {
|
||||
binary: "java",
|
||||
args: ["-jar", _emulators.database.localPath, "--port", _emulators.database.port],
|
||||
},
|
||||
firestore: {
|
||||
binary: "java",
|
||||
args: ["-jar", _emulators.firestore.localPath, "--port", _emulators.firestore.port],
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
emulators: _emulators,
|
||||
commands: _commands,
|
||||
};
|
||||
23
src/emulator/download.js
Normal file
23
src/emulator/download.js
Normal file
@@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
|
||||
const fs = require("fs-extra");
|
||||
const request = require("request");
|
||||
const emulatorConstants = require("./constants");
|
||||
const utils = require("../utils");
|
||||
|
||||
module.exports = name => {
|
||||
return new Promise((resolve, reject) => {
|
||||
utils.logLabeledBullet(name, "downloading emulator...");
|
||||
let emulator = emulatorConstants.emulators[name];
|
||||
fs.ensureDirSync(emulator.cacheDir);
|
||||
let req = request.get(emulator.remoteUrl);
|
||||
let writeStream = fs.createWriteStream(emulator.localPath);
|
||||
req.on("error", err => reject(err));
|
||||
req.on("end", () => {
|
||||
writeStream.close();
|
||||
fs.chmodSync(emulator.localPath, 0o755);
|
||||
resolve();
|
||||
});
|
||||
req.pipe(writeStream);
|
||||
});
|
||||
};
|
||||
@@ -1,7 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
var _ = require("lodash");
|
||||
var FirebaseError = require("../lib/error");
|
||||
var FirebaseError = require("./error");
|
||||
|
||||
module.exports = function(options, validTargets) {
|
||||
var targets = validTargets.filter(function(t) {
|
||||
@@ -3,11 +3,11 @@
|
||||
var clc = require("cli-color");
|
||||
var ProgressBar = require("progress");
|
||||
|
||||
var api = require("../../lib/api");
|
||||
var firestore = require("../../lib/gcp/firestore");
|
||||
var FirebaseError = require("../../lib/error");
|
||||
var logger = require("../../lib/logger");
|
||||
var utils = require("../../lib/utils");
|
||||
var api = require("../api");
|
||||
var firestore = require("../gcp/firestore");
|
||||
var FirebaseError = require("../error");
|
||||
var logger = require("../logger");
|
||||
var utils = require("../utils");
|
||||
|
||||
/**
|
||||
* Construct a new Firestore delete operation.
|
||||
@@ -1,9 +1,9 @@
|
||||
"use strict";
|
||||
|
||||
var api = require("../../lib/api");
|
||||
var api = require("../api");
|
||||
var clc = require("cli-color");
|
||||
var FirebaseError = require("../../lib/error");
|
||||
var loadCJSON = require("../../lib/loadCJSON");
|
||||
var FirebaseError = require("../error");
|
||||
var loadCJSON = require("../loadCJSON");
|
||||
|
||||
var VALID_INDEX_MODES = ["ASCENDING", "DESCENDING", "ARRAY_CONTAINS"];
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user