npm-update-package 3.0.22 → 4.0.0-1
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/dist/app.js +3 -0
- package/dist/bin/npm-update-package.js +16 -0
- package/dist/core/FailedResult.js +1 -0
- package/dist/core/OutdatedPackage.js +1 -0
- package/dist/{src/core → core}/OutdatedPackagesProcessor.js +3 -7
- package/dist/{src/core → core}/PackageUpdater.js +1 -5
- package/dist/core/SucceededResult.js +1 -0
- package/dist/file/canReadWrite.js +11 -0
- package/dist/file/readFile.js +4 -0
- package/dist/{src/git → git}/CommitMessageCreator.js +3 -7
- package/dist/{src/git → git}/Git.js +1 -5
- package/dist/{src/git → git}/GitConfigInitializer.js +1 -5
- package/dist/{src/git → git}/GitRepository.js +5 -12
- package/dist/{src/git → git}/GitTransaction.js +4 -8
- package/dist/git/createBranchName.js +5 -0
- package/dist/{src/github → github}/GitHub.js +4 -8
- package/dist/{src/github → github}/branch/finder/BranchFinder.js +1 -5
- package/dist/github/createGitHub.js +9 -0
- package/dist/github/createOctokit.js +22 -0
- package/dist/github/errors/NotFoundError.js +5 -0
- package/dist/{src/github → github}/label/creator/LabelCreator.js +7 -11
- package/dist/{src/github → github}/pull-request/closer/PullRequestCloser.js +1 -5
- package/dist/github/pull-request/closer/PullRequestsCloser.js +13 -0
- package/dist/{src/github → github}/pull-request/creator/AssigneesAdder.js +3 -7
- package/dist/{src/github → github}/pull-request/creator/GitHubUrlOptimizer.js +3 -7
- package/dist/{src/github → github}/pull-request/creator/LabelsAdder.js +1 -5
- package/dist/{src/github → github}/pull-request/creator/PackageDiffsSectionCreator.js +1 -5
- package/dist/{src/github → github}/pull-request/creator/PullRequestBodyCreator.js +15 -18
- package/dist/{src/github → github}/pull-request/creator/PullRequestCreator.js +5 -9
- package/dist/{src/github → github}/pull-request/creator/PullRequestTitleCreator.js +3 -7
- package/dist/{src/github → github}/pull-request/creator/ReleaseNotesSectionCreator.js +1 -5
- package/dist/{src/github → github}/pull-request/creator/ReviewersAdder.js +3 -7
- package/dist/github/pull-request/creator/createFooter.js +4 -0
- package/dist/github/pull-request/creator/createMetadataSection.js +21 -0
- package/dist/github/pull-request/creator/createNotesSection.js +5 -0
- package/dist/{src/github → github}/pull-request/creator/createOutdatedPackagesTable.js +1 -5
- package/dist/github/pull-request/finder/PullRequestFinder.js +23 -0
- package/dist/github/pull-request/finder/isPullRequestByNpmUpdatePackage.js +3 -0
- package/dist/github/pull-request/metadata/PullRequestMetadata.js +12 -0
- package/dist/github/pull-request/metadata/createPullRequestMetadata.js +12 -0
- package/dist/{src/github → github}/pull-request/metadata/extractPullRequestMetadata.js +3 -7
- package/dist/github/releases/Release.js +1 -0
- package/dist/{src/github → github}/releases/fetcher/ReleasesFetcher.js +9 -16
- package/dist/json/toJSON.js +4 -0
- package/dist/logger/LogLevel.js +12 -0
- package/dist/logger/logger.js +2 -0
- package/dist/main.js +175 -0
- package/dist/npm-check-updates/Dependency.js +10 -0
- package/dist/{src/npm-check-updates → npm-check-updates}/NpmCheckUpdates.js +32 -34
- package/dist/npm-check-updates/NpmCheckUpdatesResult.js +3 -0
- package/dist/npm-check-updates/createDepOptionValue.js +7 -0
- package/dist/npm-check-updates/toDependency.js +17 -0
- package/dist/options/CLIOption.js +1 -0
- package/dist/options/OptionType.js +9 -0
- package/dist/options/Options.js +53 -0
- package/dist/{src/options → options}/cliOptions.js +50 -53
- package/dist/options/createOptions.js +16 -0
- package/dist/options/initOptions.js +5 -0
- package/dist/options/parseBooleanOption.js +11 -0
- package/dist/options/parseNumberOption.js +8 -0
- package/dist/options/toCommanderOption.js +37 -0
- package/dist/outdated-package-processor/OutdatedPackageProcessor.js +1 -0
- package/dist/{src/outdated-package-processor → outdated-package-processor}/OutdatedPackageProcessorCreator.js +11 -15
- package/dist/outdated-package-processor/OutdatedPullRequestStrategy.js +8 -0
- package/dist/{src/outdated-package-processor → outdated-package-processor}/create/Create.js +17 -20
- package/dist/{src/outdated-package-processor → outdated-package-processor}/recreate/Recreate.js +18 -21
- package/dist/{src/outdated-package-processor → outdated-package-processor}/skip/Skip.js +20 -23
- package/dist/package-json/DependencyType.js +10 -0
- package/dist/package-json/PackageMetadata.js +18 -0
- package/dist/package-json/PackageMetadataDependencies.js +3 -0
- package/dist/package-json/PackageMetadataRepository.js +5 -0
- package/dist/package-json/extractRepository.js +9 -0
- package/dist/package-json/parsePackageJson.js +10 -0
- package/dist/package-json/readPackageJson.js +7 -0
- package/dist/package-manager/PackageManager.js +1 -0
- package/dist/package-manager/PackageManagerCreator.js +30 -0
- package/dist/package-manager/PackageManagerName.js +7 -0
- package/dist/package-manager/detectPackageManager.js +11 -0
- package/dist/{src/package-manager → package-manager}/npm/Npm.js +3 -7
- package/dist/package-manager/npm/NpmVersions.js +3 -0
- package/dist/{src/package-manager → package-manager}/yarn/Yarn.js +3 -7
- package/dist/package-manager/yarn/YarnVersions.js +6 -0
- package/dist/{src/semver → semver}/SemVer.js +3 -7
- package/dist/semver/SemVerLevel.js +8 -0
- package/dist/semver/compareSemVers.js +12 -0
- package/dist/terminal/Terminal.js +7 -0
- package/dist/util/range.js +5 -0
- package/dist/util/sampleSize.js +4 -0
- package/dist/util/sleep.js +3 -0
- package/package.json +7 -4
- package/dist/package.json +0 -72
- package/dist/src/bin/npm-update-package.js +0 -22
- package/dist/src/core/FailedResult.js +0 -2
- package/dist/src/core/OutdatedPackage.js +0 -2
- package/dist/src/core/SucceededResult.js +0 -2
- package/dist/src/core/index.js +0 -21
- package/dist/src/file/canReadWrite.js +0 -18
- package/dist/src/file/index.js +0 -18
- package/dist/src/file/readFile.js +0 -11
- package/dist/src/git/createBranchName.js +0 -9
- package/dist/src/git/index.js +0 -22
- package/dist/src/github/branch/finder/index.js +0 -17
- package/dist/src/github/branch/index.js +0 -17
- package/dist/src/github/createGitHub.js +0 -13
- package/dist/src/github/createOctokit.js +0 -29
- package/dist/src/github/errors/NotFoundError.js +0 -9
- package/dist/src/github/errors/index.js +0 -17
- package/dist/src/github/index.js +0 -22
- package/dist/src/github/label/creator/index.js +0 -17
- package/dist/src/github/label/index.js +0 -17
- package/dist/src/github/pull-request/closer/PullRequestsCloser.js +0 -17
- package/dist/src/github/pull-request/closer/index.js +0 -18
- package/dist/src/github/pull-request/creator/createFooter.js +0 -11
- package/dist/src/github/pull-request/creator/createMetadataSection.js +0 -25
- package/dist/src/github/pull-request/creator/createNotesSection.js +0 -9
- package/dist/src/github/pull-request/creator/index.js +0 -25
- package/dist/src/github/pull-request/finder/PullRequestFinder.js +0 -27
- package/dist/src/github/pull-request/finder/index.js +0 -17
- package/dist/src/github/pull-request/finder/isPullRequestByNpmUpdatePackage.js +0 -7
- package/dist/src/github/pull-request/index.js +0 -19
- package/dist/src/github/pull-request/metadata/PullRequestMetadata.js +0 -15
- package/dist/src/github/pull-request/metadata/createPullRequestMetadata.js +0 -19
- package/dist/src/github/pull-request/metadata/index.js +0 -19
- package/dist/src/github/releases/Release.js +0 -2
- package/dist/src/github/releases/fetcher/index.js +0 -17
- package/dist/src/github/releases/index.js +0 -18
- package/dist/src/json/index.js +0 -17
- package/dist/src/json/toJSON.js +0 -8
- package/dist/src/logger/LogLevel.js +0 -16
- package/dist/src/logger/index.js +0 -18
- package/dist/src/logger/logger.js +0 -5
- package/dist/src/main.js +0 -160
- package/dist/src/npm-check-updates/Dependency.js +0 -14
- package/dist/src/npm-check-updates/NpmCheckUpdatesResult.js +0 -6
- package/dist/src/npm-check-updates/createDepOptionValue.js +0 -11
- package/dist/src/npm-check-updates/index.js +0 -17
- package/dist/src/npm-check-updates/toDependency.js +0 -21
- package/dist/src/options/CLIOption.js +0 -2
- package/dist/src/options/OptionType.js +0 -13
- package/dist/src/options/Options.js +0 -56
- package/dist/src/options/createOptions.js +0 -23
- package/dist/src/options/index.js +0 -18
- package/dist/src/options/initOptions.js +0 -9
- package/dist/src/options/parseBooleanOption.js +0 -15
- package/dist/src/options/parseNumberOption.js +0 -12
- package/dist/src/options/toCommanderOption.js +0 -41
- package/dist/src/outdated-package-processor/OutdatedPackageProcessor.js +0 -2
- package/dist/src/outdated-package-processor/OutdatedPullRequestStrategy.js +0 -12
- package/dist/src/outdated-package-processor/create/index.js +0 -17
- package/dist/src/outdated-package-processor/index.js +0 -19
- package/dist/src/outdated-package-processor/recreate/index.js +0 -17
- package/dist/src/outdated-package-processor/skip/index.js +0 -17
- package/dist/src/package-json/DependencyType.js +0 -14
- package/dist/src/package-json/PackageMetadata.js +0 -21
- package/dist/src/package-json/PackageMetadataDependencies.js +0 -6
- package/dist/src/package-json/PackageMetadataRepository.js +0 -8
- package/dist/src/package-json/extractRepository.js +0 -13
- package/dist/src/package-json/index.js +0 -21
- package/dist/src/package-json/parsePackageJson.js +0 -14
- package/dist/src/package-json/readPackageJson.js +0 -11
- package/dist/src/package-manager/PackageManager.js +0 -2
- package/dist/src/package-manager/PackageManagerCreator.js +0 -34
- package/dist/src/package-manager/PackageManagerName.js +0 -11
- package/dist/src/package-manager/detectPackageManager.js +0 -15
- package/dist/src/package-manager/index.js +0 -21
- package/dist/src/package-manager/npm/NpmVersions.js +0 -6
- package/dist/src/package-manager/npm/index.js +0 -17
- package/dist/src/package-manager/yarn/YarnVersions.js +0 -9
- package/dist/src/package-manager/yarn/index.js +0 -17
- package/dist/src/semver/SemVerLevel.js +0 -12
- package/dist/src/semver/compareSemVers.js +0 -16
- package/dist/src/semver/index.js +0 -19
- package/dist/src/terminal/Terminal.js +0 -14
- package/dist/src/terminal/index.js +0 -17
- package/dist/src/util/index.js +0 -19
- package/dist/src/util/range.js +0 -9
- package/dist/src/util/sampleSize.js +0 -11
- package/dist/src/util/sleep.js +0 -7
package/dist/app.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import * as app from '../app.js';
|
|
3
|
+
import { logger } from '../logger/logger.js';
|
|
4
|
+
import { main } from '../main.js';
|
|
5
|
+
import { initOptions } from '../options/initOptions.js';
|
|
6
|
+
try {
|
|
7
|
+
const options = initOptions();
|
|
8
|
+
logger.level = options.logLevel;
|
|
9
|
+
logger.info(`Start ${app.name} v${app.version}`);
|
|
10
|
+
await main(options);
|
|
11
|
+
logger.info(`End ${app.name} v${app.version}`);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
logger.fatal(error);
|
|
15
|
+
throw error;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.OutdatedPackagesProcessor = void 0;
|
|
4
|
-
const logger_1 = require("../logger");
|
|
5
|
-
class OutdatedPackagesProcessor {
|
|
1
|
+
import { logger } from '../logger/logger.js';
|
|
2
|
+
export class OutdatedPackagesProcessor {
|
|
6
3
|
outdatedPackageProcessor;
|
|
7
4
|
constructor(outdatedPackageProcessor) {
|
|
8
5
|
this.outdatedPackageProcessor = outdatedPackageProcessor;
|
|
@@ -10,11 +7,10 @@ class OutdatedPackagesProcessor {
|
|
|
10
7
|
async process(outdatedPackages) {
|
|
11
8
|
const results = [];
|
|
12
9
|
for (const outdatedPackage of outdatedPackages) {
|
|
13
|
-
|
|
10
|
+
logger.debug(`outdatedPackage=${JSON.stringify(outdatedPackage)}`);
|
|
14
11
|
const result = await this.outdatedPackageProcessor.process(outdatedPackage);
|
|
15
12
|
results.push(result);
|
|
16
13
|
}
|
|
17
14
|
return results;
|
|
18
15
|
}
|
|
19
16
|
}
|
|
20
|
-
exports.OutdatedPackagesProcessor = OutdatedPackagesProcessor;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PackageUpdater = void 0;
|
|
4
|
-
class PackageUpdater {
|
|
1
|
+
export class PackageUpdater {
|
|
5
2
|
packageManager;
|
|
6
3
|
ncu;
|
|
7
4
|
constructor({ packageManager, ncu }) {
|
|
@@ -16,4 +13,3 @@ class PackageUpdater {
|
|
|
16
13
|
await this.packageManager.install();
|
|
17
14
|
}
|
|
18
15
|
}
|
|
19
|
-
exports.PackageUpdater = PackageUpdater;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.CommitMessageCreator = void 0;
|
|
4
|
-
const mustache_1 = require("mustache");
|
|
5
|
-
class CommitMessageCreator {
|
|
1
|
+
import mustache from 'mustache';
|
|
2
|
+
export class CommitMessageCreator {
|
|
6
3
|
template;
|
|
7
4
|
constructor(template) {
|
|
8
5
|
this.template = template;
|
|
@@ -13,7 +10,7 @@ class CommitMessageCreator {
|
|
|
13
10
|
const newVersion = outdatedPackage.newVersion.version;
|
|
14
11
|
const level = outdatedPackage.level;
|
|
15
12
|
const dependencyType = outdatedPackage.dependencyType;
|
|
16
|
-
return
|
|
13
|
+
return mustache.render(this.template, {
|
|
17
14
|
packageName,
|
|
18
15
|
currentVersion,
|
|
19
16
|
newVersion,
|
|
@@ -22,4 +19,3 @@ class CommitMessageCreator {
|
|
|
22
19
|
});
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
|
-
exports.CommitMessageCreator = CommitMessageCreator;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Git = void 0;
|
|
4
|
-
class Git {
|
|
1
|
+
export class Git {
|
|
5
2
|
terminal;
|
|
6
3
|
constructor(terminal) {
|
|
7
4
|
this.terminal = terminal;
|
|
@@ -35,4 +32,3 @@ class Git {
|
|
|
35
32
|
await this.terminal.run('git', 'checkout', branchName);
|
|
36
33
|
}
|
|
37
34
|
}
|
|
38
|
-
exports.Git = Git;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GitConfigInitializer = void 0;
|
|
4
|
-
class GitConfigInitializer {
|
|
1
|
+
export class GitConfigInitializer {
|
|
5
2
|
options;
|
|
6
3
|
git;
|
|
7
4
|
constructor({ options, git }) {
|
|
@@ -17,4 +14,3 @@ class GitConfigInitializer {
|
|
|
17
14
|
}
|
|
18
15
|
}
|
|
19
16
|
}
|
|
20
|
-
exports.GitConfigInitializer = GitConfigInitializer;
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.GitRepository = void 0;
|
|
7
|
-
const node_url_1 = require("node:url");
|
|
8
|
-
const parse_github_url_1 = __importDefault(require("parse-github-url"));
|
|
1
|
+
import { URL } from 'node:url';
|
|
2
|
+
import gh from 'parse-github-url';
|
|
9
3
|
const HOST_GITHUB = 'github.com';
|
|
10
|
-
class GitRepository {
|
|
4
|
+
export class GitRepository {
|
|
11
5
|
url;
|
|
12
6
|
owner;
|
|
13
7
|
name;
|
|
@@ -35,7 +29,7 @@ class GitRepository {
|
|
|
35
29
|
* - `git@<host>:<owner>/<repo>.git`
|
|
36
30
|
*/
|
|
37
31
|
static of(repository) {
|
|
38
|
-
const result = (
|
|
32
|
+
const result = gh(repository);
|
|
39
33
|
if (result === null) {
|
|
40
34
|
return undefined;
|
|
41
35
|
}
|
|
@@ -51,11 +45,10 @@ class GitRepository {
|
|
|
51
45
|
return undefined;
|
|
52
46
|
}
|
|
53
47
|
return new GitRepository({
|
|
54
|
-
url: new
|
|
48
|
+
url: new URL(`https://${host}/${owner}/${name}`),
|
|
55
49
|
owner,
|
|
56
50
|
name,
|
|
57
51
|
isGitHub: host === HOST_GITHUB
|
|
58
52
|
});
|
|
59
53
|
}
|
|
60
54
|
}
|
|
61
|
-
exports.GitRepository = GitRepository;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GitTransaction = void 0;
|
|
4
|
-
const logger_1 = require("../logger");
|
|
1
|
+
import { logger } from '../logger/logger.js';
|
|
5
2
|
// TODO: Add test
|
|
6
|
-
class GitTransaction {
|
|
3
|
+
export class GitTransaction {
|
|
7
4
|
git;
|
|
8
5
|
branchName;
|
|
9
6
|
files;
|
|
@@ -14,7 +11,7 @@ class GitTransaction {
|
|
|
14
11
|
}
|
|
15
12
|
async run(operation) {
|
|
16
13
|
await this.git.createBranch(this.branchName);
|
|
17
|
-
|
|
14
|
+
logger.info(`${this.branchName} branch has created.`);
|
|
18
15
|
try {
|
|
19
16
|
return await operation({
|
|
20
17
|
git: this.git,
|
|
@@ -30,7 +27,6 @@ class GitTransaction {
|
|
|
30
27
|
await this.git.restore(...this.files);
|
|
31
28
|
await this.git.switch('-');
|
|
32
29
|
await this.git.removeBranch(this.branchName);
|
|
33
|
-
|
|
30
|
+
logger.info(`${this.branchName} branch has removed.`);
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
|
-
exports.GitTransaction = GitTransaction;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.GitHub = void 0;
|
|
4
|
-
const util_1 = require("../util");
|
|
5
|
-
class GitHub {
|
|
1
|
+
import { range } from '../util/range.js';
|
|
2
|
+
export class GitHub {
|
|
6
3
|
octokit;
|
|
7
4
|
constructor(octokit) {
|
|
8
5
|
this.octokit = octokit;
|
|
@@ -61,7 +58,7 @@ class GitHub {
|
|
|
61
58
|
}
|
|
62
59
|
async fetchBranches({ owner, repo }) {
|
|
63
60
|
const branches = [];
|
|
64
|
-
for (const page of
|
|
61
|
+
for (const page of range(1, 11)) {
|
|
65
62
|
const { data } = await this.octokit.repos.listBranches({
|
|
66
63
|
owner,
|
|
67
64
|
repo,
|
|
@@ -85,7 +82,7 @@ class GitHub {
|
|
|
85
82
|
}
|
|
86
83
|
async fetchPullRequests({ owner, repo }) {
|
|
87
84
|
const pullRequests = [];
|
|
88
|
-
for (const page of
|
|
85
|
+
for (const page of range(1, 11)) {
|
|
89
86
|
const { data } = await this.octokit.pulls.list({
|
|
90
87
|
owner,
|
|
91
88
|
repo,
|
|
@@ -117,4 +114,3 @@ class GitHub {
|
|
|
117
114
|
await this.octokit.pulls.requestReviewers(params);
|
|
118
115
|
}
|
|
119
116
|
}
|
|
120
|
-
exports.GitHub = GitHub;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BranchFinder = void 0;
|
|
4
|
-
class BranchFinder {
|
|
1
|
+
export class BranchFinder {
|
|
5
2
|
branches;
|
|
6
3
|
constructor(branches) {
|
|
7
4
|
this.branches = branches;
|
|
@@ -10,4 +7,3 @@ class BranchFinder {
|
|
|
10
7
|
return this.branches.find(({ name }) => name === branchName);
|
|
11
8
|
}
|
|
12
9
|
}
|
|
13
|
-
exports.BranchFinder = BranchFinder;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Octokit } from '@octokit/rest';
|
|
2
|
+
import * as app from '../app.js';
|
|
3
|
+
export const createOctokit = ({ host, token }) => {
|
|
4
|
+
const userAgent = `${app.name}/${app.version}`;
|
|
5
|
+
if (token === undefined) {
|
|
6
|
+
return new Octokit({
|
|
7
|
+
userAgent
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
const auth = `token ${token}`;
|
|
11
|
+
if (host === 'github.com') {
|
|
12
|
+
return new Octokit({
|
|
13
|
+
auth,
|
|
14
|
+
userAgent
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
return new Octokit({
|
|
18
|
+
auth,
|
|
19
|
+
userAgent,
|
|
20
|
+
baseUrl: `https://${host}/api/v3`
|
|
21
|
+
});
|
|
22
|
+
};
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.LabelCreator = void 0;
|
|
4
|
-
const logger_1 = require("../../../logger");
|
|
5
|
-
const errors_1 = require("../../errors");
|
|
1
|
+
import { logger } from '../../../logger/logger.js';
|
|
2
|
+
import { isNotFoundError } from '../../errors/NotFoundError.js';
|
|
6
3
|
// TODO: Split into multiple classes and functions
|
|
7
|
-
class LabelCreator {
|
|
4
|
+
export class LabelCreator {
|
|
8
5
|
github;
|
|
9
6
|
gitRepo;
|
|
10
7
|
constructor({ github, gitRepo }) {
|
|
@@ -14,7 +11,7 @@ class LabelCreator {
|
|
|
14
11
|
async create({ name, description, color }) {
|
|
15
12
|
const label = await this.fetchLabel(name);
|
|
16
13
|
if (label !== undefined) {
|
|
17
|
-
|
|
14
|
+
logger.info(`Skip creating ${name} label because it already exists.`);
|
|
18
15
|
return;
|
|
19
16
|
}
|
|
20
17
|
await this.createLabel({
|
|
@@ -22,7 +19,7 @@ class LabelCreator {
|
|
|
22
19
|
description,
|
|
23
20
|
color
|
|
24
21
|
});
|
|
25
|
-
|
|
22
|
+
logger.info(`${name} label has created.`);
|
|
26
23
|
}
|
|
27
24
|
async createLabel({ name, description, color }) {
|
|
28
25
|
await this.github.createLabel({
|
|
@@ -42,8 +39,8 @@ class LabelCreator {
|
|
|
42
39
|
});
|
|
43
40
|
}
|
|
44
41
|
catch (error) {
|
|
45
|
-
if (
|
|
46
|
-
|
|
42
|
+
if (isNotFoundError(error)) {
|
|
43
|
+
logger.warn(error);
|
|
47
44
|
return undefined;
|
|
48
45
|
}
|
|
49
46
|
else {
|
|
@@ -52,4 +49,3 @@ class LabelCreator {
|
|
|
52
49
|
}
|
|
53
50
|
}
|
|
54
51
|
}
|
|
55
|
-
exports.LabelCreator = LabelCreator;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PullRequestCloser = void 0;
|
|
4
|
-
class PullRequestCloser {
|
|
1
|
+
export class PullRequestCloser {
|
|
5
2
|
github;
|
|
6
3
|
constructor(github) {
|
|
7
4
|
this.github = github;
|
|
@@ -21,4 +18,3 @@ class PullRequestCloser {
|
|
|
21
18
|
});
|
|
22
19
|
}
|
|
23
20
|
}
|
|
24
|
-
exports.PullRequestCloser = PullRequestCloser;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { logger } from '../../../logger/logger.js';
|
|
2
|
+
export class PullRequestsCloser {
|
|
3
|
+
pullRequestCloser;
|
|
4
|
+
constructor(pullRequestCloser) {
|
|
5
|
+
this.pullRequestCloser = pullRequestCloser;
|
|
6
|
+
}
|
|
7
|
+
async close(pullRequests) {
|
|
8
|
+
await Promise.all(pullRequests.map(async (pullRequest) => {
|
|
9
|
+
await this.pullRequestCloser.close(pullRequest);
|
|
10
|
+
logger.info(`Pull request #${pullRequest.number} has closed. ${pullRequest.html_url}`);
|
|
11
|
+
}));
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.AssigneesAdder = void 0;
|
|
4
|
-
const util_1 = require("../../../util");
|
|
5
|
-
class AssigneesAdder {
|
|
1
|
+
import { sampleSize } from '../../../util/sampleSize.js';
|
|
2
|
+
export class AssigneesAdder {
|
|
6
3
|
github;
|
|
7
4
|
gitRepo;
|
|
8
5
|
constructor({ github, gitRepo }) {
|
|
@@ -14,8 +11,7 @@ class AssigneesAdder {
|
|
|
14
11
|
owner: this.gitRepo.owner,
|
|
15
12
|
repo: this.gitRepo.name,
|
|
16
13
|
issueNumber,
|
|
17
|
-
assignees: size === undefined ? assignees :
|
|
14
|
+
assignees: size === undefined ? assignees : sampleSize(assignees, size)
|
|
18
15
|
});
|
|
19
16
|
}
|
|
20
17
|
}
|
|
21
|
-
exports.AssigneesAdder = AssigneesAdder;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.GitHubUrlOptimizer = void 0;
|
|
4
|
-
const node_url_1 = require("node:url");
|
|
5
|
-
class GitHubUrlOptimizer {
|
|
1
|
+
import { URL } from 'node:url';
|
|
2
|
+
export class GitHubUrlOptimizer {
|
|
6
3
|
options;
|
|
7
4
|
constructor(options) {
|
|
8
5
|
this.options = options;
|
|
@@ -11,11 +8,10 @@ class GitHubUrlOptimizer {
|
|
|
11
8
|
* Convert URL to prevent linking to other repositories.
|
|
12
9
|
*/
|
|
13
10
|
optimize(url) {
|
|
14
|
-
const newUrl = url instanceof
|
|
11
|
+
const newUrl = url instanceof URL ? url : new URL(url);
|
|
15
12
|
if (newUrl.host === 'github.com') {
|
|
16
13
|
newUrl.host = this.options.prBodyGithubHost;
|
|
17
14
|
}
|
|
18
15
|
return newUrl;
|
|
19
16
|
}
|
|
20
17
|
}
|
|
21
|
-
exports.GitHubUrlOptimizer = GitHubUrlOptimizer;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LabelsAdder = void 0;
|
|
4
1
|
const DEFAULT_LABELS = ['npm-update-package'];
|
|
5
|
-
class LabelsAdder {
|
|
2
|
+
export class LabelsAdder {
|
|
6
3
|
options;
|
|
7
4
|
github;
|
|
8
5
|
gitRepo;
|
|
@@ -21,4 +18,3 @@ class LabelsAdder {
|
|
|
21
18
|
});
|
|
22
19
|
}
|
|
23
20
|
}
|
|
24
|
-
exports.LabelsAdder = LabelsAdder;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PackageDiffsSectionCreator = void 0;
|
|
4
|
-
class PackageDiffsSectionCreator {
|
|
1
|
+
export class PackageDiffsSectionCreator {
|
|
5
2
|
gitHubUrlOptimizer;
|
|
6
3
|
constructor(gitHubUrlOptimizer) {
|
|
7
4
|
this.gitHubUrlOptimizer = gitHubUrlOptimizer;
|
|
@@ -22,4 +19,3 @@ class PackageDiffsSectionCreator {
|
|
|
22
19
|
${links.join('\n')}`;
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
|
-
exports.PackageDiffsSectionCreator = PackageDiffsSectionCreator;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const createNotesSection_1 = require("./createNotesSection");
|
|
9
|
-
const createOutdatedPackagesTable_1 = require("./createOutdatedPackagesTable");
|
|
1
|
+
import { readFile } from '../../../file/readFile.js';
|
|
2
|
+
import { extractRepository } from '../../../package-json/extractRepository.js';
|
|
3
|
+
import { parsePackageJson } from '../../../package-json/parsePackageJson.js';
|
|
4
|
+
import { createFooter } from './createFooter.js';
|
|
5
|
+
import { createMetadataSection } from './createMetadataSection.js';
|
|
6
|
+
import { createNotesSection } from './createNotesSection.js';
|
|
7
|
+
import { createOutdatedPackagesTable } from './createOutdatedPackagesTable.js';
|
|
10
8
|
// TODO: Split into multiple classes and functions
|
|
11
|
-
class PullRequestBodyCreator {
|
|
9
|
+
export class PullRequestBodyCreator {
|
|
12
10
|
options;
|
|
13
11
|
releasesFetcher;
|
|
14
12
|
packageDiffsSectionCreator;
|
|
@@ -21,7 +19,7 @@ class PullRequestBodyCreator {
|
|
|
21
19
|
}
|
|
22
20
|
async create(outdatedPackage) {
|
|
23
21
|
const sections = [];
|
|
24
|
-
const outdatedPackagesTable =
|
|
22
|
+
const outdatedPackagesTable = createOutdatedPackagesTable(outdatedPackage);
|
|
25
23
|
sections.push(`This PR updates these packages:\n\n${outdatedPackagesTable}`);
|
|
26
24
|
const gitRepo = await this.extractRepository(outdatedPackage);
|
|
27
25
|
const diffSection = this.packageDiffsSectionCreator.create({
|
|
@@ -42,19 +40,18 @@ class PullRequestBodyCreator {
|
|
|
42
40
|
}
|
|
43
41
|
}
|
|
44
42
|
if (this.options.prBodyNotes !== undefined) {
|
|
45
|
-
const notesSection =
|
|
43
|
+
const notesSection = createNotesSection(this.options.prBodyNotes);
|
|
46
44
|
sections.push(notesSection);
|
|
47
45
|
}
|
|
48
|
-
const metadataSection =
|
|
46
|
+
const metadataSection = createMetadataSection(outdatedPackage);
|
|
49
47
|
sections.push(`---\n${metadataSection}`);
|
|
50
|
-
const footer =
|
|
48
|
+
const footer = createFooter();
|
|
51
49
|
sections.push(`---\n${footer}`);
|
|
52
50
|
return sections.join('\n\n');
|
|
53
51
|
}
|
|
54
52
|
async extractRepository(outdatedPackage) {
|
|
55
|
-
const packageJson = await
|
|
56
|
-
const pkg =
|
|
57
|
-
return
|
|
53
|
+
const packageJson = await readFile(`node_modules/${outdatedPackage.name}/package.json`);
|
|
54
|
+
const pkg = parsePackageJson(packageJson);
|
|
55
|
+
return extractRepository(pkg);
|
|
58
56
|
}
|
|
59
57
|
}
|
|
60
|
-
exports.PullRequestBodyCreator = PullRequestBodyCreator;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.PullRequestCreator = void 0;
|
|
4
|
-
const logger_1 = require("../../../logger");
|
|
5
|
-
class PullRequestCreator {
|
|
1
|
+
import { logger } from '../../../logger/logger.js';
|
|
2
|
+
export class PullRequestCreator {
|
|
6
3
|
options;
|
|
7
4
|
github;
|
|
8
5
|
gitRepo;
|
|
@@ -25,9 +22,9 @@ class PullRequestCreator {
|
|
|
25
22
|
}
|
|
26
23
|
async create({ outdatedPackage, branchName }) {
|
|
27
24
|
const title = this.pullRequestTitleCreator.create(outdatedPackage);
|
|
28
|
-
|
|
25
|
+
logger.debug(`title=${title}`);
|
|
29
26
|
const body = await this.pullRequestBodyCreator.create(outdatedPackage);
|
|
30
|
-
|
|
27
|
+
logger.debug(`body=${body}`);
|
|
31
28
|
const pullRequest = await this.github.createPullRequest({
|
|
32
29
|
owner: this.gitRepo.owner,
|
|
33
30
|
repo: this.gitRepo.name,
|
|
@@ -37,7 +34,7 @@ class PullRequestCreator {
|
|
|
37
34
|
body,
|
|
38
35
|
draft: this.options.draftPr
|
|
39
36
|
});
|
|
40
|
-
|
|
37
|
+
logger.debug(`pullRequest=${JSON.stringify(pullRequest)}`);
|
|
41
38
|
await this.labelsAdder.add(pullRequest.number);
|
|
42
39
|
if (this.options.assignees !== undefined) {
|
|
43
40
|
await this.assigneesAdder.add({
|
|
@@ -56,4 +53,3 @@ class PullRequestCreator {
|
|
|
56
53
|
return pullRequest;
|
|
57
54
|
}
|
|
58
55
|
}
|
|
59
|
-
exports.PullRequestCreator = PullRequestCreator;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.PullRequestTitleCreator = void 0;
|
|
4
|
-
const mustache_1 = require("mustache");
|
|
5
|
-
class PullRequestTitleCreator {
|
|
1
|
+
import mustache from 'mustache';
|
|
2
|
+
export class PullRequestTitleCreator {
|
|
6
3
|
template;
|
|
7
4
|
constructor(template) {
|
|
8
5
|
this.template = template;
|
|
@@ -13,7 +10,7 @@ class PullRequestTitleCreator {
|
|
|
13
10
|
const newVersion = outdatedPackage.newVersion.version;
|
|
14
11
|
const level = outdatedPackage.level;
|
|
15
12
|
const dependencyType = outdatedPackage.dependencyType;
|
|
16
|
-
return
|
|
13
|
+
return mustache.render(this.template, {
|
|
17
14
|
packageName,
|
|
18
15
|
currentVersion,
|
|
19
16
|
newVersion,
|
|
@@ -22,4 +19,3 @@ class PullRequestTitleCreator {
|
|
|
22
19
|
});
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
|
-
exports.PullRequestTitleCreator = PullRequestTitleCreator;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReleaseNotesSectionCreator = void 0;
|
|
4
|
-
class ReleaseNotesSectionCreator {
|
|
1
|
+
export class ReleaseNotesSectionCreator {
|
|
5
2
|
gitHubUrlOptimizer;
|
|
6
3
|
constructor(gitHubUrlOptimizer) {
|
|
7
4
|
this.gitHubUrlOptimizer = gitHubUrlOptimizer;
|
|
@@ -16,4 +13,3 @@ class ReleaseNotesSectionCreator {
|
|
|
16
13
|
${items.join('\n')}`;
|
|
17
14
|
}
|
|
18
15
|
}
|
|
19
|
-
exports.ReleaseNotesSectionCreator = ReleaseNotesSectionCreator;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.ReviewersAdder = void 0;
|
|
4
|
-
const util_1 = require("../../../util");
|
|
5
|
-
class ReviewersAdder {
|
|
1
|
+
import { sampleSize } from '../../../util/sampleSize.js';
|
|
2
|
+
export class ReviewersAdder {
|
|
6
3
|
github;
|
|
7
4
|
gitRepo;
|
|
8
5
|
constructor({ github, gitRepo }) {
|
|
@@ -14,8 +11,7 @@ class ReviewersAdder {
|
|
|
14
11
|
owner: this.gitRepo.owner,
|
|
15
12
|
repo: this.gitRepo.name,
|
|
16
13
|
pullNumber,
|
|
17
|
-
reviewers: size === undefined ? reviewers :
|
|
14
|
+
reviewers: size === undefined ? reviewers : sampleSize(reviewers, size)
|
|
18
15
|
});
|
|
19
16
|
}
|
|
20
17
|
}
|
|
21
|
-
exports.ReviewersAdder = ReviewersAdder;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { toJSON } from '../../../json/toJSON.js';
|
|
2
|
+
import { createPullRequestMetadata } from '../metadata/createPullRequestMetadata.js';
|
|
3
|
+
export const createMetadataSection = (outdatedPackage) => {
|
|
4
|
+
const metadata = createPullRequestMetadata([outdatedPackage]);
|
|
5
|
+
const json = toJSON(metadata, {
|
|
6
|
+
pretty: true
|
|
7
|
+
});
|
|
8
|
+
return `<details>
|
|
9
|
+
<summary>Metadata</summary>
|
|
10
|
+
|
|
11
|
+
**Don't remove or edit this section because it will be used by npm-update-package.**
|
|
12
|
+
|
|
13
|
+
<div id="npm-update-package-metadata">
|
|
14
|
+
|
|
15
|
+
\`\`\`json
|
|
16
|
+
${json}
|
|
17
|
+
\`\`\`
|
|
18
|
+
|
|
19
|
+
</div>
|
|
20
|
+
</details>`;
|
|
21
|
+
};
|