npm-update-package 0.26.1 → 0.28.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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020 TS Examples
3
+ Copyright (c) 2020 TS Templates
4
4
  Copyright (c) 2021 npm-update-package
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
package/README.md CHANGED
@@ -44,9 +44,10 @@ Log level to show
44
44
  - required: false
45
45
  - allowed values
46
46
  - `off`: Do not output any logs.
47
- - `error`: Output error logs.
48
- - `info`: Output error/info logs.
49
- - `debug`: Output error/info/debug logs.
47
+ - `fatal`: Output fatal logs.
48
+ - `error`: Output fatal/error logs.
49
+ - `info`: Output fatal/error/info logs.
50
+ - `debug`: Output fatal/error/info/debug logs.
50
51
  - default: `info`
51
52
 
52
53
  ### `--package-manager`
@@ -237,19 +238,24 @@ if (All packages are up-to-date) then (yes)
237
238
  else (no)
238
239
  endif
239
240
 
240
- :Get remote branches;
241
- :Get pull requests;
241
+ :Fetch remote branches;
242
+ :Fetch pull requests;
243
+
244
+ if (Label does not exist) then (yes)
245
+ :Create label;
246
+ else (no)
247
+ endif
242
248
 
243
249
  group OutdatedPackagesProcessor
244
250
  while (Package exists) is (yes)
245
251
  group OutdatedPackageProcessor
246
- if (Remote branch exists) then (yes)
247
- else (no)
252
+ if (Remote branch does not exist) then (yes)
248
253
  :Create branch;
249
254
  :Update package;
250
255
  :Create pull request;
251
256
  :Close old pull requests;
252
257
  :Remove branch;
258
+ else (no)
253
259
  endif
254
260
  end group
255
261
  endwhile (no)
