avo 3.0.0 → 3.2.0

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.
Files changed (3) hide show
  1. package/Avo.js +20 -14
  2. package/cli.js +120 -18
  3. package/package.json +1 -1
package/Avo.js CHANGED
@@ -1,4 +1,4 @@
1
- // Generated by Avo VERSION 107.29.0. You should never have to make changes to this file.
1
+ // Generated by Avo VERSION 108.28.0. You should never have to make changes to this file.
2
2
  // If you find yourself in the situation where you have to edit the file please contact us at hi@avo.app.
3
3
  // If you encounter a git conflict in this file run `avo pull` and it will be resolved automatically.
4
4
  /* tslint:disable */
@@ -275,8 +275,8 @@ function _avo_invoke_payload(body) {
275
275
  _avo_invoke = function _avo_invoke(env, eventId, hash, messages, origin) {
276
276
  try {
277
277
  _avo_invoke_payload({
278
- "ac": "DL73ZlCScWgNkQwC3eRv",
279
- "br": "master",
278
+ "ac": "7Lk2c1ODN76gJr4AFEIk",
279
+ "br": "qsHHWtDYF",
280
280
  "en": env,
281
281
  "ev": eventId,
282
282
  "ha": hash,
@@ -300,8 +300,8 @@ _avo_invoke = function _avo_invoke(env, eventId, hash, messages, origin) {
300
300
  _avo_invoke_meta = function _avo_invoke_meta(env, type, messages, origin) {
301
301
  try {
302
302
  _avo_invoke_payload({
303
- "ac": "DL73ZlCScWgNkQwC3eRv",
304
- "br": "master",
303
+ "ac": "7Lk2c1ODN76gJr4AFEIk",
304
+ "br": "qsHHWtDYF",
305
305
  "en": env,
306
306
  "ty": type,
307
307
  "sc": "fwtXqAc0fCLy7b7oGW40",
@@ -447,7 +447,7 @@ export function setAvoLogger(avoLogger) {
447
447
  * @param properties.email: The user's email
448
448
  * @param properties.authenticationMethod: Type of authentication method used by user logging in or signing up
449
449
  *
450
- * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/events/54e92613-090c-4f0b-afeb-ed720eff3422}
450
+ * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/branches/qsHHWtDYF/events/54e92613-090c-4f0b-afeb-ed720eff3422}
451
451
  */
452
452
  export function signedIn(properties) {
453
453
  // assert properties
@@ -502,7 +502,7 @@ export function signedIn(properties) {
502
502
  * @param properties.signInError: no description
503
503
  * @param properties.emailInput: The email address that is put into the email input on the landing page
504
504
  *
505
- * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/events/7aa64217-bb89-44f5-9a68-f3bc0255a864}
505
+ * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/branches/qsHHWtDYF/events/7aa64217-bb89-44f5-9a68-f3bc0255a864}
506
506
  */
507
507
  export function signInFailed(properties) {
508
508
  // assert properties
@@ -562,8 +562,9 @@ export function signInFailed(properties) {
562
562
  * @param properties.branchName: The name of the branch that this event is related to.
563
563
  * @param properties.schemaName: Name of the schema that this event is related to.
564
564
  * @param properties.force: Whether the command was called with --force parameter
565
+ * @param properties.forceFeatures: The features overrides provided to the cli pull
565
566
  *
566
- * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/events/qqpIQEK11}
567
+ * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/branches/qsHHWtDYF/events/qqpIQEK11}
567
568
  */
568
569
  export function cliInvoked(properties) {
569
570
  // assert properties
@@ -571,7 +572,7 @@ export function cliInvoked(properties) {
571
572
  let messages = [];
572
573
  // debug console in Avo
573
574
  if (!__AVO_NOOP__) {
574
- _avo_invoke(__AVO_ENV__, "qqpIQEK11", "33cb14472604cc190f9a5added26d5adb763245b0dc9a2138dc2a4b2cc5a48ef", messages.map(m => Object.assign({}, { tag: m.tag, propertyId: m.propertyId, additionalProperties: m.additionalProperties, actualType: m.actualType })), 'event');
575
+ _avo_invoke(__AVO_ENV__, "qqpIQEK11", "f424cee5a989c90c69502a11d76705f3b6bc0d3311322c59f5f42ef13269ab2e", messages.map(m => Object.assign({}, { tag: m.tag, propertyId: m.propertyId, additionalProperties: m.additionalProperties, actualType: m.actualType })), 'event');
575
576
  }
576
577
  InternalAvoLogger.logEventSent("Cli Invoked", {
577
578
  "Cli Action": properties.cliAction,
@@ -581,6 +582,7 @@ export function cliInvoked(properties) {
581
582
  "Branch Name": properties.branchName,
582
583
  "Schema Name": properties.schemaName,
583
584
  "Force": properties.force,
585
+ "Force Features": properties.forceFeatures,
584
586
  "Client": sysClient,
585
587
  "Version": sysVersion,
586
588
  }, {});
@@ -598,6 +600,9 @@ export function cliInvoked(properties) {
598
600
  if (properties.force !== undefined && properties.force !== null) {
599
601
  eventProperties["Force"] = properties.force;
600
602
  }
603
+ if (properties.forceFeatures !== undefined && properties.forceFeatures !== null) {
604
+ eventProperties["Force Features"] = properties.forceFeatures;
605
+ }
601
606
  eventProperties["Client"] = sysClient;
602
607
  eventProperties["Version"] = sysVersion;
603
608
  // @ts-ignore
@@ -615,9 +620,10 @@ export function cliInvoked(properties) {
615
620
  "Branch Name": properties.branchName,
616
621
  "Schema Name": properties.schemaName,
617
622
  "Force": properties.force,
623
+ "Force Features": properties.forceFeatures,
618
624
  "Client": sysClient,
619
625
  "Version": sysVersion,
620
- }, "qqpIQEK11", "33cb14472604cc190f9a5added26d5adb763245b0dc9a2138dc2a4b2cc5a48ef")
626
+ }, "qqpIQEK11", "f424cee5a989c90c69502a11d76705f3b6bc0d3311322c59f5f42ef13269ab2e")
621
627
  : Promise.resolve(),
622
628
  // destination CustomNodeJS
623
629
  CustomNodeJS.logEvent(properties.userId_, "Cli Invoked", Object.assign({}, eventProperties)),
@@ -635,7 +641,7 @@ export function cliInvoked(properties) {
635
641
  * @param properties.userId_: User Id is required for server sources.
636
642
  * @param properties.cliInvokedByCi: True iff process.env.CI is set.
637
643
  *
638
- * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/events/JCwfVYXTS}
644
+ * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/branches/qsHHWtDYF/events/JCwfVYXTS}
639
645
  */
640
646
  export function cliInstalled(properties) {
641
647
  // assert properties
@@ -689,7 +695,7 @@ export function cliInstalled(properties) {
689
695
  * @param properties.branchName: The name of the branch that this event is related to.
690
696
  * @param properties.schemaName: Name of the schema that this event is related to.
691
697
  *
692
- * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/events/Un5dTEMQYy}
698
+ * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/branches/qsHHWtDYF/events/Un5dTEMQYy}
693
699
  */
694
700
  export function cliConflictResolveAttempted(properties) {
695
701
  // assert properties
@@ -757,7 +763,7 @@ export function cliConflictResolveAttempted(properties) {
757
763
  * @param properties.branchId: The ID of the branch that this event is related to.
758
764
  * @param properties.branchName: The name of the branch that this event is related to.
759
765
  *
760
- * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/events/4ZhoijIA2U}
766
+ * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/branches/qsHHWtDYF/events/4ZhoijIA2U}
761
767
  */
762
768
  export function cliConflictResolveFailed(properties) {
763
769
  // assert properties
@@ -825,7 +831,7 @@ export function cliConflictResolveFailed(properties) {
825
831
  * @param properties.branchId: The ID of the branch that this event is related to.
826
832
  * @param properties.branchName: The name of the branch that this event is related to.
827
833
  *
828
- * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/events/yj_554q43i}
834
+ * @see {@link https://www.avo.app/schemas/fwtXqAc0fCLy7b7oGW40/branches/qsHHWtDYF/events/yj_554q43i}
829
835
  */
830
836
  export function cliConflictResolveSucceeded(properties) {
831
837
  // assert properties
package/cli.js CHANGED
@@ -167,10 +167,13 @@ function _request(options) {
167
167
  }
168
168
  return resolve(JSON.parse(response.body));
169
169
  })
170
- .catch((err) => reject(new AvoError(`Server Error. ${err.message}`, {
171
- original: err,
172
- exit: 2,
173
- })));
170
+ .catch((err) => {
171
+ report.error(`${responseToError(err.response)}\n`);
172
+ reject(new AvoError(`Server Error. ${err.message}`, {
173
+ original: err,
174
+ exit: 2,
175
+ }));
176
+ });
174
177
  });
175
178
  }
176
179
  const _appendQueryData = (urlPath, data) => {
@@ -740,7 +743,11 @@ function loadAvoJsonOrInit({ argv, skipPullMaster, skipInit }) {
740
743
  }
741
744
  return Promise.resolve(JSON.parse(avoFile));
742
745
  })
743
- .then((json) => Promise.resolve({ ...json, force: argv.f === true }))
746
+ .then((json) => Promise.resolve({
747
+ ...json,
748
+ force: argv.f === true,
749
+ forceFeatures: argv.forceFeatures,
750
+ }))
744
751
  .then(validateAvoJson)
745
752
  .catch((error) => {
746
753
  if (error.code === 'ENOENT' && skipInit) {
@@ -758,7 +765,7 @@ function writeAvoJson(json) {
758
765
  indent: 2,
759
766
  }).then(() => json);
760
767
  }
761
- function codegen(json, { schema, sources: targets, warnings, errors }) {
768
+ function codegen(json, { schema, sources: targets, warnings, success, errors }) {
762
769
  const newJson = { ...JSON.parse(JSON.stringify(json)), schema };
763
770
  newJson.sources = newJson.sources.map((source) => {
764
771
  const target = targets.find(({ id }) => id === source.id);
@@ -769,6 +776,7 @@ function codegen(json, { schema, sources: targets, warnings, errors }) {
769
776
  name: target.name,
770
777
  id: target.id,
771
778
  path: source.path,
779
+ interfacePath: source.interfacePath,
772
780
  branchId: target.branchId,
773
781
  updatedAt: target.updatedAt,
774
782
  };
@@ -788,6 +796,11 @@ function codegen(json, { schema, sources: targets, warnings, errors }) {
788
796
  report.warn(warning);
789
797
  });
790
798
  }
799
+ if (success !== undefined && success !== null && Array.isArray(success)) {
800
+ success.forEach((success) => {
801
+ report.success(success);
802
+ });
803
+ }
791
804
  report.success(`Analytics ${targets.length > 1 ? 'wrappers' : 'wrapper'} successfully updated`);
792
805
  targets.forEach((target) => {
793
806
  const source = newJson.sources.find(({ id }) => id === target.id);
@@ -878,18 +891,61 @@ function selectSource(sourceToAdd, json) {
878
891
  },
879
892
  });
880
893
  }
881
- return inquirer.prompt(prompts).then((answer) => {
882
- const relativePath = path.relative(process.cwd(), path.join(path.resolve(answer.folder), answer.filename));
894
+ return inquirer.prompt(prompts).then(async (answer) => {
895
+ let answerSource;
896
+ if (sourceToAdd) {
897
+ answerSource = sources.find((soruceToFind) => matchesSource(soruceToFind, sourceToAdd));
898
+ }
899
+ else {
900
+ answerSource = answer.source;
901
+ }
902
+ const moreAnswers = await inquirer.prompt(answerSource.canHaveInterfaceFile === true
903
+ ? [
904
+ {
905
+ type: 'fuzzypath',
906
+ name: 'folder',
907
+ excludePath: (maybeExcludePath) => maybeExcludePath.startsWith('node_modules') ||
908
+ maybeExcludePath.startsWith('.git'),
909
+ itemType: 'directory',
910
+ rootPath: '.',
911
+ message: 'Select a folder to save the analytics wrapper interface file in',
912
+ default: '.',
913
+ suggestOnly: false,
914
+ depthLimit: 10,
915
+ },
916
+ {
917
+ type: 'input',
918
+ name: 'interfaceFilename',
919
+ message: (_answers) => 'Select a filename for the analytics wrapper interface file',
920
+ // @ts-ignore
921
+ default() {
922
+ return answerSource.filenameHint;
923
+ },
924
+ },
925
+ ]
926
+ : []);
927
+ const hasMultiPath = moreAnswers.interfaceFilename != null;
928
+ const relativeMainPath = path.relative(process.cwd(), path.join(path.resolve(answer.folder), answer.filename));
929
+ let relativeInterfacePath = relativeMainPath;
930
+ if (hasMultiPath) {
931
+ relativeInterfacePath = path.relative(process.cwd(), path.join(path.resolve(answer.folder), moreAnswers.interfaceFilename));
932
+ }
883
933
  let source;
884
934
  if (sourceToAdd) {
885
935
  source = sources.find((sourceToFind) => matchesSource(sourceToFind, sourceToAdd));
886
- source = { id: source.id, name: source.name, path: relativePath };
936
+ source = {
937
+ id: source.id,
938
+ name: source.name,
939
+ path: relativeMainPath,
940
+ interfacePath: relativeInterfacePath,
941
+ };
887
942
  }
888
943
  else {
889
944
  source = {
890
945
  id: answer.source.id,
891
946
  name: answer.source.name,
892
- path: relativePath,
947
+ path: relativeMainPath,
948
+ interfacePath: relativeInterfacePath,
893
949
  };
894
950
  }
895
951
  sources = (json.sources ?? []).concat([source]);
@@ -922,8 +978,10 @@ function pull(sourceFilter, json) {
922
978
  sources: sources.map((source) => ({
923
979
  id: source.id,
924
980
  path: source.path,
981
+ interfacePath: source.interfacePath,
925
982
  })),
926
983
  force: json.force ?? false,
984
+ forceFeatures: json.forceFeatures,
927
985
  },
928
986
  }))
929
987
  .then((result) => {
@@ -1254,6 +1312,9 @@ function logout(refreshToken) {
1254
1312
  conf.delete('tokens');
1255
1313
  }
1256
1314
  }
1315
+ function parseForceFeaturesParam(forceFeatures) {
1316
+ return forceFeatures?.split(',').map((it) => it.trim());
1317
+ }
1257
1318
  yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1258
1319
  .usage('$0 command')
1259
1320
  .scriptName('avo')
@@ -1263,12 +1324,6 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1263
1324
  default: false,
1264
1325
  describe: 'make output more verbose',
1265
1326
  type: 'boolean',
1266
- })
1267
- .option('f', {
1268
- alias: 'force',
1269
- describe: 'Proceed with merge when incoming branch is open',
1270
- default: false,
1271
- type: 'boolean',
1272
1327
  })
1273
1328
  .command({
1274
1329
  command: 'track-install',
@@ -1296,6 +1351,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1296
1351
  cliAction: Avo.CliAction.INIT,
1297
1352
  cliInvokedByCi: invokedByCi(),
1298
1353
  force: undefined,
1354
+ forceFeatures: undefined,
1299
1355
  });
1300
1356
  report.info(`Avo is already initialized for workspace ${cyan(json.schema.name)} (${file('avo.json')} exists)`);
1301
1357
  return Promise.resolve();
@@ -1309,6 +1365,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1309
1365
  cliAction: Avo.CliAction.INIT,
1310
1366
  cliInvokedByCi: invokedByCi(),
1311
1367
  force: undefined,
1368
+ forceFeatures: undefined,
1312
1369
  });
1313
1370
  return requireAuth(argv, () => init()
1314
1371
  .then(writeAvoJson)
@@ -1326,6 +1383,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1326
1383
  cliAction: Avo.CliAction.INIT,
1327
1384
  cliInvokedByCi: invokedByCi(),
1328
1385
  force: undefined,
1386
+ forceFeatures: undefined,
1329
1387
  });
1330
1388
  });
1331
1389
  },
@@ -1333,8 +1391,21 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1333
1391
  .command({
1334
1392
  command: 'pull [source]',
1335
1393
  desc: 'Pull analytics wrappers from Avo workspace',
1336
- builder: (yargs) => yargs.option('branch', {
1394
+ builder: (yargs) => yargs
1395
+ .option('branch', {
1337
1396
  describe: 'Name of Avo branch to pull from',
1397
+ default: 'main',
1398
+ type: 'string',
1399
+ })
1400
+ .option('f', {
1401
+ alias: 'force',
1402
+ describe: 'Proceed ignoring the unsupported features for given source',
1403
+ default: false,
1404
+ type: 'boolean',
1405
+ })
1406
+ .option('forceFeatures', {
1407
+ describe: 'Optional comma separated list of features to force enable',
1408
+ default: undefined,
1338
1409
  type: 'string',
1339
1410
  }),
1340
1411
  handler: (argv) => {
@@ -1348,7 +1419,8 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1348
1419
  userId_: installIdOrUserId(),
1349
1420
  cliAction: Avo.CliAction.PULL,
1350
1421
  cliInvokedByCi: invokedByCi(),
1351
- force: undefined,
1422
+ force: argv.f === true,
1423
+ forceFeatures: parseForceFeaturesParam(argv.forceFeatures),
1352
1424
  });
1353
1425
  requireAuth(argv, () => {
1354
1426
  if (argv.branch && json.branch.name !== argv.branch) {
@@ -1370,6 +1442,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1370
1442
  cliAction: Avo.CliAction.PULL,
1371
1443
  cliInvokedByCi: invokedByCi(),
1372
1444
  force: undefined,
1445
+ forceFeatures: undefined,
1373
1446
  });
1374
1447
  throw error;
1375
1448
  });
@@ -1390,6 +1463,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1390
1463
  cliAction: Avo.CliAction.CHECKOUT,
1391
1464
  cliInvokedByCi: invokedByCi(),
1392
1465
  force: undefined,
1466
+ forceFeatures: undefined,
1393
1467
  });
1394
1468
  report.info(`Currently on branch '${json.branch.name}'`);
1395
1469
  requireAuth(argv, () => checkout(argv.branch, json).then(writeAvoJson));
@@ -1404,6 +1478,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1404
1478
  cliAction: Avo.CliAction.CHECKOUT,
1405
1479
  cliInvokedByCi: invokedByCi(),
1406
1480
  force: undefined,
1481
+ forceFeatures: undefined,
1407
1482
  });
