npm-update-package 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/app.js +1 -1
  2. package/dist/{branch-name-creator → git}/BranchNameCreator.js +0 -0
  3. package/dist/{commit-message-creator → git}/CommitMessageCreator.js +0 -0
  4. package/dist/git/index.js +5 -1
  5. package/dist/{enums → logger}/LogLevel.js +0 -0
  6. package/dist/logger/index.js +4 -1
  7. package/dist/main.js +12 -9
  8. package/dist/ncu/Ncu.js +4 -2
  9. package/dist/ncu/NcuOutdatedPackagesConverter.js +3 -3
  10. package/dist/{types → ncu}/OutdatedPackage.js +0 -0
  11. package/dist/{values → ncu}/PackageVersion.js +0 -0
  12. package/dist/{enums → ncu}/UpdateType.js +0 -0
  13. package/dist/ncu/index.js +6 -1
  14. package/dist/ncu/toUpdateType.js +4 -4
  15. package/dist/options/Options.js +3 -3
  16. package/dist/options/initOptions.js +8 -7
  17. package/dist/{read-package-json → package-json}/Package.js +3 -3
  18. package/dist/{read-package-json → package-json}/PackageDependencies.js +0 -0
  19. package/dist/package-json/PackageJsonParser.js +21 -0
  20. package/dist/package-json/PackageJsonReader.js +20 -0
  21. package/dist/package-json/index.js +7 -0
  22. package/dist/{enums → package-manager}/PackageManagerName.js +0 -0
  23. package/dist/package-manager/index.js +4 -1
  24. package/dist/{outdated-package-processor → processors}/OutdatedPackageProcessor.js +0 -0
  25. package/dist/{outdated-packages-processor → processors}/OutdatedPackagesProcessor.js +0 -0
  26. package/dist/{types → processors}/Result.js +0 -0
  27. package/dist/{outdated-packages-processor → processors}/index.js +3 -1
  28. package/package.json +1 -1
  29. package/src/app.ts +1 -1
  30. package/src/{branch-name-creator → git}/BranchNameCreator.test.ts +1 -1
  31. package/src/{branch-name-creator → git}/BranchNameCreator.ts +1 -1
  32. package/src/{commit-message-creator → git}/CommitMessageCreator.test.ts +1 -1
  33. package/src/{commit-message-creator → git}/CommitMessageCreator.ts +1 -1
  34. package/src/git/index.ts +2 -0
  35. package/src/github/PullRequestCreator.ts +1 -1
  36. package/src/github/createPullRequestBody.test.ts +4 -2
  37. package/src/github/createPullRequestBody.ts +1 -1
  38. package/src/github/createPullRequestTitle.test.ts +1 -2
  39. package/src/github/createPullRequestTitle.ts +1 -1
  40. package/src/{enums → logger}/LogLevel.ts +0 -0
  41. package/src/logger/createLogger.ts +1 -1
  42. package/src/logger/index.ts +4 -0
  43. package/src/main.ts +16 -5
  44. package/src/ncu/Ncu.ts +5 -3
  45. package/src/ncu/NcuOutdatedPackagesConverter.ts +3 -3
  46. package/src/{types → ncu}/OutdatedPackage.ts +2 -2
  47. package/src/{values → ncu}/PackageVersion.test.ts +0 -0
  48. package/src/{values → ncu}/PackageVersion.ts +0 -0
  49. package/src/{enums → ncu}/UpdateType.ts +0 -0
  50. package/src/ncu/index.ts +6 -0
  51. package/src/ncu/toUpdateType.test.ts +2 -2
  52. package/src/ncu/toUpdateType.ts +2 -2
  53. package/src/options/Options.ts +1 -1
  54. package/src/options/initOptions.ts +2 -4
  55. package/src/{read-package-json → package-json}/Package.ts +1 -1
  56. package/src/{read-package-json → package-json}/PackageDependencies.ts +0 -0
  57. package/src/package-json/PackageJsonParser.ts +19 -0
  58. package/src/package-json/PackageJsonReader.ts +27 -0
  59. package/src/package-json/index.ts +3 -0
  60. package/src/{enums → package-manager}/PackageManagerName.ts +0 -0
  61. package/src/package-manager/createPackageManager.ts +1 -1
  62. package/src/package-manager/index.ts +4 -0
  63. package/src/{outdated-package-processor → processors}/OutdatedPackageProcessor.ts +7 -7
  64. package/src/{outdated-packages-processor → processors}/OutdatedPackagesProcessor.ts +3 -5
  65. package/src/{types → processors}/Result.ts +1 -1
  66. package/src/{outdated-packages-processor → processors}/index.ts +1 -0
  67. package/dist/branch-name-creator/index.js +0 -5
  68. package/dist/commit-message-creator/index.js +0 -5
  69. package/dist/enums/index.js +0 -12
  70. package/dist/outdated-package-processor/index.js +0 -5
  71. package/dist/read-package-json/index.js +0 -5
  72. package/dist/read-package-json/parsePackageJson.js +0 -15
  73. package/dist/read-package-json/readFile.js +0 -12
  74. package/dist/read-package-json/readPackageJson.js +0 -11
  75. package/dist/types/index.js +0 -2
  76. package/dist/values/index.js +0 -5
  77. package/src/branch-name-creator/index.ts +0 -1
  78. package/src/commit-message-creator/index.ts +0 -1
  79. package/src/enums/index.ts +0 -12
  80. package/src/outdated-package-processor/index.ts +0 -1
  81. package/src/read-package-json/index.ts +0 -2
  82. package/src/read-package-json/parsePackageJson.ts +0 -13
  83. package/src/read-package-json/readFile.ts +0 -6
  84. package/src/read-package-json/readPackageJson.ts +0 -9
  85. package/src/types/index.ts +0 -2
  86. package/src/values/index.ts +0 -1