@@ -262,7 +268,7 @@ end
262
268
  ```
263
269
  -->
264
270
 
265
- [![](http://www.plantuml.com/plantuml/svg/RL0vSiCm3EpnYYsbmX-m6cTIf8mdCta08y4M9n39yCZn-uYYJ4kPD3omm1uuXQXyJ9FGyg2hjybXKjhGyOaZR8g3YZp0gVvTNJbqHFg2va6abg0y8xb3j8VSsoAERD3yS6W9O3CGIs0qnhOq__I52hVdoKR6crUc7sVcKdL919u_4eUOrOgZvzN7UTKyUzjp2DRJrwY5qQm0-5lFSorqg0x-PRWJ03dGozPCPTadgIa0uFZeMTM9hjHUNTQuRQRRDkw2tH2nWM5b-9EweDdIvrPWMLwvIwYypf9_iKLtW7OzT9gFDCal)](http://www.plantuml.com/plantuml/uml/RL0vSiCm3EpnYYsbmX-m6cTIf8mdCta08y4M9n39yCZn-uYYJ4kPD3omm1uuXQXyJ9FGyg2hjybXKjhGyOaZR8g3YZp0gVvTNJbqHFg2va6abg0y8xb3j8VSsoAERD3yS6W9O3CGIs0qnhOq__I52hVdoKR6crUc7sVcKdL919u_4eUOrOgZvzN7UTKyUzjp2DRJrwY5qQm0-5lFSorqg0x-PRWJ03dGozPCPTadgIa0uFZeMTM9hjHUNTQuRQRRDkw2tH2nWM5b-9EweDdIvrPWMLwvIwYypf9_iKLtW7OzT9gFDCal)
271
+ [![](http://www.plantuml.com/plantuml/svg/VL1BJiCm4DtFATuoMVG2pQO82JP8L4WSm4scJSGa3fundzjJrqsJ5iJ6dtbFypuRDHSizaAd1ns2ZoDwrmsqVcI3ZzOuumQZgz_SWRKYwlOexaGk8xZ0YEFA_2fnIrZB0uflrf807XfYKKOn-9AElsvFj7vWgri4xhqnTi4DTSjQJVCnYY3mUsIrIV79xLZGU5OCti1VdTgDrFe-i3E696hrMpM7Upv7sfxjRuElMTK7-cmxOHHd84jeYKul2dzkc1S0oUdBCjN_ZcVFcLtbsUkOzay5LrV4PJSJ8buPNfgRuZAQx7mi1UPUW5Cp-SxXKbUd7ZA3Pe2kEBGv7h6N7m00)](http://www.plantuml.com/plantuml/uml/VL1BJiCm4DtFATuoMVG2pQO82JP8L4WSm4scJSGa3fundzjJrqsJ5iJ6dtbFypuRDHSizaAd1ns2ZoDwrmsqVcI3ZzOuumQZgz_SWRKYwlOexaGk8xZ0YEFA_2fnIrZB0uflrf807XfYKKOn-9AElsvFj7vWgri4xhqnTi4DTSjQJVCnYY3mUsIrIV79xLZGU5OCti1VdTgDrFe-i3E696hrMpM7Upv7sfxjRuElMTK7-cmxOHHd84jeYKul2dzkc1S0oUdBCjN_ZcVFcLtbsUkOzay5LrV4PJSJ8buPNfgRuZAQx7mi1UPUW5Cp-SxXKbUd7ZA3Pe2kEBGv7h6N7m00)
266
272
 
267
273
  ## FAQ
268
274
 
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.26.1',
6
+ version: '0.28.2',
7
7
  web: 'https://github.com/npm-update-package/npm-update-package'
8
8
  };
@@ -7,13 +7,12 @@ class GitHub {
7
7
  this.octokit = octokit;
8
8
  }
9
9
  async addLabels({ owner, repo, issueNumber, labels }) {
10
- const { data } = await this.octokit.issues.addLabels({
10
+ await this.octokit.issues.addLabels({
11
11
  owner,
12
12
  repo,
13
13
  issue_number: issueNumber,
14
14
  labels
15
15
  });
16
- return data;
17
16
  }
18
17
  async closePullRequest({ owner, repo, pullNumber }) {
19
18
  await this.octokit.pulls.update({
@@ -23,6 +22,15 @@ class GitHub {
23
22
  state: 'closed'
24
23
  });
25
24
  }
25
+ async createLabel({ owner, repo, name, description, color }) {
26
+ await this.octokit.issues.createLabel({
27
+ owner,
28
+ repo,
29
+ name,
30
+ description,
31
+ color
32
+ });
33
+ }
26
34
  async createPullRequest({ owner, repo, baseBranch, headBranch, title, body }) {
27
35
  const { data } = await this.octokit.pulls.create({
28
36
  owner,
@@ -50,6 +58,14 @@ class GitHub {
50
58
  });
51
59
  return data;
52
60
  }
61
+ async fetchLabel({ owner, repo, name }) {
62
+ const { data } = await this.octokit.issues.getLabel({
63
+ owner,
64
+ repo,
65
+ name
66
+ });
67
+ return data;
68
+ }
53
69
  // TODO: fetch all pull requests with page option
54
70
  async fetchPullRequests({ owner, repo }) {
55
71
  const { data } = await this.octokit.pulls.list({
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isNotFoundError = void 0;
4
+ const request_error_1 = require("@octokit/request-error");
5
+ const http_status_codes_1 = require("http-status-codes");
6
+ // TODO: Add test
7
+ const isNotFoundError = (value) => {
8
+ return value instanceof request_error_1.RequestError && value.status === http_status_codes_1.StatusCodes.NOT_FOUND;
9
+ };
10
+ exports.isNotFoundError = isNotFoundError;
@@ -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("./NotFoundError"), exports);
@@ -12,4 +12,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./branch"), exports);
14
14
  __exportStar(require("./createGitHub"), exports);
15
+ __exportStar(require("./errors"), exports);
16
+ __exportStar(require("./label"), exports);
15
17
  __exportStar(require("./pull-request"), exports);
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LabelCreator = void 0;
4
+ const errors_1 = require("../../errors");
5
+ // TODO: Add test
6
+ class LabelCreator {
7
+ constructor({ github, gitRepo, logger }) {
8
+ this.github = github;
9
+ this.gitRepo = gitRepo;
10
+ this.logger = logger;
11
+ }
12
+ async create({ name, description, color }) {
13
+ const label = await this.fetchLabel(name);
14
+ if (label !== undefined) {
15
+ this.logger.info(`Skip creating ${name} label because it already exists.`);
16
+ return;
17
+ }
18
+ await this.github.createLabel({
19
+ owner: this.gitRepo.owner,
20
+ repo: this.gitRepo.name,
21
+ name,
22
+ description,
23
+ color
24
+ });
25
+ this.logger.info(`${name} label has created.`);
26
+ }
27
+ async fetchLabel(name) {
28
+ try {
29
+ return await this.github.fetchLabel({
30
+ owner: this.gitRepo.owner,
31
+ repo: this.gitRepo.name,
32
+ name
33
+ });
34
+ }
35
+ catch (e) {
36
+ if ((0, errors_1.isNotFoundError)(e)) {
37
+ this.logger.warn(e);
38
+ return undefined;
39
+ }
40
+ else {
41
+ throw e;
42
+ }
43
+ }
44
+ }
45
+ }
46
+ exports.LabelCreator = LabelCreator;
@@ -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("./LabelCreator"), 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("./creator"), exports);
@@ -4,6 +4,7 @@ exports.isLogLevel = exports.LogLevel = void 0;
4
4
  exports.LogLevel = {
5
5
  Debug: 'debug',
6
6
  Error: 'error',
7
+ Fatal: 'fatal',
7
8
  Info: 'info',
8
9
  Off: 'off'
9
10
  };
package/dist/main.js CHANGED
@@ -45,6 +45,16 @@ const main = async ({ options, logger }) => {
45
45
  repo: gitRepo.name
46
46
  });
47
47
  logger.debug(`pullRequests=${JSON.stringify(pullRequests)}`);
48
+ const labelCreator = new github_1.LabelCreator({
49
+ github,
50
+ gitRepo,
51
+ logger
52
+ });
53
+ await labelCreator.create({
54
+ name: 'npm-update-package',
55
+ description: 'Created by npm-update-package',
56
+ color: 'A00F21'
57
+ });
48
58
  const branchFinder = new github_1.BranchFinder(branches);
49
59
  const packageManager = (0, package_manager_1.createPackageManager)({
50
60
  terminal,
@@ -8,7 +8,7 @@ const Options = (0, io_ts_1.intersection)([
8
8
  (0, io_ts_1.type)({
9
9
  commitMessage: io_ts_1.string,
10
10
  githubToken: io_ts_1.string,
11
- logLevel: (0, io_ts_1.union)([(0, io_ts_1.literal)(logger_1.LogLevel.Off), (0, io_ts_1.literal)(logger_1.LogLevel.Error), (0, io_ts_1.literal)(logger_1.LogLevel.Info), (0, io_ts_1.literal)(logger_1.LogLevel.Debug)]),
11
+ logLevel: (0, io_ts_1.union)([(0, io_ts_1.literal)(logger_1.LogLevel.Off), (0, io_ts_1.literal)(logger_1.LogLevel.Fatal), (0, io_ts_1.literal)(logger_1.LogLevel.Error), (0, io_ts_1.literal)(logger_1.LogLevel.Info), (0, io_ts_1.literal)(logger_1.LogLevel.Debug)]),
12
12
  packageManager: (0, io_ts_1.union)([(0, io_ts_1.literal)(package_manager_1.PackageManagerName.Npm), (0, io_ts_1.literal)(package_manager_1.PackageManagerName.Yarn)]),
13
13
  pullRequestTitle: io_ts_1.string
14
14
  }),
@@ -25,6 +25,7 @@ exports.cliOptions = [
25
25
  required: false,
26
26
  choices: [
27
27
  logger_1.LogLevel.Off,
28
+ logger_1.LogLevel.Fatal,
28
29
  logger_1.LogLevel.Error,
29
30
  logger_1.LogLevel.Info,
30
31
  logger_1.LogLevel.Debug
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npm-update-package",
3
- "version": "0.26.1",
3
+ "version": "0.28.2",
4
4
  "description": "CLI tool for creating pull requests to update npm packages",
5
5
  "scripts": {
6
6
  "build": "tsc --project tsconfig.build.json",
@@ -21,10 +21,11 @@
21
21
  "commander": "8.3.0",
22
22
  "execa": "5.1.1",
23
23
  "fp-ts": "2.11.8",
24
+ "http-status-codes": "2.2.0",
24
25
  "io-ts": "2.2.16",
25
- "log4js": "6.3.0",
26
+ "log4js": "6.4.1",
26
27
  "mustache": "4.1.0",
27
- "npm-check-updates": "12.1.0",
28
+ "npm-check-updates": "12.2.1",
28
29
  "parse-github-url": "1.0.2",
29
30
  "semver": "7.3.5",
30
31
  "type-guards": "0.15.0"
@@ -47,12 +48,12 @@
47
48
  "eslint-plugin-tsdoc": "0.2.14",
48
49
  "husky": "7.0.4",
49
50
  "jest": "27.4.7",
50
- "lint-staged": "12.2.1",
51
+ "lint-staged": "12.3.1",
51
52
  "npm-run-all": "4.1.5",
52
53
  "rimraf": "3.0.2",
53
54
  "ts-jest": "27.1.3",
54
55
  "ts-node": "10.4.0",
55
- "typescript": "4.5.4",
56
+ "typescript": "4.5.5",
56
57
  "utility-types": "3.10.0"
57
58
  },
58
59
  "repository": {