1408
1483
  throw error;
1409
1484
  }),
@@ -1428,6 +1503,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1428
1503
  cliAction: Avo.CliAction.SOURCE,
1429
1504
  cliInvokedByCi: invokedByCi(),
1430
1505
  force: undefined,
1506
+ forceFeatures: undefined,
1431
1507
  });
1432
1508
  if (!json.sources || !json.sources.length) {
1433
1509
  report.info(`No sources defined in ${file('avo.json')}. Run ${cmd('avo source add')} to add sources`);
@@ -1449,6 +1525,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1449
1525
  cliAction: Avo.CliAction.SOURCE,
1450
1526
  cliInvokedByCi: invokedByCi(),
1451
1527
  force: undefined,
1528
+ forceFeatures: undefined,
1452
1529
  });
1453
1530
  throw error;
1454
1531
  });
@@ -1469,6 +1546,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1469
1546
  cliAction: Avo.CliAction.SOURCE_ADD,
1470
1547
  cliInvokedByCi: invokedByCi(),
1471
1548
  force: undefined,
1549
+ forceFeatures: undefined,
1472
1550
  });
1473
1551
  requireAuth(argv, () => {
1474
1552
  selectSource(argv.source, json).then(writeAvoJson);
@@ -1484,6 +1562,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1484
1562
  cliAction: Avo.CliAction.SOURCE_ADD,
1485
1563
  cliInvokedByCi: invokedByCi(),
1486
1564
  force: undefined,
1565
+ forceFeatures: undefined,
1487
1566
  });
