import method
Implementation
String import(String i, {required String at}) {
var u = Uri.parse(i);
var atPkg = _resolve("${pkgName}/${p.relative(at, from: pkgRoot.path)}");
if (u.scheme == "package") {
var importPkg = _resolve(u.path);
if (importPkg == atPkg ||
importPkg == atPkg.replaceFirst("${pkgName}/src/", "${pkgName}/")) {
print("[pubtidy] should not import entry `${importPkg}` at ${at}");
}
return "${u.scheme}:${_resolve(u.path)}";
}
if (u.scheme != "") {
return i;
}
if (i.startsWith("../")) {
var fullPath = p.relative(
p.normalize(p.join(p.dirname(at), i)),
from: pkgRoot.path,
);
var importPkg = _resolve("${pkgName}/${fullPath}");
print("[${atPkg}] ${at}");
print("[${importPkg}] ${fullPath}");
if (importPkg != atPkg) {
return "package:${importPkg}";
}
}
return i;
}