npm-update-package 0.5.0 → 0.7.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/LICENSE +1 -1
- package/README.md +6 -0
- package/dist/app.js +1 -1
- package/dist/{branch-name-creator → git}/BranchNameCreator.js +0 -0
- package/dist/{commit-message-creator → git}/CommitMessageCreator.js +0 -0
- package/dist/git/index.js +5 -1
- package/dist/github/PullRequestCreator.js +3 -3
- package/dist/github/PullRequestTitleCreator.js +22 -0
- package/dist/github/index.js +3 -1
- package/dist/{enums → logger}/LogLevel.js +0 -0
- package/dist/logger/index.js +4 -1
- package/dist/main.js +14 -9
- package/dist/ncu/Ncu.js +4 -2
- package/dist/ncu/NcuOutdatedPackagesConverter.js +3 -3
- package/dist/{types → ncu}/OutdatedPackage.js +0 -0
- package/dist/{values → ncu}/PackageVersion.js +0 -0
- package/dist/{enums → ncu}/UpdateType.js +0 -0
- package/dist/ncu/index.js +6 -1
- package/dist/ncu/toUpdateType.js +4 -4
- package/dist/options/Options.js +8 -5
- package/dist/options/initOptions.js +9 -7
- package/dist/{read-package-json → package-json}/Package.js +3 -3
- package/dist/{read-package-json → package-json}/PackageDependencies.js +0 -0
- package/dist/package-json/PackageJsonParser.js +21 -0
- package/dist/package-json/PackageJsonReader.js +20 -0
- package/dist/package-json/index.js +7 -0
- package/dist/{enums → package-manager}/PackageManagerName.js +0 -0
- package/dist/package-manager/index.js +4 -1
- package/dist/{outdated-package-processor → processors}/OutdatedPackageProcessor.js +0 -0
- package/dist/{outdated-packages-processor → processors}/OutdatedPackagesProcessor.js +0 -0
- package/dist/{types → processors}/Result.js +0 -0
- package/dist/{outdated-packages-processor → processors}/index.js +3 -1
- package/package.json +2 -2
- package/src/app.ts +1 -1
- package/src/{branch-name-creator → git}/BranchNameCreator.test.ts +1 -1
- package/src/{branch-name-creator → git}/BranchNameCreator.ts +1 -1
- package/src/{commit-message-creator → git}/CommitMessageCreator.test.ts +1 -1
- package/src/{commit-message-creator → git}/CommitMessageCreator.ts +1 -1
- package/src/git/index.ts +2 -0
- package/src/github/PullRequestCreator.ts +7 -3
- package/src/github/PullRequestTitleCreator.test.ts +17 -0
- package/src/github/PullRequestTitleCreator.ts +19 -0
- package/src/github/createPullRequestBody.test.ts +4 -2
- package/src/github/createPullRequestBody.ts +1 -1
- package/src/github/index.ts +1 -0
- package/src/{enums → logger}/LogLevel.ts +0 -0
- package/src/logger/createLogger.ts +1 -1
- package/src/logger/index.ts +4 -0
- package/src/main.ts +19 -5
- package/src/ncu/Ncu.ts +5 -3
- package/src/ncu/NcuOutdatedPackagesConverter.ts +3 -3
- package/src/{types → ncu}/OutdatedPackage.ts +2 -2
- package/src/{values → ncu}/PackageVersion.test.ts +0 -0
- package/src/{values → ncu}/PackageVersion.ts +0 -0
- package/src/{enums → ncu}/UpdateType.ts +0 -0
- package/src/ncu/index.ts +6 -0
- package/src/ncu/toUpdateType.test.ts +2 -2
- package/src/ncu/toUpdateType.ts +2 -2
- package/src/options/Options.ts +6 -3
- package/src/options/initOptions.ts +3 -4
- package/src/{read-package-json → package-json}/Package.ts +1 -1
- package/src/{read-package-json → package-json}/PackageDependencies.ts +0 -0
- package/src/package-json/PackageJsonParser.ts +19 -0
- package/src/package-json/PackageJsonReader.ts +27 -0
- package/src/package-json/index.ts +3 -0
- package/src/{enums → package-manager}/PackageManagerName.ts +0 -0
- package/src/package-manager/createPackageManager.ts +1 -1
- package/src/package-manager/index.ts +4 -0
- package/src/{outdated-package-processor → processors}/OutdatedPackageProcessor.ts +7 -7
- package/src/{outdated-packages-processor → processors}/OutdatedPackagesProcessor.ts +3 -5
- package/src/{types → processors}/Result.ts +1 -1
- package/src/{outdated-packages-processor → processors}/index.ts +1 -0
- package/dist/branch-name-creator/index.js +0 -5
- package/dist/commit-message-creator/index.js +0 -5
- package/dist/enums/index.js +0 -12
- package/dist/github/createPullRequestTitle.js +0 -10
- package/dist/outdated-package-processor/index.js +0 -5
- package/dist/read-package-json/index.js +0 -5
- package/dist/read-package-json/parsePackageJson.js +0 -15
- package/dist/read-package-json/readFile.js +0 -12
- package/dist/read-package-json/readPackageJson.js +0 -11
- package/dist/types/index.js +0 -2
- package/dist/values/index.js +0 -5
- package/src/branch-name-creator/index.ts +0 -1
- package/src/commit-message-creator/index.ts +0 -1
- package/src/enums/index.ts +0 -12
- package/src/github/createPullRequestTitle.test.ts +0 -43
- package/src/github/createPullRequestTitle.ts +0 -8
- package/src/outdated-package-processor/index.ts +0 -1
- package/src/read-package-json/index.ts +0 -2
- package/src/read-package-json/parsePackageJson.ts +0 -13
- package/src/read-package-json/readFile.ts +0 -6
- package/src/read-package-json/readPackageJson.ts +0 -9
- package/src/types/index.ts +0 -2
- package/src/values/index.ts +0 -1
package/LICENSE
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
3
|
Copyright (c) 2020 TS Examples
|
|
4
|
-
Copyright (c) 2021
|
|
4
|
+
Copyright (c) 2021 npm-update-package
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -44,6 +44,7 @@ You can customize behavior via command-line options.
|
|
|
44
44
|
|`--github-token`|GitHub token|✓|string|-|
|
|
45
45
|
|`--log-level`|Log level to show|-|`info`, `debug`|`info`|
|
|
46
46
|
|`--package-manager`|Package manager of your project|-|`npm`, `yarn`|`npm`|
|
|
47
|
+
|`--pull-request-title`|Pull request title template|-|string|`chore(deps): {{updateType}} update {{{packageName}}} to v{{newVersion}}`|
|
|
47
48
|
|
|
48
49
|
### Templates
|
|
49
50
|
|
|
@@ -60,3 +61,8 @@ These variables are available:
|
|
|
60
61
|
- `currentVersion`
|
|
61
62
|
- `newVersion`
|
|
62
63
|
- `updateType`
|
|
64
|
+
- `--pull-request-title`
|
|
65
|
+
- `packageName`
|
|
66
|
+
- `currentVersion`
|
|
67
|
+
- `newVersion`
|
|
68
|
+
- `updateType`
|
package/dist/app.js
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/git/index.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Git = exports.Committer = void 0;
|
|
3
|
+
exports.Git = exports.Committer = exports.CommitMessageCreator = exports.BranchNameCreator = void 0;
|
|
4
|
+
var BranchNameCreator_1 = require("./BranchNameCreator");
|
|
5
|
+
Object.defineProperty(exports, "BranchNameCreator", { enumerable: true, get: function () { return BranchNameCreator_1.BranchNameCreator; } });
|
|
6
|
+
var CommitMessageCreator_1 = require("./CommitMessageCreator");
|
|
7
|
+
Object.defineProperty(exports, "CommitMessageCreator", { enumerable: true, get: function () { return CommitMessageCreator_1.CommitMessageCreator; } });
|
|
4
8
|
var Committer_1 = require("./Committer");
|
|
5
9
|
Object.defineProperty(exports, "Committer", { enumerable: true, get: function () { return Committer_1.Committer; } });
|
|
6
10
|
var Git_1 = require("./Git");
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PullRequestCreator = void 0;
|
|
4
4
|
const createPullRequestBody_1 = require("./createPullRequestBody");
|
|
5
|
-
const createPullRequestTitle_1 = require("./createPullRequestTitle");
|
|
6
5
|
// TODO: add test
|
|
7
6
|
class PullRequestCreator {
|
|
8
|
-
constructor({ github, gitRepo, githubRepo, logger }) {
|
|
7
|
+
constructor({ github, gitRepo, githubRepo, pullRequestTitleCreator, logger }) {
|
|
9
8
|
this.github = github;
|
|
10
9
|
this.gitRepo = gitRepo;
|
|
11
10
|
this.githubRepo = githubRepo;
|
|
11
|
+
this.pullRequestTitleCreator = pullRequestTitleCreator;
|
|
12
12
|
this.logger = logger;
|
|
13
13
|
}
|
|
14
14
|
async create({ outdatedPackage, branchName }) {
|
|
15
|
-
const title =
|
|
15
|
+
const title = this.pullRequestTitleCreator.create(outdatedPackage);
|
|
16
16
|
this.logger.debug(`title=${title}`);
|
|
17
17
|
const body = (0, createPullRequestBody_1.createPullRequestBody)(outdatedPackage);
|
|
18
18
|
this.logger.debug(`body=${body}`);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PullRequestTitleCreator = void 0;
|
|
4
|
+
const mustache_1 = require("mustache");
|
|
5
|
+
class PullRequestTitleCreator {
|
|
6
|
+
constructor(template) {
|
|
7
|
+
this.template = template;
|
|
8
|
+
}
|
|
9
|
+
create(outdatedPackage) {
|
|
10
|
+
const packageName = outdatedPackage.name;
|
|
11
|
+
const currentVersion = outdatedPackage.currentVersion.version;
|
|
12
|
+
const newVersion = outdatedPackage.newVersion.version;
|
|
13
|
+
const updateType = outdatedPackage.type;
|
|
14
|
+
return (0, mustache_1.render)(this.template, {
|
|
15
|
+
packageName,
|
|
16
|
+
currentVersion,
|
|
17
|
+
newVersion,
|
|
18
|
+
updateType
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.PullRequestTitleCreator = PullRequestTitleCreator;
|
package/dist/github/index.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RemoteBranchExistenceChecker = exports.PullRequestCreator = exports.GitHub = exports.createGitHub = void 0;
|
|
3
|
+
exports.RemoteBranchExistenceChecker = exports.PullRequestTitleCreator = exports.PullRequestCreator = exports.GitHub = exports.createGitHub = void 0;
|
|
4
4
|
var createGitHub_1 = require("./createGitHub");
|
|
5
5
|
Object.defineProperty(exports, "createGitHub", { enumerable: true, get: function () { return createGitHub_1.createGitHub; } });
|
|
6
6
|
var GitHub_1 = require("./GitHub");
|
|
7
7
|
Object.defineProperty(exports, "GitHub", { enumerable: true, get: function () { return GitHub_1.GitHub; } });
|
|
8
8
|
var PullRequestCreator_1 = require("./PullRequestCreator");
|
|
9
9
|
Object.defineProperty(exports, "PullRequestCreator", { enumerable: true, get: function () { return PullRequestCreator_1.PullRequestCreator; } });
|
|
10
|
+
var PullRequestTitleCreator_1 = require("./PullRequestTitleCreator");
|
|
11
|
+
Object.defineProperty(exports, "PullRequestTitleCreator", { enumerable: true, get: function () { return PullRequestTitleCreator_1.PullRequestTitleCreator; } });
|
|
10
12
|
var RemoteBranchExistenceChecker_1 = require("./RemoteBranchExistenceChecker");
|
|
11
13
|
Object.defineProperty(exports, "RemoteBranchExistenceChecker", { enumerable: true, get: function () { return RemoteBranchExistenceChecker_1.RemoteBranchExistenceChecker; } });
|
|
File without changes
|
package/dist/logger/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createLogger = void 0;
|
|
3
|
+
exports.LogLevel = exports.isLogLevel = exports.createLogger = void 0;
|
|
4
4
|
var createLogger_1 = require("./createLogger");
|
|
5
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; } });
|
package/dist/main.js
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.main = void 0;
|
|
4
|
-
const branch_name_creator_1 = require("./branch-name-creator");
|
|
5
|
-
const commit_message_creator_1 = require("./commit-message-creator");
|
|
6
4
|
const git_1 = require("./git");
|
|
7
5
|
const github_1 = require("./github");
|
|
8
6
|
const ncu_1 = require("./ncu");
|
|
9
|
-
const
|
|
10
|
-
const outdated_packages_processor_1 = require("./outdated-packages-processor");
|
|
7
|
+
const package_json_1 = require("./package-json");
|
|
11
8
|
const package_manager_1 = require("./package-manager");
|
|
9
|
+
const processors_1 = require("./processors");
|
|
12
10
|
const terminal_1 = require("./terminal");
|
|
13
11
|
// TODO: add test
|
|
14
12
|
const main = async ({ options, logger }) => {
|
|
15
13
|
logger.debug(`options=${JSON.stringify(options)}`);
|
|
16
|
-
const
|
|
14
|
+
const packageJsonParser = new package_json_1.PackageJsonParser(logger);
|
|
15
|
+
const packageJsonReader = new package_json_1.PackageJsonReader({
|
|
16
|
+
packageJsonParser,
|
|
17
|
+
logger
|
|
18
|
+
});
|
|
19
|
+
const ncu = new ncu_1.Ncu(packageJsonReader);
|
|
17
20
|
const outdatedPackages = await ncu.check();
|
|
18
21
|
logger.debug(`outdatedPackages=${JSON.stringify(outdatedPackages)}`);
|
|
19
22
|
if (outdatedPackages.length === 0) {
|
|
@@ -51,15 +54,17 @@ const main = async ({ options, logger }) => {
|
|
|
51
54
|
terminal,
|
|
52
55
|
packageManager: options.packageManager
|
|
53
56
|
});
|
|
57
|
+
const pullRequestTitleCreator = new github_1.PullRequestTitleCreator(options.pullRequestTitle);
|
|
54
58
|
const pullRequestCreator = new github_1.PullRequestCreator({
|
|
55
59
|
github,
|
|
56
60
|
gitRepo,
|
|
57
61
|
githubRepo,
|
|
62
|
+
pullRequestTitleCreator,
|
|
58
63
|
logger
|
|
59
64
|
});
|
|
60
|
-
const branchNameCreator = new
|
|
61
|
-
const commitMessageCreator = new
|
|
62
|
-
const outdatedPackageProcessor = new
|
|
65
|
+
const branchNameCreator = new git_1.BranchNameCreator(options.branchName);
|
|
66
|
+
const commitMessageCreator = new git_1.CommitMessageCreator(options.commitMessage);
|
|
67
|
+
const outdatedPackageProcessor = new processors_1.OutdatedPackageProcessor({
|
|
63
68
|
committer,
|
|
64
69
|
git,
|
|
65
70
|
ncu,
|
|
@@ -70,7 +75,7 @@ const main = async ({ options, logger }) => {
|
|
|
70
75
|
branchNameCreator,
|
|
71
76
|
commitMessageCreator
|
|
72
77
|
});
|
|
73
|
-
const outdatedPackagesProcessor = new
|
|
78
|
+
const outdatedPackagesProcessor = new processors_1.OutdatedPackagesProcessor({
|
|
74
79
|
outdatedPackageProcessor,
|
|
75
80
|
logger
|
|
76
81
|
});
|
package/dist/ncu/Ncu.js
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
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 read_package_json_1 = require("../read-package-json");
|
|
6
5
|
const isNcuOutdatedPackages_1 = require("./isNcuOutdatedPackages");
|
|
7
6
|
const NcuOutdatedPackagesConverter_1 = require("./NcuOutdatedPackagesConverter");
|
|
8
7
|
// TODO: add test
|
|
9
8
|
class Ncu {
|
|
9
|
+
constructor(packageJsonReader) {
|
|
10
|
+
this.packageJsonReader = packageJsonReader;
|
|
11
|
+
}
|
|
10
12
|
async check() {
|
|
11
13
|
return await this.run({
|
|
12
14
|
jsonUpgraded: true
|
|
@@ -20,7 +22,7 @@ class Ncu {
|
|
|
20
22
|
});
|
|
21
23
|
}
|
|
22
24
|
async run(options) {
|
|
23
|
-
const pkg = await
|
|
25
|
+
const pkg = await this.packageJsonReader.read('./package.json');
|
|
24
26
|
const currentDependencies = {
|
|
25
27
|
...pkg.dependencies,
|
|
26
28
|
...pkg.devDependencies,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NcuOutdatedPackagesConverter = void 0;
|
|
4
|
-
const
|
|
4
|
+
const PackageVersion_1 = require("./PackageVersion");
|
|
5
5
|
const toUpdateType_1 = require("./toUpdateType");
|
|
6
6
|
// TODO: add test
|
|
7
7
|
class NcuOutdatedPackagesConverter {
|
|
@@ -12,8 +12,8 @@ class NcuOutdatedPackagesConverter {
|
|
|
12
12
|
return Object.entries(outdatedPackages)
|
|
13
13
|
.map(([name, newVersion]) => ({
|
|
14
14
|
name,
|
|
15
|
-
currentVersion:
|
|
16
|
-
newVersion:
|
|
15
|
+
currentVersion: PackageVersion_1.PackageVersion.of(this.currentDependencies[name]),
|
|
16
|
+
newVersion: PackageVersion_1.PackageVersion.of(newVersion)
|
|
17
17
|
}))
|
|
18
18
|
.map(({ name, currentVersion, newVersion }) => ({
|
|
19
19
|
name,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/ncu/index.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Ncu = void 0;
|
|
3
|
+
exports.UpdateType = exports.isUpdateType = exports.PackageVersion = exports.Ncu = void 0;
|
|
4
4
|
var Ncu_1 = require("./Ncu");
|
|
5
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; } });
|
package/dist/ncu/toUpdateType.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toUpdateType = void 0;
|
|
4
|
-
const
|
|
4
|
+
const UpdateType_1 = require("./UpdateType");
|
|
5
5
|
const toUpdateType = (currentVersion, newVersion) => {
|
|
6
6
|
if (currentVersion.major !== newVersion.major) {
|
|
7
|
-
return
|
|
7
|
+
return UpdateType_1.UpdateType.Major;
|
|
8
8
|
}
|
|
9
9
|
if (currentVersion.minor !== newVersion.minor) {
|
|
10
|
-
return
|
|
10
|
+
return UpdateType_1.UpdateType.Minor;
|
|
11
11
|
}
|
|
12
12
|
if (currentVersion.patch !== newVersion.patch) {
|
|
13
|
-
return
|
|
13
|
+
return UpdateType_1.UpdateType.Patch;
|
|
14
14
|
}
|
|
15
15
|
throw new Error('Both versions are same.');
|
|
16
16
|
};
|
package/dist/options/Options.js
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isOptions =
|
|
3
|
+
exports.isOptions = void 0;
|
|
4
4
|
const io_ts_1 = require("io-ts");
|
|
5
|
-
|
|
5
|
+
const logger_1 = require("../logger");
|
|
6
|
+
const package_manager_1 = require("../package-manager");
|
|
7
|
+
const Options = (0, io_ts_1.intersection)([
|
|
6
8
|
(0, io_ts_1.type)({
|
|
7
9
|
branchName: io_ts_1.string,
|
|
8
10
|
commitMessage: io_ts_1.string,
|
|
9
11
|
githubToken: io_ts_1.string,
|
|
10
|
-
logLevel: (0, io_ts_1.union)([(0, io_ts_1.literal)(
|
|
11
|
-
packageManager: (0, io_ts_1.union)([(0, io_ts_1.literal)(
|
|
12
|
+
logLevel: (0, io_ts_1.union)([(0, io_ts_1.literal)(logger_1.LogLevel.Info), (0, io_ts_1.literal)(logger_1.LogLevel.Debug)]),
|
|
13
|
+
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)]),
|
|
14
|
+
pullRequestTitle: io_ts_1.string
|
|
12
15
|
}),
|
|
13
16
|
(0, io_ts_1.partial)({
|
|
14
17
|
gitUserEmail: io_ts_1.string,
|
|
15
18
|
gitUserName: io_ts_1.string
|
|
16
19
|
})
|
|
17
20
|
]);
|
|
18
|
-
exports.isOptions =
|
|
21
|
+
exports.isOptions = Options.is;
|
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.initOptions = void 0;
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const app_1 = require("../app");
|
|
6
|
-
const
|
|
6
|
+
const logger_1 = require("../logger");
|
|
7
|
+
const package_manager_1 = require("../package-manager");
|
|
7
8
|
const Options_1 = require("./Options");
|
|
8
9
|
// TODO: add test
|
|
9
10
|
const initOptions = () => {
|
|
@@ -16,16 +17,17 @@ const initOptions = () => {
|
|
|
16
17
|
.requiredOption('--github-token <value>', 'GitHub token')
|
|
17
18
|
.addOption(new commander_1.Option('--log-level <value>', 'Log level to show')
|
|
18
19
|
.choices([
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
logger_1.LogLevel.Info,
|
|
21
|
+
logger_1.LogLevel.Debug
|
|
21
22
|
])
|
|
22
|
-
.default(
|
|
23
|
+
.default(logger_1.LogLevel.Info))
|
|
23
24
|
.addOption(new commander_1.Option('--package-manager <value>', 'Package manager of your project')
|
|
24
25
|
.choices([
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
package_manager_1.PackageManagerName.Npm,
|
|
27
|
+
package_manager_1.PackageManagerName.Yarn
|
|
27
28
|
])
|
|
28
|
-
.default(
|
|
29
|
+
.default(package_manager_1.PackageManagerName.Npm))
|
|
30
|
+
.option('--pull-request-title <value>', 'Pull request title template', 'chore(deps): {{updateType}} update {{{packageName}}} to v{{newVersion}}');
|
|
29
31
|
commander_1.program.parse(process.argv);
|
|
30
32
|
const options = commander_1.program.opts();
|
|
31
33
|
if (!(0, Options_1.isOptions)(options)) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isPackage =
|
|
3
|
+
exports.isPackage = void 0;
|
|
4
4
|
const io_ts_1 = require("io-ts");
|
|
5
5
|
const PackageDependencies_1 = require("./PackageDependencies");
|
|
6
|
-
|
|
6
|
+
const Package = (0, io_ts_1.intersection)([
|
|
7
7
|
(0, io_ts_1.type)({
|
|
8
8
|
name: io_ts_1.string,
|
|
9
9
|
version: io_ts_1.string
|
|
@@ -15,4 +15,4 @@ exports.Package = (0, io_ts_1.intersection)([
|
|
|
15
15
|
optionalDependencies: PackageDependencies_1.PackageDependencies
|
|
16
16
|
})
|
|
17
17
|
]);
|
|
18
|
-
exports.isPackage =
|
|
18
|
+
exports.isPackage = Package.is;
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
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;
|
|
@@ -0,0 +1,20 @@
|
|
|
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(filePath) {
|
|
15
|
+
const json = await fs_1.default.promises.readFile(filePath, 'utf8');
|
|
16
|
+
this.logger.debug(`json=${json}`);
|
|
17
|
+
return this.packageJsonParser.parse(json);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.PackageJsonReader = PackageJsonReader;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
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; } });
|
|
File without changes
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Yarn = exports.Npm = exports.createPackageManager = void 0;
|
|
3
|
+
exports.Yarn = exports.PackageManagerName = exports.isPackageManagerName = exports.Npm = exports.createPackageManager = void 0;
|
|
4
4
|
var createPackageManager_1 = require("./createPackageManager");
|
|
5
5
|
Object.defineProperty(exports, "createPackageManager", { enumerable: true, get: function () { return createPackageManager_1.createPackageManager; } });
|
|
6
6
|
var Npm_1 = require("./Npm");
|
|
7
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; } });
|
|
8
11
|
var Yarn_1 = require("./Yarn");
|
|
9
12
|
Object.defineProperty(exports, "Yarn", { enumerable: true, get: function () { return Yarn_1.Yarn; } });
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OutdatedPackagesProcessor = void 0;
|
|
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; } });
|
|
4
6
|
var OutdatedPackagesProcessor_1 = require("./OutdatedPackagesProcessor");
|
|
5
7
|
Object.defineProperty(exports, "OutdatedPackagesProcessor", { enumerable: true, get: function () { return OutdatedPackagesProcessor_1.OutdatedPackagesProcessor; } });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "npm-update-package",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "CLI tool for creating pull request to update npm packages",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc --project tsconfig.build.json",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"lint": "eslint '**/*.{js,ts}'",
|
|
9
9
|
"prepare": "husky install",
|
|
10
10
|
"prepublish": "npm-run-all clean lint test build",
|
|
11
|
-
"start": "ts-node src/
|
|
11
|
+
"start": "ts-node src/bin.ts",
|
|
12
12
|
"test": "jest --passWithNoTests"
|
|
13
13
|
},
|
|
14
14
|
"bin": "dist/bin.js",
|
package/src/app.ts
CHANGED
package/src/git/index.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { GitRepository } from '../git'
|
|
2
2
|
import type { Logger } from '../logger'
|
|
3
|
-
import type { OutdatedPackage } from '../
|
|
3
|
+
import type { OutdatedPackage } from '../ncu'
|
|
4
4
|
import { createPullRequestBody } from './createPullRequestBody'
|
|
5
|
-
import { createPullRequestTitle } from './createPullRequestTitle'
|
|
6
5
|
import type { GitHub } from './GitHub'
|
|
6
|
+
import type { PullRequestTitleCreator } from './PullRequestTitleCreator'
|
|
7
7
|
import type { Repository as GitHubRepository } from './Repository'
|
|
8
8
|
|
|
9
9
|
// TODO: add test
|
|
@@ -11,22 +11,26 @@ export class PullRequestCreator {
|
|
|
11
11
|
private readonly github: GitHub
|
|
12
12
|
private readonly gitRepo: GitRepository
|
|
13
13
|
private readonly githubRepo: GitHubRepository
|
|
14
|
+
private readonly pullRequestTitleCreator: PullRequestTitleCreator
|
|
14
15
|
private readonly logger: Logger
|
|
15
16
|
|
|
16
17
|
constructor ({
|
|
17
18
|
github,
|
|
18
19
|
gitRepo,
|
|
19
20
|
githubRepo,
|
|
21
|
+
pullRequestTitleCreator,
|
|
20
22
|
logger
|
|
21
23
|
}: {
|
|
22
24
|
github: GitHub
|
|
23
25
|
gitRepo: GitRepository
|
|
24
26
|
githubRepo: GitHubRepository
|
|
27
|
+
pullRequestTitleCreator: PullRequestTitleCreator
|
|
25
28
|
logger: Logger
|
|
26
29
|
}) {
|
|
27
30
|
this.github = github
|
|
28
31
|
this.gitRepo = gitRepo
|
|
29
32
|
this.githubRepo = githubRepo
|
|
33
|
+
this.pullRequestTitleCreator = pullRequestTitleCreator
|
|
30
34
|
this.logger = logger
|
|
31
35
|
}
|
|
32
36
|
|
|
@@ -37,7 +41,7 @@ export class PullRequestCreator {
|
|
|
37
41
|
outdatedPackage: OutdatedPackage
|
|
38
42
|
branchName: string
|
|
39
43
|
}): Promise<void> {
|
|
40
|
-
const title =
|
|
44
|
+
const title = this.pullRequestTitleCreator.create(outdatedPackage)
|
|
41
45
|
this.logger.debug(`title=${title}`)
|
|
42
46
|
|
|
43
47
|
const body = createPullRequestBody(outdatedPackage)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PackageVersion } from '../ncu'
|
|
2
|
+
import { PullRequestTitleCreator } from './PullRequestTitleCreator'
|
|
3
|
+
|
|
4
|
+
describe('PullRequestTitleCreator', () => {
|
|
5
|
+
describe('create', () => {
|
|
6
|
+
it('returns commit message', () => {
|
|
7
|
+
const pullRequestTitleCreator = new PullRequestTitleCreator('chore(deps): {{updateType}} update {{{packageName}}} from {{currentVersion}} to v{{newVersion}}')
|
|
8
|
+
const actual = pullRequestTitleCreator.create({
|
|
9
|
+
name: '@typescript-eslint/eslint-plugin',
|
|
10
|
+
currentVersion: PackageVersion.of('1.0.0'),
|
|
11
|
+
newVersion: PackageVersion.of('2.0.0'),
|
|
12
|
+
type: 'major'
|
|
13
|
+
})
|
|
14
|
+
expect(actual).toBe('chore(deps): major update @typescript-eslint/eslint-plugin from 1.0.0 to v2.0.0')
|
|
15
|
+
})
|
|
16
|
+
})
|
|
17
|
+
})
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { render } from 'mustache'
|
|
2
|
+
import type { OutdatedPackage } from '../ncu'
|
|
3
|
+
|
|
4
|
+
export class PullRequestTitleCreator {
|
|
5
|
+
constructor (private readonly template: string) {}
|
|
6
|
+
|
|
7
|
+
create (outdatedPackage: OutdatedPackage): string {
|
|
8
|
+
const packageName = outdatedPackage.name
|
|
9
|
+
const currentVersion = outdatedPackage.currentVersion.version
|
|
10
|
+
const newVersion = outdatedPackage.newVersion.version
|
|
11
|
+
const updateType = outdatedPackage.type
|
|
12
|
+
return render(this.template, {
|
|
13
|
+
packageName,
|
|
14
|
+
currentVersion,
|
|
15
|
+
newVersion,
|
|
16
|
+
updateType
|
|
17
|
+
})
|
|
18
|
+
}
|
|
19
|
+
}
|
package/src/github/index.ts
CHANGED
|
@@ -3,5 +3,6 @@ export { createGitHub } from './createGitHub'
|
|
|
3
3
|
export { GitHub } from './GitHub'
|
|
4
4
|
export type { PullRequest } from './PullRequest'
|
|
5
5
|
export { PullRequestCreator } from './PullRequestCreator'
|
|
6
|
+
export { PullRequestTitleCreator } from './PullRequestTitleCreator'
|
|
6
7
|
export { RemoteBranchExistenceChecker } from './RemoteBranchExistenceChecker'
|
|
7
8
|
export type { Repository } from './Repository'
|
|
File without changes
|