@aneuhold/core-ts-lib 2.4.3 → 2.4.5

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 (164) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/lib/browser.d.ts +10 -6
  3. package/lib/browser.d.ts.map +1 -1
  4. package/lib/browser.js +7 -4
  5. package/lib/browser.js.map +1 -1
  6. package/lib/browser.ts +21 -5
  7. package/lib/index.d.ts +4 -4
  8. package/lib/index.d.ts.map +1 -1
  9. package/lib/index.js +4 -4
  10. package/lib/index.js.map +1 -1
  11. package/lib/index.ts +4 -4
  12. package/lib/services/{ArrayService.d.ts → Array.service.d.ts} +1 -1
  13. package/lib/services/Array.service.d.ts.map +1 -0
  14. package/lib/services/{ArrayService.js → Array.service.js} +1 -1
  15. package/lib/services/Array.service.js.map +1 -0
  16. package/lib/services/ChangelogService/{ChangelogService.d.ts → Changelog.service.d.ts} +2 -28
  17. package/lib/services/ChangelogService/Changelog.service.d.ts.map +1 -0
  18. package/lib/services/ChangelogService/{ChangelogService.js → Changelog.service.js} +11 -11
  19. package/lib/services/ChangelogService/Changelog.service.js.map +1 -0
  20. package/lib/services/ChangelogService/{ChangelogService.ts → Changelog.service.ts} +10 -10
  21. package/lib/services/ChangelogService/{ChangelogFileService.d.ts → ChangelogFile.service.d.ts} +1 -1
  22. package/lib/services/ChangelogService/ChangelogFile.service.d.ts.map +1 -0
  23. package/lib/services/ChangelogService/{ChangelogFileService.js → ChangelogFile.service.js} +1 -1
  24. package/lib/services/ChangelogService/ChangelogFile.service.js.map +1 -0
  25. package/lib/services/ChangelogService/ChangelogGenerator.js +1 -1
  26. package/lib/services/ChangelogService/ChangelogGenerator.js.map +1 -1
  27. package/lib/services/ChangelogService/ChangelogGenerator.ts +1 -1
  28. package/lib/services/ChangelogService/ChangelogParser.d.ts +1 -7
  29. package/lib/services/ChangelogService/ChangelogParser.d.ts.map +1 -1
  30. package/lib/services/ChangelogService/ChangelogParser.js +4 -4
  31. package/lib/services/ChangelogService/ChangelogParser.js.map +1 -1
  32. package/lib/services/ChangelogService/ChangelogParser.ts +6 -6
  33. package/lib/services/ChangelogService/{GitTagService.d.ts → GitTag.service.d.ts} +2 -8
  34. package/lib/services/ChangelogService/GitTag.service.d.ts.map +1 -0
  35. package/lib/services/ChangelogService/{GitTagService.js → GitTag.service.js} +4 -4
  36. package/lib/services/ChangelogService/GitTag.service.js.map +1 -0
  37. package/lib/services/ChangelogService/{GitTagService.ts → GitTag.service.ts} +3 -3
  38. package/lib/services/ChangelogService/{RepositoryInfoService.d.ts → RepositoryInfo.service.d.ts} +1 -1
  39. package/lib/services/ChangelogService/RepositoryInfo.service.d.ts.map +1 -0
  40. package/lib/services/ChangelogService/{RepositoryInfoService.js → RepositoryInfo.service.js} +1 -1
  41. package/lib/services/ChangelogService/RepositoryInfo.service.js.map +1 -0
  42. package/lib/services/ChangelogService/{RepositoryInfoService.ts → RepositoryInfo.service.ts} +1 -1
  43. package/lib/services/ChangelogService/index.d.ts +1 -1
  44. package/lib/services/ChangelogService/index.d.ts.map +1 -1
  45. package/lib/services/ChangelogService/index.js +1 -1
  46. package/lib/services/ChangelogService/index.js.map +1 -1
  47. package/lib/services/ChangelogService/index.ts +1 -1
  48. package/lib/services/ChangelogService/types.d.ts +7 -0
  49. package/lib/services/ChangelogService/types.d.ts.map +1 -1
  50. package/lib/services/ChangelogService/types.js +7 -0
  51. package/lib/services/ChangelogService/types.js.map +1 -1
  52. package/lib/services/ChangelogService/types.ts +9 -0
  53. package/lib/services/DateService/{DateService.d.ts → Date.service.d.ts} +2 -3
  54. package/lib/services/DateService/Date.service.d.ts.map +1 -0
  55. package/lib/services/DateService/{DateService.js → Date.service.js} +12 -10
  56. package/lib/services/DateService/Date.service.js.map +1 -0
  57. package/lib/services/DateService/{DateService.ts → Date.service.ts} +12 -9
  58. package/lib/services/{DependencyService.d.ts → Dependency.service.d.ts} +2 -10
  59. package/lib/services/Dependency.service.d.ts.map +1 -0
  60. package/lib/services/{DependencyService.js → Dependency.service.js} +13 -10
  61. package/lib/services/Dependency.service.js.map +1 -0
  62. package/lib/services/{DependencyService.ts → Dependency.service.ts} +15 -11
  63. package/lib/services/DependencyRegistry.d.ts +1 -2
  64. package/lib/services/DependencyRegistry.d.ts.map +1 -1
  65. package/lib/services/DependencyRegistry.js +6 -6
  66. package/lib/services/DependencyRegistry.js.map +1 -1
  67. package/lib/services/DependencyRegistry.ts +6 -6
  68. package/lib/services/FileSystemService/{FileSystemService.d.ts → FileSystem.service.d.ts} +2 -25
  69. package/lib/services/FileSystemService/FileSystem.service.d.ts.map +1 -0
  70. package/lib/services/FileSystemService/{FileSystemService.js → FileSystem.service.js} +15 -15
  71. package/lib/services/FileSystemService/FileSystem.service.js.map +1 -0
  72. package/lib/services/FileSystemService/{FileSystemService.ts → FileSystem.service.ts} +20 -17
  73. package/lib/services/FileSystemService/{GlobMatchingService.d.ts → GlobMatching.service.d.ts} +2 -18
  74. package/lib/services/FileSystemService/GlobMatching.service.d.ts.map +1 -0
  75. package/lib/services/FileSystemService/{GlobMatchingService.js → GlobMatching.service.js} +6 -6
  76. package/lib/services/FileSystemService/GlobMatching.service.js.map +1 -0
  77. package/lib/services/FileSystemService/{GlobMatchingService.ts → GlobMatching.service.ts} +5 -5
  78. package/lib/services/PackageService/JsrPackage.service.d.ts +29 -0
  79. package/lib/services/PackageService/JsrPackage.service.d.ts.map +1 -0
  80. package/lib/services/PackageService/{JsrPackageService.js → JsrPackage.service.js} +25 -22
  81. package/lib/services/PackageService/JsrPackage.service.js.map +1 -0
  82. package/lib/services/PackageService/{JsrPackageService.ts → JsrPackage.service.ts} +31 -28
  83. package/lib/services/PackageService/{NpmPackageService.d.ts → NpmPackage.service.d.ts} +2 -20
  84. package/lib/services/PackageService/NpmPackage.service.d.ts.map +1 -0
  85. package/lib/services/PackageService/{NpmPackageService.js → NpmPackage.service.js} +10 -10
  86. package/lib/services/PackageService/NpmPackage.service.js.map +1 -0
  87. package/lib/services/PackageService/{NpmPackageService.ts → NpmPackage.service.ts} +10 -13
  88. package/lib/services/PackageService/{PackageService.d.ts → Package.service.d.ts} +1 -1
  89. package/lib/services/PackageService/Package.service.d.ts.map +1 -0
  90. package/lib/services/PackageService/{PackageService.js → Package.service.js} +3 -3
  91. package/lib/services/PackageService/Package.service.js.map +1 -0
  92. package/lib/services/PackageService/{PackageService.ts → Package.service.ts} +2 -2
  93. package/lib/services/PackageService/PackageServiceUtils.d.ts +1 -10
  94. package/lib/services/PackageService/PackageServiceUtils.d.ts.map +1 -1
  95. package/lib/services/PackageService/PackageServiceUtils.js +8 -6
  96. package/lib/services/PackageService/PackageServiceUtils.js.map +1 -1
  97. package/lib/services/PackageService/PackageServiceUtils.ts +11 -7
  98. package/lib/services/{StringService.d.ts → String.service.d.ts} +1 -1
  99. package/lib/services/String.service.d.ts.map +1 -0
  100. package/lib/services/{StringService.js → String.service.js} +1 -1
  101. package/lib/services/String.service.js.map +1 -0
  102. package/lib/types/DeepPartial.d.ts +1 -1
  103. package/lib/types/DeepPartial.d.ts.map +1 -1
  104. package/lib/types/DeepPartial.ts +1 -1
  105. package/lib/types/JsonWithVersionProperty.d.ts +7 -0
  106. package/lib/types/JsonWithVersionProperty.d.ts.map +1 -1
  107. package/lib/types/JsonWithVersionProperty.js +10 -1
  108. package/lib/types/JsonWithVersionProperty.js.map +1 -1
  109. package/lib/types/JsonWithVersionProperty.ts +12 -0
  110. package/lib/types/PackageJson.d.ts +22 -0
  111. package/lib/types/PackageJson.d.ts.map +1 -1
  112. package/lib/types/PackageJson.js +15 -1
  113. package/lib/types/PackageJson.js.map +1 -1
  114. package/lib/types/PackageJson.ts +28 -0
  115. package/lib/utils/ConsoleLogger.d.ts +1 -11
  116. package/lib/utils/ConsoleLogger.d.ts.map +1 -1
  117. package/lib/utils/ConsoleLogger.js +8 -8
  118. package/lib/utils/ConsoleLogger.js.map +1 -1
  119. package/lib/utils/ConsoleLogger.ts +8 -8
  120. package/lib/utils/ErrorUtils.d.ts +2 -2
  121. package/lib/utils/ErrorUtils.d.ts.map +1 -1
  122. package/lib/utils/ErrorUtils.js.map +1 -1
  123. package/lib/utils/ErrorUtils.ts +2 -2
  124. package/lib/utils/JsonUtils.d.ts +14 -0
  125. package/lib/utils/JsonUtils.d.ts.map +1 -0
  126. package/lib/utils/JsonUtils.js +20 -0
  127. package/lib/utils/JsonUtils.js.map +1 -0
  128. package/lib/utils/JsonUtils.ts +23 -0
  129. package/lib/utils/TestUtils.d.ts +1 -1
  130. package/lib/utils/TestUtils.d.ts.map +1 -1
  131. package/lib/utils/TestUtils.js +5 -5
  132. package/lib/utils/TestUtils.js.map +1 -1
  133. package/lib/utils/TestUtils.ts +5 -5
  134. package/package.json +2 -2
  135. package/lib/services/ArrayService.d.ts.map +0 -1
  136. package/lib/services/ArrayService.js.map +0 -1
  137. package/lib/services/ChangelogService/ChangelogFileService.d.ts.map +0 -1
  138. package/lib/services/ChangelogService/ChangelogFileService.js.map +0 -1
  139. package/lib/services/ChangelogService/ChangelogService.d.ts.map +0 -1
  140. package/lib/services/ChangelogService/ChangelogService.js.map +0 -1
  141. package/lib/services/ChangelogService/GitTagService.d.ts.map +0 -1
  142. package/lib/services/ChangelogService/GitTagService.js.map +0 -1
  143. package/lib/services/ChangelogService/RepositoryInfoService.d.ts.map +0 -1
  144. package/lib/services/ChangelogService/RepositoryInfoService.js.map +0 -1
  145. package/lib/services/DateService/DateService.d.ts.map +0 -1
  146. package/lib/services/DateService/DateService.js.map +0 -1
  147. package/lib/services/DependencyService.d.ts.map +0 -1
  148. package/lib/services/DependencyService.js.map +0 -1
  149. package/lib/services/FileSystemService/FileSystemService.d.ts.map +0 -1
  150. package/lib/services/FileSystemService/FileSystemService.js.map +0 -1
  151. package/lib/services/FileSystemService/GlobMatchingService.d.ts.map +0 -1
  152. package/lib/services/FileSystemService/GlobMatchingService.js.map +0 -1
  153. package/lib/services/PackageService/JsrPackageService.d.ts +0 -83
  154. package/lib/services/PackageService/JsrPackageService.d.ts.map +0 -1
  155. package/lib/services/PackageService/JsrPackageService.js.map +0 -1
  156. package/lib/services/PackageService/NpmPackageService.d.ts.map +0 -1
  157. package/lib/services/PackageService/NpmPackageService.js.map +0 -1
  158. package/lib/services/PackageService/PackageService.d.ts.map +0 -1
  159. package/lib/services/PackageService/PackageService.js.map +0 -1
  160. package/lib/services/StringService.d.ts.map +0 -1
  161. package/lib/services/StringService.js.map +0 -1
  162. /package/lib/services/{ArrayService.ts → Array.service.ts} +0 -0
  163. /package/lib/services/ChangelogService/{ChangelogFileService.ts → ChangelogFile.service.ts} +0 -0
  164. /package/lib/services/{StringService.ts → String.service.ts} +0 -0
