UNPKG

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
"use strict"; 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=