npm-update-package 0.43.5 → 0.45.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/README.md CHANGED
@@ -71,7 +71,14 @@ Package manager of your project
71
71
  - `yarn`: Yarn
72
72
  - default: `npm`
73
73
 
74
- ### `--pull-request-title`
74
+ ### `--pr-body-notes`
75
+
76
+ Additional notes for Pull request body
77
+
78
+ - type: string
79
+ - required: false
80
+
81
+ ### `--pr-title`
75
82
 
76
83
  Pull request title template
77
84
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npm-update-package",
3
- "version": "0.43.5",
3
+ "version": "0.45.0",
4
4
  "description": "CLI tool for creating pull requests to update npm packages",
5
5
  "scripts": {
6
6
  "build": "tsc --project tsconfig.build.json",
@@ -50,7 +50,7 @@
50
50
  "rimraf": "3.0.2",
51
51
  "ts-jest": "27.1.3",
52
52
  "ts-node": "10.7.0",
53
- "typescript": "4.5.5",
53
+ "typescript": "4.6.2",
54
54
  "utility-types": "3.10.0"
55
55
  },
56
56
  "repository": {
@@ -10,49 +10,59 @@ const json_1 = require("../../../json");
10
10
  const package_json_2 = require("../../../package-json");
11
11
  const metadata_1 = require("../metadata");
12
12
  class PullRequestBodyCreator {
13
- constructor({ releasesFetcher }) {
13
+ constructor({ options, releasesFetcher }) {
14
+ this.options = options;
14
15
  this.releasesFetcher = releasesFetcher;
15
16
  }
16
17
  async create(outdatedPackage) {
17
- const gitRepo = await this.extractRepository(outdatedPackage);
18
+ const sections = [];
18
19
  const outdatedPackagesTable = this.createOutdatedPackagesTable(outdatedPackage);
20
+ sections.push(`This PR updates these packages:\n\n${outdatedPackagesTable}`);
21
+ const gitRepo = await this.extractRepository(outdatedPackage);
22
+ if (gitRepo !== undefined) {
23
+ const releaseNotesSection = await this.createReleaseNotesSection({
24
+ outdatedPackage,
25
+ gitRepo
26
+ });
27
+ if (releaseNotesSection !== undefined) {
28
+ sections.push(releaseNotesSection);
29
+ }
30
+ }
31
+ const notesSection = this.createNotesSection();
32
+ if (notesSection !== undefined) {
33
+ sections.push(notesSection);
34
+ }
19
35
  const metadataSection = this.createMetadataSection(outdatedPackage);
36
+ sections.push(`---\n${metadataSection}`);
20
37
  const footer = this.createFooter();
21
- const body = `This PR updates these packages:
22
-
23
- ${outdatedPackagesTable}
24
-
25
- ---
26
- ${metadataSection}
27
-
28
- ---
29
- ${footer}`;
30
- if (gitRepo === undefined) {
31
- return body;
32
- }
33
- const releaseNotesSection = await this.createReleaseNotesSection({
34
- outdatedPackage,
35
- gitRepo
36
- });
37
- if (releaseNotesSection === undefined) {
38
- return body;
38
+ sections.push(`---\n${footer}`);
39
+ return sections.join('\n\n');
40
+ }
41
+ createFooter() {
42
+ return `This PR has been generated by [${package_json_1.default.name}](${package_json_1.default.homepage}) v${package_json_1.default.version}`;
43
+ }
44
+ createOutdatedPackagesTable(outdatedPackage) {
45
+ const packageName = outdatedPackage.name;
46
+ const packageLink = `[${packageName}](https://www.npmjs.com/package/${packageName})`;
47
+ const dependencyType = outdatedPackage.dependencyType;
48
+ const level = outdatedPackage.level;
49
+ const currentVersion = outdatedPackage.currentVersion.version;
50
+ const currentVersionLink = `[\`${currentVersion}\`](https://www.npmjs.com/package/${packageName}/v/${currentVersion})`;
51
+ const newVersion = outdatedPackage.newVersion.version;
52
+ const newVersionLink = `[\`${newVersion}\`](https://www.npmjs.com/package/${packageName}/v/${newVersion})`;
53
+ const diffLink = `[diff](https://renovatebot.com/diffs/npm/${packageName}/${currentVersion}/${newVersion})`;
54
+ const version = `${currentVersionLink} -> ${newVersionLink} (${diffLink})`;
55
+ return `|Package|Dependency type|Level|Version|
56
+ |---|---|---|---|
57
+ |${packageLink}|${dependencyType}|${level}|${version}|`;
58
+ }
59
+ createNotesSection() {
60
+ if (this.options.prBodyNotes === undefined) {
61
+ return undefined;
39
62
  }
40
- return `This PR updates these packages:
63
+ return `## Notes
41
64
 
42
- ${outdatedPackagesTable}
43
-
44
- ${releaseNotesSection}
45
-
46
- ---
47
- ${metadataSection}
48
-
49
- ---
50
- ${footer}`;
51
- }
52
- async extractRepository(outdatedPackage) {
53
- const packageJson = await (0, file_1.readFile)(`node_modules/${outdatedPackage.name}/package.json`);
54
- const pkg = (0, package_json_2.parsePackageJson)(packageJson);
55
- return (0, package_json_2.extractRepository)(pkg);
65
+ ${this.options.prBodyNotes}`;
56
66
  }
57
67
  async createReleaseNotesSection({ outdatedPackage, gitRepo }) {
58
68
  const releases = await this.releasesFetcher.fetch({
@@ -68,20 +78,10 @@ ${footer}`;
68
78
 
69
79
  ${items.join('\n')}`;
70
80
  }
71
- createOutdatedPackagesTable(outdatedPackage) {
72
- const packageName = outdatedPackage.name;
73
- const packageLink = `[${packageName}](https://www.npmjs.com/package/${packageName})`;
74
- const dependencyType = outdatedPackage.dependencyType;
75
- const level = outdatedPackage.level;
76
- const currentVersion = outdatedPackage.currentVersion.version;
77
- const currentVersionLink = `[\`${currentVersion}\`](https://www.npmjs.com/package/${packageName}/v/${currentVersion})`;
78
- const newVersion = outdatedPackage.newVersion.version;
79
- const newVersionLink = `[\`${newVersion}\`](https://www.npmjs.com/package/${packageName}/v/${newVersion})`;
80
- const diffLink = `[diff](https://renovatebot.com/diffs/npm/${packageName}/${currentVersion}/${newVersion})`;
81
- const version = `${currentVersionLink} -> ${newVersionLink} (${diffLink})`;
82
- return `|Package|Dependency type|Level|Version|
83
- |---|---|---|---|
84
- |${packageLink}|${dependencyType}|${level}|${version}|`;
81
+ async extractRepository(outdatedPackage) {
82
+ const packageJson = await (0, file_1.readFile)(`node_modules/${outdatedPackage.name}/package.json`);
83
+ const pkg = (0, package_json_2.parsePackageJson)(packageJson);
84
+ return (0, package_json_2.extractRepository)(pkg);
85
85
  }
86
86
  createMetadataSection(outdatedPackage) {
87
87
  const metadata = (0, metadata_1.createPullRequestMetadata)([outdatedPackage]);
@@ -100,8 +100,5 @@ ${json}
100
100
  </div>
101
101
  </details>`;
102
102
  }
103
- createFooter() {
104
- return `This PR has been generated by [${package_json_1.default.name}](${package_json_1.default.homepage}) v${package_json_1.default.version}`;
105
- }
106
103
  }
107
104
  exports.PullRequestBodyCreator = PullRequestBodyCreator;
package/dist/src/main.js CHANGED
@@ -63,12 +63,13 @@ const main = async ({ options, logger }) => {
63
63
  terminal,
64
64
  packageManager: options.packageManager
65
65
  });
66
- const pullRequestTitleCreator = new github_1.PullRequestTitleCreator(options.pullRequestTitle);
66
+ const pullRequestTitleCreator = new github_1.PullRequestTitleCreator(options.prTitle);
67
67
  const githubWithoutToken = (0, github_1.createGitHub)({
68
68
  host: 'github.com'
69
69
  });
70
70
  const releasesFetcher = new github_1.ReleasesFetcher(githubWithoutToken);
71
71
  const pullRequestBodyCreator = new github_1.PullRequestBodyCreator({
72
+ options,
72
73
  releasesFetcher
73
74
  });
74
75
  const pullRequestCreator = new github_1.PullRequestCreator({
@@ -21,10 +21,11 @@ const Options = (0, io_ts_1.intersection)([
21
21
  (0, io_ts_1.literal)(package_manager_1.PackageManagerName.Npm),
22
22
  (0, io_ts_1.literal)(package_manager_1.PackageManagerName.Yarn)
23
23
  ]),
24
- pullRequestTitle: io_ts_1.string
24
+ prTitle: io_ts_1.string
25
25
  }),
26
26
  (0, io_ts_1.partial)({
27
27
  ignorePackages: (0, io_ts_1.array)(io_ts_1.string),
28
+ prBodyNotes: io_ts_1.string,
28
29
  reviewers: (0, io_ts_1.array)(io_ts_1.string)
29
30
  })
30
31
  ]);
@@ -52,7 +52,13 @@ exports.cliOptions = [
52
52
  default: package_manager_1.PackageManagerName.Npm
53
53
  },
54
54
  {
55
- name: 'pull-request-title',
55
+ name: 'pr-body-notes',
56
+ description: 'Additional notes for Pull request body',
57
+ type: OptionType_1.OptionType.String,
58
+ required: false
59
+ },
60
+ {
61
+ name: 'pr-title',
56
62
  description: 'Pull request title template',
57
63
  type: OptionType_1.OptionType.String,
58
64
  required: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npm-update-package",
3
- "version": "0.43.5",
3
+ "version": "0.45.0",
4
4
  "description": "CLI tool for creating pull requests to update npm packages",
5
5
  "scripts": {
6
6
  "build": "tsc --project tsconfig.build.json",
@@ -50,7 +50,7 @@
50
50
  "rimraf": "3.0.2",
51
51
  "ts-jest": "27.1.3",
52
52
  "ts-node": "10.7.0",
53
- "typescript": "4.5.5",
53
+ "typescript": "4.6.2",
54
54
  "utility-types": "3.10.0"
55
55
  },
56
56
  "repository": {