1488
1567
  throw error;
1489
1568
  });
@@ -1505,6 +1584,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1505
1584
  cliAction: Avo.CliAction.SOURCE_REMOVE,
1506
1585
  cliInvokedByCi: invokedByCi(),
1507
1586
  force: undefined,
1587
+ forceFeatures: undefined,
1508
1588
  });
1509
1589
  if (!json.sources || !json.sources.length) {
1510
1590
  report.warn(`No sources defined in ${file('avo.json')}. Run ${cmd('avo source add')} to add sources`);
@@ -1566,6 +1646,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1566
1646
  cliAction: Avo.CliAction.SOURCE_REMOVE,
1567
1647
  cliInvokedByCi: invokedByCi(),
1568
1648
  force: undefined,
1649
+ forceFeatures: undefined,
1569
1650
  });
1570
1651
  throw error;
1571
1652
  });
@@ -1588,6 +1669,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1588
1669
  cliAction: Avo.CliAction.STATUS,
1589
1670
  cliInvokedByCi: invokedByCi(),
1590
1671
  force: undefined,
1672
+ forceFeatures: undefined,
1591
1673
  });
1592
1674
  report.info(`Currently on branch '${json.branch.name}'`);
1593
1675
  return getSource(argv, json);
@@ -1603,6 +1685,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1603
1685
  cliAction: Avo.CliAction.STATUS,
