@commercetools-frontend/create-mc-app 21.21.0 → 21.21.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @commercetools-frontend/create-mc-app
2
2
 
3
+ ## 21.21.2
4
+
5
+ ## 21.21.1
6
+
7
+ ### Patch Changes
8
+
9
+ - [#2881](https://github.com/commercetools/merchant-center-application-kit/pull/2881) [`e3ffe6c11`](https://github.com/commercetools/merchant-center-application-kit/commit/e3ffe6c11ff993296028219ab8c45562dc294963) Thanks [@emmenko](https://github.com/emmenko)! - Ensure the latest App Kit release is used in the template projects.
10
+
11
+ - [#2881](https://github.com/commercetools/merchant-center-application-kit/pull/2881) [`e3ffe6c11`](https://github.com/commercetools/merchant-center-application-kit/commit/e3ffe6c11ff993296028219ab8c45562dc294963) Thanks [@emmenko](https://github.com/emmenko)! - Use `workspace:` version syntax for link workspace packages
12
+
3
13
  ## 21.21.0
4
14
 
5
15
  ## 21.20.5
@@ -18,6 +18,16 @@ var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
18
18
  var semver = require('semver');
19
19
  var _sliceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/slice');
20
20
  var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
21
+ var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
22
+ var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
23
+ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
24
+ var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
25
+ var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
26
+ var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
27
+ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
28
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
29
+ var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
30
+ var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
21
31
  var _Object$assign = require('@babel/runtime-corejs3/core-js-stable/object/assign');
22
32
  var _JSON$stringify = require('@babel/runtime-corejs3/core-js-stable/json/stringify');
23
33
  var rcfile = require('rcfile');
@@ -43,6 +53,14 @@ var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
43
53
  var semver__default = /*#__PURE__*/_interopDefault(semver);
44
54
  var _sliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_sliceInstanceProperty);
45
55
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
56
+ var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
57
+ var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
58
+ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
59
+ var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
60
+ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
61
+ var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
62
+ var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
63
+ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
46
64
  var _Object$assign__default = /*#__PURE__*/_interopDefault(_Object$assign);
47
65
  var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
48
66
  var rcfile__default = /*#__PURE__*/_interopDefault(rcfile);
@@ -337,7 +355,25 @@ function installDependencies(options) {
337
355
  };
338
356
  }
339
357
 
