firebase-tools 13.15.2 → 13.15.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -101,7 +101,8 @@ async function prepareHelper(context, options, payload, wantExtensions, noDelete
101
101
  async function prepareDynamicExtensions(context, options, payload, builds) {
102
102
  const filters = (0, functionsDeployHelper_1.getEndpointFilters)(options);
103
103
  const extensions = (0, common_1.extractExtensionsFromBuilds)(builds, filters);
104
- if (Object.keys(extensions).length === 0) {
104
+ const isApiEnabled = await (0, extensionsHelper_1.checkExtensionsApiEnabled)(options);
105
+ if (Object.keys(extensions).length === 0 && !isApiEnabled) {
105
106
  return;
106
107
  }
107
108
  const projectId = (0, projectUtils_1.needProjectId)(options);
@@ -109,9 +110,7 @@ async function prepareDynamicExtensions(context, options, payload, builds) {
109
110
  const aliases = (0, projectUtils_1.getAliases)(options, projectId);
110
111
  const projectDir = options.config.projectDir;
111
112
  const isPrimaryCall = !!options.only && !options.only.split(",").includes("extensions");
112
- if (isPrimaryCall) {
113
- await (0, extensionsHelper_1.ensureExtensionsApiEnabled)(options);
114
- }
113
+ await (0, extensionsHelper_1.ensureExtensionsApiEnabled)(options);
115
114
  await (0, requirePermissions_1.requirePermissions)(options, ["firebaseextensions.instances.list"]);
116
115
  const dynamicWant = await planner.wantDynamic({
117
116
  projectId,
@@ -11,6 +11,12 @@ const etags_1 = require("../../extensions/etags");
11
11
  const track_1 = require("../../track");
12
12
  async function release(context, options, payload) {
13
13
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
14
+ if (!payload.instancesToCreate &&
15
+ !payload.instancesToUpdate &&
16
+ !payload.instancesToConfigure &&
17
+ !payload.instancesToDelete) {
18
+ return;
19
+ }
14
20
  const projectId = (0, projectUtils_1.needProjectId)(options);
15
21
  const errorHandler = new errors_1.ErrorHandler();
16
22
  const deploymentQueue = new queue_1.default({
@@ -7,7 +7,7 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
7
7
  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.diagnoseAndFixProject = exports.getSourceOrigin = exports.isLocalOrURLPath = exports.isLocalPath = exports.isUrlPath = exports.instanceIdExists = exports.promptForRepeatInstance = exports.promptForOfficialExtension = exports.displayReleaseNotes = exports.getPublisherProjectFromName = exports.createSourceFromLocation = exports.getMissingPublisherError = exports.uploadExtensionVersionFromLocalSource = exports.uploadExtensionVersionFromGitHubSource = exports.unpackExtensionState = exports.getNextVersionByStage = exports.ensureExtensionsPublisherApiEnabled = exports.ensureExtensionsApiEnabled = exports.promptForExtensionRoot = exports.promptForValidRepoURI = exports.promptForValidInstanceId = exports.validateSpec = exports.validateCommandLineParams = exports.populateDefaultParams = exports.substituteSecretParams = exports.substituteParams = exports.getFirebaseProjectParams = exports.getDBInstanceFromURL = exports.resourceTypeToNiceName = exports.AUTOPOULATED_PARAM_PLACEHOLDERS = exports.EXTENSIONS_BUCKET_NAME = exports.URL_REGEX = exports.logPrefix = exports.SourceOrigin = exports.SpecParamType = void 0;
10
+ exports.diagnoseAndFixProject = exports.getSourceOrigin = exports.isLocalOrURLPath = exports.isLocalPath = exports.isUrlPath = exports.instanceIdExists = exports.promptForRepeatInstance = exports.promptForOfficialExtension = exports.displayReleaseNotes = exports.getPublisherProjectFromName = exports.createSourceFromLocation = exports.getMissingPublisherError = exports.uploadExtensionVersionFromLocalSource = exports.uploadExtensionVersionFromGitHubSource = exports.unpackExtensionState = exports.getNextVersionByStage = exports.ensureExtensionsPublisherApiEnabled = exports.ensureExtensionsApiEnabled = exports.checkExtensionsApiEnabled = exports.promptForExtensionRoot = exports.promptForValidRepoURI = exports.promptForValidInstanceId = exports.validateSpec = exports.validateCommandLineParams = exports.populateDefaultParams = exports.substituteSecretParams = exports.substituteParams = exports.getFirebaseProjectParams = exports.getDBInstanceFromURL = exports.resourceTypeToNiceName = exports.AUTOPOULATED_PARAM_PLACEHOLDERS = exports.EXTENSIONS_BUCKET_NAME = exports.URL_REGEX = exports.logPrefix = exports.SourceOrigin = exports.SpecParamType = void 0;
11
11
  const clc = require("colorette");
12
12
  const ora = require("ora");
13
13
  const semver = require("semver");
@@ -385,6 +385,14 @@ async function promptForReleaseStage(args) {
385
385
  }
386
386
  return stage;
387
387
  }
388
+ async function checkExtensionsApiEnabled(options) {
389
+ const projectId = (0, projectUtils_1.getProjectId)(options);
390
+ if (!projectId) {
391
+ return false;
392
+ }
393
+ return await (0, ensureApiEnabled_1.check)(projectId, (0, api_1.extensionsOrigin)(), "extensions", options.markdown);
394
+ }
395
+ exports.checkExtensionsApiEnabled = checkExtensionsApiEnabled;
388
396
  async function ensureExtensionsApiEnabled(options) {
389
397
  const projectId = (0, projectUtils_1.getProjectId)(options);
390
398
  if (!projectId) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "firebase-tools",
3
- "version": "13.15.2",
3
+ "version": "13.15.3",
4
4
  "description": "Command-Line Interface for Firebase",
5
5
  "main": "./lib/index.js",
6
6
  "bin": {
@@ -124,7 +124,7 @@
124
124
  "uuid": "^8.3.2",
125
125
  "winston": "^3.0.0",
126
126
  "winston-transport": "^4.4.0",
127
- "ws": "^7.2.3",
127
+ "ws": "^7.5.10",
128
128
  "yaml": "^2.4.1"
129
129
  }
130
130
  }