1604
1686
  cliInvokedByCi: invokedByCi(),
1605
1687
  force: undefined,
1688
+ forceFeatures: undefined,
1606
1689
  });
1607
1690
  throw error;
1608
1691
  });
@@ -1612,6 +1695,12 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1612
1695
  command: 'merge main',
1613
1696
  aliases: ['merge master'],
1614
1697
  desc: 'Pull the Avo main branch into your current branch',
1698
+ builder: (yargs) => yargs.option('f', {
1699
+ alias: 'force',
1700
+ describe: 'Proceed with merge when incoming branch is open',
1701
+ default: false,
1702
+ type: 'boolean',
1703
+ }),
1615
1704
  handler: (argv) => {
1616
1705
  loadAvoJsonOrInit({ argv, skipPullMaster: true, skipInit: false })
1617
1706
  .then((json) => {
@@ -1624,6 +1713,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1624
1713
  cliAction: Avo.CliAction.MERGE,
1625
1714
  cliInvokedByCi: invokedByCi(),
1626
1715
  force: json.force,
1716
+ forceFeatures: undefined,
1627
1717
  });
1628
1718
  return requireAuth(argv, () => pullMaster(json).then(writeAvoJson));
1629
1719
  })
@@ -1637,6 +1727,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1637
1727
  cliAction: Avo.CliAction.MERGE,
