npm-update-package 3.0.21 → 4.0.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +6 -6
- package/dist/src/bin/npm-update-package.js +14 -20
- package/dist/src/core/FailedResult.js +1 -2
- package/dist/src/core/OutdatedPackage.js +1 -2
- package/dist/src/core/OutdatedPackagesProcessor.js +3 -7
- package/dist/src/core/PackageUpdater.js +1 -5
- package/dist/src/core/SucceededResult.js +1 -2
- package/dist/src/file/canReadWrite.js +3 -10
- package/dist/src/file/readFile.js +3 -10
- package/dist/src/git/CommitMessageCreator.js +3 -7
- package/dist/src/git/Git.js +1 -5
- package/dist/src/git/GitConfigInitializer.js +1 -5
- package/dist/src/git/GitRepository.js +5 -12
- package/dist/src/git/GitTransaction.js +4 -8
- package/dist/src/git/createBranchName.js +1 -5
- package/dist/src/github/GitHub.js +4 -8
- package/dist/src/github/branch/finder/BranchFinder.js +1 -5
- package/dist/src/github/createGitHub.js +5 -9
- package/dist/src/github/createOctokit.js +7 -14
- package/dist/src/github/errors/NotFoundError.js +4 -8
- package/dist/src/github/label/creator/LabelCreator.js +7 -11
- package/dist/src/github/pull-request/closer/PullRequestCloser.js +1 -5
- package/dist/src/github/pull-request/closer/PullRequestsCloser.js +3 -7
- package/dist/src/github/pull-request/creator/AssigneesAdder.js +3 -7
- package/dist/src/github/pull-request/creator/GitHubUrlOptimizer.js +3 -7
- package/dist/src/github/pull-request/creator/LabelsAdder.js +1 -5
- package/dist/src/github/pull-request/creator/PackageDiffsSectionCreator.js +1 -5
- package/dist/src/github/pull-request/creator/PullRequestBodyCreator.js +15 -18
- package/dist/src/github/pull-request/creator/PullRequestCreator.js +5 -9
- package/dist/src/github/pull-request/creator/PullRequestTitleCreator.js +3 -7
- package/dist/src/github/pull-request/creator/ReleaseNotesSectionCreator.js +1 -5
- package/dist/src/github/pull-request/creator/ReviewersAdder.js +3 -7
- package/dist/src/github/pull-request/creator/createFooter.js +3 -10
- package/dist/src/github/pull-request/creator/createMetadataSection.js +5 -9
- package/dist/src/github/pull-request/creator/createNotesSection.js +1 -5
- package/dist/src/github/pull-request/creator/createOutdatedPackagesTable.js +1 -5
- package/dist/src/github/pull-request/finder/PullRequestFinder.js +5 -9
- package/dist/src/github/pull-request/finder/isPullRequestByNpmUpdatePackage.js +1 -5
- package/dist/src/github/pull-request/metadata/PullRequestMetadata.js +10 -13
- package/dist/src/github/pull-request/metadata/createPullRequestMetadata.js +3 -10
- package/dist/src/github/pull-request/metadata/extractPullRequestMetadata.js +3 -7
- package/dist/src/github/releases/Release.js +1 -2
- package/dist/src/github/releases/fetcher/ReleasesFetcher.js +9 -16
- package/dist/src/json/toJSON.js +1 -5
- package/dist/src/logger/LogLevel.js +3 -7
- package/dist/src/logger/logger.js +2 -5
- package/dist/src/main.js +73 -58
- package/dist/src/npm-check-updates/Dependency.js +3 -7
- package/dist/src/npm-check-updates/NpmCheckUpdates.js +32 -34
- package/dist/src/npm-check-updates/NpmCheckUpdatesResult.js +3 -6
- package/dist/src/npm-check-updates/createDepOptionValue.js +3 -7
- package/dist/src/npm-check-updates/toDependency.js +13 -17
- package/dist/src/options/CLIOption.js +1 -2
- package/dist/src/options/OptionType.js +3 -7
- package/dist/src/options/Options.js +46 -49
- package/dist/src/options/cliOptions.js +50 -53
- package/dist/src/options/createOptions.js +11 -18
- package/dist/src/options/initOptions.js +4 -8
- package/dist/src/options/parseBooleanOption.js +3 -7
- package/dist/src/options/parseNumberOption.js +3 -7
- package/dist/src/options/toCommanderOption.js +14 -18
- package/dist/src/outdated-package-processor/OutdatedPackageProcessor.js +1 -2
- package/dist/src/outdated-package-processor/OutdatedPackageProcessorCreator.js +11 -15
- package/dist/src/outdated-package-processor/OutdatedPullRequestStrategy.js +3 -7
- package/dist/src/outdated-package-processor/create/Create.js +17 -20
- package/dist/src/outdated-package-processor/recreate/Recreate.js +18 -21
- package/dist/src/outdated-package-processor/skip/Skip.js +20 -23
- package/dist/src/package-json/DependencyType.js +3 -7
- package/dist/src/package-json/PackageMetadata.js +15 -18
- package/dist/src/package-json/PackageMetadataDependencies.js +3 -6
- package/dist/src/package-json/PackageMetadataRepository.js +4 -7
- package/dist/src/package-json/extractRepository.js +3 -7
- package/dist/src/package-json/parsePackageJson.js +3 -7
- package/dist/src/package-json/readPackageJson.js +5 -9
- package/dist/src/package-manager/PackageManager.js +1 -2
- package/dist/src/package-manager/PackageManagerCreator.js +15 -19
- package/dist/src/package-manager/PackageManagerName.js +3 -7
- package/dist/src/package-manager/detectPackageManager.js +7 -11
- package/dist/src/package-manager/npm/Npm.js +3 -7
- package/dist/src/package-manager/npm/NpmVersions.js +3 -6
- package/dist/src/package-manager/yarn/Yarn.js +3 -7
- package/dist/src/package-manager/yarn/YarnVersions.js +5 -8
- package/dist/src/semver/SemVer.js +3 -7
- package/dist/src/semver/SemVerLevel.js +3 -7
- package/dist/src/semver/compareSemVers.js +5 -9
- package/dist/src/terminal/Terminal.js +3 -10
- package/dist/src/util/range.js +1 -5
- package/dist/src/util/sampleSize.js +3 -10
- package/dist/src/util/sleep.js +1 -5
- package/package.json +6 -6
- package/dist/src/core/index.js +0 -21
- package/dist/src/file/index.js +0 -18
- 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/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/index.js +0 -18
- package/dist/src/github/pull-request/creator/index.js +0 -25
- package/dist/src/github/pull-request/finder/index.js +0 -17
- package/dist/src/github/pull-request/index.js +0 -19
- package/dist/src/github/pull-request/metadata/index.js +0 -19
- 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/logger/index.js +0 -18
- package/dist/src/npm-check-updates/index.js +0 -17
- package/dist/src/options/index.js +0 -18
- 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/index.js +0 -21
- package/dist/src/package-manager/index.js +0 -21
- package/dist/src/package-manager/npm/index.js +0 -17
- package/dist/src/package-manager/yarn/index.js +0 -17
- package/dist/src/semver/index.js +0 -19
- package/dist/src/terminal/index.js +0 -17
- package/dist/src/util/index.js +0 -19
|
@@ -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;
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return
|
|
1
|
+
import app from '../../../../package.json';
|
|
2
|
+
export const createFooter = () => {
|
|
3
|
+
return `This PR has been generated by [${app.name}](${app.homepage}) v${app.version}`;
|
|
4
4
|
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createFooter = void 0;
|
|
7
|
-
const package_json_1 = __importDefault(require("../../../../package.json"));
|
|
8
|
-
const createFooter = () => {
|
|
9
|
-
return `This PR has been generated by [${package_json_1.default.name}](${package_json_1.default.homepage}) v${package_json_1.default.version}`;
|
|
10
|
-
};
|
|
11
|
-
exports.createFooter = createFooter;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const createMetadataSection = (outdatedPackage) => {
|
|
7
|
-
const metadata = (0, metadata_1.createPullRequestMetadata)([outdatedPackage]);
|
|
8
|
-
const json = (0, json_1.toJSON)(metadata, {
|
|
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, {
|
|
9
6
|
pretty: true
|
|
10
7
|
});
|
|
11
8
|
return `<details>
|
|
@@ -22,4 +19,3 @@ ${json}
|
|
|
22
19
|
</div>
|
|
23
20
|
</details>`;
|
|
24
21
|
};
|
|
25
|
-
exports.createMetadataSection = createMetadataSection;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createNotesSection = void 0;
|
|
4
|
-
const createNotesSection = (notes) => {
|
|
1
|
+
export const createNotesSection = (notes) => {
|
|
5
2
|
return `## Notes
|
|
6
3
|
|
|
7
4
|
${notes}`;
|
|
8
5
|
};
|
|
9
|
-
exports.createNotesSection = createNotesSection;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createOutdatedPackagesTable = void 0;
|
|
4
|
-
const createOutdatedPackagesTable = (outdatedPackage) => {
|
|
1
|
+
export const createOutdatedPackagesTable = (outdatedPackage) => {
|
|
5
2
|
const packageName = outdatedPackage.name;
|
|
6
3
|
const packageLink = `[${packageName}](https://www.npmjs.com/package/${packageName})`;
|
|
7
4
|
const dependencyType = outdatedPackage.dependencyType;
|
|
@@ -14,4 +11,3 @@ const createOutdatedPackagesTable = (outdatedPackage) => {
|
|
|
14
11
|
|---|---|---|---|---|
|
|
15
12
|
|${packageLink}|${dependencyType}|${level}|${currentVersionLink}|${newVersionLink}|`;
|
|
16
13
|
};
|
|
17
|
-
exports.createOutdatedPackagesTable = createOutdatedPackagesTable;
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const metadata_1 = require("../metadata");
|
|
5
|
-
const isPullRequestByNpmUpdatePackage_1 = require("./isPullRequestByNpmUpdatePackage");
|
|
6
|
-
class PullRequestFinder {
|
|
1
|
+
import { extractPullRequestMetadata } from '../metadata/extractPullRequestMetadata.js';
|
|
2
|
+
import { isPullRequestByNpmUpdatePackage } from './isPullRequestByNpmUpdatePackage.js';
|
|
3
|
+
export class PullRequestFinder {
|
|
7
4
|
pullRequests;
|
|
8
5
|
constructor(pullRequests) {
|
|
9
6
|
this.pullRequests = pullRequests;
|
|
10
7
|
}
|
|
11
8
|
findByPackageName(packageName) {
|
|
12
9
|
return this.pullRequests
|
|
13
|
-
.filter(pullRequest =>
|
|
10
|
+
.filter(pullRequest => isPullRequestByNpmUpdatePackage(pullRequest))
|
|
14
11
|
.filter(({ body }) => {
|
|
15
12
|
if (body === null) {
|
|
16
13
|
return false;
|
|
17
14
|
}
|
|
18
|
-
const metadata =
|
|
15
|
+
const metadata = extractPullRequestMetadata(body);
|
|
19
16
|
if (metadata === undefined) {
|
|
20
17
|
return false;
|
|
21
18
|
}
|
|
@@ -24,4 +21,3 @@ class PullRequestFinder {
|
|
|
24
21
|
});
|
|
25
22
|
}
|
|
26
23
|
}
|
|
27
|
-
exports.PullRequestFinder = PullRequestFinder;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isPullRequestByNpmUpdatePackage = void 0;
|
|
4
|
-
const isPullRequestByNpmUpdatePackage = (pullRequest) => {
|
|
1
|
+
export const isPullRequestByNpmUpdatePackage = (pullRequest) => {
|
|
5
2
|
return pullRequest.labels.some(({ name }) => name === 'npm-update-package');
|
|
6
3
|
};
|
|
7
|
-
exports.isPullRequestByNpmUpdatePackage = isPullRequestByNpmUpdatePackage;
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
currentVersion: io_ts_1.string,
|
|
11
|
-
newVersion: io_ts_1.string,
|
|
12
|
-
level: (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)])
|
|
1
|
+
import { array, literal, string, type, union } from 'io-ts';
|
|
2
|
+
import { SemVerLevel } from '../../../semver/SemVerLevel.js';
|
|
3
|
+
const PullRequestMetadata = type({
|
|
4
|
+
version: string,
|
|
5
|
+
packages: array(type({
|
|
6
|
+
name: string,
|
|
7
|
+
currentVersion: string,
|
|
8
|
+
newVersion: string,
|
|
9
|
+
level: union([literal(SemVerLevel.Major), literal(SemVerLevel.Minor), literal(SemVerLevel.Patch)])
|
|
13
10
|
}))
|
|
14
11
|
});
|
|
15
|
-
|
|
12
|
+
export const isPullRequestMetadata = PullRequestMetadata.is;
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createPullRequestMetadata = void 0;
|
|
7
|
-
const package_json_1 = __importDefault(require("../../../../package.json"));
|
|
8
|
-
const createPullRequestMetadata = (outdatedPackages) => {
|
|
1
|
+
import pkg from '../../../../package.json';
|
|
2
|
+
export const createPullRequestMetadata = (outdatedPackages) => {
|
|
9
3
|
return {
|
|
10
|
-
version:
|
|
4
|
+
version: pkg.version,
|
|
11
5
|
packages: outdatedPackages.map(({ name, currentVersion, newVersion, level }) => ({
|
|
12
6
|
name,
|
|
13
7
|
currentVersion: currentVersion.version,
|
|
@@ -16,4 +10,3 @@ const createPullRequestMetadata = (outdatedPackages) => {
|
|
|
16
10
|
}))
|
|
17
11
|
};
|
|
18
12
|
};
|
|
19
|
-
exports.createPullRequestMetadata = createPullRequestMetadata;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.extractPullRequestMetadata = void 0;
|
|
4
|
-
const PullRequestMetadata_1 = require("./PullRequestMetadata");
|
|
5
|
-
const extractPullRequestMetadata = (pullRequestBody) => {
|
|
1
|
+
import { isPullRequestMetadata } from './PullRequestMetadata.js';
|
|
2
|
+
export const extractPullRequestMetadata = (pullRequestBody) => {
|
|
6
3
|
const matched = pullRequestBody.match(/<div id="npm-update-package-metadata">\s*```json\s*([\S\s]+?)\s*```\s*<\/div>/);
|
|
7
4
|
if (matched === null) {
|
|
8
5
|
return undefined;
|
|
@@ -13,9 +10,8 @@ const extractPullRequestMetadata = (pullRequestBody) => {
|
|
|
13
10
|
return undefined;
|
|
14
11
|
}
|
|
15
12
|
const metadata = JSON.parse(json);
|
|
16
|
-
if (!
|
|
13
|
+
if (!isPullRequestMetadata(metadata)) {
|
|
17
14
|
return undefined;
|
|
18
15
|
}
|
|
19
16
|
return metadata;
|
|
20
17
|
};
|
|
21
|
-
exports.extractPullRequestMetadata = extractPullRequestMetadata;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ReleasesFetcher = void 0;
|
|
7
|
-
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
8
|
-
const semver_1 = require("semver");
|
|
9
|
-
const util_1 = require("../../../util");
|
|
1
|
+
import fetch from 'node-fetch';
|
|
2
|
+
import { gte, lte, valid } from 'semver';
|
|
3
|
+
import { sleep } from '../../../util/sleep.js';
|
|
10
4
|
// TODO: Split into multiple classes and functions
|
|
11
|
-
class ReleasesFetcher {
|
|
5
|
+
export class ReleasesFetcher {
|
|
12
6
|
options;
|
|
13
7
|
packageManager;
|
|
14
8
|
constructor({ options, packageManager }) {
|
|
@@ -29,7 +23,7 @@ class ReleasesFetcher {
|
|
|
29
23
|
}
|
|
30
24
|
async fetchReleaseByTag({ gitRepo, tag }) {
|
|
31
25
|
const url = `${gitRepo.url.toString()}/releases/tag/${tag}`;
|
|
32
|
-
const resp = await (
|
|
26
|
+
const resp = await fetch(url);
|
|
33
27
|
if (resp.ok) {
|
|
34
28
|
return {
|
|
35
29
|
tag,
|
|
@@ -41,7 +35,7 @@ class ReleasesFetcher {
|
|
|
41
35
|
const releases = [];
|
|
42
36
|
for (const [i, tag] of tags.entries()) {
|
|
43
37
|
if (i > 0) {
|
|
44
|
-
await
|
|
38
|
+
await sleep(this.options.fetchSleepTime);
|
|
45
39
|
}
|
|
46
40
|
const release = await this.fetchReleaseByTag({
|
|
47
41
|
gitRepo,
|
|
@@ -56,9 +50,8 @@ class ReleasesFetcher {
|
|
|
56
50
|
async getVersions({ packageName, from, to }) {
|
|
57
51
|
const versions = await this.packageManager.getVersions(packageName);
|
|
58
52
|
// TODO: Move these to SemVer
|
|
59
|
-
return versions.filter(version =>
|
|
60
|
-
.filter(version =>
|
|
61
|
-
.filter(version =>
|
|
53
|
+
return versions.filter(version => valid(version))
|
|
54
|
+
.filter(version => gte(version, from.version))
|
|
55
|
+
.filter(version => lte(version, to.version));
|
|
62
56
|
}
|
|
63
57
|
}
|
|
64
|
-
exports.ReleasesFetcher = ReleasesFetcher;
|
package/dist/src/json/toJSON.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toJSON = void 0;
|
|
4
|
-
const toJSON = (value, options) => {
|
|
1
|
+
export const toJSON = (value, options) => {
|
|
5
2
|
const pretty = options?.pretty ?? false;
|
|
6
3
|
return pretty ? JSON.stringify(value, undefined, 2) : JSON.stringify(value);
|
|
7
4
|
};
|
|
8
|
-
exports.toJSON = toJSON;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isLogLevel = exports.LogLevel = void 0;
|
|
4
|
-
exports.LogLevel = {
|
|
1
|
+
export const LogLevel = {
|
|
5
2
|
Debug: 'debug',
|
|
6
3
|
Error: 'error',
|
|
7
4
|
Fatal: 'fatal',
|
|
@@ -10,7 +7,6 @@ exports.LogLevel = {
|
|
|
10
7
|
Trace: 'trace',
|
|
11
8
|
Warn: 'warn'
|
|
12
9
|
};
|
|
13
|
-
const logLevels = Object.values(
|
|
10
|
+
const logLevels = Object.values(LogLevel);
|
|
14
11
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
15
|
-
const isLogLevel = (value) => logLevels.includes(value);
|
|
16
|
-
exports.isLogLevel = isLogLevel;
|
|
12
|
+
export const isLogLevel = (value) => logLevels.includes(value);
|
package/dist/src/main.js
CHANGED
|
@@ -1,38 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { isLeft, isRight } from 'fp-ts/lib/Either.js';
|
|
2
|
+
import { OutdatedPackagesProcessor } from './core/OutdatedPackagesProcessor.js';
|
|
3
|
+
import { PackageUpdater } from './core/PackageUpdater.js';
|
|
4
|
+
import { CommitMessageCreator } from './git/CommitMessageCreator.js';
|
|
5
|
+
import { Git } from './git/Git.js';
|
|
6
|
+
import { GitConfigInitializer } from './git/GitConfigInitializer.js';
|
|
7
|
+
import { GitRepository } from './git/GitRepository.js';
|
|
8
|
+
import { BranchFinder } from './github/branch/finder/BranchFinder.js';
|
|
9
|
+
import { createGitHub } from './github/createGitHub.js';
|
|
10
|
+
import { LabelCreator } from './github/label/creator/LabelCreator.js';
|
|
11
|
+
import { PullRequestCloser } from './github/pull-request/closer/PullRequestCloser.js';
|
|
12
|
+
import { PullRequestsCloser } from './github/pull-request/closer/PullRequestsCloser.js';
|
|
13
|
+
import { AssigneesAdder } from './github/pull-request/creator/AssigneesAdder.js';
|
|
14
|
+
import { GitHubUrlOptimizer } from './github/pull-request/creator/GitHubUrlOptimizer.js';
|
|
15
|
+
import { LabelsAdder } from './github/pull-request/creator/LabelsAdder.js';
|
|
16
|
+
import { PackageDiffsSectionCreator } from './github/pull-request/creator/PackageDiffsSectionCreator.js';
|
|
17
|
+
import { PullRequestBodyCreator } from './github/pull-request/creator/PullRequestBodyCreator.js';
|
|
18
|
+
import { PullRequestCreator } from './github/pull-request/creator/PullRequestCreator.js';
|
|
19
|
+
import { PullRequestTitleCreator } from './github/pull-request/creator/PullRequestTitleCreator.js';
|
|
20
|
+
import { ReleaseNotesSectionCreator } from './github/pull-request/creator/ReleaseNotesSectionCreator.js';
|
|
21
|
+
import { ReviewersAdder } from './github/pull-request/creator/ReviewersAdder.js';
|
|
22
|
+
import { PullRequestFinder } from './github/pull-request/finder/PullRequestFinder.js';
|
|
23
|
+
import { ReleasesFetcher } from './github/releases/fetcher/ReleasesFetcher.js';
|
|
24
|
+
import { logger } from './logger/logger.js';
|
|
25
|
+
import { NpmCheckUpdates } from './npm-check-updates/NpmCheckUpdates.js';
|
|
26
|
+
import { OutdatedPackageProcessorCreator } from './outdated-package-processor/OutdatedPackageProcessorCreator.js';
|
|
27
|
+
import { PackageManagerCreator } from './package-manager/PackageManagerCreator.js';
|
|
28
|
+
import { Terminal } from './terminal/Terminal.js';
|
|
13
29
|
// TODO: Add test
|
|
14
|
-
const main = async (options) => {
|
|
15
|
-
|
|
30
|
+
export const main = async (options) => {
|
|
31
|
+
logger.debug(`options=${JSON.stringify({
|
|
16
32
|
...options,
|
|
17
33
|
githubToken: options.githubToken === '' ? '' : '***'
|
|
18
34
|
})}`);
|
|
19
|
-
const ncu = new
|
|
35
|
+
const ncu = new NpmCheckUpdates(options);
|
|
20
36
|
const outdatedPackages = await ncu.check();
|
|
21
|
-
|
|
37
|
+
logger.debug(`outdatedPackages=${JSON.stringify(outdatedPackages)}`);
|
|
22
38
|
if (outdatedPackages.length === 0) {
|
|
23
|
-
|
|
39
|
+
logger.info('All packages are up-to-date.');
|
|
24
40
|
return;
|
|
25
41
|
}
|
|
26
|
-
|
|
27
|
-
const terminal = new
|
|
28
|
-
const git = new
|
|
42
|
+
logger.info(`There are ${outdatedPackages.length} outdated packages.`);
|
|
43
|
+
const terminal = new Terminal();
|
|
44
|
+
const git = new Git(terminal);
|
|
29
45
|
const remoteUrl = await git.getRemoteUrl();
|
|
30
|
-
const gitRepo =
|
|
31
|
-
|
|
46
|
+
const gitRepo = GitRepository.of(remoteUrl);
|
|
47
|
+
logger.debug(`gitRepo=${JSON.stringify(gitRepo)}`);
|
|
32
48
|
if (gitRepo === undefined) {
|
|
33
49
|
throw new Error(`Failed to parse remote url. URL=${remoteUrl}`);
|
|
34
50
|
}
|
|
35
|
-
const github =
|
|
51
|
+
const github = createGitHub({
|
|
36
52
|
host: gitRepo.url.host,
|
|
37
53
|
token: options.githubToken
|
|
38
54
|
});
|
|
@@ -40,18 +56,18 @@ const main = async (options) => {
|
|
|
40
56
|
owner: gitRepo.owner,
|
|
41
57
|
repo: gitRepo.name
|
|
42
58
|
});
|
|
43
|
-
|
|
59
|
+
logger.debug(`githubRepo=${JSON.stringify(githubRepo)}`);
|
|
44
60
|
const branches = await github.fetchBranches({
|
|
45
61
|
owner: gitRepo.owner,
|
|
46
62
|
repo: gitRepo.name
|
|
47
63
|
});
|
|
48
|
-
|
|
64
|
+
logger.debug(`branches=${JSON.stringify(branches)}`);
|
|
49
65
|
const pullRequests = await github.fetchPullRequests({
|
|
50
66
|
owner: gitRepo.owner,
|
|
51
67
|
repo: gitRepo.name
|
|
52
68
|
});
|
|
53
|
-
|
|
54
|
-
const labelCreator = new
|
|
69
|
+
logger.debug(`pullRequests=${JSON.stringify(pullRequests)}`);
|
|
70
|
+
const labelCreator = new LabelCreator({
|
|
55
71
|
github,
|
|
56
72
|
gitRepo
|
|
57
73
|
});
|
|
@@ -60,37 +76,37 @@ const main = async (options) => {
|
|
|
60
76
|
description: 'Created by npm-update-package',
|
|
61
77
|
color: 'A00F21'
|
|
62
78
|
});
|
|
63
|
-
const branchFinder = new
|
|
64
|
-
const packageManagerCreator = new
|
|
79
|
+
const branchFinder = new BranchFinder(branches);
|
|
80
|
+
const packageManagerCreator = new PackageManagerCreator(options);
|
|
65
81
|
const packageManager = await packageManagerCreator.create(terminal);
|
|
66
|
-
const pullRequestTitleCreator = new
|
|
67
|
-
const releasesFetcher = new
|
|
82
|
+
const pullRequestTitleCreator = new PullRequestTitleCreator(options.prTitle);
|
|
83
|
+
const releasesFetcher = new ReleasesFetcher({
|
|
68
84
|
options,
|
|
69
85
|
packageManager
|
|
70
86
|
});
|
|
71
|
-
const githubUrlOptimizer = new
|
|
72
|
-
const packageDiffsSectionCreator = new
|
|
73
|
-
const releaseNotesSectionCreator = new
|
|
74
|
-
const pullRequestBodyCreator = new
|
|
87
|
+
const githubUrlOptimizer = new GitHubUrlOptimizer(options);
|
|
88
|
+
const packageDiffsSectionCreator = new PackageDiffsSectionCreator(githubUrlOptimizer);
|
|
89
|
+
const releaseNotesSectionCreator = new ReleaseNotesSectionCreator(githubUrlOptimizer);
|
|
90
|
+
const pullRequestBodyCreator = new PullRequestBodyCreator({
|
|
75
91
|
options,
|
|
76
92
|
releasesFetcher,
|
|
77
93
|
packageDiffsSectionCreator,
|
|
78
94
|
releaseNotesSectionCreator
|
|
79
95
|
});
|
|
80
|
-
const labelsAdder = new
|
|
96
|
+
const labelsAdder = new LabelsAdder({
|
|
81
97
|
options,
|
|
82
98
|
github,
|
|
83
99
|
gitRepo
|
|
84
100
|
});
|
|
85
|
-
const assigneesAdder = new
|
|
101
|
+
const assigneesAdder = new AssigneesAdder({
|
|
86
102
|
github,
|
|
87
103
|
gitRepo
|
|
88
104
|
});
|
|
89
|
-
const reviewersAdder = new
|
|
105
|
+
const reviewersAdder = new ReviewersAdder({
|
|
90
106
|
github,
|
|
91
107
|
gitRepo
|
|
92
108
|
});
|
|
93
|
-
const pullRequestCreator = new
|
|
109
|
+
const pullRequestCreator = new PullRequestCreator({
|
|
94
110
|
options,
|
|
95
111
|
github,
|
|
96
112
|
gitRepo,
|
|
@@ -101,15 +117,15 @@ const main = async (options) => {
|
|
|
101
117
|
assigneesAdder,
|
|
102
118
|
reviewersAdder
|
|
103
119
|
});
|
|
104
|
-
const commitMessageCreator = new
|
|
105
|
-
const pullRequestFinder = new
|
|
106
|
-
const pullRequestCloser = new
|
|
107
|
-
const pullRequestsCloser = new
|
|
108
|
-
const packageUpdater = new
|
|
120
|
+
const commitMessageCreator = new CommitMessageCreator(options.commitMessage);
|
|
121
|
+
const pullRequestFinder = new PullRequestFinder(pullRequests);
|
|
122
|
+
const pullRequestCloser = new PullRequestCloser(github);
|
|
123
|
+
const pullRequestsCloser = new PullRequestsCloser(pullRequestCloser);
|
|
124
|
+
const packageUpdater = new PackageUpdater({
|
|
109
125
|
packageManager,
|
|
110
126
|
ncu
|
|
111
127
|
});
|
|
112
|
-
const outdatedPackageProcessorCreator = new
|
|
128
|
+
const outdatedPackageProcessorCreator = new OutdatedPackageProcessorCreator(options);
|
|
113
129
|
const outdatedPackageProcessor = outdatedPackageProcessorCreator.create({
|
|
114
130
|
git,
|
|
115
131
|
packageManager,
|
|
@@ -120,41 +136,40 @@ const main = async (options) => {
|
|
|
120
136
|
pullRequestsCloser,
|
|
121
137
|
packageUpdater
|
|
122
138
|
});
|
|
123
|
-
const gitConfigInitializer = new
|
|
139
|
+
const gitConfigInitializer = new GitConfigInitializer({
|
|
124
140
|
options,
|
|
125
141
|
git
|
|
126
142
|
});
|
|
127
143
|
await gitConfigInitializer.initialize();
|
|
128
|
-
const outdatedPackagesProcessor = new
|
|
144
|
+
const outdatedPackagesProcessor = new OutdatedPackagesProcessor(outdatedPackageProcessor);
|
|
129
145
|
const results = await outdatedPackagesProcessor.process(outdatedPackages);
|
|
130
|
-
|
|
146
|
+
logger.debug(`results=${JSON.stringify(results)}`);
|
|
131
147
|
const succeededResults = results
|
|
132
148
|
// eslint-disable-next-line unicorn/no-array-callback-reference
|
|
133
|
-
.filter(
|
|
149
|
+
.filter(isRight)
|
|
134
150
|
.map(({ right }) => right);
|
|
135
|
-
|
|
151
|
+
logger.debug(`succeededResults=${JSON.stringify(succeededResults)}`);
|
|
136
152
|
const createdPackages = succeededResults
|
|
137
153
|
.filter(({ created }) => created)
|
|
138
154
|
.map(({ outdatedPackage }) => outdatedPackage);
|
|
139
|
-
|
|
155
|
+
logger.debug(`createdPackages=${JSON.stringify(createdPackages)}`);
|
|
140
156
|
const skippedPackages = succeededResults
|
|
141
157
|
.filter(({ skipped }) => skipped)
|
|
142
158
|
.map(({ outdatedPackage }) => outdatedPackage);
|
|
143
|
-
|
|
159
|
+
logger.debug(`skippedPackages=${JSON.stringify(skippedPackages)}`);
|
|
144
160
|
const failedResults = results
|
|
145
161
|
// eslint-disable-next-line unicorn/no-array-callback-reference
|
|
146
|
-
.filter(
|
|
162
|
+
.filter(isLeft)
|
|
147
163
|
.map(({ left }) => left);
|
|
148
|
-
|
|
164
|
+
logger.debug(`failedResults=${JSON.stringify(failedResults)}`);
|
|
149
165
|
const failedPackages = failedResults.map(({ outdatedPackage }) => outdatedPackage);
|
|
150
|
-
|
|
166
|
+
logger.debug(`failedPackages=${JSON.stringify(failedPackages)}`);
|
|
151
167
|
// TODO: Show as table
|
|
152
|
-
|
|
168
|
+
logger.info(`Processed ${succeededResults.length + failedPackages.length} packages:
|
|
153
169
|
- ${createdPackages.length} packages: created (${createdPackages.map(({ name }) => name).join(',')})
|
|
154
170
|
- ${skippedPackages.length} packages: skipped: (${skippedPackages.map(({ name }) => name).join(',')})
|
|
155
171
|
- ${failedPackages.length} packages: failed: (${failedPackages.map(({ name }) => name).join(',')})`);
|
|
156
172
|
if (options.ignorePackages !== undefined) {
|
|
157
|
-
|
|
173
|
+
logger.info(`Ignored ${options.ignorePackages.length} packages: ${options.ignorePackages.join(',')}`);
|
|
158
174
|
}
|
|
159
175
|
};
|
|
160
|
-
exports.main = main;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isDependency = exports.Dependency = void 0;
|
|
4
|
-
exports.Dependency = {
|
|
1
|
+
export const Dependency = {
|
|
5
2
|
Bundle: 'bundle',
|
|
6
3
|
Dev: 'dev',
|
|
7
4
|
Optional: 'optional',
|
|
8
5
|
Peer: 'peer',
|
|
9
6
|
Prod: 'prod'
|
|
10
7
|
};
|
|
11
|
-
const values = Object.values(
|
|
8
|
+
const values = Object.values(Dependency);
|
|
12
9
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
13
|
-
const isDependency = (value) => values.includes(value);
|
|
14
|
-
exports.isDependency = isDependency;
|
|
10
|
+
export const isDependency = (value) => values.includes(value);
|