@aneuhold/core-ts-lib 2.2.12 → 2.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,45 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
+
8
+ ## 🔖 [2.2.13] (2025-06-25)
9
+
10
+ ### ✅ Added
11
+
12
+ - CHANGELOG.md file now included in published package
13
+ - New `getChangelogContentForVersion` method in ChangelogService for extracting changelog content for releases
14
+
15
+ ## 🔖 [2.2.12] (2025-06-19)
16
+
17
+ ### ✅ Added
18
+
19
+ - New `ChangelogService` with comprehensive changelog management functionality
20
+ - Added `ChangelogFileService` for file operations and validation
21
+ - Added `ChangelogGenerator` for generating changelog entries
22
+ - Added `ChangelogParser` for parsing existing changelogs
23
+ - Added `ChangelogValidator` for validating changelog structure
24
+ - Added `GitTagService` for Git tag operations
25
+ - Added `RepositoryInfoService` for repository information
26
+ - New `DependencyService` for dependency management operations
27
+ - New `StringService` with utility string functions
28
+ - New `VersionType` enum for semantic version types
29
+ - Added `bumpVersionAndInitializeChangelog.ts` script for automated version management
30
+
31
+ ### 🏗️ Changed
32
+
33
+ - Refactored `PackageService` with improved utilities and structure
34
+ - Updated dependencies: `@types/node` to ^22.15.32, `eslint` to ^9.29.0, `tsx` to ^4.20.3, `vitest` to ^3.2.4
35
+
36
+ ### 🩹 Fixed
37
+
38
+ - Fixed GitHub Actions deployment workflow authentication issues
39
+ - Added proper GitHub token configuration for git tag creation
40
+ - Updated workflow permissions to allow repository write access
41
+
42
+ <!-- Link References -->
43
+
44
+ [2.2.13]: https://github.com/aneuhold/ts-libs/compare/core-ts-lib-v2.2.12...core-ts-lib-v2.2.13
45
+ [2.2.12]: https://github.com/aneuhold/ts-libs/releases/tag/core-ts-lib-v2.2.12
@@ -50,5 +50,14 @@ export default class ChangelogService {
50
50
  * @param packagePath The package directory path
51
51
  */
52
52
  private static addVersionEntry;
53
+ /**
54
+ * Extracts changelog content for a specific version to use in release notes.
55
+ *
56
+ * @param version The version to extract changelog content for
57
+ * @param packagePath Optional path to the package directory (defaults to current working directory)
58
+ * @returns Formatted release notes content for the version
59
+ * @throws Error if changelog doesn't exist or version entry is not found
60
+ */
61
+ static getChangelogContentForVersion(version: string, packagePath?: string): Promise<string>;
53
62
  }
54
63
  //# sourceMappingURL=ChangelogService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChangelogService.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/ChangelogService.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC;;;;;;OAMG;WACU,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC9F;;;;;;;;OAQG;WACU,mBAAmB,CAC9B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;;;;OAOG;mBACkB,kCAAkC;IA0FvD;;;;;;;OAOG;mBACkB,4BAA4B;IAgCjD;;;;;;;OAOG;mBACkB,eAAe;CA0CrC"}
1
+ {"version":3,"file":"ChangelogService.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/ChangelogService.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC;;;;;;OAMG;WACU,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC9F;;;;;;;;OAQG;WACU,mBAAmB,CAC9B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;;;;OAOG;mBACkB,kCAAkC;IA0FvD;;;;;;;OAOG;mBACkB,4BAA4B;IAgCjD;;;;;;;OAOG;mBACkB,eAAe;IA2CpC;;;;;;;OAOG;WACU,6BAA6B,CACxC,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC;CAkDnB"}
@@ -197,5 +197,49 @@ export default class ChangelogService {
197
197
  }
198
198
  await ChangelogFileService.writeChangelog(newContent, packagePath);
199
199
  }