1638
1728
  cliInvokedByCi: invokedByCi(),
1639
1729
  force: undefined,
1730
+ forceFeatures: undefined,
1640
1731
  });
1641
1732
  throw error;
1642
1733
  });
@@ -1662,6 +1753,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1662
1753
  cliAction: Avo.CliAction.CONFLICT,
1663
1754
  cliInvokedByCi: invokedByCi(),
1664
1755
  force: undefined,
1756
+ forceFeatures: undefined,
1665
1757
  });
1666
1758
  pull(null, json);
1667
1759
  }));
@@ -1677,6 +1769,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1677
1769
  cliAction: Avo.CliAction.CONFLICT,
1678
1770
  cliInvokedByCi: invokedByCi(),
1679
1771
  force: undefined,
1772
+ forceFeatures: undefined,
1680
1773
  });
1681
1774
  return Promise.resolve(json);
1682
1775
  })
@@ -1690,6 +1783,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1690
1783
  cliAction: Avo.CliAction.CONFLICT,
1691
1784
  cliInvokedByCi: invokedByCi(),
1692
1785
  force: undefined,
1786
+ forceFeatures: undefined,
1693
1787
  });
1694
1788
  throw error;
1695
1789
  }),
@@ -1709,6 +1803,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1709
1803
  cliAction: Avo.CliAction.EDIT,
