( changedFiles: readonly string[], packages: readonly PackageInternal[], rootDir: string )
| 436 | ); |
| 437 | |
| 438 | const hasCodeChanges = ( |
| 439 | changedFiles: readonly string[], |
| 440 | packages: readonly PackageInternal[], |
| 441 | rootDir: string |
| 442 | ) => { |
| 443 | const privatePackagePaths = getPrivatePackagePaths(packages, rootDir); |
| 444 | const publishableFiles = filterOutPrivatePackageFiles(changedFiles, privatePackagePaths); |
| 445 | const baseBranch = getBaseBranch(); |
| 446 | |
| 447 | const codePatterns: readonly RegExp[] = [/^packages\//]; |
| 448 | |
| 449 | return pipe( |
| 450 | filterDependencyOnlyPackageJsonFiles(publishableFiles, baseBranch), |
| 451 | Effect.map((filteredFiles) => |
| 452 | filteredFiles.some((file) => |
| 453 | file.startsWith('bun.lock') ? false : codePatterns.some((pattern) => pattern.test(file)) |
| 454 | ) |
| 455 | ) |
| 456 | ); |
| 457 | }; |
| 458 | |
| 459 | const areAllChangesDependencyOnly = ( |
| 460 | changedFiles: readonly string[], |
no test coverage detected