@aneuhold/core-ts-lib 2.2.14 → 2.3.1

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.
@@ -93,6 +93,14 @@ export default class FileSystemService {
93
93
  * @param stopAt - Optional directory path to stop searching at (defaults to root)
94
94
  */
95
95
  static findAllFilesUpTree(startDir: string, fileName: string, stopAt?: string): Promise<string[]>;
96
+ /**
97
+ * Checks if there are any changes in a directory compared to the main branch.
98
+ *
99
+ * @param absolutePath Optional absolute path to check for changes. If not provided, uses current working directory.
100
+ * @returns true if there are changes compared to main, false otherwise
101
+ * @throws Error if not in a git repository
102
+ */
103
+ static hasChangesComparedToMain(absolutePath?: string): Promise<boolean>;
96
104
  /**
97
105
  * Replaces all occurrences of a string in files within a directory.
98
106
  * Supports glob patterns for including/excluding files and handles URL encoding.
@@ -100,6 +108,13 @@ export default class FileSystemService {
100
108
  * @param options Configuration object for the replacement operation
101
109
  */
102
110
  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;
103
118
  /**
104
119
  * Internal helper method that traverses up the directory tree looking for files.
105
120
  *
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystemService.d.ts","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"AAWA;;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;IACpC;;;;;;;;;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;;;;;OAKG;WACU,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2E1E;;;;;;;OAOG;mBACkB,qBAAqB;IA2C1C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAchC"}
1
+ {"version":3,"file":"FileSystemService.d.ts","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"AAWA;;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;IACpC;;;;;;;;;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;IAyC9E;;;;;OAKG;WACU,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2E1E;;;;;OAKG;mBACkB,iBAAiB;IAYtC;;;;;;;OAOG;mBACkB,qBAAqB;IA2C1C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAchC"}
@@ -178,6 +178,44 @@ export default class FileSystemService {
178
178
  return this.traverseDirectoryTree(startDir, fileName, stopAt, false // findFirst = false
179
179
  );
180
180
  }
181
+ /**
182
+ * Checks if there are any changes in a directory compared to the main branch.
183
+ *
184
+ * @param absolutePath Optional absolute path to check for changes. If not provided, uses current working directory.
185
+ * @returns true if there are changes compared to main, false otherwise
186
+ * @throws Error if not in a git repository
187
+ */
188
+ static async hasChangesComparedToMain(absolutePath) {
189
+ const targetDir = absolutePath ?? process.cwd();
190
+ try {
191
+ // Get git repository root
192
+ const { stdout: gitRoot } = await execAsync('git rev-parse --show-toplevel', {
193
+ cwd: targetDir
194
+ });
195
+ const repoRoot = gitRoot.trim();
196
+ // Determine git diff command - prefer origin/main, fallback to HEAD~1
197
+ const gitCommand = await this.getGitDiffCommand(repoRoot);
198
+ // Get changed files
199
+ const { stdout } = await execAsync(gitCommand, { cwd: repoRoot });
200
+ const changedFiles = stdout.trim().split('\n').filter(Boolean);
201
+ // Get relative path from git root to target directory
202
+ const relativePath = path.relative(repoRoot, targetDir).replace(/\\/g, '/');
203
+ // If at git root, check for any changes
204
+ if (!relativePath || relativePath === '.') {
205
+ return changedFiles.length > 0;
206
+ }
207
+ // Check if any changed files are within the target directory
208
+ return changedFiles.some((file) => file.startsWith(`${relativePath}/`) || file === relativePath);
209
+ }
210
+ catch (error) {
211
+ const errorMessage = ErrorUtils.getErrorString(error);
212
+ if (errorMessage.includes('not a git repository')) {
213
+ throw new Error(`Not in a git repository: ${targetDir}`);
214
+ }
215
+ DR.logger.error(`Failed to check for changes compared to main: ${errorMessage}`);
216
+ throw error;
217
+ }
218
+ }
181
219
  /**
182
220
  * Replaces all occurrences of a string in files within a directory.
183
221
  * Supports glob patterns for including/excluding files and handles URL encoding.
@@ -231,6 +269,24 @@ export default class FileSystemService {
231
269
  }
232
270
  DR.logger.info(`${dryRun ? 'Would process' : 'Processed'} ${processedCount} files, ${dryRun ? 'would modify' : 'modified'} ${modifiedCount} files`);
233
271
  }
272
+ /**
273
+ * Determines the appropriate git diff command to use.
274
+ *
275
+ * @param repoRoot The git repository root directory
276
+ * @returns The git diff command to use
277
+ */
278
+ static async getGitDiffCommand(repoRoot) {
279
+ try {
280
+ await execAsync('git show-ref --verify --quiet refs/remotes/origin/main', {
281
+ cwd: repoRoot
282
+ });
283
+ return 'git diff --name-only origin/main...HEAD';
284
+ }
285
+ catch {
286
+ DR.logger.verbose.info('origin/main not found, comparing to HEAD~1');
287
+ return 'git diff --name-only HEAD~1 HEAD';
288
+ }
289
+ }
234
290
  /**
235
291
  * Internal helper method that traverses up the directory tree looking for files.
236
292
  *
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystemService.js","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAsBlC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC5B,UAAkB,EAClB,QAAgB,EAChB,YAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEjD,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzC,MAAM,UAAU,CAAC,QAAQ,EAAE,KAAK,YAAY,EAAE,CAAC,CAAC;gBAChD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,YAAY,SAAS,QAAQ,GAAG,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,wBAAwB,QAAQ,GAAG,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,YAAY,QAAQ,+CAA+C,YAAY,UAAU,CAC1F,CAAC;YACF,MAAM,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAC7B,gBAAwB,EACxB,gBAAwB,EACxB,gBAA2B;QAE3B,6CAA6C;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,gBAAgB,mBAAmB,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QACD,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAE9D,wCAAwC;QACxC,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAE1F,MAAM,OAAO,CAAC,GAAG,CACf,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAE/D,0DAA0D;YAC1D,IAAI,gBAAgB,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACzF,OAAO;YACT,CAAC;YAED,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAkB;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,UAAU,sCAAsC,CAAC,CAAC;YACvF,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,UAAU,mBAAmB,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAe;QAC1C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,OAAO,CAAC,GAAG,CACf,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;YAE1C,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC3B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAe;QAClD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnD,2CAA2C;YAC3C,OAAO,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;gBAClE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,YAAY,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB;QAC5B,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5F,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CACzB,QAAgB,EAChB,QAAgB,EAChB,MAAe;QAEf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAC9C,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,IAAI,CAAC,mBAAmB;SACzB,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAC7B,QAAgB,EAChB,QAAgB,EAChB,MAAe;QAEf,OAAO,IAAI,CAAC,qBAAqB,CAC/B,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,CAAC,oBAAoB;SAC3B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAA8B;QACxD,MAAM,EACJ,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,eAAe,GAAG,CAAC,MAAM,CAAC,EAC1B,eAAe,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,EACpD,iBAAiB,GAAG,IAAI,EACxB,MAAM,GAAG,KAAK,EACf,GAAG,OAAO,CAAC;QAEZ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,YAAY,WAAW,aAAa,QAAQ,QAAQ,EAAE,CAAC,CAAC;QAErF,IAAI,MAAM,EAAE,CAAC;YACX,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,mBAAmB,CAAC,gBAAgB,CACzD,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,eAAe,CAChB,CAAC;QAEF,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACjD,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,cAAc,GAAG,OAAO,CAAC;gBAE7B,0BAA0B;gBAC1B,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACnC,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;oBACxE,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;gBAED,2CAA2C;gBAC3C,IAAI,iBAAiB,EAAE,CAAC;oBACtB,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;oBAC7D,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;oBAE/D,IAAI,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBACjD,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;wBACtF,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACvD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,IAAI,YAAY,KAAK,CAAC,CAAC;oBAE7E,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;oBACpD,CAAC;oBAED,aAAa,EAAE,CAAC;gBAClB,CAAC;gBAED,cAAc,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,2CAA2C;gBAC3C,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,KAAK,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpF,SAAS;YACX,CAAC;QACH,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,IAAI,cAAc,WAAW,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,IAAI,aAAa,QAAQ,CACpI,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,KAAK,CAAC,qBAAqB,CACxC,QAAgB,EAChB,QAAgB,EAChB,MAAe,EACf,SAAS,GAAG,KAAK;QAEjB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QAE5E,OAAO,UAAU,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAEjD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7B,6BAA6B;gBAC7B,MAAM;YACR,CAAC;YACD,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,gBAAgB,CAAC,QAAgB,EAAE,gBAA0B;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEzC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YACzC,+CAA+C;YAC/C,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC/B,OAAO,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;YAED,sCAAsC;YACtC,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACnE,OAAO,aAAa,KAAK,SAAS,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"FileSystemService.js","sourceRoot":"","sources":["../../../src/services/FileSystemService/FileSystemService.ts"],"names":[],"mappings":"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"}
@@ -241,6 +241,54 @@ export default class FileSystemService {
241
241
  );
242
242
  }
243
243
 
244
+ /**
245
+ * Checks if there are any changes in a directory compared to the main branch.
246
+ *
247
+ * @param absolutePath Optional absolute path to check for changes. If not provided, uses current working directory.
248
+ * @returns true if there are changes compared to main, false otherwise
249
+ * @throws Error if not in a git repository
250
+ */
251
+ static async hasChangesComparedToMain(absolutePath?: string): Promise<boolean> {
252
+ const targetDir = absolutePath ?? process.cwd();
253
+
254
+ try {
255
+ // Get git repository root
256
+ const { stdout: gitRoot } = await execAsync('git rev-parse --show-toplevel', {
257
+ cwd: targetDir
258
+ });
259
+ const repoRoot = gitRoot.trim();
260
+
261
+ // Determine git diff command - prefer origin/main, fallback to HEAD~1
262
+ const gitCommand = await this.getGitDiffCommand(repoRoot);
263
+
264
+ // Get changed files
265
+ const { stdout } = await execAsync(gitCommand, { cwd: repoRoot });
266
+ const changedFiles = stdout.trim().split('\n').filter(Boolean);
267
+
268
+ // Get relative path from git root to target directory
269
+ const relativePath = path.relative(repoRoot, targetDir).replace(/\\/g, '/');
270
+
271
+ // If at git root, check for any changes
272
+ if (!relativePath || relativePath === '.') {
273
+ return changedFiles.length > 0;
274
+ }
275
+
276
+ // Check if any changed files are within the target directory
277
+ return changedFiles.some(
278
+ (file) => file.startsWith(`${relativePath}/`) || file === relativePath
279
+ );
280
+ } catch (error) {
281
+ const errorMessage = ErrorUtils.getErrorString(error);
282
+
283
+ if (errorMessage.includes('not a git repository')) {
284
+ throw new Error(`Not in a git repository: ${targetDir}`);
285
+ }
286
+
287
+ DR.logger.error(`Failed to check for changes compared to main: ${errorMessage}`);
288
+ throw error;
289
+ }
290
+ }
291
+
244
292
  /**
245
293
  * Replaces all occurrences of a string in files within a directory.
246
294
  * Supports glob patterns for including/excluding files and handles URL encoding.
@@ -322,6 +370,24 @@ export default class FileSystemService {
322
370
  );
323
371
  }
324
372
 
373
+ /**
374
+ * Determines the appropriate git diff command to use.
375
+ *
376
+ * @param repoRoot The git repository root directory
377
+ * @returns The git diff command to use
378
+ */
379
+ private static async getGitDiffCommand(repoRoot: string): Promise<string> {
380
+ try {
381
+ await execAsync('git show-ref --verify --quiet refs/remotes/origin/main', {
382
+ cwd: repoRoot
383
+ });
384
+ return 'git diff --name-only origin/main...HEAD';
385
+ } catch {
386
+ DR.logger.verbose.info('origin/main not found, comparing to HEAD~1');
387
+ return 'git diff --name-only HEAD~1 HEAD';
388
+ }
389
+ }
390
+
325
391
  /**
326
392
  * Internal helper method that traverses up the directory tree looking for files.
327
393
  *
@@ -51,6 +51,9 @@ export default class PackageServiceUtils {
51
51
  * This operation is idempotent - it will only bump if the current version conflicts with
52
52
  * the registry, and changelog initialization won't modify existing content.
53
53
  *
54
+ * First checks if there are changes compared to the main branch. If no changes are detected,
55
+ * the method will exit early with success.
56
+ *
54
57
  * @param versionType The type of version bump (patch, minor, major). Defaults to patch.
55
58
  * @param packagePath Optional path to the package directory (defaults to current working directory)
56
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PackageServiceUtils.d.ts","sourceRoot":"","sources":["../../../src/services/PackageService/PackageServiceUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAUzD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC;;;;OAIG;WACU,cAAc,IAAI,OAAO,CAAC;QACrC,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAwBF;;;;OAIG;WACU,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlF;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACzB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,IAAI;IAqBP;;;;;;OAMG;WACU,kBAAkB,CAC7B,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;OAGG;WACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAU7C;;;;;OAKG;WACU,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE;;;;;;;OAOG;WACU,yCAAyC,CACpD,WAAW,GAAE,WAA+B,EAC5C,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAiChB;;;;;;;;OAQG;mBACkB,wBAAwB;CAmC9C"}
1
+ {"version":3,"file":"PackageServiceUtils.d.ts","sourceRoot":"","sources":["../../../src/services/PackageService/PackageServiceUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAUzD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC;;;;OAIG;WACU,cAAc,IAAI,OAAO,CAAC;QACrC,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAwBF;;;;OAIG;WACU,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlF;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACzB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,IAAI;IAqBP;;;;;;OAMG;WACU,kBAAkB,CAC7B,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;OAGG;WACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAU7C;;;;;OAKG;WACU,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE;;;;;;;;;;OAUG;WACU,yCAAyC,CACpD,WAAW,GAAE,WAA+B,EAC5C,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IA8ChB;;;;;;;;OAQG;mBACkB,wBAAwB;CAmC9C"}
@@ -122,12 +122,23 @@ export default class PackageServiceUtils {
122
122
  * This operation is idempotent - it will only bump if the current version conflicts with
123
123
  * the registry, and changelog initialization won't modify existing content.
124
124
  *
125
+ * First checks if there are changes compared to the main branch. If no changes are detected,
126
+ * the method will exit early with success.
127
+ *
125
128
  * @param versionType The type of version bump (patch, minor, major). Defaults to patch.
126
129
  * @param packagePath Optional path to the package directory (defaults to current working directory)
127
130
  */
128
131
  static async bumpVersionIfNeededAndInitializeChangelog(versionType = VersionType.Patch, packagePath) {
129
132
  const { packageName, version: currentVersion } = await PackageServiceUtils.getPackageInfo();
130
133
  DR.logger.info(`Checking if version bump is needed for ${packageName} (current: ${currentVersion})`);
134
+ // First, check if there are changes compared to the main branch
135
+ // The method will auto-detect the current package directory if packagePath is not provided
136
+ const hasChanges = await FileSystemService.hasChangesComparedToMain(packagePath);
137
+ if (!hasChanges) {
138
+ DR.logger.success(`No changes detected compared to main branch for ${packageName} - skipping version bump and changelog initialization`);
139
+ return;
140
+ }
141
+ DR.logger.info(`Changes detected compared to main branch - proceeding with version check`);
131
142
  // Check if version bump is needed by comparing with npm registry
132
143
  const needsBump = await PackageServiceUtils.checkIfVersionBumpNeeded(packageName, currentVersion, versionType);
133
144
  let finalVersion = currentVersion;
@@ -1 +1 @@
1
- {"version":3,"file":"PackageServiceUtils.js","sourceRoot":"","sources":["../../../src/services/PackageService/PackageServiceUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PackageServiceUtils.js","sourceRoot":"","sources":["../../../src/services/PackageService/PackageServiceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,UAAU,MAAM,2BAA2B,CAAC;AACnD,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,iBAAiB,MAAM,2CAA2C,CAAC;AAC1E,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc;QAIzB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAE3D,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAgB,CAAC;YAE5F,OAAO;gBACL,WAAW,EAAE,eAAe,CAAC,IAAI;gBACjC,OAAO,EAAE,eAAe,CAAC,OAAO;aACjC,CAAC;QACJ,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;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,cAAsB;QAChE,IAAI,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,+DAA+D;QAC/D,MAAM,gBAAgB,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACzB,cAAsB,EACtB,aAAqB,EACrB,YAAoB;QAEpB,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,oBAAoB,cAAc,eAAe,YAAY,KAAK,aAAa,EAAE,CAClF,CAAC;QAEF,gDAAgD;QAChD,MAAM,UAAU,GAAG,aAAa,CAAC,uBAAuB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAExF,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,WAAW,cAAc,sBAAsB,YAAY,8CAA8C,CAC1G,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,mBAAmB,cAAc,+CAA+C,aAAa,OAAO,YAAY,4BAA4B,CAC7I,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAC7B,mBAA2B,EAC3B,cAAsB;QAEtB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,mBAAmB,SAAS,cAAc,GAAG,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE9B,6CAA6C;QAC7C,MAAM,iBAAiB,CAAC,cAAc,CAAC;YACrC,YAAY,EAAE,mBAAmB;YACjC,aAAa,EAAE,cAAc;YAC7B,QAAQ,EAAE,OAAO;YACjB,eAAe,EAAE,CAAC,GAAG,CAAC;YACtB,eAAe,EAAE,EAAE;SACpB,CAAC,CAAC;QAEH,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe;QAC1B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAoB;QACnD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAAC,cAAc,EAAE,CAAC;QAC5E,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,CAAC,yCAAyC,CACpD,cAA2B,WAAW,CAAC,KAAK,EAC5C,WAAoB;QAEpB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,mBAAmB,CAAC,cAAc,EAAE,CAAC;QAE5F,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,0CAA0C,WAAW,cAAc,cAAc,GAAG,CACrF,CAAC;QAEF,gEAAgE;QAChE,2FAA2F;QAC3F,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAEjF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,EAAE,CAAC,MAAM,CAAC,OAAO,CACf,mDAAmD,WAAW,uDAAuD,CACtH,CAAC;YACF,OAAO;QACT,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAE3F,iEAAiE;QACjE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,wBAAwB,CAClE,WAAW,EACX,cAAc,EACd,WAAW,CACZ,CAAC;QAEF,IAAI,YAAY,GAAG,cAAc,CAAC;QAClC,IAAI,SAAS,EAAE,CAAC;YACd,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,WAAW,UAAU,CAAC,CAAC;YACvE,MAAM,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAEjD,iCAAiC;YACjC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,mBAAmB,CAAC,cAAc,EAAE,CAAC;YAC3E,YAAY,GAAG,UAAU,CAAC;YAC1B,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,cAAc,OAAO,YAAY,EAAE,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACtE,CAAC;QAED,8CAA8C;QAC9C,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAEnF,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,qCAAqC,WAAW,YAAY,YAAY,EAAE,CAAC,CAAC;IAChG,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAC3C,WAAmB,EACnB,cAAsB,EACtB,WAAwB;QAExB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,WAAW,KAAK,CAAC,CAAC;QAEnF,IAAI,aAAa,GAAkB,IAAI,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;YAE9D,0DAA0D;YAC1D,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC/D,IAAI,kBAAkB,EAAE,CAAC;gBACvB,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACtC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,cAAc,oBAAoB,aAAa,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAErD,wEAAwE;YACxE,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACvF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,yEAAyE;YACzE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,yEAAyE;QACzE,OAAO,aAAa,CAAC,iBAAiB,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IACrF,CAAC;CACF"}
@@ -153,6 +153,9 @@ export default class PackageServiceUtils {
153
153
  * This operation is idempotent - it will only bump if the current version conflicts with
154
154
  * the registry, and changelog initialization won't modify existing content.
155
155
  *
156
+ * First checks if there are changes compared to the main branch. If no changes are detected,
157
+ * the method will exit early with success.
158
+ *
156
159
  * @param versionType The type of version bump (patch, minor, major). Defaults to patch.
157
160
  * @param packagePath Optional path to the package directory (defaults to current working directory)
158
161
  */
@@ -166,6 +169,19 @@ export default class PackageServiceUtils {
166
169
  `Checking if version bump is needed for ${packageName} (current: ${currentVersion})`
167
170
  );
168
171
 
172
+ // First, check if there are changes compared to the main branch
173
+ // The method will auto-detect the current package directory if packagePath is not provided
174
+ const hasChanges = await FileSystemService.hasChangesComparedToMain(packagePath);
175
+
176
+ if (!hasChanges) {
177
+ DR.logger.success(
178
+ `No changes detected compared to main branch for ${packageName} - skipping version bump and changelog initialization`
179
+ );
180
+ return;
181
+ }
182
+
183
+ DR.logger.info(`Changes detected compared to main branch - proceeding with version check`);
184
+
169
185
  // Check if version bump is needed by comparing with npm registry
170
186
  const needsBump = await PackageServiceUtils.checkIfVersionBumpNeeded(
171
187
  packageName,
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.14",
5
+ "version": "2.3.1",
6
6
  "description": "A core library for all of my TypeScript projects",
7
7
  "packageManager": "pnpm@10.12.1",
8
8
  "type": "module",
@@ -56,4 +56,4 @@
56
56
  "typescript": "~5.8.3",
57
57
  "vitest": "^3.2.4"
58
58
  }
59
- }
59
+ }