1710
1804
  cliInvokedByCi: invokedByCi(),
1711
1805
  force: undefined,
1806
+ forceFeatures: undefined,
1712
1807
  });
1713
1808
  const { schema } = json;
1714
1809
  const schemaUrl = `https://www.avo.app/schemas/${schema.id}`;
@@ -1725,6 +1820,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1725
1820
  cliAction: Avo.CliAction.EDIT,
1726
1821
  cliInvokedByCi: invokedByCi(),
1727
1822
  force: undefined,
1823
+ forceFeatures: undefined,
1728
1824
  });
1729
1825
  throw error;
1730
1826
  });
@@ -1770,6 +1866,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1770
1866
  cliAction: Avo.CliAction.LOGIN,
1771
1867
  cliInvokedByCi: invokedByCi(),
1772
1868
  force: undefined,
1869
+ forceFeatures: undefined,
1773
1870
  });
1774
1871
  command();
1775
1872
  })
@@ -1783,6 +1880,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1783
1880
  cliAction: Avo.CliAction.LOGIN,
1784
1881
  cliInvokedByCi: invokedByCi(),
1785
1882
  force: undefined,
1883
+ forceFeatures: undefined,
1786
1884
  });
1787
1885
  command();
1788
1886
  });
@@ -1828,6 +1926,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1828
1926
  cliAction: Avo.CliAction.LOGOUT,
