UNPKG

@oaklean/profiler-core

Version:

Part of the @oaklean suite. It provides all basic functions to work with the `.oak` file format. It allows parsing the `.oak` file format as well as tools for analyzing the measurement values. It also provides all necessary capabilities required for prec

31 lines 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NodeModuleUtils = void 0; class NodeModuleUtils { static getParentModuleFromPath(path) { const pathToNodeModules = path.pathUntilSubDir('node_modules'); if (!pathToNodeModules) { // not part a module return undefined; } // is part of a module const { match, remainder } = pathToNodeModules; if (remainder.toString().startsWith('./@')) { // scoped package return match.join(remainder.split()[0], remainder.split()[1]); } return match.join(remainder.split()[0]); } static nodeModuleFromFilePath(externalResourceHelper, relativeFilePathUrl) { const relativeNodeModulePath = NodeModuleUtils.getParentModuleFromPath(relativeFilePathUrl) || null; const nodeModule = relativeNodeModulePath !== null ? externalResourceHelper.nodeModuleFromPath(relativeNodeModulePath) : null; return { relativeNodeModulePath, nodeModule }; } } exports.NodeModuleUtils = NodeModuleUtils; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9kZU1vZHVsZVV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hlbHBlci9Ob2RlTW9kdWxlVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsTUFBYSxlQUFlO0lBQzNCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFpQjtRQUMvQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQzdDLGNBQXdDLENBQ3hDLENBQUE7UUFDRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN4QixvQkFBb0I7WUFDcEIsT0FBTyxTQUFTLENBQUE7UUFDakIsQ0FBQztRQUNELHNCQUFzQjtRQUN0QixNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLGlCQUFpQixDQUFBO1FBRTlDLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVDLGlCQUFpQjtZQUNqQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzlELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDeEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FDNUIsc0JBQThDLEVBQzlDLG1CQUFnQztRQUVoQyxNQUFNLHNCQUFzQixHQUMzQixlQUFlLENBQUMsdUJBQXVCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxJQUFJLENBQUE7UUFDckUsTUFBTSxVQUFVLEdBQ2Ysc0JBQXNCLEtBQUssSUFBSTtZQUM5QixDQUFDLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7WUFDbkUsQ0FBQyxDQUFDLElBQUksQ0FBQTtRQUVSLE9BQU87WUFDTixzQkFBc0I7WUFDdEIsVUFBVTtTQUNWLENBQUE7SUFDRixDQUFDO0NBQ0Q7QUFuQ0QsMENBbUNDIn0=