release-monorepo-semantically 1.5.2 → 1.6.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 (84) hide show
  1. package/README.md +126 -0
  2. package/dist/exceptions/DomainException.d.ts +17 -0
  3. package/dist/exceptions/DomainException.d.ts.map +1 -0
  4. package/dist/exceptions/DomainException.js +37 -0
  5. package/dist/exceptions/DomainException.js.map +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +14 -3
  8. package/dist/index.js.map +1 -1
  9. package/dist/main.spec.js +3 -3
  10. package/dist/main.spec.js.map +1 -1
  11. package/dist/models/NpmPackage.d.ts.map +1 -1
  12. package/dist/models/NpmPackage.js +2 -1
  13. package/dist/models/NpmPackage.js.map +1 -1
  14. package/dist/plugins/ChangelogPlugin.spec.d.ts +2 -0
  15. package/dist/plugins/ChangelogPlugin.spec.d.ts.map +1 -0
  16. package/dist/plugins/ChangelogPlugin.spec.js +43 -0
  17. package/dist/plugins/ChangelogPlugin.spec.js.map +1 -0
  18. package/dist/plugins/GitPlugin.spec.d.ts +2 -0
  19. package/dist/plugins/GitPlugin.spec.d.ts.map +1 -0
  20. package/dist/plugins/GitPlugin.spec.js +60 -0
  21. package/dist/plugins/GitPlugin.spec.js.map +1 -0
  22. package/dist/plugins/GithubPlugin.d.ts +18 -0
  23. package/dist/plugins/GithubPlugin.d.ts.map +1 -0
  24. package/dist/plugins/GithubPlugin.js +49 -0
  25. package/dist/plugins/GithubPlugin.js.map +1 -0
  26. package/dist/plugins/GithubPlugin.spec.d.ts +2 -0
  27. package/dist/plugins/GithubPlugin.spec.d.ts.map +1 -0
  28. package/dist/plugins/GithubPlugin.spec.js +114 -0
  29. package/dist/plugins/GithubPlugin.spec.js.map +1 -0
  30. package/dist/plugins/NpmPlugin.spec.d.ts +2 -0
  31. package/dist/plugins/NpmPlugin.spec.d.ts.map +1 -0
  32. package/dist/plugins/NpmPlugin.spec.js +58 -0
  33. package/dist/plugins/NpmPlugin.spec.js.map +1 -0
  34. package/dist/plugins/PackageJsonPlugin.spec.d.ts +2 -0
  35. package/dist/plugins/PackageJsonPlugin.spec.d.ts.map +1 -0
  36. package/dist/plugins/PackageJsonPlugin.spec.js +70 -0
  37. package/dist/plugins/PackageJsonPlugin.spec.js.map +1 -0
  38. package/dist/services/ChangelogView.spec.d.ts +2 -0
  39. package/dist/services/ChangelogView.spec.d.ts.map +1 -0
  40. package/dist/services/ChangelogView.spec.js +56 -0
  41. package/dist/services/ChangelogView.spec.js.map +1 -0
  42. package/dist/services/ExceptionHandler.d.ts +4 -0
  43. package/dist/services/ExceptionHandler.d.ts.map +1 -0
  44. package/dist/services/ExceptionHandler.js +15 -0
  45. package/dist/services/ExceptionHandler.js.map +1 -0
  46. package/dist/services/ExceptionHandler.spec.d.ts +2 -0
  47. package/dist/services/ExceptionHandler.spec.d.ts.map +1 -0
  48. package/dist/services/ExceptionHandler.spec.js +21 -0
  49. package/dist/services/ExceptionHandler.spec.js.map +1 -0
  50. package/dist/services/GitService.spec.js +34 -0
  51. package/dist/services/GitService.spec.js.map +1 -1
  52. package/dist/services/GithubReleaseView.d.ts +17 -0
  53. package/dist/services/GithubReleaseView.d.ts.map +1 -0
  54. package/dist/services/GithubReleaseView.js +17 -0
  55. package/dist/services/GithubReleaseView.js.map +1 -0
  56. package/dist/services/GithubReleaseView.spec.d.ts +2 -0
  57. package/dist/services/GithubReleaseView.spec.d.ts.map +1 -0
  58. package/dist/services/GithubReleaseView.spec.js +27 -0
  59. package/dist/services/GithubReleaseView.spec.js.map +1 -0
  60. package/dist/services/GithubService.d.ts +13 -0
  61. package/dist/services/GithubService.d.ts.map +1 -0
  62. package/dist/services/GithubService.js +39 -0
  63. package/dist/services/GithubService.js.map +1 -0
  64. package/dist/services/HandlebarsRenderService.d.ts.map +1 -1
  65. package/dist/services/HandlebarsRenderService.js +3 -2
  66. package/dist/services/HandlebarsRenderService.js.map +1 -1
  67. package/dist/services/NodeFileSystemService.spec.d.ts +2 -0
  68. package/dist/services/NodeFileSystemService.spec.d.ts.map +1 -0
  69. package/dist/services/NodeFileSystemService.spec.js +62 -0
  70. package/dist/services/NodeFileSystemService.spec.js.map +1 -0
  71. package/dist/services/ReleaseCommitView.spec.d.ts +2 -0
  72. package/dist/services/ReleaseCommitView.spec.d.ts.map +1 -0
  73. package/dist/services/ReleaseCommitView.spec.js +35 -0
  74. package/dist/services/ReleaseCommitView.spec.js.map +1 -0
  75. package/dist/utils.spec.d.ts +2 -0
  76. package/dist/utils.spec.d.ts.map +1 -0
  77. package/dist/utils.spec.js +28 -0
  78. package/dist/utils.spec.js.map +1 -0
  79. package/package.json +2 -1
  80. package/templates/github-release-notes.hbs +21 -0
  81. package/dist/services/ErrorHandler.d.ts +0 -4
  82. package/dist/services/ErrorHandler.d.ts.map +0 -1
  83. package/dist/services/ErrorHandler.js +0 -10
  84. package/dist/services/ErrorHandler.js.map +0 -1
