backend-manager 2.5.56 → 2.5.58

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "backend-manager",
3
- "version": "2.5.56",
3
+ "version": "2.5.58",
4
4
  "description": "Quick tools for developing Firebase functions",
5
5
  "main": "src/manager/index.js",
6
6
  "bin": {
@@ -61,4 +61,4 @@
61
61
  "wonderful-fetch": "^0.0.17",
62
62
  "yargs": "^17.7.1"
63
63
  }
64
- }
64
+ }
package/src/cli/cli.js CHANGED
@@ -227,6 +227,7 @@ Main.prototype.setup = async function () {
227
227
  self.runtimeConfigJSON = jetpack.read(`${self.firebaseProjectPath}/functions/.runtimeconfig.json`) || '{}';
228
228
  self.remoteconfigJSON = jetpack.read(`${self.firebaseProjectPath}/remoteconfig.template.json`) || '{}';
229
229
  self.projectPackage = jetpack.read(`${self.firebaseProjectPath}/package.json`) || '{}';
230
+ self.bemConfigJSON = jetpack.read(`${self.firebaseProjectPath}/functions/backend-manager-config.json`) || '{}';
230
231
 
231
232
  self.gitignore = jetpack.read(`${self.firebaseProjectPath}/functions/.gitignore`) || '';
232
233
  if (!self.package) {
@@ -261,19 +262,18 @@ Main.prototype.setup = async function () {
261
262
  self.bemApiURL = `https://us-central1-${_.get(self.firebaseRC, 'projects.default')}.cloudfunctions.net/bm_api?authenticationToken=${_.get(self.runtimeConfigJSON, 'backend_manager.key')}`;
262
263
  // const prepareStatsURL = `https://us-central1-${_.get(self.firebaseRC, 'projects.default')}.cloudfunctions.net/bm_api?authenticationToken=undefined`;
263
264
 
264
-
265
-
266
- log(`Id: `, chalk.bold(`${self.projectName}`));
267
- log(`Url:`, chalk.bold(`${self.projectUrl}`));
265
+ // Log
266
+ log(`ID: `, chalk.bold(`${self.projectName}`));
267
+ log(`URL:`, chalk.bold(`${self.projectUrl}`));
268
268
 
269
269
  if (!self.package || !self.package.engines || !self.package.engines.node) {
270
270
  throw new Error('Missing <engines.node> in package.json')
271
271
  }
272
272
 
273
-
274
273
  // Tests
275
274
  await self.test('is a firebase project', async function () {
276
275
  let exists = jetpack.exists(`${self.firebaseProjectPath}/firebase.json`);
276
+
277
277
  return exists;
278
278
  }, fix_isFirebase);
279
279
 
@@ -281,8 +281,8 @@ Main.prototype.setup = async function () {
281
281
  // return !!self.package.dependencies && !!self.package.devDependencies;
282
282
  // let gitignore = jetpack.read(path.resolve(`${__dirname}/../../templates/gitignore.md`));
283
283
  let nvmrc = jetpack.read(`${self.firebaseProjectPath}/functions/.nvmrc`) || '';
284
+
284
285
  return nvmrc === `v${CLI_CONFIG.node}/*`
285
-
286
286
  }, fix_nvmrc);
287
287
 
288
288
  await self.test(`using node ${CLI_CONFIG.node}`, function () {
@@ -390,22 +390,25 @@ Main.prototype.setup = async function () {
390
390
  let runtimeconfig = JSON.parse(jetpack.read(`${self.firebaseProjectPath}/functions/.runtimeconfig.json`) || '{}');
391
391
  let ogPaths = getObjectPaths(runtimeconfigTemplate).split('\n');
392
392
  let pass = true;
393
+
393
394
  for (var i = 0, l = ogPaths.length; i < l; i++) {
394
395
  let item = ogPaths[i];
395
396
  if (!item) {continue}
396
- pass = (_.get(runtimeconfig, item, undefined));
397
+ pass = _.get(runtimeconfig, item, undefined);
397
398
  if (typeof pass === 'undefined') {
398
399
  break;
399
400
  }
400
401
  }
401
- return !!pass;
402
402
 
403
+ return !!pass;
403
404
  }, fix_runtimeConfig);
404
405
 
405
406
  await self.test('using proper backend-manager-config.json', async function () {
406
- let bemConfig = JSON.parse(jetpack.read(`${self.firebaseProjectPath}/functions/backend-manager-config.json`) || '{}');
407
+ const bemConfig = JSON.parse(self.bemConfigJSON);
408
+
407
409
  let ogPaths = getObjectPaths(bemConfigTemplate).split('\n');
408
410
  let pass = true;
411
+
409
412
  for (var i = 0, l = ogPaths.length; i < l; i++) {
410
413
  let item = ogPaths[i];
411
414
  if (!item) {continue}
@@ -414,8 +417,13 @@ Main.prototype.setup = async function () {
414
417
  break;
415
418
  }
416
419
  }
417
- return !!pass;
418
420
 
421
+ if (self.projectName !== bemConfig.firebaseConfig.projectId) {
422
+ console.error(chalk.red('Mismatch between project name and firebaseConfig.projectId in backend-manager-config.json'));
423
+ return false;
424
+ }
425
+
426
+ return !!pass;
419
427
  }, fix_bemConfig);
420
428
 
421
429
  await self.test('has service-account.json', function () {
@@ -769,6 +777,12 @@ async function fix_isFirebase(self) {
769
777
  return;
770
778
  };
771
779
 
780
+ async function fix_isFirebase(self) {
781
+ log(chalk.red(`self is not a firebase project. Please use ${chalk.bold('firebase-init')} to set up.`));
782
+ throw '';
783
+ return;
784
+ };
785
+
772
786
  function fix_projpackage(self) {
773
787
  return new Promise(function(resolve, reject) {
774
788
  self.projectPackage = self.projectPackage || {};
@@ -595,6 +595,7 @@ Manager.prototype.storage = function (options) {
595
595
 
596
596
  if (!self._internal.storage[options.name]) {
597
597
  options.temporary = typeof options.temporary === 'undefined' ? false : options.temporary;
598
+ options.clear = typeof options.clear === 'undefined' ? true : options.clear;
598
599
 
599
600
  const low = require('lowdb');
600
601
  const FileSync = require('lowdb/adapters/FileSync');
@@ -602,8 +603,12 @@ Manager.prototype.storage = function (options) {
602
603
  ? `${require('os').tmpdir()}/${options.name}.json`
603
604
  : `./.data/${options.name}.json`;
604
605
  const adapter = new FileSync(dbPath);
605
-
606
- if (options.temporary && self.assistant.meta.environment === 'development') {
606
+
607
+ if (
608
+ options.temporary
609
+ && self.assistant.meta.environment === 'development'
610
+ && options.clear
611
+ ) {
607
612
  self.assistant.log('Removed temporary file @', dbPath);
608
613
  jetpack.remove(dbPath);
609
614
  }