package/dist/app.js CHANGED
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.app = void 0;
4
4
  exports.app = {
5
5
  name: 'npm-update-package',
6
- version: '0.5.0',
6
+ version: '0.5.1',
7
7
  web: 'https://github.com/npm-update-package/npm-update-package'
8
8
  };
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");
File without changes
@@ -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 outdated_package_processor_1 = require("./outdated-package-processor");
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 ncu = new ncu_1.Ncu();
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) {
@@ -57,9 +60,9 @@ const main = async ({ options, logger }) => {
57
60
  githubRepo,
58
61
  logger
59
62
  });
60
- const branchNameCreator = new branch_name_creator_1.BranchNameCreator(options.branchName);
61
- const commitMessageCreator = new commit_message_creator_1.CommitMessageCreator(options.commitMessage);
62
- const outdatedPackageProcessor = new outdated_package_processor_1.OutdatedPackageProcessor({
63
+ const branchNameCreator = new git_1.BranchNameCreator(options.branchName);
64
+ const commitMessageCreator = new git_1.CommitMessageCreator(options.commitMessage);
65
+ const outdatedPackageProcessor = new processors_1.OutdatedPackageProcessor({
63
66
  committer,
64
67
  git,
65
68
  ncu,
@@ -70,7 +73,7 @@ const main = async ({ options, logger }) => {
70
73
  branchNameCreator,
71
74
  commitMessageCreator
72
75
  });
73
- const outdatedPackagesProcessor = new outdated_packages_processor_1.OutdatedPackagesProcessor({
76
+ const outdatedPackagesProcessor = new processors_1.OutdatedPackagesProcessor({
74
77
  outdatedPackageProcessor,
75
78
  logger
76
79
  });
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 (0, read_package_json_1.readPackageJson)('./package.json');
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 values_1 = require("../values");
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: values_1.PackageVersion.of(this.currentDependencies[name]),
16
- newVersion: values_1.PackageVersion.of(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; } });
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toUpdateType = void 0;
4
- const enums_1 = require("../enums");
4
+ const UpdateType_1 = require("./UpdateType");
5
5
  const toUpdateType = (currentVersion, newVersion) => {
6
6
  if (currentVersion.major !== newVersion.major) {
7
- return enums_1.UpdateType.Major;
7
+ return UpdateType_1.UpdateType.Major;
8
8
  }
9
9
  if (currentVersion.minor !== newVersion.minor) {
10
- return enums_1.UpdateType.Minor;
10
+ return UpdateType_1.UpdateType.Minor;
11
11
  }
12
12
  if (currentVersion.patch !== newVersion.patch) {
13
- return enums_1.UpdateType.Patch;
13
+ return UpdateType_1.UpdateType.Patch;
14
14
  }
15
15
  throw new Error('Both versions are same.');
16
16
  };
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isOptions = exports.Options = void 0;
3
+ exports.isOptions = void 0;
4
4
  const io_ts_1 = require("io-ts");
5
- exports.Options = (0, io_ts_1.intersection)([
5
+ const Options = (0, io_ts_1.intersection)([
6
6
  (0, io_ts_1.type)({
7
7
  branchName: io_ts_1.string,
8
8
  commitMessage: io_ts_1.string,
@@ -15,4 +15,4 @@ exports.Options = (0, io_ts_1.intersection)([
15
15
  gitUserName: io_ts_1.string
16
16
  })
17
17
  ]);
18
- exports.isOptions = exports.Options.is;
18
+ 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 enums_1 = require("../enums");
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,16 @@ 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
- enums_1.LogLevel.Info,
20
- enums_1.LogLevel.Debug
20
+ logger_1.LogLevel.Info,
21
+ logger_1.LogLevel.Debug
21
22
  ])
22
- .default(enums_1.LogLevel.Info))
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
- enums_1.PackageManagerName.Npm,
26
- enums_1.PackageManagerName.Yarn
26
+ package_manager_1.PackageManagerName.Npm,
27
+ package_manager_1.PackageManagerName.Yarn
27
28
  ])
28
- .default(enums_1.PackageManagerName.Npm));
29
+ .default(package_manager_1.PackageManagerName.Npm));
29
30
  commander_1.program.parse(process.argv);
