one
Version:
One is a React framework for web, iOS, and Android apps.
27 lines (24 loc) • 1.08 kB
JavaScript
import { readFileSync } from "node:fs";
import path from "node:path";
import { resolvePath } from "@vxrn/resolve";
const absorbedPackages = { "react-native-safe-area-context": "safe-area-context" };
function undeclaredAbsorbedPackages(root) {
const app = JSON.parse(readFileSync(path.join(root, "package.json"), "utf8"));
const declared = {
...app.dependencies,
...app.devDependencies
};
return Object.entries(absorbedPackages).filter(([name]) => !(name in declared));
}
function absorbedPackageNames(root) {
return undeclaredAbsorbedPackages(root).map(([name]) => name);
}
function absorbedPackageAliases(root, platform) {
const absorbed = undeclaredAbsorbedPackages(root);
if (!absorbed.length) return {};
const oneRoot = path.dirname(resolvePath("one/package.json", root));
const entry = platform === "web" ? "index.mjs" : "index.native.js";
return Object.fromEntries(absorbed.map(([name, dir]) => [name, path.join(oneRoot, "dist", "esm", dir, entry)]));
}
export { absorbedPackageAliases, absorbedPackageNames };
//# sourceMappingURL=absorbedPackages.mjs.map