release-monorepo-semantically 1.10.0 → 1.12.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 (38) hide show
  1. package/README.md +60 -2
  2. package/dist/cli/Application.d.ts.map +1 -1
  3. package/dist/cli/Application.js +5 -3
  4. package/dist/cli/Application.js.map +1 -1
  5. package/dist/cli/decorators.d.ts.map +1 -1
  6. package/dist/cli/decorators.js +2 -2
  7. package/dist/cli/decorators.js.map +1 -1
  8. package/dist/domain/ConventionalCommit.d.ts +26 -4
  9. package/dist/domain/ConventionalCommit.d.ts.map +1 -1
  10. package/dist/domain/ConventionalCommit.js +66 -13
  11. package/dist/domain/ConventionalCommit.js.map +1 -1
  12. package/dist/features/changelog/changelog.hbs +10 -0
  13. package/dist/features/report/ReportConfig.d.ts +26 -0
  14. package/dist/features/report/ReportConfig.d.ts.map +1 -0
  15. package/dist/features/report/ReportConfig.js +19 -0
  16. package/dist/features/report/ReportConfig.js.map +1 -0
  17. package/dist/features/report/ReportController.d.ts +4 -1
  18. package/dist/features/report/ReportController.d.ts.map +1 -1
  19. package/dist/features/report/ReportController.js +14 -4
  20. package/dist/features/report/ReportController.js.map +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/services/ConsoleLogger.d.ts.map +1 -1
  25. package/dist/services/ConsoleLogger.js +4 -5
  26. package/dist/services/ConsoleLogger.js.map +1 -1
  27. package/dist/services/HandlebarsRenderService.d.ts +2 -0
  28. package/dist/services/HandlebarsRenderService.d.ts.map +1 -1
  29. package/dist/services/HandlebarsRenderService.js +33 -14
  30. package/dist/services/HandlebarsRenderService.js.map +1 -1
  31. package/dist/services/PluginsConfigService.d.ts.map +1 -1
  32. package/dist/services/PluginsConfigService.js +6 -5
  33. package/dist/services/PluginsConfigService.js.map +1 -1
  34. package/dist/utils/ts-ioc-container.d.ts +3 -6
  35. package/dist/utils/ts-ioc-container.d.ts.map +1 -1
  36. package/dist/utils/ts-ioc-container.js +9 -5
  37. package/dist/utils/ts-ioc-container.js.map +1 -1
  38. package/package.json +2 -2
package/README.md CHANGED
@@ -84,6 +84,8 @@ Non-release types: `docs`, `test`, `ci`, `chore`, `refactor`, `style`.
84
84
 
85
85
  Package scope is matched by package name.
86
86
 
87
+ This mapping is `report`'s default configuration, not a fixed rule — see [Configuring release rules](#configuring-release-rules) to change or extend it.
88
+
87
89
  ## Steps
88
90
 
89
91
  Every step accepts `--context <json>` (except `report`, which produces it) and `--dry-run` (preview only; no files, git state, or publishes change). Steps run in a fresh process each time, so `--context` is how state passes between them.
@@ -92,7 +94,7 @@ Every step accepts `--context <json>` (except `report`, which produces it) and `
92
94
  | ----------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
93
95
  | `report` | (only one) | Discovers workspace packages, computes version bumps from commits since each package's last release tag, fails if the working tree isn't clean. Writes the release context as JSON to stdout. |
94
96
  | `package-json` | (only one) | Updates internal dependency versions in each released package's `package.json` to exact versions, in the `dependencies`/`devDependencies` block each was declared in (peer ranges are left alone), then refreshes the workspace lockfile. |
95
- | `package-manager` | _(default)_ | Writes each released package's new version into its `package.json`. |
97
+ | `package-manager` | _(default)_ | Writes each released package's new version into its `package.json`. |
96
98
  | `package-manager` | `publish` | Publishes each released package via `pnpm publish`. Kept separate from the version bump so a pipeline can't reach the registry by accident. |
97
99
  | `changelog` | (only one) | Renders and prepends a changelog entry per released package. `--template <path>` and `--changelog-name <value>` (default `CHANGELOG.md`) override the defaults. |
98
100
  | `vcs` | _(default)_ | Runs `commit`, `tag`, and `push` in that order in one invocation. |
@@ -110,6 +112,14 @@ Steps read settings from a `release` section in the root `package.json`, a root
110
112
  ```json
