npm-update-package 0.53.1 → 0.54.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.
package/README.md CHANGED
@@ -247,14 +247,14 @@ npx npm-update-package \
247
247
 
248
248
  ### packageManager
249
249
 
250
- Package manager of your project.
250
+ Package manager of your project.
251
+ Since npm-update-package automatically determines which package manager to use, it is usually not necessary to specify this option.
251
252
 
252
253
  |Name|Value|
253
254
  |---|---|
254
255
  |cli|`--package-manager`|
255
256
  |type|string|
256
257
  |required|false|
257
- |default|`npm`|
258
258
 
259
259
  Allowed values:
260
260
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npm-update-package",
3
- "version": "0.53.1",
3
+ "version": "0.54.0",
4
4
  "description": "CLI tool for creating pull requests to update npm packages",
5
5
  "scripts": {
6
6
  "build": "tsc --project tsconfig.build.json",
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.canReadWrite = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ // TODO: Add test
9
+ const canReadWrite = async (path) => {
10
+ try {
11
+ await fs_1.default.promises.access(path, fs_1.default.constants.R_OK | fs_1.default.constants.W_OK);
12
+ }
13
+ catch {
14
+ return false;
15
+ }
16
+ return true;
17
+ };
18
+ exports.canReadWrite = canReadWrite;
@@ -14,4 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./canReadWrite"), exports);
17
18
  __exportStar(require("./readFile"), exports);
package/dist/src/main.js CHANGED
@@ -63,10 +63,11 @@ const main = async ({ options, logger }) => {
63
63
  color: 'A00F21'
64
64
  });
65
65
  const branchFinder = new github_1.BranchFinder(branches);
