fs.relative_to()
The fs
module now has a relative_to
method. The method will return the relative path from argument one to argument two, if one exists. Otherwise, the absolute path to argument one is returned.
assert(fs.relative_to('c:\\prefix\\lib', 'c:\\prefix\\bin') == '..\\lib') assert(fs.relative_to('c:\\proj1\\foo', 'd:\\proj1\\bar') == 'c:\\proj1\\foo') assert(fs.relative_to('prefix\\lib\\foo', 'prefix') == 'lib\\foo') assert(fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib') assert(fs.relative_to('prefix/lib/foo', 'prefix') == 'lib/foo')
In addition to strings, it can handle files, custom targets, custom target indices, and build targets.