npm-update-package 0.31.2 → 0.31.3
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/.eslintignore +3 -0
- package/.eslintrc.js +23 -0
- package/.github/renovate.json +15 -0
- package/.github/workflows/eslint.yml +14 -0
- package/.github/workflows/test.yml +20 -0
- package/.husky/pre-commit +4 -0
- package/.nvmrc +1 -0
- package/dist/package.json +1 -4
- package/dist/src/bin.js +24 -0
- package/dist/src/core/FailedResult.js +2 -0
- package/dist/src/core/OutdatedPackage.js +2 -0
- package/dist/src/core/OutdatedPackageProcessor.js +79 -0
- package/dist/src/core/OutdatedPackagesProcessor.js +20 -0
- package/dist/src/core/SucceededResult.js +2 -0
- package/dist/src/core/index.js +17 -0
- package/dist/src/file/index.js +13 -0
- package/dist/src/file/readFile.js +12 -0
- package/dist/src/git/CommitMessageCreator.js +22 -0
- package/dist/src/git/Git.js +51 -0
- package/dist/src/git/GitRepository.js +41 -0
- package/dist/src/git/createBranchName.js +9 -0
- package/dist/src/git/index.js +16 -0
- package/dist/src/github/GitHub.js +94 -0
- package/dist/src/github/branch/finder/BranchFinder.js +12 -0
- package/dist/src/github/branch/finder/index.js +13 -0
- package/dist/src/github/branch/index.js +13 -0
- package/dist/src/github/createGitHub.js +13 -0
- package/dist/src/github/createOctokit.js +26 -0
- package/dist/src/github/errors/NotFoundError.js +10 -0
- package/dist/src/github/errors/index.js +13 -0
- package/dist/src/github/index.js +17 -0
- package/dist/src/github/label/creator/LabelCreator.js +46 -0
- package/dist/src/github/label/creator/index.js +13 -0
- package/dist/src/github/label/index.js +13 -0
- package/dist/src/github/pull-request/closer/PullRequestCloser.js +21 -0
- package/dist/src/github/pull-request/closer/index.js +13 -0
- package/dist/src/github/pull-request/creator/PullRequestCreator.js +45 -0
- package/dist/src/github/pull-request/creator/PullRequestTitleCreator.js +22 -0
- package/dist/src/github/pull-request/creator/createPullRequestBody.js +39 -0
- package/dist/src/github/pull-request/creator/index.js +14 -0
- package/dist/src/github/pull-request/finder/PullRequestFinder.js +27 -0
- package/dist/src/github/pull-request/finder/index.js +13 -0
- package/dist/src/github/pull-request/finder/isPullRequestByNpmUpdatePackage.js +7 -0
- package/dist/src/github/pull-request/index.js +15 -0
- package/dist/src/github/pull-request/metadata/PullRequestMetadata.js +15 -0
- package/dist/src/github/pull-request/metadata/createPullRequestMetadata.js +19 -0
- package/dist/src/github/pull-request/metadata/extractPullRequestMetadata.js +17 -0
- package/dist/src/github/pull-request/metadata/index.js +15 -0
- package/dist/src/json/index.js +13 -0
- package/dist/src/json/toJSON.js +14 -0
- package/dist/src/logger/LogLevel.js +15 -0
- package/dist/src/logger/Logger.js +2 -0
- package/dist/src/logger/createLogger.js +11 -0
- package/dist/src/logger/index.js +15 -0
- package/dist/src/main.js +112 -0
- package/dist/src/ncu/Ncu.js +71 -0
- package/dist/src/ncu/NcuResult.js +6 -0
- package/dist/src/ncu/index.js +13 -0
- package/dist/src/options/CLIOption.js +2 -0
- package/dist/src/options/OptionType.js +10 -0
- package/dist/src/options/Options.js +30 -0
- package/dist/src/options/cliOptions.js +61 -0
- package/dist/src/options/index.js +14 -0
- package/dist/src/options/initOptions.js +25 -0
- package/dist/src/options/toCommanderOption.js +32 -0
- package/dist/src/package-json/PackageMetadata.js +18 -0
- package/dist/src/package-json/PackageMetadataDependencies.js +6 -0
- package/dist/src/package-json/index.js +14 -0
- package/dist/src/package-json/parsePackageJson.js +15 -0
- package/dist/src/package-manager/Npm.js +18 -0
- package/dist/src/package-manager/PackageManager.js +2 -0
- package/dist/src/package-manager/PackageManagerName.js +10 -0
- package/dist/src/package-manager/Yarn.js +18 -0
- package/dist/src/package-manager/createPackageManager.js +15 -0
- package/dist/src/package-manager/index.js +17 -0
- package/dist/src/semver/SemVer.js +25 -0
- package/dist/src/semver/SemVerLevel.js +11 -0
- package/dist/src/semver/compareSemVers.js +16 -0
- package/dist/src/semver/index.js +15 -0
- package/dist/src/terminal/Terminal.js +14 -0
- package/dist/src/terminal/index.js +13 -0
- package/jest.config.ts +12 -0
- package/lint-staged.config.js +4 -0
- package/npm-update-package.code-workspace +10 -0
- package/package.json +1 -4
- package/src/bin.ts +22 -0
- package/src/core/FailedResult.ts +6 -0
- package/src/core/OutdatedPackage.ts +11 -0
- package/src/core/OutdatedPackageProcessor.ts +136 -0
- package/src/core/OutdatedPackagesProcessor.ts +35 -0
- package/src/core/SucceededResult.ts +7 -0
- package/src/core/index.ts +5 -0
- package/src/file/index.ts +1 -0
- package/src/file/readFile.ts +6 -0
- package/src/git/CommitMessageCreator.test.ts +17 -0
- package/src/git/CommitMessageCreator.ts +19 -0
- package/src/git/Git.ts +59 -0
- package/src/git/GitRepository.test.ts +82 -0
- package/src/git/GitRepository.ts +57 -0
- package/src/git/createBranchName.test.ts +14 -0
- package/src/git/createBranchName.ts +7 -0
- package/src/git/index.ts +4 -0
- package/src/github/GitHub.ts +198 -0
- package/src/github/branch/finder/BranchFinder.test.ts +21 -0
- package/src/github/branch/finder/BranchFinder.ts +9 -0
- package/src/github/branch/finder/index.ts +1 -0
- package/src/github/branch/index.ts +1 -0
- package/src/github/createGitHub.test.ts +16 -0
- package/src/github/createGitHub.ts +17 -0
- package/src/github/createOctokit.test.ts +27 -0
- package/src/github/createOctokit.ts +27 -0
- package/src/github/errors/NotFoundError.ts +11 -0
- package/src/github/errors/index.ts +1 -0
- package/src/github/index.ts +5 -0
- package/src/github/label/creator/LabelCreator.ts +71 -0
- package/src/github/label/creator/index.ts +1 -0
- package/src/github/label/index.ts +1 -0
- package/src/github/pull-request/closer/PullRequestCloser.test.ts +53 -0
- package/src/github/pull-request/closer/PullRequestCloser.ts +21 -0
- package/src/github/pull-request/closer/index.ts +1 -0
- package/src/github/pull-request/creator/PullRequestCreator.test.ts +98 -0
- package/src/github/pull-request/creator/PullRequestCreator.ts +84 -0
- package/src/github/pull-request/creator/PullRequestTitleCreator.test.ts +17 -0
- package/src/github/pull-request/creator/PullRequestTitleCreator.ts +19 -0
- package/src/github/pull-request/creator/createPullRequestBody.test.ts +47 -0
- package/src/github/pull-request/creator/createPullRequestBody.ts +35 -0
- package/src/github/pull-request/creator/index.ts +2 -0
- package/src/github/pull-request/finder/PullRequestFinder.ts +27 -0
- package/src/github/pull-request/finder/index.ts +1 -0
- package/src/github/pull-request/finder/isPullRequestByNpmUpdatePackage.test.ts +24 -0
- package/src/github/pull-request/finder/isPullRequestByNpmUpdatePackage.ts +5 -0
- package/src/github/pull-request/index.ts +3 -0
- package/src/github/pull-request/metadata/PullRequestMetadata.ts +22 -0
- package/src/github/pull-request/metadata/createPullRequestMetadata.test.ts +31 -0
- package/src/github/pull-request/metadata/createPullRequestMetadata.ts +21 -0
- package/src/github/pull-request/metadata/extractPullRequestMetadata.test.ts +53 -0
- package/src/github/pull-request/metadata/extractPullRequestMetadata.ts +21 -0
- package/src/github/pull-request/metadata/index.ts +3 -0
- package/src/json/index.ts +1 -0
- package/src/json/toJSON.test.ts +65 -0
- package/src/json/toJSON.ts +13 -0
- package/src/logger/LogLevel.ts +13 -0
- package/src/logger/Logger.ts +1 -0
- package/src/logger/createLogger.ts +10 -0
- package/src/logger/index.ts +3 -0
- package/src/main.ts +149 -0
- package/src/ncu/Ncu.ts +84 -0
- package/src/ncu/NcuResult.ts +10 -0
- package/src/ncu/index.ts +1 -0
- package/src/options/CLIOption.ts +19 -0
- package/src/options/OptionType.ts +8 -0
- package/src/options/Options.ts +40 -0
- package/src/options/cliOptions.ts +60 -0
- package/src/options/index.ts +2 -0
- package/src/options/initOptions.ts +24 -0
- package/src/options/toCommanderOption.ts +35 -0
- package/src/package-json/PackageMetadata.ts +24 -0
- package/src/package-json/PackageMetadataDependencies.ts +10 -0
- package/src/package-json/index.ts +2 -0
- package/src/package-json/parsePackageJson.ts +15 -0
- package/src/package-manager/Npm.ts +17 -0
- package/src/package-manager/PackageManager.ts +5 -0
- package/src/package-manager/PackageManagerName.ts +8 -0
- package/src/package-manager/Yarn.ts +17 -0
- package/src/package-manager/createPackageManager.test.ts +27 -0
- package/src/package-manager/createPackageManager.ts +20 -0
- package/src/package-manager/index.ts +5 -0
- package/src/semver/SemVer.test.ts +17 -0
- package/src/semver/SemVer.ts +40 -0
- package/src/semver/SemVerLevel.ts +9 -0
- package/src/semver/compareSemVers.test.ts +21 -0
- package/src/semver/compareSemVers.ts +16 -0
- package/src/semver/index.ts +3 -0
- package/src/terminal/Terminal.ts +12 -0
- package/src/terminal/index.ts +1 -0
- package/tsconfig.base.json +7 -0
- package/tsconfig.build.json +12 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./Ncu"), exports);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isOptionType = exports.OptionType = void 0;
|
|
4
|
+
exports.OptionType = {
|
|
5
|
+
String: 'string',
|
|
6
|
+
StringArray: 'string[]'
|
|
7
|
+
};
|
|
8
|
+
const optionTypes = Object.values(exports.OptionType);
|
|
9
|
+
const isOptionType = (value) => optionTypes.includes(value);
|
|
10
|
+
exports.isOptionType = isOptionType;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isOptions = void 0;
|
|
4
|
+
const io_ts_1 = require("io-ts");
|
|
5
|
+
const logger_1 = require("../logger");
|
|
6
|
+
const package_manager_1 = require("../package-manager");
|
|
7
|
+
const Options = (0, io_ts_1.intersection)([
|
|
8
|
+
(0, io_ts_1.type)({
|
|
9
|
+
commitMessage: io_ts_1.string,
|
|
10
|
+
githubToken: io_ts_1.string,
|
|
11
|
+
logLevel: (0, io_ts_1.union)([
|
|
12
|
+
(0, io_ts_1.literal)(logger_1.LogLevel.Off),
|
|
13
|
+
(0, io_ts_1.literal)(logger_1.LogLevel.Fatal),
|
|
14
|
+
(0, io_ts_1.literal)(logger_1.LogLevel.Error),
|
|
15
|
+
(0, io_ts_1.literal)(logger_1.LogLevel.Warn),
|
|
16
|
+
(0, io_ts_1.literal)(logger_1.LogLevel.Info),
|
|
17
|
+
(0, io_ts_1.literal)(logger_1.LogLevel.Debug),
|
|
18
|
+
(0, io_ts_1.literal)(logger_1.LogLevel.Trace)
|
|
19
|
+
]),
|
|
20
|
+
packageManager: (0, io_ts_1.union)([
|
|
21
|
+
(0, io_ts_1.literal)(package_manager_1.PackageManagerName.Npm),
|
|
22
|
+
(0, io_ts_1.literal)(package_manager_1.PackageManagerName.Yarn)
|
|
23
|
+
]),
|
|
24
|
+
pullRequestTitle: io_ts_1.string
|
|
25
|
+
}),
|
|
26
|
+
(0, io_ts_1.partial)({
|
|
27
|
+
reviewers: (0, io_ts_1.array)(io_ts_1.string)
|
|
28
|
+
})
|
|
29
|
+
]);
|
|
30
|
+
exports.isOptions = Options.is;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cliOptions = void 0;
|
|
4
|
+
const logger_1 = require("../logger");
|
|
5
|
+
const package_manager_1 = require("../package-manager");
|
|
6
|
+
const OptionType_1 = require("./OptionType");
|
|
7
|
+
exports.cliOptions = [
|
|
8
|
+
{
|
|
9
|
+
name: 'commit-message',
|
|
10
|
+
description: 'Commit message template',
|
|
11
|
+
type: OptionType_1.OptionType.String,
|
|
12
|
+
required: false,
|
|
13
|
+
default: 'chore(deps): {{level}} update {{{packageName}}} to v{{newVersion}}'
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'github-token',
|
|
17
|
+
description: 'GitHub token',
|
|
18
|
+
type: OptionType_1.OptionType.String,
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'log-level',
|
|
23
|
+
description: 'Log level to show',
|
|
24
|
+
type: OptionType_1.OptionType.String,
|
|
25
|
+
required: false,
|
|
26
|
+
choices: [
|
|
27
|
+
logger_1.LogLevel.Off,
|
|
28
|
+
logger_1.LogLevel.Fatal,
|
|
29
|
+
logger_1.LogLevel.Error,
|
|
30
|
+
logger_1.LogLevel.Warn,
|
|
31
|
+
logger_1.LogLevel.Info,
|
|
32
|
+
logger_1.LogLevel.Debug,
|
|
33
|
+
logger_1.LogLevel.Trace
|
|
34
|
+
],
|
|
35
|
+
default: logger_1.LogLevel.Info
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'package-manager',
|
|
39
|
+
description: 'Package manager of your project',
|
|
40
|
+
type: OptionType_1.OptionType.String,
|
|
41
|
+
required: false,
|
|
42
|
+
choices: [
|
|
43
|
+
package_manager_1.PackageManagerName.Npm,
|
|
44
|
+
package_manager_1.PackageManagerName.Yarn
|
|
45
|
+
],
|
|
46
|
+
default: package_manager_1.PackageManagerName.Npm
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'pull-request-title',
|
|
50
|
+
description: 'Pull request title template',
|
|
51
|
+
type: OptionType_1.OptionType.String,
|
|
52
|
+
required: false,
|
|
53
|
+
default: 'chore(deps): {{level}} update {{{packageName}}} to v{{newVersion}}'
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'reviewers',
|
|
57
|
+
description: 'User names to request reviews',
|
|
58
|
+
type: OptionType_1.OptionType.StringArray,
|
|
59
|
+
required: false
|
|
60
|
+
}
|
|
61
|
+
];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./initOptions"), exports);
|
|
14
|
+
__exportStar(require("./Options"), exports);
|
|
@@ -0,0 +1,25 @@
|
|
|
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.initOptions = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const package_json_1 = __importDefault(require("../../package.json"));
|
|
9
|
+
const cliOptions_1 = require("./cliOptions");
|
|
10
|
+
const Options_1 = require("./Options");
|
|
11
|
+
const toCommanderOption_1 = require("./toCommanderOption");
|
|
12
|
+
// TODO: add test
|
|
13
|
+
const initOptions = () => {
|
|
14
|
+
commander_1.program.version(package_json_1.default.version);
|
|
15
|
+
cliOptions_1.cliOptions
|
|
16
|
+
.map(toCommanderOption_1.toCommanderOption)
|
|
17
|
+
.forEach(option => commander_1.program.addOption(option));
|
|
18
|
+
commander_1.program.parse(process.argv);
|
|
19
|
+
const options = commander_1.program.opts();
|
|
20
|
+
if (!(0, Options_1.isOptions)(options)) {
|
|
21
|
+
throw new Error(`Failed to parse command-line options. options=${JSON.stringify(options)}`);
|
|
22
|
+
}
|
|
23
|
+
return options;
|
|
24
|
+
};
|
|
25
|
+
exports.initOptions = initOptions;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toCommanderOption = void 0;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const OptionType_1 = require("./OptionType");
|
|
6
|
+
// TODO: add test
|
|
7
|
+
const toCommanderOption = (cliOption) => {
|
|
8
|
+
const argument = createArgumentString(cliOption);
|
|
9
|
+
const option = new commander_1.Option(`--${cliOption.name} ${argument}`, cliOption.description);
|
|
10
|
+
if (cliOption.choices !== undefined) {
|
|
11
|
+
option.choices(cliOption.choices);
|
|
12
|
+
}
|
|
13
|
+
if (!cliOption.required && cliOption.default !== undefined) {
|
|
14
|
+
option.default(cliOption.default);
|
|
15
|
+
}
|
|
16
|
+
return option;
|
|
17
|
+
};
|
|
18
|
+
exports.toCommanderOption = toCommanderOption;
|
|
19
|
+
const createArgumentString = (cliOption) => {
|
|
20
|
+
const prefix = cliOption.required ? '<' : '[';
|
|
21
|
+
const suffix = cliOption.required ? '>' : ']';
|
|
22
|
+
const name = createArgumentNameString(cliOption.type);
|
|
23
|
+
return `${prefix}${name}${suffix}`;
|
|
24
|
+
};
|
|
25
|
+
const createArgumentNameString = (optionType) => {
|
|
26
|
+
switch (optionType) {
|
|
27
|
+
case OptionType_1.OptionType.String:
|
|
28
|
+
return 'value';
|
|
29
|
+
case OptionType_1.OptionType.StringArray:
|
|
30
|
+
return 'values...';
|
|
31
|
+
}
|
|
32
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPackageMetadata = void 0;
|
|
4
|
+
const io_ts_1 = require("io-ts");
|
|
5
|
+
const PackageMetadataDependencies_1 = require("./PackageMetadataDependencies");
|
|
6
|
+
const PackageMetadata = (0, io_ts_1.intersection)([
|
|
7
|
+
(0, io_ts_1.type)({
|
|
8
|
+
name: io_ts_1.string,
|
|
9
|
+
version: io_ts_1.string
|
|
10
|
+
}),
|
|
11
|
+
(0, io_ts_1.partial)({
|
|
12
|
+
dependencies: PackageMetadataDependencies_1.PackageMetadataDependencies,
|
|
13
|
+
devDependencies: PackageMetadataDependencies_1.PackageMetadataDependencies,
|
|
14
|
+
peerDependencies: PackageMetadataDependencies_1.PackageMetadataDependencies,
|
|
15
|
+
optionalDependencies: PackageMetadataDependencies_1.PackageMetadataDependencies
|
|
16
|
+
})
|
|
17
|
+
]);
|
|
18
|
+
exports.isPackageMetadata = PackageMetadata.is;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPackageMetadataDependencies = exports.PackageMetadataDependencies = void 0;
|
|
4
|
+
const io_ts_1 = require("io-ts");
|
|
5
|
+
exports.PackageMetadataDependencies = (0, io_ts_1.record)(io_ts_1.string, io_ts_1.string);
|
|
6
|
+
exports.isPackageMetadataDependencies = exports.PackageMetadataDependencies.is;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./PackageMetadata"), exports);
|
|
14
|
+
__exportStar(require("./parsePackageJson"), exports);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parsePackageJson = void 0;
|
|
4
|
+
const PackageMetadata_1 = require("./PackageMetadata");
|
|
5
|
+
// TODO: add test
|
|
6
|
+
const parsePackageJson = (json) => {
|
|
7
|
+
const parsed = JSON.parse(json);
|
|
8
|
+
if ((0, PackageMetadata_1.isPackageMetadata)(parsed)) {
|
|
9
|
+
return parsed;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
throw new Error(`Failed to parse package.json. json=${json}`);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
exports.parsePackageJson = parsePackageJson;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Npm = void 0;
|
|
4
|
+
// TODO: add test
|
|
5
|
+
class Npm {
|
|
6
|
+
constructor(terminal) {
|
|
7
|
+
this.terminal = terminal;
|
|
8
|
+
this.packageFile = 'package.json';
|
|
9
|
+
this.lockFile = 'package-lock.json';
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @see https://docs.npmjs.com/cli/v8/commands/npm-install
|
|
13
|
+
*/
|
|
14
|
+
async install() {
|
|
15
|
+
await this.terminal.run('npm', 'install');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.Npm = Npm;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPackageManagerName = exports.PackageManagerName = void 0;
|
|
4
|
+
exports.PackageManagerName = {
|
|
5
|
+
Npm: 'npm',
|
|
6
|
+
Yarn: 'yarn'
|
|
7
|
+
};
|
|
8
|
+
const packageManagerNames = Object.values(exports.PackageManagerName);
|
|
9
|
+
const isPackageManagerName = (value) => packageManagerNames.includes(value);
|
|
10
|
+
exports.isPackageManagerName = isPackageManagerName;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Yarn = void 0;
|
|
4
|
+
// TODO: add test
|
|
5
|
+
class Yarn {
|
|
6
|
+
constructor(terminal) {
|
|
7
|
+
this.terminal = terminal;
|
|
8
|
+
this.packageFile = 'package.json';
|
|
9
|
+
this.lockFile = 'yarn.lock';
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* @see https://classic.yarnpkg.com/en/docs/cli/install
|
|
13
|
+
*/
|
|
14
|
+
async install() {
|
|
15
|
+
await this.terminal.run('yarn', 'install');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.Yarn = Yarn;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createPackageManager = void 0;
|
|
4
|
+
const Npm_1 = require("./Npm");
|
|
5
|
+
const PackageManagerName_1 = require("./PackageManagerName");
|
|
6
|
+
const Yarn_1 = require("./Yarn");
|
|
7
|
+
const createPackageManager = ({ terminal, packageManager }) => {
|
|
8
|
+
switch (packageManager) {
|
|
9
|
+
case PackageManagerName_1.PackageManagerName.Npm:
|
|
10
|
+
return new Npm_1.Npm(terminal);
|
|
11
|
+
case PackageManagerName_1.PackageManagerName.Yarn:
|
|
12
|
+
return new Yarn_1.Yarn(terminal);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
exports.createPackageManager = createPackageManager;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./createPackageManager"), exports);
|
|
14
|
+
__exportStar(require("./Npm"), exports);
|
|
15
|
+
__exportStar(require("./PackageManager"), exports);
|
|
16
|
+
__exportStar(require("./PackageManagerName"), exports);
|
|
17
|
+
__exportStar(require("./Yarn"), exports);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SemVer = void 0;
|
|
4
|
+
const semver_1 = require("semver");
|
|
5
|
+
class SemVer {
|
|
6
|
+
constructor({ version, major, minor, patch }) {
|
|
7
|
+
this.version = version;
|
|
8
|
+
this.major = major;
|
|
9
|
+
this.minor = minor;
|
|
10
|
+
this.patch = patch;
|
|
11
|
+
}
|
|
12
|
+
static of(version) {
|
|
13
|
+
const semver = (0, semver_1.coerce)(version);
|
|
14
|
+
if (semver === null) {
|
|
15
|
+
throw new Error(`Failed to parse version. version=${version}`);
|
|
16
|
+
}
|
|
17
|
+
return new SemVer({
|
|
18
|
+
version: semver.version,
|
|
19
|
+
major: semver.major,
|
|
20
|
+
minor: semver.minor,
|
|
21
|
+
patch: semver.patch
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.SemVer = SemVer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isSemVerLevel = exports.SemVerLevel = void 0;
|
|
4
|
+
exports.SemVerLevel = {
|
|
5
|
+
Major: 'major',
|
|
6
|
+
Minor: 'minor',
|
|
7
|
+
Patch: 'patch'
|
|
8
|
+
};
|
|
9
|
+
const semVerLevels = Object.values(exports.SemVerLevel);
|
|
10
|
+
const isSemVerLevel = (value) => semVerLevels.includes(value);
|
|
11
|
+
exports.isSemVerLevel = isSemVerLevel;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareSemVers = void 0;
|
|
4
|
+
const SemVerLevel_1 = require("./SemVerLevel");
|
|
5
|
+
const compareSemVers = (version1, version2) => {
|
|
6
|
+
if (version1.major !== version2.major) {
|
|
7
|
+
return SemVerLevel_1.SemVerLevel.Major;
|
|
8
|
+
}
|
|
9
|
+
if (version1.minor !== version2.minor) {
|
|
10
|
+
return SemVerLevel_1.SemVerLevel.Minor;
|
|
11
|
+
}
|
|
12
|
+
if (version1.patch !== version2.patch) {
|
|
13
|
+
return SemVerLevel_1.SemVerLevel.Patch;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
exports.compareSemVers = compareSemVers;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./compareSemVers"), exports);
|
|
14
|
+
__exportStar(require("./SemVer"), exports);
|
|
15
|
+
__exportStar(require("./SemVerLevel"), exports);
|
|
@@ -0,0 +1,14 @@
|
|
|
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.Terminal = void 0;
|
|
7
|
+
const execa_1 = __importDefault(require("execa"));
|
|
8
|
+
// TODO: add test
|
|
9
|
+
class Terminal {
|
|
10
|
+
async run(command, ...args) {
|
|
11
|
+
return await (0, execa_1.default)(command, args);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.Terminal = Terminal;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./Terminal"), exports);
|
package/jest.config.ts
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "npm-update-package",
|
|
3
|
-
"version": "0.31.
|
|
3
|
+
"version": "0.31.3",
|
|
4
4
|
"description": "CLI tool for creating pull requests to update npm packages",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc --project tsconfig.build.json",
|
|
@@ -12,9 +12,6 @@
|
|
|
12
12
|
"start": "ts-node src/bin.ts",
|
|
13
13
|
"test": "jest --passWithNoTests"
|
|
14
14
|
},
|
|
15
|
-
"files": [
|
|
16
|
-
"/dist"
|
|
17
|
-
],
|
|
18
15
|
"bin": "dist/src/bin.js",
|
|
19
16
|
"dependencies": {
|
|
20
17
|
"@octokit/rest": "18.12.0",
|
package/src/bin.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import pkg from '../package.json'
|
|
4
|
+
import { createLogger } from './logger'
|
|
5
|
+
import { main } from './main'
|
|
6
|
+
import { initOptions } from './options'
|
|
7
|
+
|
|
8
|
+
const options = initOptions()
|
|
9
|
+
const logger = createLogger(options.logLevel)
|
|
10
|
+
logger.info(`Start ${pkg.name} v${pkg.version}`)
|
|
11
|
+
|
|
12
|
+
main({
|
|
13
|
+
options,
|
|
14
|
+
logger
|
|
15
|
+
})
|
|
16
|
+
.then(() => {
|
|
17
|
+
logger.info(`End ${pkg.name} v${pkg.version}`)
|
|
18
|
+
})
|
|
19
|
+
.catch((error: unknown) => {
|
|
20
|
+
logger.fatal(error)
|
|
21
|
+
throw error
|
|
22
|
+
})
|