npm-update-package 0.8.0 → 0.11.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.
Files changed (90) hide show
  1. package/README.md +13 -18
  2. package/dist/app.js +1 -1
  3. package/dist/bin.js +6 -4
  4. package/dist/git/Git.js +7 -4
  5. package/dist/git/index.js +1 -3
  6. package/dist/github/RemoteBranchExistenceChecker.js +0 -1
  7. package/dist/logger/LogLevel.js +3 -2
  8. package/dist/main.js +14 -11
  9. package/dist/options/Options.js +9 -15
  10. package/dist/options/initOptions.js +1 -2
  11. package/dist/processors/{Result.js → FailedResult.js} +0 -0
  12. package/dist/processors/OutdatedPackageProcessor.js +39 -25
  13. package/dist/processors/SucceededResult.js +2 -0
  14. package/package.json +14 -9
  15. package/.eslintignore +0 -3
  16. package/.eslintrc.js +0 -23
  17. package/.github/FUNDING.yml +0 -2
  18. package/.github/renovate.json +0 -15
  19. package/.github/workflows/eslint.yml +0 -14
  20. package/.github/workflows/test.yml +0 -19
  21. package/.husky/pre-commit +0 -4
  22. package/.nvmrc +0 -1
  23. package/dist/git/Committer.js +0 -31
  24. package/jest.config.ts +0 -11
  25. package/lint-staged.config.js +0 -4
  26. package/npm-update-package.code-workspace +0 -8
  27. package/src/app.ts +0 -5
  28. package/src/bin.ts +0 -20
  29. package/src/git/BranchNameCreator.test.ts +0 -17
  30. package/src/git/BranchNameCreator.ts +0 -19
  31. package/src/git/CommitMessageCreator.test.ts +0 -17
  32. package/src/git/CommitMessageCreator.ts +0 -19
  33. package/src/git/Committer.ts +0 -49
  34. package/src/git/Git.ts +0 -55
  35. package/src/git/GitRepository.test.ts +0 -61
  36. package/src/git/GitRepository.ts +0 -57
  37. package/src/git/index.ts +0 -5
  38. package/src/github/Branch.ts +0 -4
  39. package/src/github/GitHub.ts +0 -27
  40. package/src/github/PullRequest.ts +0 -3
  41. package/src/github/PullRequestBodyCreator.test.ts +0 -32
  42. package/src/github/PullRequestBodyCreator.ts +0 -26
  43. package/src/github/PullRequestCreator.ts +0 -65
  44. package/src/github/PullRequestTitleCreator.test.ts +0 -17
  45. package/src/github/PullRequestTitleCreator.ts +0 -19
  46. package/src/github/RemoteBranchExistenceChecker.ts +0 -15
  47. package/src/github/Repository.ts +0 -3
  48. package/src/github/createGitHub.ts +0 -18
  49. package/src/github/createOctokit.ts +0 -28
  50. package/src/github/index.ts +0 -9
  51. package/src/logger/LogLevel.ts +0 -8
  52. package/src/logger/Logger.ts +0 -1
  53. package/src/logger/createLogger.ts +0 -10
  54. package/src/logger/index.ts +0 -6
  55. package/src/main.ts +0 -128
  56. package/src/ncu/Ncu.ts +0 -43
  57. package/src/ncu/NcuOutdatedPackages.ts +0 -6
  58. package/src/ncu/NcuOutdatedPackagesConverter.ts +0 -25
  59. package/src/ncu/OutdatedPackage.ts +0 -9
  60. package/src/ncu/PackageVersion.test.ts +0 -25
  61. package/src/ncu/PackageVersion.ts +0 -40
  62. package/src/ncu/UpdateType.ts +0 -9
  63. package/src/ncu/index.ts +0 -7
  64. package/src/ncu/isNcuOutdatedPackages.ts +0 -6
  65. package/src/ncu/toUpdateType.test.ts +0 -21
  66. package/src/ncu/toUpdateType.ts +0 -18
  67. package/src/options/Options.ts +0 -30
  68. package/src/options/index.ts +0 -2
  69. package/src/options/initOptions.ts +0 -53
  70. package/src/package-json/Package.ts +0 -24
  71. package/src/package-json/PackageDependencies.ts +0 -10
  72. package/src/package-json/PackageJsonParser.ts +0 -19
  73. package/src/package-json/PackageJsonReader.ts +0 -27
  74. package/src/package-json/index.ts +0 -3
  75. package/src/package-manager/Npm.ts +0 -19
  76. package/src/package-manager/PackageManager.ts +0 -4
  77. package/src/package-manager/PackageManagerName.ts +0 -8
  78. package/src/package-manager/Yarn.ts +0 -19
  79. package/src/package-manager/createPackageManager.ts +0 -21
  80. package/src/package-manager/index.ts +0 -8
  81. package/src/processors/OutdatedPackageProcessor.ts +0 -109
  82. package/src/processors/OutdatedPackagesProcessor.ts +0 -32
  83. package/src/processors/Result.ts +0 -7
  84. package/src/processors/index.ts +0 -2
  85. package/src/terminal/Terminal.ts +0 -30
  86. package/src/terminal/index.ts +0 -1
  87. package/src/terminal/isExecaReturnValue.ts +0 -30
  88. package/tsconfig.base.json +0 -3
  89. package/tsconfig.build.json +0 -13
  90. package/tsconfig.json +0 -9
