dependent-path-update
Version:
A tool to update dependent paths when renaming a file.
29 lines (20 loc) • 926 B
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = getPotentialPaths;
var _path = _interopRequireDefault(require("path"));
var _getRelativeRequirePath = _interopRequireDefault(require("./get-relative-require-path"));
function getPotentialPaths(projectDir, from, to) {
const fromDir = _path.default.dirname(from);
const projectRelativePath = _path.default.relative(projectDir, fromDir);
const toRelativePath = (0, _getRelativeRequirePath.default)(fromDir, to);
const potentialPaths = [toRelativePath];
let index = projectRelativePath.length;
let backtrack = "../";
do {
index = projectRelativePath.lastIndexOf("/", index - 2) + 1;
potentialPaths.push(_path.default.join(backtrack, projectRelativePath.slice(index), toRelativePath));
backtrack += "../";
} while (index);
return potentialPaths;
}