@aneuhold/core-ts-lib 2.2.12 → 2.2.14

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,52 @@
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.14] (2025-06-26)
9
+
10
+ ### 🏗️ Changed
11
+
12
+ - Added directory field to repository configuration in package.json
13
+
14
+ ## 🔖 [2.2.13] (2025-06-25)
15
+
16
+ ### ✅ Added
17
+
18
+ - CHANGELOG.md file now included in published package
19
+ - New `getChangelogContentForVersion` method in ChangelogService for extracting changelog content for releases
20
+
21
+ ## 🔖 [2.2.12] (2025-06-19)
22
+
23
+ ### ✅ Added
24
+
25
+ - New `ChangelogService` with comprehensive changelog management functionality
26
+ - Added `ChangelogFileService` for file operations and validation
27
+ - Added `ChangelogGenerator` for generating changelog entries
28
+ - Added `ChangelogParser` for parsing existing changelogs
29
+ - Added `ChangelogValidator` for validating changelog structure
30
+ - Added `GitTagService` for Git tag operations
31
+ - Added `RepositoryInfoService` for repository information
32
+ - New `DependencyService` for dependency management operations
33
+ - New `StringService` with utility string functions
34
+ - New `VersionType` enum for semantic version types
35
+ - Added `bumpVersionAndInitializeChangelog.ts` script for automated version management
36
+
37
+ ### 🏗️ Changed
38
+
39
+ - Refactored `PackageService` with improved utilities and structure
40
+ - Updated dependencies: `@types/node` to ^22.15.32, `eslint` to ^9.29.0, `tsx` to ^4.20.3, `vitest` to ^3.2.4
41
+
42
+ ### 🩹 Fixed
43
+
44
+ - Fixed GitHub Actions deployment workflow authentication issues
45
+ - Added proper GitHub token configuration for git tag creation
46
+ - Updated workflow permissions to allow repository write access
47
+
48
+ <!-- Link References -->
49
+
50
+ [2.2.14]: https://github.com/aneuhold/ts-libs/compare/core-ts-lib-v2.2.13...core-ts-lib-v2.2.14
51
+ [2.2.13]: https://github.com/aneuhold/ts-libs/compare/core-ts-lib-v2.2.12...core-ts-lib-v2.2.13
52
+ [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":"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"}
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;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,6BAA6B,CACxC,OAAe,EACf,WAAoB;QAEpB,MAAM,UAAU,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAEhD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,OAAO,KAAK,CAAC,CAAC;QAEzE,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,gDAAgD,OAAO,GAAG,CAC7D,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,uBAAuB,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnF,CAAC;YACJ,CAAC;YAED,kCAAkC;YAClC,MAAM,oBAAoB,GAAa,EAAE,CAAC;YAE1C,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC5C,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC9C,oBAAoB,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;YAED,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,qBAAqB,OAAO,kCAAkC,CAAC;YACxE,CAAC;YAED,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE9D,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,wDAAwD,OAAO,EAAE,CAAC,CAAC;YAErF,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACrD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,WAAW,EAAE,CAAC,CAAC;YACvE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
@@ -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.14",
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
  ".": {
@@ -33,7 +34,8 @@
33
34
  },
34
35
  "repository": {
35
36
  "type": "git",
36
- "url": "git+https://github.com/aneuhold/ts-libs.git"
37
+ "url": "git+https://github.com/aneuhold/ts-libs.git",
38
+ "directory": "packages/core-ts-lib"
37
39
  },
38
40
  "bugs": {
39
41
  "url": "https://github.com/aneuhold/ts-libs/issues"