340
- function updatePackageJson(options) {
358
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
359
+
360
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
361
+
362
+ var replaceApplicationKitPackageVersionWith = function replaceApplicationKitPackageVersionWith(releaseVersion) {
363
+ var _context;
364
+
365
+ var dependencies = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
366
+ return _reduceInstanceProperty__default["default"](_context = _Object$entries__default["default"](dependencies)).call(_context, function (updatedDependencies, _ref) {
367
+ var _ref2 = _slicedToArray(_ref, 2),
368
+ dependencyName = _ref2[0],
369
+ dependencyVersion = _ref2[1];
370
+
371
+ var updatedVersion = dependencyVersion === 'workspace:*' ? releaseVersion : dependencyVersion;
372
+ return _objectSpread(_objectSpread({}, updatedDependencies), {}, _defineProperty({}, dependencyName, updatedVersion));
373
+ }, {});
374
+ };
375
+
376
+ function updatePackageJson(options, releaseVersion) {
341
377
  return {
342
378
  title: 'Updating package.json',
343
379
  task: function task() {
@@ -353,7 +389,10 @@ function updatePackageJson(options) {
353
389
  // The `projectDirectoryName` should not have restrictions (e.g. no `_`)
354
390
  // as a result the package name potentially needs to be altered when derived.
355
391
  name: slugify(options.projectDirectoryName),
356
- description: ''
392
+ description: '',
393
+ // Replace the package versions with the `workspace:` syntax to the real version.
394
+ dependencies: replaceApplicationKitPackageVersionWith(releaseVersion, appPackageJson.dependencies),
395
+ devDependencies: replaceApplicationKitPackageVersionWith(releaseVersion, appPackageJson.devDependencies)
357
396
  });
358
397
 
359
398
  fs__default["default"].writeFileSync(packageJsonPath, _JSON$stringify__default["default"](updatedAppPackageJson, null, 2) + os__default["default"].EOL, {
@@ -460,56 +499,51 @@ function updateApplicationConstants(options) {
460
499
  };
461
500
  }
462
501
 
463
- function hintOutdatedVersion(_x) {
464
- return _hintOutdatedVersion.apply(this, arguments);
502
+ function getLatestReleaseVersion() {
503
+ return _getLatestReleaseVersion.apply(this, arguments);
465
504
  }
466
505
 
467
- function _hintOutdatedVersion() {
468
- _hintOutdatedVersion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(currentVersion) {
469
- var _context, commandResult, packageInfoForTagLatest, hasBeenReleastedInLatestTag, hintNewerVersions, _context2;
470
-
471
- return _regeneratorRuntime__default["default"].wrap(function _callee$(_context3) {
506
+ function _getLatestReleaseVersion() {
507
+ _getLatestReleaseVersion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee() {
508
+ var commandResult, packageInfoForTagLatest;
509
+ return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
472
510
  while (1) {
473
- switch (_context3.prev = _context3.next) {
511
+ switch (_context.prev = _context.next) {
474
512
  case 0:
475
- _context3.prev = 0;
476
- _context3.next = 3;
513
+ _context.next = 2;
477
514
  return execa__default["default"].command('npm view @commercetools-frontend/create-mc-app --json', {
478
515
  encoding: 'utf-8'
479
516
  });
480
517
 
481
- case 3:
482
- commandResult = _context3.sent;
518
+ case 2:
519
+ commandResult = _context.sent;
483
520
  packageInfoForTagLatest = JSON.parse(commandResult.stdout);
484
- hasBeenReleastedInLatestTag = semver__default["default"].gt(packageInfoForTagLatest.version, currentVersion);
485
- hintNewerVersions = _filterInstanceProperty__default["default"](_context = [hasBeenReleastedInLatestTag && "".concat(packageInfoForTagLatest.version)]).call(_context, Boolean).join(', ');
486
-
487
- if (hintNewerVersions.length > 0) {
488
- console.log('');
489
- console.log(_concatInstanceProperty__default["default"](_context2 = "New version available! ".concat(currentVersion, " -> ")).call(_context2, hintNewerVersions));
490
- console.log('');
491
- }
492
-
493
- _context3.next = 13;
494
- break;
521
+ return _context.abrupt("return", packageInfoForTagLatest.version);
495
522
 
496
- case 10:
497
- _context3.prev = 10;
498
- _context3.t0 = _context3["catch"](0);
499
-
500
- // Ignore errors, as this function should not affect the exit code of the command
501
- if (process.env.NODE_ENV === 'test') {
502
- console.error(_context3.t0);
503
- }
504
-
505
- case 13:
523
+ case 5:
506
524
  case "end":
507
- return _context3.stop();
525
+ return _context.stop();
508
526
  }
509
527
  }
510
- }, _callee, null, [[0, 10]]);
528
+ }, _callee);
511
529
  }));
512
- return _hintOutdatedVersion.apply(this, arguments);
530
+ return _getLatestReleaseVersion.apply(this, arguments);
531
+ }
532
+
533
+ function hintOutdatedVersion(currentVersion, releaseVersion) {
534
+ var _context;
535
+
536
+ var hasBeenReleastedInLatestTag = semver__default["default"].gt(releaseVersion, currentVersion);
537
+
538
+ var hintNewerVersions = _filterInstanceProperty__default["default"](_context = [hasBeenReleastedInLatestTag && "".concat(releaseVersion)]).call(_context, Boolean).join(', ');
539
+
540
+ if (hintNewerVersions.length > 0) {
541
+ var _context2;
542
+
543
+ console.log('');
544
+ console.log(_concatInstanceProperty__default["default"](_context2 = "New version available! ".concat(currentVersion, " -> ")).call(_context2, hintNewerVersions));
545
+ console.log('');
546
+ }
513
547
  }
514
548
 
515
549
  var question = function question(rl, value) {
@@ -665,7 +699,7 @@ function _processOptions() {
665
699
 
666
700
  var pkgJson = {
667
701
  name: "@commercetools-frontend/create-mc-app",
668
- version: "21.21.0",
702
+ version: "21.21.2",
669
703
  description: "Create Merchant Center applications to quickly get up and running",
670
704
  bugs: "https://github.com/commercetools/merchant-center-application-kit/issues",
671
705
  repository: {
@@ -726,7 +760,7 @@ var run = function run() {
726
760
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(projectDirectory, options) {
727
761
  var _context;
728
762
 
729
- var taskOptions, taskList, useYarn;
763
+ var releaseVersion, taskOptions, taskList, useYarn;
730
764
  return _regeneratorRuntime__default["default"].wrap(function _callee$(_context2) {
731
765
  while (1) {
732
766
  switch (_context2.prev = _context2.next) {
@@ -741,22 +775,24 @@ var run = function run() {
741
775
 
742
776
  case 3:
743
777
  _context2.next = 5;
744
- return hintOutdatedVersion(pkgJson.version);
778
+ return getLatestReleaseVersion();
745
779
 
746
780
  case 5:
781
+ releaseVersion = _context2.sent;
782
+ hintOutdatedVersion(pkgJson.version, releaseVersion);
747
783
  console.log('');
748
784
  console.log("Documentation available at https://docs.commercetools.com/custom-applications");
749
785
  console.log('');
750
- _context2.next = 10;
786
+ _context2.next = 12;
751
787
  return processOptions(projectDirectory, options);
752
788
 
753
- case 10:
789
+ case 12:
754
790
  taskOptions = _context2.sent;
755
- taskList = new listr2.Listr(_filterInstanceProperty__default["default"](_context = [downloadTemplate(taskOptions), updatePackageJson(taskOptions), updateCustomApplicationConfig(taskOptions), updateApplicationConstants(taskOptions), !options.skipInstall && installDependencies(taskOptions)]).call(_context, Boolean));
756
- _context2.next = 14;
791
+ taskList = new listr2.Listr(_filterInstanceProperty__default["default"](_context = [downloadTemplate(taskOptions), updatePackageJson(taskOptions, releaseVersion), updateCustomApplicationConfig(taskOptions), updateApplicationConstants(taskOptions), !options.skipInstall && installDependencies(taskOptions)]).call(_context, Boolean));
792
+ _context2.next = 16;
757
793
  return taskList.run();
758
794
 
759
- case 14:
795
+ case 16:
760
796
  useYarn = shouldUseYarn();
761
797
  console.log('');
762
798
  console.log("\uD83C\uDF89 \uD83C\uDF89 \uD83C\uDF89 The Custom Application has been created in the \"".concat(taskOptions.projectDirectoryName, "\" folder."));
@@ -772,7 +808,7 @@ var run = function run() {
772
808
  console.log('');
773
809
  console.log("Visit https://docs.commercetools.com/custom-applications for more info about developing Custom Applications. Enjoy \uD83D\uDE80");
774
810
 
775
- case 24:
811
+ case 26:
776
812
  case "end":
777
813
  return _context2.stop();
778
814
  }
@@ -18,6 +18,16 @@ var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
18
18
  var semver = require('semver');
19
19
  var _sliceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/slice');
20
20
  var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
21
+ var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
22
+ var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
23
+ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
24
+ var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
25
+ var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
26
+ var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
27
+ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
28
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
29
+ var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
30
+ var _Object$entries = require('@babel/runtime-corejs3/core-js-stable/object/entries');
21
31
  var _Object$assign = require('@babel/runtime-corejs3/core-js-stable/object/assign');
22
32
  var _JSON$stringify = require('@babel/runtime-corejs3/core-js-stable/json/stringify');
23
33
  var rcfile = require('rcfile');
@@ -43,6 +53,14 @@ var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
43
53
  var semver__default = /*#__PURE__*/_interopDefault(semver);
44
54
  var _sliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_sliceInstanceProperty);
45
55
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
56
+ var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
57
+ var _Object$getOwnPropertyDescriptor__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptor);
58
+ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachInstanceProperty);
59
+ var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
60
+ var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
61
+ var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
62
+ var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
63
+ var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
46
64
  var _Object$assign__default = /*#__PURE__*/_interopDefault(_Object$assign);
47
65
  var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
48
66
  var rcfile__default = /*#__PURE__*/_interopDefault(rcfile);
@@ -337,7 +355,25 @@ function installDependencies(options) {
337
355
  };
338
356
  }
339
357
 
340
- function updatePackageJson(options) {
358
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
359
+
360
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
361
+
362
+ var replaceApplicationKitPackageVersionWith = function replaceApplicationKitPackageVersionWith(releaseVersion) {
363
+ var _context;
364
+
365
+ var dependencies = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
366
+ return _reduceInstanceProperty__default["default"](_context = _Object$entries__default["default"](dependencies)).call(_context, function (updatedDependencies, _ref) {
367
+ var _ref2 = _slicedToArray(_ref, 2),
368
+ dependencyName = _ref2[0],
369
+ dependencyVersion = _ref2[1];
370
+
371
+ var updatedVersion = dependencyVersion === 'workspace:*' ? releaseVersion : dependencyVersion;
372
+ return _objectSpread(_objectSpread({}, updatedDependencies), {}, _defineProperty({}, dependencyName, updatedVersion));
373
+ }, {});
374
+ };
375
+
376
+ function updatePackageJson(options, releaseVersion) {
341
377
  return {
342
378
  title: 'Updating package.json',
343
379
  task: function task() {
@@ -353,7 +389,10 @@ function updatePackageJson(options) {
353
389
  // The `projectDirectoryName` should not have restrictions (e.g. no `_`)
354
390
  // as a result the package name potentially needs to be altered when derived.
355
391
  name: slugify(options.projectDirectoryName),
356
- description: ''
392
+ description: '',
393
+ // Replace the package versions with the `workspace:` syntax to the real version.
394
+ dependencies: replaceApplicationKitPackageVersionWith(releaseVersion, appPackageJson.dependencies),
395
+ devDependencies: replaceApplicationKitPackageVersionWith(releaseVersion, appPackageJson.devDependencies)
357
396
  });
358
397
 
359
398
  fs__default["default"].writeFileSync(packageJsonPath, _JSON$stringify__default["default"](updatedAppPackageJson, null, 2) + os__default["default"].EOL, {
@@ -460,51 +499,51 @@ function updateApplicationConstants(options) {
460
499
  };
461
500
  }
462
501
 
463
- function hintOutdatedVersion(_x) {
464
- return _hintOutdatedVersion.apply(this, arguments);
502
+ function getLatestReleaseVersion() {
503
+ return _getLatestReleaseVersion.apply(this, arguments);
465
504
  }
466
505
 
467
- function _hintOutdatedVersion() {
468
- _hintOutdatedVersion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(currentVersion) {
469
- var _context, commandResult, packageInfoForTagLatest, hasBeenReleastedInLatestTag, hintNewerVersions, _context2;
470
-
471
- return _regeneratorRuntime__default["default"].wrap(function _callee$(_context3) {
506
+ function _getLatestReleaseVersion() {
507
+ _getLatestReleaseVersion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee() {
508
+ var commandResult, packageInfoForTagLatest;
509
+ return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
472
510
  while (1) {
473
- switch (_context3.prev = _context3.next) {
511
+ switch (_context.prev = _context.next) {
474
512
  case 0:
475
- _context3.prev = 0;
476
- _context3.next = 3;
513
+ _context.next = 2;
477
514
  return execa__default["default"].command('npm view @commercetools-frontend/create-mc-app --json', {
478
515
  encoding: 'utf-8'
479
516
  });
480
517
 
481
- case 3:
482
- commandResult = _context3.sent;
518
+ case 2:
519
+ commandResult = _context.sent;
483
520
  packageInfoForTagLatest = JSON.parse(commandResult.stdout);
484
- hasBeenReleastedInLatestTag = semver__default["default"].gt(packageInfoForTagLatest.version, currentVersion);
485
- hintNewerVersions = _filterInstanceProperty__default["default"](_context = [hasBeenReleastedInLatestTag && "".concat(packageInfoForTagLatest.version)]).call(_context, Boolean).join(', ');
486
-
487
- if (hintNewerVersions.length > 0) {
488
- console.log('');
489
- console.log(_concatInstanceProperty__default["default"](_context2 = "New version available! ".concat(currentVersion, " -> ")).call(_context2, hintNewerVersions));
490
- console.log('');
491
- }
521
+ return _context.abrupt("return", packageInfoForTagLatest.version);
492
522
 
493
- _context3.next = 13;
494
- break;
495
-
496
- case 10:
497
- _context3.prev = 10;
498
- _context3.t0 = _context3["catch"](0);
499
-
500
- case 13:
523
+ case 5:
501
524
  case "end":
502
- return _context3.stop();
525
+ return _context.stop();
503
526
  }
504
527
  }
505
- }, _callee, null, [[0, 10]]);
528
+ }, _callee);
506
529
  }));
507
- return _hintOutdatedVersion.apply(this, arguments);
530
+ return _getLatestReleaseVersion.apply(this, arguments);
531
+ }
532
+
533
+ function hintOutdatedVersion(currentVersion, releaseVersion) {
534
+ var _context;
535
+
536
+ var hasBeenReleastedInLatestTag = semver__default["default"].gt(releaseVersion, currentVersion);
537
+
538
+ var hintNewerVersions = _filterInstanceProperty__default["default"](_context = [hasBeenReleastedInLatestTag && "".concat(releaseVersion)]).call(_context, Boolean).join(', ');
539
+
540
+ if (hintNewerVersions.length > 0) {
541
+ var _context2;
542
+
543
+ console.log('');
544
+ console.log(_concatInstanceProperty__default["default"](_context2 = "New version available! ".concat(currentVersion, " -> ")).call(_context2, hintNewerVersions));
545
+ console.log('');
546
+ }
508
547
  }
509
548
 
510
549
  var question = function question(rl, value) {
@@ -660,7 +699,7 @@ function _processOptions() {
660
699
 
661
700
  var pkgJson = {
662
701
  name: "@commercetools-frontend/create-mc-app",
663
- version: "21.21.0",
702
+ version: "21.21.2",
664
703
  description: "Create Merchant Center applications to quickly get up and running",
665
704
  bugs: "https://github.com/commercetools/merchant-center-application-kit/issues",
666
705
  repository: {
@@ -721,7 +760,7 @@ var run = function run() {
721
760
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(projectDirectory, options) {
722
761
  var _context;
723
762
 
724
- var taskOptions, taskList, useYarn;
763
+ var releaseVersion, taskOptions, taskList, useYarn;
725
764
  return _regeneratorRuntime__default["default"].wrap(function _callee$(_context2) {
726
765
  while (1) {
727
766
  switch (_context2.prev = _context2.next) {
@@ -736,22 +775,24 @@ var run = function run() {
736
775
 
737
776
  case 3:
738
777
  _context2.next = 5;
739
- return hintOutdatedVersion(pkgJson.version);
778
+ return getLatestReleaseVersion();
740
779
 
741
780
  case 5:
781
+ releaseVersion = _context2.sent;
782
+ hintOutdatedVersion(pkgJson.version, releaseVersion);
742
783
  console.log('');
743
784
  console.log("Documentation available at https://docs.commercetools.com/custom-applications");
744
785
  console.log('');
745
- _context2.next = 10;
786
+ _context2.next = 12;
746
787
  return processOptions(projectDirectory, options);
747
788
 
748
- case 10:
789
+ case 12:
749
790
  taskOptions = _context2.sent;
750
- taskList = new listr2.Listr(_filterInstanceProperty__default["default"](_context = [downloadTemplate(taskOptions), updatePackageJson(taskOptions), updateCustomApplicationConfig(taskOptions), updateApplicationConstants(taskOptions), !options.skipInstall && installDependencies(taskOptions)]).call(_context, Boolean));
751
- _context2.next = 14;
791
+ taskList = new listr2.Listr(_filterInstanceProperty__default["default"](_context = [downloadTemplate(taskOptions), updatePackageJson(taskOptions, releaseVersion), updateCustomApplicationConfig(taskOptions), updateApplicationConstants(taskOptions), !options.skipInstall && installDependencies(taskOptions)]).call(_context, Boolean));
792
+ _context2.next = 16;
752
793
  return taskList.run();
753
794
 
754
- case 14:
795
+ case 16:
755
796
  useYarn = shouldUseYarn();
756
797
  console.log('');
757
798
  console.log("\uD83C\uDF89 \uD83C\uDF89 \uD83C\uDF89 The Custom Application has been created in the \"".concat(taskOptions.projectDirectoryName, "\" folder."));
@@ -767,7 +808,7 @@ var run = function run() {
767
808
  console.log('');
768
809
  console.log("Visit https://docs.commercetools.com/custom-applications for more info about developing Custom Applications. Enjoy \uD83D\uDE80");
769
810
 
770
- case 24:
811
+ case 26:
771
812
  case "end":
772
813
  return _context2.stop();
773
814
  }
@@ -14,6 +14,16 @@ import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
14
14
  import semver from 'semver';
15
15
  import _sliceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/slice';
16
16
  import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
17
+ import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
18
+ import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor';
19
+ import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
20
+ import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors';
21
+ import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties';
22
+ import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
23
+ import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
24
+ import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
25
+ import _reduceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/reduce';
26
+ import _Object$entries from '@babel/runtime-corejs3/core-js-stable/object/entries';
17
27
  import _Object$assign from '@babel/runtime-corejs3/core-js-stable/object/assign';
18
28
  import _JSON$stringify from '@babel/runtime-corejs3/core-js-stable/json/stringify';
19
29
  import rcfile from 'rcfile';
@@ -309,7 +319,25 @@ function installDependencies(options) {
309
319
  };
310
320
  }
311
321
 
312
- function updatePackageJson(options) {
322
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
323
+
324
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
325
+
326
+ var replaceApplicationKitPackageVersionWith = function replaceApplicationKitPackageVersionWith(releaseVersion) {
327
+ var _context;
328
+
329
+ var dependencies = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
330
+ return _reduceInstanceProperty(_context = _Object$entries(dependencies)).call(_context, function (updatedDependencies, _ref) {
331
+ var _ref2 = _slicedToArray(_ref, 2),
332
+ dependencyName = _ref2[0],
333
+ dependencyVersion = _ref2[1];
334
+
335
+ var updatedVersion = dependencyVersion === 'workspace:*' ? releaseVersion : dependencyVersion;
336
+ return _objectSpread(_objectSpread({}, updatedDependencies), {}, _defineProperty({}, dependencyName, updatedVersion));
337
+ }, {});
338
+ };
339
+
340
+ function updatePackageJson(options, releaseVersion) {
313
341
  return {
314
342
  title: 'Updating package.json',
315
343
  task: function task() {
@@ -325,7 +353,10 @@ function updatePackageJson(options) {
325
353
  // The `projectDirectoryName` should not have restrictions (e.g. no `_`)
326
354
  // as a result the package name potentially needs to be altered when derived.
327
355
  name: slugify(options.projectDirectoryName),
328
- description: ''
356
+ description: '',
357
+ // Replace the package versions with the `workspace:` syntax to the real version.
358
+ dependencies: replaceApplicationKitPackageVersionWith(releaseVersion, appPackageJson.dependencies),
359
+ devDependencies: replaceApplicationKitPackageVersionWith(releaseVersion, appPackageJson.devDependencies)
329
360
  });
330
361
 
331
362
  fs.writeFileSync(packageJsonPath, _JSON$stringify(updatedAppPackageJson, null, 2) + os.EOL, {
@@ -432,56 +463,51 @@ function updateApplicationConstants(options) {
432
463
  };
433
464
  }
434
465
 
435
- function hintOutdatedVersion(_x) {
436
- return _hintOutdatedVersion.apply(this, arguments);
466
+ function getLatestReleaseVersion() {
467
+ return _getLatestReleaseVersion.apply(this, arguments);
437
468
  }
438
469
 
439
- function _hintOutdatedVersion() {
440
- _hintOutdatedVersion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(currentVersion) {
441
- var _context, commandResult, packageInfoForTagLatest, hasBeenReleastedInLatestTag, hintNewerVersions, _context2;
442
-
443
- return _regeneratorRuntime.wrap(function _callee$(_context3) {
470
+ function _getLatestReleaseVersion() {
471
+ _getLatestReleaseVersion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
472
+ var commandResult, packageInfoForTagLatest;
473
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
444
474
  while (1) {
445
- switch (_context3.prev = _context3.next) {
475
+ switch (_context.prev = _context.next) {
446
476
  case 0:
447
- _context3.prev = 0;
448
- _context3.next = 3;
477
+ _context.next = 2;
449
478
  return execa.command('npm view @commercetools-frontend/create-mc-app --json', {
450
479
  encoding: 'utf-8'
451
480
  });
452
481
 
453
- case 3:
454
- commandResult = _context3.sent;
482
+ case 2:
483
+ commandResult = _context.sent;
455
484
  packageInfoForTagLatest = JSON.parse(commandResult.stdout);
456
- hasBeenReleastedInLatestTag = semver.gt(packageInfoForTagLatest.version, currentVersion);
457
- hintNewerVersions = _filterInstanceProperty(_context = [hasBeenReleastedInLatestTag && "".concat(packageInfoForTagLatest.version)]).call(_context, Boolean).join(', ');
458
-
459
- if (hintNewerVersions.length > 0) {
460
- console.log('');
461
- console.log(_concatInstanceProperty(_context2 = "New version available! ".concat(currentVersion, " -> ")).call(_context2, hintNewerVersions));
462
- console.log('');
463
- }
464
-
465
- _context3.next = 13;
466
- break;
485
+ return _context.abrupt("return", packageInfoForTagLatest.version);
467
486
 
468
- case 10:
469
- _context3.prev = 10;
470
- _context3.t0 = _context3["catch"](0);
471
-
472
- // Ignore errors, as this function should not affect the exit code of the command
473
- if (process.env.NODE_ENV === 'test') {
474
- console.error(_context3.t0);
475
- }
476
-
477
- case 13:
487
+ case 5:
478
488
  case "end":
479
- return _context3.stop();
489
+ return _context.stop();
480
490
  }
481
491
  }
482
- }, _callee, null, [[0, 10]]);
492
+ }, _callee);
483
493
  }));
484
- return _hintOutdatedVersion.apply(this, arguments);
494
+ return _getLatestReleaseVersion.apply(this, arguments);
495
+ }
496
+
497
+ function hintOutdatedVersion(currentVersion, releaseVersion) {
498
+ var _context;
499
+
500
+ var hasBeenReleastedInLatestTag = semver.gt(releaseVersion, currentVersion);
501
+
502
+ var hintNewerVersions = _filterInstanceProperty(_context = [hasBeenReleastedInLatestTag && "".concat(releaseVersion)]).call(_context, Boolean).join(', ');
503
+
504
+ if (hintNewerVersions.length > 0) {
505
+ var _context2;
506
+
507
+ console.log('');
508
+ console.log(_concatInstanceProperty(_context2 = "New version available! ".concat(currentVersion, " -> ")).call(_context2, hintNewerVersions));
509
+ console.log('');
510
+ }
485
511
  }
486
512
 
487
513
  var question = function question(rl, value) {
@@ -637,7 +663,7 @@ function _processOptions() {
637
663
 
638
664
  var pkgJson = {
639
665
  name: "@commercetools-frontend/create-mc-app",
640
- version: "21.21.0",
666
+ version: "21.21.2",
641
667
  description: "Create Merchant Center applications to quickly get up and running",
642
668
  bugs: "https://github.com/commercetools/merchant-center-application-kit/issues",
643
669
  repository: {
@@ -698,7 +724,7 @@ var run = function run() {
698
724
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(projectDirectory, options) {
699
725
  var _context;
700
726
 
701
- var taskOptions, taskList, useYarn;
727
+ var releaseVersion, taskOptions, taskList, useYarn;
702
728
  return _regeneratorRuntime.wrap(function _callee$(_context2) {
703
729
  while (1) {
704
730
  switch (_context2.prev = _context2.next) {
@@ -713,22 +739,24 @@ var run = function run() {
713
739
 
714
740
  case 3:
715
741
  _context2.next = 5;
716
- return hintOutdatedVersion(pkgJson.version);
742
+ return getLatestReleaseVersion();
717
743
 
718
744
  case 5:
745
+ releaseVersion = _context2.sent;
746
+ hintOutdatedVersion(pkgJson.version, releaseVersion);
719
747
  console.log('');
720
748
  console.log("Documentation available at https://docs.commercetools.com/custom-applications");
721
749
  console.log('');
722
- _context2.next = 10;
750
+ _context2.next = 12;
723
751
  return processOptions(projectDirectory, options);
724
752
 
725
- case 10:
753
+ case 12:
726
754
  taskOptions = _context2.sent;
727
- taskList = new Listr(_filterInstanceProperty(_context = [downloadTemplate(taskOptions), updatePackageJson(taskOptions), updateCustomApplicationConfig(taskOptions), updateApplicationConstants(taskOptions), !options.skipInstall && installDependencies(taskOptions)]).call(_context, Boolean));
728
- _context2.next = 14;
755
+ taskList = new Listr(_filterInstanceProperty(_context = [downloadTemplate(taskOptions), updatePackageJson(taskOptions, releaseVersion), updateCustomApplicationConfig(taskOptions), updateApplicationConstants(taskOptions), !options.skipInstall && installDependencies(taskOptions)]).call(_context, Boolean));
756
+ _context2.next = 16;
729
757
  return taskList.run();
730
758
 
731
- case 14:
759
+ case 16:
732
760
  useYarn = shouldUseYarn();
733
761
  console.log('');
734
762
  console.log("\uD83C\uDF89 \uD83C\uDF89 \uD83C\uDF89 The Custom Application has been created in the \"".concat(taskOptions.projectDirectoryName, "\" folder."));
@@ -744,7 +772,7 @@ var run = function run() {
744
772
  console.log('');
745
773
  console.log("Visit https://docs.commercetools.com/custom-applications for more info about developing Custom Applications. Enjoy \uD83D\uDE80");
746
774
 
747
- case 24:
775
+ case 26:
748
776
  case "end":
749
777
  return _context2.stop();
750
778
  }
@@ -0,0 +1,2 @@
1
+ declare function getLatestReleaseVersion(): Promise<string>;
2
+ export default getLatestReleaseVersion;
@@ -1,2 +1,2 @@
1
- declare function hintOutdatedVersion(currentVersion: string): Promise<void>;
1
+ declare function hintOutdatedVersion(currentVersion: string, releaseVersion: string): void;
2
2
  export default hintOutdatedVersion;
@@ -1,4 +1,4 @@
1
1
  import type { ListrTask } from 'listr2';
2
2
  import type { TCliTaskOptions } from '../types';
3
- declare function updatePackageJson(options: TCliTaskOptions): ListrTask;
3
+ declare function updatePackageJson(options: TCliTaskOptions, releaseVersion: string): ListrTask;
4
4
  export default updatePackageJson;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools-frontend/create-mc-app",
3
- "version": "21.21.0",
3
+ "version": "21.21.2",
4
4
  "description": "Create Merchant Center applications to quickly get up and running",
5
5
  "bugs": "https://github.com/commercetools/merchant-center-application-kit/issues",
6
6
  "repository": {
package/src/cli.ts CHANGED
@@ -3,6 +3,7 @@ import { Listr, type ListrTask } from 'listr2';
3
3
  import * as tasks from './tasks';
4
4
  import { throwIfNodeVersionIsNotSupported } from './validations';
5
5
  import { shouldUseYarn } from './utils';
6
+ import getLatestReleaseVersion from './get-latest-release-version';
6
7
  import hintOutdatedVersion from './hint-outdated-version';
7
8
  import processOptions from './process-options';
8
9
  import type { TCliCommandOptions } from './types';
@@ -60,7 +61,9 @@ const run = () => {
60
61
  return;
61
62
  }
62
63
 
63
- await hintOutdatedVersion(pkgJson.version);
64
+ const releaseVersion = await getLatestReleaseVersion();
65
+
66
+ hintOutdatedVersion(pkgJson.version, releaseVersion);
64
67
 
65
68
  console.log('');
66
69
  console.log(
@@ -73,7 +76,7 @@ const run = () => {
73
76
  const taskList = new Listr(
74
77
  [
75
78
  tasks.downloadTemplate(taskOptions),
76
- tasks.updatePackageJson(taskOptions),
79
+ tasks.updatePackageJson(taskOptions, releaseVersion),
77
80
  tasks.updateCustomApplicationConfig(taskOptions),
78
81
  tasks.updateApplicationConstants(taskOptions),
79
82
  !options.skipInstall && tasks.installDependencies(taskOptions),
@@ -0,0 +1,15 @@
1
+ import execa from 'execa';
2
+
3
+ async function getLatestReleaseVersion() {
4
+ const commandResult = await execa.command(
5
+ 'npm view @commercetools-frontend/create-mc-app --json',
6
+ { encoding: 'utf-8' }
7
+ );
8
+
9
+ const packageInfoForTagLatest = JSON.parse(commandResult.stdout) as {
10
+ version: string;
11
+ };
12
+ return packageInfoForTagLatest.version;
13
+ }
14
+
15
+ export default getLatestReleaseVersion;
@@ -1,38 +1,18 @@
1
1
  import semver from 'semver';
2
- import execa from 'execa';
3
2
 
4
- async function hintOutdatedVersion(currentVersion: string) {
5
- try {
6
- const commandResult = await execa.command(
7
- 'npm view @commercetools-frontend/create-mc-app --json',
8
- { encoding: 'utf-8' }
9
- );
3
+ function hintOutdatedVersion(currentVersion: string, releaseVersion: string) {
4
+ const hasBeenReleastedInLatestTag = semver.gt(releaseVersion, currentVersion);
10
5
 
11
- const packageInfoForTagLatest = JSON.parse(commandResult.stdout);
6
+ const hintNewerVersions = [hasBeenReleastedInLatestTag && `${releaseVersion}`]
7
+ .filter(Boolean)
8
+ .join(', ');
12
9
 
13
- const hasBeenReleastedInLatestTag = semver.gt(
14
- packageInfoForTagLatest.version,
15
- currentVersion
10
+ if (hintNewerVersions.length > 0) {
11
+ console.log('');
12
+ console.log(
13
+ `New version available! ${currentVersion} -> ${hintNewerVersions}`
16
14
  );
17
-
18
- const hintNewerVersions = [
19
- hasBeenReleastedInLatestTag && `${packageInfoForTagLatest.version}`,
20
- ]
21
- .filter(Boolean)
22
- .join(', ');
23
-
24
- if (hintNewerVersions.length > 0) {
25
- console.log('');
26
- console.log(
27
- `New version available! ${currentVersion} -> ${hintNewerVersions}`
28
- );
29
- console.log('');
30
- }
31
- } catch (error) {
32
- // Ignore errors, as this function should not affect the exit code of the command
33
- if (process.env.NODE_ENV === 'test') {
34
- console.error(error);
35
- }
15
+ console.log('');
36
16
  }
37
17
  }
38
18
 
@@ -5,7 +5,28 @@ import type { ListrTask } from 'listr2';
5
5
  import { slugify } from '../utils';
6
6
  import type { TCliTaskOptions } from '../types';
7
7
 
8
- function updatePackageJson(options: TCliTaskOptions): ListrTask {
8
+ const replaceApplicationKitPackageVersionWith = (
9
+ releaseVersion: string,
10
+ dependencies: Record<string, string> = {}
11
+ ) =>
12
+ Object.entries(dependencies).reduce(
13
+ (updatedDependencies, [dependencyName, dependencyVersion]) => {
14
+ const updatedVersion =
15
+ dependencyVersion === 'workspace:*'
16
+ ? releaseVersion
17
+ : dependencyVersion;
18
+ return {
19
+ ...updatedDependencies,
20
+ [dependencyName]: updatedVersion,
21
+ };
22
+ },
23
+ {}
24
+ );
25
+
26
+ function updatePackageJson(
27
+ options: TCliTaskOptions,
28
+ releaseVersion: string
29
+ ): ListrTask {
9
30
  return {
10
31
  title: 'Updating package.json',
11
32
  task: () => {
@@ -25,6 +46,15 @@ function updatePackageJson(options: TCliTaskOptions): ListrTask {
25
46
  // as a result the package name potentially needs to be altered when derived.
26
47
  name: slugify(options.projectDirectoryName),
27
48
  description: '',
49
+ // Replace the package versions with the `workspace:` syntax to the real version.
50
+ dependencies: replaceApplicationKitPackageVersionWith(
51
+ releaseVersion,
52
+ appPackageJson.dependencies
53
+ ),
54
+ devDependencies: replaceApplicationKitPackageVersionWith(
55
+ releaseVersion,
56
+ appPackageJson.devDependencies
57
+ ),
28
58
  });
29
59
 
30
60
  fs.writeFileSync(