lib-tools
Version:
The lib-tools helps you simplify the build, bundle, test and npm packaging workflows for Typescript, JavaScript, Angular library projects and assets module projects.
33 lines • 3.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.findPackageJsonPath = void 0;
const path = require("path");
const fs_extra_1 = require("fs-extra");
const utils_1 = require("../utils");
const cache = new Map();
async function findPackageJsonPath(projectRoot, workspaceRoot) {
if (projectRoot) {
const cachedPath = cache.get(projectRoot);
if (cachedPath) {
return cachedPath;
}
const foundPackageJsonPath = await utils_1.findUp('package.json', projectRoot, workspaceRoot);
if (foundPackageJsonPath) {
cache.set(projectRoot, foundPackageJsonPath);
}
return foundPackageJsonPath;
}
else {
const cachedPath = cache.get(workspaceRoot);
if (cachedPath) {
return cachedPath;
}
const rootPackageJsonPath = path.resolve(workspaceRoot, 'package.json');
if (await fs_extra_1.pathExists(rootPackageJsonPath)) {
cache.set(workspaceRoot, rootPackageJsonPath);
}
return rootPackageJsonPath;
}
}
exports.findPackageJsonPath = findPackageJsonPath;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wYWNrYWdlLWpzb24tcGF0aC5qcyIsInNvdXJjZVJvb3QiOiIuLyIsInNvdXJjZXMiOlsiaGVscGVycy9maW5kLXBhY2thZ2UtanNvbi1wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUU3Qix1Q0FBc0M7QUFFdEMsb0NBQWtDO0FBRWxDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0FBRWpDLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxXQUEwQixFQUFFLGFBQXFCO0lBQ3ZGLElBQUksV0FBVyxFQUFFO1FBQ2IsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQyxJQUFJLFVBQVUsRUFBRTtZQUNaLE9BQU8sVUFBVSxDQUFDO1NBQ3JCO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLGNBQU0sQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3RGLElBQUksb0JBQW9CLEVBQUU7WUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztTQUNoRDtRQUVELE9BQU8sb0JBQW9CLENBQUM7S0FDL0I7U0FBTTtRQUNILE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUMsSUFBSSxVQUFVLEVBQUU7WUFDWixPQUFPLFVBQVUsQ0FBQztTQUNyQjtRQUVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDeEUsSUFBSSxNQUFNLHFCQUFVLENBQUMsbUJBQW1CLENBQUMsRUFBRTtZQUN2QyxLQUFLLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsT0FBTyxtQkFBbUIsQ0FBQztLQUM5QjtBQUNMLENBQUM7QUExQkQsa0RBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgcGF0aEV4aXN0cyB9IGZyb20gJ2ZzLWV4dHJhJztcblxuaW1wb3J0IHsgZmluZFVwIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmaW5kUGFja2FnZUpzb25QYXRoKHByb2plY3RSb290OiBzdHJpbmcgfCBudWxsLCB3b3Jrc3BhY2VSb290OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBpZiAocHJvamVjdFJvb3QpIHtcbiAgICAgICAgY29uc3QgY2FjaGVkUGF0aCA9IGNhY2hlLmdldChwcm9qZWN0Um9vdCk7XG4gICAgICAgIGlmIChjYWNoZWRQYXRoKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkUGF0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvdW5kUGFja2FnZUpzb25QYXRoID0gYXdhaXQgZmluZFVwKCdwYWNrYWdlLmpzb24nLCBwcm9qZWN0Um9vdCwgd29ya3NwYWNlUm9vdCk7XG4gICAgICAgIGlmIChmb3VuZFBhY2thZ2VKc29uUGF0aCkge1xuICAgICAgICAgICAgY2FjaGUuc2V0KHByb2plY3RSb290LCBmb3VuZFBhY2thZ2VKc29uUGF0aCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm91bmRQYWNrYWdlSnNvblBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY2FjaGVkUGF0aCA9IGNhY2hlLmdldCh3b3Jrc3BhY2VSb290KTtcbiAgICAgICAgaWYgKGNhY2hlZFBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRQYXRoO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgcm9vdFBhY2thZ2VKc29uUGF0aCA9IHBhdGgucmVzb2x2ZSh3b3Jrc3BhY2VSb290LCAncGFja2FnZS5qc29uJyk7XG4gICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHJvb3RQYWNrYWdlSnNvblBhdGgpKSB7XG4gICAgICAgICAgICBjYWNoZS5zZXQod29ya3NwYWNlUm9vdCwgcm9vdFBhY2thZ2VKc29uUGF0aCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcm9vdFBhY2thZ2VKc29uUGF0aDtcbiAgICB9XG59XG4iXX0=