Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@supertenant/core / src / util / initializedTooLateHeuristic.js
Size: Mime:
// (c) Copyright 2023 Supertenant Ltd. - all rights reserved.
// See LICENSE file in project root for license terms.
"use strict";let logger,firstCall=(logger=require("../logger").getLogger("util/initializedTooLateHeuristic",newLogger=>{logger=newLogger}),!0),hasBeenInitializedTooLate=!1,patterns=[/\/@apollo\/gateway\/dist\//,/\/@aws-sdk\/smithy-client\//,/\/@elastic\/elasticsearch\/index.js/,/\/@google-cloud\/pubsub\/build\/src\/publisher\/index.js/,/\/@google-cloud\/pubsub\/build\/src\/subscriber.js/,/\/@google-cloud\/storage\/build\/src\/index.js/,/\/@grpc\/grpc-js\/build\/src\//,/\/@hapi\/call\/lib\//,/\/@prisma\/client\//,/\/@redis\/client\/dist\/lib\/cluster\/commands.js/,/\/amqplib\/lib\//,/\/aws-sdk\/lib\//,/\/bull\/index.js/,/\/cls-hooked\/index.js/,/\/elasticsearch\/src\/elasticsearch.js/,/\/express\/index.js/,/\/fastify\/fastify/,/\/graphql-subscriptions\/dist\//,/\/graphql\/execution\//,/\/grpc\/index.js/,/\/grpc\/src\//,/\/ibm_db\/lib/,/\/ioredis\/built\//,/\/kafka-node\/kafka.js/,/\/kafka-node\/lib\//,/\/kafkajs\/index.js/,/\/kafkajs\/src\//,/\/koa-router\/lib\//,/\/log4js\/lib\//,/\/memcached\/index.js/,/\/memored\/index.js/,/\/mongodb-core\/lib\//,/\/mongodb\/lib\//,/\/mongoose\/index.js/,/\/mssql\/index.js/,/\/mysql2\/index.js/,/\/mysql2\/promise.js/,/\/mysql\/index.js/,/\/nats\/index.js/,/\/node-nats-streaming\/index.js/,/\/node-rdkafka\/lib\//,/\/pg-native\/index.js/,/\/pg\/lib\//,/\/pino\/lib\//,/\/redis\/dist\/index.js/,/\/redis\/index.js/,/\/sqs-consumer\/dist\//,/\/superagent\/lib\/node\/index.js/];const extraPatterns=[/\/bluebird\/js\/release\//,/\/request\/index.js/,/\/winston\/lib\/winston.js/];module.exports=function(){if(firstCall){var loadedModules=Object.keys(require.cache);0===Object.keys(require.cache).filter(moduleId=>/\/@contrast\/agent\//.test(moduleId)).length?patterns=patterns.concat(extraPatterns):logger.debug("Found @contrast/agent in the modules that have already been loaded. @supertenant/core will therefore exclude bluebird, request and winston from the check for modules that have been loaded before @supertenant/core.");for(let i=0;i<loadedModules.length;i++)for(let j=0;j<patterns.length;j++)patterns[j].test(loadedModules[i])&&(hasBeenInitializedTooLate=!0,logger.debug(`Found a module that has been loaded before @supertenant/core but should have been loaded afterwards: ${loadedModules[i]}.`))}return firstCall=!1,hasBeenInitializedTooLate},module.exports.reset=()=>{hasBeenInitializedTooLate=!1,firstCall=!0};