30
31
  const options = commander_1.program.opts();
31
32
  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 = exports.Package = void 0;
3
+ exports.isPackage = void 0;
4
4
  const io_ts_1 = require("io-ts");
5
5
  const PackageDependencies_1 = require("./PackageDependencies");
6
- exports.Package = (0, io_ts_1.intersection)([
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 = exports.Package.is;
18
+ exports.isPackage = Package.is;
@@ -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; } });
@@ -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
@@ -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.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "CLI tool for creating pull request to update npm packages",
5
5
  "scripts": {
6
6
  "build": "tsc --project tsconfig.build.json",
package/src/app.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export const app = {
2
2
  name: 'npm-update-package',
3
- version: '0.5.0',
3
+ version: '0.5.1',
4
4
  web: 'https://github.com/npm-update-package/npm-update-package'
5
5
  } as const
@@ -1,4 +1,4 @@
1
- import { PackageVersion } from '../values'
1
+ import { PackageVersion } from '../ncu'
2
2
  import { BranchNameCreator } from './BranchNameCreator'
3
3
 
4
4
  describe('BranchNameCreator', () => {
@@ -1,5 +1,5 @@
1
1
  import { render } from 'mustache'
2
- import type { OutdatedPackage } from '../types'
2
+ import type { OutdatedPackage } from '../ncu'
3
3
 
4
4
  export class BranchNameCreator {
5
5
  constructor (private readonly template: string) {}
@@ -1,4 +1,4 @@
1
- import { PackageVersion } from '../values'
1
+ import { PackageVersion } from '../ncu'
2
2
  import { CommitMessageCreator } from './CommitMessageCreator'
3
3
 
4
4
  describe('CommitMessageCreator', () => {
@@ -1,5 +1,5 @@
1
1
  import { render } from 'mustache'
2
- import type { OutdatedPackage } from '../types'
2
+ import type { OutdatedPackage } from '../ncu'
3
3
 
4
4
  export class CommitMessageCreator {
5
5
  constructor (private readonly template: string) {}
package/src/git/index.ts CHANGED
@@ -1,3 +1,5 @@
1
+ export { BranchNameCreator } from './BranchNameCreator'
2
+ export { CommitMessageCreator } from './CommitMessageCreator'
1
3
  export { Committer } from './Committer'
2
4
  export { Git } from './Git'
3
5
  export type { GitRepository } from './GitRepository'
@@ -1,6 +1,6 @@
1
1
  import type { GitRepository } from '../git'
2
2
  import type { Logger } from '../logger'
3
- import type { OutdatedPackage } from '../types'
3
+ import type { OutdatedPackage } from '../ncu'
4
4
  import { createPullRequestBody } from './createPullRequestBody'
5
5
  import { createPullRequestTitle } from './createPullRequestTitle'
6
6
  import type { GitHub } from './GitHub'
@@ -1,5 +1,7 @@
1
- import { UpdateType } from '../enums'
2
- import { PackageVersion } from '../values'
1
+ import {
2
+ PackageVersion,
3
+ UpdateType
4
+ } from '../ncu'
3
5
  import { createPullRequestBody } from './createPullRequestBody'
4
6
 
5
7
  describe('createPullRequestBody', () => {
@@ -1,5 +1,5 @@
1
1
  import { app } from '../app'
2
- import type { OutdatedPackage } from '../types'
2
+ import type { OutdatedPackage } from '../ncu'
3
3
 
4
4
  export const createPullRequestBody = (outdatedPackage: OutdatedPackage): string => {
5
5
  const packageName = outdatedPackage.name
@@ -1,5 +1,4 @@
1
- import { UpdateType } from '../enums'
2
- import { PackageVersion } from '../values'
1
+ import { UpdateType, PackageVersion } from '../ncu'
3
2
  import { createPullRequestTitle } from './createPullRequestTitle'
4
3
 
5
4
  describe('createPullRequestTitle', () => {
@@ -1,4 +1,4 @@
1
- import type { OutdatedPackage } from '../types'
1
+ import type { OutdatedPackage } from '../ncu'
2
2
 
3
3
  export const createPullRequestTitle = (outdatedPackage: OutdatedPackage): string => {
4
4
  const packageName = outdatedPackage.name
File without changes
@@ -1,6 +1,6 @@
1
1
  import { getLogger } from 'log4js'
2
- import type { LogLevel } from '../enums'
3
2
  import type { Logger } from './Logger'
3
+ import type { LogLevel } from './LogLevel'
4
4
 
5
5
  // TODO: add test
6
6
  export const createLogger = (logLevel: LogLevel): Logger => {
@@ -1,2 +1,6 @@
1
1
  export { createLogger } from './createLogger'
2
2
  export type { Logger } from './Logger'
3
+ export {
4
+ isLogLevel,
5
+ LogLevel
6
+ } from './LogLevel'
package/src/main.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { BranchNameCreator } from './branch-name-creator'
2
- import { CommitMessageCreator } from './commit-message-creator'
3
1
  import {
2
+ BranchNameCreator,
3
+ CommitMessageCreator,
4
4
  Committer,
5
5
  Git
6
6
  } from './git'
@@ -12,9 +12,15 @@ import {
12
12
  import type { Logger } from './logger'
13
13
  import { Ncu } from './ncu'
14
14
  import type { Options } from './options'
15
- import { OutdatedPackageProcessor } from './outdated-package-processor'
16
- import { OutdatedPackagesProcessor } from './outdated-packages-processor'
15
+ import {
16
+ PackageJsonParser,
17
+ PackageJsonReader
18
+ } from './package-json'
17
19
  import { createPackageManager } from './package-manager'
20
+ import {
21
+ OutdatedPackageProcessor,
22
+ OutdatedPackagesProcessor
23
+ } from './processors'
18
24
  import { Terminal } from './terminal'
19
25
 
20
26
  // TODO: add test
@@ -27,7 +33,12 @@ export const main = async ({
27
33
  }): Promise<void> => {
28
34
  logger.debug(`options=${JSON.stringify(options)}`)
29
35
 
30
- const ncu = new Ncu()
36
+ const packageJsonParser = new PackageJsonParser(logger)
37
+ const packageJsonReader = new PackageJsonReader({
38
+ packageJsonParser,
39
+ logger
40
+ })
41
+ const ncu = new Ncu(packageJsonReader)
31
42
  const outdatedPackages = await ncu.check()
32
43
  logger.debug(`outdatedPackages=${JSON.stringify(outdatedPackages)}`)
33
44
 
package/src/ncu/Ncu.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  import { run } from 'npm-check-updates'
2
2
  import type { Options } from 'npm-check-updates/build/src/types'
3
- import { readPackageJson } from '../read-package-json'
4
- import type { OutdatedPackage } from '../types'
3
+ import type { OutdatedPackage } from '../ncu'
4
+ import type { PackageJsonReader } from '../package-json'
5
5
  import { isNcuOutdatedPackages } from './isNcuOutdatedPackages'
6
6
  import { NcuOutdatedPackagesConverter } from './NcuOutdatedPackagesConverter'
7
7
 
8
8
  // TODO: add test
9
9
  export class Ncu {
10
+ constructor (private readonly packageJsonReader: PackageJsonReader) {}
11
+
10
12
  async check (): Promise<OutdatedPackage[]> {
11
13
  return await this.run({
12
14
  jsonUpgraded: true
@@ -22,7 +24,7 @@ export class Ncu {
22
24
  }
23
25
 
24
26
  private async run (options: Options): Promise<OutdatedPackage[]> {
25
- const pkg = await readPackageJson('./package.json')
27
+ const pkg = await this.packageJsonReader.read('./package.json')
26
28
  const currentDependencies = {
27
29
  ...pkg.dependencies,
28
30
  ...pkg.devDependencies,
@@ -1,7 +1,7 @@
1
- import type { PackageDependencies } from '../read-package-json'
2
- import type { OutdatedPackage } from '../types'
3
- import { PackageVersion } from '../values'
1
+ import type { PackageDependencies } from '../package-json'
4
2
  import type { NcuOutdatedPackages } from './NcuOutdatedPackages'
3
+ import type { OutdatedPackage } from './OutdatedPackage'
4
+ import { PackageVersion } from './PackageVersion'
5
5
  import { toUpdateType } from './toUpdateType'
6
6
 
7
7
  // TODO: add test
@@ -1,5 +1,5 @@
1
- import type { UpdateType } from '../enums/UpdateType'
2
- import type { PackageVersion } from '../values'
1
+ import type { PackageVersion } from './PackageVersion'
2
+ import type { UpdateType } from './UpdateType'
3
3
 
4
4
  export interface OutdatedPackage {
5
5
  name: string
File without changes
File without changes
File without changes
package/src/ncu/index.ts CHANGED
@@ -1 +1,7 @@
1
1
  export { Ncu } from './Ncu'
2
+ export type { OutdatedPackage } from './OutdatedPackage'
3
+ export { PackageVersion } from './PackageVersion'
4
+ export {
5
+ isUpdateType,
6
+ UpdateType
7
+ } from './UpdateType'
@@ -1,6 +1,6 @@
1
- import { UpdateType } from '../enums'
2
- import { PackageVersion } from '../values'
1
+ import { PackageVersion } from './PackageVersion'
3
2
  import { toUpdateType } from './toUpdateType'
3
+ import { UpdateType } from './UpdateType'
4
4
 
5
5
  describe('toUpdateType', () => {
6
6
  const currentVersion = PackageVersion.of('1.0.0')
@@ -1,5 +1,5 @@
1
- import { UpdateType } from '../enums'
2
- import type { PackageVersion } from '../values'
1
+ import type { PackageVersion } from './PackageVersion'
2
+ import { UpdateType } from './UpdateType'
3
3
 
4
4
  export const toUpdateType = (currentVersion: PackageVersion, newVersion: PackageVersion): UpdateType => {
5
5
  if (currentVersion.major !== newVersion.major) {
@@ -8,7 +8,7 @@ import {
8
8
  } from 'io-ts'
9
9
  import type { TypeOf } from 'io-ts'
10
10
 
11
- export const Options = intersection([
11
+ const Options = intersection([
12
12
  type({
13
13
  branchName: string,
14
14
  commitMessage: string,
@@ -3,10 +3,8 @@ import {
3
3
  program
4
4
  } from 'commander'
5
5
  import { app } from '../app'
6
- import {
7
- LogLevel,
8
- PackageManagerName
9
- } from '../enums'
6
+ import { LogLevel } from '../logger'
7
+ import { PackageManagerName } from '../package-manager'
10
8
  import { isOptions } from './Options'
11
9
  import type { Options } from './Options'
12
10
 
@@ -7,7 +7,7 @@ import {
7
7
  import type { TypeOf } from 'io-ts'
8
8
  import { PackageDependencies } from './PackageDependencies'
9
9
 
10
- export const Package = intersection([
10
+ const Package = intersection([
11
11
  type({
12
12
  name: string,
13
13
  version: string
@@ -0,0 +1,19 @@
1
+ import type { Logger } from '../logger'
2
+ import { isPackage } from './Package'
3
+ import type { Package } from './Package'
4
+
5
+ // TODO: add test
6
+ export class PackageJsonParser {
7
+ constructor (private readonly logger: Logger) {}
8
+
9
+ parse (json: string): Package {
10
+ const parsed: unknown = JSON.parse(json)
11
+ this.logger.debug(`parsed=${JSON.stringify(parsed)}`)
12
+
13
+ if (isPackage(parsed)) {
14
+ return parsed
15
+ } else {
16
+ throw new Error(`Failed to parse package.json. json=${json}`)
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,27 @@
1
+ import fs from 'fs'
2
+ import type { Logger } from '../logger'
3
+ import type { Package } from './Package'
4
+ import type { PackageJsonParser } from './PackageJsonParser'
5
+
6
+ // TODO: add test
7
+ export class PackageJsonReader {
8
+ private readonly packageJsonParser: PackageJsonParser
9
+ private readonly logger: Logger
10
+
11
+ constructor ({
12
+ packageJsonParser,
13
+ logger
14
+ }: {
15
+ packageJsonParser: PackageJsonParser
16
+ logger: Logger
17
+ }) {
18
+ this.packageJsonParser = packageJsonParser
19
+ this.logger = logger
20
+ }
21
+
22
+ async read (filePath: string): Promise<Package> {
23
+ const json = await fs.promises.readFile(filePath, 'utf8')
24
+ this.logger.debug(`json=${json}`)
25
+ return this.packageJsonParser.parse(json)
26
+ }
27
+ }
@@ -0,0 +1,3 @@
1
+ export { PackageJsonParser } from './PackageJsonParser'
2
+ export { PackageJsonReader } from './PackageJsonReader'
3
+ export type { PackageDependencies } from './PackageDependencies'
@@ -1,7 +1,7 @@
1
- import type { PackageManagerName } from '../enums'
2
1
  import type { Terminal } from '../terminal'
3
2
  import { Npm } from './Npm'
4
3
  import type { PackageManager } from './PackageManager'
4
+ import type { PackageManagerName } from './PackageManagerName'
5
5
  import { Yarn } from './Yarn'
6
6
 
7
7
  // TODO: add test
@@ -1,4 +1,8 @@
1
1
  export { createPackageManager } from './createPackageManager'
2
2
  export { Npm } from './Npm'
3
3
  export type { PackageManager } from './PackageManager'
4
+ export {
5
+ isPackageManagerName,
6
+ PackageManagerName
7
+ } from './PackageManagerName'
4
8
  export { Yarn } from './Yarn'
@@ -1,6 +1,6 @@
1
- import type { BranchNameCreator } from '../branch-name-creator'
2
- import type { CommitMessageCreator } from '../commit-message-creator'
3
1
  import type {
2
+ BranchNameCreator,
3
+ CommitMessageCreator,
4
4
  Committer,
5
5
  Git
6
6
  } from '../git'
@@ -9,12 +9,12 @@ import type {
9
9
  RemoteBranchExistenceChecker
10
10
  } from '../github'
11
11
  import type { Logger } from '../logger'
12
- import type { Ncu } from '../ncu'
13
- import type { PackageManager } from '../package-manager'
14
12
  import type {
15
- OutdatedPackage,
16
- Result
17
- } from '../types'
13
+ Ncu,
14
+ OutdatedPackage
15
+ } from '../ncu'
16
+ import type { PackageManager } from '../package-manager'
17
+ import type { Result } from './Result'
18
18
 
19
19
  // TODO: add test
20
20
  export class OutdatedPackageProcessor {
@@ -1,9 +1,7 @@
1
1
  import type { Logger } from '../logger'
2
- import type { OutdatedPackageProcessor } from '../outdated-package-processor'
3
- import type {
4
- OutdatedPackage,
5
- Result
6
- } from '../types'
2
+ import type { OutdatedPackage } from '../ncu'
3
+ import type { OutdatedPackageProcessor } from './OutdatedPackageProcessor'
4
+ import type { Result } from './Result'
7
5
 
8
6
  export class OutdatedPackagesProcessor {
9
7
  private readonly outdatedPackageProcessor: OutdatedPackageProcessor
@@ -1,4 +1,4 @@
1
- import type { OutdatedPackage } from './OutdatedPackage'
1
+ import type { OutdatedPackage } from '../ncu'
2
2
 
3
3
  export interface Result {
4
4
  outdatedPackage: OutdatedPackage
@@ -1 +1,2 @@
1
+ export { OutdatedPackageProcessor } from './OutdatedPackageProcessor'
1
2
  export { OutdatedPackagesProcessor } from './OutdatedPackagesProcessor'
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BranchNameCreator = void 0;
4
- var BranchNameCreator_1 = require("./BranchNameCreator");
5
- Object.defineProperty(exports, "BranchNameCreator", { enumerable: true, get: function () { return BranchNameCreator_1.BranchNameCreator; } });
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CommitMessageCreator = void 0;
4
- var CommitMessageCreator_1 = require("./CommitMessageCreator");
5
- Object.defineProperty(exports, "CommitMessageCreator", { enumerable: true, get: function () { return CommitMessageCreator_1.CommitMessageCreator; } });
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateType = exports.isUpdateType = exports.PackageManagerName = exports.isPackageManagerName = exports.LogLevel = exports.isLogLevel = void 0;
4
- var LogLevel_1 = require("./LogLevel");
5
- Object.defineProperty(exports, "isLogLevel", { enumerable: true, get: function () { return LogLevel_1.isLogLevel; } });
6
- Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return LogLevel_1.LogLevel; } });
7
- var PackageManagerName_1 = require("./PackageManagerName");
8
- Object.defineProperty(exports, "isPackageManagerName", { enumerable: true, get: function () { return PackageManagerName_1.isPackageManagerName; } });
9
- Object.defineProperty(exports, "PackageManagerName", { enumerable: true, get: function () { return PackageManagerName_1.PackageManagerName; } });
10
- var UpdateType_1 = require("./UpdateType");
11
- Object.defineProperty(exports, "isUpdateType", { enumerable: true, get: function () { return UpdateType_1.isUpdateType; } });
12
- Object.defineProperty(exports, "UpdateType", { enumerable: true, get: function () { return UpdateType_1.UpdateType; } });
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OutdatedPackageProcessor = void 0;
4
- var OutdatedPackageProcessor_1 = require("./OutdatedPackageProcessor");
5
- Object.defineProperty(exports, "OutdatedPackageProcessor", { enumerable: true, get: function () { return OutdatedPackageProcessor_1.OutdatedPackageProcessor; } });
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readPackageJson = void 0;
4
- var readPackageJson_1 = require("./readPackageJson");
5
- Object.defineProperty(exports, "readPackageJson", { enumerable: true, get: function () { return readPackageJson_1.readPackageJson; } });
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parsePackageJson = void 0;
4
- const Package_1 = require("./Package");
5
- // TODO: add test
6
- const parsePackageJson = (json) => {
7
- const parsed = JSON.parse(json);
8
- if ((0, Package_1.isPackage)(parsed)) {
9
- return parsed;
10
- }
11
- else {
12
- throw new Error(`Failed to parse package.json. json=${json}`);
13
- }
14
- };
15
- exports.parsePackageJson = parsePackageJson;
@@ -1,12 +0,0 @@
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.readFile = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- // TODO: add test
9
- const readFile = async (filePath) => {
10
- return await fs_1.default.promises.readFile(filePath, 'utf8');
11
- };
12
- exports.readFile = readFile;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readPackageJson = void 0;
4
- const parsePackageJson_1 = require("./parsePackageJson");
5
- const readFile_1 = require("./readFile");
6
- // TODO: add test
7
- const readPackageJson = async (filePath) => {
8
- const json = await (0, readFile_1.readFile)(filePath);
9
- return (0, parsePackageJson_1.parsePackageJson)(json);
10
- };
11
- exports.readPackageJson = readPackageJson;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PackageVersion = void 0;
4
- var PackageVersion_1 = require("./PackageVersion");
5
- Object.defineProperty(exports, "PackageVersion", { enumerable: true, get: function () { return PackageVersion_1.PackageVersion; } });
@@ -1 +0,0 @@
1
- export { BranchNameCreator } from './BranchNameCreator'
@@ -1 +0,0 @@
1
- export { CommitMessageCreator } from './CommitMessageCreator'
@@ -1,12 +0,0 @@
1
- export {
2
- isLogLevel,
3
- LogLevel
4
- } from './LogLevel'
5
- export {
6
- isPackageManagerName,
7
- PackageManagerName
8
- } from './PackageManagerName'
9
- export {
10
- isUpdateType,
11
- UpdateType
12
- } from './UpdateType'
@@ -1 +0,0 @@
1
- export { OutdatedPackageProcessor } from './OutdatedPackageProcessor'
@@ -1,2 +0,0 @@
1
- export type { PackageDependencies } from './PackageDependencies'
2
- export { readPackageJson } from './readPackageJson'
@@ -1,13 +0,0 @@
1
- import { isPackage } from './Package'
2
- import type { Package } from './Package'
3
-
4
- // TODO: add test
5
- export const parsePackageJson = (json: string): Package => {
6
- const parsed: unknown = JSON.parse(json)
7
-
8
- if (isPackage(parsed)) {
9
- return parsed
10
- } else {
11
- throw new Error(`Failed to parse package.json. json=${json}`)
12
- }
13
- }
@@ -1,6 +0,0 @@
1
- import fs from 'fs'
2
-
3
- // TODO: add test
4
- export const readFile = async (filePath: string): Promise<string> => {
5
- return await fs.promises.readFile(filePath, 'utf8')
6
- }
@@ -1,9 +0,0 @@
1
- import type { Package } from './Package'
2
- import { parsePackageJson } from './parsePackageJson'
3
- import { readFile } from './readFile'
4
-
5
- // TODO: add test
6
- export const readPackageJson = async (filePath: string): Promise<Package> => {
7
- const json = await readFile(filePath)
8
- return parsePackageJson(json)
9
- }
@@ -1,2 +0,0 @@
1
- export type { OutdatedPackage } from './OutdatedPackage'
2
- export type { Result } from './Result'
@@ -1 +0,0 @@
1
- export { PackageVersion } from './PackageVersion'