Skip to main content
Glama
63665414e25cb8237ce62cbb59e9ad3443f6ccd6cc62d7c943545841a67e22d060e7413e565cae1e3c5caed0b1e9495a259a3bd1267caaef0a4e6bedca8536.7 kB
{"_id":"bs-logger","_rev":"7-caf7b15e92119cacfd922a3a7c981c52","name":"bs-logger","dist-tags":{"latest":"0.2.6"},"versions":{"0.1.1":{"name":"bs-logger","version":"0.1.1","description":"Bare simple logger for NodeJS","author":{"name":"Huafu Gandon","email":"huafu.gandon@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/huafu/bs-logger.git"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rimraf dist coverage","typecheck":"tsc -p . --noEmit","lint":"tslint --project tsconfig.json --format stylish","format":"tslint --fix","test":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build","prebuild":"npm run clean","posttest":"npm run typecheck && npm run lint","preversion":"npm test","postversion":"git push && git push --tags"},"keywords":["bare simple logger","simple logger","simple","logger","typescript","lib","library"],"devDependencies":{"@types/node":"^10.9.2","@types/jest":"^23.3.1","jest":"^23.5.0","prettier":"^1.14.2","rimraf":"^2.6.2","ts-jest":"^23.1.4","tslint":"^5.11.0","tslint-config-prettier":"^1.15.0","tslint-plugin-prettier":"^1.3.0","typescript":"^3.0.1"},"dependencies":{"fast-json-stable-stringify":"^2.0.0","tslib":"^1.9.3"},"gitHead":"4c24b5ec7e64e38e134de9b54639b03f2f00b42b","bugs":{"url":"https://github.com/huafu/bs-logger/issues"},"homepage":"https://github.com/huafu/bs-logger#readme","_id":"bs-logger@0.1.1","_npmVersion":"6.4.1","_nodeVersion":"10.9.0","_npmUser":{"name":"huafu","email":"huafu.gandon@gmail.com"},"dist":{"integrity":"sha512-Ih/25s3jsQ2IrJ7l25nAGmuJAslvKqYqWbgin/TJ1A4qvlfXBwCwtE1HFoRmIBppnCwaJTv2fxa6SCKhyUtj2g==","shasum":"16b1747d7528c50e07a2afe18fd19fb5c02911a3","tarball":"https://registry.npmjs.org/bs-logger/-/bs-logger-0.1.1.tgz","fileCount":25,"unpackedSize":61781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiBWWCRA9TVsSAnZWagAAKGEP/j0jZd/q+FgqTi5XN3Dq\ntnvgEe97PRgV7AdJZsQgdpZcEkro72K/kxmijXAco3CmhQG/eG248Gf8SN1x\n4ithtrmWeRmLmckAedbF+3C5O5Rr3wUWwnPiknHlI6vd6RtRWb61Qa+do6By\nl+RcrJViSQJJoEyExEpNisN6MRj/fslRA6h5FADe9xCrqGncevh1Svch9H2P\noJ5lv5Ph+RVvcownAemylJuVkbadLj/VfRfc6giwxCTvi91G72zVz1POSNAg\nX5uqRVps1dzB4l6EH0hG5qAytKgtFdoPZ2PSzzBDGSkfZsoZj0NIV+FQIyqA\nZMT+7KYbTeJAQMyzOvZNCWGjHACtlzfUzT914yFjv7tFOqtl7mMeksjYfzkl\nZqK2xcLMbTUJ83/WjIsaZbaukYEB4lU1+CeJFuSqtTnXclK+MuDdZfTIBdi7\n1b1TpyIqLu4BhQmsZxIFAEkdX08QoFetOcEYYdho7eIyfJcW0ezCaxVynZI9\nPuw+RI10UKQxoICwsyp3eoCcmuQb/ncr4ukFLWe6K7kd5DAYHoTzu9AfnuVs\nqVLpnZXoC5QenU8GV/IveE7++GGvKXV9V5bVesAFBcISng2eBhOqd5jzhOlU\njnTbb4WsYQhrPj6CX7w03Apm/3EvjTiiI6GQMcVZzjPSvAJpFA93UDtIOmta\nUYEW\r\n=5Zv7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEBIj4XFPq4KlxArch6pYoZqu5ifNbuazwM3psdSlzGwIhAI9tBd6EFwI4R7d9yTfhsrrnOXVWa2LloQQCqcuvBqPG"}]},"maintainers":[{"name":"huafu","email":"huafu.gandon@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-logger_0.1.1_1535645078317_0.3278951004848025"},"_hasShrinkwrap":false},"0.2.1":{"name":"bs-logger","version":"0.2.1","description":"Bare simple logger for NodeJS","author":{"name":"Huafu Gandon","email":"huafu.gandon@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/huafu/bs-logger.git"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rimraf dist coverage","typecheck":"tsc -p . --noEmit","lint":"tslint --project tsconfig.json --format stylish","format":"tslint --fix","test":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build","prebuild":"npm run clean","posttest":"npm run typecheck && npm run lint","preversion":"npm test","postversion":"git push && git push --tags"},"keywords":["bare simple logger","simple logger","simple","logger","typescript","lib","library"],"devDependencies":{"@types/node":"^10.9.2","@types/jest":"^23.3.1","jest":"^23.5.0","prettier":"^1.14.2","rimraf":"^2.6.2","ts-jest":"^23.1.4","tslint":"^5.11.0","tslint-config-prettier":"^1.15.0","tslint-plugin-prettier":"^1.3.0","typescript":"^3.0.1"},"dependencies":{"fast-json-stable-stringify":"^2.0.0","tslib":"^1.9.3"},"gitHead":"d6e0424fbc59aaf22cbf6714fadeff1691745e44","bugs":{"url":"https://github.com/huafu/bs-logger/issues"},"homepage":"https://github.com/huafu/bs-logger#readme","_id":"bs-logger@0.2.1","_npmVersion":"6.4.1","_nodeVersion":"10.9.0","_npmUser":{"name":"huafu","email":"huafu.gandon@gmail.com"},"dist":{"integrity":"sha512-i1e1n8WMVjL98e9YovOtRGozDP8of0GdXA2zjAy2VORUU57KFNlwD/lg6Jk8jSnCZTeCSpbADrJPLSVDFW23UQ==","shasum":"e280b92d202891db0710ee96e60bcd00dfa217fd","tarball":"https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.1.tgz","fileCount":34,"unpackedSize":82205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiQZxCRA9TVsSAnZWagAAvcIQAIgQ1GC04sMrw7PQ3XCj\nc3wl7CjyhLIRYVc9UlRfc6HNCy5u7o26VBFbd1P2CrdUAw6793dGr0DEbPC9\n0iX21Jpbb2XOvYPByiB3c4gzu9p8Zcf7EmddYEX5inkbNoE8SP9Wep2InX88\nAtExPHnphLGVyJP4Y12QTiX1yqFmJYXuSq4JWkGK+RdEBC8aGi94r10Bzlhd\nyIkADvOFv4G5MtN/gmFSg7xnEj1YvmrLYXDhiRcagsIUk0xep/pII5VszvAi\ngS7INlNPJdACHSZqTA1+RbFZHKYNAwYrYCPcb489JryU4/qm/Jqfn6zYnDND\ncm5ub9DfrWQ4wTbQQKwCC+kCCkA7iiepBeRDpQNBY3gd1EOAQBAbQcXT2L/W\n4I8llP2kSuRnFRfz3Ptq5GUYPSVjAfhESZW5iFPRC5K6vJBaZWvK7hMVoFoU\nDKLQWS8uQpJjhcISLR2q/McqwH+xttfsgcPUMaVcBYyPPawZ/+NTjB/7O4ET\nc1W+33Hnn602+AvGXZdn5z/xYiFXV6vlx1OySZzbHytwjSMiTLuTb+r8rH9m\nX9q9uYm7XwiBRdiTiU1zI6aZMgZL0SJkHnbVQx3gSROthX2WStJyZig9eFG7\nU2ppSy9irykIpfAzx4UyMhbczWhZpd2PD+XGlHo8wREQm517KRBaxTC5Czba\nwKOr\r\n=hzjW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3Zo3JdHZohbjYUjzWe0wSN+10ajKPc59rZUIbHJEcbAIhAJegqdFw2hVfv7ywexjOR1I7uILW7oV/urfp85RtQfuH"}]},"maintainers":[{"name":"huafu","email":"huafu.gandon@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-logger_0.2.1_1535706736781_0.7170759696732572"},"_hasShrinkwrap":false},"0.2.2":{"name":"bs-logger","version":"0.2.2","description":"Bare simple logger for NodeJS","author":{"name":"Huafu Gandon","email":"huafu.gandon@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/huafu/bs-logger.git"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rimraf dist coverage","typecheck":"tsc -p . --noEmit","lint":"tslint --project tsconfig.json --format stylish","format":"tslint --fix","test":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build","prebuild":"npm run clean","posttest":"npm run typecheck && npm run lint","preversion":"npm test","postversion":"git push && git push --tags"},"keywords":["bare simple logger","simple logger","simple","logger","typescript","lib","library"],"devDependencies":{"@types/node":"^10.9.2","@types/jest":"^23.3.1","jest":"^23.5.0","prettier":"^1.14.2","rimraf":"^2.6.2","ts-jest":"^23.1.4","tslint":"^5.11.0","tslint-config-prettier":"^1.15.0","tslint-plugin-prettier":"^1.3.0","typescript":"^3.0.1"},"dependencies":{"fast-json-stable-stringify":"^2.0.0","tslib":"^1.9.3"},"gitHead":"24cb2a7e5369bed2329ac685e9468b33c351ec10","bugs":{"url":"https://github.com/huafu/bs-logger/issues"},"homepage":"https://github.com/huafu/bs-logger#readme","_id":"bs-logger@0.2.2","_npmVersion":"6.4.1","_nodeVersion":"10.9.0","_npmUser":{"name":"huafu","email":"huafu.gandon@gmail.com"},"dist":{"integrity":"sha512-1A8qiw+TyeY7VjUkrRxUpVVtBX5GRB+/4vTi/8Q611Mzrah7zCDqm8qmLqTSArdvRaUfG7n5WzMI2P9XFVDU7A==","shasum":"f00586bfdd4d4ede876f812b23ffa6aa5664cb0c","tarball":"https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.2.tgz","fileCount":34,"unpackedSize":82274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiQntCRA9TVsSAnZWagAABLkP/AwaPd4yabvgXp/x80Sb\nTKDbUs9e3jGwZJ4W7jlqTlDrkWOyEfHygu9AXG/34PWbAk3LSyziz9g+/dlK\nxSd9bYPF4Ta9WJy6iF/Vjiq4oAsM1yvZORH9UlnBaqwbglpClODO/0JpLEVF\nwNPr8Vo1dprML3r5/8q1h0x6AY7stA6qlCJ7O+h1VQxZ8bTAPy41wq6E9iYt\nI3R4w9OEPaqvDU8yjemuX8v4VKCDPXY1Lm8osBS4bP+WVRqMdxIipcXewvyH\n2ZgDiE0244+WgSHdFDu1HygByGBCRbvkdKd6EbRFhlHILUi7xsKCwGPEMeW9\npKg3t3wwoDzq+G1wQnoKOSRLCPwrBvCWyYONce9CEkmFQlnyQ1zoIxwHfEtS\nk17mbiy8L/V1cZ2usNKBs8I/2r+0xuQJUWkuL0AJnDnMimgMJRYh3CsL7WW6\nZMmrNZldNg8Hj1La+/bLOL9w93GwRaei6SvE0TbzGgmgl6yzJGQa80BY5DDb\nFi5o2CrDUNoC9XGGC2VoY7LwhIECISHi++tMC5tBxufPiOwExbFB54RQUOib\n1tAH949mC0wHe7+sE370pB0bDA7YBfNqRFLu1P0ZwXG+IdCWAzUZ3+69LrZY\ntmdKZw5IYK+glpaVqQ/gW9otVuxjSeTW+2rMqrBCNv4/DXmRUrXAPZqZrdkB\nVbIC\r\n=Dl++\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDp2+vpMlReTCX10uiEpIC59q8Ma/8VOrtYa2ltwlps9AIgOR9uT/Uk/NOWwbpOK6ddo802cCk8RcYFg6+TLUPpRFE="}]},"maintainers":[{"name":"huafu","email":"huafu.gandon@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-logger_0.2.2_1535707629205_0.8406466185531372"},"_hasShrinkwrap":false},"0.2.3":{"name":"bs-logger","version":"0.2.3","description":"Bare simple logger for NodeJS","author":{"name":"Huafu Gandon","email":"huafu.gandon@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/huafu/bs-logger.git"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rimraf dist coverage","typecheck":"tsc -p . --noEmit","lint":"tslint --project tsconfig.json --format stylish","format":"tslint --fix","test":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build","prebuild":"npm run clean","posttest":"npm run typecheck && npm run lint","preversion":"npm test","postversion":"git push && git push --tags"},"keywords":["bare simple logger","simple logger","simple","logger","typescript","lib","library"],"devDependencies":{"@types/node":"^10.9.2","@types/jest":"^23.3.1","jest":"^23.5.0","prettier":"^1.14.2","rimraf":"^2.6.2","ts-jest":"^23.1.4","tslint":"^5.11.0","tslint-config-prettier":"^1.15.0","tslint-plugin-prettier":"^1.3.0","typescript":"^3.0.1"},"dependencies":{"fast-json-stable-stringify":"^2.0.0","tslib":"^1.9.3"},"gitHead":"6ad1efe7503878c2289cc7d67f1dcb3c87f48ad1","bugs":{"url":"https://github.com/huafu/bs-logger/issues"},"homepage":"https://github.com/huafu/bs-logger#readme","_id":"bs-logger@0.2.3","_npmVersion":"6.4.1","_nodeVersion":"10.9.0","_npmUser":{"name":"huafu","email":"huafu.gandon@gmail.com"},"dist":{"integrity":"sha512-R0572NTYtxTIJ412QkAA0JeMvVUHwGBXcWXdO6d115Etn35OJlBEH5NGBBzJbvyVaFPMy3L4H0KIPJpPvSPMYg==","shasum":"aaca7c0dfe19e2ed83bb25e9d77250f0daa48e79","tarball":"https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.3.tgz","fileCount":34,"unpackedSize":82409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiRgdCRA9TVsSAnZWagAAYWgQAKUTQ3dcobAfbBMhdMYw\nyjxwt/2RnSVV9u4cFrFvrHTxI6BJwTBZfxoHFzJNsTHfQg+zu+StipCkY6o3\nTVCtFmMPSFb0B3Ok9vbDm1DmmQzbB7fMsQrS6cQPYfwZPh09qurgUlvRH0FS\niElQTSuaaucADl1j1DjUqoBV6soE3SmgU31d5Alb5ogrxsU9HNXgBYds6SvT\nv4dmfIKJBYVbGxd/AIYsRADtbh4nXcvcsuGg3RnnYnoy9pdcDkOfMbmg3jGQ\nBzzl06Td31bUFn11M1Tz4AFeifY13wzTMdyPDWwPOIMfsC5WI7Xatz03S0wj\ngSGmaaKTTEAa7StSVHoqOP0W22kFrO9coogl2Ophqx9pxerl/18oh1zcBRIf\ndeC6sbCbtPyeu0jqW/WwNzlp2PNEzygS9mZ3pr2P2NZiOAUPS+rrdbgH+7hF\nOKNft03aLnCufQZpPXzC9hzkguHmvgOmaY8WtmysnI4hT+7iMvoKfExfWsFt\n2HreCzeakeoiydFI4XU5e5zNPNvDmzp2ffG9XHlSgsVazv6oXUUVcWd8B2xL\n7d9I08Upo7jGoupahZUmklGf9Pgqj3KyeqoJNqi+d9p4FjIe5rJsmywmHDog\n61wxY3gotNbBhd39isiLsCX4R4ipuhPYpjBAZQ2b68BHXdjbdj3ZkXPRIv3a\nnBcf\r\n=pILb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE51CGlTnRIOi/Gxcqj2qO+V1nT7aW7mu+p7eZOS9ayWAiBNzsdbRjkfY5Kz4PBqEhfSakqIFvb3k32emBwDBg+7nA=="}]},"maintainers":[{"name":"huafu","email":"huafu.gandon@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-logger_0.2.3_1535711261178_0.06760625383938823"},"_hasShrinkwrap":false},"0.2.4":{"name":"bs-logger","version":"0.2.4","description":"Bare simple logger for NodeJS","author":{"name":"Huafu Gandon","email":"huafu.gandon@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/huafu/bs-logger.git"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rimraf dist coverage","typecheck":"tsc -p . --noEmit","lint":"tslint --project tsconfig.json --format stylish","lint:fix":"tslint --fix --project tsconfig.json","test":"jest --coverage","test:watch":"jest --watch","prebuild":"npm run clean","posttest":"npm run typecheck && npm run lint","prepare":"npm run build","prepublishOnly":"npm run test","preversion":"npm test","version":"npm run changelog && git add CHANGELOG.md","postversion":"git push && git push --tags","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","commitmsg":"commitlint -E GIT_PARAMS","precommit":"lint-staged","postcommit":"git reset"},"keywords":["bare simple logger","simple logger","simple","logger","typescript","lib","library"],"devDependencies":{"@commitlint/cli":"^7.1.1","@commitlint/config-conventional":"^7.1.1","@types/jest":"^23.3.1","@types/node":"^10.9.4","conventional-changelog-cli":"^2.0.5","husky":"^0.14.3","jest":"^23.5.0","lint-staged":"^7.2.2","prettier":"^1.14.2","rimraf":"^2.6.2","ts-jest":"^23.10.0-beta.2","tslint":"^5.11.0","tslint-config-prettier":"^1.15.0","tslint-plugin-prettier":"^1.3.0","typescript":"^3.0.3"},"dependencies":{"fast-json-stable-stringify":"^2.0.0"},"lint-staged":{"linters":{"*.{ts,tsx}":["tslint --fix","git add"]}},"engines":{"node":">= 6"},"gitHead":"b5a6791c3f7ba1a95e129c756e155c716b3c38ab","bugs":{"url":"https://github.com/huafu/bs-logger/issues"},"homepage":"https://github.com/huafu/bs-logger#readme","_id":"bs-logger@0.2.4","_npmVersion":"6.4.1","_nodeVersion":"10.9.0","_npmUser":{"name":"huafu","email":"huafu.gandon@gmail.com"},"dist":{"integrity":"sha512-yVHvimRcK6uNFncJSogylGXACrhnVfYwem6OC1wX/3PAntYGB+Gd7CprJdniNg9yA2RPKzSilbqFrTsrjjmozg==","shasum":"cd9d3f33866db0fd27fa1f0d758e7b5d4705b587","tarball":"https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.4.tgz","fileCount":34,"unpackedSize":88346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjh46CRA9TVsSAnZWagAAMjMP/ii7kxpfGIQ7gPHMdcI3\nCjGt7WTdNUBEw5EbUeicIHfzKKRoWXuDXJBh2CE6M7o7WRV695wtzvXajbGu\n/N9FfBhFyp/P2A2ePNBrG8kBP7E24A6vK3L88Kx1SoXUTX827VvqvmrGjuyt\n9AQUiduYrYTk1rlNVWY0WqkXz0MgJ1qqfw61EKhYWfIbi0WNi1OcfYboY5Jm\n3giXBEE/Rbed7Ly4Adw3/QOxqE6lM5/Tao8twr+2LUl2TKIdz6DiqVWHYa8Y\ny7F0O/GOs3toyShvWr5r2xDl3go3Wf6sKvqD0gdL1OeqBWwb+sCDNMp79xNk\nYpDYzfCEkTsxgw7taMPZtf4XvzYfZjBBa9SnBXG0BUWgAlLqbD9vwGl9aEDf\nWCqYwR6VvMOin+Q01BfiHynfJZ5cucIn49KCJXCjBAKWSHTOWFd7zMqZ3xb9\nvcPaptmDxfJp7yik+lhUtfK91v925U5VFUr8+ybyR02O+u/fVtyJuLC/njkG\n/0cHK02xRRStXTjl+tfInRfpV7suXea4ztI25uQf62gIDKO565yYKhzeIdfj\ntSIkNGveUPY/Kbd5Uhu44K06xvWgBkY2waqWuquMgjjeuZoeLFf0u++AQVpX\nLQfiTIOJEYKrePvWZ9YN74HTHex96LeT0XnrnAmDsDpRmiOnjmLFa0YsF/yJ\nWBgI\r\n=prAE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH061Xi+kwFbhHgUZzwccu42XrnR6ZDU2iNahP8cZlIjAiEAvURDYG1pl8cy34UyS4ob5ABfgUynMfm8JtPpqCirN4M="}]},"maintainers":[{"name":"huafu","email":"huafu.gandon@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-logger_0.2.4_1536040505985_0.9999627946297731"},"_hasShrinkwrap":false},"0.2.5":{"name":"bs-logger","version":"0.2.5","description":"Bare simple logger for NodeJS","author":{"name":"Huafu Gandon","email":"huafu.gandon@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/huafu/bs-logger.git"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rimraf dist coverage","typecheck":"tsc -p . --noEmit","lint":"tslint --project tsconfig.json --format stylish","lint:fix":"tslint --fix --project tsconfig.json","test":"jest --coverage","test:watch":"jest --watch","prebuild":"npm run clean","posttest":"npm run typecheck && npm run lint","prepare":"npm run build","prepublishOnly":"npm run test","preversion":"npm test","version":"npm run changelog && git add CHANGELOG.md","postversion":"git push && git push --tags","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","commitmsg":"commitlint -E GIT_PARAMS","precommit":"lint-staged","postcommit":"git reset"},"keywords":["bare simple logger","simple logger","simple","logger","typescript","lib","library"],"devDependencies":{"@commitlint/cli":"^7.1.1","@commitlint/config-conventional":"^7.1.1","@types/jest":"^23.3.1","@types/node":"^10.9.4","conventional-changelog-cli":"^2.0.5","husky":"^0.14.3","jest":"^23.5.0","lint-staged":"^7.2.2","prettier":"^1.14.2","rimraf":"^2.6.2","ts-jest":"^23.10.0-beta.2","tslint":"^5.11.0","tslint-config-prettier":"^1.15.0","tslint-plugin-prettier":"^1.3.0","typescript":"^3.0.3"},"dependencies":{"fast-json-stable-stringify":"^2.0.0"},"lint-staged":{"linters":{"*.{ts,tsx}":["tslint --fix","git add"]}},"engines":{"node":">= 6"},"gitHead":"f44db39f9f8c791b8ebb320f14e1a521acdf744b","bugs":{"url":"https://github.com/huafu/bs-logger/issues"},"homepage":"https://github.com/huafu/bs-logger#readme","_id":"bs-logger@0.2.5","_npmVersion":"6.4.1","_nodeVersion":"10.9.0","_npmUser":{"name":"huafu","email":"huafu.gandon@gmail.com"},"dist":{"integrity":"sha512-uFLE0LFMxrH8Z5Hd9QgivvRbrl/NFkOTHzGhlqQxsnmx5JBLrp4bc249afLL+GccyY/8hkcGi2LpVaOzaEY0nQ==","shasum":"1d82f0cf88864e1341cd9262237f8d0748a49b22","tarball":"https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.5.tgz","fileCount":24,"unpackedSize":47650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjiJ5CRA9TVsSAnZWagAAvBgQAJWc60dQqT4VHD45bpOl\n0gLmTBauEU8Kmhron66PMk1ik3MfcfGVL5xMukl5bQn8wk+jO4i4z2QTO+Dj\n4TLYfMwhvsROX/t2ytgCF9rDH7MV/zrESTW2ahbFffYR+dT8iHUglq6fOQ7b\nHv67gIrtqp5lSVWkrlff0OsR0vpmenNmCQ9o31GNXZVnSfndrVL0+VAxt2j9\nadYg528CBDmJUW/0c3P8QK2zoS/2M5r5VGjfNO87XYrl94mZef86AZ4YEWI0\n0oDuLXOp1/hm7KIME53COztx2mPgeOxWNWctJPlCwrOipVrKEG7yV+yFtpVs\nWNILTNRIR0eEnAL0SmSWM8QozFt9AXRHSvlf9olC3K0Jy7YKRnkDp1oW7qNH\nhte7ZrDrl2C1WOoXbBzE0MtYfxxY8TsqL42Hn7zXYVn6FYLVNlh+zlLpraLa\nlwo2AEwLN+6Oj77Mw9Z2w/4exVBzoWxaFXaPP6tYZzg9jrpxVoLR5A33Tvum\nutfeAXuJNLoH4Fs7OZNIKRZ9SKnex9cLRX43GmCH0pQKp9yLyv+PZUA/+nXL\nTMgKrIQ4/uElu4Zz96jDI1+MLwBu7dRuLY/qvdPl9bKvrFo6TdgY4vjCSYAu\niQ0hdtcMCGwSewngz88xmZROu0OndskvbSp81IPY8atdGEaTYL5HK73SsFXq\nOzED\r\n=UiPl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBNPacesT7kaiiL+NT69O7LotUgRqijnbug1/Iv8+kRDAiBG4uxVJwhFhU4FSgxfjzUV1jFb7jLH7mPotpIH3R/QAw=="}]},"maintainers":[{"name":"huafu","email":"huafu.gandon@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-logger_0.2.5_1536041592064_0.08570078250634272"},"_hasShrinkwrap":false},"0.2.6":{"name":"bs-logger","version":"0.2.6","description":"Bare simple logger for NodeJS","author":{"name":"Huafu Gandon","email":"huafu.gandon@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/huafu/bs-logger.git"},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json","clean":"rimraf dist coverage","typecheck":"tsc -p . --noEmit","lint":"tslint --project tsconfig.json --format stylish","lint:fix":"tslint --fix --project tsconfig.json","test":"jest --coverage","test:watch":"jest --watch","prebuild":"npm run clean","posttest":"npm run typecheck && npm run lint","prepare":"npm run build","prepublishOnly":"npm run test","preversion":"npm test","version":"npm run changelog && git add CHANGELOG.md","postversion":"git push && git push --tags","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -r 0","commitmsg":"commitlint -E GIT_PARAMS","precommit":"lint-staged","postcommit":"git reset"},"keywords":["bare simple logger","simple logger","simple","logger","typescript","lib","library"],"devDependencies":{"@commitlint/cli":"7.x","@commitlint/config-conventional":"7.x","@types/jest":"23.x","@types/node":"10.x","conventional-changelog-cli":"2.x","husky":"0.x","jest":"23.x","lint-staged":"7.x","prettier":"1.x","rimraf":"2.x","ts-jest":"23.x","tslint":"5.x","tslint-config-prettier":"1.x","tslint-plugin-prettier":"2.x","typescript":"3.x"},"dependencies":{"fast-json-stable-stringify":"2.x"},"lint-staged":{"linters":{"*.{ts,tsx}":["tslint --fix","git add"]}},"engines":{"node":">= 6"},"gitHead":"6f110735ec8f47cc77dd39fd2adcf03336b82883","bugs":{"url":"https://github.com/huafu/bs-logger/issues"},"homepage":"https://github.com/huafu/bs-logger#readme","_id":"bs-logger@0.2.6","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"huafu","email":"huafu.gandon@gmail.com"},"dist":{"integrity":"sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==","shasum":"eb7d365307a72cf974cc6cda76b68354ad336bd8","tarball":"https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz","fileCount":24,"unpackedSize":47815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb5nrvCRA9TVsSAnZWagAACqoP/i4h9L29iR2Oi2mu4LbH\n458mf8q8xmoVmbEZrrGGPo6yeycwT+3FKMjGL2oJmZpZci+icASQT55BP2qH\n5GvvM0BXT3eDSa0fbfZEm+iJxde/rjuBnZBllRW2jyFUuwuoR+e1o0mxfXRs\nM+Zs8/tgyENt6cN3SGiKoz8Xh+Learu+0uDX3uB0rSMnojdszZjkVahkFDYd\nv4qfQfGsCi8wcIr2oXfo0FxffcHcwwLT9LGwmKnMJUc3iD5FDDrmL1MMN/Nq\nXmGtAsWX8pJ7waxtWfaIDDWG26Dwx6MrZgtr6Q42ulJDy8fV4AMF4yF4rYs6\noEgO/QOb4gHyKIXyH/F3eOJfJuT60iE09Jorb4u07I9qSLm2ILJpi1JX7AC7\ntEqDIS9YdnzIVhbuQ1p6wgisrJ0SNYQ+l3ViDo/LM31qh3slKjZcNiheWdxb\nU5NagsF+w1ID5ndblJ1eCOP4Wd5KhVVcXt/DL619D67cqgLBRm9iXutPdsPr\nQZ3GXKZu/OImjGvfaOa2lYPCkIJvMmExFVfJbhaogV+CR8tKPn4yFpZjHhPP\n9LztVMt9ySej1jJO9tGkxcgLWY1zT3r3Vf0wEzZB88hVeV9BKJYMb3Q4lFF2\nPSjvA3f8qWU+F7mll08HC2E7TckmvhGd17tVdhzut4ewVODYkICa6LDjQ5jh\n/Chv\r\n=swQi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnRKnB3z9bKT/IfTsTLhJyMfwvGFkRBxjnFQ2ddIYJEAIhALdToLh4HfP0mELbAktKJ50ZtxG5X1/XkRJIAHQhWALZ"}]},"maintainers":[{"name":"huafu","email":"huafu.gandon@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bs-logger_0.2.6_1541831406915_0.5003409845199216"},"_hasShrinkwrap":false}},"time":{"created":"2018-08-30T16:04:38.316Z","0.1.1":"2018-08-30T16:04:38.448Z","modified":"2022-04-12T04:32:21.737Z","0.2.1":"2018-08-31T09:12:16.983Z","0.2.2":"2018-08-31T09:27:09.461Z","0.2.3":"2018-08-31T10:27:41.295Z","0.2.4":"2018-09-04T05:55:06.180Z","0.2.5":"2018-09-04T06:13:12.552Z","0.2.6":"2018-11-10T06:30:07.047Z"},"maintainers":[{"name":"huafu","email":"huafu.gandon@gmail.com"}],"description":"Bare simple logger for NodeJS","homepage":"https://github.com/huafu/bs-logger#readme","keywords":["bare simple logger","simple logger","simple","logger","typescript","lib","library"],"repository":{"type":"git","url":"git+https://github.com/huafu/bs-logger.git"},"author":{"name":"Huafu Gandon","email":"huafu.gandon@gmail.com"},"bugs":{"url":"https://github.com/huafu/bs-logger/issues"},"license":"MIT","readme":"<img align=\"right\" src=\"icon.png\"></img>\n\n# B.S. Logger [![Build Status](https://travis-ci.org/huafu/bs-logger.svg?branch=master)](https://travis-ci.org/huafu/bs-logger) [![Coverage Status](https://img.shields.io/coveralls/huafu/bs-logger/master.svg)](https://coveralls.io/github/huafu/bs-logger?branch=master) [![Beerpay](https://beerpay.io/huafu/bs-logger/badge.svg?style=beer-square)](https://beerpay.io/huafu/bs-logger) [![Beerpay](https://beerpay.io/huafu/bs-logger/make-wish.svg?style=flat-square)](https://beerpay.io/huafu/bs-logger?focus=wish)\n\n**Opinionated bare simple logger for NodeJS (with TypeScript typings)**.\n\nBSLogger has been created after being disapointed not finding a matching logger on the internet. Not that others aren't good, they just did not fit what I was looking for.\n\nHere is what I was looking for (and tried to implemented in BSLogger):\n- light memory usage\n- easily extendable (see `child` method)\n- as few dependencies as possible\n- ability to define all targets in a string (so that `ENV` vars can be used)\n- when using file targets, not re-opening them\n- reasonable defautls:\n - logs warnings and above to `stderr`\n - logs JSON to files\n- no overhead if it's not going to log anywhere\n\n## TL,DR:\n\nInstall:\n```sh\nnpm install --save bs-logger\n# or\nyarn add bs-logger\n```\nUse:\n```js\nconst { logger } = require('bs-logger');\n// or\n// import logger from 'bs-logger';\n// or\n// import { logger } from 'bs-logger';\n// as default exports the logger\n\nlogger('foo');\nlogger.debug('bar');\nlogger.warn({foo: 'bar'}, 'dummy', 'other'/*, ...*/);\n```\n\nMore complex example:\n```js\n// env MY_LOG_TARGETS=\"debug.log:trace,stderr:warn%json\"\nimport { createLogger } from 'bs-logger';\nconst logger = createLogger({\n context: {namespace: 'http'},\n targets: process.env.MY_LOG_TARGETS,\n translate: (m) => {\n if (process.env.NODE_ENV === 'production') {\n m.context = { ...m.context, secret: null };\n }\n return m;\n },\n});\n// [...]\nlogger.debug({secret: 'xyz'}, 'trying to login')\n// will log into debug.log `trying to login` with secret in the context except in prod\n\nconst login = logger.wrap(function login() {\n // your login code\n})\n// [...]\nlogin();\n// will log `calling login` with the arguments in context\n```\n\n## Usage\n\n### Creating a logger\n\n#### Root logger\n\nBSLogger exports a global logger lazyly created on first use, but it is advised to create your own using the `createLogger()` helper:\n\n- If you are using it in a library wich is meant to be re-distributed:\n ```js\n import { createLogger, LogContexts } 'bs-logger';\n const logger = createLogger({ [LogContexts.package]: 'my-pacakge' });\n ```\n\n- If you are using it in an application of your own:\n ```js\n import { createLogger, LogContexts } 'bs-logger';\n const logger = createLogger({ [LogContexts.application]: 'my-app' });\n ```\n\n#### Child logger\n\nChild loggers extends the context, targets and message translators from their parent. You create a child logger using the `child` method:\n\n```js\nconst childLogger = logger.child({ [LogContexts.namespace]: 'http' })\n// childLogger becomes a new logger\n```\n\n### Logging\n\nAny helper to log within BSLogger is a function which has the same signature as `console.log()`, and also accepts an **optional** first argument being the context. A context is any `object`, with some specific (but optional) properties which we'll see later.\n\n```ts\nlogMethod(message: string, ...args: any[]): void\n // or\nlogMethod(context: LogContext, message: string, ...args: any[]): void\n```\n\n#### Directly\n\nYou can log using any logger as a function directly (if the logger or its possible parent(s) has not been created with any log level in its context, no level will be attached):\n```js\nimport { createLogger } from 'bs-logger'\nconst logger = createLogger()\n// [...]\nlogger('my message');\n```\n\n#### Using level helpers\n\nBSLogger is aware of 6 log levels (`trace`, `debug`, `info`, `warn`, `error` and `fatal`) but you can create your owns. A log level is basically a number. The higher it is, the more important will be the message. You can find log levels constants in `LogLevels` export:\n```js\nimport { LogLevels } from 'bs-logger';\n\nconst traceLevelValue = LogLevels.trace;\nconst debugLevelValue = LogLevels.debug;\n// etc.\n```\n\nFor each log level listed above, a logger will have a helper method to directly log using this level:\n```js\nimport { createLogger } from 'bs-logger'\nconst logger = createLogger()\n// [...]\nlogger.trace('foo')\nlogger.debug('bar')\n// etc.\n```\n\nThose helpers are the equivalent to\n```js\nlogger({ [LogContexts.logLevel]: level }, 'foo')\n```\n...except that they'll be replaced with an empty function on the first call if their level will not be handled by any target.\n\n### Wrapping functions\n\nEach logger has a `wrap` method which you can use to wrap a function. If there is no matching log target, the `wrap` method will simply return your function, else it'll wrap it in another function of same signature. The wrapper will, before calling your function, log a message with received arguments in the context.\n\n```ts\n// With `F` being the type of your funciton:\nlogger.wrap(func: F): F\n // or\nlogger.wrap(message: string, func: F): F\n // or\nlogger.wrap(context: LogContext, messages: string, func: F): F\n```\n\n### Defining target(s)\n\nEach root logger (created using `createLogger` helper) is attached to 0 or more \"target\". A target is responsible of writing a log entry somewhere. It is an object with the following properties:\n\n- **minLevel** `string`: The minimum log level this target's strem writer will be called for\n- **stream** `{ write: (str: string) => void }`: An object with a write function (like node's `stream.Writable`) which will be used to write log entries\n- **format** `(msg: LogMessage) => string`: A formatter which will be used to transform a log entry (message object) into a string\n\n#### Using targets\n\nWhen using the global logger, or if no `targets` specified when creating a logger, calling log methods will output to STDERR anything which has log level higher or equal to `warn`. This can be modified as follow by defineing the `LOG_TARGETS` environment variable or passing the `targets` option to `createLogger`. The `targets` can be an array of `LogTarget` (see above) or a `string` defining a list of one or more targets separated by comma (`,`). A `string` target is composed as follow:\n- The file path, absolute or relative to CWD. It can also be the specials `stdout` or `stderr` strings (case insensitive). When giving a path to a file, if it ends with the plus sign (`+`) the log data will be appended to the file instead of re-creating the file for each run.\n- An optional minimum log level after a colon (`:`). It should be a `number` or the log level name (ie `trace`, `error`, ...).\n- An optional formatter name after a percent sign (`%`). There are 2 included formatter: `json` (used for files by default) and `simple` (used for `stdout` and `stderr` by default). See below to define your own.\n\nExamples:\n- `debug.log%simple,stdout:fatal`\n - Log everything to `debug.log` file in CWD dir (re-creates the file for each run). Uses the `simple` formatter.\n - Log only messages with level >= `fatal` to the standard out.\n- `errors.log+:error,debug.log:15`\n - Log only messages with level >= `error` to `errors.log` file (without re-creating the file at each run).\n - Log only messages with level >= 15 to `debug.log` file (re-creates the file for each run).\n\n#### Custom formatters\n\nA custom formatter is a function that takes a `LogMessage` object and returns a `string`. It can be registered giving it a name using the `registerLogFormatter` helper:\n\n```js\nimport { registerLogFormatter, createLogger } from 'bs-logger';\nregisterLogFormatter('foo', m => `${m.sequence} ${new Date(m.tim).toLocaleString()} ${m.message}`);\nconst logger = createLogger({\n targets: 'stdout%foo', // specifying out formatter\n });\n```\n\n### Testing\n\nThe whole `testing` namespace has useful helpers for using BSLogger while unit testing your product.\n\nIn your tests you would usually prefer not having any logging to happen, or you would like to check what has been logged but without actually logging it to any target.\n\nThe `testing` namespace holds all testing utilities:\n```js\nimport { testing } from 'bs-logger'\n```\n\n- If you use the root logger, here is how to disable its output:\n```js\ntesting.setup()\n```\nand the `logger` (or `default`) export will become a `LoggerMock` instance (see below).\n\n- If you create logger(s) using `createLogger`, when testing use the `testing.createLoggerMock` instead. It accepts the same first argument, with an extra second argument, optional, being the `LogTargetMock` to be used (see below).\n\n#### LoggerMock\n\nLoggers created using the `testing` namespace will have one and only one log target being a `LogTargetMock`, and that target will be set on the `target` extra property of the logger.\n\nHere are the extra properties of `LogTargetMock` which you can then use for testing:\n\n- **messages** `LogMessage[]`: all log message objects which would have normally be logged\n - **last** `LogMessage`: the last one being logged\n - **trace** `LogMessage[]`: all log message objects with `trace` level\n - **last** `LogMessage`: last one with `trace` level\n - **debug** `LogMessage[]`: all log message objects with `debug` level\n - **last** `LogMessage`: last one with `debug` level\n - ...\n- **lines** `string[]`: all formatted log message lines which would have normally be logged\n - **last** `string`: the last one being logged\n - **trace** `string[]`: all formatted log message lines with `trace` level\n - **last** `string`: last one with `trace` level\n - **debug** `string[]`: all formatted log message lines with `debug` level\n - **last** `string`: last one with `debug` level\n - ...\n- **clear** `() => void`: method to clear all log message objects and formatted lines\n- **filteredMessages** `(level: number | null, untilLevel?: number) => LogMessage[]`: method to filter log message objects\n- **filteredLins** `(level: number | null, untilLevel?: number) => string[]`: method to filter formatted log message lines\n\n#### Example\n\nLet's say you have a `logger.js` file in which you create the logger for your app:\n```js\n// file: logger.js\nimport { testing, createLogger, LogContexts } from 'bs-logger';\n\nconst factory = process.env.TEST ? testing.createLoggerMock : createLogger;\n\nexport default factory({ [LogContexts.application]: 'foo' });\n```\n\nIn a test you could:\n```js\nimport logger from './logger';\n// in `fetch(url)` you'd use the logger like `logger.debug({url}, 'GET')` when the request is actually made\nimport fetch from './http';\n\ntest('it should cache request', () => {\n logger.target.clear();\n fetch('http://foo.bar/dummy.json');\n expect(logger.target.messages.length).toBe(1);\n fetch('http://foo.bar/dummy.json');\n expect(logger.target.messages.length).toBe(1);\n // you can also expect on the message:\n expect(logger.target.messages.last.message).toBe('GET')\n expect(logger.target.messages.last.context.url).toBe('http://foo.bar/dummy.json')\n // or (mock target formater prefix the message with `[level:xxx] ` when there is a level)\n expect(logger.target.lines.last).toBe('[level:20] GET')\n // or filtering with level:\n expect(logger.target.lines.debug.last).toBe('[level:20] GET')\n});\n```\n\n## Installing\n\nAdd to your project with `npm`:\n\n```bash\nnpm install --save bs-logger\n```\n\nor with `yarn`:\n\n```bash\nyarn add bs-logger\n```\n\n## Running the tests\n\nYou need to get a copy of the repository to run the tests:\n\n```bash\ngit clone https://github.com/huafu/bs-logger.git\ncd bs-logger\nnpm run test\n```\n\n## Built With\n\n* [TypeScript](https://www.typescriptlang.org/)\n* [ts-jest](https://github.com/kulshekhar/ts-jest)\n\n## Contributing\n\nPull requests welcome!\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/huafu/bs-logger/tags).\n\n## Authors\n\n* **Huafu Gandon** - *Initial work* - [huafu](https://github.com/huafu)\n\nSee also the list of [contributors](https://github.com/huafu/bs-logger/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![Beerpay](https://beerpay.io/huafu/bs-logger/badge.svg?style=beer-square)](https://beerpay.io/huafu/bs-logger) [![Beerpay](https://beerpay.io/huafu/bs-logger/make-wish.svg?style=flat-square)](https://beerpay.io/huafu/bs-logger?focus=wish)\n","readmeFilename":"README.md"}

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/acampkin95/MCPCentralManager'

If you have feedback or need assistance with the MCP directory API, please join our Discord server