package/README.md ADDED
@@ -0,0 +1,126 @@
1
+ # monorepo-semantic-release
2
+
3
+ CLI for semantic versioning and release automation in `pnpm` monorepos.
4
+
5
+ It discovers workspace packages, analyzes conventional commits per package scope, bumps versions in dependency order, updates internal dependency versions, generates changelogs, creates a release commit and tags, optionally creates GitHub Releases, and publishes to npm.
6
+
7
+ ## Requirements
8
+
9
+ - Node.js: `>=22 <23`
10
+ - pnpm: `10.20.0`
11
+ - Git repository with conventional commits
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ pnpm add -D release-monorepo-semantically
17
+ ```
18
+
19
+ Run from your monorepo root:
20
+
21
+ ```bash
22
+ pnpm monorepo-semantic-release
23
+ ```
24
+
25
+ ## Commit conventions
26
+
27
+ Release-triggering commits:
28
+
29
+ - `feat(scope): ...` -> `minor`
30
+ - `fix(scope): ...` -> `patch`
31
+ - `perf(scope): ...` -> `patch`
32
+ - `BREAKING CHANGE` or `!` -> `major`
33
+
34
+ Non-release types: `docs`, `test`, `ci`, `chore`, `refactor`, `style`.
35
+
36
+ Package scope is matched by package name.
37
+
38
+ ## Release flow
39
+
40
+ 1. Discover workspace packages from root `package.json` workspaces.
41
+ 2. Exclude private packages.
42
+ 3. Sort packages so dependencies are processed first.
43
+ 4. Read commits since `<package-name>@<version>` tag.
44
+ 5. Compute bump type (`major > minor > patch > none`).
45
+ 6. Update package versions and internal dependency versions.
46
+ 7. Render changelog entries.
47
+ 8. Create one release commit and per-package tags.
48
+ 9. Push commit/tags (unless disabled).
49
+ 10. Create GitHub Releases (if configured).
50
+ 11. Publish released packages (unless disabled).
51
+
52
+ ## CLI options
53
+
54
+ ```bash
55
+ monorepo-semantic-release [options]
56
+
57
+ Options:
58
+ --dry-run Preview changes without mutating files/git/publish
59
+ --no-push Skip git push
60
+ --no-publish Skip npm publish
61
+ --changelog-template <path> Override changelog template
62
+ --release-commit-template <path> Override release commit template
63
+ -h, --help Show help
64
+ ```
65
+
66
+ ## Template overrides
67
+
68
+ You can override templates via CLI options or root `package.json`:
69
+
70
+ ```json
71
+ {
72
+ "releaseTemplates": {
73
+ "changelogTemplate": "templates/changelog.hbs",
74
+ "releaseCommitTemplate": "templates/release-commit-msg.hbs"
75
+ }
76
+ }
77
+ ```
78
+
79
+ Built-in templates:
80
+
81
+ - `templates/changelog.hbs`
82
+ - `templates/release-commit-msg.hbs`
83
+ - `templates/github-release-notes.hbs`
84
+
85
+ ## GitHub Releases
86
+
87
+ GitHub release creation runs only when all conditions are met:
88
+
89
+ - `GITHUB_ACTIONS=true`
90
+ - `GITHUB_REPOSITORY` is set (for example `owner/repo`)
91
+ - `GITHUB_TOKEN` is set
92
+ - `gh` CLI is available
93
+ - not `--dry-run`
94
+ - not `--no-push`
95
+
96
+ Each released package creates a release:
97
+
98
+ - tag: `<package-name>@<version>`
99
+ - title: `<package-name> v<version>`
100
+ - notes rendered from `templates/github-release-notes.hbs`
101
+
102
+ ## Plugin architecture
103
+
104
+ Release lifecycle is implemented by plugins:
105
+
106
+ - `PackageJsonPlugin`: updates internal dependency versions in `package.json`
107
+ - `ChangelogPlugin`: writes per-package changelog updates
108
+ - `GitPlugin`: creates release commit, tags, and push
109
+ - `GithubPlugin`: creates GitHub Releases
110
+ - `NpmPlugin`: bumps package version and publishes
111
+
112
+ ## Development
113
+
114
+ ```bash
115
+ pnpm install
116
+ pnpm run build
117
+ pnpm test
118
+ pnpm run test:e2e
119
+ pnpm run lint
120
+ ```
121
+
122
+ ## Notes
123
+
124
+ - Internal monorepo dependencies are written as exact versions.
125
+ - Tag format is fixed: `<package-name>@<version>`.
126
+ - In `--dry-run`, no files/git/releases/publish actions are performed.
@@ -0,0 +1,17 @@
1
+ export declare abstract class DomainException extends Error {
2
+ readonly code: string;
3
+ protected constructor(code: string, message: string);
4
+ }
5
+ export declare class MissingDependencyVersionException extends DomainException {
6
+ constructor(packageName: string, dependencyName: string);
7
+ }
8
+ export declare class GithubCliUnavailableException extends DomainException {
9
+ constructor();
10
+ }
11
+ export declare class TemplateInvocationTargetException extends DomainException {
12
+ constructor(methodName: string);
13
+ }
14
+ export declare class TemplateMethodNotFunctionException extends DomainException {
15
+ constructor(methodName: string);
16
+ }
17
+ //# sourceMappingURL=DomainException.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainException.d.ts","sourceRoot":"","sources":["../../src/exceptions/DomainException.ts"],"names":[],"mappings":"AAAA,8BAAsB,eAAgB,SAAQ,KAAK;IAE/C,QAAQ,CAAC,IAAI,EAAE,MAAM;IADvB,SAAS,aACE,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AAED,qBAAa,iCAAkC,SAAQ,eAAe;gBACxD,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;CAGxD;AAED,qBAAa,6BAA8B,SAAQ,eAAe;;CAIjE;AAED,qBAAa,iCAAkC,SAAQ,eAAe;gBACxD,UAAU,EAAE,MAAM;CAG/B;AAED,qBAAa,kCAAmC,SAAQ,eAAe;gBACzD,UAAU,EAAE,MAAM;CAG/B"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TemplateMethodNotFunctionException = exports.TemplateInvocationTargetException = exports.GithubCliUnavailableException = exports.MissingDependencyVersionException = exports.DomainException = void 0;
4
+ class DomainException extends Error {
5
+ code;
6
+ constructor(code, message) {
7
+ super(message);
8
+ this.code = code;
9
+ this.name = new.target.name;
10
+ }
11
+ }
12
+ exports.DomainException = DomainException;
13
+ class MissingDependencyVersionException extends DomainException {
14
+ constructor(packageName, dependencyName) {
15
+ super('MISSING_DEPENDENCY_VERSION', `Dependency ${dependencyName} not found in ${packageName}`);
16
+ }
17
+ }
18
+ exports.MissingDependencyVersionException = MissingDependencyVersionException;
19
+ class GithubCliUnavailableException extends DomainException {
20
+ constructor() {
21
+ super('GITHUB_CLI_UNAVAILABLE', 'GitHub release creation requires `gh` CLI when running in GitHub Actions');
22
+ }
23
+ }
24
+ exports.GithubCliUnavailableException = GithubCliUnavailableException;
25
+ class TemplateInvocationTargetException extends DomainException {
26
+ constructor(methodName) {
27
+ super('TEMPLATE_INVOCATION_TARGET_INVALID', `Cannot call method ${methodName} on non-object target`);
28
+ }
29
+ }
30
+ exports.TemplateInvocationTargetException = TemplateInvocationTargetException;
31
+ class TemplateMethodNotFunctionException extends DomainException {
32
+ constructor(methodName) {
33
+ super('TEMPLATE_METHOD_NOT_FUNCTION', `Method ${methodName} is not a function`);
34
+ }
35
+ }
36
+ exports.TemplateMethodNotFunctionException = TemplateMethodNotFunctionException;
37
+ //# sourceMappingURL=DomainException.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DomainException.js","sourceRoot":"","sources":["../../src/exceptions/DomainException.ts"],"names":[],"mappings":";;;AAAA,MAAsB,eAAgB,SAAQ,KAAK;IAEtC;IADX,YACW,IAAY,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AARD,0CAQC;AAED,MAAa,iCAAkC,SAAQ,eAAe;IACpE,YAAY,WAAmB,EAAE,cAAsB;QACrD,KAAK,CAAC,4BAA4B,EAAE,cAAc,cAAc,iBAAiB,WAAW,EAAE,CAAC,CAAC;IAClG,CAAC;CACF;AAJD,8EAIC;AAED,MAAa,6BAA8B,SAAQ,eAAe;IAChE;QACE,KAAK,CAAC,wBAAwB,EAAE,0EAA0E,CAAC,CAAC;IAC9G,CAAC;CACF;AAJD,sEAIC;AAED,MAAa,iCAAkC,SAAQ,eAAe;IACpE,YAAY,UAAkB;QAC5B,KAAK,CAAC,oCAAoC,EAAE,sBAAsB,UAAU,uBAAuB,CAAC,CAAC;IACvG,CAAC;CACF;AAJD,8EAIC;AAED,MAAa,kCAAmC,SAAQ,eAAe;IACrE,YAAY,UAAkB;QAC5B,KAAK,CAAC,8BAA8B,EAAE,UAAU,UAAU,oBAAoB,CAAC,CAAC;IAClF,CAAC;CACF;AAJD,gFAIC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AAwB7D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA8B1D;AAYD,wBAAgB,MAAM,CAAC,GAAG,SAAgB,EAAE,OAAO,WAAwB,GAAG,MAAM,CAqCnF;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AA2B7D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA8B1D;AAYD,wBAAgB,MAAM,CAAC,GAAG,SAAgB,EAAE,OAAO,WAAwB,GAAG,MAAM,CA6CnF;AAED,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -13,13 +13,16 @@ const HandlebarsRenderService_1 = require("./services/HandlebarsRenderService");
13
13
  const ReleaseCommitView_1 = require("./services/ReleaseCommitView");
14
14
  const PackageManager_1 = require("./services/PackageManager");
15
15
  const ConsoleLogger_1 = require("./services/ConsoleLogger");
16
- const ErrorHandler_1 = require("./services/ErrorHandler");
16
+ const ExceptionHandler_1 = require("./services/ExceptionHandler");
17
17
  const commander_1 = require("commander");
18
18
  const node_path_1 = __importDefault(require("node:path"));
19
19
  const ChangelogPlugin_1 = require("./plugins/ChangelogPlugin");
20
20
  const GitPlugin_1 = require("./plugins/GitPlugin");
21
21
  const NpmPlugin_1 = require("./plugins/NpmPlugin");
22
22
  const PackageJsonPlugin_1 = require("./plugins/PackageJsonPlugin");
23
+ const GithubPlugin_1 = require("./plugins/GithubPlugin");
24
+ const GithubService_1 = require("./services/GithubService");
25
+ const GithubReleaseView_1 = require("./services/GithubReleaseView");
23
26
  function createProgram() {
24
27
  return new commander_1.Command()
25
28
  .name('monorepo-semantic-release')
@@ -72,7 +75,7 @@ function runCli(cwd = process.cwd(), cliArgs = process.argv.slice(2)) {
72
75
  const cliOptions = parseCliOptions(cliArgs);
73
76
  const fsService = new NodeFileSystemService_1.NodeFileSystemService();
74
77
  const vcsService = new GitService_1.GitService();
75
- const errorHandler = new ErrorHandler_1.ErrorHandler();
78
+ const exceptionHandler = new ExceptionHandler_1.ExceptionHandler();
76
79
  if (cliOptions.help) {
77
80
  return 0;
78
81
  }
@@ -82,11 +85,19 @@ function runCli(cwd = process.cwd(), cliArgs = process.argv.slice(2)) {
82
85
  const renderService = new HandlebarsRenderService_1.HandlebarsRenderService(cwd, node_path_1.default.resolve(__dirname, '..'));
83
86
  const changelogView = new ChangelogView_1.ChangelogView(templateOverrides.changelogTemplate, renderService);
84
87
  const releaseCommitView = new ReleaseCommitView_1.ReleaseCommitView(templateOverrides.releaseCommitTemplate, renderService);
88
+ const githubReleaseView = new GithubReleaseView_1.GithubReleaseView(undefined, renderService);
85
89
  const packageManager = new PackageManager_1.PackageManager();
90
+ const githubService = new GithubService_1.GithubService();
91
+ const githubConfig = {
92
+ isGithubActions: process.env.GITHUB_ACTIONS === 'true',
93
+ repository: process.env.GITHUB_REPOSITORY,
94
+ token: process.env.GITHUB_TOKEN,
95
+ };
86
96
  const controller = new MonorepoController_1.MonorepoController([
87
97
  new PackageJsonPlugin_1.PackageJsonPlugin(fsService, logger),
88
98
  new ChangelogPlugin_1.ChangelogPlugin('CHANGELOG.md', changelogView, fsService, logger),
89
99
  new GitPlugin_1.GitPlugin(vcsService, releaseCommitView, logger),
100
+ new GithubPlugin_1.GithubPlugin(githubService, logger, githubConfig, githubReleaseView),
90
101
  new NpmPlugin_1.NpmPlugin(packageManager, logger),
91
102
  ], fsService, vcsService, logger);
92
103
  controller.discoverPackages(cwd);
@@ -94,7 +105,7 @@ function runCli(cwd = process.cwd(), cliArgs = process.argv.slice(2)) {
94
105
  return 0;
95
106
  }
96
107
  catch (error) {
97
- errorHandler.handle(error);
108
+ exceptionHandler.handle(error);
98
109
  return 1;
99
110
  }
100
111
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/main.spec.js CHANGED
@@ -4,7 +4,7 @@ const vitest_1 = require("vitest");
4
4
  const index_1 = require("./index");
5
5
  const MonorepoController_1 = require("./MonorepoController");
6
6
  const NodeFileSystemService_1 = require("./services/NodeFileSystemService");
7
- const ErrorHandler_1 = require("./services/ErrorHandler");
7
+ const ExceptionHandler_1 = require("./services/ExceptionHandler");
8
8
  (0, vitest_1.describe)('runCli', () => {
9
9
  (0, vitest_1.afterEach)(() => {
10
10
  vitest_1.vi.restoreAllMocks();
@@ -46,9 +46,9 @@ const ErrorHandler_1 = require("./services/ErrorHandler");
46
46
  releaseCommitTemplate: 'templates/custom-release.hbs',
47
47
  });
48
48
  });
49
- (0, vitest_1.it)('given a runtime error when the cli fails then it delegates error reporting to ErrorHandler', () => {
49
+ (0, vitest_1.it)('given a runtime error when the cli fails then it delegates error reporting to ExceptionHandler', () => {
50
50
  const expectedError = new Error('boom');
51
- const handleSpy = vitest_1.vi.spyOn(ErrorHandler_1.ErrorHandler.prototype, 'handle').mockImplementation(() => undefined);
51
+ const handleSpy = vitest_1.vi.spyOn(ExceptionHandler_1.ExceptionHandler.prototype, 'handle').mockImplementation(() => undefined);
52
52
  vitest_1.vi.spyOn(NodeFileSystemService_1.NodeFileSystemService.prototype, 'readJson').mockImplementation(() => {
53
53
  throw expectedError;
54
54
  });
@@ -1 +1 @@
1
- {"version":3,"file":"main.spec.js","sourceRoot":"","sources":["../src/main.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.spec.js","sourceRoot":"","sources":["../src/main.spec.ts"],"names":[],"mappings":";;AAAA,mCAA6D;AAC7D,mCAAkD;AAClD,6DAA0D;AAC1D,4EAAyE;AACzE,kEAA+D;AAE/D,IAAA,iBAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,IAAA,kBAAS,EAAC,GAAG,EAAE;QACb,WAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2FAA2F,EAAE,GAAG,EAAE;QACnG,MAAM,QAAQ,GAAG,WAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,WAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAEhF,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE7C,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACxC,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,eAAM,CAAC,gBAAgB,CAAC,4CAA4C,CAAC,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,UAAU,GAAG,WAAE,CAAC,KAAK,CAAC,uCAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzG,WAAE,CAAC,KAAK,CAAC,uCAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/F,WAAE,CAAC,KAAK,CAAC,6CAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1E,WAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAEhD,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2GAA2G,EAAE,GAAG,EAAE;QACnH,IAAA,eAAM,EAAC,IAAA,uBAAe,EAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,SAAS;YAC5B,qBAAqB,EAAE,SAAS;SACjC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mGAAmG,EAAE,GAAG,EAAE;QAC3G,IAAA,eAAM,EACJ,IAAA,uBAAe,EAAC,CAAC,WAAW,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,wDAAwD,CAAC,CAAC,CACnJ,CAAC,OAAO,CAAC;YACR,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,iBAAiB,EAAE,gCAAgC;YACnD,qBAAqB,EAAE,8BAA8B;SACtD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gGAAgG,EAAE,GAAG,EAAE;QACxG,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,WAAE,CAAC,KAAK,CAAC,mCAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrG,WAAE,CAAC,KAAK,CAAC,6CAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC5E,MAAM,aAAa,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAErC,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NpmPackage.d.ts","sourceRoot":"","sources":["../../src/models/NpmPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,UAAW,YAAW,QAAQ;IAMvC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAVlD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;gBAKnE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGlD,kBAAkB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;IAIvD,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC,YAAY,IAAI,MAAM;IAItB,OAAO,CAAC,iCAAiC;IAQzC,OAAO,CAAC,qBAAqB;IAK7B,oBAAoB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,uBAAuB,EAAE;IAiBtF,oBAAoB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI1D,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;CAahD"}
1
+ {"version":3,"file":"NpmPackage.d.ts","sourceRoot":"","sources":["../../src/models/NpmPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,qBAAa,UAAW,YAAW,QAAQ;IAMvC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAVlD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;gBAKnE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGlD,kBAAkB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;IAIvD,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC,YAAY,IAAI,MAAM;IAItB,OAAO,CAAC,iCAAiC;IAQzC,OAAO,CAAC,qBAAqB;IAK7B,oBAAoB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,uBAAuB,EAAE;IAiBtF,oBAAoB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI1D,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;CAahD"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NpmPackage = void 0;
4
4
  const SemVerBumpType_1 = require("./SemVerBumpType");
5
+ const DomainException_1 = require("../exceptions/DomainException");
5
6
  class NpmPackage {
6
7
  name;
7
8
  dirname;
@@ -32,7 +33,7 @@ class NpmPackage {
32
33
  findDependencyVersionByNameOrFail(depName) {
33
34
  const dependencyVersion = this.dependencies[depName] ?? this.devDependencies[depName];
34
35
  if (!dependencyVersion) {
35
- throw new Error(`Dependency ${depName} not found in ${this.name}`);
36
+ throw new DomainException_1.MissingDependencyVersionException(this.name, depName);
36
37
  }
37
38
  return dependencyVersion;
38
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NpmPackage.js","sourceRoot":"","sources":["../../src/models/NpmPackage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NpmPackage.js","sourceRoot":"","sources":["../../src/models/NpmPackage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ChangelogPlugin.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangelogPlugin.spec.d.ts","sourceRoot":"","sources":["../../src/plugins/ChangelogPlugin.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const ChangelogPlugin_1 = require("./ChangelogPlugin");
5
+ const NpmPackage_1 = require("../models/NpmPackage");
6
+ const ConventionalCommit_1 = require("../models/ConventionalCommit");
7
+ (0, vitest_1.describe)('ChangelogPlugin', () => {
8
+ (0, vitest_1.it)('given existing changelog when package is released then existing content is passed to view and file is rewritten', () => {
9
+ const view = {
10
+ render: vitest_1.vi.fn().mockReturnValue('new changelog'),
11
+ };
12
+ const fs = {
13
+ fileExists: vitest_1.vi.fn().mockReturnValue(true),
14
+ readFile: vitest_1.vi.fn().mockReturnValue('old changelog'),
15
+ writeFile: vitest_1.vi.fn(),
16
+ };
17
+ const logger = {
18
+ info: vitest_1.vi.fn(),
19
+ };
20
+ const plugin = new ChangelogPlugin_1.ChangelogPlugin('CHANGELOG.md', view, fs, logger);
21
+ const pkg = NpmPackage_1.NpmPackage.createFromPackage({ name: 'pkg-a', version: '1.0.0' }, '/repo/packages/pkg-a');
22
+ const commits = [ConventionalCommit_1.ConventionalCommit.parse('fix(pkg-a): patch')];
23
+ plugin.onPackageReleased?.({
24
+ dryRun: false,
25
+ noPush: false,
26
+ noPublish: false,
27
+ pkg,
28
+ releasedVersions: new Map([['pkg-a', '1.0.1']]),
29
+ releasedPackages: [pkg],
30
+ releasedCommits: commits,
31
+ });
32
+ (0, vitest_1.expect)(view.render).toHaveBeenCalledWith({
33
+ pkg,
34
+ releasedPackages: [pkg],
35
+ releasedVersions: new Map([['pkg-a', '1.0.1']]),
36
+ releasedCommits: commits,
37
+ existing: 'old changelog',
38
+ });
39
+ (0, vitest_1.expect)(fs.writeFile).toHaveBeenCalledWith('/repo/packages/pkg-a/CHANGELOG.md', 'new changelog');
40
+ (0, vitest_1.expect)(logger.info).toHaveBeenCalledWith('WRITE pkg-a CHANGELOG.md');
41
+ });
42
+ });
43
+ //# sourceMappingURL=ChangelogPlugin.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangelogPlugin.spec.js","sourceRoot":"","sources":["../../src/plugins/ChangelogPlugin.spec.ts"],"names":[],"mappings":";;AAAA,mCAAkD;AAClD,uDAAoD;AACpD,qDAAkD;AAClD,qEAAkE;AAElE,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAA,WAAE,EAAC,iHAAiH,EAAE,GAAG,EAAE;QACzH,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,WAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC;SACjD,CAAC;QACF,MAAM,EAAE,GAAG;YACT,UAAU,EAAE,WAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YACzC,QAAQ,EAAE,WAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC;YAClD,SAAS,EAAE,WAAE,CAAC,EAAE,EAAE;SACnB,CAAC;QACF,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,WAAE,CAAC,EAAE,EAAE;SACd,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,iCAAe,CAAC,cAAc,EAAE,IAAa,EAAE,EAAW,EAAE,MAAe,CAAC,CAAC;QAChG,MAAM,GAAG,GAAG,uBAAU,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;QACtG,MAAM,OAAO,GAAG,CAAC,uCAAkB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAEhE,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACzB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,GAAG;YACH,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/C,gBAAgB,EAAE,CAAC,GAAG,CAAC;YACvB,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,IAAA,eAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC;YACvC,GAAG;YACH,gBAAgB,EAAE,CAAC,GAAG,CAAC;YACvB,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/C,eAAe,EAAE,OAAO;YACxB,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,mCAAmC,EAAE,eAAe,CAAC,CAAC;QAChG,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GitPlugin.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitPlugin.spec.d.ts","sourceRoot":"","sources":["../../src/plugins/GitPlugin.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const GitPlugin_1 = require("./GitPlugin");
5
+ const NpmPackage_1 = require("../models/NpmPackage");
6
+ (0, vitest_1.describe)('GitPlugin', () => {
7
+ (0, vitest_1.it)('given dry run when release completes then no git actions are executed', () => {
8
+ const vcs = {
9
+ commit: vitest_1.vi.fn(),
10
+ createTag: vitest_1.vi.fn(),
11
+ push: vitest_1.vi.fn(),
12
+ };
13
+ const releaseCommitView = {
14
+ render: vitest_1.vi.fn().mockReturnValue('release commit message'),
15
+ };
16
+ const logger = {
17
+ info: vitest_1.vi.fn(),
18
+ };
19
+ const plugin = new GitPlugin_1.GitPlugin(vcs, releaseCommitView, logger);
20
+ plugin.onReleaseComplete?.({
21
+ dryRun: true,
22
+ noPush: false,
23
+ noPublish: false,
24
+ releasedPackages: [],
25
+ releasedVersions: new Map(),
26
+ releasedCommits: new Map(),
27
+ });
28
+ (0, vitest_1.expect)(releaseCommitView.render).not.toHaveBeenCalled();
29
+ (0, vitest_1.expect)(vcs.commit).not.toHaveBeenCalled();
30
+ (0, vitest_1.expect)(vcs.createTag).not.toHaveBeenCalled();
31
+ (0, vitest_1.expect)(vcs.push).not.toHaveBeenCalled();
32
+ });
33
+ (0, vitest_1.it)('given no push option when release completes then commit and tags are created but push is skipped', () => {
34
+ const vcs = {
35
+ commit: vitest_1.vi.fn(),
36
+ createTag: vitest_1.vi.fn(),
37
+ push: vitest_1.vi.fn(),
38
+ };
39
+ const releaseCommitView = {
40
+ render: vitest_1.vi.fn().mockReturnValue('release commit message'),
41
+ };
42
+ const logger = {
43
+ info: vitest_1.vi.fn(),
44
+ };
45
+ const plugin = new GitPlugin_1.GitPlugin(vcs, releaseCommitView, logger);
46
+ const pkg = NpmPackage_1.NpmPackage.createFromPackage({ name: 'pkg-a', version: '1.0.0' }, '/repo/packages/pkg-a');
47
+ plugin.onReleaseComplete?.({
48
+ dryRun: false,
49
+ noPush: true,
50
+ noPublish: false,
51
+ releasedPackages: [pkg],
52
+ releasedVersions: new Map([['pkg-a', '1.0.1']]),
53
+ releasedCommits: new Map(),
54
+ });
55
+ (0, vitest_1.expect)(vcs.commit).toHaveBeenCalledWith('release commit message');
56
+ (0, vitest_1.expect)(vcs.createTag).toHaveBeenCalledWith('pkg-a@1.0.1');
57
+ (0, vitest_1.expect)(vcs.push).not.toHaveBeenCalled();
58
+ });
59
+ });
60
+ //# sourceMappingURL=GitPlugin.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitPlugin.spec.js","sourceRoot":"","sources":["../../src/plugins/GitPlugin.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { ReleaseCompletePluginContext, ReleasePlugin } from './ReleasePlugin';
2
+ import { GithubService } from '../services/GithubService';
3
+ import { ConsoleLogger } from '../services/ConsoleLogger';
4
+ import { GithubReleaseView } from '../services/GithubReleaseView';
5
+ export interface GithubPluginConfig {
6
+ isGithubActions: boolean;
7
+ repository?: string;
8
+ token?: string;
9
+ }
10
+ export declare class GithubPlugin implements ReleasePlugin {
11
+ private readonly githubService;
12
+ private readonly logger;
13
+ private readonly config;
14
+ private readonly githubReleaseView;
15
+ constructor(githubService: GithubService, logger: ConsoleLogger, config: GithubPluginConfig, githubReleaseView: GithubReleaseView);
16
+ onReleaseComplete(context: ReleaseCompletePluginContext): void;
17
+ }
18
+ //# sourceMappingURL=GithubPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GithubPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/GithubPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,YAAa,YAAW,aAAa;IAE9C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAHjB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,iBAAiB;IAGvD,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI;CAmC/D"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GithubPlugin = void 0;
4
+ const DomainException_1 = require("../exceptions/DomainException");
5
+ class GithubPlugin {
6
+ githubService;
7
+ logger;
8
+ config;
9
+ githubReleaseView;
10
+ constructor(githubService, logger, config, githubReleaseView) {
11
+ this.githubService = githubService;
12
+ this.logger = logger;
13
+ this.config = config;
14
+ this.githubReleaseView = githubReleaseView;
15
+ }
16
+ onReleaseComplete(context) {
17
+ if (context.dryRun || context.noPush) {
18
+ return;
19
+ }
20
+ if (!this.config.isGithubActions || !this.config.repository || !this.config.token) {
21
+ return;
22
+ }
23
+ if (!this.githubService.isCliAvailable()) {
24
+ throw new DomainException_1.GithubCliUnavailableException();
25
+ }
26
+ for (const pkg of context.releasedPackages) {
27
+ const version = context.releasedVersions.get(pkg.name);
28
+ if (!version) {
29
+ continue;
30
+ }
31
+ this.githubService.createRelease({
32
+ repository: this.config.repository,
33
+ token: this.config.token,
34
+ tagName: `${pkg.name}@${version}`,
35
+ title: `${pkg.name} v${version}`,
36
+ notes: this.githubReleaseView.render({
37
+ packageName: pkg.name,
38
+ version,
39
+ commits: context.releasedCommits.get(pkg.name) ?? [],
40
+ dependencyUpdates: pkg.getDependencyUpdates(context.releasedVersions),
41
+ }),
42
+ prerelease: version.includes('-'),
43
+ });
44
+ this.logger.info(`RELEASE ${pkg.name}@${version}`);
45
+ }
46
+ }
47
+ }
48
+ exports.GithubPlugin = GithubPlugin;
49
+ //# sourceMappingURL=GithubPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GithubPlugin.js","sourceRoot":"","sources":["../../src/plugins/GithubPlugin.ts"],"names":[],"mappings":";;;AAIA,mEAA8E;AAQ9E,MAAa,YAAY;IAEJ;IACA;IACA;IACA;IAJnB,YACmB,aAA4B,EAC5B,MAAqB,EACrB,MAA0B,EAC1B,iBAAoC;QAHpC,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAoB;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEJ,iBAAiB,CAAC,OAAqC;QACrD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,+CAA6B,EAAE,CAAC;QAC5C,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;gBAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE;gBACjC,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE;gBAChC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;oBACnC,WAAW,EAAE,GAAG,CAAC,IAAI;oBACrB,OAAO;oBACP,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;oBACpD,iBAAiB,EAAE,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,gBAAgB,CAAC;iBACtE,CAAC;gBACF,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AA3CD,oCA2CC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GithubPlugin.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GithubPlugin.spec.d.ts","sourceRoot":"","sources":["../../src/plugins/GithubPlugin.spec.ts"],"names":[],"mappings":""}