@tsed/cli-core 3.12.0 → 3.13.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.
package/lib/index.js CHANGED
@@ -8,9 +8,9 @@ var listr2 = require('listr2');
8
8
  var Fs = require('fs-extra');
9
9
  var path = require('path');
10
10
  var readPkgUp = require('read-pkg-up');
11
- var semver$1 = require('semver');
12
11
  var rxjs = require('rxjs');
13
12
  var operators = require('rxjs/operators');
13
+ var semver$1 = require('semver');
14
14
  var execa = require('execa');
15
15
  var axios = require('axios');
16
16
  var querystring = require('querystring');
@@ -67,6 +67,7 @@ exports.PackageManager = void 0;
67
67
  (function (PackageManager) {
68
68
  PackageManager["YARN"] = "yarn";
69
69
  PackageManager["NPM"] = "npm";
70
+ PackageManager["PNPM"] = "pnpm";
70
71
  })(exports.PackageManager || (exports.PackageManager = {}));
71
72
 
72
73
  var CommandStoreKeys;
@@ -343,8 +344,16 @@ function mapPackagesWithValidVersion(deps) {
343
344
  }
344
345
 
345
346
  function defaultPreferences(pkg) {
347
+ let packageManager = exports.PackageManager.YARN;
348
+
349
+ if (core.getValue(pkg, "scripts.build", "").includes("pnpm ")) {
350
+ packageManager = exports.PackageManager.PNPM;
351
+ } else if (core.getValue(pkg, "scripts.build", "").includes("npm ")) {
352
+ packageManager = exports.PackageManager.NPM;
353
+ }
354
+
346
355
  return {
347
- packageManager: core.getValue(pkg, "scripts.build", "").includes("npm ") ? exports.PackageManager.NPM : exports.PackageManager.YARN
356
+ packageManager
348
357
  };
349
358
  }
350
359
 
@@ -433,7 +442,16 @@ exports.ProjectPackageJson = class ProjectPackageJson {
433
442
  }
434
443
 
435
444
  getRunCmd() {
436
- return this.preferences.packageManager === "npm" ? "npm run" : "yarn run";
445
+ switch (this.preferences.packageManager) {
446
+ case "npm":
447
+ return "npm run";
448
+
449
+ case "pnpm":
450
+ return "pnpm run";
451
+
452
+ default:
453
+ return "yarn run";
454
+ }
437
455
  }
438
456
 
439
457
  addDevDependency(pkg, version) {
@@ -534,7 +552,21 @@ exports.ProjectPackageJson = class ProjectPackageJson {
534
552
 
535
553
  install(options = {}) {
536
554
  const packageManager = this.getPackageManager(options.packageManager);
537
- const tasks = packageManager === "yarn" ? this.installWithYarn(options) : this.installWithNpm(options);
555
+ let tasks;
556
+
557
+ switch (packageManager) {
558
+ case "pnpm":
559
+ tasks = this.installWithPnpm(options);
560
+ break;
561
+
562
+ case "npm":
563
+ tasks = this.installWithNpm(options);
564
+ break;
565
+
566
+ default:
567
+ tasks = this.installWithYarn(options);
568
+ }
569
+
538
570
  return [{
539
571
  title: "Write package.json",
540
572
  enabled: () => this.rewrite,
@@ -657,6 +689,34 @@ exports.ProjectPackageJson = class ProjectPackageJson {
657
689
  }];
658
690
  }
659
691
 
692
+ installWithPnpm({
693
+ verbose
694
+ }) {
695
+ const devDeps = mapPackagesWithInvalidVersion(this.devDependencies);
696
+ const deps = mapPackagesWithInvalidVersion(this.dependencies);
697
+ const options = {
698
+ cwd: this.dir,
699
+ env: _extends({}, process.env, {
700
+ GH_TOKEN: this.GH_TOKEN
701
+ })
702
+ };
703
+ return [{
704
+ title: "Installing dependencies using pnpm",
705
+ skip: () => {
706
+ return !this.reinstall;
707
+ },
708
+ task: () => this.cliExeca.run(exports.PackageManager.PNPM, ["install", "--dev", verbose && "--verbose"].filter(Boolean), options)
709
+ }, {
710
+ title: "Add dependencies using pnpm",
711
+ skip: () => !deps.length,
712
+ task: () => this.cliExeca.run(exports.PackageManager.PNPM, ["add", "--save-prod", verbose && "--verbose", ...deps].filter(Boolean), options)
713
+ }, {
714
+ title: "Add devDependencies using pnpm",
715
+ skip: () => !devDeps.length,
716
+ task: () => this.cliExeca.run(exports.PackageManager.PNPM, ["add", "--save-dev", verbose && "--verbose", ...devDeps].filter(Boolean), options)
717
+ }];
718
+ }
719
+
660
720
  };
661
721
 
662
722
  tslib.__decorate([di.Inject(exports.CliExeca), tslib.__metadata("design:type", exports.CliExeca)], exports.ProjectPackageJson.prototype, "cliExeca", void 0);