npm-update-package 0.22.3 → 0.22.4

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 (64) hide show
  1. package/README.md +6 -5
  2. package/dist/app.js +1 -1
  3. package/dist/{processors → core}/FailedResult.js +0 -0
  4. package/dist/{ncu → core}/OutdatedPackage.js +0 -0
  5. package/dist/{processors → core}/OutdatedPackageProcessor.js +3 -3
  6. package/dist/{processors → core}/OutdatedPackagesProcessor.js +0 -0
  7. package/dist/{processors → core}/SucceededResult.js +0 -0
  8. package/dist/core/index.js +17 -0
  9. package/dist/file/index.js +13 -0
  10. package/dist/file/readFile.js +12 -0
  11. package/dist/git/CommitMessageCreator.js +2 -1
  12. package/dist/git/createBranchName.js +1 -10
  13. package/dist/git/index.js +14 -9
  14. package/dist/github/branch/finder/BranchFinder.js +12 -0
  15. package/dist/github/branch/finder/index.js +13 -0
  16. package/dist/github/branch/index.js +13 -0
  17. package/dist/github/index.js +13 -15
  18. package/dist/github/{PullRequestCloser.js → pull-request/closer/PullRequestCloser.js} +0 -0
  19. package/dist/github/pull-request/closer/index.js +13 -0
  20. package/dist/github/{PullRequestCreator.js → pull-request/creator/PullRequestCreator.js} +0 -0
  21. package/dist/github/{PullRequestTitleCreator.js → pull-request/creator/PullRequestTitleCreator.js} +2 -1
  22. package/dist/github/{createPullRequestBody.js → pull-request/creator/createPullRequestBody.js} +17 -33
  23. package/dist/github/pull-request/creator/index.js +14 -0
  24. package/dist/github/{PullRequestFinder.js → pull-request/finder/PullRequestFinder.js} +4 -3
  25. package/dist/github/pull-request/finder/index.js +13 -0
  26. package/dist/github/{isPullRequestByNpmUpdatePackage.js → pull-request/finder/isPullRequestByNpmUpdatePackage.js} +0 -0
  27. package/dist/github/pull-request/index.js +15 -0
  28. package/dist/github/{PullRequestMetadata.js → pull-request/metadata/PullRequestMetadata.js} +3 -2
  29. package/dist/github/pull-request/metadata/createPullRequestMetadata.js +17 -0
  30. package/dist/github/{extractPullRequestMetadata.js → pull-request/metadata/extractPullRequestMetadata.js} +0 -0
  31. package/dist/github/pull-request/metadata/index.js +15 -0
  32. package/dist/json/index.js +13 -0
  33. package/dist/json/toJSON.js +15 -0
  34. package/dist/logger/index.js +13 -6
  35. package/dist/main.js +8 -18
  36. package/dist/ncu/Ncu.js +37 -8
  37. package/dist/ncu/index.js +11 -8
  38. package/dist/options/index.js +12 -3
  39. package/dist/package-json/PackageMetadata.js +18 -0
  40. package/dist/package-json/PackageMetadataDependencies.js +6 -0
  41. package/dist/package-json/index.js +12 -5
  42. package/dist/package-json/parsePackageJson.js +15 -0
  43. package/dist/package-manager/PackageManagerName.js +1 -1
  44. package/dist/package-manager/index.js +15 -10
  45. package/dist/{ncu/PackageVersion.js → semver/SemVer.js} +5 -5
  46. package/dist/semver/SemVerLevel.js +11 -0
  47. package/dist/semver/compareSemVers.js +16 -0
  48. package/dist/semver/index.js +15 -0
  49. package/dist/terminal/index.js +11 -3
  50. package/package.json +1 -1
  51. package/dist/github/Branch.js +0 -2
  52. package/dist/github/CreatedPullRequest.js +0 -2
  53. package/dist/github/Label.js +0 -2
  54. package/dist/github/PullRequest.js +0 -2
  55. package/dist/github/RemoteBranchExistenceChecker.js +0 -16
  56. package/dist/github/Repository.js +0 -2
  57. package/dist/ncu/NcuResultConverter.js +0 -37
  58. package/dist/ncu/UpdateType.js +0 -11
  59. package/dist/ncu/toUpdateType.js +0 -17
  60. package/dist/package-json/Package.js +0 -18
  61. package/dist/package-json/PackageDependencies.js +0 -6
  62. package/dist/package-json/PackageJsonParser.js +0 -21
  63. package/dist/package-json/PackageJsonReader.js +0 -20
  64. package/dist/processors/index.js +0 -7
package/README.md CHANGED
@@ -79,15 +79,16 @@ Pull request title template
79
79
  GitHub token is required to run npm-update-package.
80
80
  For example, the following tokens can be used.
81
81
 