111
113
  {
112
114
  "release": {
115
+ "report": {
116
+ "bumps": {
117
+ "patch": [
118
+ { "type": "fix", "scope": "<package>" },
119
+ { "type": "perf", "scope": "<package>" }
120
+ ]
121
+ }
122
+ },
113
123
  "vcs": { "template": "templates/release-commit-msg.hbs" },
114
124
  "changelog": { "template": "templates/changelog.hbs", "changelogName": "CHANGELOG.md" },
115
125
  "release-notes": { "repository": "acme/repo", "token": "..." },
@@ -128,6 +138,54 @@ Steps read settings from a `release` section in the root `package.json`, a root
128
138
 
129
139
  `dryRun: true` in any section makes that step always preview, equivalent to always passing `--dry-run` to it.
130
140
 
141
+ ## Configuring release rules
142
+
143
+ `report`'s `bumps` config decides which commits release a package and at what level, replacing the hard-coded `feat`/`fix`/`perf`/breaking mapping from [Commit conventions](#commit-conventions). Each level (`major`, `minor`, `patch`) is a list of matchers; a commit matching **any** matcher at a level triggers that bump, and a commit matching matchers at more than one level resolves to the highest.
144
+
145
+ A matcher:
146
+
147
+ | Field | Meaning | Omitted |
148
+ | ---------- | --------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
149
+ | `type` | conventional-commit type (`feat`, `docs`, …) | matches any type |
150
+ | `scope` | literal scope, or the reserved token `"<package>"` meaning "equals the name of the package being considered" | matches any scope |
151
+ | `breaking` | `true` matches `!` or a `BREAKING CHANGE` body, `false` matches its absence | not considered |
152
+ | `packages` | which packages a match releases: `"*"` for every public package, or an explicit list. Ignored when `scope` is `"<package>"` | falls back to `scope === <the package being considered>`, i.e. today's behaviour |
153
+
154
+ The default, applied when `bumps` isn't configured, is exactly [Commit conventions](#commit-conventions):
155
+
156
+ ```json
157
+ {
158
+ "major": [{ "breaking": true }],
159
+ "minor": [{ "type": "feat", "scope": "<package>" }],
160
+ "patch": [
161
+ { "type": "fix", "scope": "<package>" },
162
+ { "type": "perf", "scope": "<package>" }
163
+ ]
164
+ }
165
+ ```
166
+
167
+ A configured `bumps` replaces the defaults **per level**, not by merging into them — configuring `patch` doesn't touch the default `major`/`minor` matchers, but it does replace the default `patch` matchers entirely (so a repository can also decide `perf` no longer releases). A commit matching no matcher is not a release trigger.
168
+
169
+ Example: a repository that keeps cross-package specs in `specs/` and wants a `docs(specs)` commit to patch-bump every public package, in `.release.json`:
170
+
171
+ ```json
172
+ {
173
+ "report": {
174
+ "bumps": {
175
+ "patch": [
176
+ { "type": "fix", "scope": "<package>" },
177
+ { "type": "perf", "scope": "<package>" },
178
+ { "type": "docs", "scope": "specs", "packages": "*" }
179
+ ]
180
+ }
181
+ }
182
+ }
183
+ ```
184
+
185
+ Note the `patch` list above repeats the default `fix`/`perf` matchers — since `bumps.patch` replaces rather than merges, the defaults have to be spelled out alongside the new rule to keep them.
186
+
187
+ The default changelog template only renders `feat`/`fix`/`perf`/breaking commits under their own headings; anything else (including a newly release-triggering type like `docs`) renders under a generic "Other Changes" section (via the `hasOthers`/`findOthers` template helpers). Override `changelog`'s template if you want different grouping for a custom type.
188
+
131
189
  ## Templates
132
190
 
133
191
  Default templates ship with the package and are used automatically. Override per step with `--template <path>` (relative to the working directory) or the matching config section:
@@ -136,7 +194,7 @@ Default templates ship with the package and are used automatically. Override per
136
194
  - `vcs` (used by the `commit` action) — release commit message
137
195
  - `release-notes` — GitHub release notes body
138
196
 
139
- Templates are [Handlebars](https://handlebarsjs.com/), with `now`, `hasBreakingChanges`, `hasFeatures`, `hasFixes`, `hasPerformance`, `findBreakingChanges`, `findFeatures`, `findFixes`, `findPerformance`, `lookup`, and `call` helpers registered.
197
+ Templates are [Handlebars](https://handlebarsjs.com/), with `now`, `hasBreakingChanges`, `hasFeatures`, `hasFixes`, `hasPerformance`, `hasOthers`, `findBreakingChanges`, `findFeatures`, `findFixes`, `findPerformance`, `findOthers`, `lookup`, and `call` helpers registered. `hasOthers`/`findOthers` cover any commit type that isn't `feat`, `fix`, or `perf` — the bucket a custom `report.bumps` matcher (e.g. `docs`) lands in.
140
198
 
141
199
  ## Development
142
200
 
@@ -1 +1 @@
1
- {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/cli/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAsB1F;;;;;GAKG;AACH,qBAAa,WAAW;IAMpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAN/B,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,WAAW;IAIpD,OAAO;IAKP,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;CAY7B"}
1
+ {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/cli/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAsBpG;;;;;GAKG;AACH,qBAAa,WAAW;IAMpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAN/B,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,WAAW;IAIpD,OAAO;IAKP,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;CAc7B"}
@@ -1,4 +1,4 @@
1
- import { createHookContextFactory, HooksRunner } from 'ts-ioc-container';
1
+ import { createHookContextFactory, HookCollector, toTask } from 'ts-ioc-container';
2
2
  import { MissingControllerException } from '../exceptions/DomainException.js';
3
3
  import { IErrorHandlerKey } from './IErrorHandler.js';
4
4
  import { DEFAULT_ACTION } from './decorators.js';
@@ -38,8 +38,10 @@ export class Application {
38
38
  try {
39
39
  const { controller, action } = parseControllerAndAction(argv);
40
40
  const controllerInstance = this.scope.resolve(controller);
41
- const createContext = createHookContextFactory({ args: argv });
42
- new HooksRunner(action).execute(controllerInstance, { scope: this.scope, createContext });
41
+ const collector = new HookCollector({ key: action, createExecutionContext: createHookContextFactory({ args: argv }) });
42
+ for (const actionItem of collector.getActions(controllerInstance, { scope: this.scope })) {
43
+ toTask(actionItem)();
44
+ }
43
45
  }
44
46
  catch (error) {
45
47
  this.errorHandler.handleError(error);
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/cli/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAiB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAAC,IAAc;IAC9C,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,0BAA0B,EAAE,CAAC;IACzC,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAMH;IACA;IANnB,MAAM,CAAC,SAAS,CAAC,SAAqB;QACpC,OAAO,IAAI,WAAW,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,YACmB,KAAiB,EACjB,YAA2B;QAD3B,UAAK,GAAL,KAAK,CAAY;QACjB,iBAAY,GAAZ,YAAY,CAAe;IAC3C,CAAC;IAEJ,GAAG,CAAC,GAAG,IAAc;QACnB,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAS,UAAU,CAAC,CAAC;YAClE,MAAM,aAAa,GAAG,wBAAwB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QAC5F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../src/cli/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,EAAmB,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAiB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAAC,IAAc;IAC9C,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,0BAA0B,EAAE,CAAC;IACzC,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAMH;IACA;IANnB,MAAM,CAAC,SAAS,CAAC,SAAqB;QACpC,OAAO,IAAI,WAAW,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,YACmB,KAAiB,EACjB,YAA2B;QAD3B,UAAK,GAAL,KAAK,CAAY;QACjB,iBAAY,GAAZ,YAAY,CAAe;IAC3C,CAAC;IAEJ,GAAG,CAAC,GAAG,IAAc;QACnB,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAS,UAAU,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACvH,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;gBACzF,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/cli/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE/D,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,EAAE,GAAG,KAAK,QAAQ,EAAE,2DAA+B,CAAC;AAEvF,kEAAkE;AAClE,eAAO,MAAM,SAAS,GAAI,GAAG,KAAK,QAAQ,EAAE,2DAAmC,CAAC"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/cli/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEnE,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,EAAE,GAAG,KAAK,QAAQ,EAAE,2DAAmC,CAAC;AAE3F,kEAAkE;AAClE,eAAO,MAAM,SAAS,GAAI,GAAG,KAAK,QAAQ,EAAE,2DAAmC,CAAC"}
@@ -1,11 +1,11 @@
1
- import { append, hook } from 'ts-ioc-container';
1
+ import { hook, sequential } from 'ts-ioc-container';
2
2
  export const DEFAULT_ACTION = 'default';
3
3
  /**
4
4
  * Registers a method as a named CLI action, e.g. `@action('tag', execute())`
5
5
  * makes `monorepo-semantic-release vcs tag` run it. Wraps ts-ioc-container's
6
6
  * hook(), which takes a map function rather than a list of hooks.
7
7
  */
8
- export const action = (name, ...fns) => hook(name, append(...fns));
8
+ export const action = (name, ...fns) => hook(name, sequential(...fns));
9
9
  /** Runs when the controller is invoked without an action name. */
10
10
  export const onDefault = (...fns) => action(DEFAULT_ACTION, ...fns);
11
11
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/cli/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAiB,MAAM,kBAAkB,CAAC;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAG,GAAe,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAEvF,kEAAkE;AAClE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,GAAe,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/cli/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAiB,MAAM,kBAAkB,CAAC;AAEnE,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAG,GAAe,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAE3F,kEAAkE;AAClE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,GAAe,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC,CAAC"}
@@ -5,20 +5,42 @@ export interface ConventionalCommitJSON {
5
5
  subject: string;
6
6
  isBreaking: boolean;
7
7
  hash: string | null;
8
+ explicitBump?: SemVerBumpType;
8
9
  }
10
+ export declare const PACKAGE_TOKEN = "<package>";
11
+ export interface BumpMatcherRule {
12
+ type?: string;
13
+ scope?: string;
14
+ breaking?: boolean;
15
+ packages?: '*' | string[];
16
+ }
17
+ export interface BumpMatchers {
18
+ major: BumpMatcherRule[];
19
+ minor: BumpMatcherRule[];
20
+ patch: BumpMatcherRule[];
21
+ }
22
+ export declare const DEFAULT_MAJOR_MATCHERS: BumpMatcherRule[];
23
+ export declare const DEFAULT_MINOR_MATCHERS: BumpMatcherRule[];
24
+ export declare const DEFAULT_PATCH_MATCHERS: BumpMatcherRule[];
9
25
  export declare class ConventionalCommit {
10
26
  readonly type: string;
11
27
  readonly scope: string | null;
12
28
  readonly subject: string;
13
29
  readonly isBreaking: boolean;
14
30
  readonly hash: string | null;
15
- constructor(type: string, scope: string | null, subject: string, isBreaking: boolean, hash?: string | null);
31
+ readonly explicitBump: SemVerBumpType | undefined;
32
+ static getExplicitBump(commitMessage: string): SemVerBumpType | undefined;
33
+ constructor(type: string, scope: string | null, subject: string, isBreaking: boolean, hash?: string | null, explicitBump?: SemVerBumpType | undefined);
16
34
  toJSON(): ConventionalCommitJSON;
17
35
  static fromJSON(data: ConventionalCommitJSON): ConventionalCommit;
18
36
  static parse(raw: string): ConventionalCommit;
19
- get bumpType(): SemVerBumpType;
20
- isReleaseTrigger(): boolean;
21
- matchesScope(packageName: string): boolean;
37
+ /** Highest bump level this commit triggers for the given package, or NONE if it matches nothing. */
38
+ bumpMatch(bumpConfig: BumpMatchers, packageName: string): SemVerBumpType;
39
+ /** Whether this commit matches any of the given matchers for the given package. */
40
+ private matchesAny;
41
+ private matchesCriteria;
42
+ private matchesAttribution;
22
43
  }
23
44
  export declare const filterCommitsByType: (commits: ConventionalCommit[], type: string) => ConventionalCommit[];
45
+ export declare const filterCommitsExcludingTypes: (commits: ConventionalCommit[], types: string[]) => ConventionalCommit[];
24
46
  //# sourceMappingURL=ConventionalCommit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConventionalCommit.d.ts","sourceRoot":"","sources":["../../src/domain/ConventionalCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,kBAAkB;IAE3B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;gBAJnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,IAAI,GAAE,MAAM,GAAG,IAAW;IAGrC,MAAM,IAAI,sBAAsB;IAIhC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB;IAIjE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAiB7C,IAAI,QAAQ,IAAI,cAAc,CAK7B;IAED,gBAAgB,IAAI,OAAO;IAI3B,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;CAG3C;AAED,eAAO,MAAM,mBAAmB,GAAI,SAAS,kBAAkB,EAAE,EAAE,MAAM,MAAM,KAAG,kBAAkB,EAAsD,CAAC"}
1
+ {"version":3,"file":"ConventionalCommit.d.ts","sourceRoot":"","sources":["../../src/domain/ConventionalCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B;AAGD,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,sBAAsB,EAAE,eAAe,EAAyB,CAAC;AAC9E,eAAO,MAAM,sBAAsB,EAAE,eAAe,EAA6C,CAAC;AAClG,eAAO,MAAM,sBAAsB,EAAE,eAAe,EAGnD,CAAC;AAEF,qBAAa,kBAAkB;IAU3B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAC5B,QAAQ,CAAC,YAAY,EAAE,cAAc,GAAG,SAAS;IAdnD,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;gBAS9D,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,IAAI,GAAE,MAAM,GAAG,IAAW,EAC1B,YAAY,GAAE,cAAc,GAAG,SAAqB;IAG/D,MAAM,IAAI,sBAAsB;IAQhC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,GAAG,kBAAkB;IAIjE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAmB7C,oGAAoG;IACpG,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc;IAQxE,mFAAmF;IACnF,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,kBAAkB;CAM3B;AAED,eAAO,MAAM,mBAAmB,GAAI,SAAS,kBAAkB,EAAE,EAAE,MAAM,MAAM,KAAG,kBAAkB,EAAsD,CAAC;AAE3J,eAAO,MAAM,2BAA2B,GAAI,SAAS,kBAAkB,EAAE,EAAE,OAAO,MAAM,EAAE,KAAG,kBAAkB,EACrD,CAAC"}
@@ -1,51 +1,104 @@
1
1
  import { SemVerBumpType } from './SemVerBumpType.js';
2
+ // Reserved scope token meaning "equals the name of the package being considered".
3
+ export const PACKAGE_TOKEN = '<package>';
4
+ export const DEFAULT_MAJOR_MATCHERS = [{ breaking: true }];
5
+ export const DEFAULT_MINOR_MATCHERS = [{ type: 'feat', scope: PACKAGE_TOKEN }];
6
+ export const DEFAULT_PATCH_MATCHERS = [
7
+ { type: 'fix', scope: PACKAGE_TOKEN },
8
+ { type: 'perf', scope: PACKAGE_TOKEN },
9
+ ];
2
10
  export class ConventionalCommit {
3
11
  type;
4
12
  scope;
5
13
  subject;
6
14
  isBreaking;
7
15
  hash;
8
- constructor(type, scope, subject, isBreaking, hash = null) {
16
+ explicitBump;
17
+ static getExplicitBump(commitMessage) {
18
+ if (/\[major\]/i.test(commitMessage))
19
+ return SemVerBumpType.MAJOR;
20
+ if (/\[minor\]/i.test(commitMessage))
21
+ return SemVerBumpType.MINOR;
22
+ if (/\[patch\]/i.test(commitMessage))
23
+ return SemVerBumpType.PATCH;
24
+ if (/\[skip-bump\]/i.test(commitMessage))
25
+ return SemVerBumpType.NONE;
26
+ return undefined;
27
+ }
28
+ constructor(type, scope, subject, isBreaking, hash = null, explicitBump = undefined) {
9
29
  this.type = type;
10
30
  this.scope = scope;
11
31
  this.subject = subject;
12
32
  this.isBreaking = isBreaking;
13
33
  this.hash = hash;
34
+ this.explicitBump = explicitBump;
14
35
  }
15
36
  toJSON() {
16
- return { type: this.type, scope: this.scope, subject: this.subject, isBreaking: this.isBreaking, hash: this.hash };
37
+ const json = { type: this.type, scope: this.scope, subject: this.subject, isBreaking: this.isBreaking, hash: this.hash };
38
+ if (this.explicitBump !== undefined) {
39
+ json.explicitBump = this.explicitBump;
40
+ }
41
+ return json;
17
42
  }
18
43
  static fromJSON(data) {
19
- return new ConventionalCommit(data.type, data.scope, data.subject, data.isBreaking, data.hash);
44
+ return new ConventionalCommit(data.type, data.scope, data.subject, data.isBreaking, data.hash, data.explicitBump);
20
45
  }
21
46
  static parse(raw) {
22
47
  const trimmedRaw = raw.trim();
23
48
  const hashMatch = trimmedRaw.match(/^([0-9a-f]{7,40})\s+([\s\S]+)$/i);
24
49
  const commitHash = hashMatch ? hashMatch[1] : null;
25
50
  const commitMessage = hashMatch ? hashMatch[2] : trimmedRaw;
26
- const match = commitMessage.match(/^(\w+)(?:\(([^)]*)\))?(!)?\s*:\s*(.+)$/);
51
+ const explicitBump = ConventionalCommit.getExplicitBump(commitMessage);
52
+ const normalizedMessage = commitMessage.replace(/\[(?:major|minor|patch|skip-bump)\]\s*/i, '').trim();
53
+ const match = normalizedMessage.match(/^(\w+)(?:\(([^)]*)\))?(!)?\s*:\s*(.+)$/);
27
54
  if (!match) {
28
- return new ConventionalCommit('unknown', null, commitMessage, false, commitHash);
55
+ return new ConventionalCommit('unknown', null, commitMessage, false, commitHash, explicitBump);
29
56
  }
30
57
  const [, type, scope, bang, subject] = match;
31
58
  const isBreaking = !!bang || commitMessage.includes('BREAKING CHANGE');
32
- return new ConventionalCommit(type, scope || null, subject, isBreaking, commitHash);
59
+ return new ConventionalCommit(type, scope || null, subject, isBreaking, commitHash, explicitBump);
33
60
  }
34
- get bumpType() {
35
- if (this.isBreaking)
61
+ /** Highest bump level this commit triggers for the given package, or NONE if it matches nothing. */
62
+ bumpMatch(bumpConfig, packageName) {
63
+ if (this.explicitBump !== undefined)
64
+ return this.explicitBump;
65
+ if (this.matchesAny(bumpConfig.major, packageName))
36
66
  return SemVerBumpType.MAJOR;
37
- if (this.type === 'feat')
67
+ if (this.matchesAny(bumpConfig.minor, packageName))
38
68
  return SemVerBumpType.MINOR;
39
- if (this.type === 'fix' || this.type === 'perf')
69
+ if (this.matchesAny(bumpConfig.patch, packageName))
40
70
  return SemVerBumpType.PATCH;
41
71
  return SemVerBumpType.NONE;
42
72
  }
43
- isReleaseTrigger() {
44
- return this.bumpType !== SemVerBumpType.NONE;
73
+ /** Whether this commit matches any of the given matchers for the given package. */
74
+ matchesAny(matchers, packageName) {
75
+ return matchers.some((matcher) => this.matchesCriteria(matcher, packageName) && this.matchesAttribution(matcher, packageName));
76
+ }
77
+ matchesCriteria(matcher, packageName) {
78
+ if (matcher.type !== undefined && this.type !== matcher.type)
79
+ return false;
80
+ if (matcher.breaking !== undefined && this.isBreaking !== matcher.breaking)
81
+ return false;
82
+ if (matcher.scope !== undefined) {
83
+ const expectedScope = matcher.scope === PACKAGE_TOKEN ? packageName : matcher.scope;
84
+ if (this.scope !== expectedScope)
85
+ return false;
86
+ }
87
+ return true;
45
88
  }
46
- matchesScope(packageName) {
89
+ // Scope decides which commits match; `packages` (or, absent it, the scope-equals-package
90
+ // fallback) decides which packages a match releases. The `<package>` token ties both to the
91
+ // same package, so it needs no separate attribution check.
92
+ matchesAttribution(matcher, packageName) {
93
+ if (matcher.scope === PACKAGE_TOKEN)
94
+ return true;
95
+ if (matcher.packages === '*')
96
+ return true;
97
+ if (Array.isArray(matcher.packages))
98
+ return matcher.packages.includes(packageName);
47
99
  return this.scope === packageName;
48
100
  }
49
101
  }
50
102
  export const filterCommitsByType = (commits, type) => commits.filter((commit) => commit.type === type);
103
+ export const filterCommitsExcludingTypes = (commits, types) => commits.filter((commit) => !types.includes(commit.type));
51
104
  //# sourceMappingURL=ConventionalCommit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConventionalCommit.js","sourceRoot":"","sources":["../../src/domain/ConventionalCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAUrD,MAAM,OAAO,kBAAkB;IAElB;IACA;IACA;IACA;IACA;IALX,YACW,IAAY,EACZ,KAAoB,EACpB,OAAe,EACf,UAAmB,EACnB,OAAsB,IAAI;QAJ1B,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAe;QACpB,YAAO,GAAP,OAAO,CAAQ;QACf,eAAU,GAAV,UAAU,CAAS;QACnB,SAAI,GAAJ,IAAI,CAAsB;IAClC,CAAC;IAEJ,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACrH,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAA4B;QAC1C,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAW;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAE5D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QAC7C,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAEvE,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC;QACtD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC;QAC7E,OAAO,cAAc,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,WAAmB;QAC9B,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC;IACpC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAA6B,EAAE,IAAY,EAAwB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"ConventionalCommit.js","sourceRoot":"","sources":["../../src/domain/ConventionalCommit.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,16 @@
39
39
  {{#if this.hash}}({{this.hash}}){{/if}}
40
40
  {{/each}}
41
41
 
42
+ {{/if}}
43
+ {{#if (hasOthers (lookup releasedCommits pkg.name))}}
44
+ ### 📝 Other Changes
45
+
46
+ {{#each (findOthers (lookup releasedCommits pkg.name))}}
47
+ - **{{this.scope}}:**
48
+ {{this.subject}}
49
+ {{#if this.hash}}({{this.hash}}){{/if}}
50
+ {{/each}}
51
+
42
52
  {{/if}}
43
53
  {{#if (call pkg "hasDependencyUpdates" releasedVersions)}}
44
54
  ### 📦 Dependencies
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ export declare const CONFIG_KEY = "report";
3
+ export declare const PLUGIN_CONFIG_SCHEMA: z.ZodObject<{
4
+ bumps: z.ZodDefault<z.ZodObject<{
5
+ major: z.ZodDefault<z.ZodArray<z.ZodObject<{
6
+ type: z.ZodOptional<z.ZodString>;
7
+ scope: z.ZodOptional<z.ZodString>;
8
+ breaking: z.ZodOptional<z.ZodBoolean>;
9
+ packages: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodString>]>>;
10
+ }, z.core.$strip>>>;
11
+ minor: z.ZodDefault<z.ZodArray<z.ZodObject<{
12
+ type: z.ZodOptional<z.ZodString>;
13
+ scope: z.ZodOptional<z.ZodString>;
14
+ breaking: z.ZodOptional<z.ZodBoolean>;
15
+ packages: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodString>]>>;
16
+ }, z.core.$strip>>>;
17
+ patch: z.ZodDefault<z.ZodArray<z.ZodObject<{
18
+ type: z.ZodOptional<z.ZodString>;
19
+ scope: z.ZodOptional<z.ZodString>;
20
+ breaking: z.ZodOptional<z.ZodBoolean>;
21
+ packages: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"*">, z.ZodArray<z.ZodString>]>>;
22
+ }, z.core.$strip>>>;
23
+ }, z.core.$strip>>;
24
+ }, z.core.$strip>;
25
+ export type PluginConfig = z.infer<typeof PLUGIN_CONFIG_SCHEMA>;
26
+ //# sourceMappingURL=ReportConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportConfig.d.ts","sourceRoot":"","sources":["../../../src/features/report/ReportConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,UAAU,WAAW,CAAC;AASnC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;iBAQ/B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ import { DEFAULT_MAJOR_MATCHERS, DEFAULT_MINOR_MATCHERS, DEFAULT_PATCH_MATCHERS } from '../../domain/ConventionalCommit.js';
3
+ export const CONFIG_KEY = 'report';
4
+ const BUMP_MATCHER_SCHEMA = z.object({
5
+ type: z.string().optional(),
6
+ scope: z.string().optional(),
7
+ breaking: z.boolean().optional(),
8
+ packages: z.union([z.literal('*'), z.array(z.string())]).optional(),
9
+ });
10
+ export const PLUGIN_CONFIG_SCHEMA = z.object({
11
+ bumps: z
12
+ .object({
13
+ major: z.array(BUMP_MATCHER_SCHEMA).default(DEFAULT_MAJOR_MATCHERS),
14
+ minor: z.array(BUMP_MATCHER_SCHEMA).default(DEFAULT_MINOR_MATCHERS),
15
+ patch: z.array(BUMP_MATCHER_SCHEMA).default(DEFAULT_PATCH_MATCHERS),
16
+ })
17
+ .default({ major: DEFAULT_MAJOR_MATCHERS, minor: DEFAULT_MINOR_MATCHERS, patch: DEFAULT_PATCH_MATCHERS }),
18
+ });
19
+ //# sourceMappingURL=ReportConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportConfig.js","sourceRoot":"","sources":["../../../src/features/report/ReportConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5H,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC;AAEnC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACpE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;QACnE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;QACnE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;KACpE,CAAC;SACD,OAAO,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;CAC5G,CAAC,CAAC"}
@@ -1,15 +1,18 @@
1
1
  import { IContainer } from 'ts-ioc-container';
2
+ import { z } from 'zod';
2
3
  import { NpmPackage } from '../../domain/NpmPackage.js';
3
4
  import { VSCService } from '../vcs/services/VSCService.js';
4
5
  import { ILogger } from '../../services/ConsoleLogger.js';
5
6
  import { OutputService } from '../../services/OutputService.js';
7
+ import { PLUGIN_CONFIG_SCHEMA } from './ReportConfig.js';
6
8
  export declare const resolvePublicPackages: (container: IContainer) => NpmPackage[];
7
9
  export declare class ReportController {
8
10
  private vsc;
9
11
  private logger;
10
12
  private output;
11
13
  private publicPackages;
12
- constructor(vsc: VSCService, logger: ILogger, output: OutputService, publicPackages: NpmPackage[]);
14
+ private config;
15
+ constructor(vsc: VSCService, logger: ILogger, output: OutputService, publicPackages: NpmPackage[], config: z.infer<typeof PLUGIN_CONFIG_SCHEMA>);
13
16
  generate(): void;
14
17
  private logStep;
15
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReportController.d.ts","sourceRoot":"","sources":["../../../src/features/report/ReportController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,UAAU,EAA+B,MAAM,4BAA4B,CAAC;AAErF,OAAO,EAAE,UAAU,EAAiB,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAc,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAoB,MAAM,iCAAiC,CAAC;AAalF,eAAO,MAAM,qBAAqB,GAAI,WAAW,UAAU,KAAG,UAAU,EAQvE,CAAC;AAEF,qBACa,gBAAgB;IAEF,OAAO,CAAC,GAAG;IACC,OAAO,CAAC,MAAM;IACvB,OAAO,CAAC,MAAM;IACT,OAAO,CAAC,cAAc;gBAHtB,GAAG,EAAE,UAAU,EACH,MAAM,EAAE,OAAO,EACxB,MAAM,EAAE,aAAa,EAChB,cAAc,EAAE,UAAU,EAAE;IAQrE,QAAQ,IAAI,IAAI;IAsChB,OAAO,CAAC,OAAO;CAGhB"}
1
+ {"version":3,"file":"ReportController.d.ts","sourceRoot":"","sources":["../../../src/features/report/ReportController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAA+B,MAAM,4BAA4B,CAAC;AAErF,OAAO,EAAE,UAAU,EAAiB,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAc,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAoB,MAAM,iCAAiC,CAAC;AAQlF,OAAO,EAAc,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAOrE,eAAO,MAAM,qBAAqB,GAAI,WAAW,UAAU,KAAG,UAAU,EAQvE,CAAC;AAEF,qBACa,gBAAgB;IAEF,OAAO,CAAC,GAAG;IACC,OAAO,CAAC,MAAM;IACvB,OAAO,CAAC,MAAM;IACT,OAAO,CAAC,cAAc;IACW,OAAO,CAAC,MAAM;gBAJ/C,GAAG,EAAE,UAAU,EACH,MAAM,EAAE,OAAO,EACxB,MAAM,EAAE,aAAa,EAChB,cAAc,EAAE,UAAU,EAAE,EACK,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;IAQtH,QAAQ,IAAI,IAAI;IA0ChB,OAAO,CAAC,OAAO;CAGhB"}
@@ -11,6 +11,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  import { inject, register } from 'ts-ioc-container';
14
+ import { z } from 'zod';
14
15
  import { NpmPackage } from '../../domain/NpmPackage.js';
15
16
  import { IFileSystemServiceKey } from '../../services/NodeFileSystemService.js';
16
17
  import { VSCServiceKey } from '../vcs/services/VSCService.js';
@@ -21,6 +22,8 @@ import { action, execute, onDefault } from '../../cli/index.js';
21
22
  import { sortLessDependenciesFirst } from '../../utils/sortLessDependenciesFirst.js';
22
23
  import { bumpTypeToString, SemVerBumpType } from '../../domain/SemVerBumpType.js';
23
24
  import { serializeContext } from '../../domain/ReleaseControllerContext.js';
25
+ import { pluginsConfigService } from '../../services/PluginsConfigService.js';
26
+ import { CONFIG_KEY, PLUGIN_CONFIG_SCHEMA } from './ReportConfig.js';
24
27
  // Arrow function, not `function`: ts-ioc-container's token resolver treats any
25
28
  // function with a `.prototype` as a class to `new`, which a plain function
26
29
  // declaration has and an arrow function does not. Declared before the class
@@ -40,11 +43,13 @@ let ReportController = class ReportController {
40
43
  logger;
41
44
  output;
42
45
  publicPackages;
43
- constructor(vsc, logger, output, publicPackages) {
46
+ config;
47
+ constructor(vsc, logger, output, publicPackages, config) {
44
48
  this.vsc = vsc;
45
49
  this.logger = logger;
46
50
  this.output = output;
47
51
  this.publicPackages = publicPackages;
52
+ this.config = config;
48
53
  }
49
54
  // No options parameter: `report` only reads the repository, so it has
50
55
  // nothing for --dry-run to suppress. Nothing parses argv for this action,
@@ -61,9 +66,13 @@ let ReportController = class ReportController {
61
66
  const releasedVersions = new Map();
62
67
  const releasedCommits = new Map();
63
68
  for (const pkg of this.publicPackages) {
64
- const pkgReleaseCommits = this.vsc.findManyCommitsSinceTag(pkg.getCommitTag()).filter((c) => c.matchesScope(pkg.name) && c.isReleaseTrigger());
69
+ const commitsSinceTag = this.vsc.findManyCommitsSinceTag(pkg.getCommitTag());
70
+ const commitBumps = commitsSinceTag
71
+ .map((c) => [c, c.bumpMatch(this.config.bumps, pkg.name)])
72
+ .filter(([, level]) => level !== SemVerBumpType.NONE);
73
+ const pkgReleaseCommits = commitBumps.map(([c]) => c);
65
74
  const dependencyUpdates = pkg.getDependencyUpdates(releasedVersions);
66
- const versionBump = Math.max(...pkgReleaseCommits.map((c) => c.bumpType), dependencyUpdates.length ? SemVerBumpType.MINOR : SemVerBumpType.NONE);
75
+ const versionBump = Math.max(...commitBumps.map(([, level]) => level), dependencyUpdates.length ? SemVerBumpType.MINOR : SemVerBumpType.NONE);
67
76
  if (versionBump === SemVerBumpType.NONE) {
68
77
  this.logStep('SKIP', `${pkg.name}@${pkg.version}`);
69
78
  continue;
@@ -101,7 +110,8 @@ ReportController = __decorate([
101
110
  __param(1, inject(ILoggerKey.args('report'))),
102
111
  __param(2, inject(OutputServiceKey)),
103
112
  __param(3, inject(resolvePublicPackages)),
104
- __metadata("design:paramtypes", [Object, Object, Object, Array])
113
+ __param(4, inject(pluginsConfigService(CONFIG_KEY, PLUGIN_CONFIG_SCHEMA))),
114
+ __metadata("design:paramtypes", [Object, Object, Object, Array, Object])
105
115
  ], ReportController);
106
116
  export { ReportController };
107
117
  //# sourceMappingURL=ReportController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReportController.js","sourceRoot":"","sources":["../../../src/features/report/ReportController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReportController.js","sourceRoot":"","sources":["../../../src/features/report/ReportController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAW1B,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,SAAgB,GAAG,MAAM,CAiBlE;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAW1B,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,SAAgB,GAAG,MAAM,CAgBlE;AAED,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import 'reflect-metadata';
2
- import { AddOnConstructHookModule, Container } from 'ts-ioc-container';
2
+ import { Container } from 'ts-ioc-container';
3
3
  import { CommonModule } from './modules/CommonModule.js';
4
4
  import { VCSModule } from './features/vcs/VCSModule.js';
5
5
  import { ReleaseNotesModule } from './features/releaseNotes/ReleaseNotesModule.js';
@@ -10,7 +10,6 @@ import { ReportModule } from './features/report/ReportModule.js';
10
10
  import { Application } from './cli/Application.js';
11
11
  export function runCli(args, cwd = process.cwd()) {
12
12
  const container = new Container({ tags: ['root'] })
13
- .useModule(new AddOnConstructHookModule())
14
13
  .useModule(new CommonModule({ cwd }))
15
14
  .useModule(new ReportModule())
16
15
  .useModule(new VCSModule())
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,UAAU,MAAM,CAAC,IAAc,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACxD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SAChD,SAAS,CAAC,IAAI,wBAAwB,EAAE,CAAC;SACzC,SAAS,CAAC,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;SACpC,SAAS,CAAC,IAAI,YAAY,EAAE,CAAC;SAC7B,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;SAC1B,SAAS,CAAC,IAAI,kBAAkB,EAAE,CAAC;SACnC,SAAS,CAAC,IAAI,oBAAoB,EAAE,CAAC;SACrC,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;SAChC,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAEtC,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAEjB,wEAAwE;IACxE,0CAA0C;IAC1C,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,UAAU,MAAM,CAAC,IAAc,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACxD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SAChD,SAAS,CAAC,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;SACpC,SAAS,CAAC,IAAI,YAAY,EAAE,CAAC;SAC7B,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;SAC1B,SAAS,CAAC,IAAI,kBAAkB,EAAE,CAAC;SACnC,SAAS,CAAC,IAAI,oBAAoB,EAAE,CAAC;SACrC,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;SAChC,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;IAEtC,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IAEjB,wEAAwE;IACxE,0CAA0C;IAC1C,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleLogger.d.ts","sourceRoot":"","sources":["../../src/services/ConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAA0B,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAYvE,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAChC;AAID,eAAO,MAAM,UAAU,sBAA4C,CAAC;AAEpE,qBACa,aAAc,YAAW,OAAO;IAId,OAAO,CAAC,KAAK;gBAAL,KAAK,GAAE,MAAkB;IAE9D,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,yBAAyB;IAWjC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;CAQxB"}
1
+ {"version":3,"file":"ConsoleLogger.d.ts","sourceRoot":"","sources":["../../src/services/ConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAyB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAYtE,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAChC;AAID,eAAO,MAAM,UAAU,sBAA4C,CAAC;AAEpE,qBACa,aAAc,YAAW,OAAO;IAGf,OAAO,CAAC,KAAK;gBAAL,KAAK,GAAE,MAAkB;IAE7D,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,yBAAyB;IAWjC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;CAQxB"}
@@ -11,7 +11,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  import 'reflect-metadata';
14
- import { args, inject, register, SingleToken } from 'ts-ioc-container';
14
+ import { arg, inject, register, SingleToken } from 'ts-ioc-container';
15
15
  const STEP_FORMAT = {
16
16
  SKIP: { emoji: '⚠', color: 33 },
17
17
  BUMP: { emoji: '🚀', color: 32 },
@@ -24,9 +24,8 @@ const STEP_FORMAT = {
24
24
  export const ILoggerKey = new SingleToken('ReleaseLogger');
25
25
  let ConsoleLogger = class ConsoleLogger {
26
26
  topic;
27
- // Callers inject via ILoggerKey.args('<topic>'); @inject(args(0)) is what
28
- // actually reads that extra resolution argument back out — an undecorated
29
- // parameter gets no metadata at all and silently falls back to its default.
27
+ // Callers inject via ILoggerKey.args('<topic>'); arg(0) selects the first
28
+ // extra resolution argument and falls back to the default when it is absent.
30
29
  constructor(topic = 'release') {
31
30
  this.topic = topic;
32
31
  }
@@ -59,7 +58,7 @@ let ConsoleLogger = class ConsoleLogger {
59
58
  };
60
59
  ConsoleLogger = __decorate([
61
60
  register(ILoggerKey),
62
- __param(0, inject(args(0))),
61
+ __param(0, inject(arg(0))),
63
62
  __metadata("design:paramtypes", [String])
64
63
  ], ConsoleLogger);
65
64
  export { ConsoleLogger };
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleLogger.js","sourceRoot":"","sources":["../../src/services/ConsoleLogger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIvE,MAAM,WAAW,GAAuD;IACtE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/B,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;IAChC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;IACjC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;IAClC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;CACjC,CAAC;AAMF,iFAAiF;AACjF,sEAAsE;AACtE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,WAAW,CAAU,eAAe,CAAC,CAAC;AAG7D,IAAM,aAAa,GAAnB,MAAM,aAAa;IAIa;IAHrC,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,YAAqC,QAAgB,SAAS;QAAzB,UAAK,GAAL,KAAK,CAAoB;IAAG,CAAC;IAE1D,aAAa;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAChE,CAAC;IAEO,KAAK,CAAC,IAAY,EAAE,SAAiB;QAC3C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,SAAS,IAAI,IAAI,WAAW,CAAC;IAChD,CAAC;IAEO,yBAAyB,CAAC,OAAe;QAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAa,CAAC;QAClC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,GAAG,IAAe;QACrB,yEAAyE;QACzE,oEAAoE;QACpE,qEAAqE;QACrE,sDAAsD;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC;IACpD,CAAC;CACF,CAAA;AArCY,aAAa;IADzB,QAAQ,CAAC,UAAU,CAAC;IAKN,WAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;;GAJjB,aAAa,CAqCzB"}
1
+ {"version":3,"file":"ConsoleLogger.js","sourceRoot":"","sources":["../../src/services/ConsoleLogger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAItE,MAAM,WAAW,GAAuD;IACtE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/B,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;IAChC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;IACjC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;IAClC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;CACjC,CAAC;AAMF,iFAAiF;AACjF,sEAAsE;AACtE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,WAAW,CAAU,eAAe,CAAC,CAAC;AAG7D,IAAM,aAAa,GAAnB,MAAM,aAAa;IAGY;IAFpC,0EAA0E;IAC1E,6EAA6E;IAC7E,YAAoC,QAAgB,SAAS;QAAzB,UAAK,GAAL,KAAK,CAAoB;IAAG,CAAC;IAEzD,aAAa;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAChE,CAAC;IAEO,KAAK,CAAC,IAAY,EAAE,SAAiB;QAC3C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,SAAS,IAAI,IAAI,WAAW,CAAC;IAChD,CAAC;IAEO,yBAAyB,CAAC,OAAe;QAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAa,CAAC;QAClC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,GAAG,IAAe;QACrB,yEAAyE;QACzE,oEAAoE;QACpE,qEAAqE;QACrE,sDAAsD;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC;IACpD,CAAC;CACF,CAAA;AApCY,aAAa;IADzB,QAAQ,CAAC,UAAU,CAAC;IAIN,WAAA,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;;GAHhB,aAAa,CAoCzB"}
@@ -22,6 +22,8 @@ export declare class HandlebarsRenderService implements IRenderService {
22
22
  registerFindBreakingHelper(): void;
23
23
  registerHasPerformanceHelper(): void;
24
24
  registerFindPerformanceHelper(): void;
25
+ registerHasOthersHelper(): void;
26
+ registerFindOthersHelper(): void;
25
27
  registerLookupHelper(): void;
26
28
  registerCallHelper(): void;
27
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HandlebarsRenderService.d.ts","sourceRoot":"","sources":["../../src/services/HandlebarsRenderService.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAQ1B,OAAO,EAAiC,WAAW,EAAa,MAAM,kBAAkB,CAAC;AAIzF,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;CAChF;AAED,eAAO,MAAM,iBAAiB,6BAAoD,CAAC;AAEnF,qBACa,uBAAwB,YAAW,cAAc;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAErE,OAAO,CAAC,mBAAmB;IAI3B,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAO9E,iBAAiB,IAAI,IAAI;IAKzB,gCAAgC,IAAI,IAAI;IAKxC,yBAAyB,IAAI,IAAI;IAKjC,0BAA0B,IAAI,IAAI;IAKlC,sBAAsB,IAAI,IAAI;IAK9B,uBAAuB,IAAI,IAAI;IAK/B,0BAA0B,IAAI,IAAI;IAKlC,4BAA4B,IAAI,IAAI;IAKpC,6BAA6B,IAAI,IAAI;IAKrC,oBAAoB,IAAI,IAAI;IAa5B,kBAAkB,IAAI,IAAI;CAgB3B"}
1
+ {"version":3,"file":"HandlebarsRenderService.d.ts","sourceRoot":"","sources":["../../src/services/HandlebarsRenderService.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAO1B,OAAO,EAAoB,WAAW,EAAa,MAAM,kBAAkB,CAAC;AAK5E,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;CAChF;AAED,eAAO,MAAM,iBAAiB,6BAAoD,CAAC;AAEnF,qBACa,uBAAwB,YAAW,cAAc;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAErE,OAAO,CAAC,mBAAmB;IAI3B,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAO9E,iBAAiB,IAAI,IAAI;IAKzB,gCAAgC,IAAI,IAAI;IAKxC,yBAAyB,IAAI,IAAI;IAKjC,0BAA0B,IAAI,IAAI;IAKlC,sBAAsB,IAAI,IAAI;IAK9B,uBAAuB,IAAI,IAAI;IAK/B,0BAA0B,IAAI,IAAI;IAKlC,4BAA4B,IAAI,IAAI;IAKpC,6BAA6B,IAAI,IAAI;IAKrC,uBAAuB,IAAI,IAAI;IAK/B,wBAAwB,IAAI,IAAI;IAKhC,oBAAoB,IAAI,IAAI;IAa5B,kBAAkB,IAAI,IAAI;CAgB3B"}
@@ -14,9 +14,10 @@ import 'reflect-metadata';
14
14
  import { execute } from '../cli/execute.js';
15
15
  import { readFileSync } from 'node:fs';
16
16
  import Handlebars from 'handlebars';
17
- import { filterCommitsByType } from '../domain/ConventionalCommit.js';
17
+ import { filterCommitsByType, filterCommitsExcludingTypes } from '../domain/ConventionalCommit.js';
18
18
  import { TemplateInvocationTargetException, TemplateMethodNotFunctionException } from '../exceptions/DomainException.js';
19
- import { inject, onConstruct, register, SingleToken, singleton } from 'ts-ioc-container';
19
+ import { inject, register, SingleToken, singleton } from 'ts-ioc-container';
20
+ import { onResolveOnce, resolved } from '../utils/ts-ioc-container.js';
20
21
  import { globalConfig } from '../domain/GlobalConfig.js';
21
22
  import path from 'node:path';
22
23
  export const IRenderServiceKey = new SingleToken('IRenderService');
@@ -60,6 +61,12 @@ let HandlebarsRenderService = class HandlebarsRenderService {
60
61
  registerFindPerformanceHelper() {
61
62
  Handlebars.registerHelper('findPerformance', (commits) => filterCommitsByType(commits, 'perf'));
62
63
  }
64
+ registerHasOthersHelper() {
65
+ Handlebars.registerHelper('hasOthers', (commits) => filterCommitsExcludingTypes(commits, ['feat', 'fix', 'perf']).length > 0);
66
+ }
67
+ registerFindOthersHelper() {
68
+ Handlebars.registerHelper('findOthers', (commits) => filterCommitsExcludingTypes(commits, ['feat', 'fix', 'perf']));
69
+ }
63
70
  registerLookupHelper() {
64
71
  Handlebars.registerHelper('lookup', (container, key) => {
65
72
  if (container instanceof Map) {
@@ -87,73 +94,85 @@ let HandlebarsRenderService = class HandlebarsRenderService {
87
94
  }
88
95
  };
89
96
  __decorate([
90
- onConstruct(execute()),
97
+ onResolveOnce(execute()),
91
98
  __metadata("design:type", Function),
92
99
  __metadata("design:paramtypes", []),
93
100
  __metadata("design:returntype", void 0)
94
101
  ], HandlebarsRenderService.prototype, "registerNowHelper", null);
95
102
  __decorate([
96
- onConstruct(execute()),
103
+ onResolveOnce(execute()),
97
104
  __metadata("design:type", Function),
98
105
  __metadata("design:paramtypes", []),
99
106
  __metadata("design:returntype", void 0)
100
107
  ], HandlebarsRenderService.prototype, "registerHasBreakingChangesHelper", null);
101
108
  __decorate([
102
- onConstruct(execute()),
109
+ onResolveOnce(execute()),
103
110
  __metadata("design:type", Function),
104
111
  __metadata("design:paramtypes", []),
105
112
  __metadata("design:returntype", void 0)
106
113
  ], HandlebarsRenderService.prototype, "registerHasFeaturesHelper", null);
107
114
  __decorate([
108
- onConstruct(execute()),
115
+ onResolveOnce(execute()),
109
116
  __metadata("design:type", Function),
110
117
  __metadata("design:paramtypes", []),
111
118
  __metadata("design:returntype", void 0)
112
119
  ], HandlebarsRenderService.prototype, "registerFindFeaturesHelper", null);
113
120
  __decorate([
114
- onConstruct(execute()),
121
+ onResolveOnce(execute()),
115
122
  __metadata("design:type", Function),
116
123
  __metadata("design:paramtypes", []),
117
124
  __metadata("design:returntype", void 0)
118
125
  ], HandlebarsRenderService.prototype, "registerHasFixesHelper", null);
119
126
  __decorate([
120
- onConstruct(execute()),
127
+ onResolveOnce(execute()),
121
128
  __metadata("design:type", Function),
122
129
  __metadata("design:paramtypes", []),
123
130
  __metadata("design:returntype", void 0)
124
131
  ], HandlebarsRenderService.prototype, "registerFindFixesHelper", null);
125
132
  __decorate([
126
- onConstruct(execute()),
133
+ onResolveOnce(execute()),
127
134
  __metadata("design:type", Function),
128
135
  __metadata("design:paramtypes", []),
129
136
  __metadata("design:returntype", void 0)
130
137
  ], HandlebarsRenderService.prototype, "registerFindBreakingHelper", null);
131
138
  __decorate([
132
- onConstruct(execute()),
139
+ onResolveOnce(execute()),
133
140
  __metadata("design:type", Function),
134
141
  __metadata("design:paramtypes", []),
135
142
  __metadata("design:returntype", void 0)
136
143
  ], HandlebarsRenderService.prototype, "registerHasPerformanceHelper", null);
137
144
  __decorate([
138
- onConstruct(execute()),
145
+ onResolveOnce(execute()),
139
146
  __metadata("design:type", Function),
140
147
  __metadata("design:paramtypes", []),
141
148
  __metadata("design:returntype", void 0)
142
149
  ], HandlebarsRenderService.prototype, "registerFindPerformanceHelper", null);
143
150
  __decorate([
144
- onConstruct(execute()),
151
+ onResolveOnce(execute()),
152
+ __metadata("design:type", Function),
153
+ __metadata("design:paramtypes", []),
154
+ __metadata("design:returntype", void 0)
155
+ ], HandlebarsRenderService.prototype, "registerHasOthersHelper", null);
156
+ __decorate([
157
+ onResolveOnce(execute()),
158
+ __metadata("design:type", Function),
159
+ __metadata("design:paramtypes", []),
160
+ __metadata("design:returntype", void 0)
161
+ ], HandlebarsRenderService.prototype, "registerFindOthersHelper", null);
162
+ __decorate([
163
+ onResolveOnce(execute()),
145
164
  __metadata("design:type", Function),
146
165
  __metadata("design:paramtypes", []),
147
166
  __metadata("design:returntype", void 0)
148
167
  ], HandlebarsRenderService.prototype, "registerLookupHelper", null);
149
168
  __decorate([
150
- onConstruct(execute()),
169
+ onResolveOnce(execute()),
151
170
  __metadata("design:type", Function),
152
171
  __metadata("design:paramtypes", []),
153
172
  __metadata("design:returntype", void 0)
154
173
  ], HandlebarsRenderService.prototype, "registerCallHelper", null);
155
174
  HandlebarsRenderService = __decorate([
156
- register(IRenderServiceKey, singleton()),
175
+ register(IRenderServiceKey, singleton(), resolved()),
157
176
  __param(0, inject(globalConfig('cwd'))),
158
177
  __metadata("design:paramtypes", [String])
159
178
  ], HandlebarsRenderService);
@@ -1 +1 @@
1
- {"version":3,"file":"HandlebarsRenderService.js","sourceRoot":"","sources":["../../src/services/HandlebarsRenderService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HandlebarsRenderService.js","sourceRoot":"","sources":["../../src/services/HandlebarsRenderService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAsB,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AACvH,OAAO,EAAE,iCAAiC,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AACzH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAiB,gBAAgB,CAAC,CAAC;AAG5E,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IACwB;IAA1D,YAA0D,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAEjE,mBAAmB,CAAC,KAAa,EAAE,UAA4B,EAAE;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,YAAoB,EAAE,IAAY,EAAE,OAA0B;QACnE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAGD,iBAAiB;QACf,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAGD,gCAAgC;QAC9B,UAAU,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAClI,CAAC;IAGD,yBAAyB;QACvB,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/H,CAAC;IAGD,0BAA0B;QACxB,UAAU,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACrH,CAAC;IAGD,sBAAsB;QACpB,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3H,CAAC;IAGD,uBAAuB;QACrB,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACjH,CAAC;IAGD,0BAA0B;QACxB,UAAU,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACrI,CAAC;IAGD,4BAA4B;QAC1B,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClI,CAAC;IAGD,6BAA6B;QAC3B,UAAU,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACxH,CAAC;IAGD,uBAAuB;QACrB,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtJ,CAAC;IAGD,wBAAwB;QACtB,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5I,CAAC;IAGD,oBAAoB;QAClB,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,SAAkB,EAAE,GAAY,EAAE,EAAE;YACvE,IAAI,SAAS,YAAY,GAAG,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC/C,OAAQ,SAAqC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,kBAAkB;QAChB,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,MAAe,EAAE,UAAmB,EAAE,GAAG,IAAe,EAAE,EAAE;YAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,IAAI,iCAAiC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,MAAM,GAAI,MAAkC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACvE,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,IAAI,kCAAkC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,KAAK,OAAO,CAAC;YACb,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AApFC;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;gEAGxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;+EAGxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;wEAGxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;yEAGxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;qEAGxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;sEAGxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;yEAGxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;2EAGxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;4EAGxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;sEAGxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;uEAGxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;mEAWxB;AAGD;IADC,aAAa,CAAC,OAAO,EAAE,CAAC;;;;iEAgBxB;AAjGU,uBAAuB;IADnC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC;IAEtC,WAAA,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;;GAD7B,uBAAuB,CAkGnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PluginsConfigService.d.ts","sourceRoot":"","sources":["../../src/services/PluginsConfigService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA+C,WAAW,EAAa,MAAM,kBAAkB,CAAC;AACnH,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAKjC,OAAO,EAAE,OAAO,EAAc,MAAM,oBAAoB,CAAC;AAGzD,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAClE;AAED,eAAO,MAAM,wBAAwB,oCAAkE,CAAC;AACxG,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,EAAE,QAAQ,OAAO,MAAM,GAAG,UAAU,YAA+D,CAAC;AAEpJ,qBACa,oBAAqB,YAAW,qBAAqB;IAIjC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ5D,OAAO,CAAC,MAAM,CAA+B;gBAGG,GAAG,EAAE,MAAM,EACL,MAAM,EAAE,OAAO;IAIrE,yBAAyB;IAezB,kBAAkB;IAalB,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAQhE,OAAO,CAAC,cAAc;CAOvB"}
1
+ {"version":3,"file":"PluginsConfigService.d.ts","sourceRoot":"","sources":["../../src/services/PluginsConfigService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkC,WAAW,EAAa,MAAM,kBAAkB,CAAC;AAGtG,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAIjC,OAAO,EAAE,OAAO,EAAc,MAAM,oBAAoB,CAAC;AAGzD,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAClE;AAED,eAAO,MAAM,wBAAwB,oCAAkE,CAAC;AACxG,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,EAAE,QAAQ,OAAO,MAAM,GAAG,UAAU,YAA+D,CAAC;AAEpJ,qBACa,oBAAqB,YAAW,qBAAqB;IAIjC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ5D,OAAO,CAAC,MAAM,CAA+B;gBAGG,GAAG,EAAE,MAAM,EACL,MAAM,EAAE,OAAO;IAIrE,yBAAyB;IAezB,kBAAkB;IAalB,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAQhE,OAAO,CAAC,cAAc;CAOvB"}
@@ -11,9 +11,10 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  var _a;
14
- import { inject, onConstruct, register, shallowCache, SingleToken, singleton } from 'ts-ioc-container';
15
- import { z } from 'zod';
14
+ import { inject, register, shallowCache, SingleToken, singleton } from 'ts-ioc-container';
16
15
  import { execute } from '../cli/execute.js';
16
+ import { onResolveOnce, resolved } from '../utils/ts-ioc-container.js';
17
+ import { z } from 'zod';
17
18
  import path from 'node:path';
18
19
  import { globalConfig } from '../domain/GlobalConfig.js';
19
20
  import * as fs from 'node:fs';
@@ -69,13 +70,13 @@ let PluginsConfigService = class PluginsConfigService {
69
70
  }
70
71
  };
71
72
  __decorate([
72
- onConstruct(execute()),
73
+ onResolveOnce(execute()),
73
74
  __metadata("design:type", Function),
74
75
  __metadata("design:paramtypes", []),
75
76
  __metadata("design:returntype", void 0)
76
77
  ], PluginsConfigService.prototype, "loadConfigFromPackageJson", null);
77
78
  __decorate([
78
- onConstruct(execute()),
79
+ onResolveOnce(execute()),
79
80
  __metadata("design:type", Function),
80
81
  __metadata("design:paramtypes", []),
81
82
  __metadata("design:returntype", void 0)
@@ -87,7 +88,7 @@ __decorate([
87
88
  __metadata("design:returntype", Object)
88
89
  ], PluginsConfigService.prototype, "getConfig", null);
89
90
  PluginsConfigService = __decorate([
90
- register(IPluginsConfigServiceKey, singleton()),
91
+ register(IPluginsConfigServiceKey, singleton(), resolved()),
91
92
  __param(0, inject(globalConfig('cwd'))),
92
93
  __param(1, inject(ILoggerKey.args('config'))),
93
94
  __metadata("design:paramtypes", [String, Object])
@@ -1 +1 @@
1
- {"version":3,"file":"PluginsConfigService.js","sourceRoot":"","sources":["../../src/services/PluginsConfigService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PluginsConfigService.js","sourceRoot":"","sources":["../../src/services/PluginsConfigService.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
- import { IContainer, ProviderOptions } from 'ts-ioc-container';
2
- /**
3
- * Injects the raw process arguments the Application handed to the hook
4
- * context. Meant as the head of an `@inject(commandArgs, ...)` pipe: the
5
- * mappers that follow turn the argv into a validated options object.
6
- */
1
+ import { type HookType, IContainer, type ProviderOptions, type ProviderPipe } from 'ts-ioc-container';
7
2
  export declare const commandArgs: (c: IContainer, { args }: ProviderOptions) => string[];
3
+ export declare const onResolveOnce: (...hooks: HookType[]) => (target: object, propertyKey: string | symbol) => void;
4
+ export declare const resolved: <T = unknown>() => ProviderPipe<T>;
8
5
  //# sourceMappingURL=ts-ioc-container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ts-ioc-container.d.ts","sourceRoot":"","sources":["../../src/utils/ts-ioc-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,UAAU,EAAE,UAAe,eAAe,KAAG,MAAM,EAAsB,CAAC"}
1
+ {"version":3,"file":"ts-ioc-container.d.ts","sourceRoot":"","sources":["../../src/utils/ts-ioc-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACb,UAAU,EAIV,KAAK,eAAe,EACpB,KAAK,YAAY,EAIlB,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,WAAW,GAAI,GAAG,UAAU,EAAE,UAAe,eAAe,KAAG,MAAM,EAAsB,CAAC;AAEzG,eAAO,MAAM,aAAa,GAAI,GAAG,OAAO,QAAQ,EAAE,2DAA6D,CAAC;AAShH,eAAO,MAAM,QAAQ,GAAI,CAAC,GAAG,OAAO,OAAK,YAAY,CAAC,CAAC,CAAkC,CAAC"}
@@ -1,7 +1,11 @@
1
- /**
2
- * Injects the raw process arguments the Application handed to the hook
3
- * context. Meant as the head of an `@inject(commandArgs, ...)` pipe: the
4
- * mappers that follow turn the argv into a validated options object.
5
- */
1
+ import { hook, HookCollector, Is, oncePerInstance, onResolve, runAtOnce, sequential, toTask, } from 'ts-ioc-container';
6
2
  export const commandArgs = (c, { args = [] }) => args.map(String);
3
+ export const onResolveOnce = (...hooks) => hook('onResolve', oncePerInstance(sequential(...hooks)));
4
+ const onResolveHookCollector = new HookCollector({ key: 'onResolve' });
5
+ const runResolveHooks = (dependency, scope) => {
6
+ if (!Is.object(dependency))
7
+ return;
8
+ runAtOnce(onResolveHookCollector.getActions(dependency, { scope }).map(toTask));
9
+ };
10
+ export const resolved = () => onResolve(runResolveHooks);
7
11
  //# sourceMappingURL=ts-ioc-container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ts-ioc-container.js","sourceRoot":"","sources":["../../src/utils/ts-ioc-container.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAa,EAAE,EAAE,IAAI,GAAG,EAAE,EAAmB,EAAY,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"ts-ioc-container.js","sourceRoot":"","sources":["../../src/utils/ts-ioc-container.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,aAAa,EAGb,EAAE,EACF,eAAe,EACf,SAAS,EAGT,SAAS,EACT,UAAU,EACV,MAAM,GACP,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAa,EAAE,EAAE,IAAI,GAAG,EAAE,EAAmB,EAAY,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAG,KAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAEhH,MAAM,sBAAsB,GAAG,IAAI,aAAa,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;AAEvE,MAAM,eAAe,GAAG,CAAC,UAAmB,EAAE,KAAiB,EAAQ,EAAE;IACvE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO;IACnC,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAClF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAiC,EAAE,CAAC,SAAS,CAAI,eAAe,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-monorepo-semantically",
3
- "version": "1.10.0",
3
+ "version": "1.12.0",
4
4
  "description": "cli commands to manage versioning of package in monorepo and generate changelog",
5
5
  "license": "ISC",
6
6
  "author": "",
@@ -49,7 +49,7 @@
49
49
  "glob": "^10.3.10",
50
50
  "handlebars": "^4.7.8",
51
51
  "reflect-metadata": "^0.2.2",
52
- "ts-ioc-container": "56.3.0",
52
+ "ts-ioc-container": "68.0.0",
53
53
  "zod": "^4.3.6"
54
54
  },
55
55
  "devDependencies": {