@@ -1,109 +0,0 @@
1
- import type {
2
- BranchNameCreator,
3
- CommitMessageCreator,
4
- Committer,
5
- Git
6
- } from '../git'
7
- import type {
8
- PullRequestCreator,
9
- RemoteBranchExistenceChecker
10
- } from '../github'
11
- import type { Logger } from '../logger'
12
- import type {
13
- Ncu,
14
- OutdatedPackage
15
- } from '../ncu'
16
- import type { PackageManager } from '../package-manager'
17
- import type { Result } from './Result'
18
-
19
- // TODO: add test
20
- export class OutdatedPackageProcessor {
21
- private readonly committer: Committer
22
- private readonly git: Git
23
- private readonly ncu: Ncu
24
- private readonly packageManager: PackageManager
25
- private readonly pullRequestCreator: PullRequestCreator
26
- private readonly remoteBranchExistenceChecker: RemoteBranchExistenceChecker
27
- private readonly logger: Logger
28
- private readonly branchNameCreator: BranchNameCreator
29
- private readonly commitMessageCreator: CommitMessageCreator
30
-
31
- constructor ({
32
- committer,
33
- git,
34
- ncu,
35
- packageManager,
36
- pullRequestCreator,
37
- remoteBranchExistenceChecker,
38
- logger,
39
- branchNameCreator,
40
- commitMessageCreator
41
- }: {
42
- committer: Committer
43
- git: Git
44
- ncu: Ncu
45
- packageManager: PackageManager
46
- pullRequestCreator: PullRequestCreator
47
- remoteBranchExistenceChecker: RemoteBranchExistenceChecker
48
- logger: Logger
49
- branchNameCreator: BranchNameCreator
50
- commitMessageCreator: CommitMessageCreator
51
- }) {
52
- this.committer = committer
53
- this.git = git
54
- this.ncu = ncu
55
- this.packageManager = packageManager
56
- this.pullRequestCreator = pullRequestCreator
57
- this.remoteBranchExistenceChecker = remoteBranchExistenceChecker
58
- this.logger = logger
59
- this.branchNameCreator = branchNameCreator
60
- this.commitMessageCreator = commitMessageCreator
61
- }
62
-
63
- /**
64
- * Don't run in parallel because it includes file operations.
65
- */
66
- async process (outdatedPackage: OutdatedPackage): Promise<Result> {
67
- const branchName = this.branchNameCreator.create(outdatedPackage)
68
- this.logger.debug(`branchName=${branchName}`)
69
-
70
- if (this.remoteBranchExistenceChecker.check(branchName)) {
71
- this.logger.info(`Skip ${outdatedPackage.name} because ${branchName} branch already exists on remote.`)
72
- return {
73
- outdatedPackage,
74
- skipped: true
75
- }
76
- }
77
-
78
- await this.git.createBranch(branchName)
79
- this.logger.info(`${branchName} branch has created.`)
80
-
81
- const updatedPackages = await this.ncu.update(outdatedPackage)
82
-
83
- if (updatedPackages.length !== 1) {
84
- throw new Error(`Failed to update ${outdatedPackage.name}.`)
85
- }
86
-
87
- await this.packageManager.install()
88
- this.logger.info(`${outdatedPackage.name} has updated from v${outdatedPackage.currentVersion.version} to v${outdatedPackage.newVersion.version}`)
89
-
90
- await this.git.add(...this.packageManager.packageFiles)
91
- const message = this.commitMessageCreator.create(outdatedPackage)
92
- this.logger.debug(`message=${message}`)
93
-
94
- await this.committer.commit(message)
95
- await this.git.push(branchName)
96
- await this.pullRequestCreator.create({
97
- outdatedPackage,
98
- branchName
99
- })
100
- await this.git.checkout('-')
101
- await this.git.removeBranch(branchName)
102
- this.logger.info(`${branchName} branch has removed.`)
103
-
104
- return {
105
- outdatedPackage,
106
- updated: true
107
- }
108
- }
109
- }
@@ -1,32 +0,0 @@
1
- import type { Logger } from '../logger'
2
- import type { OutdatedPackage } from '../ncu'
3
- import type { OutdatedPackageProcessor } from './OutdatedPackageProcessor'
4
- import type { Result } from './Result'
5
-
6
- export class OutdatedPackagesProcessor {
7
- private readonly outdatedPackageProcessor: OutdatedPackageProcessor
8
- private readonly logger: Logger
9
-
10
- constructor ({
11
- outdatedPackageProcessor,
12
- logger
13
- }: {
14
- outdatedPackageProcessor: OutdatedPackageProcessor
15
- logger: Logger
16
- }) {
17
- this.outdatedPackageProcessor = outdatedPackageProcessor
18
- this.logger = logger
19
- }
20
-
21
- async process (outdatedPackages: OutdatedPackage[]): Promise<Result[]> {
22
- const results: Result[] = []
23
-
24
- for (const outdatedPackage of outdatedPackages) {
25
- this.logger.debug(`outdatedPackage=${JSON.stringify(outdatedPackage)}`)
26
- const result = await this.outdatedPackageProcessor.process(outdatedPackage)
27
- results.push(result)
28
- }
29
-
30
- return results
31
- }
32
- }
@@ -1,7 +0,0 @@
1
- import type { OutdatedPackage } from '../ncu'
2
-
3
- export interface Result {
4
- outdatedPackage: OutdatedPackage
5
- updated?: boolean
6
- skipped?: boolean
7
- }
@@ -1,2 +0,0 @@
1
- export { OutdatedPackageProcessor } from './OutdatedPackageProcessor'
2
- export { OutdatedPackagesProcessor } from './OutdatedPackagesProcessor'
@@ -1,30 +0,0 @@
1
- import execa from 'execa'
2
- import type { ExecaReturnValue } from 'execa'
3
- import { isExecaReturnValue } from './isExecaReturnValue'
4
-
5
- // TODO: add test
6
- export class Terminal {
7
- async run (
8
- command: string,
9
- ...args: string[]
10
- ): Promise<ExecaReturnValue<string>> {
11
- return await execa(command, args)
12
- }
13
-
14
- async runWithErrorHandling (
15
- command: string,
16
- ...args: string[]
17
- ): Promise<ExecaReturnValue<string>> {
18
- try {
19
- return await this.run(command, ...args)
20
- } catch (e) {
21
- const value: unknown = e instanceof Error ? JSON.parse(JSON.stringify(e)) : e
22
-
23
- if (isExecaReturnValue(value)) {
24
- return value
25
- } else {
26
- throw e
27
- }
28
- }
29
- }
30
- }
@@ -1 +0,0 @@
1
- export { Terminal } from './Terminal'
@@ -1,30 +0,0 @@
1
- import type { ExecaReturnValue } from 'execa'
2
- import {
3
- boolean,
4
- intersection,
5
- number,
6
- partial,
7
- string,
8
- type
9
- } from 'io-ts'
10
-
11
- const ExecaReturnValueType = intersection([
12
- type({
13
- command: string,
14
- escapedCommand: string,
15
- exitCode: number,
16
- failed: boolean,
17
- timedOut: boolean,
18
- killed: boolean,
19
- isCanceled: boolean
20
- }),
21
- partial({
22
- signal: string,
23
- signalDescription: string
24
- })
25
- ])
26
-
27
- // TODO: add test
28
- export const isExecaReturnValue = (value: unknown): value is ExecaReturnValue => {
29
- return ExecaReturnValueType.is(value)
30
- }
@@ -1,3 +0,0 @@
1
- {
2
- "extends": "@tsconfig/node12/tsconfig.json"
3
- }
@@ -1,13 +0,0 @@
1
- {
2
- "extends": "./tsconfig.base.json",
3
- "compilerOptions": {
4
- "outDir": "dist",
5
- "rootDir": "src"
6
- },
7
- "include": [
8
- "src/**/*.ts"
9
- ],
10
- "exclude": [
11
- "**/*.test.ts"
12
- ]
13
- }
package/tsconfig.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "./tsconfig.base.json",
3
- "compilerOptions": {
4
- "types": [
5
- "node",
6
- "jest"
7
- ]
8
- }
9
- }