82
- |GitHub token|Author of pull requests|Trigger other actions|
83
- |---|---|---|
84
- |[GitHub Actions](https://docs.github.com/en/actions/security-guides/automatic-token-authentication)|`github-actions`||
85
- |[GitHub App](https://docs.github.com/en/developers/apps/building-github-apps/authenticating-with-github-apps)|GitHub App which issued the token|✓|
86
- |[Personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)|user who issued the token|✓|
82
+ |GitHub token|Owner|Author of pull requests|Trigger other actions|
83
+ |---|---|---|---|
84
+ |[GitHub Actions](https://docs.github.com/en/actions/security-guides/automatic-token-authentication)|GitHub|`github-actions`||
85
+ |[GitHub App](https://docs.github.com/en/developers/apps/building-github-apps/authenticating-with-github-apps)|organization or personal account|app which issued the token|✓|
86
+ |[Personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)|personal account|user who issued the token|✓|
87
87
 
88
88
  We recommend using GitHub App for the following reasons.
89
89
 
90
90
  - When you use the token of GitHub Actions, the job will not trigger other actions.
91
+ - Personal access token relies on personal account.
91
92
  - When you use the Personal access token, the author of pull requests will be the user who issued the token.
92
93
 
93
94
  Creating a GitHub App may be tedious, but you only have to do it once the first time.
package/dist/app.js CHANGED
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.app = void 0;
4
4
  exports.app = {
5
5
  name: 'npm-update-package',
6
- version: '0.22.3',
6
+ version: '0.22.4',
7
7
  web: 'https://github.com/npm-update-package/npm-update-package'
8
8
  };
File without changes
File without changes
@@ -5,12 +5,12 @@ const Either_1 = require("fp-ts/lib/Either");
5
5
  const git_1 = require("../git");
6
6
  // TODO: add test
7
7
  class OutdatedPackageProcessor {
8
- constructor({ git, ncu, packageManager, pullRequestCreator, remoteBranchExistenceChecker, logger, commitMessageCreator, pullRequestFinder, pullRequestCloser }) {
8
+ constructor({ git, ncu, packageManager, pullRequestCreator, branchFinder, logger, commitMessageCreator, pullRequestFinder, pullRequestCloser }) {
9
9
  this.git = git;
10
10
  this.ncu = ncu;
11
11
  this.packageManager = packageManager;
12
12
  this.pullRequestCreator = pullRequestCreator;
13
- this.remoteBranchExistenceChecker = remoteBranchExistenceChecker;
13
+ this.branchFinder = branchFinder;
14
14
  this.logger = logger;
15
15
  this.commitMessageCreator = commitMessageCreator;
16
16
  this.pullRequestFinder = pullRequestFinder;
@@ -22,7 +22,7 @@ class OutdatedPackageProcessor {
22
22
  async process(outdatedPackage) {
23
23
  const branchName = (0, git_1.createBranchName)(outdatedPackage);
24
24
  this.logger.debug(`branchName=${branchName}`);
25
- if (this.remoteBranchExistenceChecker.check(branchName)) {
25
+ if (this.branchFinder.findByName(branchName) !== undefined) {
26
26
  this.logger.info(`Skip ${outdatedPackage.name} because ${branchName} branch already exists on remote.`);
27
27
  return (0, Either_1.right)({
28
28
  outdatedPackage,
File without changes
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./FailedResult"), exports);
14
+ __exportStar(require("./OutdatedPackage"), exports);
15
+ __exportStar(require("./OutdatedPackageProcessor"), exports);
16
+ __exportStar(require("./OutdatedPackagesProcessor"), exports);
17
+ __exportStar(require("./SucceededResult"), exports);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./readFile"), exports);
@@ -0,0 +1,12 @@
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.readFile = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ // TODO: add test
9
+ const readFile = async (path) => {
10
+ return await fs_1.default.promises.readFile(path, 'utf8');
11
+ };
12
+ exports.readFile = readFile;
@@ -10,7 +10,8 @@ class CommitMessageCreator {
10
10
  const packageName = outdatedPackage.name;
11
11
  const currentVersion = outdatedPackage.currentVersion.version;
12
12
  const newVersion = outdatedPackage.newVersion.version;
13
- const updateType = outdatedPackage.type;
13
+ // TODO: rename to level
14
+ const updateType = outdatedPackage.level;
14
15
  return (0, mustache_1.render)(this.template, {
15
16
  packageName,
16
17
  currentVersion,
@@ -1,18 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createBranchName = void 0;
4
- const mustache_1 = require("mustache");
5
- const TEMPLATE = 'npm-update-package/{{{packageName}}}/v{{newVersion}}';
6
4
  const createBranchName = (outdatedPackage) => {
7
5
  const packageName = outdatedPackage.name;
8
- const currentVersion = outdatedPackage.currentVersion.version;
9
6
  const newVersion = outdatedPackage.newVersion.version;
10
- const updateType = outdatedPackage.type;
11
- return (0, mustache_1.render)(TEMPLATE, {
12
- packageName,
13
- currentVersion,
14
- newVersion,
15
- updateType
16
- });
7
+ return `npm-update-package/${packageName}/v${newVersion}`;
17
8
  };
18
9
  exports.createBranchName = createBranchName;
package/dist/git/index.js CHANGED
@@ -1,11 +1,16 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GitRepository = exports.Git = exports.CommitMessageCreator = exports.createBranchName = void 0;
4
- var createBranchName_1 = require("./createBranchName");
5
- Object.defineProperty(exports, "createBranchName", { enumerable: true, get: function () { return createBranchName_1.createBranchName; } });
6
- var CommitMessageCreator_1 = require("./CommitMessageCreator");
7
- Object.defineProperty(exports, "CommitMessageCreator", { enumerable: true, get: function () { return CommitMessageCreator_1.CommitMessageCreator; } });
8
- var Git_1 = require("./Git");
9
- Object.defineProperty(exports, "Git", { enumerable: true, get: function () { return Git_1.Git; } });
10
- var GitRepository_1 = require("./GitRepository");
11
- Object.defineProperty(exports, "GitRepository", { enumerable: true, get: function () { return GitRepository_1.GitRepository; } });
13
+ __exportStar(require("./CommitMessageCreator"), exports);
14
+ __exportStar(require("./createBranchName"), exports);
15
+ __exportStar(require("./Git"), exports);
16
+ __exportStar(require("./GitRepository"), exports);
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BranchFinder = void 0;
4
+ class BranchFinder {
5
+ constructor(branches) {
6
+ this.branches = branches;
7
+ }
8
+ findByName(branchName) {
9
+ return this.branches.find(({ name }) => name === branchName);
10
+ }
11
+ }
12
+ exports.BranchFinder = BranchFinder;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./BranchFinder"), exports);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./finder"), exports);
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RemoteBranchExistenceChecker = exports.PullRequestTitleCreator = exports.PullRequestFinder = exports.PullRequestCreator = exports.PullRequestCloser = exports.GitHub = exports.createGitHub = void 0;
4
- var createGitHub_1 = require("./createGitHub");
5
- Object.defineProperty(exports, "createGitHub", { enumerable: true, get: function () { return createGitHub_1.createGitHub; } });
6
- var GitHub_1 = require("./GitHub");
7
- Object.defineProperty(exports, "GitHub", { enumerable: true, get: function () { return GitHub_1.GitHub; } });
8
- var PullRequestCloser_1 = require("./PullRequestCloser");
9
- Object.defineProperty(exports, "PullRequestCloser", { enumerable: true, get: function () { return PullRequestCloser_1.PullRequestCloser; } });
10
- var PullRequestCreator_1 = require("./PullRequestCreator");
11
- Object.defineProperty(exports, "PullRequestCreator", { enumerable: true, get: function () { return PullRequestCreator_1.PullRequestCreator; } });
12
- var PullRequestFinder_1 = require("./PullRequestFinder");
13
- Object.defineProperty(exports, "PullRequestFinder", { enumerable: true, get: function () { return PullRequestFinder_1.PullRequestFinder; } });
14
- var PullRequestTitleCreator_1 = require("./PullRequestTitleCreator");
15
- Object.defineProperty(exports, "PullRequestTitleCreator", { enumerable: true, get: function () { return PullRequestTitleCreator_1.PullRequestTitleCreator; } });
16
- var RemoteBranchExistenceChecker_1 = require("./RemoteBranchExistenceChecker");
17
- Object.defineProperty(exports, "RemoteBranchExistenceChecker", { enumerable: true, get: function () { return RemoteBranchExistenceChecker_1.RemoteBranchExistenceChecker; } });
13
+ __exportStar(require("./branch"), exports);
14
+ __exportStar(require("./createGitHub"), exports);
15
+ __exportStar(require("./pull-request"), exports);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./PullRequestCloser"), exports);
@@ -10,7 +10,8 @@ class PullRequestTitleCreator {
10
10
  const packageName = outdatedPackage.name;
11
11
  const currentVersion = outdatedPackage.currentVersion.version;
12
12
  const newVersion = outdatedPackage.newVersion.version;
13
- const updateType = outdatedPackage.type;
13
+ // TODO: rename to level
14
+ const updateType = outdatedPackage.level;
14
15
  return (0, mustache_1.render)(this.template, {
15
16
  packageName,
16
17
  currentVersion,
@@ -1,13 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createPullRequestBody = void 0;
4
- const mustache_1 = require("mustache");
5
- const app_1 = require("../app");
6
- const TEMPLATE = `This PR updates these packages:
4
+ const app_1 = require("../../../app");
5
+ const json_1 = require("../../../json");
6
+ const metadata_1 = require("../metadata");
7
+ const createPullRequestBody = (outdatedPackage) => {
8
+ const appName = app_1.app.name;
9
+ const appVersion = app_1.app.version;
10
+ const appWeb = app_1.app.web;
11
+ const currentVersion = outdatedPackage.currentVersion.version;
12
+ const newVersion = outdatedPackage.newVersion.version;
13
+ const packageName = outdatedPackage.name;
14
+ const level = outdatedPackage.level;
15
+ const metadata = (0, json_1.toJSON)((0, metadata_1.createPullRequestMetadata)([outdatedPackage]), { pretty: true });
16
+ // TODO: rename type to level
17
+ return `This PR updates these packages:
7
18
 
8
19
  |package|type|current version|new version|
9
20
  |---|---|---|---|
10
- |[{{{packageName}}}](https://www.npmjs.com/package/{{{packageName}}})|{{updateType}}|\`{{currentVersion}}\`|\`{{newVersion}}\`|
21
+ |[${packageName}](https://www.npmjs.com/package/${packageName})|${level}|\`${currentVersion}\`|\`${newVersion}\`|
11
22
 
12
23
  <details>
13
24
  <summary>Metadata</summary>
@@ -17,40 +28,13 @@ const TEMPLATE = `This PR updates these packages:
17
28
  <div id="npm-update-package-metadata">
18
29
 
19
30
  \`\`\`json
20
- {
21
- "version": "{{appVersion}}",
22
- "packages": [
23
- {
24
- "name": "{{{packageName}}}",
25
- "type": "{{updateType}}",
26
- "currentVersion": "{{currentVersion}}",
27
- "newVersion": "{{newVersion}}"
28
- }
29
- ]
30
- }
31
+ ${metadata}
31
32
  \`\`\`
32
33
 
33
34
  </div>
34
35
  </details>
35
36
 
36
37
  ---
37
- This PR has been generated by [{{{appName}}}]({{{appWeb}}}) v{{appVersion}}`;
38
- const createPullRequestBody = (outdatedPackage) => {
39
- const appName = app_1.app.name;
40
- const appVersion = app_1.app.version;
41
- const appWeb = app_1.app.web;
42
- const currentVersion = outdatedPackage.currentVersion.version;
43
- const newVersion = outdatedPackage.newVersion.version;
44
- const packageName = outdatedPackage.name;
45
- const updateType = outdatedPackage.type;
46
- return (0, mustache_1.render)(TEMPLATE, {
47
- appName,
48
- appVersion,
49
- appWeb,
50
- currentVersion,
51
- newVersion,
52
- packageName,
53
- updateType
54
- });
38
+ This PR has been generated by [${appName}](${appWeb}) v${appVersion}`;
55
39
  };
56
40
  exports.createPullRequestBody = createPullRequestBody;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./PullRequestCreator"), exports);
14
+ __exportStar(require("./PullRequestTitleCreator"), exports);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PullRequestFinder = void 0;
4
- const extractPullRequestMetadata_1 = require("./extractPullRequestMetadata");
4
+ const metadata_1 = require("../metadata");
5
5
  const isPullRequestByNpmUpdatePackage_1 = require("./isPullRequestByNpmUpdatePackage");
6
6
  // TODO: Add test
7
7
  class PullRequestFinder {
@@ -15,11 +15,12 @@ class PullRequestFinder {
15
15
  if (body === null) {
16
16
  return false;
17
17
  }
18
- const metadata = (0, extractPullRequestMetadata_1.extractPullRequestMetadata)(body);
18
+ const metadata = (0, metadata_1.extractPullRequestMetadata)(body);
19
19
  if (metadata === undefined) {
20
20
  return false;
21
21
  }
22
- return metadata.packages.some(({ name }) => name === packageName);
22
+ const { packages } = metadata;
23
+ return packages.some(({ name }) => name === packageName);
23
24
  });
24
25
  }
25
26
  }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./PullRequestFinder"), exports);
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./closer"), exports);
14
+ __exportStar(require("./creator"), exports);
15
+ __exportStar(require("./finder"), exports);
@@ -2,14 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isPullRequestMetadata = void 0;
4
4
  const io_ts_1 = require("io-ts");
5
- const ncu_1 = require("../ncu");
5
+ const semver_1 = require("../../../semver");
6
6
  const PullRequestMetadata = (0, io_ts_1.type)({
7
7
  version: io_ts_1.string,
8
8
  packages: (0, io_ts_1.array)((0, io_ts_1.type)({
9
9
  name: io_ts_1.string,
10
10
  currentVersion: io_ts_1.string,
11
11
  newVersion: io_ts_1.string,
12
- type: (0, io_ts_1.union)([(0, io_ts_1.literal)(ncu_1.UpdateType.Major), (0, io_ts_1.literal)(ncu_1.UpdateType.Minor), (0, io_ts_1.literal)(ncu_1.UpdateType.Patch)])
12
+ // TODO: rename to level
13
+ type: (0, io_ts_1.union)([(0, io_ts_1.literal)(semver_1.SemVerLevel.Major), (0, io_ts_1.literal)(semver_1.SemVerLevel.Minor), (0, io_ts_1.literal)(semver_1.SemVerLevel.Patch)])
13
14
  }))
14
15
  });
15
16
  exports.isPullRequestMetadata = PullRequestMetadata.is;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPullRequestMetadata = void 0;
4
+ const app_1 = require("../../../app");
5
+ // TODO: Add test
6
+ const createPullRequestMetadata = (outdatedPackages) => {
7
+ return {
8
+ version: app_1.app.version,
9
+ packages: outdatedPackages.map(({ name, currentVersion, newVersion, level }) => ({
10
+ name,
11
+ currentVersion: currentVersion.version,
12
+ newVersion: newVersion.version,
13
+ type: level
14
+ }))
15
+ };
16
+ };
17
+ exports.createPullRequestMetadata = createPullRequestMetadata;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./createPullRequestMetadata"), exports);
14
+ __exportStar(require("./extractPullRequestMetadata"), exports);
15
+ __exportStar(require("./PullRequestMetadata"), exports);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./toJSON"), exports);
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toJSON = void 0;
4
+ // TODO: Add test
5
+ const toJSON = (value, options) => {
6
+ var _a;
7
+ const pretty = (_a = options === null || options === void 0 ? void 0 : options.pretty) !== null && _a !== void 0 ? _a : false;
8
+ if (pretty) {
9
+ return JSON.stringify(value, null, 2);
10
+ }
11
+ else {
12
+ return JSON.stringify(value);
13
+ }
14
+ };
15
+ exports.toJSON = toJSON;
@@ -1,8 +1,15 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LogLevel = exports.isLogLevel = exports.createLogger = void 0;
4
- var createLogger_1 = require("./createLogger");
5
- Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return createLogger_1.createLogger; } });
6
- var LogLevel_1 = require("./LogLevel");
7
- Object.defineProperty(exports, "isLogLevel", { enumerable: true, get: function () { return LogLevel_1.isLogLevel; } });
8
- Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return LogLevel_1.LogLevel; } });
13
+ __exportStar(require("./createLogger"), exports);
14
+ __exportStar(require("./Logger"), exports);
15
+ __exportStar(require("./LogLevel"), exports);
package/dist/main.js CHANGED
@@ -2,13 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.main = void 0;
4
4
  const Either_1 = require("fp-ts/lib/Either");
5
+ const core_1 = require("./core");
5
6
  const git_1 = require("./git");
6
7
  const github_1 = require("./github");
7
8
  const ncu_1 = require("./ncu");
8
- const package_json_1 = require("./package-json");
9
- const PackageJsonReader_1 = require("./package-json/PackageJsonReader");
10
9
  const package_manager_1 = require("./package-manager");
11
- const processors_1 = require("./processors");
12
10
  const terminal_1 = require("./terminal");
13
11
  // TODO: add test
14
12
  const main = async ({ options, logger }) => {
@@ -16,15 +14,7 @@ const main = async ({ options, logger }) => {
16
14
  ...options,
17
15
  githubToken: options.githubToken !== '' ? '***' : ''
18
16
  })}`);
19
- const packageJsonParser = new package_json_1.PackageJsonParser(logger);
20
- const packageJsonReader = new PackageJsonReader_1.PackageJsonReader({
21
- packageJsonParser,
22
- logger
23
- });
24
- const ncu = new ncu_1.Ncu({
25
- packageJsonReader,
26
- logger
27
- });
17
+ const ncu = new ncu_1.Ncu(logger);
28
18
  const outdatedPackages = await ncu.check();
29
19
  logger.debug(`outdatedPackages=${JSON.stringify(outdatedPackages)}`);
30
20
  if (outdatedPackages.length === 0) {
@@ -45,17 +35,17 @@ const main = async ({ options, logger }) => {
45
35
  repo: gitRepo.name
46
36
  });
47
37
  logger.debug(`githubRepo=${JSON.stringify(githubRepo)}`);
48
- const remoteBranches = await github.fetchBranches({
38
+ const branches = await github.fetchBranches({
49
39
  owner: gitRepo.owner,
50
40
  repo: gitRepo.name
51
41
  });
52
- logger.debug(`remoteBranches=${JSON.stringify(remoteBranches)}`);
42
+ logger.debug(`branches=${JSON.stringify(branches)}`);
53
43
  const pullRequests = await github.fetchPullRequests({
54
44
  owner: gitRepo.owner,
55
45
  repo: gitRepo.name
56
46
  });
57
47
  logger.debug(`pullRequests=${JSON.stringify(pullRequests)}`);
58
- const remoteBranchExistenceChecker = github_1.RemoteBranchExistenceChecker.of(remoteBranches);
48
+ const branchFinder = new github_1.BranchFinder(branches);
59
49
  const packageManager = (0, package_manager_1.createPackageManager)({
60
50
  terminal,
61
51
  packageManager: options.packageManager
@@ -71,18 +61,18 @@ const main = async ({ options, logger }) => {
71
61
  const commitMessageCreator = new git_1.CommitMessageCreator(options.commitMessage);
72
62
  const pullRequestFinder = new github_1.PullRequestFinder(pullRequests);
73
63
  const pullRequestCloser = new github_1.PullRequestCloser(github);
74
- const outdatedPackageProcessor = new processors_1.OutdatedPackageProcessor({
64
+ const outdatedPackageProcessor = new core_1.OutdatedPackageProcessor({
75
65
  git,
76
66
  ncu,
77
67
  packageManager,
78
68
  pullRequestCreator,
79
- remoteBranchExistenceChecker,
69
+ branchFinder,
80
70
  logger,
81
71
  commitMessageCreator,
82
72
  pullRequestFinder,
83
73
  pullRequestCloser
84
74
  });
85
- const outdatedPackagesProcessor = new processors_1.OutdatedPackagesProcessor({
75
+ const outdatedPackagesProcessor = new core_1.OutdatedPackagesProcessor({
86
76
  outdatedPackageProcessor,
87
77
  logger
88
78
  });
package/dist/ncu/Ncu.js CHANGED
@@ -2,12 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Ncu = void 0;
4
4
  const npm_check_updates_1 = require("npm-check-updates");
5
+ const type_guards_1 = require("type-guards");
6
+ const file_1 = require("../file");
7
+ const package_json_1 = require("../package-json");
8
+ const semver_1 = require("../semver");
5
9
  const NcuResult_1 = require("./NcuResult");
6
- const NcuResultConverter_1 = require("./NcuResultConverter");
7
10
  // TODO: add test
8
11
  class Ncu {
9
- constructor({ packageJsonReader, logger }) {
10
- this.packageJsonReader = packageJsonReader;
12
+ constructor(logger) {
11
13
  this.logger = logger;
12
14
  }
13
15
  async check() {
@@ -23,20 +25,47 @@ class Ncu {
23
25
  });
24
26
  }
25
27
  async run(options) {
26
- const pkg = await this.packageJsonReader.read();
28
+ // Read package.json before running ncu
29
+ const json = await (0, file_1.readFile)('./package.json');
30
+ const pkg = (0, package_json_1.parsePackageJson)(json);
27
31
  this.logger.debug(`pkg=${JSON.stringify(pkg)}`);
28
32
  const result = await (0, npm_check_updates_1.run)(options);
29
33
  this.logger.debug(`result=${JSON.stringify(result)}`);
30
34
  if (!(0, NcuResult_1.isNcuResult)(result)) {
31
- throw new Error('result is not NcuResult');
35
+ throw new Error('Failed to running ncu.');
32
36
  }
33
- const ncuResultConverter = new NcuResultConverter_1.NcuResultConverter({
37
+ const currentDependencies = {
34
38
  ...pkg.dependencies,
35
39
  ...pkg.devDependencies,
36
40
  ...pkg.peerDependencies,
37
41
  ...pkg.optionalDependencies
38
- });
39
- return ncuResultConverter.toOutdatedPackages(result);
42
+ };
43
+ const resultEntries = Object.entries(result);
44
+ const outdatedPackages = resultEntries
45
+ .map(([name, newVersionString]) => {
46
+ const currentVersionString = currentDependencies[name];
47
+ if (currentVersionString === undefined) {
48
+ return undefined;
49
+ }
50
+ const currentVersion = semver_1.SemVer.of(currentVersionString);
51
+ const newVersion = semver_1.SemVer.of(newVersionString);
52
+ const level = (0, semver_1.compareSemVers)(currentVersion, newVersion);
53
+ if (level === undefined) {
54
+ return undefined;
55
+ }
56
+ const outdatedPackage = {
57
+ name,
58
+ currentVersion,
59
+ newVersion,
60
+ level
61
+ };
62
+ return outdatedPackage;
63
+ })
64
+ .filter(type_guards_1.isNotUndefined);
65
+ if (resultEntries.length !== outdatedPackages.length) {
66
+ throw new Error('Failed to running ncu.');
67
+ }
68
+ return outdatedPackages;
40
69
  }
41
70
  }
42
71
  exports.Ncu = Ncu;
package/dist/ncu/index.js CHANGED
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateType = exports.isUpdateType = exports.PackageVersion = exports.Ncu = void 0;
4
- var Ncu_1 = require("./Ncu");
5
- Object.defineProperty(exports, "Ncu", { enumerable: true, get: function () { return Ncu_1.Ncu; } });
6
- var PackageVersion_1 = require("./PackageVersion");
7
- Object.defineProperty(exports, "PackageVersion", { enumerable: true, get: function () { return PackageVersion_1.PackageVersion; } });
8
- var UpdateType_1 = require("./UpdateType");
9
- Object.defineProperty(exports, "isUpdateType", { enumerable: true, get: function () { return UpdateType_1.isUpdateType; } });
10
- Object.defineProperty(exports, "UpdateType", { enumerable: true, get: function () { return UpdateType_1.UpdateType; } });
13
+ __exportStar(require("./Ncu"), exports);
@@ -1,5 +1,14 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initOptions = void 0;
4
- var initOptions_1 = require("./initOptions");
5
- Object.defineProperty(exports, "initOptions", { enumerable: true, get: function () { return initOptions_1.initOptions; } });
13
+ __exportStar(require("./initOptions"), exports);
14
+ __exportStar(require("./Options"), exports);
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPackageMetadata = void 0;
4
+ const io_ts_1 = require("io-ts");
5
+ const PackageMetadataDependencies_1 = require("./PackageMetadataDependencies");
6
+ const PackageMetadata = (0, io_ts_1.intersection)([
7
+ (0, io_ts_1.type)({
8
+ name: io_ts_1.string,
9
+ version: io_ts_1.string
10
+ }),
11
+ (0, io_ts_1.partial)({
12
+ dependencies: PackageMetadataDependencies_1.PackageMetadataDependencies,
13
+ devDependencies: PackageMetadataDependencies_1.PackageMetadataDependencies,
14
+ peerDependencies: PackageMetadataDependencies_1.PackageMetadataDependencies,
15
+ optionalDependencies: PackageMetadataDependencies_1.PackageMetadataDependencies
16
+ })
17
+ ]);
18
+ exports.isPackageMetadata = PackageMetadata.is;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPackageMetadataDependencies = exports.PackageMetadataDependencies = void 0;
4
+ const io_ts_1 = require("io-ts");
5
+ exports.PackageMetadataDependencies = (0, io_ts_1.record)(io_ts_1.string, io_ts_1.string);
6
+ exports.isPackageMetadataDependencies = exports.PackageMetadataDependencies.is;
@@ -1,7 +1,14 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PackageJsonReader = exports.PackageJsonParser = void 0;
4
- var PackageJsonParser_1 = require("./PackageJsonParser");
5
- Object.defineProperty(exports, "PackageJsonParser", { enumerable: true, get: function () { return PackageJsonParser_1.PackageJsonParser; } });
6
- var PackageJsonReader_1 = require("./PackageJsonReader");
7
- Object.defineProperty(exports, "PackageJsonReader", { enumerable: true, get: function () { return PackageJsonReader_1.PackageJsonReader; } });
13
+ __exportStar(require("./PackageMetadata"), exports);
14
+ __exportStar(require("./parsePackageJson"), exports);
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parsePackageJson = void 0;
4
+ const PackageMetadata_1 = require("./PackageMetadata");
5
+ // TODO: add test
6
+ const parsePackageJson = (json) => {
7
+ const parsed = JSON.parse(json);
8
+ if ((0, PackageMetadata_1.isPackageMetadata)(parsed)) {
9
+ return parsed;
10
+ }
11
+ else {
12
+ throw new Error(`Failed to parse package.json. json=${json}`);
13
+ }
14
+ };
15
+ exports.parsePackageJson = parsePackageJson;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isPackageManagerName = exports.PackageManagerName = void 0;
4
4
  exports.PackageManagerName = {
5
5
  Npm: 'npm',
6
- Yarn: 'yarn'
6
+ Yarn: 'Yarn'
7
7
  };
8
8
  const packageManagerNames = Object.values(exports.PackageManagerName);
9
9
  const isPackageManagerName = (value) => packageManagerNames.includes(value);
@@ -1,12 +1,17 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Yarn = exports.PackageManagerName = exports.isPackageManagerName = exports.Npm = exports.createPackageManager = void 0;
4
- var createPackageManager_1 = require("./createPackageManager");
5
- Object.defineProperty(exports, "createPackageManager", { enumerable: true, get: function () { return createPackageManager_1.createPackageManager; } });
6
- var Npm_1 = require("./Npm");
7
- Object.defineProperty(exports, "Npm", { enumerable: true, get: function () { return Npm_1.Npm; } });
8
- var PackageManagerName_1 = require("./PackageManagerName");
9
- Object.defineProperty(exports, "isPackageManagerName", { enumerable: true, get: function () { return PackageManagerName_1.isPackageManagerName; } });
10
- Object.defineProperty(exports, "PackageManagerName", { enumerable: true, get: function () { return PackageManagerName_1.PackageManagerName; } });
11
- var Yarn_1 = require("./Yarn");
12
- Object.defineProperty(exports, "Yarn", { enumerable: true, get: function () { return Yarn_1.Yarn; } });
13
+ __exportStar(require("./createPackageManager"), exports);
14
+ __exportStar(require("./Npm"), exports);
15
+ __exportStar(require("./PackageManager"), exports);
16
+ __exportStar(require("./PackageManagerName"), exports);
17
+ __exportStar(require("./Yarn"), exports);
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PackageVersion = void 0;
3
+ exports.SemVer = void 0;
4
4
  const semver_1 = require("semver");
5
- class PackageVersion {
5
+ class SemVer {
6
6
  constructor({ version, major, minor, patch }) {
7
7
  this.version = version;
8
8
  this.major = major;
@@ -12,9 +12,9 @@ class PackageVersion {
12
12
  static of(version) {
13
13
  const semver = (0, semver_1.coerce)(version);
14
14
  if (semver === null) {
15
- throw new Error(`Failed to parse package version. version=${version}`);
15
+ throw new Error(`Failed to parse version. version=${version}`);
16
16
  }
17
- return new PackageVersion({
17
+ return new SemVer({
18
18
  version: semver.version,
19
19
  major: semver.major,
20
20
  minor: semver.minor,
@@ -22,4 +22,4 @@ class PackageVersion {
22
22
  });
23
23
  }
24
24
  }
25
- exports.PackageVersion = PackageVersion;
25
+ exports.SemVer = SemVer;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSemVerLevel = exports.SemVerLevel = void 0;
4
+ exports.SemVerLevel = {
5
+ Major: 'major',
6
+ Minor: 'minor',
7
+ Patch: 'patch'
8
+ };
9
+ const semVerLevels = Object.values(exports.SemVerLevel);
10
+ const isSemVerLevel = (value) => semVerLevels.includes(value);
11
+ exports.isSemVerLevel = isSemVerLevel;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareSemVers = void 0;
4
+ const SemVerLevel_1 = require("./SemVerLevel");
5
+ const compareSemVers = (version1, version2) => {
6
+ if (version1.major !== version2.major) {
7
+ return SemVerLevel_1.SemVerLevel.Major;
8
+ }
9
+ if (version1.minor !== version2.minor) {
10
+ return SemVerLevel_1.SemVerLevel.Minor;
11
+ }
12
+ if (version1.patch !== version2.patch) {
13
+ return SemVerLevel_1.SemVerLevel.Patch;
14
+ }
15
+ };
16
+ exports.compareSemVers = compareSemVers;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./compareSemVers"), exports);
14
+ __exportStar(require("./SemVer"), exports);
15
+ __exportStar(require("./SemVerLevel"), exports);
@@ -1,5 +1,13 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Terminal = void 0;
4
- var Terminal_1 = require("./Terminal");
5
- Object.defineProperty(exports, "Terminal", { enumerable: true, get: function () { return Terminal_1.Terminal; } });
13
+ __exportStar(require("./Terminal"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npm-update-package",
3
- "version": "0.22.3",
3
+ "version": "0.22.4",
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,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RemoteBranchExistenceChecker = void 0;
4
- class RemoteBranchExistenceChecker {
5
- constructor(remoteBranchNames) {
6
- this.remoteBranchNames = remoteBranchNames;
7
- }
8
- static of(remoteBranches) {
9
- const remoteBranchNames = remoteBranches.map(({ name }) => name);
10
- return new RemoteBranchExistenceChecker(remoteBranchNames);
11
- }
12
- check(branchName) {
13
- return this.remoteBranchNames.includes(branchName);
14
- }
15
- }
16
- exports.RemoteBranchExistenceChecker = RemoteBranchExistenceChecker;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NcuResultConverter = void 0;
4
- const type_guards_1 = require("type-guards");
5
- const PackageVersion_1 = require("./PackageVersion");
6
- const toUpdateType_1 = require("./toUpdateType");
7
- // TODO: add test
8
- class NcuResultConverter {
9
- constructor(currentDependencies) {
10
- this.currentDependencies = currentDependencies;
11
- }
12
- toOutdatedPackages(result) {
13
- const resultEntries = Object.entries(result);
14
- const outdatedPackages = resultEntries
15
- .map(([name, newVersionString]) => {
16
- const currentVersionString = this.currentDependencies[name];
17
- if (currentVersionString === undefined) {
18
- return undefined;
19
- }
20
- const currentVersion = PackageVersion_1.PackageVersion.of(currentVersionString);
21
- const newVersion = PackageVersion_1.PackageVersion.of(newVersionString);
22
- const type = (0, toUpdateType_1.toUpdateType)(currentVersion, newVersion);
23
- return {
24
- name,
25
- currentVersion,
26
- newVersion,
27
- type
28
- };
29
- })
30
- .filter(type_guards_1.isNotUndefined);
31
- if (resultEntries.length !== outdatedPackages.length) {
32
- throw new Error('Failed to convert to outdatedPackages from NcuResult.');
33
- }
34
- return outdatedPackages;
35
- }
36
- }
37
- exports.NcuResultConverter = NcuResultConverter;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isUpdateType = exports.UpdateType = void 0;
4
- exports.UpdateType = {
5
- Major: 'major',
6
- Minor: 'minor',
7
- Patch: 'patch'
8
- };
9
- const updateTypes = Object.values(exports.UpdateType);
10
- const isUpdateType = (value) => updateTypes.includes(value);
11
- exports.isUpdateType = isUpdateType;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toUpdateType = void 0;
4
- const UpdateType_1 = require("./UpdateType");
5
- const toUpdateType = (currentVersion, newVersion) => {
6
- if (currentVersion.major !== newVersion.major) {
7
- return UpdateType_1.UpdateType.Major;
8
- }
9
- if (currentVersion.minor !== newVersion.minor) {
10
- return UpdateType_1.UpdateType.Minor;
11
- }
12
- if (currentVersion.patch !== newVersion.patch) {
13
- return UpdateType_1.UpdateType.Patch;
14
- }
15
- throw new Error('Both versions are same.');
16
- };
17
- exports.toUpdateType = toUpdateType;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPackage = void 0;
4
- const io_ts_1 = require("io-ts");
5
- const PackageDependencies_1 = require("./PackageDependencies");
6
- const Package = (0, io_ts_1.intersection)([
7
- (0, io_ts_1.type)({
8
- name: io_ts_1.string,
9
- version: io_ts_1.string
10
- }),
11
- (0, io_ts_1.partial)({
12
- dependencies: PackageDependencies_1.PackageDependencies,
13
- devDependencies: PackageDependencies_1.PackageDependencies,
14
- peerDependencies: PackageDependencies_1.PackageDependencies,
15
- optionalDependencies: PackageDependencies_1.PackageDependencies
16
- })
17
- ]);
18
- exports.isPackage = Package.is;
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPackageDependencies = exports.PackageDependencies = void 0;
4
- const io_ts_1 = require("io-ts");
5
- exports.PackageDependencies = (0, io_ts_1.record)(io_ts_1.string, io_ts_1.string);
6
- exports.isPackageDependencies = exports.PackageDependencies.is;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PackageJsonParser = void 0;
4
- const Package_1 = require("./Package");
5
- // TODO: add test
6
- class PackageJsonParser {
7
- constructor(logger) {
8
- this.logger = logger;
9
- }
10
- parse(json) {
11
- const parsed = JSON.parse(json);
12
- this.logger.debug(`parsed=${JSON.stringify(parsed)}`);
13
- if ((0, Package_1.isPackage)(parsed)) {
14
- return parsed;
15
- }
16
- else {
17
- throw new Error(`Failed to parse package.json. json=${json}`);
18
- }
19
- }
20
- }
21
- exports.PackageJsonParser = PackageJsonParser;
@@ -1,20 +0,0 @@
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.PackageJsonReader = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- // TODO: add test
9
- class PackageJsonReader {
10
- constructor({ packageJsonParser, logger }) {
11
- this.packageJsonParser = packageJsonParser;
12
- this.logger = logger;
13
- }
14
- async read() {
15
- const json = await fs_1.default.promises.readFile('./package.json', 'utf8');
16
- this.logger.debug(`json=${json}`);
17
- return this.packageJsonParser.parse(json);
18
- }
19
- }
20
- exports.PackageJsonReader = PackageJsonReader;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OutdatedPackagesProcessor = exports.OutdatedPackageProcessor = void 0;
4
- var OutdatedPackageProcessor_1 = require("./OutdatedPackageProcessor");
5
- Object.defineProperty(exports, "OutdatedPackageProcessor", { enumerable: true, get: function () { return OutdatedPackageProcessor_1.OutdatedPackageProcessor; } });
6
- var OutdatedPackagesProcessor_1 = require("./OutdatedPackagesProcessor");
7
- Object.defineProperty(exports, "OutdatedPackagesProcessor", { enumerable: true, get: function () { return OutdatedPackagesProcessor_1.OutdatedPackagesProcessor; } });