66
- const packageManager = (0, package_manager_1.createPackageManager)({
67
- terminal,
68
- packageManager: options.packageManager
66
+ const packageManagerCreator = new package_manager_1.PackageManagerCreator({
67
+ options,
68
+ logger
69
69
  });
70
+ const packageManager = await packageManagerCreator.create(terminal);
70
71
  const pullRequestTitleCreator = new github_1.PullRequestTitleCreator(options.prTitle);
71
72
  const releasesFetcher = new github_1.ReleasesFetcher({
72
73
  options,
@@ -15,12 +15,14 @@ class Ncu {
15
15
  }
16
16
  async check() {
17
17
  return await this.run({
18
+ packageManager: this.options.packageManager,
18
19
  jsonUpgraded: true,
19
20
  reject: this.options.ignorePackages
20
21
  });
21
22
  }
22
23
  async update(outdatedPackage) {
23
24
  return await this.run({
25
+ packageManager: this.options.packageManager,
24
26
  jsonUpgraded: true,
25
27
  filter: outdatedPackage.name,
26
28
  upgrade: true
@@ -19,10 +19,6 @@ const Options = (0, io_ts_1.intersection)([
19
19
  (0, io_ts_1.literal)(logger_1.LogLevel.Debug),
20
20
  (0, io_ts_1.literal)(logger_1.LogLevel.Trace)
21
21
  ]),
22
- packageManager: (0, io_ts_1.union)([
23
- (0, io_ts_1.literal)(package_manager_1.PackageManagerName.Npm),
24
- (0, io_ts_1.literal)(package_manager_1.PackageManagerName.Yarn)
25
- ]),
26
22
  prTitle: io_ts_1.string
27
23
  }),
28
24
  (0, io_ts_1.partial)({
@@ -30,6 +26,10 @@ const Options = (0, io_ts_1.intersection)([
30
26
  gitUserEmail: io_ts_1.string,
31
27
  gitUserName: io_ts_1.string,
32
28
  ignorePackages: (0, io_ts_1.array)(io_ts_1.string),
29
+ packageManager: (0, io_ts_1.union)([
30
+ (0, io_ts_1.literal)(package_manager_1.PackageManagerName.Npm),
31
+ (0, io_ts_1.literal)(package_manager_1.PackageManagerName.Yarn)
32
+ ]),
33
33
  prBodyNotes: io_ts_1.string,
34
34
  reviewers: (0, io_ts_1.array)(io_ts_1.string)
35
35
  })
@@ -80,8 +80,7 @@ exports.cliOptions = [
80
80
  choices: [
81
81
  package_manager_1.PackageManagerName.Npm,
82
82
  package_manager_1.PackageManagerName.Yarn
83
- ],
84
- default: package_manager_1.PackageManagerName.Npm
83
+ ]
85
84
  },
86
85
  {
87
86
  name: 'pr-body-notes',
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PackageManagerCreator = void 0;
4
+ const detectPackageManager_1 = require("./detectPackageManager");
5
+ const Npm_1 = require("./Npm");
6
+ const PackageManagerName_1 = require("./PackageManagerName");
7
+ const Yarn_1 = require("./Yarn");
8
+ class PackageManagerCreator {
9
+ constructor({ options, logger }) {
10
+ this.options = options;
11
+ this.logger = logger;
12
+ }
13
+ async create(terminal) {
14
+ const packageManagerName = await this.getPackageManagerName();
15
+ this.logger.trace(`packageManagerName=${packageManagerName}`);
16
+ switch (packageManagerName) {
17
+ case PackageManagerName_1.PackageManagerName.Npm:
18
+ this.logger.info('Use npm as package manager');
19
+ return new Npm_1.Npm(terminal);
20
+ case PackageManagerName_1.PackageManagerName.Yarn:
21
+ this.logger.info('Use Yarn as package manager');
22
+ return new Yarn_1.Yarn(terminal);
23
+ }
24
+ }
25
+ async getPackageManagerName() {
26
+ if (this.options.packageManager !== undefined) {
27
+ return this.options.packageManager;
28
+ }
29
+ this.logger.info('Try to detect package manager from lock file.');
30
+ return await (0, detectPackageManager_1.detectPackageManager)();
31
+ }
32
+ }
33
+ exports.PackageManagerCreator = PackageManagerCreator;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.detectPackageManager = void 0;
4
+ const file_1 = require("../file");
5
+ const PackageManagerName_1 = require("./PackageManagerName");
6
+ const detectPackageManager = async () => {
7
+ if (await (0, file_1.canReadWrite)('package-lock.json')) {
8
+ return PackageManagerName_1.PackageManagerName.Npm;
9
+ }
10
+ if (await (0, file_1.canReadWrite)('yarn.lock')) {
11
+ return PackageManagerName_1.PackageManagerName.Yarn;
12
+ }
13
+ throw new Error('No lock file exists.');
14
+ };
15
+ exports.detectPackageManager = detectPackageManager;
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./createPackageManager"), exports);
18
17
  __exportStar(require("./Npm"), exports);
19
18
  __exportStar(require("./PackageManager"), exports);
19
+ __exportStar(require("./PackageManagerCreator"), exports);
20
20
  __exportStar(require("./PackageManagerName"), exports);
21
21
  __exportStar(require("./Yarn"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npm-update-package",
3
- "version": "0.53.1",
3
+ "version": "0.54.0",
4
4
  "description": "CLI tool for creating pull requests to update npm packages",
5
5
  "scripts": {
6
6
  "build": "tsc --project tsconfig.build.json",
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPackageManager = void 0;
4
- const Npm_1 = require("./Npm");
5
- const PackageManagerName_1 = require("./PackageManagerName");
6
- const Yarn_1 = require("./Yarn");
7
- const createPackageManager = ({ terminal, packageManager }) => {
8
- switch (packageManager) {
9
- case PackageManagerName_1.PackageManagerName.Npm:
10
- return new Npm_1.Npm(terminal);
11
- case PackageManagerName_1.PackageManagerName.Yarn:
12
- return new Yarn_1.Yarn(terminal);
13
- }
14
- };
15
- exports.createPackageManager = createPackageManager;