1829
1927
  cliInvokedByCi: invokedByCi(),
1830
1928
  force: undefined,
1929
+ forceFeatures: undefined,
1831
1930
  });
1832
1931
  command();
1833
1932
  })
@@ -1841,6 +1940,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1841
1940
  cliAction: Avo.CliAction.LOGOUT,
1842
1941
  cliInvokedByCi: invokedByCi(),
1843
1942
  force: undefined,
1943
+ forceFeatures: undefined,
1844
1944
  });
1845
1945
  command();
1846
1946
  });
@@ -1872,6 +1972,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1872
1972
  cliAction: Avo.CliAction.WHOAMI,
1873
1973
  cliInvokedByCi: invokedByCi(),
1874
1974
  force: undefined,
1975
+ forceFeatures: undefined,
1875
1976
  });
1876
1977
  command();
1877
1978
  })
@@ -1885,6 +1986,7 @@ yargs(hideBin(process.argv)) // eslint-disable-line no-unused-expressions
1885
1986
  cliAction: Avo.CliAction.WHOAMI,
1886
1987
  cliInvokedByCi: invokedByCi(),
1887
1988
  force: undefined,
1989
+ forceFeatures: undefined,
1888
1990
  });
1889
1991
  command();
1890
1992
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "avo",
3
- "version": "3.0.0",
3
+ "version": "3.2.0",
4
4
  "type": "module",
5
5
  "description": "The command-line interface for Avo",
6
6
  "author": "Avo (https://www.avo.app)",