200
+ /**
201
+ * Extracts changelog content for a specific version to use in release notes.
202
+ *
203
+ * @param version The version to extract changelog content for
204
+ * @param packagePath Optional path to the package directory (defaults to current working directory)
205
+ * @returns Formatted release notes content for the version
206
+ * @throws Error if changelog doesn't exist or version entry is not found
207
+ */
208
+ static async getChangelogContentForVersion(version, packagePath) {
209
+ const workingDir = packagePath || process.cwd();
210
+ DR.logger.info(`Extracting changelog content for version ${version}...`);
211
+ const changelogExists = await ChangelogFileService.changelogExists(packagePath);
212
+ if (!changelogExists) {
213
+ throw new Error(`No ${CHANGELOG_FILENAME} file found in ${workingDir}. ` +
214
+ `Cannot extract changelog content for version ${version}.`);
215
+ }
216
+ try {
217
+ const changelogContent = await ChangelogFileService.readChangelog(packagePath);
218
+ const versionEntries = ChangelogParser.parseChangelog(changelogContent);
219
+ const versionEntry = versionEntries.find((entry) => entry.version === version);
220
+ if (!versionEntry) {
221
+ throw new Error(`No changelog entry found for version ${version}. ` +
222
+ `Available versions: ${versionEntries.map((entry) => entry.version).join(', ')}`);
223
+ }
224
+ // Build the release notes content
225
+ const releaseNotesSections = [];
226
+ for (const section of versionEntry.sections) {
227
+ if (section.content && section.content.trim()) {
228
+ releaseNotesSections.push(`## ${section.type}\n\n${section.content.trim()}`);
229
+ }
230
+ }
231
+ if (releaseNotesSections.length === 0) {
232
+ return `Release notes for ${version} - See CHANGELOG.md for details.`;
233
+ }
234
+ const releaseNotesContent = releaseNotesSections.join('\n\n');
235
+ DR.logger.success(`Successfully extracted changelog content for version ${version}`);
236
+ return releaseNotesContent;
237
+ }
238
+ catch (error) {
239
+ const errorString = ErrorUtils.getErrorString(error);
240
+ DR.logger.error(`Failed to extract changelog content: ${errorString}`);
241
+ throw error;
242
+ }
243
+ }
200
244
  }
201
245
  //# sourceMappingURL=ChangelogService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChangelogService.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/ChangelogService.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAA8B,MAAM,YAAY,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,OAAe,EAAE,WAAoB;QAC5E,MAAM,UAAU,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAEhD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,KAAK,CAAC,CAAC;QAEjE,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAChF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,MAAM,kBAAkB,kBAAkB,UAAU,IAAI;gBACtD,6CAA6C,CAChD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC/E,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAExE,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;YAE/E,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,wCAAwC,OAAO,IAAI;oBACjD,0BAA0B,kBAAkB,qBAAqB,CACpE,CAAC;YACJ,CAAC;YAED,kBAAkB,CAAC,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAE/D,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACrD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;YAC/D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAC9B,OAAe,EACf,WAAmB,EACnB,WAAoB;QAEpB,MAAM,UAAU,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAEhD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,WAAW,YAAY,OAAO,KAAK,CAAC,CAAC;QAElF,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAEhF,IAAI,eAAe,EAAE,CAAC;YACpB,kEAAkE;YAClE,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAC9E,MAAM,IAAI,CAAC,kCAAkC,CAC3C,OAAO,EACP,WAAW,EACX,eAAe,EACf,UAAU,CACX,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC9C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACjF,MAAM,cAAc,GAAG,kBAAkB,CAAC,6BAA6B,CACrE,OAAO,EACP,WAAW,EACX,cAAc,CACf,CAAC;YACF,MAAM,oBAAoB,CAAC,eAAe,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC1E,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,KAAK,CAAC,kCAAkC,CACrD,cAAsB,EACtB,WAAmB,EACnB,eAAuB,EACvB,UAAkB;QAElB,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAEvE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,oDAAoD;YACpD,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,kEAAkE,cAAc,EAAE,CACnF,CAAC;YACF,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,MAAM,YAAY,GAAG,aAAa,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAE3E,8FAA8F;QAC9F,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,iBAAiB,GAA4B,EAAE,CAAC;QACtD,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzE,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,8DAA8D,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3F,CAAC;YAEF,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,GAAG,iBAAiB,CAAC,CAAC;YAC7D,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACjF,MAAM,cAAc,GAAG,kBAAkB,CAAC,0BAA0B,CAClE,YAAY,EACZ,WAAW,EACX,cAAc,CACf,CAAC;YACF,MAAM,oBAAoB,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACxE,CAAC;QAED,mCAAmC;QACnC,MAAM,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;QACrF,MAAM,mBAAmB,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEjE,IAAI,mBAAmB,EAAE,CAAC;YACxB,iFAAiF;YACjF,IAAI,eAAe,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;gBAC/C,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,gDAAgD,cAAc,2CAA2C,CAC1G,CAAC;gBACF,OAAO;YACT,CAAC;YAED,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,wEAAwE,cAAc,EAAE,CACzF,CAAC;YACF,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,IAAI,eAAe,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;gBAC/C,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,gDAAgD,cAAc,gCAAgC,CAC/F,CAAC;gBACF,OAAO;YACT,CAAC;YAED,wDAAwD;YACxD,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,6CAA6C,eAAe,CAAC,OAAO,OAAO,cAAc,EAAE,CAC5F,CAAC;YACF,MAAM,IAAI,CAAC,4BAA4B,CACrC,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,CACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAC/C,UAAkB,EAClB,eAAuB,EACvB,WAAmB,EACnB,UAAkB;QAElB,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAEvE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,iBAAiB,GAAG,UAAU,eAAe,CAAC,OAAO,GAAG,CAAC;QAC/D,MAAM,iBAAiB,GAAG,UAAU,UAAU,GAAG,CAAC;QAElD,+CAA+C;QAC/C,IAAI,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;QAEnF,qCAAqC;QACrC,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACjF,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,GAAG,kBAAkB,CAAC,0BAA0B,CAC5D,cAAc,EACd,cAAc,EACd,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,KAAK,CAAC,eAAe,CAClC,OAAe,EACf,eAAuB,EACvB,WAAmB,EACnB,WAAmB;QAEnB,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,EAAE,CAAC;QACxD,MAAM,YAAY,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAExF,+DAA+D;QAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/F,IAAI,UAAkB,CAAC;QACvB,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,oDAAoD;YACpD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtF,UAAU,GAAG,CAAC,GAAG,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAC1F,IAAI,CACL,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,UAAU,GAAG;gBACX,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;gBACjC,YAAY;gBACZ,EAAE;gBACF,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;aAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QAED,oDAAoD;QACpD,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAClF,IAAI,cAAc,EAAE,CAAC;YACnB,UAAU,GAAG,kBAAkB,CAAC,0BAA0B,CACxD,UAAU,EACV,cAAc,EACd,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,CAAC,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;CACF"}