@@ -1,5 +1,5 @@
1
- import type { ChangelogSection, ChangelogSectionType, ChangelogVersionEntry } from './types.js';
2
- import { REQUIRED_SECTION_TYPES } from './types.js';
1
+ import type { ChangelogSection, ChangelogVersionEntry } from './types.js';
2
+ import { isRequiredSectionType } from './types.js';
3
3
 
4
4
  /**
5
5
  * Service for parsing changelog content and extracting structured data.
@@ -29,7 +29,7 @@ export default class ChangelogParser {
29
29
  const sectionContent = lines.slice(1).join('\n');
30
30
 
31
31
  // Parse sections within the version entry
32
- const parsedSections = this.parseVersionSections(sectionContent);
32
+ const parsedSections = this.#parseVersionSections(sectionContent);
33
33
 
34
34
  versionEntries.push({
35
35
  version,
@@ -47,7 +47,7 @@ export default class ChangelogParser {
47
47
  * @param content The content of a version entry
48
48
  * @returns Array of parsed sections
49
49
  */
50
- private static parseVersionSections(content: string): ChangelogSection[] {
50
+ static #parseVersionSections(content: string): ChangelogSection[] {
51
51
  const sections: ChangelogSection[] = [];
52
52
 
53
53
  // Split by ### to get individual sections
@@ -55,9 +55,9 @@ export default class ChangelogParser {
55
55
 
56
56
  for (const part of sectionParts) {
57
57
  const lines = part.split('\n');
58
- const sectionType = lines[0].trim() as ChangelogSectionType;
58
+ const sectionType = lines[0].trim();
59
59
 
60
- if (REQUIRED_SECTION_TYPES.includes(sectionType)) {
60
+ if (isRequiredSectionType(sectionType)) {
61
61
  // Get content after the section header
62
62
  let sectionContent = lines.slice(1).join('\n');
63
63
 
@@ -2,6 +2,7 @@
2
2
  * Service for handling Git tag operations related to changelog management.
3
3
  */
4
4
  export default class GitTagService {
5
+ #private;
5
6
  /**
6
7
  * Gets Git tags for a specific package.
7
8
  *
@@ -18,12 +19,5 @@ export default class GitTagService {
18
19
  * @returns The expected Git tag name
19
20
  */
20
21
  static getTagName(packageName: string, version: string): string;
21
- /**
22
- * Converts package name to tag prefix (removes scope if present).
23
- *
24
- * @param packageName The package name
25
- * @returns The tag prefix
26
- */
27
- private static getTagPrefix;
28
22
  }
29
- //# sourceMappingURL=GitTagService.d.ts.map
23
+ //# sourceMappingURL=GitTag.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitTag.service.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/GitTag.service.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAuBxE;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;CAchE"}
@@ -15,7 +15,7 @@ export default class GitTagService {
15
15
  static getPackageTags(packageName, workingDir) {
16
16
  try {
17
17
  // Convert package name to tag prefix (remove scope if present)
18
- const tagPrefix = this.getTagPrefix(packageName);
18
+ const tagPrefix = this.#getTagPrefix(packageName);
19
19
  const tagPattern = `${tagPrefix}-v*`;
20
20
  // Get all tags matching the pattern
21
21
  const output = execSync(`git tag -l "${tagPattern}"`, {
@@ -41,7 +41,7 @@ export default class GitTagService {
41
41
  * @returns The expected Git tag name
42
42
  */
43
43
  static getTagName(packageName, version) {
44
- const tagPrefix = this.getTagPrefix(packageName);
44
+ const tagPrefix = this.#getTagPrefix(packageName);
45
45
  return `${tagPrefix}-v${version}`;
46
46
  }
47
47
  /**
@@ -50,8 +50,8 @@ export default class GitTagService {
50
50
  * @param packageName The package name
51
51
  * @returns The tag prefix
52
52
  */
53
- static getTagPrefix(packageName) {
53
+ static #getTagPrefix(packageName) {
54
54
  return packageName.replace(/^@[\w-]+\//, '');
55
55
  }
56
56
  }
57
- //# sourceMappingURL=GitTagService.js.map
57
+ //# sourceMappingURL=GitTag.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitTag.service.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/GitTag.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,WAAmB,EAAE,UAAkB;QAC3D,IAAI,CAAC;YACH,+DAA+D;YAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,GAAG,SAAS,KAAK,CAAC;YAErC,oCAAoC;YACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,UAAU,GAAG,EAAE;gBACpD,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YAEH,OAAO,MAAM;iBACV,IAAI,EAAE;iBACN,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kEAAkE;YAClE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,WAAmB,EAAE,OAAe;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAClD,OAAO,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,WAAmB;QACtC,OAAO,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF"}
@@ -16,7 +16,7 @@ export default class GitTagService {
16
16
  static getPackageTags(packageName: string, workingDir: string): string[] {
17
17
  try {
18
18
  // Convert package name to tag prefix (remove scope if present)
19
- const tagPrefix = this.getTagPrefix(packageName);
19
+ const tagPrefix = this.#getTagPrefix(packageName);
20
20
  const tagPattern = `${tagPrefix}-v*`;
21
21
 
22
22
  // Get all tags matching the pattern
@@ -44,7 +44,7 @@ export default class GitTagService {
44
44
  * @returns The expected Git tag name
45
45
  */
46
46
  static getTagName(packageName: string, version: string): string {
47
- const tagPrefix = this.getTagPrefix(packageName);
47
+ const tagPrefix = this.#getTagPrefix(packageName);
48
48
  return `${tagPrefix}-v${version}`;
49
49
  }
50
50
 
@@ -54,7 +54,7 @@ export default class GitTagService {
54
54
  * @param packageName The package name
55
55
  * @returns The tag prefix
56
56
  */
57
- private static getTagPrefix(packageName: string): string {
57
+ static #getTagPrefix(packageName: string): string {
58
58
  return packageName.replace(/^@[\w-]+\//, '');
59
59
  }
60
60
  }
@@ -11,4 +11,4 @@ export default class RepositoryInfoService {
11
11
  */
12
12
  static getRepositoryInfo(packagePath?: string): Promise<RepositoryInfo | null>;
13
13
  }
14
- //# sourceMappingURL=RepositoryInfoService.d.ts.map
14
+ //# sourceMappingURL=RepositoryInfo.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RepositoryInfo.service.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/RepositoryInfo.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC;;;;;OAKG;WACU,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAiDrF"}
@@ -52,4 +52,4 @@ export default class RepositoryInfoService {
52
52
  }
53
53
  }
54
54
  }
55
- //# sourceMappingURL=RepositoryInfoService.js.map
55
+ //# sourceMappingURL=RepositoryInfo.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RepositoryInfo.service.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/RepositoryInfo.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAoB;QACjD,MAAM,UAAU,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACpE,MAAM,WAAW,GAAY,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAE5D,gEAAgE;YAChE,IACE,OAAO,WAAW,KAAK,QAAQ;gBAC/B,WAAW,KAAK,IAAI;gBACpB,CAAC,CAAC,YAAY,IAAI,WAAW,CAAC;gBAC9B,OAAO,WAAW,CAAC,UAAU,KAAK,QAAQ;gBAC1C,WAAW,CAAC,UAAU,KAAK,IAAI;gBAC/B,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC;gBAClC,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,KAAK,QAAQ,EAC9C,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;YAEvC,+BAA+B;YAC/B,IAAI,MAAM,GAAG,GAAG,CAAC;YACjB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;YAED,yCAAyC;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAChE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;YAE9B,OAAO;gBACL,KAAK;gBACL,IAAI;gBACJ,GAAG,EAAE,sBAAsB,KAAK,IAAI,IAAI,EAAE;aAC3C,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
@@ -18,7 +18,7 @@ export default class RepositoryInfoService {
18
18
 
19
19
  try {
20
20
  const packageJsonContent = await readFile(packageJsonPath, 'utf-8');
21
- const packageJson = JSON.parse(packageJsonContent) as unknown;
21
+ const packageJson: unknown = JSON.parse(packageJsonContent);
22
22
 
23
23
  // Type guard to check if packageJson has the expected structure
24
24
  if (
@@ -1,2 +1,2 @@
1
- export { default } from './ChangelogService.js';
1
+ export { default } from './Changelog.service.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,2 +1,2 @@
1
- export { default } from './ChangelogService.js';
1
+ export { default } from './Changelog.service.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- export { default } from './ChangelogService.js';
1
+ export { default } from './Changelog.service.js';
@@ -1,6 +1,13 @@
1
1
  export declare const CHANGELOG_FILENAME = "CHANGELOG.md";
2
2
  export declare const REQUIRED_SECTION_TYPES: readonly ["✅ Added", "🏗️ Changed", "🩹 Fixed", "🔥 Removed"];
3
3
  export type ChangelogSectionType = (typeof REQUIRED_SECTION_TYPES)[number];
4
+ /**
5
+ * Type guard that checks whether a string is one of the required
6
+ * {@link ChangelogSectionType} values.
7
+ *
8
+ * @param value The value to narrow.
9
+ */
10
+ export declare const isRequiredSectionType: (value: string) => value is ChangelogSectionType;
4
11
  /**
5
12
  * Repository information for generating version links.
6
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,sBAAsB,+DAAgE,CAAC;AAEpG,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/ChangelogService/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,sBAAsB,+DAAgE,CAAC;AAEpG,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,oBACA,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B"}
@@ -1,3 +1,10 @@
1
1
  export const CHANGELOG_FILENAME = 'CHANGELOG.md';
2
2
  export const REQUIRED_SECTION_TYPES = ['✅ Added', '🏗️ Changed', '🩹 Fixed', '🔥 Removed'];
3
+ /**
4
+ * Type guard that checks whether a string is one of the required
5
+ * {@link ChangelogSectionType} values.
6
+ *
7
+ * @param value The value to narrow.
8
+ */
9
+ export const isRequiredSectionType = (value) => REQUIRED_SECTION_TYPES.some((required) => required === value);
3
10
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/ChangelogService/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AAIpG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAiC,EAAE,CACpF,sBAAsB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC"}
@@ -3,6 +3,15 @@ export const REQUIRED_SECTION_TYPES = ['✅ Added', '🏗️ Changed', '🩹 Fix
3
3
 
4
4
  export type ChangelogSectionType = (typeof REQUIRED_SECTION_TYPES)[number];
5
5
 
6
+ /**
7
+ * Type guard that checks whether a string is one of the required
8
+ * {@link ChangelogSectionType} values.
9
+ *
10
+ * @param value The value to narrow.
11
+ */
12
+ export const isRequiredSectionType = (value: string): value is ChangelogSectionType =>
13
+ REQUIRED_SECTION_TYPES.some((required) => required === value);
14
+
6
15
  /**
7
16
  * Repository information for generating version links.
8
17
  */
@@ -5,8 +5,7 @@
5
5
  * browser.
6
6
  */
7
7
  export default class DateService {
8
- private static dateFormatter;
9
- private static dateTimeFormatter;
8
+ #private;
10
9
  /**
11
10
  * Gets the date in date format if it is set to midnight, otherwise gets the
12
11
  * date in date time format.
@@ -177,4 +176,4 @@ export default class DateService {
177
176
  */
178
177
  static reviveDatesRecursive(body: unknown): void;
179
178
  }
180
- //# sourceMappingURL=DateService.d.ts.map
179
+ //# sourceMappingURL=Date.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Date.service.d.ts","sourceRoot":"","sources":["../../../src/services/DateService/Date.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;;IAe9B;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAO5C;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAIvC;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAIxC;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAI5C;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO;IAU7F;;;;;;OAMG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAS/C;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAczC;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAK7C;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ3D;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAK3C;;;;;;;OAOG;IACH,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM;IAI/D;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI;IA2B5F;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAM9C;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAMlD;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhD;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAO1C;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO;IAQ5D;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAOrE;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO;CAuB1C"}
@@ -5,12 +5,12 @@
5
5
  * browser.
6
6
  */
7
7
  export default class DateService {
8
- static dateFormatter = new Intl.DateTimeFormat('en-US', {
8
+ static #dateFormatter = new Intl.DateTimeFormat('en-US', {
9
9
  year: 'numeric',
10
10
  month: 'short',
11
11
  day: 'numeric'
12
12
  });
13
- static dateTimeFormatter = new Intl.DateTimeFormat('en-US', {
13
+ static #dateTimeFormatter = new Intl.DateTimeFormat('en-US', {
14
14
  year: 'numeric',
15
15
  month: 'short',
16
16
  day: 'numeric',
@@ -47,7 +47,7 @@ export default class DateService {
47
47
  * @returns The formatted date string.
48
48
  */
49
49
  static getDateString(date) {
50
- return this.dateFormatter.format(date);
50
+ return this.#dateFormatter.format(date);
51
51
  }
52
52
  /**
53
53
  * Formats the date and time as a string.
@@ -56,7 +56,7 @@ export default class DateService {
56
56
  * @returns The formatted date and time string.
57
57
  */
58
58
  static getDateTimeString(date) {
59
- return this.dateTimeFormatter.format(date);
59
+ return this.#dateTimeFormatter.format(date);
60
60
  }
61
61
  /**
62
62
  * Determines if two dates are equal. This is strict, down to the ms.
@@ -289,24 +289,26 @@ export default class DateService {
289
289
  * @param body the body to revive
290
290
  */
291
291
  static reviveDatesRecursive(body) {
292
- if (body === null || typeof body !== 'object') {
292
+ if (!DateService.#isPlainRecord(body)) {
293
293
  return;
294
294
  }
295
295
  const keys = Object.keys(body);
296
296
  if (keys.length === 0) {
297
297
  return;
298
298
  }
299
- const bodyAsRecord = body;
300
- for (const key of Object.keys(bodyAsRecord)) {
301
- const value = bodyAsRecord[key];
299
+ for (const key of keys) {
300
+ const value = body[key];
302
301
  const revivedValue = this.dateReviver(key, value);
303
302
  if (revivedValue !== value) {
304
- bodyAsRecord[key] = revivedValue;
303
+ body[key] = revivedValue;
305
304
  }
306
305
  else if (typeof value === 'object') {
307
306
  this.reviveDatesRecursive(value);
308
307
  }
309
308
  }
310
309
  }
310
+ static #isPlainRecord(value) {
311
+ return typeof value === 'object' && value !== null;
312
+ }
311
313
  }
312
- //# sourceMappingURL=DateService.js.map
314
+ //# sourceMappingURL=Date.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Date.service.js","sourceRoot":"","sources":["../../../src/services/DateService/Date.service.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,13 @@
5
5
  * browser.
6
6
  */
7
7
  export default class DateService {
8
- private static dateFormatter = new Intl.DateTimeFormat('en-US', {
8
+ static #dateFormatter = new Intl.DateTimeFormat('en-US', {
9
9
  year: 'numeric',
10
10
  month: 'short',
11
11
  day: 'numeric'
12
12
  });
13
13
 
14
- private static dateTimeFormatter = new Intl.DateTimeFormat('en-US', {
14
+ static #dateTimeFormatter = new Intl.DateTimeFormat('en-US', {
15
15
  year: 'numeric',
16
16
  month: 'short',
17
17
  day: 'numeric',
@@ -51,7 +51,7 @@ export default class DateService {
51
51
  * @returns The formatted date string.
52
52
  */
53
53
  static getDateString(date: Date): string {
54
- return this.dateFormatter.format(date);
54
+ return this.#dateFormatter.format(date);
55
55
  }
56
56
 
57
57
  /**
@@ -61,7 +61,7 @@ export default class DateService {
61
61
  * @returns The formatted date and time string.
62
62
  */
63
63
  static getDateTimeString(date: Date): string {
64
- return this.dateTimeFormatter.format(date);
64
+ return this.#dateTimeFormatter.format(date);
65
65
  }
66
66
 
67
67
  /**
@@ -314,7 +314,7 @@ export default class DateService {
314
314
  * @param body the body to revive
315
315
  */
316
316
  static reviveDatesRecursive(body: unknown) {
317
- if (body === null || typeof body !== 'object') {
317
+ if (!DateService.#isPlainRecord(body)) {
318
318
  return;
319
319
  }
320
320
 
@@ -322,15 +322,18 @@ export default class DateService {
322
322
  if (keys.length === 0) {
323
323
  return;
324
324
  }
325
- const bodyAsRecord = body as Record<string, unknown>;
326
- for (const key of Object.keys(bodyAsRecord)) {
327
- const value = bodyAsRecord[key];
325
+ for (const key of keys) {
326
+ const value = body[key];
328
327
  const revivedValue = this.dateReviver(key, value);
329
328
  if (revivedValue !== value) {
330
- bodyAsRecord[key] = revivedValue;
329
+ body[key] = revivedValue;
331
330
  } else if (typeof value === 'object') {
332
331
  this.reviveDatesRecursive(value);
333
332
  }
334
333
  }
335
334
  }
335
+
336
+ static #isPlainRecord(value: unknown): value is Record<string, unknown> {
337
+ return typeof value === 'object' && value !== null;
338
+ }
336
339
  }
@@ -5,6 +5,7 @@ import { VersionType } from '../types/VersionType.js';
5
5
  * in various ways.
6
6
  */
7
7
  export default class DependencyService {
8
+ #private;
8
9
  /**
9
10
  * Updates the package.json files of all sub-directories based on the root
10
11
  * package.json file. This will match any versions of dependencies in the
@@ -44,14 +45,5 @@ export default class DependencyService {
44
45
  * @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
45
46
  */
46
47
  static validatePackageDependents(packageName: string, version: string, workspaceRoot?: string): Promise<void>;
47
- /**
48
- * Internal helper to process dependents of a package, either updating them or validating them.
49
- *
50
- * @param packageName The name of the package to process dependents for
51
- * @param version The version to use for update or validation
52
- * @param mode Whether to update the dependents or just validate them
53
- * @param workspaceRoot Optional workspace root path
54
- */
55
- private static processPackageDependents;
56
48
  }
57
- //# sourceMappingURL=DependencyService.d.ts.map
49
+ //# sourceMappingURL=Dependency.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dependency.service.d.ts","sourceRoot":"","sources":["../../src/services/Dependency.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;;IACpC;;;;OAIG;WACU,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDrD;;;;;OAKG;WACU,WAAW,CAAC,WAAW,GAAE,WAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CrF;;;;;;OAMG;WACU,oBAAoB,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAwCpF;;;;;;;OAOG;WACU,uBAAuB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;OAOG;WACU,yBAAyB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;CA0FjB"}
@@ -1,9 +1,12 @@
1
1
  import { access, readFile, writeFile } from 'fs/promises';
2
2
  import path from 'path';
3
+ import { isJsonWithVersionProperty } from '../types/JsonWithVersionProperty.js';
4
+ import { isPackageJson } from '../types/PackageJson.js';
3
5
  import { VersionType } from '../types/VersionType.js';
4
6
  import ErrorUtils from '../utils/ErrorUtils.js';
7
+ import JsonUtils from '../utils/JsonUtils.js';
5
8
  import { DR } from './DependencyRegistry.js';
6
- import FileSystemService from './FileSystemService/FileSystemService.js';
9
+ import FileSystemService from './FileSystemService/FileSystem.service.js';
7
10
  /**
8
11
  * A service which can be used to manage dependencies in the current project
9
12
  * in various ways.
@@ -17,16 +20,16 @@ export default class DependencyService {
17
20
  static async updateChildPackageJsons() {
18
21
  // Read the root package.json file
19
22
  const rootPackageJsonPath = path.join(process.cwd(), 'package.json');
20
- let rootPackageJsonData;
23
+ let rootPackageJsonContent;
21
24
  try {
22
25
  await access(rootPackageJsonPath);
23
- const rootPackageJsonContent = await readFile(rootPackageJsonPath, 'utf-8');
24
- rootPackageJsonData = JSON.parse(rootPackageJsonContent);
26
+ rootPackageJsonContent = await readFile(rootPackageJsonPath, 'utf-8');
25
27
  }
26
28
  catch (error) {
27
29
  const originalError = ErrorUtils.getErrorString(error);
28
30
  throw new Error(`No package.json file found in the current directory or it's unreadable. Original error: ${originalError}`, { cause: error });
29
31
  }
32
+ const rootPackageJsonData = JsonUtils.parseWithGuard(rootPackageJsonContent, isPackageJson);
30
33
  const rootDependencies = {
31
34
  ...rootPackageJsonData.dependencies,
32
35
  ...rootPackageJsonData.devDependencies
@@ -82,7 +85,7 @@ export default class DependencyService {
82
85
  return;
83
86
  }
84
87
  try {
85
- const fileData = JSON.parse(await readFile(filePath, 'utf-8'));
88
+ const fileData = JsonUtils.parseWithGuard(await readFile(filePath, 'utf-8'), isJsonWithVersionProperty);
86
89
  const oldVersion = fileData.version;
87
90
  const newVersion = bump(oldVersion);
88
91
  fileData.version = newVersion;
@@ -118,7 +121,7 @@ export default class DependencyService {
118
121
  const fullPath = path.join(baseDir, relativePath);
119
122
  try {
120
123
  const fileContents = await readFile(fullPath, 'utf-8');
121
- const packageJsonData = JSON.parse(fileContents);
124
+ const packageJsonData = JsonUtils.parseWithGuard(fileContents, isPackageJson);
122
125
  if (packageJsonData.name) {
123
126
  childPackages[packageJsonData.name] = {
124
127
  packageJsonContents: packageJsonData,
@@ -145,7 +148,7 @@ export default class DependencyService {
145
148
  * @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
146
149
  */
147
150
  static async propagatePackageVersion(packageName, version, workspaceRoot) {
148
- await this.processPackageDependents(packageName, version, 'update', workspaceRoot);
151
+ await this.#processPackageDependents(packageName, version, 'update', workspaceRoot);
149
152
  }
150
153
  /**
151
154
  * Validates that all other packages in the workspace that depend on the specified package
@@ -156,7 +159,7 @@ export default class DependencyService {
156
159
  * @param workspaceRoot Optional workspace root path. Defaults to finding pnpm-workspace.yaml up the tree.
157
160
  */
158
161
  static async validatePackageDependents(packageName, version, workspaceRoot) {
159
- await this.processPackageDependents(packageName, version, 'validate', workspaceRoot);
162
+ await this.#processPackageDependents(packageName, version, 'validate', workspaceRoot);
160
163
  }
161
164
  /**
162
165
  * Internal helper to process dependents of a package, either updating them or validating them.
@@ -166,7 +169,7 @@ export default class DependencyService {
166
169
  * @param mode Whether to update the dependents or just validate them
167
170
  * @param workspaceRoot Optional workspace root path
168
171
  */
169
- static async processPackageDependents(packageName, version, mode, workspaceRoot) {
172
+ static async #processPackageDependents(packageName, version, mode, workspaceRoot) {
170
173
  const actionName = mode === 'update' ? 'Propagating' : 'Validating';
171
174
  DR.logger.info(`${actionName} version ${version} for ${packageName}...`);
172
175
  const pnpmWorkspacePath = await FileSystemService.findFileUpTree(workspaceRoot || process.cwd(), 'pnpm-workspace.yaml');
@@ -228,4 +231,4 @@ export default class DependencyService {
228
231
  }
229
232
  }
230
233
  }
231
- //# sourceMappingURL=DependencyService.js.map
234
+ //# sourceMappingURL=Dependency.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dependency.service.js","sourceRoot":"","sources":["../../src/services/Dependency.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,iBAAiB,MAAM,2CAA2C,CAAC;AAE1E;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,uBAAuB;QAClC,kCAAkC;QAClC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;QACrE,IAAI,sBAA8B,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAClC,sBAAsB,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,2FAA2F,aAAa,EAAE,EAC1G,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QACD,MAAM,mBAAmB,GAAG,SAAS,CAAC,cAAc,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;QAE5F,MAAM,gBAAgB,GAAG;YACvB,GAAG,mBAAmB,CAAC,YAAY;YACnC,GAAG,mBAAmB,CAAC,eAAe;SACvC,CAAC;QAEF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5D,4CAA4C;QAC5C,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE;YAC9D,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAC;YAElE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,mBAAmB,CAAC;YAE9D,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBAC/C,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;wBACjC,YAAY,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBAClD,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;wBACjC,eAAe,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,sCAAsC;YACtC,MAAM,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,cAA2B,WAAW,CAAC,KAAK;QACnE,MAAM,IAAI,GAAG,CAAC,OAAe,EAAU,EAAE;YACvC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7D,QAAQ,WAAW,EAAE,CAAC;gBACpB,KAAK,WAAW,CAAC,KAAK;oBACpB,OAAO,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC;gBAC5B,KAAK,WAAW,CAAC,KAAK;oBACpB,OAAO,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;gBACnC,KAAK,WAAW,CAAC,KAAK,CAAC;gBACvB;oBACE,OAAO,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;YAC9D,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC;gBACrF,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CACvC,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,EACjC,yBAAyB,CAC1B,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACpC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpC,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC;gBAC9B,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,UAAU,OAAO,UAAU,EAAE,CAAC,CAAC;YAC1F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACrD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,eAAwB;QACxD,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/F,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAE3E,kDAAkD;QAClD,MAAM,wBAAwB,GAAG,SAAS,CAAC,MAAM,CAC/C,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,8BAA8B;YACnE,QAAQ,KAAK,cAAc,IAAI,gCAAgC;YAC/D,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YAClC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC1B,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC9B,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACf,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAClD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;gBAC9E,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;oBACzB,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG;wBACpC,mBAAmB,EAAE,eAAe;wBACpC,eAAe,EAAE,QAAQ;qBAC1B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,mBAAmB,QAAQ,kEAAkE,CAC9F,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACrD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,QAAQ,KAAK,WAAW,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAClC,WAAmB,EACnB,OAAe,EACf,aAAsB;QAEtB,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,yBAAyB,CACpC,WAAmB,EACnB,OAAe,EACf,aAAsB;QAEtB,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACxF,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,yBAAyB,CACpC,WAAmB,EACnB,OAAe,EACf,IAA2B,EAC3B,aAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;QACpE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,YAAY,OAAO,QAAQ,WAAW,KAAK,CAAC,CAAC;QAEzE,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAC9D,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,EAC9B,qBAAqB,CACtB,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE;YAC1D,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAC;YAClE,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,IAAwC,EAAE,EAAE;gBAC7E,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;oBACrC,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;wBAC1B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;4BACtB,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,eAAe,mBAAmB,CAAC,IAAI,KAAK,WAAW,IAAI,UAAU,OAAO,MAAM,EAAE,CACrF,CAAC;4BACF,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;4BAC3B,QAAQ,GAAG,IAAI,CAAC;wBAClB,CAAC;6BAAM,CAAC;4BACN,EAAE,CAAC,MAAM,CAAC,KAAK,CACb,GAAG,mBAAmB,CAAC,IAAI,gBAAgB,IAAI,QAAQ,WAAW,YAAY,UAAU,gBAAgB,MAAM,GAAG,CAClH,CAAC;4BACF,UAAU,EAAE,CAAC;wBACf,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,WAAW,CAAC,cAAc,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAC9D,WAAW,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;YACpE,WAAW,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YACtE,WAAW,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;YAE9E,uFAAuF;YACvF,uEAAuE;YACvE,IAAI,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,MAAM,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/E,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,YAAY,YAAY,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,SAAS,UAAU,sCAAsC,WAAW,GAAG,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,WAAW,iCAAiC,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -1,12 +1,13 @@
1
1
  import { access, readFile, writeFile } from 'fs/promises';
2
2
  import path from 'path';
3
- import type { JsonWithVersionProperty } from '../types/JsonWithVersionProperty.js';
4
- import type { PackageJson } from '../types/PackageJson.js';
3
+ import { isJsonWithVersionProperty } from '../types/JsonWithVersionProperty.js';
4
+ import { isPackageJson } from '../types/PackageJson.js';
5
5
  import type { PackageJsonMap } from '../types/PackageJsonMap.js';
6
6
  import { VersionType } from '../types/VersionType.js';
7
7
  import ErrorUtils from '../utils/ErrorUtils.js';
8
+ import JsonUtils from '../utils/JsonUtils.js';
8
9
  import { DR } from './DependencyRegistry.js';
9
- import FileSystemService from './FileSystemService/FileSystemService.js';
10
+ import FileSystemService from './FileSystemService/FileSystem.service.js';
10
11
 
11
12
  /**
12
13
  * A service which can be used to manage dependencies in the current project
@@ -21,11 +22,10 @@ export default class DependencyService {
21
22
  static async updateChildPackageJsons(): Promise<void> {
22
23
  // Read the root package.json file
23
24
  const rootPackageJsonPath = path.join(process.cwd(), 'package.json');
24
- let rootPackageJsonData: PackageJson;
25
+ let rootPackageJsonContent: string;
25
26
  try {
26
27
  await access(rootPackageJsonPath);
27
- const rootPackageJsonContent = await readFile(rootPackageJsonPath, 'utf-8');
28
- rootPackageJsonData = JSON.parse(rootPackageJsonContent) as PackageJson;
28
+ rootPackageJsonContent = await readFile(rootPackageJsonPath, 'utf-8');
29
29
  } catch (error) {
30
30
  const originalError = ErrorUtils.getErrorString(error);
31
31
  throw new Error(
@@ -33,6 +33,7 @@ export default class DependencyService {
33
33
  { cause: error }
34
34
  );
35
35
  }
36
+ const rootPackageJsonData = JsonUtils.parseWithGuard(rootPackageJsonContent, isPackageJson);
36
37
 
37
38
  const rootDependencies = {
38
39
  ...rootPackageJsonData.dependencies,
@@ -99,7 +100,10 @@ export default class DependencyService {
99
100
  }
100
101
 
101
102
  try {
102
- const fileData = JSON.parse(await readFile(filePath, 'utf-8')) as JsonWithVersionProperty;
103
+ const fileData = JsonUtils.parseWithGuard(
104
+ await readFile(filePath, 'utf-8'),
105
+ isJsonWithVersionProperty
106
+ );
103
107
  const oldVersion = fileData.version;
104
108
  const newVersion = bump(oldVersion);
105
109
  fileData.version = newVersion;
@@ -142,7 +146,7 @@ export default class DependencyService {
142
146
  const fullPath = path.join(baseDir, relativePath);
143
147
  try {
144
148
  const fileContents = await readFile(fullPath, 'utf-8');
145
- const packageJsonData = JSON.parse(fileContents) as PackageJson;
149
+ const packageJsonData = JsonUtils.parseWithGuard(fileContents, isPackageJson);
146
150
  if (packageJsonData.name) {
147
151
  childPackages[packageJsonData.name] = {
148
152
  packageJsonContents: packageJsonData,
@@ -175,7 +179,7 @@ export default class DependencyService {
175
179
  version: string,
176
180
  workspaceRoot?: string
177
181
  ): Promise<void> {
178
- await this.processPackageDependents(packageName, version, 'update', workspaceRoot);
182
+ await this.#processPackageDependents(packageName, version, 'update', workspaceRoot);
179
183
  }
180
184
 
181
185
  /**
@@ -191,7 +195,7 @@ export default class DependencyService {
191
195
  version: string,
192
196
  workspaceRoot?: string
193
197
  ): Promise<void> {
194
- await this.processPackageDependents(packageName, version, 'validate', workspaceRoot);
198
+ await this.#processPackageDependents(packageName, version, 'validate', workspaceRoot);
195
199
  }
196
200
 
197
201
  /**
@@ -202,7 +206,7 @@ export default class DependencyService {
202
206
  * @param mode Whether to update the dependents or just validate them
203
207
  * @param workspaceRoot Optional workspace root path
204
208
  */
205
- private static async processPackageDependents(
209
+ static async #processPackageDependents(
206
210
  packageName: string,
207
211
  version: string,
208
212
  mode: 'update' | 'validate',