@tsed/cli-core 3.12.0 → 3.13.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.
@@ -12,9 +12,9 @@ import { Listr, Logger as Logger$1 } from 'listr2';
12
12
  import Fs, { existsSync } from 'fs-extra';
13
13
  import { join, dirname, relative, resolve } from 'path';
14
14
  import readPkgUp from 'read-pkg-up';
15
- import semver$1 from 'semver';
16
15
  import { EMPTY, throwError, Observable } from 'rxjs';
17
16
  import { merge, filter, catchError } from 'rxjs/operators';
17
+ import semver$1 from 'semver';
18
18
  import execa from 'execa';
19
19
  import axios from 'axios';
20
20
  import querystring from 'querystring';
@@ -33,6 +33,7 @@ var PackageManager;
33
33
  (function (PackageManager) {
34
34
  PackageManager["YARN"] = "yarn";
35
35
  PackageManager["NPM"] = "npm";
36
+ PackageManager["PNPM"] = "pnpm";
36
37
  })(PackageManager || (PackageManager = {}));
37
38
 
38
39
  var CommandStoreKeys;
@@ -309,8 +310,16 @@ function mapPackagesWithValidVersion(deps) {
309
310
  }
310
311
 
311
312
  function defaultPreferences(pkg) {
313
+ let packageManager = PackageManager.YARN;
314
+
315
+ if (getValue(pkg, "scripts.build", "").includes("pnpm ")) {
316
+ packageManager = PackageManager.PNPM;
317
+ } else if (getValue(pkg, "scripts.build", "").includes("npm ")) {
318
+ packageManager = PackageManager.NPM;
319
+ }
320
+
312
321
  return {
313
- packageManager: getValue(pkg, "scripts.build", "").includes("npm ") ? PackageManager.NPM : PackageManager.YARN
322
+ packageManager
314
323
  };
315
324
  }
316
325
 
@@ -399,7 +408,16 @@ let ProjectPackageJson = class ProjectPackageJson {
399
408
  }
400
409
 
401
410
  getRunCmd() {
402
- return this.preferences.packageManager === "npm" ? "npm run" : "yarn run";
411
+ switch (this.preferences.packageManager) {
412
+ case "npm":
413
+ return "npm run";
414
+
415
+ case "pnpm":
416
+ return "pnpm run";
417
+
418
+ default:
419
+ return "yarn run";
420
+ }
403
421
  }
404
422
 
405
423
  addDevDependency(pkg, version) {
@@ -500,7 +518,21 @@ let ProjectPackageJson = class ProjectPackageJson {
500
518
 
501
519
  install(options = {}) {
502
520
  const packageManager = this.getPackageManager(options.packageManager);
503
- const tasks = packageManager === "yarn" ? this.installWithYarn(options) : this.installWithNpm(options);
521
+ let tasks;
522
+
523
+ switch (packageManager) {
524
+ case "pnpm":
525
+ tasks = this.installWithPnpm(options);
526
+ break;
527
+
528
+ case "npm":
529
+ tasks = this.installWithNpm(options);
530
+ break;
531
+
532
+ default:
533
+ tasks = this.installWithYarn(options);
534
+ }
535
+
504
536
  return [{
505
537
  title: "Write package.json",
506
538
  enabled: () => this.rewrite,
@@ -623,6 +655,34 @@ let ProjectPackageJson = class ProjectPackageJson {
623
655
  }];
624
656
  }
625
657
 
658
+ installWithPnpm({
659
+ verbose
660
+ }) {
661
+ const devDeps = mapPackagesWithInvalidVersion(this.devDependencies);
662
+ const deps = mapPackagesWithInvalidVersion(this.dependencies);
663
+ const options = {
664
+ cwd: this.dir,
665
+ env: _extends({}, process.env, {
666
+ GH_TOKEN: this.GH_TOKEN
667
+ })
668
+ };
669
+ return [{
670
+ title: "Installing dependencies using pnpm",
671
+ skip: () => {
672
+ return !this.reinstall;
673
+ },
674
+ task: () => this.cliExeca.run(PackageManager.PNPM, ["install", "--dev", verbose && "--verbose"].filter(Boolean), options)
675
+ }, {
676
+ title: "Add dependencies using pnpm",
677
+ skip: () => !deps.length,
678
+ task: () => this.cliExeca.run(PackageManager.PNPM, ["add", "--save-prod", verbose && "--verbose", ...deps].filter(Boolean), options)
679
+ }, {
680
+ title: "Add devDependencies using pnpm",
681
+ skip: () => !devDeps.length,
682
+ task: () => this.cliExeca.run(PackageManager.PNPM, ["add", "--save-dev", verbose && "--verbose", ...devDeps].filter(Boolean), options)
683
+ }];
684
+ }
685
+
626
686
  };
627
687
 
628
688
  __decorate([Inject(CliExeca), __metadata("design:type", CliExeca)], ProjectPackageJson.prototype, "cliExeca", void 0);