(lhs: string, rhs: string, cwd: string = process.cwd())
| 370 | } |
| 371 | |
| 372 | static isSubpath (lhs: string, rhs: string, cwd: string = process.cwd()) { |
| 373 | const absLhs = path.isAbsolute(lhs) ? lhs : path.resolve(cwd, lhs); |
| 374 | const absRhs = path.isAbsolute(rhs) ? rhs : path.resolve(cwd, rhs); |
| 375 | |
| 376 | const relative = path.relative(absRhs, absLhs); |
| 377 | return !relative.startsWith(".."); |
| 378 | } |
| 379 | |
| 380 | static async rsyncTrackedFiles (cwd: string, stateDir: string, target: string): Promise<{hrdeltatime: [number, number]}> { |
| 381 | const time = process.hrtime(); |
no test coverage detected