@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
@@ -5,8 +5,7 @@ import type { ITracer } from '../interfaces/ITracer.js';
5
5
  * Provides a central point for accessing shared services throughout an application.
6
6
  */
7
7
  export declare class DependencyRegistry {
8
- private static loggerInstance;
9
- private static tracerInstance;
8
+ #private;
10
9
  /**
11
10
  * Registers a logger implementation, overwriting the existing one.
12
11
  * Should typically be called once at application startup if a custom logger is needed.
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyRegistry.d.ts","sourceRoot":"","sources":["../../src/services/DependencyRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAIxD;;;GAGG;AACH,qBAAa,kBAAkB;IAE7B,OAAO,CAAC,MAAM,CAAC,cAAc,CAAgC;IAC7D,OAAO,CAAC,MAAM,CAAC,cAAc,CAA6B;IAE1D;;;;;OAKG;WACW,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIrD;;;;;OAKG;IACH,WAAkB,MAAM,IAAI,OAAO,CAElC;IAED;;;;;OAKG;WACW,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIrD;;;;;OAKG;IACH,WAAkB,MAAM,IAAI,OAAO,CAElC;CACF;AAED;;GAEG;AACH,eAAO,MAAM,EAAE,2BAAqB,CAAC"}
1
+ {"version":3,"file":"DependencyRegistry.d.ts","sourceRoot":"","sources":["../../src/services/DependencyRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAIxD;;;GAGG;AACH,qBAAa,kBAAkB;;IAK7B;;;;;OAKG;WACW,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIrD;;;;;OAKG;IACH,WAAkB,MAAM,IAAI,OAAO,CAElC;IAED;;;;;OAKG;WACW,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIrD;;;;;OAKG;IACH,WAAkB,MAAM,IAAI,OAAO,CAElC;CACF;AAED;;GAEG;AACH,eAAO,MAAM,EAAE,2BAAqB,CAAC"}
@@ -6,8 +6,8 @@ import ConsoleLogger from '../utils/ConsoleLogger.js';
6
6
  */
7
7
  export class DependencyRegistry {
8
8
  // Initialize with concrete defaults
9
- static loggerInstance = new ConsoleLogger();
10
- static tracerInstance = new NoopTracer();
9
+ static #loggerInstance = new ConsoleLogger();
10
+ static #tracerInstance = new NoopTracer();
11
11
  /**
12
12
  * Registers a logger implementation, overwriting the existing one.
13
13
  * Should typically be called once at application startup if a custom logger is needed.
@@ -15,7 +15,7 @@ export class DependencyRegistry {
15
15
  * @param instance - The ILogger instance to register.
16
16
  */
17
17
  static registerLogger(instance) {
18
- this.loggerInstance = instance;
18
+ this.#loggerInstance = instance;
19
19
  }
20
20
  /**
21
21
  * Gets the currently registered logger instance.
@@ -24,7 +24,7 @@ export class DependencyRegistry {
24
24
  * @returns The registered ILogger instance.
25
25
  */
26
26
  static get logger() {
27
- return this.loggerInstance;
27
+ return this.#loggerInstance;
28
28
  }
29
29
  /**
30
30
  * Registers a tracer implementation, overwriting the existing one.
@@ -33,7 +33,7 @@ export class DependencyRegistry {
33
33
  * @param instance - The ITracer instance to register.
34
34
  */
35
35
  static registerTracer(instance) {
36
- this.tracerInstance = instance;
36
+ this.#tracerInstance = instance;
37
37
  }
38
38
  /**
39
39
  * Gets the currently registered tracer instance.
@@ -42,7 +42,7 @@ export class DependencyRegistry {
42
42
  * @returns The registered ITracer instance.
43
43
  */
44
44
  static get tracer() {
45
- return this.tracerInstance;
45
+ return this.#tracerInstance;
46
46
  }
47
47
  }
48
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyRegistry.js","sourceRoot":"","sources":["../../src/services/DependencyRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAEtD;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAC7B,oCAAoC;IAC5B,MAAM,CAAC,cAAc,GAAY,IAAI,aAAa,EAAE,CAAC;IACrD,MAAM,CAAC,cAAc,GAAY,IAAI,UAAU,EAAE,CAAC;IAE1D;;;;;OAKG;IACI,MAAM,CAAC,cAAc,CAAC,QAAiB;QAC5C,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,MAAM,KAAK,MAAM;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,cAAc,CAAC,QAAiB;QAC5C,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,MAAM,KAAK,MAAM;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"DependencyRegistry.js","sourceRoot":"","sources":["../../src/services/DependencyRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAEtD;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAC7B,oCAAoC;IACpC,MAAM,CAAC,eAAe,GAAY,IAAI,aAAa,EAAE,CAAC;IACtD,MAAM,CAAC,eAAe,GAAY,IAAI,UAAU,EAAE,CAAC;IAEnD;;;;;OAKG;IACI,MAAM,CAAC,cAAc,CAAC,QAAiB;QAC5C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACI,MAAM,KAAK,MAAM;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,cAAc,CAAC,QAAiB;QAC5C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACI,MAAM,KAAK,MAAM;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC"}
@@ -9,8 +9,8 @@ import ConsoleLogger from '../utils/ConsoleLogger.js';
9
9
  */
10
10
  export class DependencyRegistry {
11
11
  // Initialize with concrete defaults
12
- private static loggerInstance: ILogger = new ConsoleLogger();
13
- private static tracerInstance: ITracer = new NoopTracer();
12
+ static #loggerInstance: ILogger = new ConsoleLogger();
13
+ static #tracerInstance: ITracer = new NoopTracer();
14
14
 
15
15
  /**
16
16
  * Registers a logger implementation, overwriting the existing one.
@@ -19,7 +19,7 @@ export class DependencyRegistry {
19
19
  * @param instance - The ILogger instance to register.
20
20
  */
21
21
  public static registerLogger(instance: ILogger): void {
22
- this.loggerInstance = instance;
22
+ this.#loggerInstance = instance;
23
23
  }
24
24
 
25
25
  /**
@@ -29,7 +29,7 @@ export class DependencyRegistry {
29
29
  * @returns The registered ILogger instance.
30
30
  */
31
31
  public static get logger(): ILogger {
32
- return this.loggerInstance;
32
+ return this.#loggerInstance;
33
33
  }
34
34
 
35
35
  /**
@@ -39,7 +39,7 @@ export class DependencyRegistry {
39
39
  * @param instance - The ITracer instance to register.
40
40
  */
41
41
  public static registerTracer(instance: ITracer): void {
42
- this.tracerInstance = instance;
42
+ this.#tracerInstance = instance;
43
43
  }
44
44
 
45
45
  /**
@@ -49,7 +49,7 @@ export class DependencyRegistry {
49
49
  * @returns The registered ITracer instance.
50
50
  */
51
51
  public static get tracer(): ITracer {
52
- return this.tracerInstance;
52
+ return this.#tracerInstance;
53
53
  }
54
54
  }
55
55
 
@@ -22,6 +22,7 @@ export type ReplaceInFilesOptions = {
22
22
  * steps.
23
23
  */
24
24
  export default class FileSystemService {
25
+ #private;
25
26
  /**
26
27
  * Tries to add the provided snippet of text to the path provided. If the file
27
28
  * doesn't exist, it creates it. If the folders to the file don't exist, it
@@ -108,29 +109,5 @@ export default class FileSystemService {
108
109
  * @param options Configuration object for the replacement operation
109
110
  */
110
111
  static replaceInFiles(options: ReplaceInFilesOptions): Promise<void>;
111
- /**
112
- * Determines the appropriate git diff command to use.
113
- *
114
- * @param repoRoot The git repository root directory
115
- * @returns The git diff command to use
116
- */
117
- private static getGitDiffCommand;
118
- /**
119
- * Internal helper method that traverses up the directory tree looking for files.
120
- *
121
- * @param startDir - The directory to start searching from
122
- * @param fileName - The name of the file to search for
123
- * @param stopAt - Optional directory path to stop searching at (defaults to root)
124
- * @param findFirst - If true, stops after finding the first file
125
- */
126
- private static traverseDirectoryTree;
127
- /**
128
- * Checks if a file should be ignored based on the provided extensions.
129
- * Supports both simple extensions (e.g., '.ts') and multi-part extensions (e.g., '.spec.ts').
130
- *
131
- * @param filePath the path to the file to check
132
- * @param ignoreExtensions array of extensions to ignore
133
- */
134
- private static shouldIgnoreFile;
135
112
  }
136
- //# sourceMappingURL=FileSystemService.d.ts.map
113
+ //# sourceMappingURL=FileSystem.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileSystem.service.d.ts","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystem.service.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;;IAGpC;;;;;;;;;OASG;WACU,iBAAiB,CAC5B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAsBhB;;;;;;;;OAQG;WACU,kBAAkB,CAC7B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,IAAI,CAAC;WA4BH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAStD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;;;;;;;OAQG;WACU,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoBhE;;;;;;;;OAQG;WACU,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWxE;;;;;OAKG;WACU,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAUlD;;;;;;;;;OASG;WACU,cAAc,CACzB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUzB;;;;;;;;OAQG;WACU,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,CAAC;IASpB;;;;;;OAMG;WACU,wBAAwB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4C9E;;;;;OAKG;WACU,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAsK3E"}
@@ -4,14 +4,14 @@ import path from 'path';
4
4
  import { promisify } from 'util';
5
5
  import ErrorUtils from '../../utils/ErrorUtils.js';
6
6
  import { DR } from '../DependencyRegistry.js';
7
- import StringService from '../StringService.js';
8
- import GlobMatchingService from './GlobMatchingService.js';
9
- const execAsync = promisify(exec);
7
+ import StringService from '../String.service.js';
8
+ import GlobMatchingService from './GlobMatching.service.js';
10
9
  /**
11
10
  * A service which can be used to interact with the file system, only in build
12
11
  * steps.
13
12
  */
14
13
  export default class FileSystemService {
14
+ static #execAsync = promisify(exec);
15
15
  /**
16
16
  * Tries to add the provided snippet of text to the path provided. If the file
17
17
  * doesn't exist, it creates it. If the folders to the file don't exist, it
@@ -66,7 +66,7 @@ export default class FileSystemService {
66
66
  const sourceFile = path.join(sourceFolderPath, sourceFilePath);
67
67
  const targetFile = path.join(targetFolderPath, sourceFilePath);
68
68
  // Check if the file should be ignored based on extensions
69
- if (ignoreExtensions && FileSystemService.shouldIgnoreFile(sourceFile, ignoreExtensions)) {
69
+ if (ignoreExtensions && FileSystemService.#shouldIgnoreFile(sourceFile, ignoreExtensions)) {
70
70
  return;
71
71
  }
72
72
  await cp(sourceFile, targetFile, { recursive: true });
@@ -143,7 +143,7 @@ export default class FileSystemService {
143
143
  */
144
144
  static async hasPendingChanges() {
145
145
  try {
146
- const { stdout } = await execAsync('git status --porcelain');
146
+ const { stdout } = await FileSystemService.#execAsync('git status --porcelain');
147
147
  return stdout.trim().length > 0;
148
148
  }
149
149
  catch (error) {
@@ -162,7 +162,7 @@ export default class FileSystemService {
162
162
  * @param stopAt - Optional directory path to stop searching at (defaults to root)
163
163
  */
164
164
  static async findFileUpTree(startDir, fileName, stopAt) {
165
- const results = await this.traverseDirectoryTree(startDir, fileName, stopAt, true // findFirst = true
165
+ const results = await this.#traverseDirectoryTree(startDir, fileName, stopAt, true // findFirst = true
166
166
  );
167
167
  return results.length > 0 ? results[0] : null;
168
168
  }
@@ -176,7 +176,7 @@ export default class FileSystemService {
176
176
  * @param stopAt - Optional directory path to stop searching at (defaults to root)
177
177
  */
178
178
  static async findAllFilesUpTree(startDir, fileName, stopAt) {
179
- return this.traverseDirectoryTree(startDir, fileName, stopAt, false // findFirst = false
179
+ return this.#traverseDirectoryTree(startDir, fileName, stopAt, false // findFirst = false
180
180
  );
181
181
  }
182
182
  /**
@@ -190,14 +190,14 @@ export default class FileSystemService {
190
190
  const targetDir = absolutePath ?? process.cwd();
191
191
  try {
192
192
  // Get git repository root
193
- const { stdout: gitRoot } = await execAsync('git rev-parse --show-toplevel', {
193
+ const { stdout: gitRoot } = await FileSystemService.#execAsync('git rev-parse --show-toplevel', {
194
194
  cwd: targetDir
195
195
  });
196
196
  const repoRoot = gitRoot.trim();
197
197
  // Determine git diff command - prefer origin/main, fallback to HEAD~1
198
- const gitCommand = await this.getGitDiffCommand(repoRoot);
198
+ const gitCommand = await this.#getGitDiffCommand(repoRoot);
199
199
  // Get changed files
200
- const { stdout } = await execAsync(gitCommand, { cwd: repoRoot });
200
+ const { stdout } = await FileSystemService.#execAsync(gitCommand, { cwd: repoRoot });
201
201
  const changedFiles = stdout.trim().split('\n').filter(Boolean);
202
202
  // Get relative path from git root to target directory
203
203
  const relativePath = path.relative(repoRoot, targetDir).replace(/\\/g, '/');
@@ -276,9 +276,9 @@ export default class FileSystemService {
276
276
  * @param repoRoot The git repository root directory
277
277
  * @returns The git diff command to use
278
278
  */
279
- static async getGitDiffCommand(repoRoot) {
279
+ static async #getGitDiffCommand(repoRoot) {
280
280
  try {
281
- await execAsync('git show-ref --verify --quiet refs/remotes/origin/main', {
281
+ await FileSystemService.#execAsync('git show-ref --verify --quiet refs/remotes/origin/main', {
282
282
  cwd: repoRoot
283
283
  });
284
284
  // Returns all changed files compared to origin/main, including uncommitted changes
@@ -297,7 +297,7 @@ export default class FileSystemService {
297
297
  * @param stopAt - Optional directory path to stop searching at (defaults to root)
298
298
  * @param findFirst - If true, stops after finding the first file
299
299
  */
300
- static async traverseDirectoryTree(startDir, fileName, stopAt, findFirst = false) {
300
+ static async #traverseDirectoryTree(startDir, fileName, stopAt, findFirst = false) {
301
301
  const results = [];
302
302
  let currentDir = path.resolve(startDir);
303
303
  const rootDir = stopAt ? path.resolve(stopAt) : path.parse(currentDir).root;
@@ -338,7 +338,7 @@ export default class FileSystemService {
338
338
  * @param filePath the path to the file to check
339
339
  * @param ignoreExtensions array of extensions to ignore
340
340
  */
341
- static shouldIgnoreFile(filePath, ignoreExtensions) {
341
+ static #shouldIgnoreFile(filePath, ignoreExtensions) {
342
342
  const fileName = path.basename(filePath);
343
343
  return ignoreExtensions.some((extension) => {
344
344
  // Handle multi-part extensions like '.spec.ts'
@@ -351,4 +351,4 @@ export default class FileSystemService {
351
351
  });
352
352
  }
353
353
  }
354
- //# sourceMappingURL=FileSystemService.js.map
354
+ //# sourceMappingURL=FileSystem.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileSystem.service.js","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystem.service.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,8 @@ import path from 'path';
4
4
  import { promisify } from 'util';
5
5
  import ErrorUtils from '../../utils/ErrorUtils.js';
6
6
  import { DR } from '../DependencyRegistry.js';
7
- import StringService from '../StringService.js';
8
- import GlobMatchingService from './GlobMatchingService.js';
9
-
10
- const execAsync = promisify(exec);
7
+ import StringService from '../String.service.js';
8
+ import GlobMatchingService from './GlobMatching.service.js';
11
9
 
12
10
  /**
13
11
  * Options for the replaceInFiles method
@@ -34,6 +32,8 @@ export type ReplaceInFilesOptions = {
34
32
  * steps.
35
33
  */
36
34
  export default class FileSystemService {
35
+ static #execAsync = promisify(exec);
36
+
37
37
  /**
38
38
  * Tries to add the provided snippet of text to the path provided. If the file
39
39
  * doesn't exist, it creates it. If the folders to the file don't exist, it
@@ -102,7 +102,7 @@ export default class FileSystemService {
102
102
  const targetFile = path.join(targetFolderPath, sourceFilePath);
103
103
 
104
104
  // Check if the file should be ignored based on extensions
105
- if (ignoreExtensions && FileSystemService.shouldIgnoreFile(sourceFile, ignoreExtensions)) {
105
+ if (ignoreExtensions && FileSystemService.#shouldIgnoreFile(sourceFile, ignoreExtensions)) {
106
106
  return;
107
107
  }
108
108
 
@@ -187,7 +187,7 @@ export default class FileSystemService {
187
187
  */
188
188
  static async hasPendingChanges(): Promise<boolean> {
189
189
  try {
190
- const { stdout } = await execAsync('git status --porcelain');
190
+ const { stdout } = await FileSystemService.#execAsync('git status --porcelain');
191
191
  return stdout.trim().length > 0;
192
192
  } catch (error) {
193
193
  DR.logger.error(`Failed to check for pending changes: ${ErrorUtils.getErrorString(error)}`);
@@ -210,7 +210,7 @@ export default class FileSystemService {
210
210
  fileName: string,
211
211
  stopAt?: string
212
212
  ): Promise<string | null> {
213
- const results = await this.traverseDirectoryTree(
213
+ const results = await this.#traverseDirectoryTree(
214
214
  startDir,
215
215
  fileName,
216
216
  stopAt,
@@ -233,7 +233,7 @@ export default class FileSystemService {
233
233
  fileName: string,
234
234
  stopAt?: string
235
235
  ): Promise<string[]> {
236
- return this.traverseDirectoryTree(
236
+ return this.#traverseDirectoryTree(
237
237
  startDir,
238
238
  fileName,
239
239
  stopAt,
@@ -253,16 +253,19 @@ export default class FileSystemService {
253
253
 
254
254
  try {
255
255
  // Get git repository root
256
- const { stdout: gitRoot } = await execAsync('git rev-parse --show-toplevel', {
257
- cwd: targetDir
258
- });
256
+ const { stdout: gitRoot } = await FileSystemService.#execAsync(
257
+ 'git rev-parse --show-toplevel',
258
+ {
259
+ cwd: targetDir
260
+ }
261
+ );
259
262
  const repoRoot = gitRoot.trim();
260
263
 
261
264
  // Determine git diff command - prefer origin/main, fallback to HEAD~1
262
- const gitCommand = await this.getGitDiffCommand(repoRoot);
265
+ const gitCommand = await this.#getGitDiffCommand(repoRoot);
263
266
 
264
267
  // Get changed files
265
- const { stdout } = await execAsync(gitCommand, { cwd: repoRoot });
268
+ const { stdout } = await FileSystemService.#execAsync(gitCommand, { cwd: repoRoot });
266
269
  const changedFiles = stdout.trim().split('\n').filter(Boolean);
267
270
 
268
271
  // Get relative path from git root to target directory
@@ -376,9 +379,9 @@ export default class FileSystemService {
376
379
  * @param repoRoot The git repository root directory
377
380
  * @returns The git diff command to use
378
381
  */
379
- private static async getGitDiffCommand(repoRoot: string): Promise<string> {
382
+ static async #getGitDiffCommand(repoRoot: string): Promise<string> {
380
383
  try {
381
- await execAsync('git show-ref --verify --quiet refs/remotes/origin/main', {
384
+ await FileSystemService.#execAsync('git show-ref --verify --quiet refs/remotes/origin/main', {
382
385
  cwd: repoRoot
383
386
  });
384
387
  // Returns all changed files compared to origin/main, including uncommitted changes
@@ -397,7 +400,7 @@ export default class FileSystemService {
397
400
  * @param stopAt - Optional directory path to stop searching at (defaults to root)
398
401
  * @param findFirst - If true, stops after finding the first file
399
402
  */
400
- private static async traverseDirectoryTree(
403
+ static async #traverseDirectoryTree(
401
404
  startDir: string,
402
405
  fileName: string,
403
406
  stopAt?: string,
@@ -447,7 +450,7 @@ export default class FileSystemService {
447
450
  * @param filePath the path to the file to check
448
451
  * @param ignoreExtensions array of extensions to ignore
449
452
  */
450
- private static shouldIgnoreFile(filePath: string, ignoreExtensions: string[]): boolean {
453
+ static #shouldIgnoreFile(filePath: string, ignoreExtensions: string[]): boolean {
451
454
  const fileName = path.basename(filePath);
452
455
 
453
456
  return ignoreExtensions.some((extension) => {
@@ -6,6 +6,7 @@
6
6
  * but simplified for basic use cases.
7
7
  */
8
8
  export default class GlobMatchingService {
9
+ #private;
9
10
  /**
10
11
  * Gets files matching the include patterns while excluding those that match exclude patterns.
11
12
  * Uses simple glob-like matching for common patterns.
@@ -27,22 +28,5 @@ export default class GlobMatchingService {
27
28
  * @param pattern The pattern to match against
28
29
  */
29
30
  static matchesPattern(filePath: string, pattern: string): boolean;
30
- /**
31
- * Match path segments against pattern segments with support for globstar (**).
32
- *
33
- * The idea is that each segment doesn't cross path separators. It should
34
- * be split by '/' and then matched segment by segment.
35
- *
36
- * @param pathSegments Array of path segments
37
- * @param patternSegments Array of pattern segments
38
- */
39
- private static matchSegments;
40
- /**
41
- * Match a single segment with support for * wildcard
42
- *
43
- * @param pathSegment Single path segment
44
- * @param patternSegment Single pattern segment
45
- */
46
- private static matchSingleSegment;
47
31
  }
48
- //# sourceMappingURL=GlobMatchingService.d.ts.map
32
+ //# sourceMappingURL=GlobMatching.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobMatching.service.d.ts","sourceRoot":"","sources":["../../../src/services/FileSystemService/GlobMatching.service.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IACtC;;;;;;;;OAQG;IACH,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,GACxB,MAAM,EAAE;IAcX;;;;;;;;;OASG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;CAwGlE"}
@@ -48,7 +48,7 @@ export default class GlobMatchingService {
48
48
  // Split into segments for more precise matching
49
49
  const pathSegments = normalizedPath.split('/');
50
50
  const patternSegments = normalizedPattern.split('/');
51
- return this.matchSegments(pathSegments, patternSegments);
51
+ return this.#matchSegments(pathSegments, patternSegments);
52
52
  }
53
53
  /**
54
54
  * Match path segments against pattern segments with support for globstar (**).
@@ -59,7 +59,7 @@ export default class GlobMatchingService {
59
59
  * @param pathSegments Array of path segments
60
60
  * @param patternSegments Array of pattern segments
61
61
  */
62
- static matchSegments(pathSegments, patternSegments) {
62
+ static #matchSegments(pathSegments, patternSegments) {
63
63
  let pathIndex = 0;
64
64
  let patternIndex = 0;
65
65
  while (pathIndex < pathSegments.length && patternIndex < patternSegments.length) {
@@ -77,13 +77,13 @@ export default class GlobMatchingService {
77
77
  // Try matching from current position onwards
78
78
  for (let i = pathIndex; i <= pathSegments.length; i++) {
79
79
  const remainingPath = pathSegments.slice(i);
80
- if (this.matchSegments(remainingPath, remainingPattern)) {
80
+ if (this.#matchSegments(remainingPath, remainingPattern)) {
81
81
  return true;
82
82
  }
83
83
  }
84
84
  return false;
85
85
  }
86
- else if (this.matchSingleSegment(pathSegment, patternSegment)) {
86
+ else if (this.#matchSingleSegment(pathSegment, patternSegment)) {
87
87
  // Regular segment match
88
88
  pathIndex++;
89
89
  patternIndex++;
@@ -111,7 +111,7 @@ export default class GlobMatchingService {
111
111
  * @param pathSegment Single path segment
112
112
  * @param patternSegment Single pattern segment
113
113
  */
114
- static matchSingleSegment(pathSegment, patternSegment) {
114
+ static #matchSingleSegment(pathSegment, patternSegment) {
115
115
  if (patternSegment === '*') {
116
116
  return true;
117
117
  }
@@ -126,4 +126,4 @@ export default class GlobMatchingService {
126
126
  return regex.test(pathSegment);
127
127
  }
128
128
  }
129
- //# sourceMappingURL=GlobMatchingService.js.map
129
+ //# sourceMappingURL=GlobMatching.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobMatching.service.js","sourceRoot":"","sources":["../../../src/services/FileSystemService/GlobMatching.service.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ export default class GlobMatchingService {
60
60
  const pathSegments = normalizedPath.split('/');
61
61
  const patternSegments = normalizedPattern.split('/');
62
62
 
63
- return this.matchSegments(pathSegments, patternSegments);
63
+ return this.#matchSegments(pathSegments, patternSegments);
64
64
  }
65
65
 
66
66
  /**
@@ -72,7 +72,7 @@ export default class GlobMatchingService {
72
72
  * @param pathSegments Array of path segments
73
73
  * @param patternSegments Array of pattern segments
74
74
  */
75
- private static matchSegments(pathSegments: string[], patternSegments: string[]): boolean {
75
+ static #matchSegments(pathSegments: string[], patternSegments: string[]): boolean {
76
76
  let pathIndex = 0;
77
77
  let patternIndex = 0;
78
78
 
@@ -95,13 +95,13 @@ export default class GlobMatchingService {
95
95
  // Try matching from current position onwards
96
96
  for (let i = pathIndex; i <= pathSegments.length; i++) {
97
97
  const remainingPath = pathSegments.slice(i);
98
- if (this.matchSegments(remainingPath, remainingPattern)) {
98
+ if (this.#matchSegments(remainingPath, remainingPattern)) {
99
99
  return true;
100
100
  }
101
101
  }
102
102
 
103
103
  return false;
104
- } else if (this.matchSingleSegment(pathSegment, patternSegment)) {
104
+ } else if (this.#matchSingleSegment(pathSegment, patternSegment)) {
105
105
  // Regular segment match
106
106
  pathIndex++;
107
107
  patternIndex++;
@@ -133,7 +133,7 @@ export default class GlobMatchingService {
133
133
  * @param pathSegment Single path segment
134
134
  * @param patternSegment Single pattern segment
135
135
  */
136
- private static matchSingleSegment(pathSegment: string, patternSegment: string): boolean {
136
+ static #matchSingleSegment(pathSegment: string, patternSegment: string): boolean {
137
137
  if (patternSegment === '*') {
138
138
  return true;
139
139
  }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Service for handling JSR-specific package operations including validation and publishing.
3
+ */
4
+ export default class JsrPackageService {
5
+ #private;
6
+ /**
7
+ * Validates the current project for publishing to JSR. This will check if the
8
+ * project has any pending changes first, then update the version of the
9
+ * jsr.json to match the package.json file, then run the
10
+ * `jsr publish --dry-run` command, and finally cleanup the changes made.
11
+ *
12
+ * @param alternativePackageNames Optional array of alternative package names to validate publishing under
13
+ *
14
+ * **Warning:** This method uses simple string replacement for package names, which may have unintended effects
15
+ * if the package name appears in unexpected places. Use with caution.
16
+ * @param allowSlowTypes Whether to allow slow types during publishing
17
+ */
18
+ static validatePublish(alternativePackageNames?: string[], allowSlowTypes?: boolean): Promise<void>;
19
+ /**
20
+ * Publishes the current project to JSR.
21
+ *
22
+ * @param alternativePackageNames Optional array of alternative package names to publish under
23
+ *
24
+ * **Warning:** This method uses simple string replacement for package names, which may have unintended effects
25
+ * if the package name appears in unexpected places. Use with caution.
26
+ */
27
+ static publish(alternativePackageNames?: string[]): Promise<void>;
28
+ }
29
+ //# sourceMappingURL=JsrPackage.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsrPackage.service.d.ts","sourceRoot":"","sources":["../../../src/services/PackageService/JsrPackage.service.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;;IAGpC;;;;;;;;;;;OAWG;WACU,eAAe,CAC1B,uBAAuB,CAAC,EAAE,MAAM,EAAE,EAClC,cAAc,UAAQ,GACrB,OAAO,CAAC,IAAI,CAAC;IAmChB;;;;;;;OAOG;WACU,OAAO,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAoVxE"}