1
+ {"version":3,"file":"ChangelogService.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/ChangelogService.ts"],"names":[],"mappings":"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"}
@@ -290,4 +290,66 @@ export default class ChangelogService {
290
290
 
291
291
  await ChangelogFileService.writeChangelog(newContent, packagePath);
292
292
  }
293
+
294
+ /**
295
+ * Extracts changelog content for a specific version to use in release notes.
296
+ *
297
+ * @param version The version to extract changelog content for
298
+ * @param packagePath Optional path to the package directory (defaults to current working directory)
299
+ * @returns Formatted release notes content for the version
300
+ * @throws Error if changelog doesn't exist or version entry is not found
301
+ */
302
+ static async getChangelogContentForVersion(
303
+ version: string,
304
+ packagePath?: string
305
+ ): Promise<string> {
306
+ const workingDir = packagePath || process.cwd();
307
+
308
+ DR.logger.info(`Extracting changelog content for version ${version}...`);
309
+
310
+ const changelogExists = await ChangelogFileService.changelogExists(packagePath);
311
+ if (!changelogExists) {
312
+ throw new Error(
313
+ `No ${CHANGELOG_FILENAME} file found in ${workingDir}. ` +
314
+ `Cannot extract changelog content for version ${version}.`
315
+ );
316
+ }
317
+
318
+ try {
319
+ const changelogContent = await ChangelogFileService.readChangelog(packagePath);
320
+ const versionEntries = ChangelogParser.parseChangelog(changelogContent);
321
+
322
+ const versionEntry = versionEntries.find((entry) => entry.version === version);
323
+
324
+ if (!versionEntry) {
325
+ throw new Error(
326
+ `No changelog entry found for version ${version}. ` +
327
+ `Available versions: ${versionEntries.map((entry) => entry.version).join(', ')}`
328
+ );
329
+ }
330
+
331
+ // Build the release notes content
332
+ const releaseNotesSections: string[] = [];
333
+
334
+ for (const section of versionEntry.sections) {
335
+ if (section.content && section.content.trim()) {
336
+ releaseNotesSections.push(`## ${section.type}\n\n${section.content.trim()}`);
337
+ }
338
+ }
339
+
340
+ if (releaseNotesSections.length === 0) {
341
+ return `Release notes for ${version} - See CHANGELOG.md for details.`;
342
+ }
343
+
344
+ const releaseNotesContent = releaseNotesSections.join('\n\n');
345
+
346
+ DR.logger.success(`Successfully extracted changelog content for version ${version}`);
347
+
348
+ return releaseNotesContent;
349
+ } catch (error) {
350
+ const errorString = ErrorUtils.getErrorString(error);
351
+ DR.logger.error(`Failed to extract changelog content: ${errorString}`);
352
+ throw error;
353
+ }
354
+ }
293
355
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@aneuhold/core-ts-lib",
3
3
  "author": "Anton G. Neuhold Jr.",
4
4
  "license": "MIT",
5
- "version": "2.2.12",
5
+ "version": "2.2.13",
6
6
  "description": "A core library for all of my TypeScript projects",
7
7
  "packageManager": "pnpm@10.12.1",
8
8
  "type": "module",
@@ -23,7 +23,8 @@
23
23
  "module": "lib/index.js",
24
24
  "types": "lib/index.d.ts",
25
25
  "files": [
26
- "lib"
26
+ "lib",
27
+ "CHANGELOG.md"
27
28
  ],
28
29
  "exports": {
29
30
  ".": {