{"_id":"@bechara/crux","_rev":"159-18b18af999d94adc24a208bfadc25ea0","name":"@bechara/crux","dist-tags":{"beta":"5.3.0-beta.2","alpha":"6.0.0-alpha.2","latest":"6.6.2"},"versions":{"4.23.1":{"name":"@bechara/crux","version":"4.23.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.23.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"2e0ef647b9034e401b6f08a37fd44ebb95c3b5cc","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.23.1.tgz","fileCount":170,"integrity":"sha512-6HQro3A9ZN197E0hb5LG+1fQ4/5/q4zsg8YbhPQpcGfUhPAw/AK5KwmBv+B/rfAdmBpQjfwijbhWuNWzEyR0xQ==","signatures":[{"sig":"MEUCIHM2lzQetCIng/iH2K4de0REFfo21O2JeRcblVEyeQbNAiEArCHEgQSYlpkhRwl1tGRPt2MYWe/Gnl/Fyw8ImG9BVF0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":366738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjHPaNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohFw//UEsKbh98NrT8ZD6UmzR2Xjuls9S/WW+N9RjEIuT3SWJDyUwc\r\nCVjb0kXVycwFfF+wOzhHxMjH34TYql0OfDckpfeZti0roeIKAKNysfTovGmG\r\npJQ0tOPm8fK1rUZklGfHzvdG53dy/U/MpZi82lcuY2gQdYLlvNhoh1g3dkju\r\nhSGge4NYYZDn70hXOv/8DWwiUxBfI1EXQrzQMa48q0MMa2u04UKi9omMjAE/\r\nW+o06lfedyDiCbCc3DJkID9r+L1VzjAvAqhhYSRhzwJSirELR8tTGucWrnS3\r\nbUdahm3bf1X9irA1ZbbSAcGGZNasBrceWzRpOLxNU/OVql/ja0y/49Rp9tP7\r\nK7jhKFyeEszu3/6gFdPTg43+bZZnujxb1d7Ni/GT8VC0FTuQcGZ4+4pSPkId\r\nhXtfyLu6FS7Fg7lbE3UFCu+q0aqLOVfpNl9yz8JTvC355G8WFNc8ZRFEONqP\r\nnosAlMiI80K01j3FdrdWQ3buFUEwRHmXKmYwnaAoXIx+0yT9NuRopx0hOG0a\r\nX1NNvi6iJEGq5hUuek3QVa3zLCDdXoIXc9SqFVixh7XbcyD+n2eJzUsndktL\r\n8XwQ4/ZSVNi+Ze4udLH+QNvYfb51ePq2emnOmwez9kDf/t19GP5GkxJmk0uS\r\nw6mhIwmfMWTncNqHiRqOSK2/JcNAcSI64o4=\r\n=1NCm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"8d09e566d7309a843d80bfbe5c74db2098861237","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./example/application/source/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:redis && jest --verbose --forceExit --testTimeout=30000 --config .config/jest/.jestrc.json","build":"rimraf ./dist && pnpm run build:index && tsc -p tsconfig.build.json && pnpm run build:assets && pnpm run build:cleanup","example":"cd example && docker-compose up -d --build && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./application/source/main.ts","prepare":"husky install .config/husky","test:redis":"docker start redis-crux || docker run -d --name redis-crux -p 6380:6379 redis:7","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","reflect-metadata":"0.1.13","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.23.1_1662842509000_0.45973060503908525","host":"s3://npm-registry-packages"}},"4.24.0":{"name":"@bechara/crux","version":"4.24.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.24.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"170ad3e241dea8361c67396b164ea925b26e1eb0","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.24.0.tgz","fileCount":170,"integrity":"sha512-DybybUpzEBZMmb8EXEWmlX8EYAT2W59vgeLJCn4DTYYGZyuMqNPtoNvUe+KngPvqqGildeGd/QypohKM+Vz7Gw==","signatures":[{"sig":"MEQCIF2B9Fu6cDk0KgDFfXd3klf/gYUn0QnGJzCtHVxPeUjyAiBl/Nzpi7lqMsVqfcpxc9ksuB4uCPmHLsekZag3a/MnSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":367472,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjI4rMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCGg//dJaKAh9uw+HMXuEAL1adzuBwQiSnNM6Badk9AoUADFzpSNve\r\nZ/Oq/EkissSY7LLhy5DQFK1LFGaHrROjFOcld3oKUNanoPCH0vydT5ARde/6\r\n72Rk+WdSme4UpOebtDpDQrYwNiu7ai4YYIPnjpe/VEW2S/hIw5sKMQl6FTRz\r\nsTUlFY1mE4Upovei1BdnlOR/gtlMEKF6KmaY5LG0AyZCFn52mIs0yG449sdT\r\na4VvflUTiRb/tk4MEY5+3OhxHuKbK6LwMbrl7zIcTsobCX3tcT1nmgDeIDlE\r\n2L6Y1HLFurnZsmBrhM4+cowIWVTKAVx6h+Z9sA/QUl42ay3hSXYvExdr2OaY\r\n7Vo49Y3/ZcndTuuj4AJpDm8sO7hHhcRi1S25EIXE3Nzh0JcDbCVMV2IBYRND\r\nHHmvh7tjptKOn4sO5eBVw5h89+o/+lL0HlpAoX7OQRfFu0qDMXbqTxy1EXY9\r\nUsIjeCCoUEYsiOr+4purjkA61eGU5lCXUiNbxQ57AEQ9l4AmFsRmr1qq/w6K\r\nu71+kRVzm0cy64yL/doT/aPkE2/E4ieGckZkAjWVR97bCk/NkC6VvSw/qyod\r\naDRcQqhAIbj6HxrplNMcq832bh4SdgcY6zbwrid4aA1gyWjBKLxa6uaEGKF0\r\nCrceMRMk3BEz4R2dBdqHw/uQEH4BARpD/t8=\r\n=mFjh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"ee3d04dcfd657bfc541251b4c70708e951fc0a49","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./example/application/source/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:redis && jest --verbose --forceExit --testTimeout=30000 --config .config/jest/.jestrc.json","build":"rimraf ./dist && pnpm run build:index && tsc -p tsconfig.build.json && pnpm run build:assets && pnpm run build:cleanup","example":"cd example && docker-compose up -d --build && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./application/source/main.ts","prepare":"husky install .config/husky","test:redis":"docker start redis-crux || docker run -d --name redis-crux -p 6379:6379 redis:7","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","reflect-metadata":"0.1.13","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.24.0_1663273676723_0.7057402861006321","host":"s3://npm-registry-packages"}},"4.24.1":{"name":"@bechara/crux","version":"4.24.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.24.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"115348ff1a0fc10a0d4a95e31e0598ed06d1029a","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.24.1.tgz","fileCount":170,"integrity":"sha512-rUzx5TLI6VERguOLBg+i1hsumhxEFMgWzj/8L0XM3J/1sUU7F//eL3LVSvkNOY7pvU3z1NtfnKk7zT2QCCE43w==","signatures":[{"sig":"MEYCIQCn8jSE9ogExirJARzONZsDTPZj1i7VKcUwFg3mpersCAIhAOG38RWBjEROPJ6nOEyUty9vXAR2ZRSHWapA460v8FPy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":367472,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjI456ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqgxg//dfl2s6F0Q6t7M0QuIGS2wnQFCbsYAKlydjy89k2qVOxv2vuW\r\nBWdOG4NjK6/IYerAb+VEsxBrtuW3v+Djd9NLdlj74kKdpfMO0pSULtZjEC3I\r\nqQm5lZor2jNyBHLQiDTfUw+m54a1QBgL/ySl5UUghjkWnu0WYRbAecOy6Kia\r\nd5LLXYj4xRKxnHtzeBCPrQmTmz5LRnovED/nuoNshLtqSEJakXpwpKw6hHQ9\r\nVgc4v2F/ei5ysSekc9YEPhy9pOQ5gC22sHTu0jh6gi2iGkCUbUg4Uj+lflzB\r\n8iE9DXkwgMhQw8qlIqy4xQLlB83aBs8Rt9fi3oCPf1HpRd4ByA9+D+As0/Sf\r\nIV5H+MenePbuDFMiOYh3bbkV9BFyYhRpJblIrdryvcKTNcaGex+xPbPJxCzP\r\nf7CKPGPmC1IA/G7F5Nxz82kQrLMpWNt8e3UdTUXkpw9APHpaOgNM27N5/Xgh\r\nweyOb+D3PvR3QPdQU4/+Kqc+dF1riFEVZKCNGk7EIytjJW7Yuw7grCvd8nH1\r\nVhNbTzR1Xgf+xtUh0rhUIMfTo+LJG1HOZg8mlxemDQPClMZtZ/dAf8TIBwpT\r\nNsz0FEO0ZYRfB72ou3+YXX2/vjh3hIGtq6C+seHtGZecdGai0WD6NzYVOFrY\r\n4AY3sK+C0EEQxPZBG5cutVlldTDhNugmAvg=\r\n=uzer\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"19415b05de947e2b00787518bf530f999b0424ff","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./example/application/source/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:redis && jest --verbose --forceExit --testTimeout=30000 --config .config/jest/.jestrc.json","build":"rimraf ./dist && pnpm run build:index && tsc -p tsconfig.build.json && pnpm run build:assets && pnpm run build:cleanup","example":"cd example && docker-compose up -d --build && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./application/source/main.ts","prepare":"husky install .config/husky","test:redis":"docker start redis-crux || docker run -d --name redis-crux -p 6379:6379 redis:7","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","reflect-metadata":"0.1.13","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.24.1_1663274618487_0.9235952752166865","host":"s3://npm-registry-packages"}},"4.24.2":{"name":"@bechara/crux","version":"4.24.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.24.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"2af92ca289006f8c4e0a44b63e349e5ebf86b896","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.24.2.tgz","fileCount":170,"integrity":"sha512-LHGGXODcDLerVCxfZpI1kLw8qwJZt63iL7pnsHPm8PhF6qYEjnT953GNpH3m+XUGtllFVco2UYJC0vBPCJoUOg==","signatures":[{"sig":"MEYCIQCJgXgLoRhROTyTzAdjXvC40SqjOpEDVAR4E/uvV6t0rQIhAJgzG3QzWFth93sbL0oLmwCxoLTqT0CHsEnzjKj6oErX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":367591,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJPnwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFKg/+JbTO2MXy0D95j5lQsHArMScb31gDRvyyS3/g7SVICO958JuH\r\n8U/soX7zd16Hc3cmpwLQwxtk8lKxxlJeqfVhiwUSTaulvIRbKz3eU60p/PH1\r\n5bWAJX0/P4ZnNIQlpTrGNwSa0oNNzr8qoyV+eiCKorTKcqfojHQLFVdmQMLC\r\nDXcVsWk9RF1vNs4KahWXGLRGfuo7i9AR1fe3YIM1kxYgUh10UN0D/M0JerWQ\r\no7VsqBpj5TXmWJPguCVsQkyido+vQdmOYpe1Sg2FOjHntRmNgb6j/GljoihD\r\nb1JNmIlqwR2vvkala8gmvjl3RkIlXjofqXK+JkPfQ3XZBRO3WHaQUGv4CLDm\r\na1UwLqiSe0YwgUOefjg7gicdU3f13ncKt4st1/tEkdDswfHlMTSo9MzPuBwS\r\nXjNNysgWI5oE89KircXpADPeDwbHFfndai4igXfqvgwzQ78F6TwkQ+Iz0nJz\r\nRXXnjR+4aQKONMaWFikZnmj6iqfS4E9e81+p8GF6tq/KO40zLiJFanUSgnnz\r\nELqjziv8uXJzSAgZu1g95xt1J9UOM6gHP3yhnDwyV/4PnFMdkj8CvRAT6eGE\r\nqNhi6B/msfvLqcYZ028BQ7EMzvWRWJIzI5ptcwXfAIk0U4tdnLXHTQi3Sd+H\r\n0ahQU+aa2NfkMYOLCwHiTNIMUyqZ4fJK21s=\r\n=gyZh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"ae4668903193293d225c0164908858e0ee1e275a","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./example/application/source/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:redis && jest --verbose --forceExit --testTimeout=30000 --config .config/jest/.jestrc.json","build":"rimraf ./dist && pnpm run build:index && tsc -p tsconfig.build.json && pnpm run build:assets && pnpm run build:cleanup","example":"cd example && docker-compose up -d --build && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./application/source/main.ts","prepare":"husky install .config/husky","test:redis":"docker start redis-crux || docker run -d --name redis-crux -p 6379:6379 redis:7","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","reflect-metadata":"0.1.13","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.24.2_1663367664373_0.6625871452034966","host":"s3://npm-registry-packages"}},"4.24.3":{"name":"@bechara/crux","version":"4.24.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.24.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"d94aa72f3bc288c048bdf9abfcb23610b6f55b5d","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.24.3.tgz","fileCount":170,"integrity":"sha512-m3726nI2ihB+fii8fxiZSXNroadOtXNXUiNhGfaVkWx6prTd4Iwc3jAr3ngmHqRPx7b73JFZ7lRveHGVG68PEw==","signatures":[{"sig":"MEUCIBJGxBpKnsWCu4NBYSXpWLMPioZpX1O/RP9I+zztNF66AiEAiXxUOz7kB6nZXk/d4TMUenEsFCe75S80zAxcb0pRlCs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":368925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJbyLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmocoBAAidDg1KEh/k9uefwkoXBAxAwFCPEb4mXre82LXGi//wvZ74CS\r\nBGymC5jFRoDGBJbALJlTj1v10D35w3bwYz1PmLU+hUww9kEP7I3rJBCdg+3/\r\n+Uzi/CaBJygSXgw4EAd3RDahQWZ+wLVkbwjupAufh5IAz6ckcF7248U7DY2/\r\nmUhFktXKQT+UAQbTfK9V0zPc6Q0mkp+S2yrpTIklZVuCiSbgt4L5MmKyvnc+\r\nWU0XZ+5UnrYIDKEvML60GLNDEvGCgcjsQIkK2biwx8phapuCR3skDX6BxsHi\r\nV5RIn2lTjjxx1msKXIgGmtVbT5N2FawQgKd5fa9CzHiChrermr8WKxrPzuGQ\r\nhFnreTdZa8Ubx7Es7jI1h3XF3TrVqwDMTo/hbpaAY7WhyiIkj8L1QChkcvBV\r\nZu+V2agKaLDcOGOvhGd6NkrNdq87pfYuNBR1doYQ2tEZA+eYgZQ5L8re44l3\r\nbkUyjt0fId6++8mrpwIwsHs9dKYcF+jm8fbDsT8ibaLb/f5MLNmhwDQcnEoH\r\n9GFhIietdRd29f0440l8AlsTq0sLbgMz0KRiCexcOFOQ3/92A6z5XxMx/JVt\r\nQBGzXe7j9M+ks360xdHUuB8rQogCo706ty2TsQQ8E7XGEGjls1X7D0cCuttl\r\n0VdSJhg2zFKV4BSi6rPqzqnB2GHpqnSCS2k=\r\n=WMwe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"59bbd6b77580e5cda7e7501139dc77eef266395a","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./example/application/source/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:redis && jest --coverage --forceExit --verbose --testTimeout=30000 --config .config/jest/.jestrc.json","build":"rimraf ./dist && pnpm run build:index && tsc -p tsconfig.build.json && pnpm run build:assets && pnpm run build:cleanup","example":"cd example && docker-compose up -d --build && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./application/source/main.ts","prepare":"husky install .config/husky","test:redis":"docker start redis-crux || docker run -d --name redis-crux -p 6379:6379 redis:7","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","reflect-metadata":"0.1.13","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.24.3_1663417483328_0.6786960307193395","host":"s3://npm-registry-packages"}},"4.24.4":{"name":"@bechara/crux","version":"4.24.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.24.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"4cee78650e6a54b8ce2fe0310cc2a285471984c2","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.24.4.tgz","fileCount":170,"integrity":"sha512-zqS+t4+EGCS1Wr/7l0a67YNzkb/G6PMhaaQ6iIcYVIWZjOBtF/MTUfa+P+SUh0pSXoN2A1H96d1cdY8X1cZ+vw==","signatures":[{"sig":"MEUCIBkRvD41A36e7gfo1AGd6MgTe9sMJBNO+41zY0b/SAqkAiEA/86XIveMTLpA1Sa3JpEQmdpc46Rs3UqbxGqs/IJDCP4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":368946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKMS6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpW4w/+Ofi82B4bx554SUtUbInuNpk3GUdVOvOn2/YppuUKRysc8Dge\r\nGjiHWno3UEjnhwCweF6IW15NolkJIh0p0lr1FBZ72bAcokyzYpelopaL4PCb\r\n5SSqDflXysSHvA734fZEyOxFixiGbU3efEEfnRwxDZ4xDoV4WiL7NjFbuWUh\r\nqoKIYvB9OtjRTWf0udf/axXegNMEo2MgMmjyPoqAKvlAME8ceVpGyjU33Z8Q\r\nvohoo74ZSrmOpGqrk4b7/3WWqZT/dH4jp+Udb3GwS0MDyWI6A2O6xXZ/QVOM\r\nsVTnYp1uPgJPjquVVIbkOabMR9PKfL925G81S8xaEbtnQg/A6kUxgRYW7UZo\r\nlRVL7wyn28gkI2huDQf7J69EqKyQ5wBVT67CsNL+cmP4L01EldSPmKU3+Lu0\r\npdVB8G9XGZ1TNPzXTvPs6dDy8avjaiaZughDFmEHnRxcvn18rASS4g8pc7St\r\nYLdwcFaq/wLcLPFSXXGS20CE0MkG44iTlmt826QZUdNl3GeVU1puruGMvoOS\r\n1TOkjBwT0XlBHCxqa5z0vatKhZUapkhXxgo/KGWlZ7MsFLfM8Oh2oejfdc80\r\nK7IFC0Rnhtz8cieQbBOoK/Sa8Glv+Nf/ZU2HUVufCFl+LWw7Ssbz5Nd57TW0\r\nia+iHgzRgOrBnKKo5aG4DcAnt7GfREAyTws=\r\n=KEPa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"c6b622005990402cf72bffe0f9f1a8b59efaa1e0","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./example/application/source/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:redis && jest --coverage --forceExit --verbose --testTimeout=30000 --config .config/jest/.jestrc.json","build":"rimraf ./dist && pnpm run build:index && tsc -p tsconfig.build.json && pnpm run build:assets && pnpm run build:cleanup","example":"cd example && docker-compose up -d --build && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./application/source/main.ts","prepare":"husky install .config/husky","test:redis":"docker start redis-crux || docker run -d --name redis-crux -p 6379:6379 redis:7","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","reflect-metadata":"0.1.13","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.24.4_1663616186777_0.8040726782956082","host":"s3://npm-registry-packages"}},"4.25.0":{"name":"@bechara/crux","version":"4.25.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.25.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"733b74899366c7a359aced71a6b2fd109e5cc05b","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.25.0.tgz","fileCount":206,"integrity":"sha512-7U0z20e2lblIekewyUGNqJVmCqXGDILsoGJZhFxSbcXswgQGjNYgryMkS1tY1qNd4yzs1+h4XjEY5VsgK4pDyQ==","signatures":[{"sig":"MEQCICaxtnNeca00nlutGB0sNSkYhERd0QyFgn277mCQ8Y2VAiBJjdsV5W8kfHlBwn48wbW1vqAIky2EjNu/Y2gLm8irYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":445917,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKdZTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquFA//eWlfyB49x/QcosC0rX22qvBNg8smk9M8wPW2mrpku6yqmZJv\r\nCDSHWCZJuwaDVDt/E3vJtC236m54mOP2L6LLNXs8q5qVVVtQHF/NxjsIOUb8\r\n3kzeYuI9sJuzvdBaM1HPoZbnXVjbJFbx0AgN5OswRy6hDfyn4E6HUN5c9I0x\r\nWDQqMlRVyz2IEYWScpbRUkOTY/axQwIbFCeRmmFIGFqkxUpauioQwWqksfLD\r\nQjUW4S98mz1+C65O21DBWtnK6RbzuVHy7guDTl4sRWRPzr0Jwu2sdDKtfE3o\r\nifmHBT6zuopKp1P/yfPd48VSBk/3W59yMZnBk9+8o29y4/hh7H9e2X7Y+vkO\r\nfklgAozJOiuxtabeM/pS3ewcEWPFDBI5KUd3bxoiAyb48/40yWpYPvrAw38O\r\ny44v4E6gyNLtK+Wyyj+qTbKfJkkqxBiZAdPaL7fbtkF41KDETExSJT5rnkhd\r\ntM1UBYjNqGgJoKYccwfrWe/Mt5a6gub6OAs0cLy4m45bdQedWmbb8AUAXiw3\r\nww7ufKsrSAy9p7+SWDZk42cWiSzifndIQBpt1oehElnoc+FeXUJKBeom7onB\r\nWPeKR70j3HZEIbwXnu3xH4IkW/zghUdjcaU0uyx5r8HLWOy1cuXd+dTA+NUW\r\nfJLkzoGZOJWntSNQPC8Q3JNHBmZIMw34f/Q=\r\n=XbLy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"e16e43073bff979f20734c0e71c79e2de27ca08c","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./example/application/source/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"cd example && docker-compose up -d && cd .. && pnpm dev","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.25.0_1663686226930_0.33912321372418774","host":"s3://npm-registry-packages"}},"4.25.1":{"name":"@bechara/crux","version":"4.25.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.25.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"39c44e6129865b153726205a9c1060bed7547040","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.25.1.tgz","fileCount":206,"integrity":"sha512-1mCSF4FwTSOE06wt+u744fgM26TaFMD0jfbW4BEMDbYJhmjAT2+MujMp1qeQkONA5Cgp53wACv3mZ2EnbxfNXw==","signatures":[{"sig":"MEYCIQDtV7sfRR+vtWxTrlnVGO2TsOgcoSlVkToFXYgRLE2B4AIhAPQgu1JkuknouZo1y61vFNFTsNjhiDx69yKe0lkK8oIX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":446242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNdBuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotgA/+IWr8rAKPyBGx8f+mjUrO+QY+j6MCxfic2vvV0dvGWi9NTcyu\r\nW676lmSfQ+fdTGA+5gdFxL7qnmps3zZSWh8fReTlZK8FiXZYCxH5IMS9c9yI\r\nbtoHpiS7PxcWwKMg2HCr65EmMNDUL9E2U3OdSEnAb9K3n43W3P4OzWYsjtEG\r\nPUdHgwWqKWr5+yFTsKoeWxH1IoIZR0z/HjWhbX1GdCaPEdl4iB7crB8JJwTj\r\nNezbXBTpkN+IliUlEm9dh0dR2ZTYNvf0YBktGGN3P3+UjaUJLi4Ezuvp0v8d\r\n6ztPp6c1uV9ZuA+KSrN87b8pQ3MnJXUBK/KsUvXhCmZ8LLbefD1xlQWUbmfn\r\nKGpWWdQslOkE36nx1XLcFoR2/FqoOK7m7CC1EPKO0r97r+d5qb/c4nF+LNeM\r\nVgLm02Szg2/+KVAncuwBMfR2ldKJIBONeMbtAplLtdXf5jMDMTOscdN+mI+J\r\nQ76aug+eGX/VD2KL+dN8chJbwEoS7+caPRzcJuiumO2dqxaGzFCd3JYncPO/\r\n0DKtcUduOLfFeu6iJPvCUyqGvwJ/7kmX6SBd1gwYqrl4VmJcIHBGRz5tpL67\r\nEJGnz6JFiMg2YFHE+hChPbWVnH72k0jO7dhi8n9h3yHSCRzXCe4igEkN7eDp\r\n2+k37oezTZA/b7p88Qnr9dVcgqp2DajuldI=\r\n=hsLA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"d191cc8580a1a0d948459acda3373becfbf6c9e4","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./example/application/source/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"cd example && docker-compose up -d && cd .. && pnpm dev","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.25.1_1664471150758_0.21916159008497704","host":"s3://npm-registry-packages"}},"4.26.0":{"name":"@bechara/crux","version":"4.26.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.26.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"82fff0afdba4fd1604e99bb44786b00a749a64d8","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.26.0.tgz","fileCount":206,"integrity":"sha512-qJ2wSLfMcAzctWlKDo7ndfV4yaiX2PzwJlVG85WkaCcEJnnKQhZs3FevRY7ZyC23BS5n6yOxunm+DAEXxhFduQ==","signatures":[{"sig":"MEUCIQDAntaFtHZDqyT3Uu+2jaxz9wuymiQYujx9YY8M6+g5rgIgBL4/wF0RJzXjBN0f+pLEcB3ddZOXEfNiVOstO8WNN9Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":440674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNkFaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRMQ/+PuVTlXV2rZ021tgvttDpC1HUcJqCim6I++SdOekgXqJiHMfv\r\nsBl69ED3JihkEmQzWKGWpP+hi/9vG5zikOPOalB229++AS0HSOqlA0IyU03E\r\nJuFOoy00ndepk4ELLQbKxGdtRgSKpRFDbCENfZAytOdrS5elxxu0dKUurDJ4\r\n1+8dL9wj2DE9Z7fmIscxBHGgWw8HtI2MkZg35nhELGE5NjDiT2eoDJs/yXcc\r\nfaln/nNwNnfwVRVRZM2Sz3Tb9rQIGfQ+hXzKV+SSYohKo9tptIMj3RVG3EWJ\r\nXnSs5aQeC50FBK0n653gXh9wlOUL/L8AQoKgQaLjCRAr3PO1AIjPJJPKGrIc\r\n2JqilExPHSVCBbdp2ECJdA/Q+vSz7ZphaLoT9TJYTFpejQn0aNQecwu2zhNr\r\nYZEm9A2JCp+6I3c7o03DOjKLbX01xyfXUAqUxTVjNhoxb4nQnyl1nqi/ukfW\r\nsF3UnThZkTFuHzM1TJAeMbkmNBPbw3EFl3/pmIGFBD2dkDO9XJZQQN2xUmMi\r\nj8jXVkcBo2wL3lWbhUMvgns5LSHxxHojKV9Hgc8plNYwjZcE8o8pEtNQhcwh\r\ncWGhP8fm3zZGxPZzgES/oZTRX84iRGppvUcLBalhaEirc8ECMj7uV1to+hiR\r\nbKCFWbBYIp6FYxc5rsOh84JsRRp4ESjjcDM=\r\n=KY86\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"f45360519fe303f48eeabb9ff7519ef10ab7f3fc","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.26.0_1664500058154_0.02710411567783222","host":"s3://npm-registry-packages"}},"4.26.1":{"name":"@bechara/crux","version":"4.26.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.26.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"ded67d181127090dd9be39c9b0ab3b1a6042187c","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.26.1.tgz","fileCount":206,"integrity":"sha512-ChOJ2qODy0TW62ImrVoP6ENSyLKlCX+G4ScNMf3+HkuxOSAmoKwDsoEh7wxlwWJvC7+N+UnyRyQmoPLr0nC3hQ==","signatures":[{"sig":"MEYCIQDiv4wlBoOkEf0lWZqJs1iftX/hIm29d17ga6u1w/O6gAIhAIGXsQ2pcxFmoMPrzaE7raSrIR83qh9BUgfmwhjMlmju","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":439860,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNkfIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr56RAAm8y/KXvAvtt7rnLwNtG8NEbkUUywmyczdoaVpUzhedJfaYo1\r\nMlPAlQlfkr9Tic0lCZesjMdRVYWG3oSUpn7p+ebaz7zt8IqHqx7/z+WhZcid\r\nSYX6CF/TFsCQMSCohVcI66Z0QdFJQOqZplJi24D5AJi+EAL92KT5cl8jKtcy\r\nZ6Pa/mgr4AANulNGRFz3LP+FSrusIzxQpDlma+eHVm6G+eLGpg/oOfkkOyiC\r\ngZ+m9up/aEh76Wt1VXliawL7IsIrEX2tY+dKv07NNXkD3aOGXovmOx4d5+YD\r\nMqLPycI9iJthOSy1sv95YFJEGIS+ahc01fFWPdxIdd7JGdjhvRcsl5hA3Sxb\r\nrnAMtnJCF7CBowIBH94FO1dF4ZFcQZGur9oDeb8whe6mdKcVJkN5/XdZtUgX\r\nJDlwfp8TxbnLkFw20hjGUtX9g0uHoSnSHYigxg0MhqFmlzI2Cgd31LvFcFYh\r\nw1TDpowa8VJuB+LzE0pduBJ2pBqt0t/pONyKDlcAfYy8MBwf1SEMO8O9JuKh\r\n4bxj9fHj91rgUEwIn6umHO5x+u5xcONSwWZnss5oVNmDaDwh2v1RyUEUOqjP\r\naBrg23bnBvHKVeK8QPjSXNcJUsB/Ei614y2W0QnmvEA3kMI5yDzkh6UtWBC3\r\nGw+kZHsXtAQC50PY1c+bBDI2xXavwa0Z/ww=\r\n=BzMx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"25f066d5b2d9850ea1f449f6863c89a56920ff2f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.26.1_1664501703761_0.2636578878533071","host":"s3://npm-registry-packages"}},"4.26.2":{"name":"@bechara/crux","version":"4.26.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.26.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"9c0da643f57365f864297dbe3fa4fbe3be8c776b","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.26.2.tgz","fileCount":206,"integrity":"sha512-0KlOSluc1ZDiEf57+geh036JdA5tca7EtyUrldyBWSCM90yr55kTafeqHb5uLPcLJmNvHuuvndR+66F2wu41Hg==","signatures":[{"sig":"MEUCIQDvT+KdyS9vxzcsUTYjCQ6t8ox66SfyorJpFLYSF675tAIgFPcyiQpqiBqcRAv9fIM8JK9RI/+WHR7alH8J4Gk+3C8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":441495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjN9p6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+yA//X90wHQT2+w8KtJkUkeKmLXnkoSgeKQD0DwIj5m0zPn4WpDy1\r\n/x9IUQcSSNE4eEt1Bye6GmOb+fift+JvbTjaTWqb5gNBoEoggHVkQjzVftM1\r\nqifQglQqNBgaZKKy7RqkAsK9oY9Iqg7UsweN03pVdZpczw1suOR5R9WY9iZi\r\n+r06NFt50kzlMDBRFA60xStVs+Kxq+SMVYa5PUx5JmxLb5bUwDPwQM/rgrMT\r\nCsPcpcDp8U24e02rzAaoASzwgyHpE9hqxOcLBKUt77fgsv0OJ+fZ9szFHqm5\r\n540mXmI4zasQ0oO4+dLZDECQnnVDnRtfojnCGIseBIidmmT8JnF9/EW3LaLc\r\nxMFSAI4Eb3aVNWIxDl07iH2KvH6oZa6dUV1ZODUst8ouNxKn75O0ge3kRYwa\r\n6X7xby9WJfrqU7sRVWObvrT7fJDE4NYnLYPeWPgLYwIsw463mszuOzwkjakw\r\nGj7s55HZfVSfmTgZCXQ5YK+lcvcInOyUCWe/chHWzp28srDc/aRZZ9Rwm5H/\r\nYGnCL4wMFEE2Fb6ewfBZMkTeOVF1hh2TpMDkWushAuu3m58n5L7XQzS/ZjEs\r\nWi6jfW36/X+CCFFV1ybxpKlMFen/Av9jUIJldzUjP6kzgf2Ve+/sizXuHRfO\r\ng7DQw28KK0ezguZL/Xy5V3QhUTLpkqD9nBs=\r\n=O+ev\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"5139035839a7ae5545872dd5c56e90b0b6b1f606","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.26.2_1664604794393_0.9156463472261471","host":"s3://npm-registry-packages"}},"4.26.3":{"name":"@bechara/crux","version":"4.26.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.26.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"c14b092eed0162081c8d7b08b462859b39d195a6","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.26.3.tgz","fileCount":206,"integrity":"sha512-OlcFcdk6uH2x3fgVFs6mlv4I0ka/MKsdzMsQl+DPHjvpBG1fYWYDPohk/0QZ/jw5rX8GYnS3XPPNMe6BovM64A==","signatures":[{"sig":"MEYCIQC3CZ00KqA1JpeUno2V5NVZGL3gAcjZHq2rrrqUqG3/GgIhAJN8y+fgleXs+UFbdCED5tLUcVz4KnEVNg0m7k589UWo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":441459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOC23ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoLRAAgrGNqMsSGjSPCDvnGRX9N4JcZRYc3cw4fiNbEsnG7PCglXOp\r\nP1IdhBNC0bj3e6G/4Sd3drUWr/rDPtcTdkTXvkzb5cvgJrUqHLRX0Q0TdiQh\r\nRRD4S1YPKzU+BolMCphNbC+vWJpBT0OR5GEMF7QlDrYxNIIe57A5V34nynOF\r\nlZUXL96vRb5TpMGwyTwwFKFunXlqH0k6kBFTAX+XWweZ9icUlFBnh8zzIGxK\r\nR0+IdeFpwgMBhrMDYEZLm4Ja5HzW7WZvI6YtjoQzlWW0egpVQJofoNdZX2/Q\r\nualq8mMNcEbMmU7AjuNR+NQdEZzV+Fyjb4TqG8EO3mV97L8+tKtQCqZluCfX\r\nngN4GdBXx91sz3/V8LU5f4IWWtVi/bKArK82ZRMNPXS0Ie8GqVMoj/sD1x9H\r\nTbjQ72Vrmaue8GyFfmHJmuKOCRG8uS3VWuUlnTiXEPBJv4th0pPfd7iXJPHo\r\n06nID13OZJ+20LNgNo9BlJ4Kf35vZBV/pewgkpvW+rnocQVO2wLdVTsha3tm\r\nwT7VDpn6VmEv9nwCm2D8Kf+rRp9SwbiIWT3LVTkYt2CMGowFXESWtxoc1Tj7\r\nGasVxFdo3/lZgW9ShbuaZPHFKXlKCFlLpm9rSXzXXFR1HOeLHPSBZL4AdpOv\r\nGHJlHwv0ei5wWEM1ZTIjzwgIp4k1YzOj1BA=\r\n=IVil\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"7bd8d56a6e4f9c236411083419d134b13e22ac25","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.26.3_1664626103011_0.4948176541211553","host":"s3://npm-registry-packages"}},"4.27.0":{"name":"@bechara/crux","version":"4.27.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.27.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"4e3e07fb1f7354c40c43b30a5570e39d0eb3cc03","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.27.0.tgz","fileCount":206,"integrity":"sha512-4S1QR9+II576HJMOAICwk97X6IQ4Xqled/qwkpv9lkpiJ8VuXgTr8h6okO9H4g1xDTOliBlvhlbi2qcf+HXpfw==","signatures":[{"sig":"MEUCIQDuzCQ9L6N/hM7KihJPeTpQEM5aYLwd3rYF2Igxkx5oOAIgNMc/LCqOPoEL7+g9mmPYI5fr5dR++qqOQ+pt6nfSwOc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":441613,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOFOlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrKJRAAmiYCIQviUzWrThsBgKWGFI00GtEymIAv7lyHbmOLx2qHhZHN\r\nVEKKt4yr4UVzCx1wD3BNSynh09IT7ZkUkYW9ZCzoJGRQWDfd6yRkT5/BCH6+\r\nkD5qLiYrRNME3U3vBLxCz9t0PY5rCi1J3x/D/nqvNIVtvLUyjKhmROfVNars\r\nemRx0sA9dMsPfIaf61S+Vi8UIu7HhGnWHcWPU/9Z7memXat1hCPqssiFrSs/\r\nVuMabC6PyrP5Og0mqCPQiFIDGkwtOsO+pOwa3H4cRoqdpHKNrJDGRPC2gG2u\r\nn5V5Q384aebaYgp3o+Y1GA4tp6C6Qq4YdZx5kNUBc8nFXP8nttmwEXh8Akxy\r\nYiuBzigaTtd9dhmRnsSx7Optf3a2Q5ZlFwdsnXFIuWpgQasviyV161Ajq7Fa\r\nRtSLJLuYqTvAP0axTiXgCy0cwuvvrQI5txsBs9QKeSw3Mo5ZkLjvCBu5yddK\r\nZOuqNL7PAdscE+xOGmUT5boiO3EeDtXa/r773yKjYSNJgPxitcK0SkV6gsEL\r\nByLJu61TWYPAw/3StYsdP5MQ25U2OQFu0atUgHP35ZCv0BqNnpXTzu0xWKlB\r\neC6fwnyMv/NyCiNJUUNFI0K4aahFkmxn1tq7Ja5cQlZigWlvN9TvRIcOgbHC\r\nCeORvZRPx/KJxiAJP9KYYI1nBs12qRbSchI=\r\n=4LoC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"34af1c482e9a796bd2b277f37432f94845250f93","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.27.0_1664635812771_0.8589437856627795","host":"s3://npm-registry-packages"}},"4.28.0":{"name":"@bechara/crux","version":"4.28.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.28.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"494995539ee867e3b6232043275e0ccfc8d7862b","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.28.0.tgz","fileCount":208,"integrity":"sha512-gvhpunj30hx9+IybCgt9S9lhYPwWgRD6JK2x673BK7unWpTt4os7NRMEca1bJ/TUYgK2NS67QS/Usp9qF25CLw==","signatures":[{"sig":"MEYCIQC+Q1fmda9BvZF0hP8wV6etU/ta+UK4Uc0trM005HX8mAIhAN2EwAz1F14hNtYt5x4EyySCOCYneH3LGL+brB/ss77o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":454071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOPkSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXgA//e4O+HUmGNVODEpowCNLRiV4S/smCliGCGRsYymVFUXPD3K3H\r\nn3c0JCVyzVO7Bh8yKGVh+o/+0iX1gU5KqyZccIwH+J5znZ5zZz2dyg6mGhvA\r\nzXkRwds/Ze1AUjObTkxT1RZCl0YFXbt5ZdAJ/xoTFfuA1ktL25az+yfSk0zL\r\ndTpsNFlkrWfU8L9MMqqnevkvRrOT1xTxiawl/FoTlbvO+JBsNiL0Sr9FiZ/r\r\ndv5o9y4cMtjSGb/nLV6TlydjWqCUqbLHsjkj3C3IvsURG0DqNtIJvrsnSVfv\r\nt27tcth3GpD4OHiHL7SRmT7Zwc+imN77eK8OUJE01VATyYzUu7xFUnCk6t6g\r\nFGfO2fqesZv1qX7YdSKgIqR4W2mmJfe4FSt0IBpcownszCtpj7jBuhAQ6975\r\nI4PGhTcEgdcH72p1xK0Q7CAAEY/mH+pxEIj4rhDlDBboeVG/yrxdLhTopk7x\r\nfU2WSiRDLamklCMQXL51rf2aFxhQCeZ/EVmoMVQw35X+H3KHz6M/qcMkb77y\r\nQbIHkSQQtxEQOWCxaiRi/y6gUVNG4zrLAzuQiRwfjNwYdEscV4O/9sjh5/Zw\r\n6yz+oAjIwHUno7rC2aLWWbzO4q+gvIO3a9ZUecUzSV7n6vPn/IE6zQctHqAw\r\nBHgKej2SqisON6Ov8Oxlz1SBc7x9W+7tWtM=\r\n=zI+O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"b7cac767b538061f1d4639516605ff08510a19b9","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.28.0_1664678162344_0.11242635860519101","host":"s3://npm-registry-packages"}},"4.29.0":{"name":"@bechara/crux","version":"4.29.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.29.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"c5e61c707af4ed531516e31b21a8af3ad3821fee","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.29.0.tgz","fileCount":208,"integrity":"sha512-kAP2Sq0JqS8g8rLXlgE2oOLvUOC7E4kkhIMn3M51mDe5fPST6CljG8pjsEKiyr+h7wspsmtiZ1wVyhq7rxLhgw==","signatures":[{"sig":"MEUCIGKapLaFl9igK8sMvTp5cMmy0cQhw87Oo1fK9bSb6UX0AiEAvA6pIG6F1CaTuX7cIUip/4X+c6Ehei/Klu2vx4sozx8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":457190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOmWBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqqSg//eegoNkVDtYmc/+r7QEF8TxM2BiWeic5iFdnWDjjyhSKSoTj2\r\naEQrmx1006/+TOH0cIelhfel1U3tTtmZ7iIz2GAFJ035CcJK5Z3GK9uv3ue5\r\nQWcB4Nts+GDL6ytB8ia+j47HgUM3dQFPhJoA/SeuVcLXgVEiYGjQNzPy0yPf\r\nlYqhv/1KphCwxoajxr3bjYR28USMgJFKdpuXOU/msTWj4T06hQ71s9AS6dQD\r\n2Hrxz3Ll3rM1QibP1iWngs7maTRgrC/0tmtU/k2NhVLbYFUcSycsbI8UPCCE\r\nATJ4ZRb9f08fuXBCVuL5Q7xkpm4AN0dK5rRT3iL5Boc5jWHnwm1cvNhIIhNk\r\nflZit8ACZvSrxUrBbmm5IFt/fs9HEwbFiCyq6nroBsZ4eW3ivJDUPK+MvkGE\r\nY9yy1S+XndpUGmXHhWLRO7NIUbwCaHA7jxOaZPIie5uvNNbKXgbAD8VWZoTp\r\n2Y9bIaiDfFtfcvSEUWrXyADEHTSvHB7H0bR4yLn5LvFqsUXtQ/iSij0YbPWV\r\nAAZY/CHlofdBmqMZNFwfbhdKNq3Kh33cwCKJEB9TVjdon2Ep2c/D523z02PL\r\n1fr8sxxGl7FJd5ADP7ULdr0pORYZq70BOjh/7WizIttmPKpwfL4rtOTL01Hg\r\ns1u2K9y55SVhvVH5+4drDJ6ddi6O67c7GCE=\r\n=XTvX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a0f9602a9e70d6255c049c0ef57b4f4b71f16cb2","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.29.0_1664771457282_0.035977080920770454","host":"s3://npm-registry-packages"}},"4.30.0":{"name":"@bechara/crux","version":"4.30.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.30.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"fa326c074e1dc9f419af178169aa698233a963ca","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.30.0.tgz","fileCount":208,"integrity":"sha512-JWoykUKxo11uIBXM4F/4WpgtAAdTil6Zh9DpxrKlTrVGpQ2F4vr8svWNCwSNffuAcHHzD/MLcbdUbBn/TPWL+g==","signatures":[{"sig":"MEUCIQC+oiXfWoCxsw+5aSmv9aaYigXpXWkQenCdnQdaRjNyswIgG6I260/oxP0p5kZRydfUpYMSpWdm2Yh9/u7YCqhw8VI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":458134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjO5NeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpFBA/+On0M/4wJLIjm9AV3nV3je0A01SbWZ6MtB5SN62a7V/cpnfYg\r\nD1Tfg3uK4W5u9rwyjU/DCJAZemDhtXEaayHQ/BV3daHLJJBKTAAjhxYajWZU\r\n9cOPEHGGOWlPDbA+aibHxtXUQ9K5woheuyDbXCwXsN0GQ/F52Z6P9mb/c7ZG\r\ngYLyOvmUHiyquCLltnr6MMim2crU/gMwAH+v0Kk8QvzHupsfUMWGifRMxORU\r\n2WyEDQHgG8zQGg+7CoBWnZ0maTAt6WXCLNNlg40uxQ3lSzPolTdC8+92JGhC\r\nCRfL9NxvGVv6n+vRLiM2FYY+cCshke+/3zePfYKAuezn8JTgIcBhpnk3jxfU\r\nrjjO4MnRhmXMcbAfO9gXsIj4IvhOppDAD8cG8UkaAvbhv63q1hUaJFpkXCr2\r\nfMMLY5kz0JYa4ZYgERuwoz5zo98fZ7NhtTE/smWpzvkRbaHwAI9obgZWnNze\r\nCyC4PLVh62r/PnVIh73tVtt6whH/ArimSDQD4dvPHn72tqA3eTABPliTRc4q\r\naKx6XRtegf7WhbHbWLnwUQ1O9Z/KU+u8azVVhzPYL80CzcPlA+8MFu7g69f+\r\n0mSTeE8PncM98cqdlWsvolPd439N3p+9U0DlUkqVOW2YJ+PTkGgItjd+0HKO\r\nYMXvPFwSZPNr5392npgDOimPipDib5dZrdU=\r\n=3IXW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"f1feb85ea2b6881409b918d91fa8c96f639dd551","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.30.0_1664848733809_0.5889134277698302","host":"s3://npm-registry-packages"}},"4.30.1":{"name":"@bechara/crux","version":"4.30.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.30.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"887ba3e47afa1e87a7087b8a65571d47fbc7bde1","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.30.1.tgz","fileCount":208,"integrity":"sha512-JT/xxkTc/7ixy217nuZnB28BkIqUgGTZOejozshJG2PKlbZzAkk9KnJqyJ0xJwB7IPjFVefqLIRP7huP+SBV+w==","signatures":[{"sig":"MEUCIElLHR6tk9B1WwSeRqJ7iQ/wLNyyIKC6tBAqs0z96CtzAiEA3+BNX5wJ1nkvfOuLWaDVi/62S+hZ6BhhlDWXkPOyzoU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":458463,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPLicACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmozdQ/+LlMlB/2UBaYDRintwys4Ah62J3wwV8caH6zoGiATurwgiH+z\r\ncfbxd25SQZaUQTQ7NbPP6iZD+5IuIGSb0KF35lWPu7LV3uPV3skt/0mXyLhm\r\ndMLqVxx1ZW76A/5xJpX7s3kBv8LPvYFVzREWuoxG2sTZ4BumJPrd5WUyZZ0X\r\nAl1vm9wNDYOHlMSx/fi3VpT0jvtkFD7A5gCWJuiGiuGYiVQORG7xSk+lM3tX\r\ncJtWwyCTfDvq3UEisCapK7zDZDGMtj76HJ4DUttwWkQ+EjcW0ksEX9LSgxMo\r\n950paBso7rqsnpxYpHAPSxRvNMdlfNkObHeAIwUPnPQkr5XGaoPgm/TdVG0Q\r\nv0jI+s9f35XZbDWfC8w87d/hc9B6OUNPPHoglalFzq/2Y9PbIPepqHxvmtEa\r\nQEzZQZtFlerZIRUreid2QE4xklkYn8PEeGAgFpmH2yo1qgrrCeRV2gavNApF\r\nfxrXMYziMxVhbeFuJkYLUOI/gOBWGC9lTRKVcLWSslNWc3czudkzxesPa7PS\r\nQmIZZdYjRyh70eMZ6pCBo+b/Z2zcWl1ZSKQCBM0layjGsX4qNjaBzjKDWxIs\r\nPANy2bpC/7f7s36vllwu6TwfyJMnjktcdvune/3xGVvIMVSbROwUSXmo/K+U\r\nf2y3w3bQ4g7kc9mf2bJpE6fnq+dvMWpO6gk=\r\n=m3Ey\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"b1108dbefa9be783856221b361779885c5c8ba9c","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.30.1_1664923804476_0.897856162119435","host":"s3://npm-registry-packages"}},"4.30.2":{"name":"@bechara/crux","version":"4.30.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.30.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"edb756a6059df8b3bd60fec19a2fc83942e4089e","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.30.2.tgz","fileCount":208,"integrity":"sha512-zxmlWJ8A3yBtvpuoyhGcby3jOTyoQbwT/jD61b8THrVmwVvH5UNmUd37zkm3fZHu1af02olQzYg74d6zTZDNNw==","signatures":[{"sig":"MEUCIQCy1m6kAZOgKSzv9oeFQt+I+iT45dzggFHhORq6RxHN8QIgfRtNyct9NDVr4wTZgIhg/rsxYhQvupOr49jJxga1H1A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":458742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPMILACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqpng/+JQz77NZ/jYQPVmKb+qwr58WkIFO4e5QFbWJuvYKB3LMpQgeK\r\ncU9cVy0DQZSmv/P42jJ2vlrjHBJmJEtJylXN2iloOOjg/N0tZ+JXwawl59Gu\r\nNsQ5l7XK7MWBgYBwdXsvQ2hyOt/zs//5k9EcSXZeppR+Vao1K2SJRLod+6MA\r\nTPWwVjbzFfF+X8pNQoKExYk5nCIJoi2hqW+VVDcfgkYlzA4iIy0K3cBlQq/o\r\nIZFw1jLqGPXOGdmQZv4e6/5lo3qJIOWFpx3d53aBA8sByOEnB9lY4DgBnw59\r\nD4ruuXrq90TziUjaIm3G2S72ZEleEzZZUBXracHPPHzG8jIo2NNSPD4VokBh\r\n8qnAsKMrNc6577c9oNpsG5aZ3ZYlYusr8lQC43gv5zGMw5+MVEFkmI430Y1n\r\naZ9/i9/4dFR3JXX3dlgLdlTH7V/dQ/iODeVMRLyeLuCzzP9ypj41WERPvKP9\r\npMw7QeiOYFTIt1XJK6b97xj8rzNT6kI9gRRqTf/mU20M2NF+JKGx4DrIHEKd\r\nYpbvGMdDGFGY8en87Qabf+10VLaADaBwf+XHtJjzPu7MFY999XfcO7nPclih\r\n/kTrK8fePDZyu+k+50Bm6Nu85opfeOlumnTOL6LiQJvH4BiRaVtun0iPTGOh\r\neZZR6luAGoBSnkDfSPqdQcFaY+qUEw2ksRk=\r\n=xzrz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"82fc8fa5b0117abbbf0564e739593db2c9d00f93","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.30.2_1664926219169_0.6770665840215824","host":"s3://npm-registry-packages"}},"4.30.3":{"name":"@bechara/crux","version":"4.30.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.30.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"5e2017e3ff1aa189a3f647db6f638539fd73a898","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.30.3.tgz","fileCount":208,"integrity":"sha512-TL7orrvj6PBd+PqN4ZqJkwaO5hdGDHupHMZiwINnoJOg1TEgtJKxg3H8U7wMa1MxxX3Twpuzh3vbbt764/Augw==","signatures":[{"sig":"MEUCIQCeJvTNQXCHzhCGUDdyzJn6SqGUWEXbM+EUC7xA8LcixQIgHKHXqOo6LioupbP/7dyUOZ4cK4VhXh19XQlMjOLvRqA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":460117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjP2c3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoXjQ/+IrILtkTL8zf3IugzgmCVyCyMxz+OPlkW/tH12S3PGzU0+j4b\r\nX6Ml2/abD0Qfp+7P2wkFt5AviyJhxElB4Ri3tiEj4X/gqABAWE7lMolB2MKD\r\nqmdDbz4sRJXKs248w+qhWbVjKaVMzMIAsYejUwK+ESZD2IhZZ799QCgtQYDO\r\ndalLYCp/OqivgSF8vbvpFdJ8E4RSayDkWCjciFxnZXKoFDF1HITMnbAE+cfW\r\navTCREpHVYD/sHbnFhFV240TUV2h8VDON9G0P8PicvD87kFGZWwwbU3XXzrq\r\nkKlbJMQOTpb1p+2pQcxepCtfcUCfuMLalt4srrZZ3yjR37bUunYUVklroaag\r\nH/BDGGuj1B9ZUj2/aU4edLXX9hJXfwDmjBPPBIl4CDLrAYbflSg3IkHaSU4p\r\ni7EDYS/Q5Wk5ne37L8oINBoxJqfgqMszdVi+WaKY+4gkQElVijSfoPjm/P7c\r\nAOmrzzU2S7Lu1Jg7ioII8qebdDLyOKbF95mIX6LsW/ToEIhqWNk1PfOP7xq2\r\nCAz0+nY5D8oH26yWvg98on5mcDScFb1vYaPmtCQh/QB1DwMtqKRHkq2Pdhrr\r\n92XORcIUBS/8Y78dlC4oKaGZIZj6i4jezgVF0S43VAkGYuAofR5KC57jlumM\r\nsH4qQOgF/5KSfltKd4+t3z43LB9WC4H4cNU=\r\n=G1aC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"c4252582b3589bc4113b6ed9d424317e59b90dd0","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.30.3_1665099575601_0.3017443695853508","host":"s3://npm-registry-packages"}},"4.30.4":{"name":"@bechara/crux","version":"4.30.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.30.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"ae6419cb8693bf95d50347176fc1eda40d615ed1","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.30.4.tgz","fileCount":208,"integrity":"sha512-V04mwQcuSFZjJ+n2MnmZDWDuK7e8C73i42jrEwWeZwe0eEgRtGhRJhBQMNDVz+Eo6Nswruoum6c5ZgS43t9wgg==","signatures":[{"sig":"MEUCIBioYFGya7o8Lzj8hWmEN5LqgAiufIPiaoYIHFdG2SCyAiEA90Ar00XMT9zTCtfe0kLlTD1iTmqhmGC+ARLxbJBqyw4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":462257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRHxZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4AxAAlHboIRo7jIbyvXH1+aQQRgItmXtkO2qhUvM4/Po756+mfJeO\r\njXIzA8iCPguUTx09J46f7J/bMmnMOywTf9iM5BvdZ3ItV4rwrPvTY65A68H5\r\nGiDf0Vm3VZZFeimPITd87ZcSxuvWw96rg1YWW8bRNwWJSgNidaztyRE4Lzse\r\nMoI5gMalj0idZPkmBSua6F3rQedm4Q4kzxS/5y8eBaLs2+e+VNnlFfJwSrYb\r\nFgrPr4F9dpnt4MTQ5C8nu9UrQ9fYGP00l7ea+DDWfqlqWfE0KiB2zBNz+qBQ\r\n+76YuAOHwZKroPuw5DXZ7H/0WJ+kR8PV2e+0t0jLqVuIXHcjTD0zoRbWfwHf\r\nD2yGRx5w7hL1Jsttlq2eJgaXfs4lIfmxAGNhzHvoZugeasbMyFWg4Jy21G4t\r\nJPwH9/XjYUvQW1cY92drjRKINk5WIzZT5veDbVVOIWh8SE+NOIsO6nNJXj11\r\n/jq/zLP5TZjHxmN5n/hpNeb4Th0wet4lVOYmdTBA+k/IJFuCzx5IPvWk1Brk\r\nyA1NG/GjWLvRCJ+MAScDDhJrRASPR1YqYKdBExAenU6/8PYFMxKWDBkZVZYY\r\nRzjnCVJGXDXviEWq/6RH/ZOFxLyJybwmr8NnBkfxgmmMIo/CYQmwItT787a4\r\naV/dXUsfo0YHcBlWanv+Q0LCAenT/IIOXco=\r\n=MPN2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"987e0443aea841f1a9c6c0daab8e055c7903ca6a","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.30.4_1665432665468_0.5845933162914112","host":"s3://npm-registry-packages"}},"4.30.5":{"name":"@bechara/crux","version":"4.30.5","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.30.5","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"dd608e6e35c66432467762d5cc5fd7f3a1b4e633","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.30.5.tgz","fileCount":208,"integrity":"sha512-Hv7uOurWmiDLXRuheaFKQAPtQpPYTz5slFdYdZ1RiYmahIvZIFSSyvrQaVxU1dmBjqondFFUtogDaLI2Cd5exA==","signatures":[{"sig":"MEUCIEzU12tgJJk/5zUoRDln2ZmoKrU7+xtLSo32ywjWvdJ8AiEAtzgpxuGNz2virl8QUGmdxiEb7Jg2lt7Z0eAoEm+Tsb8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":463331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRKj2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpdXQ//QbNF8cZtdkJqpD6XnDebuVzk6zSymSFig/kDMXA3+Mzmp2IT\r\ngky7awSuKrtJ5UeAzgnXbzFF29BEgd/jvV7ePeFn7i9w6ZVOmgncYm/RyzC/\r\nBNEO2AFtv5JhsCEZHohgLxaeuuDhOoFxaf4kX/pvFxPAlc0k+8KqXZAgQdVB\r\nrqgluo3492OwXDAxZYdIicZgG/R/cFGFxguUPZ0uGzrVvnH8nA0HBP0sDVUo\r\n10PP6ILBetz6kPwg7+W8/zY0REvLHQYl3xXnGGKa07UYkD1mwOTH6Mnd8gb0\r\nhCYbmPEpQ7MwGngdhsJAjfaF51GxpPpaIDgc3R91zXzZplrSrLXGYpqg0d/a\r\n5MuMA8jn3XybNWa3cOCgazN1cAMzuEJEbQa5RNTm54xJbpRG8Trj5GBLZ5Zh\r\nzUKlU2qiOnbz/gN71H/+iJ6uZA5tCI0bTw0RwRmNu7Lu6E48HiQIju/c4DGG\r\ngJdBrTol8rOqxfbodVsY6MeVtqwGIegXuW6oEHKhQMD56ZusGYSxyz6xVdE4\r\n/9FDdedYRQTHXpeu01pq2J9pq+9okskIji/5Rtta2KefCuWMZXA8qqrp6eMf\r\n2Ac9eTZhpfC8ezUSwtqJQ2AiW9DJAh3/Vdb5C88Cogn6Rdf4703dkveqwHyE\r\nxy88Y5WqQvEpXlc936bLl1mM65cpZ/Cq83k=\r\n=kgnq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"bb5c9d5ba45be503e0e7a391592fa4f6361602fa","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.30.5_1665444086326_0.3357529830043504","host":"s3://npm-registry-packages"}},"4.30.6":{"name":"@bechara/crux","version":"4.30.6","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.30.6","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"376d315c2db49427978fac592d1f82dcabdc2e6c","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.30.6.tgz","fileCount":208,"integrity":"sha512-r1vO8pL4Pul+xKsxT7SOUpe6EG31Nm/cxjb2rxNigUc+36Hjp8vjyoNGPO5+BLjv07cW49ESDF9akAa0Fr8byQ==","signatures":[{"sig":"MEQCIHt9aXbO/qQzX3zGHRJIfFCSd6Soy8nr5nIc2Z959CFKAiAJyBSp29hes43UR3zkqmBlrK2zI4cRXByl4K00WPdgpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":464341,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRkHuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5Sw/+KbVHUavZ8JLONOvG6CAPya6cvEqlaDiXwEmGnn2XYXEByB7L\r\ngB06Ug79rLxqnESa3uwcxMpvd+AzZkFmW/pIbwim2knX3E2jGUAHBN4DZ688\r\ntNNyGvxWy5gtxxeme75FAxL8lKIo6I9xqlaguuke4rjpt46VSSjTDhj8AAiM\r\nu9YmVxwQRxq/sNkcWAEI9h/g0WBl5+HOGec+Pm3kQjXLHQZNg1Z9NBd++fNB\r\nIi3Kz6G5DC/UTHn08We5OWuvZrSL0mOsveG2OoGSX1HpGPPhZaXWH8bYdkv6\r\n716DoWBV3cz3TYwdm1Noy2pT1uUNOE/WO/aPAV+ixD/h89zQ3fPQfcsoBCYk\r\noMN+/FxP1YSyhAYYlr+EJllLo4eQ91RqraTPdf7H7Ihl1mDzDW84zadUVk9/\r\nBO2cxUfvMomPLzqYeEX0KcdZocw9G2OCxHpNr6UHbJdCZ8oVWwS8vJTsv/ZD\r\nAfmhjkEgFF2wFFD/HJQTyZxDJnodbBzsaCBgvgz+7d7DIQUDSw998/cepUNd\r\nPL+L8WWuDiB5Ui5p114LbVWB+p79F6sp90i7F50Z0SK/M8uZDwgKd+kb1qjH\r\nEBtjkpcsrD0Gf0aPYG3aG5MFbd1BFhFMeoYLtS08iEMSm8PlNvtcGpzgrwMK\r\nT/fKazLlKLZwJoC6xCL96NK/DEAA4aD8QQo=\r\n=bGwd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"2092be6e07c38d6891fa06f3922a6702fcc588d2","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.30.6_1665548782663_0.28396911067499087","host":"s3://npm-registry-packages"}},"4.31.0":{"name":"@bechara/crux","version":"4.31.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.31.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"5c17e1d6a1d6a883fae8525039de36b51e599503","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.31.0.tgz","fileCount":216,"integrity":"sha512-/CPGUU20R8V3qKPrFCXrleABIliAV7Xcc9sxtLY/kLW1teCiHohGEDWx1CxzW9weodVvWEBJlwBhh65H2Wxwdg==","signatures":[{"sig":"MEUCIQCkCI3LfQxRQp5or0vUwwPuRvuy/fUq0nP/xnOWXbomtQIgUVggAUzXPaTAGuI6htNEbYuU3qonHn+rqrgj24p101g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":471231,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjStOHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmovpA//QniWZ67bi2ozDjA94h75U+5hQ1OgD6U2JIApFTzYJP9Oht+m\r\n93EUAzUUA/FNoMLuS+0XjddJqNxhdpC7wdf/v/mhSFqzii+vftu2HDIC/yF1\r\ngV+eWPvYZbxHnuNV4GrNQwy+QCpnKZTFc0dGQPSRRxPlmuTcfA99bx+/9IVA\r\n0uwjLIncYF46BwoKvsvBRkVGrcn8C6v2Ij5ThN3i2wqjW9FAfQUeIOsG0Wig\r\nepXfIQDVQwy4/smfX5BzlMjDGAH8iE9WmDT2R24rTdeWQtFg85Dwl87YwPkW\r\nhCEacrAktmK5C255sXQlBwUSz/GMeUmfwjNz7or4FHKW/O8Ptsi5y1am9RHT\r\nFNuObwtx0/RfgSIuA3zTKXaXmMAJmA7tktSm4e0c4+/jTyR49mEwP5uz7RBt\r\n6xll/r+0arZ5QynHixXYYbJ+Li2V3qbcbJKg1powC50ImsU/JIRPj8cBSnFC\r\nTdPxszHrYHUer7IWpkwgXbobPyXAesM1vXb/qMqqJ++ecUpWrF+U9QmCl7OP\r\n+ExESPBJoq9nl4wrMffL2c8Xigyn2CPbsOhbr9/KyRhNGQJpNCymJDf7Q7in\r\n93TNEnxdJKsWtzlivxQl/LWPe7kM3P87KV5XyPErOMsEIPlpidcn0GOKluud\r\nMsF6SrB/6Y6EFQnf93KyenQ5Vr2FEiBMqE4=\r\n=J+hq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"f78bcff04804e74c464483e6878b395e66439cf6","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.31.0_1665848199103_0.962681361345163","host":"s3://npm-registry-packages"}},"4.31.1":{"name":"@bechara/crux","version":"4.31.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.31.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"c13adb9b49b67dfd3282bb50b70dbe614d2ffead","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.31.1.tgz","fileCount":216,"integrity":"sha512-WWzTDWkT1kpRyRWp4oPnrVUD1YFZGlH0Q398o60RwwNf35nzqCxvgvqw8PlxJtM4HFuhHfI3d9W+I/smx6doNQ==","signatures":[{"sig":"MEUCIAYQFQg7eHnsFFIiu5lf37nJk1BqwWIXrjzT/5InQHjaAiEAk2VZsQhttUyvWBKf8S+9jx3OfOqs5ANSOsxBoxIguy0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":471553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjStv8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEmQ/+J/TJBeiBBroijBcwCAvm8GvJTBFDpu2r4jN/MDCX57hybaoG\r\nIVa94e36gJLSKbAynqRmq1N2EgIATrErwhzAcAsSqTmz1tRfd1UHjypst9Kf\r\nC++hPjGJ6YG3bzbBDZ47xVvnMwpR1yOyjenbWVdhCBQss690vpCaXqEE0rUp\r\nrKKREHqGPn5Z1GJ+MyKr5eg6hrJH36UTyN1h/szrhDWXAqtc3bEZyiDwmdvE\r\nBWrCtar706+Nprz7RcxRzLL2dzc+uidHm1tIb9Mel8h4oLjy/artSwIiH2fF\r\nZACjouZgbbLGA2ckrNS3Q2PX6c5pahimKBZdaHgzP/2T0vBd3VDpM30D5jT9\r\ntNcGSb9Uc1O6ZUoT9ZgtXAvJfvBFTpovNhzvglx+TPzRd2AJmaEeU36FEzM+\r\n0eur39J79J/4+UHMgLYdA4B3RvtkYU1K+1b6uYAXWpXna0x3c4r2EUwGxiKH\r\n00O4rQkeUdJgNmYHAXY8o14mtb3UHZLfde/eYguVxwZPJXtd9ECyntGmGlZ0\r\nn0AN3Wqj0zys1+DhChx3H8nnQHJbluzYFLu7crnvJDo49o9iGhQ5yXNoC8fE\r\nYPgQ7lWwcNBbAjfGtNCHMMxW6MXnkLH9opr63lFuasRQVgRlCkgyEQe+zTO8\r\n2GkvW09h/MSRpeKDKlzWw9m605Lp1YlJ/0c=\r\n=ArCo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"2b9756c883d485c2aa9145fa60bac904ee840867","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.31.1_1665850364692_0.6454281393676089","host":"s3://npm-registry-packages"}},"4.31.2":{"name":"@bechara/crux","version":"4.31.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.31.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"dc4fa961ed3486a2159ddc09f1c24ddb4669ee27","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.31.2.tgz","fileCount":216,"integrity":"sha512-z/hdaT7NIF7Man6/kj+im5REQKNADOMRp1uOzCWSkVl6OVxR2hltxGKGNbMoj9voxkk7ifyEAUFobeXhA3OlBg==","signatures":[{"sig":"MEYCIQC/6gC4KGyp04Srj5Q/N+WReP7EHr8lw9YFF9szQdmI5gIhAJhsTebWDrgTezfleENGhHZfkrdtaPbutIoY6xJ/zX6q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":471821,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTKpZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpv/Q/7BIp6QxJTNvmvhX8cMfOZlBRiKAwKcVRb7efbQAJbWoRB3mVr\r\n3yBJG8OirB153UUkwhSTE4u1k18ETId/ruMCAKTQh2UxqlF6oM8ahnbKHVEI\r\nZxXinubqK+BON8d0E7zEfHRJc1qMkuoxG1uiatT2iWzx0w3e5bQTQphyh6tD\r\nkartTY7yzGb4oOMZp80nyE+vKlPPMkSSlwOnZcvIBpjuEo/9UzPKdxNOT4jp\r\nvmZfr36Ibk1oqIeKs/PZw2MShOBuOTbUlxrrN0zFiBX5ZLA5Cr1aROmbHTO6\r\nB+fnO7f9gA/ETM/CcVOlyaqP1DmTcPsRHC2pj/OulTiTw/oD9qUBBx1GN4DZ\r\nd5iyffoEM3S8dL6uFgGYt5Y9yJ6ekZrVbwFr/gzVKvWFJPK0Q0Q2RXi8FYDQ\r\nxTBOFhGe7xPZlmkkW7XoGs15Q9fROwCeQZEkNLA3NQn+mqpkIwodwya4ggz6\r\n0tr8KOWmXRkISxeiDs2dBKh8qRjU3PjHMpHA6N4GdWcweIS8xFlqA/CbkJfz\r\nOPyOjjKITCm5jallab4wFELc9tCMKu/LqWOxJaLtmHIQNfMW/6wULiKG/4fa\r\nvF1xyLUT1mAphjsThzWTFqP5wwDn/qcDoqkU4XmBWHiqc6Kf5pb/s5CTa65r\r\nx1eVTrgkLBN2Lx9NryiZqVsGvLIsJ104DNE=\r\n=ugaO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"928aa5308904cbed87e004ebe419f3aaa71d9072","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.31.2_1665968729410_0.7960586074544971","host":"s3://npm-registry-packages"}},"4.31.3":{"name":"@bechara/crux","version":"4.31.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.31.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"2bed60c43ff2abef3a12ab910a11a824062deb67","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.31.3.tgz","fileCount":216,"integrity":"sha512-Z7x47agpq0n1JlzJbtGLkg6qiupTHKLfg4pdqrHi1bsw471lp8Y1mju04SCkUvLIlH3ghfb0YeA6z/P+HHb9uQ==","signatures":[{"sig":"MEQCIBBt5brwXMS0CmzSDQDiqdtptnYdbCr0Ao0W/NwFlDg2AiAyKiOsTg52Nw9PiQ0ZswZqfEFabPgwBimHZxLbN6fYQg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":470496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTK0uACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpU6A/7BWvVBgasl2i2J9jBtnKRK4AIU4RI1sOuaY7saE4Biet9b8UP\r\nstoeEUGIqL0uwpPmF4kP0CN02khmAdQrhU2s1KDCrP7uejxDtLIq7PTAMrGY\r\nD8+FmMR1Q1yzX5MmN9xvX3Kfr/Ntq9Wc9LdMlsHbE15cJtexD/JAzkjZ1GFE\r\nld/5diVOgrKL5SwyMpXXOwyxMPxDpb5YHXlCyVJOCDBolzPpt8ilaD+wLjQF\r\nmsVP5Z2Ge4Pne0l3K0DBfmEftPbQhAwhPqRwIoOZDzY2RMUCcUrT/bKCiD6S\r\nDlfUPYCAqQHg3pmd6bRWe0REVuMHHTsyWiXI66s/BnXVb3GpNmqwREIlJCEI\r\ndUr5hzPhXp8LNrIMIJvBj+s63OEF9lPlwsaNItCqC7MB4JDgsKmw3EZLBGZH\r\nbMeh4BsvXw5S3SUro/9f8CLUFq8r3S9O/dOt7Zua25D16QkMvG5VYY+OFdJE\r\nLBf9Sg7jjDNyz5X0cgVaHnCuIBZZMbXn23DipnCnqi7qtt0yKIUPKua7lRBL\r\nZC/88ggzsB3m7nhv0U+Yk2kR1J84h+ZOqnUWP9+f0EZtBLPWaLT2eIpt7pjH\r\nml9/L+7AsI7CRnTcz0dyKZvmL0FefQe7uPuKwx5vAv2JDCjQH2xBqpHhkLv+\r\n5aWjG3imW6ez4WjwyXqEG2lBPBYP/0+StXI=\r\n=9iUT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"30895dfce60adb1ef1a7bb118e87c7043c661bed","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.31.3_1665969454020_0.2925600675217632","host":"s3://npm-registry-packages"}},"4.31.4":{"name":"@bechara/crux","version":"4.31.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.31.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"6faf77004fa87270972418cf113ff0568f359286","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.31.4.tgz","fileCount":216,"integrity":"sha512-YI/D0UE/U8zIA6aVtV7N4XFwAEXFf77ADql8odQlJ51mkZOJ+4DjTVOaDUf2b2GJHAM3yo6MeLzBuVduUvbmLw==","signatures":[{"sig":"MEQCIFrwC1mqZnemAyVWPmedawqbLqS8GDRGGL0QnqbU9hjdAiANZxq6qaI1vhI+dD2g64Qh1IZH6gWTE/amJbnGcDPW1w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":471064,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTMsZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbFA//cqV2+SpL5302lfbSYfD8Hk1DxNQYgp+HQ1KYWWGL3Whj9g/W\r\nAM9ZKNhQqhL2YagRrwFBmIlWcEqc97FDkJk6htD05DuLvrRTTR0bY4myRMTh\r\n+c/bHQASkSQBQIUd//T0wz+IWRJtGsQ/qhiZOetORzw23i7d7XRy1Y2XgJ2c\r\n/erXg2BRdn8SnetrjwXWNmhN4ZHpVXxIAH3BuKl2My7NE5RYEaWid7Yve+h6\r\no0guKJqJa+Q6kMlqGiepIey2TZTr22tZLwOw4FDTEgooJpKb/sINtUtQ15UW\r\nNhhG1jKDGUmhjbAgYHV1S7OVsslrXPZHFiV83IYi6OlOwMvrniLW4MJ8ZtYa\r\nn/o9EIDCgISHz345SUzxTgvekyoS+5MSY3a6WxZKbjJznjYw4GJI30Cbut10\r\n5mPO8DhQjyJi+ZQqYtWgvPS3rQy1AYFZTObMaIQttXSE9ziJaxY9qCZ94H/Z\r\nTCnFUvh1LbomMEFuA1qecd/ZRcjeNv1l8dL/k2fc/OIxyDOjwdbd79VNayjO\r\nmMbAszOctaJ7PMdIu2neHe5LGuTwH47QbbIqhqd7Qjlt1/A73dNmqn78yoPq\r\nOu/C1E3CKFVHnUmdRWrg+mQ/qJzMBBb3OgUym3e29gF77dZukbqXROCVRFxw\r\nHmz98+RRPELJNUlxXzx1xdbeZUxb4cSocZM=\r\n=ap++\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"794951f4bf8a66159aa443e563a9ab7189687f1d","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.31.4_1665977112885_0.220192412564592","host":"s3://npm-registry-packages"}},"4.31.5":{"name":"@bechara/crux","version":"4.31.5","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.31.5","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"808d7f7efe7b0c9478a4b4891baea14553ee6e07","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.31.5.tgz","fileCount":216,"integrity":"sha512-KlGEWA3kD3r89J4evdNYN/VuyEA7+f2mL3KQzsglpR6y6bTYbUDW1Icx3dKtNujbRwfjmmBYaMxOLNZ43nXJAA==","signatures":[{"sig":"MEQCIGh5gsX/4CB89utctEpdnsHUYfpjP/ozFZ+RT5v/bQ8yAiBifhBQSpU/N04WHcl9wNi9TbcLCaLPTd93oJsVE136Mw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":472662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTcqYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq0hQ/9GUxAGX0y63sLIhXTwGl1PjtKuQwYFCc5NIWaUBjjuUKMPC8x\r\nMDJilLK+DC0BJjh6uyVyMmF1haPFyzUPQUAwmD7dtldPxcoutHwdvqG8e+7B\r\nINMIUhsFgocs8g5fCiODZM5kuA6rsqm4nmI1sDx/UkDCPAnPFRrf67f3mRSz\r\n5ptXVikGKlAF2ZJUXKm4mskOtk1wEM2zE0527/uz+iPj8R0/N5GgJO6MrjKt\r\nOnnLXD7dthADyvAacJBGY0OaDZBkIxjaX5KpjQDfM/SzdtBfsyKa7vwjB/OC\r\nNQy0HMaw/UuzQxMbHQRe31xEKqpx0+gl7ynzTUyXCk384o1DdNwfhKIcItzr\r\nt4/h0vKeJfNmeraE7WE7qVYsYy8JY0d4BO+zmSwALPo4gtWxZ1vRxG7Un+IB\r\nKpsz3Nxoj8t+Nbq1dty/kC8nZ6QOZfp9w5Abth1q7gE+hAVHh+aF9jtdFz8B\r\noTABQrcjh7Rlv/hF/1b5V5cSBO64KHBZherDxUgvE8/bawztlC7DsiSbosIu\r\nHnhI17Xg72c6UY5cyMQdkW/SltkSPH2ctFTo8UnN2otvgVrh2dxXvFpJquMo\r\nvZn3lDa/FNpof9FzBWg3pCAiT00ZV0bqZIvt9+W2Lbtzrvp2SYfQzDnKBvL0\r\nzKBjiquLuxswZUnHUXGmGBVbg6fjeT6LXaY=\r\n=zPzK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"c46e5273ac31e8427eb0cb328d844188071ebe96","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.31.5_1666042520144_0.19804170728381876","host":"s3://npm-registry-packages"}},"4.31.6":{"name":"@bechara/crux","version":"4.31.6","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.31.6","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"558c106c6b54157c15c663e250645e177ba24c9c","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.31.6.tgz","fileCount":216,"integrity":"sha512-U2LWgAUvB/shzGCzu3EhYoXgvY+5Oip6jy09Bvdp9gzPOsP8rYPIlvdXWnZuHEm1cuQ+QHUdsh8g3R8WvhxqJg==","signatures":[{"sig":"MEQCIC/Ug7zw/MbZv8LwkytP/lbirFTpycXQ6PRTMffnv+/vAiATfJkKddhzmixLvKASaOs+05uQAhnHTmTgPnlKJvcN0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":472670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTc40ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPyhAAhMHB5WEcS9jwT27j0nYv/wR06MRHHEylytP0KiE9v+9Tq05l\r\nKr9h2I38/eH5rXi8R3IoeIVxbPpM/vTj7q31u6VxJKCeL+a8xKKec/kTk0Yb\r\n21kU/TN8gAdID34qFCBuln2K3+8srrJPNRSIzq5QKmNSjF5juJE7UV26tmyo\r\nk2LTpwIqdzWga0geabjSdbn9uLcpT7KPvVT2nd3GY3PjZzmhwTGGePhcsynp\r\nShyN0cBhsksuc73AIzV7i+LB5EiZcoRP5nKKJkHfYFuaEQpziUG3QlBWqynn\r\nwHPZVXlI6ZFzBiqGjqjiaqEbHczmj+hWC1YY0fTkm8kWVIF5wT/qJ5/TthKR\r\nDgWLCX1YYN7OvdGKQJ0+cYdJix/CXypm00DyX7dAS47l+UZWTYXKmpVgf2KN\r\nicnfXqUHl0/p/yWTiEdkSiDkRvJpNuXikyFN7j1Kc3lMwAfAcVQaaxnVKQo0\r\nuFr02uvlSEuTt56bharJh0GvKIkWzodRGct0UO41YbhKbeJ0apdq3AhoX8ct\r\nhzLwC4oA/CBueoV/S+36FyjXZOIJqco8a4ej+mlmRN/EbPusp+DdDX06VNW0\r\ne4gLr7XvaJvkmpw80kYrYUKaLMgZmz746p2BGAFnYBA9UdyINuA3c4VBye/n\r\no5IdQC1K937ymHrwWcWgNWMWx+rA6NOOMMg=\r\n=3GtP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"da74fb5ba9fffb247443998e24fcbacb1039653c","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.31.6_1666043444258_0.8712662967390457","host":"s3://npm-registry-packages"}},"4.31.7":{"name":"@bechara/crux","version":"4.31.7","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.31.7","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"06bc143d3d823672ac4cd5cbae849f17b269bbee","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.31.7.tgz","fileCount":216,"integrity":"sha512-xRglad44lAPKYeIxpZs6jPzdzPxyZPhlLYBMMkqUP+qECiFgGXxSWTm2NtBBrMz09ioqPS8DnomuGqEpioMXDA==","signatures":[{"sig":"MEQCIGrUl0tx1iysoI965aGdtX5yWOHwLJierdfstD3vDKQvAiApwxEgdzJZJUhRACVSR8HMZW/s2ypg8TEB1/jcqudLOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":475655,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTkJpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLmhAAkEQNXHL2+sW8w6tHcI76O4p/tqmFGrh5OsgC9KxOiWUewI/L\r\nwNq4TDeQbZ9VzMSFoOEyYc3vjE33B8w0P+QG+wXrZA0wSPwh9PBRUrTD6LSG\r\nlw2ovUxzVulfGrf5lAiRMVbIPXpLalpLNfJLv+4xxFk7pwv9pOsQ8oArNLMj\r\nCAlswkliFpqaCrIvYcgDsRo6SV8sx15hgqnZdyoU7RIWb3Z0v1q0zd4xnX70\r\n9z1JpW68ZTz1RLk16iwLNIXpm1/tfISNH+/F222ZVDRPpeyvJIP/2WNpBCIL\r\nz6FjRjMAkyJm4Tcn/xBc36BIyzck8TyvcRMTAnQ2haram/Ge2NBCuF6cy2Tp\r\nv7sSAGHOIEP+WNKkoM0FJZMGwZJn+ni6QDth6XrgNg9++Itp0rgEb66668xE\r\nEsqx8GRCPKWgrxpIXQXibVb2I6Zakaj+on/2tjOQisefZGsVHXFuH+pvTXD/\r\nxKSMbIetraH0sS09QBpYLBH5u7Bp5+qnIv6TnPi4FVV8mij1gdQmZ/zaNMLL\r\nS+Fm1D12ergeDGxIiIWnNOt3uoCDUVUw2Pdag1nxofG4AIxtTI1eGXI1VskS\r\n+7gT0zTfnuIazJYBI2P3WpCbuIVyXKiI9QOwOR0nsPyUFpB7KjkltBV/5/j7\r\nZqeF69Rv7Putmyc5lcn8FtEAEo5Scji8/gs=\r\n=GORd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"3fb90ec6c921b139b97b1dd8a1b586b7cf2e9e7a","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.31.7_1666073193456_0.19204291964578601","host":"s3://npm-registry-packages"}},"4.31.8":{"name":"@bechara/crux","version":"4.31.8","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.31.8","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"485c1c771a5d284765abe87126eb1107c59980e9","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.31.8.tgz","fileCount":216,"integrity":"sha512-fS7Zl+AVJA6DNsA6B+SF82i6Hc169EN6ExtE6y9IirpGqo6Qb7WkCAId16b2EzjpDJPBOWEqtVGPhfV1QBJT5w==","signatures":[{"sig":"MEYCIQCnesmUb3bycnJr2Eeaq3to2gmIiXz7Q9GxiUFwHbk73AIhAOR5HmaCHn0La3expT+R6Rs+DLUInhsOhW6AGJD9drTa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":475620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTkejACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqhfA//UHRA+uHv5z5qb/fCB78FzJB6hKDomgc6z28jTKLXTL8lXBOx\r\n37JMB+wLRNqvlPX1uFn7h0ayTrCbDmIgR22hNJjFWRtn74NBGwEilsk1dQKE\r\nStbeTg1P2RFvgLG5W1C5xCO68kK3fxwNZn/RWB26LahYB2lvtIgDGCC+XEqG\r\n+R/IlfHnc5bjRanA6OJ9T/TU3+IKoPRmIjavVN8XPd+4J2awK4fU15jZC1cN\r\n9MRqKRgLH7VUpqhxwAKlX34imni0c8cxpX9oa/zPPbnC+ZngC4OO3Tlm4PIF\r\nRfO7mWpU0ExDbHPsYC8ebxGFQOqq3t/VIfSYvFNI0PxbaH+JH/SyQk/EMqV2\r\n2XZxw1REa9LP36AgBTfZsqmP1GeM4nTKHJqsR2X+fh4/kn746l9X9dqnJKwt\r\n3XWsL+Q9U0hitHVUV2+VbAZz55mLcDqxjNZrNizV/Qlp/Fnm8tI4fVjZ5958\r\nqBHpmvY6Pwzaxe4Qbou6jVegK3cN/YrvyqnKCQET7tvnfqvd/PBRm37mXrU4\r\ndPeCm2PvC63oBcKZzkrqg/NLR96IrneA0nYnr7s9qjhKTuYUesNYEAqk8eI8\r\nKvehJHXB36PGzmIE2o13uN9wCjI8T0/FqfWxvW+j1s887679PwjjEOm2ukP/\r\n5LFv1IEisKHkLLjTXvRKXrNiHiQHLgZmdf8=\r\n=BCf4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"af92ab7f897d3b33cdfd7e2f5a4b18fa2faac138","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.handlebars ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.31.8_1666074530862_0.08342958367684616","host":"s3://npm-registry-packages"}},"4.32.0":{"name":"@bechara/crux","version":"4.32.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.32.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"84c93fd10d0e9352b8e3b2229bd43c582a52bcae","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.32.0.tgz","fileCount":216,"integrity":"sha512-OU25UN22F5Y5YE9ZLIPFrMRVkAg4pW1Xr0te1lMcN8ItA4Np1PQ3jfEYwqXZCTPemzmQhKLKZmofokb0fTtFcw==","signatures":[{"sig":"MEYCIQCPjcxOqXNB7oYYFscyefXAM93/j6qzXGhOeb81tFHlkAIhAOun/PdnJQ2NeQE4gfyyDvgqZ92bx0fFwD1va+mBisfK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":475950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTtRuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVkg//VdhmScnPw2oXow6PbfygtekEMIJ16PFnVZvh7CGvW4NFI90J\r\nzHJJDcamTHlFfKiSvt51TRjqU109oRaxamrrYfGATxdOtvRYFuG4OQ16BBIZ\r\nos24uUeIkIRQcJqSYq9YfUbj5+xLIhPI3CA/pbMMv0psXL3pPU1zIavw7MlV\r\n7MVvIIhb1L7sOf/eszfiy4aVuyO7bAgtS6Vik4OF3pDKkSqT/4dun/LusZvW\r\nq6ROmTSURY/RSEnP/QnvPKXX1DRUVQ3HR6orUvPVCCDShbf6CW3m6jmCWMmn\r\nxbXc2OF4c+cmz6MuTvUWoGwwUh99EwReaPu0OWWL4cdy0P+UkEh6A8zpArs1\r\nhyjK8VWoecOd1koYt8r5qT51xTrqhhHFoB/tWFydpSRSe8BA4wkI9XFqjzTO\r\nvSE1+1Y1Q9RxTLk0uebfa5/nn2aumjlwrGBchqZkDJZHrmJ3cAo2ucdBuPi1\r\n5Z72o0lL2Eww/7N+mk910X5bbBcZ+uAlYUSccrdmrhXwlw0ZT0bBaWc9feMN\r\nwyf3ANe247+LJqoG7HqEPtgJWH+U0Wbf+2EHVtCG8C2W5ntjTJpfIE/8XUCR\r\nH3W7VCt1nlWYU/YsDHZAP6jmzXTEBClGjRwdgA0G7Xv3Zt97+1pGVsmL5370\r\nHkycgN93AWYWraqpjINFcfxJmAXuzf/5Zas=\r\n=fXX1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"103d0b68797d46ca01c330501d0a2b3cfb6a9032","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.32.0_1666110574062_0.043174216462866344","host":"s3://npm-registry-packages"}},"4.32.1":{"name":"@bechara/crux","version":"4.32.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.32.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"c0f191cb4b38dd4b3ef0feffa2499017bd5a2c5d","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.32.1.tgz","fileCount":216,"integrity":"sha512-8FXOKmW3ns1/wk+UVOh/fYjwJ++pRf+cxm27QnFEK8uQn0IcHXg/gCN9UOC9SYtnRf4FQkzMNWCqE9BefcbflA==","signatures":[{"sig":"MEUCIQCWmSxaQcFLQFrd/gSmGT1W+jTeEY+XiezqfZdnGMyArgIgLRLK6wiVzPtkvseuyOMGO2xnjELB7RQ24It062ZrMH0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":475369,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTujNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo61hAAmzy3kkp78QrMlIB+VN32WA52gm7T+J1cMThzzNIHm5hvC6kw\r\n7pXaCxjDBFvev7AFVHBLYLu2QsVBFn1QK5MietAaRgrbdzrU8WEYBfOBjFGh\r\nCyGO4amuXyGQWueQwVmvWsJBhCUVoLRH1vbcM0vxijv5tuvZU6MKicRTVfI7\r\ndxyzoHGUN9JQSDLpBFMz5D2iPy1cWoRMwhy9upmYAhDAGdICFzPemeivMuO5\r\neX1kYD92ptzTalAXVddPriinUZL5lMWqqaKZ/yWw+5Hj8g/Hnn3VXXYcy2T5\r\niXFeq+kitO5K7TGUrM7Js7z5M/TIeXuwdiDNVLLKKFmQNiIAkTpW9nod1ArM\r\n9ikIrCKWKcG6hT8IYYRO06hq44Y6VLyj15Ih3QGp9W2jjCQ/0GJOlReVdzRE\r\nkyvZeqJ1j/ZR8msa+mhuByys6jCedJeRRKZnnnwdHxp1KSI8ZnVN8v12i/2I\r\nJHnYxajXA/gsHC88RwNmVh2UT1pIdzt/YAkFMOigAnJ49B4AHo01J7ztJM+y\r\ncLXz/KQxJN3OqxkUZR9NFLOQF7XojGd6C20tbwFubeoNesIBqHEsQmJC1eNp\r\n0HSOxWGT8n9+zCJdTUyGwKURCXZ2fo5t5mdquQUKeqyLpz8RxsPmDZ1Vzelf\r\nlpo9WfPlbY9JNWEyYgM++TFi6JmxHWO7j/w=\r\n=p0L1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"d0837ced8137d1c589d1835bc1715ea3d56f2b68","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.15.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.17.1","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.32.1_1666115789029_0.38698803818877203","host":"s3://npm-registry-packages"}},"4.33.0":{"name":"@bechara/crux","version":"4.33.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"42f2ac5d855decd54f54cf0d07f96a6cc3e58e2f","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.0.tgz","fileCount":216,"integrity":"sha512-1KqH/Ubj3FnC5RnP+nnLvrZvEh+s3NBFOpdBVRXmC07zhDRB2Dcg0MBodUXts1Wzwgi+1QKavK+SgP83DtgcGQ==","signatures":[{"sig":"MEUCIQC1xT5cLveQmi+vT1Y3xx1FnHcpe2Q1RQHXEzJuT1s7tQIgeAi6emg5y4rz3UzGxlAMN4ekPmNJdg8h/w5rz4PyOuk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":486226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUgN+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUuRAAmTNRpWeqJVx6CfGQjNndiHk7Mp2v/XK8Qc9NtB7GN0q3d+FV\r\nqUwFKqQokaBFxxbxm2OuaK0QVUHorYc5KQ1Tqd0b7OSOZ5JTtlwXd4yotknZ\r\na2bfQ9kWgNy7xjhF1bqPeiXWBi+Tu3w6eo6US2pQK5AleCO7ry1hOHlzCP/R\r\nD7h8qLfyNSMXzzk44j88cZwMszaj4CBwMKAZMgmqMkPHpqaqO9HOnoUG33W5\r\n5Xg+arZNFBB7wzyKYcOp2GiFaSG7RnjWoIrU6ynfY9ywN9dA9v0i3Z2T5NPN\r\nI5QzW9zQzduy86U8xqjbyUHGDGMieZHA3lko7PeN8pq+NzidRJV0+sYG/5Pn\r\nYsyMMcLKCCpf9nJWqdAws79MTOuFJil3SUjIJxYKJRZgvlgrS+BvUEWSAV2m\r\nav4FDnedyeg1Y14XNl2gRFo/GLK3dU8wqbo3C11mPedfVLUacTEaAnUl+/Ay\r\nqkfHLS8gyvpJBnydkEwjek4ireH6H1dq19DTkfBHTx2hYX4lIVkDxJUF/+np\r\nDtGhFVos+DzXHERu2ra3i2sqQErLLK45Av8lwSrjlPxPweWB2vkN/5l2mJUP\r\n7FtyMz8AV1CGAOtbhULmCEm0EdDRm1h2V/U4dEB0kSzKH6bXwh1GNprZhvqm\r\n7HMgxv10gzEjTXC01hEfpDfwwSZdl+YYVps=\r\n=Bdt9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"f107af2d83d7d697b866eb98a41053dc801ee22d","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.0_1666319230582_0.7370534740689625","host":"s3://npm-registry-packages"}},"4.33.1":{"name":"@bechara/crux","version":"4.33.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"6969289fa2fe2a316631360725e0d307eab29dbd","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.1.tgz","fileCount":216,"integrity":"sha512-At5qLG40F2dvgAt7MLDINe4uzbAwqB16dbK3XoWSdJkDdWOoSjLte1N9H5NyompStpBLZ1RolRqB7YYOze15/g==","signatures":[{"sig":"MEUCIDoab7OfPabgGyePVMUTlNa3m3wEh9iPLewxgIJB0e5AAiEA5QPZ73ExK74/aUER72tRO1BIV/Bjy7PkbRVSGsvkrRs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":486153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUgawACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQvg//Sq9MP/Z9pabjPCLKrYTn9Lod957W2oaxa9aWhAqdzDPIxVC2\r\n2wCY43D72oUg/+InxTGik9AblSM6VozFgcDH7NL/Tk6pHkMnOb9sELc1+jvs\r\nLiLm7jQC8/SueYsyyejAVFRVTzI/XIr4CQ0Z4oW6qWwcEbQLHcTCPGLiV6xL\r\nGLnBzipxa0LvJHvKLcObww/hANKGfKvEPGGfnMrrMB1zaagVDX0gQSzQ/VpU\r\nB5gNs2S0ncFvPUzvJw4InWjAGwvANZKbNTjRYwprTXQJNl5mrqw6gfYf8Z2j\r\nwZmp6tu8UQRQPM0II9/3yjV9qqukaVWNMrv0P9hRcqYCSAHuoLm4HGEKdSaV\r\n4xcxndcPiEhzFTUNou+4hv8JPjQkl0CYtb+MojjAXQjtu6miWbBVqiKIoi89\r\nppnWJDuuU111yYBdHNn7GPmPE7arriq7xo1xiwYgp8hGx6cP4hdLAQNsQqM6\r\nZf6T1RUX/Kw8PYU6S+p5X+xSgYsJPGmejkK84KGJIokjomsi9EHJOle30NiE\r\nNjdfn8k6GH0DhqGp3DnEAiR/cW9KPFhTwYOo3633SMi2RAiPziqBFNc/W34o\r\nwrqJ1fQyKA4hR+AOZjMmxJLkD6QM5CHTDaB2jKsrHRTdeaRdT0EAcXs1rnX7\r\nmgDVpHn9RZ7uthuaLWg6fBOvTJ/vtFQ5IIY=\r\n=nO4m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"e7f1cc85a26f4da1c54dab6f4d26f8ef807b6cf6","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.1_1666320048577_0.22149421579102446","host":"s3://npm-registry-packages"}},"4.33.2":{"name":"@bechara/crux","version":"4.33.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"36de6ab23b15f77bd8baa46d85ccdc8003593d46","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.2.tgz","fileCount":216,"integrity":"sha512-EvPTwI/I3fM4kKRcDUJamFwe2YbqNs/xih2eX85hSSLkCZP6kCG2X5/YUrp1MuBp+ALcubXkyM22fgRSz8R3pA==","signatures":[{"sig":"MEUCIQD2t47qRTOedq2L9gwIlIo1mjZg6O3/ayUin5GCVMqr5QIgG/MO240v9ujXNecvbR4XSxACrkVbDJSQxplF45OX1G4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":486752,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWcg7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpAQw//aiBAfI7RbePqiGB6H8oHtt1IakHg7IeLoh0iSSuoXEs25Dos\r\nefa9pGYC2mGg+QJCqH/uILYWDIfyKyQf9+TfRCfqwoIuiFzYf/0ULX9DETo9\r\nGGaxtglLPaAYmNquYykuF8uXaQa3SM+k1x5eUnprHQuh7A4WZs8puQ1nZlzS\r\n6g5psc+8T18x1ojumSTmHfG18JgTGgG8pB3vV9XVqlbtJ5O1rIC/oNU3VQp8\r\nQo2dzOpr6d8+enVvAPM5yAiyceCpewsMRyylrvYR2BFjY1091uRc7rBAbzgc\r\naFtcMnwbz9PivyPWB+DGBdFIXL9BpeKj66gpkmeYVk41kcrnkndh4BXuqVfp\r\nTFn9wAyicG2oOLHYLSSTLh8VTEJLvzp5+SqUw0IbajMs1EoUAufsWZUs9k5x\r\na7G1CrvLgDR590WjeLiiye7axMD1rfg1G5pDD4iO8lo4n87Pl42LvfrcZTPU\r\nqQ8WgEVrM4Ps7SMSj0LyxWNp+r3BbGTYQNUmdnVsvmFwORS0zFQnopxxwG2f\r\nn25Kkvg4QS+4n/R1Fl0gMcvNiWJl1N4sirFBqbYK7DloMJgiaOyyTgU8r4PK\r\nj1iavvycCwIyFqBVHHxY7k66qBWCqCgcU9ShuIrTbCuUJ3o3ZsCaAMpukBCL\r\nUvESKURi4RBVxtE1/k3fjjEVf4eJL8ip4ys=\r\n=39cg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"93064ea80407547111e215ad6696e85646f1d9d8","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.2_1666828347217_0.25231049004059325","host":"s3://npm-registry-packages"}},"4.33.3":{"name":"@bechara/crux","version":"4.33.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"ac0c9be60b9689e01bf87164c830033c96f3e7ae","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.3.tgz","fileCount":216,"integrity":"sha512-Iq3YZKvYMM/RCf32dp5BsEtyDIYcgF/gr5uyRr8DAdEmxy8wPDRkB2PBvlI5oyaGF9LZrj46+YjafdcPtswFow==","signatures":[{"sig":"MEUCIQC7g4o7xzkOka0F3vIN33Dvs0Uv9WTBBghsfUM7syYpmgIgP/Gu6p7nlb7UAuQXSM8+yVeNlwQCh9EilG0gL3PVhio=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":486801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWczkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIBw/6A+/ITQ0S6/GAN6TBaDhwrsl36HofOaNj4BVwVTq1RK7iR0FN\r\n3EMgkgJ0SXQVKAaI+r3z0jZJsUU0YxtKOtAeHUsv5YUu0FBvQfk1+tkIDgck\r\nJ2N2TpJmFHwBSKcGINBufoXH4h3N/vsXbSRcC78V1BcV1/9W0lkdxnUCtLKD\r\n9GK1jtFKzPS4kSU47NOC061glt7R14kxRH4iCL4pJiBEoVUrnHx+CPG4q7BM\r\n80k2IyV3Q5trHEH5mRJMmLxNhqxXVSzDZCuPPqX11O1tOAwODzgiiYyAX5UG\r\nk9YvZJEcCHSp6HPQgmJ4KChzoHd0b/dZEohlL0O9z3FMWczxnbymKNYR132H\r\naQV9XF/Zp/VC+ERIAsyeCsDL8vF9QL9UKhh0bkQFBmcPdnJZr593G1VozMtQ\r\nbkvjhqCWi1lqvCeUdH8HvtwY0DpNuM+zAQ4t4KiRWFyRWsS1WVWtGAzwZbhh\r\n+nmwcSoG52JPL/bW1DpmYbvj3fpmnuqlWeWCd909m3vfAKtTkO7tPgMVMOF2\r\nko6jQfEyTMA8rBTdtwi9r8gGE/aayG7Yhrkm1VHBKvKzFIvt7+SFb6HVidRJ\r\nd6hrfcIJjt6j7NW1P57kwqVWW/tZ2EREnUe9TAAvFWSJgJfpr2BIXOZcAGpR\r\nzNNFmkS7LOFp8RejYl9OZbo6T6cSJPJpJPg=\r\n=b2Qz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"6e7ea9d1f34bd939d4712ad0a8b5535a0b962957","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.3_1666829539946_0.549468770021919","host":"s3://npm-registry-packages"}},"4.33.4":{"name":"@bechara/crux","version":"4.33.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"b4aad619447520e6b2b58f8a24ce82584a4c60b9","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.4.tgz","fileCount":216,"integrity":"sha512-9THgKJR23ArcQoZ14IK5khJNvCgNt9MdnAMPsyvupc2rv5zbkqJWpLQY1in/b81HOhs61u0SvgPhMS/7hPbsGQ==","signatures":[{"sig":"MEYCIQCFfMTpJ4Gy22c12Mt60l0va7ZHJKbjvqBbJ+KdedM1AgIhAON3wVjtrtlsOkpODQE90YdPUo+yblEwQ8AztxhldCA6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":487174,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWo/7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo+CBAAglfeZ6wdVzGFQfgp4RQ1/Hnxz/QADymjP/4Hmkzn8LqN3ZNL\r\nqaVxq0ubm/1U9KRGVTORzNR4Sejh2MexFksXZR4Og/YFaiPVUwLk9cxCB+AF\r\nytYy79DUhK9Zcjzs9VrlZ1YOirwC8doC4BAcCPFVdhG+euYGsWtHo/XTpULu\r\nrrZhHte+9PJNzb0NFcorhABtcAEqV2xIfoarVaF8lpiiir75033Fhtm2bijq\r\nSrtvXy1dJUyc9/ZP2BfPD2etCakxcAUg9hTLwZNiEesDVUqLKUrNzsoE9qMm\r\n/OI0LB+gcypAVFyttKjtsCsJ55iqNKzeNW/8SnIYxOEz0A5Y/QGCUoQ4oKNj\r\ndHEWLuYMjELEoBHyldxb/y2vyM6p3xDm4r03v2vw9ZaiV6hj1+DlnEjds6Xc\r\nixYFCfr8RP7ERKWVCdj9JoWgkYt53E6Q8kpKT3dx5dJYDZBfEA3piGnQb1wa\r\nwW7BabiKl/0DJchtINDJIuVj7QC6H3QKYBYz4m9Okave144YKjXJElvge4BY\r\ni9bKlKiMI7SJ+/O1rP5Ia9829w+dUNBL0H35dkR1bLL5SDLBwgkTmIxHE4Ut\r\n6M1AQFFP5tz/SFD3wAgpGzDmJkC2atJis6f2aLiMUxAYQaU0ldscJC43XGpi\r\nUHSFesKHeHrwp2kqcNSU7ly3NU33gL6Olw8=\r\n=/D+i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"6ff2373b58b7f9a48adffe52cb1e581112955081","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.3","rxjs":"7.5.5","uuid":"8.3.2","cycle":"1.0.3","dotenv":"16.0.0","snappy":"7.1.2","ioredis":"5.2.3","fast-glob":"3.2.11","handlebars":"4.7.7","protobufjs":"7.0.0","httpsnippet":"2.0.0","prom-client":"14.0.1","@nestjs/core":"8.4.4","nestjs-redoc":"2.2.2","query-string":"7.1.1","point-of-view":"5.2.0","@nestjs/common":"8.4.4","@mikro-orm/core":"5.4.2","@nestjs/swagger":"5.2.1","class-validator":"0.13.2","fastify-swagger":"5.1.0","@mikro-orm/mysql":"5.4.2","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.0.4","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.4.2","@nestjs/platform-fastify":"8.4.4","@opentelemetry/resources":"1.0.1","@opentelemetry/propagator-b3":"1.0.1","@opentelemetry/sdk-trace-base":"1.0.1","@opentelemetry/context-async-hooks":"1.0.1","@opentelemetry/semantic-conventions":"1.0.1","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"28.1.3","husky":"8.0.1","eslint":"8.21.0","rimraf":"3.0.2","ts-jest":"28.0.7","barrelsby":"2.4.0","copyfiles":"2.4.1","supertest":"6.2.4","typescript":"4.7.4","@types/jest":"28.1.6","@types/node":"18.6.5","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.0.3","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.0.3","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.4_1666879483424_0.7495370871503992","host":"s3://npm-registry-packages"}},"4.33.5":{"name":"@bechara/crux","version":"4.33.5","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.5","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"31f55f70815b31d29fb9f0188cd68ff8404626c7","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.5.tgz","fileCount":216,"integrity":"sha512-2rBKKQIssIr/Nu1IVtCxuI89YuCPSCVHJQqBJOOlKJr5vuB7l+UR7owaQ862h8U50Rnou8MekqA9MzeGRh4OpQ==","signatures":[{"sig":"MEQCIHjJ/ez3Fbz72+RCHUHZLdHllf1IBuODso+KYaPy68XuAiBVdM1jBc9SLATQgcrNZdWXQTAjQEFyntKocgUIU2DTAA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":487259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXJaOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpe+w//cRM9Ndfv1XCdjrDVzmEoW1PwJXJzvhtKAZ2aRzrQiKmMByeF\r\ndYnwJLHTS7bQ0WXwPW80/J+SFZvNRahC/rw0C6cCZBfdqHBajqY1M3aP9bUF\r\nppU+zItU6UKS9J+izgdduyUHl+SlPP7TRTUKgVI/JfHhBUcGSb3tWl4gjz/4\r\nV5bJopYsr/Fw1bylEmB4/oJMU7UsZe/glHseaKyGCbNL9K4/yvh+SAosaG31\r\nDZMVqTGxOCQzosYvzKwcnxUf0zuanfzpmj79PNlouvx6lWnK6V7XxlwCetaY\r\nAOTNKuscXQf9E3StzckINkGFaubGS6zfwh0RF0QdeHiJDvSPPd+Wy3WIe6ou\r\nONuBST7tnK7Xl5ebU3BxWMb/VCtLFgH5y4w7gp/znTv1JFcu06vR2aX2mt+I\r\n74dmWbQTxLm5AOzNWcz6wYHg4zarn1BdvLLdZV2M465jxBefiC1o6R/NkaxE\r\nTIZzkCay1xYtRYlkrK1cIQ6wmDhQS5QrGfcKmFu0WsAJM7P8QxeWIIdBCIYi\r\nXvmp75cRPax+JRkcFW8JYSP6XQk95H2GEx3bfJesbbRK3y07ln8oFBkh+ErC\r\nxJcScU4x5l82lnBJWZwrt5ZT7IK5/oQV9sKt0lH9VwhLE1LC0Hmbr1pGo+ls\r\n9Waw1nIpA7bSe9il2RcATD1q2pxZbidodl8=\r\n=Phb4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"04f13e8d919fd37fd4ed2238fc5a98f6723bac5b","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.8.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.5_1667012237813_0.5902871439900317","host":"s3://npm-registry-packages"}},"4.33.6":{"name":"@bechara/crux","version":"4.33.6","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.6","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"4d0d7cf63b999d418d60b13bf5e6dd8011924e12","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.6.tgz","fileCount":216,"integrity":"sha512-m9LtgpjJasXcVltIcvGiAs7VkpJ9pyu2Dbr11wWi9jvgldU4xPiHYFOj92PoLStIRGDyGanNoXeZ5zupvXTV+g==","signatures":[{"sig":"MEQCIH1xDM4RM1AmaVe9fIuDLCQEqrJ2A/LHllog7mMkfaRxAiBaVvTD2ynx6H5upZuQtMcU0ik4Jz5Fv0NPKbSl5kHHuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":478267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYa1XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqR/BAAoGEMlp7HIp6tTJ5x9UbDSCRqK/m443FeNsXX2Z5EqCLVjau1\r\nJK0gKH+sZoQvAsHWVgsuT/lcE9yQveUpeeMYDGEk2rZfZAdt4kurXJXrhhLp\r\nE37XtlW+9a8jAm9Gilso5YGKzLBpw2hBdQuVIc/oaVf95i06IM3I/3a8owu8\r\nV12OLnbry2B9lLH3Zh1Wd1nh3UqthfpEUcBdJk+Rntd7+d6wElmuOvfQoVmQ\r\n1gRqvXeU1LX0SCDlrgrfr7paHxnYIH0XlnQNmAFz9MAFDZvbKj9ivDEzjQNH\r\n5tnhvJyVd33/+ddz1qtwme+RIpncxS9TFxzFU0FozLERE95Vwi/lsyrIKT1q\r\nHRivqKMrhmfjX2es7QhxbgxR3wCyNWe2RySEUCjyiozMGquvpafpagqZ+I+r\r\nAPuaV+IibrMAEDD9xA9tXn9oEnGROPu+TAsLsMzac6abrwLLEqWA5CJqBfNO\r\nxgXzgOnBDSTu3O84PX2JamGRu+CxTf+hyzeiB0PS49VL8SfXj3rwNxQLumqS\r\nJQsXotoJWjAdwa2I1LXoNh0a5oVJqM4iTJKny6q8ib0gbgcC0mIgDo757bby\r\n9VmVWToShvX3mdXafO2NTb1GXQNnwnHxj+GtqhakZ1zHtnmR0c3IQ1sx4pF9\r\nsGnbqwX/EpCoFXbbAByfhx3B0p6GR5Madw4=\r\n=/Sje\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"2087be34629b65e517cf76af92b410f744ca0d95","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.6_1667345750818_0.2280216686098937","host":"s3://npm-registry-packages"}},"4.33.7":{"name":"@bechara/crux","version":"4.33.7","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.7","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"429243982a2a7535a444a97cafd546b7708f005d","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.7.tgz","fileCount":216,"integrity":"sha512-j7bT7CVr8VveU81kRMuMHtAqdC9X1hdiFrso/o+kLcMNIvOD7CjdNNjkj6YREmxVsuAg31vGHM/JdVIB56wtbg==","signatures":[{"sig":"MEUCIHEuIfKWQF1z3y6wgw9g+pA7dOrvOj0YrUZ+Mj0nRgc9AiEA/5E2XVEHS7p0EPQ2TtBFHdqYz4Val8fxJdIcv8DE8+Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":478505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZHl0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRPQ/+NoySlrOtYEzFNniwFryoKoeIu1opne87lAeWaBK6+kgdKeHa\r\nd7qpSu8RwpnRR5E6faiABpl5cgJZg9Nx1Ro4oHphEuGXYLSrNeAm9k8TG43l\r\nlEHRe+nfxp3nMxmWmYQ+3u9ifxUpbwtDCSmpLy3k4nWTjebTeqzSt7UxWI9N\r\nJhr9m5cY3TykBh5aXPAwwlkZnRLQUCeGWTEtE2V4y8KyOtPzwLQZKVlrmvS6\r\nf6QB2yQIKccyXbqUc9OaAKJeggLoB4VezIiwv+Yg0izZOv2qgNJG/8jzWD93\r\nD1lpKzXfhsYviiP8C3JBIORXh5bAY7VmdZESTm6MrbjB02Qt8XJpfAUAiW7y\r\nwcHuCWSZoHsqz4ofaEvG0ajc/tmgisYo3jwMZNetK30MKw5Fw7WOzoPEk1GG\r\nbdQ0p3QnYyA+kbhiaH0T1tOpF/a5fuO2sz7tz4uHWmtG7MBTTXoLa+knaVcZ\r\nkYb+zdlI9pOjGHqhDHufsDQ4p+V27PZ1oaQqa6HGansjYtBSyVUql5fORxur\r\n6NNwZn4JXIOErK5mypCqoFz+OW6SQPLJMT9UdddJXZFeMr02g+pVh2fVDzVm\r\nWPbSRf03QkhYP2VY9hetgJuCD+Wb1LzuPag4n6IjDeInbsHB/0CQmW8En03p\r\n/oLLyqLjVDDoTR5eFO3seQ8VCsSiyz3sb5E=\r\n=oyU/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"d59b4c60534129fccdf1c99cfe9aa84b7b364086","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.7_1667529075980_0.48733506316026687","host":"s3://npm-registry-packages"}},"4.33.8":{"name":"@bechara/crux","version":"4.33.8","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.8","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"6953cd34cfe2e02126f8be3f32db1a1d27a3d182","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.8.tgz","fileCount":216,"integrity":"sha512-7BHULPstZnF75XrgK4jBheBQZNAtK+umEqXSWBMgVMZYdvd+zamAPbkAHVjh+6qa1uNPocNb1hrjU+BCnXokWg==","signatures":[{"sig":"MEUCIQDLauHK7H97X5PmBNQezQOvuc8KKOdZzQhRUNlsiOqONwIgZevshb6vxmcgIxsoqLEBAMRLYJusLnjlOMnjbnX1xd8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":478213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZcvEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoacRAAi/uvTBPSC2nCPSunLazrjIV/5trTFOILW1weD6Lj3cy6wpeo\r\nZ5ARuCMnJjZSF1eanCT4GcUPLc+g63qN9z6wbajdrdi8QxriT7fw061K14R3\r\nGmiyJpHbTJltK4sQPvLqCYfZCyr5JAmtF3LVK2NJ21JoaYdGX2rq0hXru92M\r\nu6uo/I+dIXR6CbCPyXyr3gvO5+Ku3L56S3Hs+X/VJBgaR7MOd6tBmcuya+Fu\r\ntNqrQggdxRMLD4Nppt7R3kEVbbYv5DtzR88ojhTJr0XfO/kQE2Y0K83MTeDj\r\nSp93PpYFx/DDBTRkH/URqiwwvUAooyAnJIorvIZnYLu9SPwAcPjxJx15XS8J\r\nBLQVLyXzKbdAip7LPSqKjue2CaHn1jBvSog5rA9tCfpIlA5emCEEfx0pb/yS\r\nSSwAuYzZnX+68dsF/QqahioubkVP88N+Zevk+YLoViPZl4bM+P6ejMd8Nt0o\r\nUChDgS3rGvSwz5X64yBFhOPrYoE0ZeoNhmettRgeQ5Tr9N6KVZI8AQG0J/al\r\nbZ54cI6o+lj6m8jb8Q07i7feu3Gh2bnsyEhl+N8PT6lwwy/a7O7yk9iCnYu8\r\nwQPHqgJrswhewbkeP6gWvzNYTI5xLd3HTdkAgjSFpdx8NgBSN5+ZozADL6NG\r\nwwgRrzej57Jv/KultmzkGRWsW0z04a8zpvE=\r\n=403U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"371caba28ddc173d2622a2bd6bc4bb2ffff1171d","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.8_1667615684629_0.8596519109174072","host":"s3://npm-registry-packages"}},"4.33.9":{"name":"@bechara/crux","version":"4.33.9","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.9","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"c9d6e925da663bac27845d9d005ceb28fe136068","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.9.tgz","fileCount":216,"integrity":"sha512-YlMK60nuJpRvjXDKO+XGAc1dmKs34ztMOLW8gZRIoltMXTe8QCvmYQ4QHHD45/pcMNa6HmMBUXl6PiZvxttOMA==","signatures":[{"sig":"MEQCIEmptvhV7A7bs7Yfri3Vns1+slm3wpq91ljf8pUIOyz2AiBgvawA215Z5EuZMLlR/JuRqzYTE8sdAxnoUXpgBFIIKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":478033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZpULACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBvA//aZiHpwKsr/FlptQGyxEMSzirRriPtZ7PZ14mIoV+ZI8Ft+vu\r\nWPZe2jWukqmWKo8/u2reBtSBWkV2I+2bfAdzgX3PGhTr/Y7Pg1pmaFWkOrf/\r\nAjcDONTRpfwhFBh1c4kZSRqWDF1qTg5jnXHLLou3ZAs0BOkcGTWZo/Et0ZXo\r\nOy6AsuHAaZacLTVpfdJaUVPewL4f5JnyYACtvivfBNzYqnFjNv+F3HUwrPRg\r\n4zSoE4r5hrA08HngzO3O2rHPvMla73oFj8EfSmpj1IY30y/Sc+ebiLSVL9j8\r\ncoUSpsChQHYXJjhw2Ms4fFUthspL9RlYucVCHP6+teWS3DAndB74yhyPDiZK\r\n6fI+Heav3w9NNUTueh821ZRUCK0hvuw2+KMCXYRNtYK7tHGs7Y2KrUGdDTOS\r\nVPK5/yUj7eRm4Nuf+hQEr4C0m7zIIM1+vvMkQ0FtjAEmd5X2/jtrK04yfeeD\r\n2RvUdgVNhOBtSEmuSsRIalszpMEr8rsbtOqsLWdgx8/aJHhQTWetUn6cdj4m\r\nPVNC6YYCW1AxXLL1H+bqhcYstPZBPosQiL7Zp1ciVz1B6ppsxLGstTpky2W9\r\nLLsspwnEHstMceaep+gDDZGI5ReuOqR8ttYW4sxk0hkV8ZDFZ9nvN3IjakNv\r\nAfQrPxc0cfc5O7n6KFvdSZAiseb/LsZ/YPA=\r\n=eBwp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"de413e8f20476e1e48319643b519ec1ad15364fa","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.9_1667667211741_0.9240181528418043","host":"s3://npm-registry-packages"}},"4.33.10":{"name":"@bechara/crux","version":"4.33.10","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.10","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"57eb66a312ba64a81ccbf10a0a8ee3644095bb8a","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.10.tgz","fileCount":216,"integrity":"sha512-X4alPOhVI3mqJ8t7f8bj1jRafOZ1R8G1fYAGg0s7ck/uViQ3ru7aNo3nQJhEAMSKP34XTZt4MT5B7vKX5RzuJA==","signatures":[{"sig":"MEUCIFEL3ghR6goynyK2giTojmOFFcLYgokjKUBVxlHMVSc3AiEA1gU3socDhm1c/yGp+1LDVD7t3sP3W/3oHOicN8fNrpM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":478034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZpdYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHUA//YDFmQ1u/UFzr9IKH+CBzysRV2+sAM/T6W79ZdAuqZ8Am8kR0\r\nlxyWr49vgQ0n4YX688dz4BqWlcTldIHVxsXFoP/dNt9wkqabi+8cBJbD8Boz\r\nAQysIzzAL5plj47GsxsMafTko/zCNpXCtJXAKz3kg+i1A8BLB5tnmwSCBvZk\r\ncKWLOeIdiQ03Je/Jq5keoq2P8tZLfBrilclYsSAESchv7KV8DgpylxPHybyB\r\nouIErYfd2T2ggbvGahAAYBNmhGlwg3HnrO0Red2iIpryLRcN5e5fsvdAZ9/B\r\nrlpIkrXh3asdbH8ywrFe3lkB6mLt53M4gdg8H4vMPYZsL+fC3B4+HSB2q+vB\r\nI6si3ITCVaiopn3nX4krcJL840Lz7EJuI8pSxAya6nRg/Vq9nsPeaQjvZrLZ\r\nCSCIJ9dsvXmLQXu5nMxKlAsLFeLb9ZXVWvEpoaUWYzGwwJeJTV/8daZQgR0H\r\nasZSK56DQWn8mVXhipccwJ6TDjNXxJTyqvCoC9LnsB0o2Km4s67MvYYtG5Au\r\nz0t/a+NWS9HqA7aoyChVAsYRymDgl7F5JvMtIjmuBDeYpHDz+mwVnjhA5+oU\r\nl/8VJNtj3xuZUMxH4t9VMyli0/14TOTVRDIfYcflkgskm/PDmw/1mWRf9508\r\nPpl9A4NWB90vZxMNLemtF++IPbR97yX6XLA=\r\n=dUXG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"b001afaff6cc92457a46d5591695da22f41482c7","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.10_1667667799736_0.9601321199327346","host":"s3://npm-registry-packages"}},"4.33.11":{"name":"@bechara/crux","version":"4.33.11","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.33.11","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"51c17123b73216edb685d60d22bc143b9d480983","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.33.11.tgz","fileCount":216,"integrity":"sha512-FAAYDM73k4MYlyJ/MbTi7NBjkqQPieoPanxUulQfU6Bqsw8tupNIcyLCpYXj9yvgrU7OB5dTbD61BXxRN72Gsw==","signatures":[{"sig":"MEYCIQCViPS0ZZzRpjAy8PpaH66nIFxNRp5Qank+7BlMjR6GvQIhALNcnEa2rA7WutiseHleLOjwL8ab+cd7skaDjN+QfDPy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":478034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbGdWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrqSg//XFHRx0myXFdt9+rqM2WLjPzc3ZE8n5+9tB5tyQtNS0iCDWG4\r\n57AqVgTa2V7fkuDDLFfrXauFFvSkulqYqjInVGz9qBI0+e9j6K/8c9swGGMt\r\neUw14SJpZN3GzsaMd7Ck8+GdZuoQu1x0U7pcgHJMZQ8p2GLQFEYMTFXb/pBS\r\nTLanqcv8QnnMTZzqoePKrCx13wMbLO2HuKfjY4yiRYJ5xfEqAA6FMiv7LymA\r\npeVwWFdEqwLgYe6Ic+JXOusrUFdSQLRN4wGFQJurGbyRMF0Ce+VtI76n+5Ln\r\nsQ+ZIkukd+mOuyI0GZE0AyjOJfdl16yW/bkso/oHgYEz/2Dx1heKHlPETw8K\r\ndVgtNekkybcBh+3cLRLZHEsdYEMXMR7PY9vwum6sNx40Yi3PQ9ldwV1H/m5M\r\nqNmvsxUVeVwJjLRuE1Uw5lzZDWtYU4AJRCTk8JFFyDQw3SQLAHVa+iIxq/ML\r\n2qdSPiSnBp0HBGrVKQf3XDk8CMFFsk+CUMA+q/Cic98HVd5Q7t2lvpNx5Qm5\r\nmMYOUPIWPt4VuaBuk3c5A7UidVx57YCMK5rpH/iEhJeomrI2vNyK6e5LA4jv\r\naf062HFMYbyPJ65hiN7EVCDVYoDx5DNDUJVIMBTsk3VBLAprQ/RdQ79s2tB4\r\n5loS0/WOj388w/ytWt337SBErUPJSpTaV6A=\r\n=2R8A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"ce6afcd617304fb61d23bd240c950b2c90ef3916","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.33.11_1668048726284_0.8577593795205343","host":"s3://npm-registry-packages"}},"4.34.0":{"name":"@bechara/crux","version":"4.34.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.34.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"35ed87fe4e1a75b55a1d7bba383ca4d550a24259","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.34.0.tgz","fileCount":216,"integrity":"sha512-DFt6VzlWSH59DyW7huwpzLSk4Rp1QmUYeqQmFBP1QTfG8oqUIQJFG7SaeQt3Fv3IXKbMXbTMjYp0HBsd55j9HA==","signatures":[{"sig":"MEQCIC00e48G2HTZDYBpsaeP/4AkGysTwOrLSCaLeudtNn7yAiB5KO49cw9oecSteF34HxJ+ELKyeo43vF3xXdyaj56Sgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":478327,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbGocACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmroWw//WmnJPyivMxYUaQOun7WiFtpT9GNNTSk5qiIpa1gIOUR4CQ4E\r\n0njSuOx6aXo9Fd8OrVS6m3T/hh0hAHzpIMPsq2YthsnnT1cBIdawa8ZuoSmj\r\nkMzT1abaAGo5YDZYsnWOaIoONwF7x/cY0fAs3qGTT+jkoZ4LrdRijPKHMAz6\r\nq4OzLE2z2QIQTqBUsn0fHI1GEeq4YfN2iiQCg8cauwFiHNshBXrBYt3UMDk2\r\nFXxbcaukq+wkhvGNsQhcz6o0yewni9IgRTdd+pZtpGOn0sBxD/ClKDongL52\r\nfsClagtfVWkV5Y0X/qTATu+hAG4e6rtwunYOT7Y2SHeC2M8kYCmNPSgkRF+b\r\nMaeYHK2PD/aIfpw63RuPgWJeLUA7h5/raSSHoUxJ9AAi2sjRQoldpfDDMJ2s\r\nJNGser/MMTXtPlt1Y2N3hY6kpb6pjTszciBq9z9bZECxE2VMBxsFXUM4TfrB\r\nr21c7S6L5SVLwCJME5da2KuUQPwxiCjOH10RilCAl7cjuG140RmNtmnxXNLx\r\nXpEixOfAIdj5FHtZm6I4kFAtC85Sd7yrRmi1FzSI1zkgjQLKjqBqAB6MenVb\r\nu33Xwu1tDHY8QXU8HNsVLupfP+qWGwTzULh69pizn+gRNIcqXSxSqrDqYKTy\r\nsNpATDzi95Q3ir4CwGM0Ixrvq00i8thX4Ns=\r\n=AJ60\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"cbad82b4c0ca78b519829934ae1f3c7030af8dfb","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.34.0_1668049436748_0.20518863685231548","host":"s3://npm-registry-packages"}},"4.34.1":{"name":"@bechara/crux","version":"4.34.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.34.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"dc27fbbf89b1fe5711d1ae4964371c18fb5205f0","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.34.1.tgz","fileCount":216,"integrity":"sha512-9CWsDCLXvLSvWDc/UEkAffhV6tNLf1pCd/hkB8+ZhORYnyOtPQPBPPUtewlRct9DEbmdlMdHw4SV+UTWjvwY5A==","signatures":[{"sig":"MEQCIEiou3tnCOnvJH5e+TRSrpIeR4sBq6zAB84unknXCyr9AiBMuYM0uvbkWxOhLRcZebWH7INPT6gRBuVKT2GN6sdojg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":478731,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdWAFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqKew//bxb7Hztl6m0ph1F50/1Vx01urJsICVOO9ttqWgkDnOz5X+so\r\nQqZYM4bf5+rSwWP98xI4z4uHlmuJrk+/u7EcXZ0vweQubWcuS1Rw+8GuV5h4\r\n2rpHtmtzEgv9mOxwQZG8cvD7DJ9AgMNUqi+y9TrAbwJgmFvho5waS7/dWNxq\r\ncmk/UjYisGqF4ZPyR24VR8too84xn5ZBaO/XnSCwAXYZ/2Oo+2+jtSRwPw3b\r\nqKrda6y4Xip7Vg1CHUkRmnsJYNmkkHKA+rmfMlb7OgDcBGnDcbObrVIkb15A\r\nSHhFB2gC8Rt3PGibIyYEZJLrFmwngBg1FRpdhVY8+qooY3gJz2EC3NKU/OUC\r\ncXDjhmv3i5yFh5596OmwZbId6tOWoMSdFRiuEEBrgkKDxs4ZTKNK3E0Pz7Xz\r\n+n5t9gvwtDMh61N7vYesZzff+l8p5dRuyCSboPgZxIRwIpzmKiVp6n/ZjOf5\r\n69Z/Rjgi9vaU+xIoAI4e9SASZN3CGEPG9wab7dAsFkI4ZKktRxHg89E5gEwl\r\nD3+6XbhjGSFg6/hml1QNYmoEq7L/TQuVBAYF5oDhmXq1BqqkOrn56z3d+VHn\r\n8zdmjnYYdaaBHjqgBMQDMSR6nkhTD47VSZsjOX5vGI4g7RpZ3b/k0Y1H+nk9\r\nAFeyN/PYz6UzfBz/H1SpB0zeM086IZL2t5I=\r\n=usxt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"6acbd67d5919c173508f5a724442d71255992da2","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.1","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.34.1_1668636677135_0.1850863352130896","host":"s3://npm-registry-packages"}},"4.34.1-beta.1":{"name":"@bechara/crux","version":"4.34.1-beta.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.34.1-beta.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"fa28851651396b31efa201119ed887677fb036dc","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.34.1-beta.1.tgz","fileCount":216,"integrity":"sha512-AsjHIdqFFfvTkPvKsBowM4on5cfBSmKuaOLfC5mBWei4qYe1E6B81IiZ2uMVkbO+zkCkziIn4VEC3GvH9R7G0Q==","signatures":[{"sig":"MEQCIFsWFOsd0oxuqkhM+daxzRbYSM+AESPnXTb8pdubBydFAiBDE/Bbs2R29pYPrF9+Ok6ZP8rs1ffTqI1/GfftR7ze2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":479270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjeQxCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmonRQ/+OLbdRIDFOKl1J2Vpm33vZjwnaLKaRU2OEpDLhLKGwyVnbt3Y\r\naJSFti5TZRnFWZZnXGsUXc7wckf0zz8JiAcJjndhWtRBvGiCmDmew9NPO+Rd\r\nwNT6IgwlNm255vnc7Aff6pA1FSh7HQZCUJbbooZETHzWlyp5XCxjZucOO8OW\r\n0D5kbTPYnIeWIfAXaEZb00jYDbK18r4/q6yanDZ5K6ieP9a+cf0sKLvqH4rJ\r\n5pwXKIe/WlMjTkGUkAnQrVqodA77o3NQVIG6vw+A1J+q7I2ayHkoWrwmDg1f\r\nkJGXscR2wGnHqacZilJTlnW1hTvg8lxgNtWX1kIiDN3U8DvUtRFdao0UUQFp\r\ngTs4PCoTBmawQBlFGZkIC1+pNb6bRuQ8ttTUszz23QU7U4sZ/wd0pPtFWCLz\r\niVLxq3v7nenMgAHQ5Kh5Q1AXUXheaxgrhZ4iNI0j+cUE37zA/ypzsJZveqjy\r\n+bFVoiGja+Lpkq8mA5ULEl+rqJfpnYR0SRG7kU4soQiMg5h1G4E/uZkVFZor\r\nH/4CUC03cGMOtMYIxOvmmqkjN54LtjBdA3ujFtGIov0w4WVHIw01pH+qwgiV\r\nTUkaEnwtEBUAwIwECl2LkaJvmF5ZEOd2LtCqjbCZsPb+wYBXhx4ovAY8OKca\r\n1QZUQ3lp9YxhNc5cax+Y8F2G5zxTEk0oQMg=\r\n=OISg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"f1b2a7c1d0dad1122893cfb19a76049e4d571218","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.34.1-beta.1_1668877377912_0.3441632646437638","host":"s3://npm-registry-packages"}},"4.34.2":{"name":"@bechara/crux","version":"4.34.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.34.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"352ec478122db590a8d28769aa260711df98c5bb","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.34.2.tgz","fileCount":216,"integrity":"sha512-p9fWFC6/K7GBcemNjXP6Be1rTBRcL7CQXGzFsc1ogzbxMb1lw+OFj10xfmItOKglJSvi0OquobYIlEpYWHrNNg==","signatures":[{"sig":"MEUCIG8ujhe/JEVgUi+5jBJVcJH2Vhk3+Azk4pC0hkVWn8v3AiEA3uFaRAL6QYHRxvBSZhID1+cY55yvu0cW7+W762bRQPM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":478742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjeRnrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRSQ/+JpT7fuXee3CBYHCW4ZnQ+kTCpF+rK50iEe3TpRvjjVK4Sx5B\r\no3jDWjAEXyFGa5F9Fp4b3AyiOqPClvhRnubahuZvusrBwvXuDxOA0/9i1+Ow\r\nCKrzpw/N5VGKDNqTNW0XK5MN6y/hE9bSz1W3oN9+PbIh/UcXmoupj5difLeV\r\n40x3psBS58tqhK5KxofZwfmcrEJhLaNiQgRlKzw0rk0ypevBq3hpawK6OkuD\r\nC5ji/K37n8nv71bVygVWdK+o0ztp6wfrvBIEYLAGPaydTyx9ZKosgXdccxcN\r\n9TeyUn7SZY38kkTIgqkU7Peljtee9ufjz4HFekSbVvKanBpr7ABovACVtMZm\r\niMjeeg7TXDEem8onYR916bMqTu9y3feHJzlexdriNku+DcVLFAeR35+m1tWz\r\n7aKJ8SDoX3uE+0BmmpRZhzsFxEujNDYM5RV+55EDCQ7WnkOUFzAkkiQb9W19\r\nrrxqDDoDMWc+WPnic8G7vLxA5JJ/1YJB7YrNU6yGkyEkjjE/dKEDzNuFr179\r\npM5y8ykHLd3bYODOZ6mICuTln1QGZxTw7rGoo7VI0nT9cw4EL/Nc6Zc7lGyA\r\nbtLkqWtSriAzTyjW44luauFo8FPPsUdFfzdav02pXBKojeW09AJ4DL+fv0cl\r\n5enIDsQjmqZp8ezFRAPFVKFViGlfV35A5PI=\r\n=TVWz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"73c790ee5d0dfb3b5b07ed24943ef9ce08047bac","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.34.2_1668880875448_0.26374404839155474","host":"s3://npm-registry-packages"}},"4.35.0":{"name":"@bechara/crux","version":"4.35.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.35.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"e606b050bc6d7dfb7adf0217eb0780c25e5579ed","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.35.0.tgz","fileCount":216,"integrity":"sha512-bkdcLD1Rj1suZIIZwofSAYirpYFvbc34EtUGoR1yQGuLvDv+GYouN5Pp66uLkU1BFmg6qVoPeIEDHm4ZQqZZVA==","signatures":[{"sig":"MEYCIQCnG8CSYLcEvafUNxVGMSoIDz9erNlejqqtr91vyB934gIhAOf2hRTgl3Ud2UjvbR/pQaleB/dtK8Ul8L++KsEJecV6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":480507,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjf1OKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpldQ//TywL4pKjeRpxFZ3HVqBw3EjIDll7IyEmYc5W4msFDtrSZd9k\r\n34ttzf3oQR5KoPStp2C7jtBmRRGM/3voNXpGtDXGL3XVptxPQRjvMdJSlhy2\r\nQMJHqEZDNUxOjAGPajkak0mmQUph+9YdcipevzxRP4sehjc+6dTrUrXCjHas\r\nqTrlZmeDetNQNxPEW4677o2p4Z6hFHmkKOfYrxSWNCquHsn5/RacdpSSw4cL\r\naOOehzmkhQmgs0TFnkt3GUwmbIb8k17H2LeeJGP/f8WM15n90/7phDGCzNag\r\nV7CknfUah55RJ17XwdNSHzRCLSfF0OLWT4hfUDaGAxKdTE2TSZE2aAFmcINL\r\nTKzALKUy7gmO8glxRydGmGawHfATqulo/XayHOdCMS6WS0g3C4l4g+lteFaX\r\nyPbBvC4yX5Tfn7NDXFUSUO7hvXj60qAvtsMGYENcWChljpVfdTPjLm8kBDf7\r\nqS5KfvPCYDjHs4IXAiH+IgH0p1jIX0GaHXTMjL1sA1JRZ6K0gjzmLZpMPaPW\r\nb+Z8a8Q7Fg0wgdorfQsv4u+JY65JdHq2TlmcqP3hx2a4b6esnLoIMN1ubAmX\r\nX0V8ebSAON1GaJDsXCI1bqSn6EeNP+XpJLKhkyLRTE3R2vmstraEfu6zgIZV\r\n3Ma/2YufNg+JQ5/7Tm5lMNRWFoJiv5Ez2hA=\r\n=5U2+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"de4bacf96fc22cda1581217f5422137b64853105","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.1","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.35.0_1669288842322_0.42138975062367257","host":"s3://npm-registry-packages"}},"4.35.1":{"name":"@bechara/crux","version":"4.35.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.35.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"4b81ad959babf60af9926e010d7b7c54e1f641a3","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.35.1.tgz","fileCount":216,"integrity":"sha512-9TJqDcwdRjwxl70s4c1clQWzZroxDnFsY/oDOrVBWZoSSBrHDTdGOM4+z8tkASglfK7Z977xmX5c72nIVJUQMA==","signatures":[{"sig":"MEUCIQCtViZnR5lVectn1LsiFQ8ZtYxQkYLZSabF0uBwia3ZpgIgfJLFFAQwe+fNzwWVOr6kJtZ0s+QNNaT1ahEXcM51eE8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":480509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiUQDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokWhAAoHdL34qrGLvr2+GCQcCxxr1fMcGMVdhXyeIxJoE7K8wF2h3r\r\nXS7aZ6t4mHdHWm3yBq6Iim6BmLRO6WdiwSNIhj7ShWEvLf0MWl00UdDjoWec\r\niBcenSbRt5J6f53NdwvQH7l/Qj/xDnwbhkl0Mdw4PFmUXt3UiXNOl3A5D9rc\r\ncTb74yxguX1Ie2Vrln/11mIppKcMqMJ6mSDTQg9UFsIyS5rP2DmPlQCm/ral\r\n0DrlxjBoHWF9/3FR0p30ySy+Nf+VraqHJr++7FgTALE95i3AMBYoDR/zIFzw\r\nI6HE3hpbCv9JvdF1AtPPETQ6scuyUafZmwgJx/h9eO6C3K32TcqfDfMHWOq1\r\nPyWp9n5i6n4VEt6HI1Y4G7y2ZyIKWtlc9zwu1E0ZKySBCinhDeliv1V9Awqm\r\n0ugnuM8F8SvoLdS00C/LNvT/Dg3ptzW5nbD4l8gALNzSREYMJfKiGnIiSlIy\r\n8cv/EnfC2aasjZ8fiUjdaJ/OgYMXyB0zK/SgSDWn3h0wWv3DLRe71yWb8+Tn\r\nOuOTAhod+vvqg1Q4SO+42UT/0aTcmXGrLL7rOeiBwWIoDF5pZ3xufLG13ARl\r\nfc5m+Yw7VdqjrfRh3VHbmfc6ToEa9JAS4xSfoq6B0MkSIJYUPuGZfDQIZFRy\r\nqjHJahRkkKANYH/lwYaqs7ql31oABAmT+H0=\r\n=gOog\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"6ac296485e2cd98f9205241fc691230f6c45f807","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.1","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.35.1_1669940226863_0.10637161125364214","host":"s3://npm-registry-packages"}},"4.35.2":{"name":"@bechara/crux","version":"4.35.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.35.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"7b69711cc7ae80ab91a115666158dc965a353278","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.35.2.tgz","fileCount":216,"integrity":"sha512-On8AnJf7PUIlDr9cU+BD/sxf/djbfh69/x11miRv4//kshyUPQgl6/qj10PBujHyL2ENjGLGQzhSiSxPmBCHPw==","signatures":[{"sig":"MEQCIFexTgXU0xAxVzbfWlWOUcQBt1pziYfzg30XtCCMPH33AiB+PxCGITb7KbzRYAFsrQGtHin1fECv2U2tAi/v5PH3pg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":481691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkQosACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrfhA//f6a/q+85DZSsx51fzteHEC3sr4DM6hU8uWZ8j3ci/A91i456\r\nqUwadUAQVfTNHKxDhMW5fWd/fwhPv1t+ZBsqOAOrH5YqBV9BwRrbOAYeTGhf\r\nAV0le4B8NUfKu1JenWKF2Xv3PG3bY34KbEC3sTa+x6mtVbk+47O/uOece4Mc\r\nmm6txjF2qQNfG9c04do8oJyvtDMNcTBnYFUsskLbVt/IKm9ErDoXVjQNhi2g\r\nfzZ4Qrfw8k7QEecyqPlruAbXkwaPOu0NpOr2TP8egZ9XcOIuHdEBhwUYytG9\r\nW1MX2Aqn2PnqxTjOuh//4jgxsgjcIqSNR3n8akt9x8p/CAkZ+HwbIlfGyybq\r\nO8v2KC5D9P5GvDXn9ZF7Tixug5qqcWOdp61yw5ejorN78Ygu64IStgkR3zRB\r\nPrTTN7knYro13DhXpeJs++gEKYx12HqGmJC6rEiD5Rw2K+mSrvLS5wpUzGQ1\r\nxY/il/NL32agEPWt2vNPfTWSX4tM8K7qN8c+eWIlaGRJz1umjJ7hqY3nFN51\r\nPG4bVtbfWKSC/1YkxS26LcLKl4MJBxdFpwrYNoqg3pCEh7YN+WRfSN2VhzP5\r\n++lceoG76duYiSm6N2bMfkDEuhT1Jrta4dBP1Ls7s3fpA3FUFF2q9VfxDA7h\r\nxsgFRCA549hk0XtEyXjulF/hNfAlEuZEwmU=\r\n=N1OL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"8f9f2e16be8fc4849bb616f84dc75f1d34c96419","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.1","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.5.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.5.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.5.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.35.2_1670449708559_0.6633711289129245","host":"s3://npm-registry-packages"}},"4.35.3":{"name":"@bechara/crux","version":"4.35.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.35.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"8b63e356edc45772af7d7556d48bdd414ba82a55","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.35.3.tgz","fileCount":216,"integrity":"sha512-2UzF7K4ywl5k0lmbUejcH7E/omT9KuxJ3CWhWnaGdA7IpyVogHBvp0joXCucMWAC0ARWPM3TXqiiuqpgp6lKPw==","signatures":[{"sig":"MEYCIQCHoTKN4f/N4+o7ZeRW+wj2EUnQektraHIg35tq38mDrwIhANVxU2OJ1O6hbIx5AjBUgysOwrmOJc98OjVm0uNzcvv5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmirFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMYA/+LFO2NJeVVjegZplMSRyfwUdIE52cv2SvmczP/bl453F+p/od\r\nJaKp7ZpjZeP6YbQPSXZBRFpJigjTB8ZkNdaJJMQRV2RemNKcExZKEGl43xCi\r\n2JMY206K5Ry5FHPbKw1Z44blcqEPeKUS6j4we882TRk92qpPRDfhLa8JyH6Y\r\n+/OOe3jqw4Pcsc2VyhLKcs8TzlpwEzPf7A33XSb48ByEZ2FzcLVutRIYrzaF\r\nk5wxvHce36IcFaBiwgsAbqy1kCAwW2T5Nc73Mgck6cmL1lc2k2ySvpahNG0k\r\nKFFeVOuCc8nt5InRbv4JZJn0h8PEAkQQA6NF2lShnw/spShKOojOtMU1vAbG\r\nZ3b1WsAMJlSFor6B8CG2G8KtsRtA7hH5X5KqOl9cjXvkOefZqrx7kEDrMV2d\r\nNB53SlUgK57RLYptoWq0b8cMHD34mBgEnvPd5b9H5zuwYeMenHOxi4giYp4V\r\nvPXsNWY+KxE3L4t2yoenIPOrshWgdXvWc3nMif6GrpYDoSBsMTaLyEJidbDz\r\n6eipTrJ810VLP0yKfx7aQlHn5N3CmEcJspfJoftqvgdYBs8tEIFvNLOnl8YF\r\nLh+IR0b0yTH7dEyooBnDE0/tXdhdW3u4eZQWwv+XzqjLv6tjZP/RF9pYEUAV\r\n+8K5SRSsM93I3mw9iwvyXjTSBiZ2B+Q9BaM=\r\n=ekb4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"eeae944813ed0b4d75d60c2c445ee411d7b78569","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.1","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.35.3_1671047877174_0.42841769632057747","host":"s3://npm-registry-packages"}},"4.36.0":{"name":"@bechara/crux","version":"4.36.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"14bcb267b6c1e5c72fd54f2bfa172957c08d91a5","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.0.tgz","fileCount":216,"integrity":"sha512-7xpBBpgkSHuputQoyr/d4kj226B9OF1Tdo46nIqOKRl5y3qi8OcLFyb16E4Xt2qiqnR8yUri2QhC2gnF+g9upg==","signatures":[{"sig":"MEUCIEshfPaMdzQXepk0w61+bZgVQIgI2wVWA5Hm1PXqeze1AiEAlQJDzMaLaPvhDIaSG9lTNKncDVcok5Qr24L6ufV6qUI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":485122,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjoOBlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqt8BAAnVjEx6ac1SzQlc0D/FsPOQKCRp80jbAfFiVrNKwrMtKVxB5v\r\niw2nJ+shR9kY5aAbpU1RkcufEbdeys2PsNoBbbOCGHRshM8Vq6+S8azLbMuQ\r\n/hkY2HDyisgXdCm93htHgfunOah13Rvpfsz8JSCo6QHOHjK/LtaBKY1MFwER\r\nC9krVL3w70sgPFxYEQoYGPnlackRABZcesj2yMEZ0zKAA4OqJPHJ/KX+Vgv2\r\nGOBftQjMJfTgK2WPD8N5rgPRFbGkmCu4kW4AqxHiRvVOThclfSoeaxuByQn3\r\nha0bzFAWNOScs12z5D6PX3ebJkw5AipKwxmh0aqS9nJdEce95o+fWfGTtM+H\r\nb0tp+7LpUl+0Vkk/+psJ4Ttvq2T7WWE7LbJ18iMncaGzikYw1qffb+6QepDY\r\n/3w8U4MeTxQOtSPn8QaHJKelmvmPY4a6xw7ETJtchGWCors7tpI1to1tSEbU\r\np4xauezTjJLTTygUT0asPqYDRwsZB4VhzwzuYKsez/8ilREz65dZOcGgycPC\r\nYW45JAk0Rg7Gn3p9x+Ul9ndyCjmUC5WfHrAEYlwWsKn7Pp4NXDuCClJa0IOg\r\njEbdyi1WWCzQaTf4Hv0IDg70aQawcfknR/WtHlar3YGohVFC9eFtRawpeHoO\r\ncBBfLQsf7Ca8Wv3mHvG0MvDbNGhv6bxhe80=\r\n=kLe7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"d334706d6c9582546d8492d5709561d4a78f361b","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"8.19.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"16.18.1","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.0_1671487589718_0.09526725903430822","host":"s3://npm-registry-packages"}},"4.36.1":{"name":"@bechara/crux","version":"4.36.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"3623c3a5ac8632db26f21eb75e44a85e33d13ad1","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.1.tgz","fileCount":216,"integrity":"sha512-BXjPMqfbUoZu6OxJtsOLaXocI2FxTAGPhscaMYDyxsZVTq6qdC4vvHk/m2vYDcsxJrYp7AUM4d3l0bIRHNdmBw==","signatures":[{"sig":"MEUCIQCDgM+QE/YboNFubLFk6JxC0HvGGd6Mzc5265dLRjrEdAIgKaSr/PGuMGQzEbZy8YmGh8vxoY7xl1DHSPuNxTVx+AQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":485272,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD8m7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6HBAAiAIuSa0hGiPOX7UKNPoQI0aDZG+ty8kK8ex2JDoeNqSspOCW\r\niPC8zqqn+LV2hWORyYridBHSEq+cMprQixzN0HK2WE3pqSvziU2itrNGdnwr\r\nzl3vGAmZkYdWZhhgfwXYtIhj/pRaPxSr2ZwYJvV4YWtRA3Nf1B0dYj5i0TlI\r\ndzmvRN9XXRZe1jrmIiO+oBSsaaf1lhggu3Y/87aYRmdF/oCnAM6OZOG/64X0\r\nP0irqa1Dcgi7t5NBUF0tPc24AB9YcKhsIBVZmMPQJxGPUpcOx4CACDXXVPc7\r\n8gtL44+CJ1Oo6rK1srTDkJH0elTSPgt1XlQZbP4Z59MjcJN3AH7DIc2oz43s\r\nzQVjh8ujGFlJOBCbihVHZvTK7GfI6AL5FHtOgIRlMj7RJ/k6fwhM0Wx5k16r\r\nyKstF2BSxc5OpOxZdfJnD8zdrJWJ3RXpQXeG/GGjqAy324rW6YGCXmpGnME3\r\no29SpXm8QsxCLQibTeQCAQ1lTXOH5FqMBZK2ePz70sJ3SQO0PcwyAnrqhTMW\r\nzL83JCJnzAU148wFjTgRodSryUrculfur8Rrie3Q049eFnYbvd3NHSQxLhmJ\r\n8F1CCL18DxpHfGoYoh+MxvXRIfSD8OhABZ5u9SHHBP6xgE3rLtfuKtzZ6iqG\r\nmZDDnDhqvYADIIKBfzt62Kyft6ZpVpZH/X0=\r\n=iPUl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a91f28d5ea8ad784f15595b7480e7f0eff119b02","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.14.2","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.1_1678756283620_0.8230606041590856","host":"s3://npm-registry-packages"}},"4.36.2":{"name":"@bechara/crux","version":"4.36.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"dafe1c8d0ba5bf33099e9b24262b74129542603b","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.2.tgz","fileCount":216,"integrity":"sha512-nsuPC77ZY6uo/cVbRT0wQAFs2JrwI8UIYLEqdafY5fPaKzqMWYh+vTsaS8IS3tVIDCnq89xxZ/a2Ix/g0ldBYw==","signatures":[{"sig":"MEYCIQCUIaDNUPFEGAI/KMjZjx9YOoAdiScb2bQ04ARgxDXjQwIhAN5YAvlLYGGCtVEJHAE9C0DIlLuZaBIOAQhPAwDc1BUq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":484772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD9k8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3XQ//XSGObjyOpUci7IfB0+NVw7xuk6mrC7z44eUdL1kbTNp7rF0q\r\nvpTIaAehWqjVM3uISkNj9Qx89OA3QSVoY5LIP1i7L3Hhy2NExHkvXhL9BGRv\r\nSEFb1HXvQg/QncNbvk2cSlQJXvgTTMbjUL9pIJyZB45S0AOHUG/HURtV2HXm\r\nXL0zeThVahZCgiLj9+8g5AdfMSGF6dVNBIDh2AdpsZ0rMdwwR/7XtpUGgoAJ\r\n2yqkhapLAn0a9z3EWVWScXJZekHhzTrCwtbv8hl4uuvpJTa1B9N4wpHfxvK/\r\nzPh7/ZSK8JP9l6quVIuFDpQvj8+OswGDkke06yWY5ITtMGxFsCDmhdsyUDvV\r\nPI+au8PWE+BvoDc+cvRSsWXdjl3LzedCFXznxa4wxjnotM4OoQlXUTzBvxix\r\nwTtXeA5+ykAKb6zPgo7mBEwLMpGywncEX11mkrNDe5GdPU9DplSm0Blnkv37\r\ngG64joidkGv7avbHVbw43loijbHyoNYAsUHMH5HmaKjT5VveMuJg/knWZAYR\r\nSpvsME/+UnGV/lqvj6Lxu5LeNM9Xda5QqmgyNX8y7DO09Iuh7ESGKRbPs5fB\r\nTR/wulNF7NgRdY9V7uHxsSLWupfGwe+ZT8VOka9GyIPkXMHfFNtuo0xDLBOE\r\nHvQ+gkPgtuZFStjiPwJsijGRza4Hz+NB7LQ=\r\n=XWtZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"f421a5922693d0ef06bc044f37f27ee76196b505","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.14.2","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.2_1678760251860_0.4632532370178384","host":"s3://npm-registry-packages"}},"4.36.3":{"name":"@bechara/crux","version":"4.36.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"bac6c260219fac7a13a923ede07f17e9beb0b4d1","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.3.tgz","fileCount":216,"integrity":"sha512-0qyxUPxpyFDSqCXaJX8D25/a6js8ko+1DX9/NYHyp0fGD4paR49uRMqVelimWhzoDKqC94B0ifysgKprpM3/bg==","signatures":[{"sig":"MEQCIHadpT4mutONpw0kG5HjEtzq2igCwvUHKKJd9BwbkWfwAiA8A7+8UH3Q7/JmD47NlTFJSdvHIwOy5QvCtXXonVhLvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":484749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD9vjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoILQ/+OJslscsFcv3HyqK+vjY8kknSiDrAjx6XWilM6Ohhg/zNi031\r\nIrQ1QK0dWzxzKdWdluvzsHhpoZNNSXh4NYvW+tgaPbe9k01zSmJc4mLTW+49\r\nH+p0FoidLgz5ItETJ1U3locuOgBZtMSa4QrZnciezlG1jG+jPtTkzj/ShUdl\r\nHJTIIhQ78tmkZgAjfhNFWEhvAVTsL466jS7tugvzsI0+EuTpYFVFY/IxDQJR\r\nkvORRx9VVh/IpMGh9zvOj7dTlDiyZ1Cj/bRo8VBFXWSdm2l4JCQ86nYlKxEY\r\n8t6kT2m1Jue4gzJL2bceUrWDL8UAhlMtBiTsVA4PEQ27TciUNRCW4L176cXa\r\nVMsPO3k00Tm8vbiL9+js8YNCVyV/xPvMXMHBLlSLEImtedO4a8mJWnnLWpQf\r\njzj87lGMyC0t8xxiQ/jrXKF4T/6rOI8pCQgArHkhL6ZdqE3oqp7X48z9+y0l\r\nAwCpTAVEBjtf77OHxIgJkUt0xegqeUcIfNSL3Fn/4X7tYncJXy1J/QAZ3xnw\r\no6ZC0ShxGBHgDatjwelCJoibpjD2ADMKBH7PjHl3Hrdks6iVbwURUsEhDlyU\r\nfSCblKY+Z1DJdStNr90jzY9I6tAV6TzJNfhIvM3r43UZSX5WL61JVKqgIrwD\r\n3M7chfSK8bFJ3DtNfiQmZRWCW8ZDFMOJipE=\r\n=iCF3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"7b44e8cbc044ebfacb63786b7109315af2396716","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.14.2","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.3_1678760930901_0.2985482370398762","host":"s3://npm-registry-packages"}},"4.36.4":{"name":"@bechara/crux","version":"4.36.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"179779f676f4118f3d54c1f79e82f5d26929a393","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.4.tgz","fileCount":216,"integrity":"sha512-WC66PjLBKf9zrRrnzJSJ52uMHQcbniC9WarQOY5cYcNXPAyNe+NchuhhIZLVejpx7zu70f4/DW3YP6CBuTomfQ==","signatures":[{"sig":"MEYCIQDJesSyQXH8LOPFHZDJjR76p7FgxkdV8waN7QsfyjBFOQIhAIm8wnN5Hc80P7bGqtoXSuvZdfU80MKjb86TscPWGISF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":484798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkD+ACACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlfA//dC8zTu4haNWKm0l7HM9SwrNzAO5pJ9fHiE9TbuuRb0yvOsOQ\r\nY2zQG6X92SHC3vTHAe5ocL8ph0LsrronbDLHxOXJbqj4E45dvnFuIkIhPX8X\r\nTQg5pz6e93Bvt4rCh1mnXhbEvEdJHs4yuRJUE2DeHlAgwRxZeltIF4ZvW8ek\r\n+5wHXGxQz8GBbKksuCn6rZ0s5QdNVNDmz8TIR5BkSX0Ujd/zkgcPnrW9PMQt\r\nra7RqWrQiEqir8oZXBBdLxg/5m+7RQpw5d+YtEvB96aguuK8O+ky9z7gWWo8\r\nEQgwVOHaZmm7be28O/zk4OfsNPsq6nUNfy9hmFA0PP9XBWvyqKn0MqraGIQC\r\nd4eTG8Vb+WgxIwJ6AX2xTJtxrbTZGcSm/punv07MVtC/f7vPXZwf6b41N3y6\r\nFjCm8BrPiEQxZgCBAYeuj9VwWxYnEwsQtr7eFhCjVZAAeZbiNCqscjATvdH9\r\nOhsDzxTqSB95npx1a+hGddqkZSs3rM6vt/6CIC3T/dXSiPVdbiAWTaxvTDNF\r\nRS5h/gXlKfQOi7/E6gGRNSxyq7c/xcjCbKXykhFgU6f3BSZu9H2PdEwpflv9\r\nfsg/HvGprxS0BI+YzoXyk+LLXOjPaLH9/VQwJ78ZMxnl5kMS3fgkLgDD2nrM\r\npaF0JgO2MktWW9MUglYnd1h0KZ2EkVp5DfA=\r\n=fp50\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"91a0a1e67f2d277877e163b54c37313fc699b37f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.14.2","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.4_1678761986535_0.1538369740907899","host":"s3://npm-registry-packages"}},"4.36.5":{"name":"@bechara/crux","version":"4.36.5","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.5","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"ce648751fd982baaaec2c55ed63678ffb0be1f0a","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.5.tgz","fileCount":216,"integrity":"sha512-hcJP2ZGR5BqTVkV8AGp6S2rjm5tuUl3pQWR3U53qLWUmCSyyhRmV+f7Lt0y3RQ0qWnHxzt1W9PkOQQCpcoc1RA==","signatures":[{"sig":"MEUCICo6aBcFBTnoOEQjiRJxM0CoAc4D0YiToBolE1hOrAJZAiEA0rGjH1A2aPRNL8RfJrGq5uxjIRit14pBq4FG2B+/EIA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":485269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFSD3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7BA//dUkJUE8ZqT5lVXKfXEb8WC3lscRTeAe1MDKUIaMtyEv7Qzju\r\nYMjMDN4MhM6jMhpy7vcHCnFpXvTZcJVqT5BOl9f1q0JhJ4Py3JjuqLwfNEU/\r\nHwgQeNA8N7LF8R12Ulr0Ed5tNMVzFkctQTIEBo6nCFpJ5cdOAyiPVzDBcD7I\r\nRMvbhK5avy5bna4Cvvu3flcoRyFpgq6pUW/6OI53bpzfuz4oZgfhCDzdW6Zn\r\n/51UjdTPlbtN7Fs6YP9tR2pIJkSnBUeBhsIqG5pZJ5atB38P4kRlV0BFLh4r\r\nlPYxloI4mVNZBIXcgPHNbuayfH8ItIf69S6UTls5GG6Z7+bu8ZcPwHx8qfGm\r\nGbBCPmrrrVJXcM3+Up2QZOku3LGEnLM2QwK/v9GQ5WbdLK5xe6JAWqaLo5LI\r\nRGOu54RxTQ1E9rsmBqu47kPLnH9u1ZJlf70bMWKMmdCPmnrmmHQ8FGF9asfP\r\nBsWTjZw0TjiHX8+15HjD0ZuJ2TCw+8nH6oxPp/TZEzusVAKfjH1igFUNqQKr\r\nirWibA9cYlO0XUmH9/UfMjQDwnpDxd/4LrOQfjhA1HXN8WvZ+5TA4G4Pr3wF\r\n+wXHiknO77xV6/327sCHqJwdGEl7l2tlJ3IxL+XD6NZsyaFOJOAZnBpiIqfC\r\nnQ9QEdwGEWSwHdiNj+sUR3huN9daEk+2nPQ=\r\n=YiyK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"8a2195672b14ee2585f13d9b0b8ad6a6541216f5","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.15.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.5_1679106294944_0.1441889144621482","host":"s3://npm-registry-packages"}},"4.36.6":{"name":"@bechara/crux","version":"4.36.6","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.6","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"224b35940f96c26f8c3c5cfeaf8f9097c579d8e0","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.6.tgz","fileCount":216,"integrity":"sha512-BIAKK6vwsxVUG35vdqyyOpH+hvlxs8Wrugt/abR1U7vxrp8a7ZCwQ2dR0CUbZcTdtODCk2bsvmciU9GS1yzc/Q==","signatures":[{"sig":"MEQCIGWouABnGy3j0xNtswn1jcxoYuKvsOLHRBDi5h54sKltAiBuirum49SdXhPm7tcpKwxmM4oB+XQj8Quq7AIglG6uEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":485268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFSKNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqZyBAAjHODZhCqjcUe/upxvYH34A+TmvqTJlhisneQuXXTicWBE8Sj\r\nXYYDz/OwPi0IDTZcWXA1izGuQZGcgp/dHKDyEzJ+TqacFrSoPxAivDahglpd\r\nERNOSOYErbA+6wKOn9YtxsgRd+gI2QgSc0DNrS0T3Ao5jISujxBHzGywIQG/\r\nwaZw7E6lTKCCbPjsaikyXaVqzZcfCFHYD39WYkReLg5fI+FHlmrVAdOO1I21\r\nuKShk+x4LhI3Mj6U8QqvBa+Mq5+od0UeMO7yUdwrYW3n8HpbAOjkixDJXgDK\r\n1Wi3BW/oGO/gpwwyjzYA3v3Fk8/wWdAMEDFzH8Tr/0CuO/iS+cybJ1vATN8q\r\nu/OlNoE1rKZ2gXVR/3B37g97PxLsYWy8Yj3q4CMeBQBBVAm5j7zb2+sa482L\r\nB40UE//HpQbsaWV1kIcpwn7fFD5S9PzS3spi7WiNysmeAdaIE7bmx9VKCU1p\r\nZnJ1LdQCbIedUQ5iKiVa9zoHve/G0E4oszFb/dgy9b/8Ak2LtdbEwfvz00d9\r\nrPByANrkf+X/Isy4nuvdLgv+BqKGTDPI9vLs5lQWAf8BzJ4M5cIDntdzhNkF\r\n7ZnpogOSG45Drpvu64VVam0euAu4q/69402DCyiefSH3zMLRw+CFlQyKXy8x\r\nAAZ8qaIJHPjzyVPUpSbX3YbILDt7Dj/KkK0=\r\n=tNYw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"5ed29fc5074bdf1b522641f4f19d642450b6393c","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.15.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.6_1679106701569_0.9246250978877733","host":"s3://npm-registry-packages"}},"4.36.7":{"name":"@bechara/crux","version":"4.36.7","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.7","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"c0cec49ba9227df2e1b7b6950f1ab41c546aa00c","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.7.tgz","fileCount":216,"integrity":"sha512-iAp8hLtZjlaIJtcTUMoPW2G0l2U8T/agsB04MCXe3JbpKGfvt4DHSrCwttLTerJ5+DDnVT4VNGaqGT4WtgMC/w==","signatures":[{"sig":"MEUCIGzJTJEZdxucztSrYbjwRnDFTAMYj/nQvD52UdOhOrsVAiEApTVCCy8nWJ7gq1b2FGNWj43FnS+vGrjwy5wKoUH1dEI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":485315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkH8AGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSNA/+NptUPffZVM2PdZeH3B+e10P3IhyxPJVmz8KtEBzrOCwWJgFj\r\nP4p38X/kEPrQhL9m7Wnl41iMXbcf7yCr1EMyKjECIsQ19wXlj3VeeweJ63vC\r\nkVdi04jFrk4gZ8KbT0CM6+wW2y4gykTO/9HBdFY4/QKuGdfWDVMcycQWncP9\r\npaT06Kl4QGcAO/yYjxXNYm9frbAk57Zf+57Js8hRULaqX1pRTgwKDh4oL+ad\r\nUdAhaijj6RQFrGGGIuX1Ss3NPrecjljgs6ckCGwhEt2WIpNJOvaBFoUenG7e\r\n8O06vZ2Zdpf/ZBFA/M3JYjFl+ApGzYGIiaL8VUxGm9F1JeabjJBf1btLeQZo\r\nqV6QjKbUR2vfeyWj8L0r9PE68D++5RgwkeOVTadDqGq04CL+7vtMCj/xslET\r\nY12owMscjfrcOLwZhwNi67kY5grNntsnMjTcHGUrINw3kHuOKBjdtKUtlwui\r\n2Vj46VuRd+AlkX622RNpyMtJNNgL+ZlGuCeJ7i66J3gKlwFiSTZmh6VLIoLG\r\nDMZxpOF1q+ld5My7IZzYUGgpJQLLKb6FDaCQb9utmzVlVg++A0leBeKS2lH0\r\nuXuoTOcugm9Nsq5e068FVTPCogqtFVdCTwlfjbt2QN/AgwuU4us8yb8ZlndD\r\nXSymKGJJAYdGp7OeOY4P2O+ZMAZAHb9ocnI=\r\n=+00N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"80a14354389f2ece1bac40696e4eea8bde3acae6","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.15.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.7_1679802374664_0.041991987565352495","host":"s3://npm-registry-packages"}},"4.36.8":{"name":"@bechara/crux","version":"4.36.8","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.8","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"a89a63b4ea428bdacc06f903f62439f233c7ec0c","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.8.tgz","fileCount":216,"integrity":"sha512-4bf9l8yYyqWUkGy0evJBg1kdIo1MkxcsPERaZe1mrDea9XSQpfM30Zy2XtsJDCAyu5pUPH6v2EKd/hbmH21OWA==","signatures":[{"sig":"MEQCICaxAE4eZWvwfwciq5RNC10lihEPBRpnj0eyWF6mbvCkAiAMX8CdwBb0Vn3P183w4wJzHUPQIHFkRmcBTbLzb2AcBg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":487657,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJEDVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpqzw//UiEZByODzt9mPzU3fsTE6jdXwp3kwUE8RMdnNX/QjqR9WKxI\r\nDV3vS3ax2sl5jJtxMS7SKL0IJFtSHzlaSpFMhF8zMiIgafUB6vhvRL+Nho5y\r\nhrYjc5+i2qBgQlwgR4xOc7DpG78sA3H4KNO5KkOSmKn42OAAbkMIEiZUkZhI\r\n859Si5RYQn6oKErghfHGbVMMtdIGNbWdZMxrsPLUQoWJpiRZWAOuZkxIt5cO\r\nCL0LdTCCPGXCUZnIupwA9kc6w9Fy9CV8qmWdJ7NYwE8QXvHPJ56nfL+Eg76E\r\nxYNYbDnnzyLhKoFrY0KVNsOs573rgyWWg1iw45n57lME/3X16jisSwBbYDuT\r\nRbtrG43H+sA6dOXd3y/xg9KvViotKOhkAxs4IZSnA5G8D2CmpsZMHEhmDhCP\r\nqatijAp1/NfL6gkU4WcqiVFpJKTDfJZwEr40TzGSnnxtw42AwSud1PHraSFt\r\nLp6CZbUcMHCsuc6tk2aHRnl1MJQcH5L++UDhcc8dwzLQ7mzyDv7aaOxNVcUT\r\nhE5TBeuV82gOBmYSMJaoEnKQCvp2nX4dX/ANozYbWF1XUlRInWFHoj6QZWcp\r\niPov4DMpdQ1Nvgc2bf9/ItBleZtGSp6IAjx5WT12QJ79c5eF6mbjDNopvIp5\r\nDPfTMVUVy00yfa8O5N/bLrDD3PAKlTXzlgQ=\r\n=9cpB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"37b16d09147e8f7ad6b867eff024aded40643a81","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.15.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.8_1680097493544_0.4618286386360382","host":"s3://npm-registry-packages"}},"4.36.9":{"name":"@bechara/crux","version":"4.36.9","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.9","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"91258f93661d4f4fd6ef43ab51e1a5e5f76ebe31","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.9.tgz","fileCount":216,"integrity":"sha512-hxgVGYSbFIEhBByMOmwPJ7tZZLlAAxH+utxgfowcyFNZizkYx6TAitSIwEyRJ5/3r/oIU2JKDMwae6AjNOrUCw==","signatures":[{"sig":"MEYCIQCeBhA3oWfFibOZ6UZ4sIOtHwEOTKe1/2LqOvUlOIK9KAIhAMENjuofEC7wViBA60pLVX759U37ttaM9EdHcUNiieci","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":487677,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPbyoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmocpA/8DTD6YyMNvnzSPO1/7Xw+QYyI9NjP9H4ZLbAJCGFjkdjFpggH\r\nTRBmyx9YbRjdWMTNVmzCUfsvC1pV8bx57PAmQaE2wgzZyRh9XzIucixwTY2t\r\n8t34JWG2O1cMSX712hhDMX1f9Vvd1+dQ9h7ecWWeP+RUhdEC+xpRFARo+im7\r\nGu1Mhlhq8HKaOVacwiIAtEa1k9K8oRFQFisuekPJ2kyrrVO5dzsJvnOSWi0u\r\nMR3Z9/ZMfAc/pfS9Anrs/uyWCv5bqvmksDVuztow0+W9U4E2ekdZqypWYbqj\r\ntQtQHUGNTVzz7ipwlfAFkWFaPAVDCo0KtbaLXmUrQllHfJc61+0TVdsaHiiR\r\nJwBUorObh4iccgTGqzFlMvPRZsJuITvHtKXjKcKyMuowgHjbXBoNXNaOJmzW\r\n8Th+U/olnwDsunhNKjVaY6yyAJvT3yVAaYmHjrCjrlTqW+AcTtHmwA1NQqcv\r\n3IQKNCrCZlrLB3c5qOJq7s3DUpQx9qcVwYQIapw2Dig/gUH+j8a4cy22NCz6\r\n30kVAy3g1jzExxiRrMMa7RGyYYSle2zmC2LIHRzm6muFa67CCNH9vpqFzeJE\r\nbixvgdEaaucbguU595i/n2GDYIyUNV+Qjx+tB5ciB4oFFKxK6d9rVJlLUNcD\r\nE17ncmz5lom6FITZmFBuiftxMpJzg4Jklts=\r\n=N4Ni\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"d0fd44bce5f60f66faef18d158dbca9353b66406","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.15.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.9_1681767591867_0.9073359115599875","host":"s3://npm-registry-packages"}},"4.36.10":{"name":"@bechara/crux","version":"4.36.10","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.10","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"6e93adbb8be1381e374fb50d63a33b1435209613","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.10.tgz","fileCount":216,"integrity":"sha512-RXBkqL94XPCPzBTZUequSoIHi/utFu21hr1sSLQwwohjXKtVh3DO2WDK/zbqcQ1EpupP/3Pm9/TXIBFbLBybWQ==","signatures":[{"sig":"MEQCIHxzotcPKeEc1A/5QsWlw0LoRGxBWTNH7rnJmNqkgTnsAiBQ3WnUlkUopRVbym5xaOw9voqLpWShffY1yOO7zOc7XQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":491226},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"affb7b074d250e222875b45bde5dcb9332ccd100","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.5.1","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.16.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.10_1684356372801_0.40751434640130446","host":"s3://npm-registry-packages"}},"4.36.11":{"name":"@bechara/crux","version":"4.36.11","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.11","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"ddd6b92c44a7d8596ee84919565c7785264825b3","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.11.tgz","fileCount":216,"integrity":"sha512-bajatdJSaFKJErAnbxGWXZKY+PBj3j8YVhuikmtF3nbpQhxVM7XxRTCD6HI/B+XXdigGSs1IaKUWyXbaosnD/w==","signatures":[{"sig":"MEUCIF9o/upGbrEi890viHB+ec2l9fqPAa/pny0pTFoaI0N3AiEAqd7BH4INsM9cSPYH26pTY1SL8RNW0Z/kwqIYcSn+gco=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":491093},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"ef01bd948aa91805379b1684db68f98905167c22","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.17.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.11_1692367045576_0.22730308829684676","host":"s3://npm-registry-packages"}},"4.36.12":{"name":"@bechara/crux","version":"4.36.12","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.12","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"83f13b0be1f8a21d0e24791dcb1e8a4ca7087b9a","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.12.tgz","fileCount":216,"integrity":"sha512-rNhDQLIpfsxPJU6ReSb6LEwo0O/qN+Zr18z08Ieoq52KzuJgjYHqDusnS6bCpF094Gn5mRhrVurXWPdjabBpLQ==","signatures":[{"sig":"MEYCIQD2OKwSxVZI+hXMaFb5RynvGjHSLujDOAHT8sQD9nKGCwIhAM4k9R5d4KFarv8t/OfDnUXBwggfTcF0XGQPIRMiSk0W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":491093},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"cd9a7bfcf677cd0a1da798eaabfc6fdd1c97aad8","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.17.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.12_1692416959623_0.9743203600928516","host":"s3://npm-registry-packages"}},"4.36.13":{"name":"@bechara/crux","version":"4.36.13","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.36.13","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"6349e820bac190a23be05ee4408b01884d5fc6c3","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.36.13.tgz","fileCount":216,"integrity":"sha512-HX607LyM1R4NMR4V8DHUovEqbjoT63o+tMmdQRDvJw0qGkRxzb8zmYmMnLmjqTiBz7X7eo1A6Qli2fd+zwkcdQ==","signatures":[{"sig":"MEQCIHwWcdHlb7e7vuNIVWnB0KPEE5LsPD/2wujlQXpd89l7AiA01jecoQfIO3ed0y/qfdZL8Bonjka7YIqUKM6dyiXj+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":491093},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"df7343d763f97fe48bba14abbe8906bf0244f9f8","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.17.0","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.36.13_1692419329892_0.9911701424938035","host":"s3://npm-registry-packages"}},"4.37.0":{"name":"@bechara/crux","version":"4.37.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.37.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"20f126d7cf6265ce080dcd6fefe52acf8e393754","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.37.0.tgz","fileCount":216,"integrity":"sha512-gbEPkoEmDHRtNPFL7uZNVcPQTKMdyaoo1i7SeC10Rsm1g6gRf8bO31MGzUU3DB2rhs67dPVnzFscBgEhUGaCiQ==","signatures":[{"sig":"MEQCIHsvECAvQctRJRZ/uRDdESqP+MCAHYvjYmBf3J5qhqCsAiAkw2sH21KWbXssL3lIZ1dmCsanDzcpJrEgyB/wFvDIzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":491396},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"5c692f6f4ec97b1c6e29d68383ce912e462db4c4","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.17.1","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.37.0_1692643446354_0.40353742599477793","host":"s3://npm-registry-packages"}},"4.37.1":{"name":"@bechara/crux","version":"4.37.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.37.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"8d24c6e18c1920a267f35ba27aa38ae2e9c3ace9","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.37.1.tgz","fileCount":216,"integrity":"sha512-JZ29YRItrKxy1KZMiKBAztymz2wW7703S94es+L2vqRO8e/6B7UkzDomu3G5vAPDVUXuh6dWTIon0n1lI6rrCQ==","signatures":[{"sig":"MEUCIHGtFdSfXxps4oZiHCDfIEe47XKM3wpRYwgNc/abLkOQAiEA611YOf8pxEYG8tblz1AO9hMv3jjPn9Dkhhf4pLG3uhI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":491390},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"ffc84e6b9bcb207ffa88ec919a50e245cdac18f9","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.17.1","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.37.1_1694086797433_0.839464349524043","host":"s3://npm-registry-packages"}},"4.37.2":{"name":"@bechara/crux","version":"4.37.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.37.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"4e53b364b4b80312dc662a185ea41de2fcc852df","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.37.2.tgz","fileCount":216,"integrity":"sha512-6dXneOng5WUwjIgNwz+J3mhFN544EWN6sdqbvl45wOg+76VRqsrrJZRnta7ZdQudE9tuR6yz+Zu3BvbeTm85zA==","signatures":[{"sig":"MEYCIQCw+v/zIA/1OdZHBDPUKso1gZ4h3dq9jIBMIC1wAsbvwQIhAIiKVbhG4uw+V0TAbxDZORQ4HadlUS/8/iCSq5zjtnS0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494233},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"695445f9b51fa0142c35496e0123521825905cf5","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki and Slack), metrics (Prometheus) and tracing (Tempo with OpenTeleme","directories":{},"_nodeVersion":"18.17.1","dependencies":{"got":"11.8.5","rxjs":"7.5.7","uuid":"9.0.0","cycle":"1.0.3","dotenv":"16.0.3","snappy":"7.2.1","ioredis":"5.2.3","fast-glob":"3.2.12","handlebars":"4.7.7","protobufjs":"7.1.2","httpsnippet":"2.0.0","prom-client":"14.1.0","@nestjs/core":"9.1.6","nestjs-redoc":"2.2.2","query-string":"7.1.1","@fastify/view":"7.1.1","@nestjs/common":"9.1.6","@fastify/static":"6.5.0","@mikro-orm/core":"5.6.0","@nestjs/swagger":"6.1.3","class-validator":"0.13.2","@mikro-orm/mysql":"5.6.0","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.1.2","class-transformer":"0.5.1","@opentelemetry/api":"1.2.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.6.0","@nestjs/platform-fastify":"9.1.6","@opentelemetry/resources":"1.7.0","@opentelemetry/propagator-b3":"1.7.0","@opentelemetry/sdk-trace-base":"1.7.0","@opentelemetry/context-async-hooks":"1.7.0","@opentelemetry/semantic-conventions":"1.7.0","@opentelemetry/exporter-trace-otlp-http":"0.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.2.2","husky":"8.0.1","eslint":"8.26.0","rimraf":"3.0.2","ts-jest":"29.0.3","barrelsby":"2.5.1","copyfiles":"2.4.1","supertest":"6.3.1","typescript":"4.7.4","@types/jest":"29.2.0","@types/node":"18.11.7","@types/uuid":"8.3.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.1.2","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.1.0","@bechara/eslint-config-bechara-ts":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.37.2_1694715268040_0.263838156660116","host":"s3://npm-registry-packages"}},"4.38.0":{"name":"@bechara/crux","version":"4.38.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.38.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"d9eeb0ac45960ff78654b8678040423176b4f8cc","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.38.0.tgz","fileCount":210,"integrity":"sha512-X147IU3BT0lrcq63w2V0ZIOwSQnH3gload1cf7l54MxmTlQrOck30b45qugGsE6IIwrRJE/ivr2OSUV1tSrj/g==","signatures":[{"sig":"MEQCIDaeVvB9Lpi47uRT9YSnUZ7HvdvY+bcSjF0AwdcxnxnlAiBKn51QUbNLkSt2DfFnRmi4gYlgr94lxrDFMKxXbJcugg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482586},"main":"dist/index.js","pnpm":{"overrides":{"@hapi/joi":"npm:joi@17.1.1","@hapi/address":"npm:@sideway/address@4.1.0","@hapi/formula":"npm:@sideway/formula@3.0.1"},"peerDependencyRules":{"allowedVersions":{"@nestjs/core":"*","@nestjs/common":"*","@nestjs/swagger":"*"}}},"types":"./dist/index.d.ts","gitHead":"2f5f2be5e72e7743ee4e443179902793051e0578","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"got":"11.8.5","rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","httpsnippet":"3.0.1","prom-client":"14.2.0","@nestjs/core":"10.2.5","nestjs-redoc":"2.2.2","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.38.0_1694815056198_0.87582943335313","host":"s3://npm-registry-packages"}},"4.38.1":{"name":"@bechara/crux","version":"4.38.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.38.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"0446bbaa1ffe8ebb61368a6957125ae1f3a99d62","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.38.1.tgz","fileCount":210,"integrity":"sha512-mn12TrZRzEe9PvBx3EJ5bBzMhFVkia9x0Hg+OHnhzIg7VgDc06kW32NKueCLd/VtA5uMYtfHZdxTq81aZ08cyA==","signatures":[{"sig":"MEQCIHTh4vBdNsLDWnBLOWYmJzJOBV9+nMD7RHv78KRA4zvnAiAOTUG5U+PKc6tDVnX7e8Tf4/GVLRRTEF0bbPlJIMUnVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482844},"main":"dist/index.js","pnpm":{"overrides":{"@hapi/joi":"npm:joi@17.1.1","@hapi/address":"npm:@sideway/address@4.1.0","@hapi/formula":"npm:@sideway/formula@3.0.1"},"peerDependencyRules":{"allowedVersions":{"@nestjs/core":"*","@nestjs/common":"*","@nestjs/swagger":"*"}}},"types":"./dist/index.d.ts","gitHead":"191f3f42ed227391db8255707cc35661fb354e73","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"got":"11.8.5","rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","httpsnippet":"3.0.1","prom-client":"14.2.0","@nestjs/core":"10.2.5","nestjs-redoc":"2.2.2","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.38.1_1694827332376_0.776983545253437","host":"s3://npm-registry-packages"}},"4.38.2":{"name":"@bechara/crux","version":"4.38.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.38.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"0705a7933cb3b4a82db5a4704aed1f600605f911","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.38.2.tgz","fileCount":210,"integrity":"sha512-thLNdmN9QfEkwKD3Mcr2yn1oabu3YP9IqsMWH/epZHnYzf8F2/2ABGzecGnhnQEjOmtKSa8AXN7ocrAQOuNx0A==","signatures":[{"sig":"MEUCIEnjJRUecXLNhViBNm2CZ2qmZSXKvZIGI9nDW6yq8OLFAiEAoFeyOky23dz6g2FLUyytyOWD1ssxhnVJDDblMSJ6XZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482672},"main":"dist/index.js","pnpm":{"overrides":{"@hapi/joi":"npm:joi@17.1.1","@hapi/address":"npm:@sideway/address@4.1.0","@hapi/formula":"npm:@sideway/formula@3.0.1"},"peerDependencyRules":{"allowedVersions":{"@nestjs/core":"*","@nestjs/common":"*","@nestjs/swagger":"*"}}},"types":"./dist/index.d.ts","gitHead":"93e6e2e60d4e3a71fe8ecca7492df9ce438d1455","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"got":"11.8.5","rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","httpsnippet":"2.0.0","prom-client":"14.2.0","@nestjs/core":"10.2.5","nestjs-redoc":"2.2.2","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.38.2_1694828745357_0.6926781618633815","host":"s3://npm-registry-packages"}},"4.38.3":{"name":"@bechara/crux","version":"4.38.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.38.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"ee9b01b8dbd8e1cd3aa8b117b1479ff337ef2840","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.38.3.tgz","fileCount":208,"integrity":"sha512-vWypbvTOmBC5Vqigvb/hdUHj/ldP06xykx49iWqMmhw1oblAwPbUpzrB9xhHmzL/hx7zEtMYptk1NFFBcteV1g==","signatures":[{"sig":"MEQCIDrBZS8UColMXDNTbeBWrVkSvBzc+iJG2PEOk4lccEBVAiAWqgS/mwkIWtJH1BIifimuqSNPnpJ1ms2wIaE3icgcHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":479521},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"c1207fd7d30f3bce2fd505efdbb818e8f1d81e65","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"got":"11.8.5","rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.38.3_1694877657458_0.19912880115924358","host":"s3://npm-registry-packages"}},"4.38.4":{"name":"@bechara/crux","version":"4.38.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.38.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"31c3f180ef539a4a8fde4a12507ec713e04a8011","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.38.4.tgz","fileCount":208,"integrity":"sha512-3lnZ8iTJVXR+VNAaBR4a6JVyPFwCrIeJAGCoHKFCM3UZrp3i0NMRnDPfXOUu1Z46u4I2X/NUs59+JkSqmbsYFA==","signatures":[{"sig":"MEYCIQD8speMvR+7jJE0Fp6Nlue3l6PSGc/tXg89VvJQj/4JFAIhAIkqEjSW2iWBTzaCl8d+gKKIRVQI+Jh41ncKvvtcI1TE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":479764},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"5e79a5d24aaab3b8f177acaa00cbbde673ab9088","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"got":"11.8.5","rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.38.4_1694880414997_0.8777349632112466","host":"s3://npm-registry-packages"}},"4.38.5":{"name":"@bechara/crux","version":"4.38.5","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@4.38.5","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"35c4433dbb940ef9c43a227b71f5adc0a528d13c","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-4.38.5.tgz","fileCount":208,"integrity":"sha512-zEDwPtQio2Vx7tRJ1/Bgy+tOZ5cPyZqqAOg5/E0iIrvuBNmF/6APo/4lLP50EQlN+qn8K/H7gpshTbIFkulDpg==","signatures":[{"sig":"MEYCIQDNws1sno7ZIwLhK0CuNj6OWil+N6+IKitbmn0Ft/2tXgIhAM5CtmAJz6x230sgaGgDQRC4VvmStfs9wBZbBY2PKABa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":480264},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"07befa50b88d98dd9444226fd392327458f4ea04","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"got":"11.8.5","rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_4.38.5_1695056528795_0.27311579808762554","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"@bechara/crux","version":"5.0.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.0.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"dba2fb2ecbfe3450981b6f189c0f1224f2c3ac0d","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.0.0.tgz","fileCount":210,"integrity":"sha512-umg4o4HE5bVUsmqR8cYYBEMT4tUCM3nBGNX0L8Vxr6nrJ00vIsUEWDSpiWOs0unS5EHYPhuPxYWOAYryP6I29g==","signatures":[{"sig":"MEUCIQDY80hRvwEzXxptMMiGLbHYOz9tovfFJ8HoUdKZSTKcOgIgVnDpDbx/OVlQcQ5STsScchg0aF3/h9lp47nJ/BuPwN0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482918},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"c6f0c16115181eab5aa309b212281218858c844b","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (GOT), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.0.0_1695343608309_0.9298947640456476","host":"s3://npm-registry-packages"}},"5.0.1":{"name":"@bechara/crux","version":"5.0.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.0.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"137e619c69089194c5c68fd12912ce13f7218e2a","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.0.1.tgz","fileCount":210,"integrity":"sha512-A6NGu6j6lzNLYvn+3uu30Qp0dDZrowgDAZChLgaqtBHQTx3QD7c0VPwWXG0sDG23woLKQ/tm8HtCMgg/03kbUw==","signatures":[{"sig":"MEUCIQDx0GzyAz4MKxy8OeB7Uq7b1Bc/4zbaJDyJBUUsfVIF+QIgKwXC2D8f/MGvDeGIyrdi2pcxCslI0ZU6vrHDqUINRJE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482914},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"121702cbe228711b2a5ca50ac93479371e195fbe","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.0.1_1695344180760_0.9495467921514977","host":"s3://npm-registry-packages"}},"5.0.2":{"name":"@bechara/crux","version":"5.0.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.0.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"1a1fd3b61cc743b49622a4bc3e27cbb23d589ba9","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.0.2.tgz","fileCount":210,"integrity":"sha512-8aLJs2P+Leqiyk1h+DwosRVpXBzHRTFxpmSjF2cF1mesjY5qOWsMO4uATTzy6ERstQTCxvTL34Fx0D3ZYAu7dw==","signatures":[{"sig":"MEUCIEtv84UpMQAyTKDbv/Yinxox0kASqPd4kHinKZpl8Tw+AiEA6jVTHKFPc9829SOSSSq1+HjF+OCziDHfS68owtDgRoU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482996},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"8a6c59dbf61e606dfbaaf1d2e945302d3730c65e","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.0.2_1695346986746_0.873868721155407","host":"s3://npm-registry-packages"}},"5.0.3":{"name":"@bechara/crux","version":"5.0.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.0.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"064d833e5550f3e0b964cda168901af4d40845c4","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.0.3.tgz","fileCount":210,"integrity":"sha512-9Di89+IESRKysgQZffdt3MzkNxxRvGLRNA4Y3lVDRbAyf09F2lwQiwmwIa19GyJnUrkDMJjFrEtnc3nJJkK0NA==","signatures":[{"sig":"MEYCIQDgZkIzH4VwCMf/gKFvtoFS8GS7tQ+semA+MdWHkHrK5wIhAOdqE3Qriju20VIMtxd0b9tFkasz/2onyUaaN4VkWuU2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482993},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a3db701880c185a9833a3e33ea75279155cee614","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.0.3_1695349893655_0.5188172995343332","host":"s3://npm-registry-packages"}},"5.0.4":{"name":"@bechara/crux","version":"5.0.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.0.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"dffbd2fd72c793b9abc58fd2aa29de90f4de3051","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.0.4.tgz","fileCount":210,"integrity":"sha512-HzQGYb/yoHzxe7uwgt40rm4KEwiAiUWZC1aAcCxJ1wWcLyEO3cZV/ctyFcyPeCgOTI7NtxJeC7K9BX/7CPzoWQ==","signatures":[{"sig":"MEUCIFCyZhqP5s3bmHdeuiFu/d9hAmvbNTzDHXctHPvS1oA3AiEAvX+THXumqcEsjO+CERNlRj/NIEuaIB7D5fZ0ZKo8Wyk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483005},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"b5967f8c0e6b33be52b5794d5e72436ecffa991e","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.0.4_1695351380744_0.3082343474321778","host":"s3://npm-registry-packages"}},"5.0.5":{"name":"@bechara/crux","version":"5.0.5","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.0.5","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"16b6dd3cfce96d8c196b76735293ccb1cf8c8829","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.0.5.tgz","fileCount":210,"integrity":"sha512-rngpURSGuNb0z4eowpAqkl10+ceEDgzXfQcCKGUGW7uKU91rWh4S8k+y6Frp6Wx4ROiiFY0pQpOWBB/70B+Nqw==","signatures":[{"sig":"MEUCIBfpxOM7iceArBD14mqY/bPJCtv2vSu8mwjFRjjwSjZXAiEAlERK8PPGqMU02Om79X212Asw+s3k00rfP1r7Vh+aqnU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":482701},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"4bcaeadcd92d6a9066c50503f64a8ed1593556ba","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.0.5_1695392989387_0.06274459276285205","host":"s3://npm-registry-packages"}},"5.1.0":{"name":"@bechara/crux","version":"5.1.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.1.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"73d8a5cfec3d11cc2afba8b976a901d5d1163d4b","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.1.0.tgz","fileCount":210,"integrity":"sha512-OubNIEDvQsDqO/mUdbXS/NB6BOfcmZpSxx8FrHhn1s+88aItUtQx/yP+qExKaAxzM22Xcz8pMr/w7Tq9J8k4UQ==","signatures":[{"sig":"MEUCIDqLUnoAHIF8TRD3ywdNPSUbcHZxEH144rTL247QbhVMAiEA13bZQWU8NzTJuD2wZVtF1WpNEVeYoKvpxMFTdpPifSM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483010},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"475536731121f58e8867e480c919c4763d80172a","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.1.0_1695401085626_0.6803361490635045","host":"s3://npm-registry-packages"}},"5.1.1":{"name":"@bechara/crux","version":"5.1.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.1.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"dd1705d3cdcd2a132cae59889ca6805e69961f9d","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.1.1.tgz","fileCount":210,"integrity":"sha512-0lnQDiyn/KNhucCwhSVfmU/z/SAtImLGI0lbi1sTtrWwcZAIFW7IeZVajyr2lIxC6WuGXdyr8wBr9ZDO9Qemxg==","signatures":[{"sig":"MEUCIC174Wm4AQDeNiDpQsm2NoAxA791q57/hc1M7n86Ij3DAiEA9DtgV3dmScllaPybyLZr6p7lmOkRAQeYWqcCseLsdyk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483030},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"62f20cd16dcc3214fcd867aafe43a3c1bf3bc69d","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.1.1_1695401727386_0.6329055133459596","host":"s3://npm-registry-packages"}},"5.1.2":{"name":"@bechara/crux","version":"5.1.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.1.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"5b52fcdc37af26dda1b8e95650ac2aad00829269","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.1.2.tgz","fileCount":210,"integrity":"sha512-tsALP4Hdn1nqpa46KOFd4gkiZG24wn00CsYzXeOd0zvZSXpHwCgywvcX1fOqm5/vPnnv0dzb7wSealkDiQNNpg==","signatures":[{"sig":"MEQCIFGZYRTc1DMbkwPU4CzJ+YMcQ0lquV4R/Ao6wBqEZcf7AiBjxjvyDwIxINaqBgHuLZqYll51Pt0dp/RgJx6DZf8esw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483038},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"c13d68d6a19294d919e12fefa5e8175956ef817f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.1.2_1695404832546_0.7357502330924444","host":"s3://npm-registry-packages"}},"5.2.0":{"name":"@bechara/crux","version":"5.2.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.2.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"f4fce5d00ad2f9e27dcee611bf161253f2a0b4ae","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.2.0.tgz","fileCount":210,"integrity":"sha512-oZ6XTm7YCTfhmq2mp6k/DeH0Tu0CTtAhAu/lT/hwTpXYHuP7d65U+qoX/tdibBLGQDtpgLfs9G5hvGQfu2v2Pg==","signatures":[{"sig":"MEYCIQDMjxPe9o3fCKCbaGdQxxnbckDQHdcfRgdn3IJazC9R6QIhAOnJFk4whB7su1i2k1DO9Z3JYFblH+BZKj821NgGlw6i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483372},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"f08ce4e1a0d5365adbf421bedd75e4f19bf781aa","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.2.0_1695694379967_0.5318515162053723","host":"s3://npm-registry-packages"}},"5.2.1":{"name":"@bechara/crux","version":"5.2.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.2.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"fd906b01abf34f645b29907d145ebbb26d2cf0a7","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.2.1.tgz","fileCount":210,"integrity":"sha512-aKkjTtzoHc3levuVhxl9y1i/FOYsUJIK0JQrx7Oy6XosAdry8FgywX395rxlm5UOsZsm7OAJ7h7/MinmlxZBew==","signatures":[{"sig":"MEYCIQCGYrIWzMz085ZN8ZpYcvUdjkAHorzN7rO1N3DQZUJDEgIhAK/1IdGbJsPHVkt+0M3MxAobbVYkAPoBLCdSArlXxNst","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483438},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"919b062a06932cd2cbd785f48d7f4d54e1b23dcf","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.8.1","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.18.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.2.1_1695845370945_0.29745626627887733","host":"s3://npm-registry-packages"}},"5.3.0-beta.1":{"name":"@bechara/crux","version":"5.3.0-beta.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.3.0-beta.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"54771ac2afba57a6d751b2088f6143fe95f91b0a","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.3.0-beta.1.tgz","fileCount":218,"integrity":"sha512-e8JKHoox2QqU3xI3J8neivsWPHtBG4sL0g8oC6B4wKXUuMlxENh5rtkiFEsOBnG+vtaT1Mqgx1pXh58vBp/KUQ==","signatures":[{"sig":"MEUCIATl24SaEgQMsRS1qhANZBLS0wMMGeibrOUbLRE/zQ74AiEAlOnSyov1s6n40g9CXs2p0nnshsQNrqPXQ3RDUVYQAqQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":492736},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"cf9775255074c4260cc3b2f5e3f7141bd7122d9f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -e \\.d\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","@pyroscope/nodejs":"0.2.6","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.3.0-beta.1_1695851705758_0.8734289016789194","host":"s3://npm-registry-packages"}},"5.3.0-beta.2":{"name":"@bechara/crux","version":"5.3.0-beta.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.3.0-beta.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"24390edfde9cd68eab94510e2d9dc259fd2370fc","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.3.0-beta.2.tgz","fileCount":218,"integrity":"sha512-dbbMzF7DthMfKBXG/RjI4URFdaNuKv+nMEjvlzZb+5CxEyu28jgrKNzeaGDy3U5ms0JU1bB917p9TV3zz17DZA==","signatures":[{"sig":"MEUCIQC8IlNe4GQPX/2UmYOSPjL9lBAkin3LKLR2H6UT2umd8wIgVDmWZD/0sR26nnTcD2fPqAThDaBO9o+n1HSKCNFhpP0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":492760},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"697cf1b62cc0bd3559371d29eea376cb4f0242a5","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -e \\.d\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.6.7","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.17.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.5","query-string":"7.1.3","@fastify/view":"8.1.0","@grpc/grpc-js":"1.9.3","@nestjs/common":"10.2.5","@fastify/static":"6.10.2","@mikro-orm/core":"5.8.1","@nestjs/swagger":"7.1.11","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.1","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.1","@pyroscope/nodejs":"0.2.6","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.1","@nestjs/platform-fastify":"10.2.5","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.49.0","rimraf":"5.0.1","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.4","@types/node":"20.6.1","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.1","@types/supertest":"2.0.12","@types/httpsnippet":"1.23.1","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.4.2"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.3.0-beta.2_1695853636974_0.12687907805652254","host":"s3://npm-registry-packages"}},"5.2.2":{"name":"@bechara/crux","version":"5.2.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.2.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"0dc37cdd8e14eb717d1af3f59bb7cf754158ae78","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.2.2.tgz","fileCount":210,"integrity":"sha512-r/tFKlZCdNH7BxeRKyGfF/6VKet6jS2GRO7u2XtK74bOtNFk3AjeQHFyTIEaIPSwL34H4Grn8z9EQhFvWOjyqQ==","signatures":[{"sig":"MEUCIDvDWQeAjwq93B6SM8Nd6mCEFNEuTpm63blfAfphmfq9AiEA8d4ZjBRzayAX4W+mV3sy12wVjwGL0hd/Jd56T9tuHqc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483415},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"eb7f32b44229769b33b21fc44a313e9a8759b56f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.8.1","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.18.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.2.2_1696289962446_0.45139228837802525","host":"s3://npm-registry-packages"}},"5.2.3":{"name":"@bechara/crux","version":"5.2.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.2.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"808da0e0f0ef24629270defbb603492aec20e20f","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.2.3.tgz","fileCount":210,"integrity":"sha512-ATeyt0qwxLW8OmP5YIKb/c9ETnb5qDcuTay+hD9siec+VQYgCiWDTXyAuL/gW+xt6+SNIViCDnvlr01sWhjDfg==","signatures":[{"sig":"MEUCIQCmB8ghkc+L439JTBkA4WDGxny8ZM/t5lt+r1hHJg1F5wIgVnYYj2tJ54THoogQ8mcQKb5/WzkLROGXVR6lCzToAyA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483496},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"8fb273f96d218b8733a00ba1de8e817f2786445e","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.8.1","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.18.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.2.3_1697059758447_0.9089131295206374","host":"s3://npm-registry-packages"}},"5.3.0":{"name":"@bechara/crux","version":"5.3.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.3.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"b07430793d2003c59ba48dcbe04a8748ee912c68","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.3.0.tgz","fileCount":210,"integrity":"sha512-6Qnusvuk0wV1j4qPERtGA2mpvI/9M1rTeo8QzoyKh4btsmOg8gi14YEYZ7kIuhjpzJvaXlNpPR9G+/h1BKHT+Q==","signatures":[{"sig":"MEUCIDqRv/AkoWP31MqsJMdfjKmFsRhxEUoWkv3SDKt5isAjAiEAnGBw7iS4obik4mqjjFpyYJT6GrFF1bQdTwTvZy+UiI4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483644},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"70d9238b99db9e6b79a429f013f54268c87b9748","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.8.1","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.18.2","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/helmet":"11.1.1","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.3.0_1698798305019_0.4565035163037159","host":"s3://npm-registry-packages"}},"5.3.1":{"name":"@bechara/crux","version":"5.3.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.3.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"b0927074ae015de6ffd5747b3aefc5aa300a898d","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.3.1.tgz","fileCount":210,"integrity":"sha512-dqxW8B2fNqGaIRU68liQFNAMgLnzbm2DVH/jPTR0JJtMnLS/WqIlrsDJ21VLSlpQZICWtzvz3LtWR5GZhlCT8w==","signatures":[{"sig":"MEYCIQCC0Tnlvt/5KFxbbJ/3i7+uwh4VA00dOECwukxGriPREwIhAMoJfoB6w6m8QugfgCQDJ9mREaVzpnu7PrShkSC56BZ0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483496},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"63d86905b4b774e4c88ef7fa01327347266f585d","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"9.8.1","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.18.2","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.3.1_1698847825832_0.047984253744672634","host":"s3://npm-registry-packages"}},"5.3.2":{"name":"@bechara/crux","version":"5.3.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.3.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"aaed2633980acf029519ad369422392e6d8c2411","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.3.2.tgz","fileCount":210,"integrity":"sha512-tFbLEwvRm4sYSsScnwsbfz473wVK/Vf8f+ev8rK6ixDGpzEpo64jIEX+cOVh1Hk9mrKU3nj5SX98jH+wyw9RpQ==","signatures":[{"sig":"MEUCIDlz6ZBlNQfCz9AGs9TcZUPRdpDCNOesa6i+wyp2Hx+PAiEA2X55CGqy7AK5wIBn1E8CT++Y66Jr8qdBdmBgQCPymlM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483658},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"cb486f97340666b14f23ba31e6ad5459433cdd50","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.3.2_1703273225481_0.6794350417810369","host":"s3://npm-registry-packages"}},"5.3.3":{"name":"@bechara/crux","version":"5.3.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.3.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"2aa6b0078a0e10b7f5a1de514e400002f798fdbf","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.3.3.tgz","fileCount":210,"integrity":"sha512-uAOTx5TaQj9Pbpf/Es4PFtCP8iE9U+ZBk/BiJyZFvdK7qbF9PSD6en6vGvqA3DPbqBiirDPQ/K3Dlve15t+0Gw==","signatures":[{"sig":"MEUCIQClzR2kO1t1LCSFR5QVbsL6lMU/SmjwhxjOAnHBQmzQAQIgQWw9VML3El0sdsVaSvY4LGBOttogG8UwxbuLSjqibQ8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483654},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"6dd86e4ae329a9ee7c604a6077ebf1246217e2f8","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.3.3_1703274166585_0.4255968356015454","host":"s3://npm-registry-packages"}},"5.3.4":{"name":"@bechara/crux","version":"5.3.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.3.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"a86eda27c1c1f36b0e62b6864f37950a273973ed","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.3.4.tgz","fileCount":210,"integrity":"sha512-rLG0zxBmtohwPuREYFeASuTlOs7pCWQ4DvWB/sxnTkBEVO5wTc6lDZGrAnpXh/MbRDZRSwf6y8a7ZwyQ0cX/Ww==","signatures":[{"sig":"MEUCIHzon/ut6PIFkNG3nqLxxv32GGMBfrIa1G9Z3OQtrHeFAiEApAR64e8IM1uC5RONwaIce8tHoyWghwUbtt11tGGSmSI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":484234},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"8436d68b694ee9af7aec81b9441a1afe408fbad6","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.0","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.3.4_1705669772053_0.11397594717172566","host":"s3://npm-registry-packages"}},"5.3.5":{"name":"@bechara/crux","version":"5.3.5","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.3.5","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"fa89c81d51e232984a461acbf9a2a46f9682b396","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.3.5.tgz","fileCount":210,"integrity":"sha512-O7u+BRk+mRSVOSZUaFfvon8O/IGg39+Bbo9N/GpLpX9tC0NFvDxRnqRkH8w3Horb5Ih6tFszl8r1TLOsyL8dqg==","signatures":[{"sig":"MEQCIHWUuocm5A9vBgGBvAD+a3nE84k5F60oGOU3FRsdNAOyAiArikNMl6gouASZxdy0pWKSm6f3mUK0WFbT/cWtlno7IA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":484345},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"e0425db1cd8177c9c8d0fea57342c37fe8481d99","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.3.5_1705672897104_0.2546562925313447","host":"s3://npm-registry-packages"}},"5.3.6":{"name":"@bechara/crux","version":"5.3.6","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.3.6","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"bd51d58f0d1bb1c1b7817775ab5269d903e3bff3","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.3.6.tgz","fileCount":210,"integrity":"sha512-F7dhh9Dpwg4JdbuUhPiZqkCyBV/rErAXbNSA/q1XWIFylWSFJHHGgguTHZsl7vgz5OeejYENsVOSuvwKmx1kBQ==","signatures":[{"sig":"MEUCIHiv3teupd0JDoDZ1lGuLMm7MWfleB/tZrNjR0Ecwh+CAiEA+BL6dpCxhXuDV8YFqXpSyyghcCuQBLOgW1t42WHSm0c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":484873},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"ce5402b42c718e180238cb569144fb1821a50c89","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.3.6_1706280527667_0.7705719205052923","host":"s3://npm-registry-packages"}},"5.3.7":{"name":"@bechara/crux","version":"5.3.7","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.3.7","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"b5030a2eccb11e644ab91741785747c5e9669333","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.3.7.tgz","fileCount":210,"integrity":"sha512-AkqFxOb+spAgA6RK6oSM1KMt13T/sI2yW/QEgJxxOWcISRQXlDB5zAsSgPhTzZXFshX6WATy68oW686lZ3eb0g==","signatures":[{"sig":"MEUCIGxXpYzh/CBvAqCohb4ioLN939zcz3qY8L9hU0crzYyRAiEAkOr9sa53a3OtE6NrJmNNcddIuWOKThb/zAkDcRXm+yw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":484850},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a6cedf2e14e20073764c9d07c6b595dd3aa0238a","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.3.7_1706282966874_0.09725795713660124","host":"s3://npm-registry-packages"}},"5.4.0":{"name":"@bechara/crux","version":"5.4.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.4.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"15c51f85a1e55131b562bb70fcfaf2fd61b43c94","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.4.0.tgz","fileCount":210,"integrity":"sha512-1xVQH/PqhQSRJ4dm+AOW6yNYMIfvoRcHrUV7zW+MgzRXEGR+HsUEmJsFoXHpknO4IVxpa5R/hd8duL449JPtew==","signatures":[{"sig":"MEUCIQCIqY0J/b3GO68BbLeGIJcRg5M7fTbL1ujEvigjBUiqYgIgIVIA4LjHqmVCskM3lDQAHka90a1NI2lwu9MRvbHIWD4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":489510},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"caffd86c1378242ad0dc5bb40b41eb52c909e46b","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.4.0_1706823697047_0.7789142666275253","host":"s3://npm-registry-packages"}},"5.4.1":{"name":"@bechara/crux","version":"5.4.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.4.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"e51f34d8f5fb1dbace60bd4c4c9e9325dd95a98e","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.4.1.tgz","fileCount":210,"integrity":"sha512-lFI0AjBBtIkraCVeizPZwNElQU1QjFs7J+fw+pxWeS2ja7x02gJQZjkIIsfxPTlSiBxJgVgR9hH/gPxchIaoBg==","signatures":[{"sig":"MEYCIQCNelPOZ08F6NeEKpZTYw+yJTaCp9Jk00LL59M5RjxtzAIhAMkWtLK1PIZ4YRkkiVRDOVu2V6DukniohnvBJiwZr5tu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":489542},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"5de378726a28ff0381ce3eee9c4dc675257e3984","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.4.1_1706824586834_0.41722722674049484","host":"s3://npm-registry-packages"}},"5.4.2":{"name":"@bechara/crux","version":"5.4.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.4.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"1ae18da5176ec7bf14f478c72b1b99d1ce7fac9e","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.4.2.tgz","fileCount":210,"integrity":"sha512-I+in9gQWMS3s1bUOEe5Qq0yNMpvVt9vXLq4D/zyeqNbmmKRxgQcEpJa23i09Zg2uOIqs86+qAllhdaGTTrsbWA==","signatures":[{"sig":"MEQCIAlDFohuk4gUtyn3D5Br1wbRAvy90CBQy9i5Zl31D1GeAiBazwbSg3rRcZqgpqaU8xI+2hSA5OXw3Z15aOXHkkBnlA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":489045},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"5b98126a0da21530bcf2eadc1843f01a7ce4a153","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.4.2_1706888854719_0.39284820399848863","host":"s3://npm-registry-packages"}},"5.5.0":{"name":"@bechara/crux","version":"5.5.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.5.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"41b0ad62d68450ddaa7f9d9bc481285664e72605","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.5.0.tgz","fileCount":212,"integrity":"sha512-8/4Vmihoz9VsCSqOQzVc7koxGIg8Kdf0O6IzhanQG8R+ud/SwGlHxaza14abGnUq9HLlin3Yd5Czy5Gx5Sq1RQ==","signatures":[{"sig":"MEUCIQD+cuTbpiJqYuUgXE+JQGQzWQBkuAzkKBpEtDrCAocIYwIgaZyRGhnQvVLxA2fu4PfI9nCFJwZR7SqPykV5AlE94w0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":492516},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"26c3e86383a8b51dca8baef233332add59408285","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.5.0_1708124611890_0.17009192165200138","host":"s3://npm-registry-packages"}},"5.5.1":{"name":"@bechara/crux","version":"5.5.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.5.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"0b06265c6c84d393ab14f06a2b89ee5d7e739f8a","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.5.1.tgz","fileCount":212,"integrity":"sha512-2Puu5/Yqiy0lfVVlhkuy0oYm98Nhg0TaGVUp2kqdLGIgn3ydibZChYs7spVi39k7gSUqTt+mQRU89G7Oo8KfnQ==","signatures":[{"sig":"MEYCIQCr0G2NVYThVTwdphGehn7OiRYV17+H1RwWUqKP0MD1kQIhAOpxo3ivoB+N/WU3zRDfVcxeuo0L1AY2vfMBRzZ5LB6G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":491950},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a3b13a935888e25f2bb843536e0dc054ec75947b","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.5.1_1708182718085_0.22896839713633654","host":"s3://npm-registry-packages"}},"5.5.2":{"name":"@bechara/crux","version":"5.5.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.5.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"5445869c7cfce6d4f8d04a6f68f2042664f8bed9","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.5.2.tgz","fileCount":214,"integrity":"sha512-rhchYq0MZ7mqZcypLmtEcBVOqDyDsmcR9q5x6QKosEDZrk2lb5O0gXM+UK+Z30X27SqKZjWkUN92HxMNdQ+Bow==","signatures":[{"sig":"MEQCIC+4c0Fk9feDkLCuQkmnuk4jTRcsGxEHYlyvtD35/pnfAiBPahreAmwKvqDR1PgMm0lRV9y43lzdFbuFbIcV57holg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494701},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"716eff435142aac781303e732094ce082f9ce69e","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.5.2_1708186266872_0.13773135052282548","host":"s3://npm-registry-packages"}},"5.5.3":{"name":"@bechara/crux","version":"5.5.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.5.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"92b7731c9cfa5a9521186e9952801120087fab42","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.5.3.tgz","fileCount":214,"integrity":"sha512-F+pF4zmcUCyuFjQeSKPQqfMfVbCZEK2RK0zpsE6YQIAfhU9VcirwUV0j51pYhMPIn5wz0p6CaRWqwong9PE2XQ==","signatures":[{"sig":"MEQCIAnMj1bJ2xDdwEtPwwxz1PecsZnUvezYoFzmITfKYTkTAiBFS7J4jFxZMWJ4TFSfX7yWcteEI/8n+nmOZLcvWDIugg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494785},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"8f76872a023d8eb238b1ca8758cd2276518bf156","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.5.3_1708186989193_0.48851033591425486","host":"s3://npm-registry-packages"}},"5.5.4":{"name":"@bechara/crux","version":"5.5.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.5.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"56f75bec5e64445bd19f9e8a31d09a8b816a05fb","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.5.4.tgz","fileCount":214,"integrity":"sha512-TXmchNvu0VGeqA08Id90qiGXTZJJoLWqZVf5qD1kmbp1mfhl2xi8kV+KAS35jsU124Lfh70P5T38Y8WFj7vqWg==","signatures":[{"sig":"MEUCIQCOivQV+kjMh8/2hfTascQgN5Cr2jdS7KVohdaZRQFVVQIgbdv9i3E2w7Ya/qnwKSz/KGLvwD6H0whJdSjGsd1Zh6Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494949},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"87bcebaaeb62fc23554b14785d01eb1b1c8bf244","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.4","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.5.4_1708522863143_0.013418348576772265","host":"s3://npm-registry-packages"}},"5.5.5":{"name":"@bechara/crux","version":"5.5.5","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.5.5","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"35f2bf77b51b03bf5caafe97a4f5cb74e32a22f8","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.5.5.tgz","fileCount":214,"integrity":"sha512-IU8li6ayIt3W3EAJVQ/TopI+pbWxfto+uAdctfuGGPp4s+xST8HuWYyp4kKGcIE0Qnu3KwzCB73DmzYWyuD1zg==","signatures":[{"sig":"MEUCIEUx7X+8cO3ZPyxHaGA6UAGylql8Yk4XmpdqfS3nrq50AiEAqLoK8uIX9A38GW2QZs9nDvJIk26y5yBIYIKANSNSWDQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494912},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"e45d99602df42700dba2e2485a2c27681b20344b","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.3","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.0","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.5.5_1708525628638_0.8909126318367997","host":"s3://npm-registry-packages"}},"5.5.6":{"name":"@bechara/crux","version":"5.5.6","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.5.6","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"8214e5fc0bb0b495b9ebf25fb566e86ea37c9aa6","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.5.6.tgz","fileCount":214,"integrity":"sha512-7TMWEh4TUCYICrTUFb4sj1baBe0zQHUBFnP2iY9Dypy7GZiirDcg3RQzs9SUmULdhPjdjb4tRDlozQVEoqaNCA==","signatures":[{"sig":"MEUCIAHx5r4PDDhFQmrRoZcRPBkiZS+4i2IB+4yBxYmsfeWCAiEAv4iJFCwJx91MDMsFj9jSYSTy66CEQjsbJRT0dT3C8zs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494880},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"3ad1a226a0220c51c99443402b10ac030eec8e43","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.4","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.5.6_1708541445737_0.0037041278107869946","host":"s3://npm-registry-packages"}},"5.5.7":{"name":"@bechara/crux","version":"5.5.7","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.5.7","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"d4c4aa95ca79ab0119b588e0fc73504955bf9971","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.5.7.tgz","fileCount":214,"integrity":"sha512-jV62ENoxK4o9zuCT1bGot8Ta6zBx2Ne21PEC70ohquJRNQUT7nXQr3rHbB2B9J+sMqszq8rfY4TyrfoXqzfX1A==","signatures":[{"sig":"MEUCIFwGRHJ0vMaUQ1Aby4kroKgZio5HsbNVQXzvKzs6tn/XAiEAqHKDs6g5rtpqi0T6CigftCaowhwz7pV4xoutfSDn7MQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494817},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"623f2c3d63da5e86276841f31f4b8de3856d286d","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.4","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.5.7_1709136374523_0.6808277119372814","host":"s3://npm-registry-packages"}},"5.5.8":{"name":"@bechara/crux","version":"5.5.8","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.5.8","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"83517e06bac1aaede679f72d5389e07ac6a23607","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.5.8.tgz","fileCount":214,"integrity":"sha512-NMC0Pi4EjNKfHfena0KPgFbAL5vPaaXUcqKtMpu6u4IhW9wy0gjq63ppzNhA/OtNNDeHI3rr0z0KX/JF/h5lYA==","signatures":[{"sig":"MEYCIQDQpaJmZ8hc9JxAxcQ4fsJyJwzMjj/jG7AZkDH8O1Iv5AIhAIFOoqKKavXwKykEf0NCIDws+LD/jlMqdBsOzR0bU+Jj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494574},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"2e6fc574b6d08d757d1ba1e5e7fab5eb98c8dbd8","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.4","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.5.8_1709408841568_0.3249483290839623","host":"s3://npm-registry-packages"}},"5.5.9":{"name":"@bechara/crux","version":"5.5.9","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.5.9","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"435cfb30efa1356d5615978fdb80c745ca4e23c2","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.5.9.tgz","fileCount":214,"integrity":"sha512-PgTDySCdA5pxK4yRRtiTvE8DT2pOqkgTFxBLDnr+4OkX7j41P5b3Uq0IK2RKiPsJ+BNBvWimdgfdO0O86zmbTQ==","signatures":[{"sig":"MEQCIDCjPrT9u7JSrTTVOU3nX+LDwmA1XpUOliYPuOqIG/ONAiAUbBL8Zdhk35oFx+rNy/DrStYGmW/MAfdCScfHgVgtJw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":494606},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"e39b854f4310c102d462ba85b79791e17c4f3476","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.2.4","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.19.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.5.9_1710178551539_0.5188131401331779","host":"s3://npm-registry-packages"}},"5.6.0":{"name":"@bechara/crux","version":"5.6.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.6.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"548a5c2867e17450892ef4e98a6f5d36cffd5c32","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.6.0.tgz","fileCount":218,"integrity":"sha512-BrILIXVhICVWMLpAajmas9Cn+w72k61Uu1RTcZBT7u3QuvwS3dk2dCBTgsVhd1ybkYGvFtnC0suEddLwKJHCOg==","signatures":[{"sig":"MEUCIQDpLyOoMeWbEaBmLGkiY9+4j2sOrzVp5tiGC3v6sEasEwIgAk+o41K8oiEAfvVhiSAe19eG0fAZyXcOiprNs7aP9Qg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":500803},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"d918202102ce984dac9788cb2e52452535408c83","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.20.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.6.0_1712985135779_0.3189759967951711","host":"s3://npm-registry-packages"}},"5.6.1":{"name":"@bechara/crux","version":"5.6.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.6.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"b19d452f666641858d447de0642f67e4ec529313","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.6.1.tgz","fileCount":218,"integrity":"sha512-YtcsJP6bSeGhjPViAzsK9Rq7t9R81xGa67yRg0qLwaQVkBZ20b5/zOKpkJn7uFh6ZXFnNHIY4r4lynO1vFDAPA==","signatures":[{"sig":"MEYCIQCOaS6eTdD53aoZQ+Kq/RPR37zbm0+RhCh6fhGrWa32GQIhAPc6rjaEiS6WAg9RA5uPGUoHSi3ZXKW0/y9Gtx7RXDB+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":500814},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"6d5660214ddb560f892ac78755217c5ad98b9dc3","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.20.1","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.6.1_1713035733515_0.35199191800671903","host":"s3://npm-registry-packages"}},"5.7.0":{"name":"@bechara/crux","version":"5.7.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.7.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"664d141650d7855379ddaabf87acf2b0edfc3092","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.7.0.tgz","fileCount":216,"integrity":"sha512-qpNihcGxvydbFejo424K2vC8ZilXTNEklP1HU4D+1dWBjGJbAlbxBSLNRXaDNyeyh454I6Mr60qoXczGmBTFBw==","signatures":[{"sig":"MEUCIGFTw7q+PWPvm10XTmMgUf56rk1TG11LPa+YAXHubPE/AiEA78Ff3e/fKWSdMKFlUFrPLZljWuEccxFhX5BjCH96Qws=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":504786},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"5ab17b8d3cec552953ffcea87b58981a03074a3d","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.20.2","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.7.0_1713748022925_0.9966624011785983","host":"s3://npm-registry-packages"}},"5.7.1":{"name":"@bechara/crux","version":"5.7.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.7.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"9f5b9c7109d5f85bd963f3708202e644ef11c7e2","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.7.1.tgz","fileCount":216,"integrity":"sha512-YDgyOFbTGOxhWV9wi8MkDTM7YguZh81ORRnAkhJ+u/rsAejA9R6gTeKL5dxdtH95FJX361BfWZSTTQ+j7W2jpQ==","signatures":[{"sig":"MEUCIDx/OiYhQRYHkenYPDPY/uFFPutLZUgZDYW/82KCV6hXAiEAtzDQ4B5rCp/6K+pTN0NREFV5zhKV+3sK0vhBbHimRww=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":506355},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"fb25e0a2ec077753b1f8c7155b1a06c3b8a72b7c","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.20.2","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.7.1_1713759152271_0.845011886985882","host":"s3://npm-registry-packages"}},"5.7.2":{"name":"@bechara/crux","version":"5.7.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.7.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"8d5c837e92d5aa1cc63bae3d94ca37c3e9cc8710","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.7.2.tgz","fileCount":216,"integrity":"sha512-eD1G8+xfYWKP9ojMLE6U0bMNrI4iggC9Npvdw+PtoJVRQdC1yml0VJH+X73CFz+3D4L+Y1ucM96dWCaYGm9zbg==","signatures":[{"sig":"MEUCIGEGBCtrwKWjVfk84pKkJcMnOaQxBn7nVYgzOoFkJGJjAiEAv5laAVJdiAKU7OK72BDKz4AtFvTJvdqTfNYAcHUB/E4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":506349},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a76e883a548cc09774be17c0c38b442c3bc94531","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.5.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"18.20.2","dependencies":{"rxjs":"7.8.1","uuid":"9.0.1","cycle":"1.0.3","dotenv":"16.3.1","snappy":"7.2.2","ioredis":"5.3.2","fast-glob":"3.3.1","handlebars":"4.7.8","protobufjs":"7.2.5","prom-client":"14.2.0","@nestjs/core":"10.2.6","query-string":"7.1.3","@fastify/view":"8.2.0","@grpc/grpc-js":"1.9.5","@nestjs/common":"10.2.6","@fastify/static":"6.11.2","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.1.12","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.1.13","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.6.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.2.6","@opentelemetry/resources":"1.17.0","@opentelemetry/propagator-b3":"1.17.0","@opentelemetry/sdk-trace-base":"1.17.0","@opentelemetry/context-async-hooks":"1.17.0","@opentelemetry/semantic-conventions":"1.17.0","@opentelemetry/exporter-trace-otlp-grpc":"0.43.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.5","ts-jest":"29.1.1","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"6.3.3","typescript":"5.2.2","@types/jest":"29.5.5","@types/node":"20.8.2","@types/uuid":"9.0.4","ts-node-dev":"2.0.0","@commitlint/cli":"17.7.2","@types/supertest":"2.0.14","jest-sonar-reporter":"2.0.0","@commitlint/config-conventional":"17.7.0","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.7.2_1714341653923_0.39783225939849554","host":"s3://npm-registry-packages"}},"5.7.3":{"name":"@bechara/crux","version":"5.7.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.7.3","homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"8fa9ada30ad1658949e5c355f1f8cfaf45b33e87","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.7.3.tgz","fileCount":216,"integrity":"sha512-vesv5NjhSKfwZ7KE9Bt+kG/ukJ53222mTs3anJI6ISu9bz6/D37exZnRiY7HsCmvVCI9lW/K1Gsm39vMCRgwSw==","signatures":[{"sig":"MEUCIHC57aVgCFG6UPiFzOjCHKmpA5p1dDs8plkRMdyrMjs9AiEA6SVibeocUIjcTK64liztBrbCG3n42cWohP44i2agTj8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":506503},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"9ca6e8db4b1c12502a52f4c9b7a6325f651d2ea9","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.7.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.14.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","snappy":"7.2.2","ioredis":"5.4.1","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"9.0.11","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.7.3_1719185591865_0.7660805900362073","host":"s3://npm-registry-packages"}},"5.7.4":{"name":"@bechara/crux","version":"5.7.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.7.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"df45b84672229e9d4824a429411243cad1f5ab28","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.7.4.tgz","fileCount":216,"integrity":"sha512-MV4uRTwVmtgrXcG9RIjx6+EJp2ZLLhB9Nyj2KfXU33+SMs8JjRJh5+b5le5wyDmePQ+zgOnxbzbIvS1fMBu2Pw==","signatures":[{"sig":"MEUCIQCUwiVIe8J6v3CoSytm+305kGXBp9hy+3lpYJybLRxMeAIga/hpWCFkTSnwFiTpB8GHjNDA/VM3UXsoHBz5d4JEyok=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":507958},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"75c944770f8ebb6c54d3919afbb91cfe98479ea2","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.7.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.15.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","snappy":"7.2.2","ioredis":"5.4.1","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"9.0.11","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.7.4_1721159906651_0.7743458219548298","host":"s3://npm-registry-packages"}},"5.7.5":{"name":"@bechara/crux","version":"5.7.5","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.7.5","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"c728d2a61af7c5c3ed81db74c985b6edffc14713","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.7.5.tgz","fileCount":216,"integrity":"sha512-pbsLPhFSQx88XdjRUCYT/TGnnKu2H9vO9/HyVTtO/Y+J6w29vMLN2Q5NLWCQYekdIqBlYUUADhHrqYQthKSN0w==","signatures":[{"sig":"MEQCIC8tobil1F7sGuSV6wlmmpbxC64ZHR41xrCxmvuj2kUzAiAg2weNFJYJrxjiIAx/718S1Bhvsr5flDCcZjTE/PL6Bw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":505372},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"4812badd281fce5e91de65397e64783aa1490cc6","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.7.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.15.1","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","snappy":"7.2.2","ioredis":"5.4.1","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"9.0.11","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.7.5_1721163188214_0.9852042018002061","host":"s3://npm-registry-packages"}},"5.8.0":{"name":"@bechara/crux","version":"5.8.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.8.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"669945993862558d38c11c927a9767c17e94214b","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.8.0.tgz","fileCount":218,"integrity":"sha512-4r6bTrxZYyIspAtvt9QDM7nhq5PMFWjZm6/bHKJCOKy42lUjXfjBGrzn1AOn2zN8dlY0aQPcBev6zwQIRWhP0A==","signatures":[{"sig":"MEUCIQDo1xSwIWuMrxP+10ZtPBv8FBjQSYoHeEnfKkx0/fYa3gIgNJHzoC4j3aybcH+RoYBF4sIWm0Py1/FM4x0w1sPOPX0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":506470},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"6221977c6edcb220cdf6cecb3635467b78d99ac3","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"husky install .config/husky","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.7.0","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.15.1","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","snappy":"7.2.2","ioredis":"5.4.1","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"9.0.11","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.8.0_1722544931702_0.7915082506477336","host":"s3://npm-registry-packages"}},"5.8.1":{"name":"@bechara/crux","version":"5.8.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.8.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"d0e33b1223bf023204626025d68679c2f7af8149","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.8.1.tgz","fileCount":216,"integrity":"sha512-Sh56XZh1pg6omwukOaciVA+QPmUuNqRuFegXFeVBLj2P4QKE/EvwqYwkiNjDUd+4X9D31PD3VFKsgDxdkffelA==","signatures":[{"sig":"MEYCIQCDuhSsN8toL4Us9dlshnp5Dq1ZF16l7SU2s0JvyOrNQgIhAI0cwB2Du0hcipPI1K4eNt/BX7Yb6C7zYm5Ngi1igVgF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501478},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"8e16ec4c56fc72ed6bc8edd77a9e4d83ca9a79f3","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.1","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.16.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.8.1_1724511037605_0.4384257861870804","host":"s3://npm-registry-packages"}},"5.8.2":{"name":"@bechara/crux","version":"5.8.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.8.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"f74e482c994e5518bd9540296f341e023a62ba77","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.8.2.tgz","fileCount":216,"integrity":"sha512-ENC7gldB8EE5Qxn2jBfGfQyYD0W/4jkq/nN5moFIm6cBLRoyN/2FdqPgafPYmp/ZBJIPGvuRqZl6ubR6n+MwQw==","signatures":[{"sig":"MEUCIB0n4qjidevzWgha7MTpA6MWNRLBBM4Y2nAJlLbzsxAnAiEAtk/wlUvMzjGUOUJFFkAud6GpJRXG12iG5N0v4KThTL0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501999},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"ba18ed3087e43021865eb17e04f4bcbe8a407582","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.17.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.8.2_1725314404516_0.16486568461435236","host":"s3://npm-registry-packages"}},"5.9.0":{"name":"@bechara/crux","version":"5.9.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"30061791ef445a8e9260e1ab10ee274f1e1b8a83","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.0.tgz","fileCount":216,"integrity":"sha512-JVJsOvebdF360uqa4tpXteWIkDw5qJNJhi0qbvfqv5dmBk/jXOA87P2DK0Wm8+0XVTb6pnNmMHeflO+VwCok5g==","signatures":[{"sig":"MEUCIAChaPhe/iy+6mAKqG85HepGczGHwfDFbFxR906gWegAAiEAg+BStBybtaTbX3IBL0q4cgj6XFSX9yl5T/5UyKtXOmA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":502974},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"beffeed02f811e58110d0b34eb5dcc36b3fee6da","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.17.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.0_1727549233516_0.035353565788444286","host":"s3://npm-registry-packages"}},"5.9.1":{"name":"@bechara/crux","version":"5.9.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"db0951700539a2dc08716756822ec32e1d99c082","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.1.tgz","fileCount":216,"integrity":"sha512-0i2FB+bRx0fKGM07x0S7gD4NRthyIcBzC8k6TL7bEMX+vT1o+oy+ki6diwbGv7qTWMLMVVF0CGMNX8O8vbxxHA==","signatures":[{"sig":"MEUCIQCz9xxYiDhXT8YC3fuZVrDeeLNyaE6LErNdrLRINFctvAIgTL8HcXJOhPh5x7uOXmI8E64bN9J4Z0++smdZMVg5CEc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":503098},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"14c02063decf8265fdc6cf49c6928483fd3d5d92","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.17.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.1_1727664956749_0.19616081168149413","host":"s3://npm-registry-packages"}},"5.9.2":{"name":"@bechara/crux","version":"5.9.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"1b4ab7e157a591cdb8e51ce978863d69ac2afa52","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.2.tgz","fileCount":216,"integrity":"sha512-gax9Fv6QnouUIT8bhlzcKO717dkeEGEHec5HpwshhNsnbidhwdm6XpGTluEy7TjtUsBBfMO35n7tWxcqjRYVGA==","signatures":[{"sig":"MEUCIAKS1fzl7X061YZvzeCGnysqO+tH6/gOCF/SOtu3ShesAiEA9kUY6mW0DOP+MQs3d9G6WAc8Pq2rQWlOaP42j3oiAlI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":503307},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"d23e25a61132f28b5794f4ee075746674d23c2c5","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.2_1729376996031_0.33345791495369914","host":"s3://npm-registry-packages"}},"5.9.3":{"name":"@bechara/crux","version":"5.9.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"7818d380eec8403cbf8d101dd1d1fc6fe8a5a014","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.3.tgz","fileCount":216,"integrity":"sha512-tw1MHoqka3eDZEP1lL0ZPzrVeLjfjKReVFKsxlf7wceDBSrG192vLP+qf2ScAtCuMSV1m/f4j/GNhNIi5HT8Xw==","signatures":[{"sig":"MEUCIGxfqzApj38cvJE8EX7cFuOVPqHVeBNg4+GC8OA/dD2VAiEAhmmzHdCAcktKu/cMTJNym6Q41NJubfHB/lwefurVEFU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":503413},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"37f6ad9cef040496cc06c7f86d55398f2dbe69d4","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.3_1729560290839_0.2125469184302502","host":"s3://npm-registry-packages"}},"5.9.4":{"name":"@bechara/crux","version":"5.9.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"e6b79961b60462968f67837e2ff55c3d6c68e3f2","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.4.tgz","fileCount":216,"integrity":"sha512-FuwcqVAnMQ3lgB42deiPRDqPVa4y9rTQNYjip/zX6wSh8Kqy+J4JwSSJtAZ7cvRwME4uH8NmI2Lffs0QFykt1g==","signatures":[{"sig":"MEQCIDwVBZHQpi18YCdMP+bCieLm6iPDgCC0/2cnuZsVg9l1AiBbwlu5hmHPTQrnR4Oli5LL0G6EQaHzFIRpQTvyyiZf4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501505},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"610686018c1d54ef232b29e6747aadaa0a2644e6","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.4_1729694033818_0.5610175824541379","host":"s3://npm-registry-packages"}},"5.9.5":{"name":"@bechara/crux","version":"5.9.5","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.5","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"125a63897475633687b49d0c5d34f506e4749c03","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.5.tgz","fileCount":216,"integrity":"sha512-a+aQFHDnyhoW/SvWQwpM+r+nwCU2kbRYOdKHuW9TU8lxDYZB7JQDOVuhlYNgNMh0FUTa+n9NFC6nyex65jbVBg==","signatures":[{"sig":"MEQCIB6bQBQ/cuCi6EdZI/UD9/C4j4rIJslqB+m0AqYLbW8pAiBpAQmcdSdOSfv7fxFJJlN/jiitCd4nwMIIBWRBhzeVlA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501995},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"7f8b0fc916d1b68dd1d694ab9e39693ea11cc767","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.5_1729694606505_0.35491751177654796","host":"s3://npm-registry-packages"}},"5.9.6":{"name":"@bechara/crux","version":"5.9.6","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.6","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"e2cd92f2650cadc85d6cfd1b884c2f7994eb82ff","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.6.tgz","fileCount":216,"integrity":"sha512-moV5YvAePcrkGdQ2EzmqYjPQNa98nJkHf9Eo5Zbmb5wB4ANp1X8PNhpQrMXXtExKNL8ycxLomWrimNMFqGFcJQ==","signatures":[{"sig":"MEQCIAiCzpMTmPdYKY1wGifrX5Qpuzl27tf/i/kmi7w9OY0vAiARRqbrt6h4fO2qa6lx00LU2/Mu+FFKpC+kK55x/K1/tA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":501995},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"470cad0725302dd03f1493509f020c09c26a93b3","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.6_1729695033767_0.7315535489535794","host":"s3://npm-registry-packages"}},"5.9.7":{"name":"@bechara/crux","version":"5.9.7","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.7","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"67e95dbecfe8ffcc2f7a1a363649fc532f69d292","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.7.tgz","fileCount":214,"integrity":"sha512-UGjIrhMPvCFCkwJV3PQnxvSmb/gzELFSA92P74Lt2UWoYeMrmHoKrZ0ZpjFxv907ICxlV5TyOUXdrQCvjCYHOQ==","signatures":[{"sig":"MEUCIQCqSTLxCryTvLfdOoBJNH8te3BMG7h/Y/6B3WwF9JTSlwIgF3F0X8UIzt6uPMKDCTrx+hMBTgsDSTaOmT8E5FT0CNo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":498683},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a056dc26962e014b5c195bb2d8c92004b891fd2a","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.7_1731366052491_0.6766272962525546","host":"s3://npm-registry-packages"}},"5.9.8":{"name":"@bechara/crux","version":"5.9.8","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.8","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"32deb252b0452a7dc433f1cf7312c447978d80db","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.8.tgz","fileCount":212,"integrity":"sha512-iixJiLK3WLa12HNdyM06lR52E9UrGgrYXraTMmRX3qSJm2D8vWMyZ2WbpAy+uSeQHE/DcweXv2J3YVp75vyV6A==","signatures":[{"sig":"MEQCIDs2BSzPNFYeSihGnsYOvb2/QX2MoYhYc/QKeO+FS6FkAiALnceQ/SfT7lzsnRXfmMaAQZUkFxe6iPuUEnSOoQRPxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":496206},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"e36aa9f341d482d3a28286b5b1b0a4cbf0f5422b","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.8_1732227754275_0.7275262738317145","host":"s3://npm-registry-packages"}},"5.9.9":{"name":"@bechara/crux","version":"5.9.9","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.9","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"5e7bcbd180a560e636bcb0e1fdf9bb8ac61e0640","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.9.tgz","fileCount":212,"integrity":"sha512-NrBId/xFMhiqpLOCrpQlzq/AmBlEnErTMW+1ky9IthDLEGm4WLLQ/S9o3S9WBHxxsdfSlT0hOjT7jAVa9dPhCQ==","signatures":[{"sig":"MEYCIQDXLKDOXup5znhqaRa9eUXDORgSvZY4cCT8P32WKVg9gwIhAIn04i7U7ihv1ulXySMXrZk9VgNlLZu2V9C+M+s5rP0Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":496494},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"e738a34a3b3e6e32f9fbdccad0d267a122647e1a","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.0","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.9_1732228847576_0.38523215687345447","host":"s3://npm-registry-packages"}},"5.9.10":{"name":"@bechara/crux","version":"5.9.10","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.10","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"9b098a773a8d6d8c20dfd831069465785b6af299","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.10.tgz","fileCount":212,"integrity":"sha512-S9dTI5OHu1o9+52zqi4v7hKZNSztLHM29k1xuJjRNFMFSkci3KyuunXv+N1gfTwcZPioGG69jRAh3BBY0knfLw==","signatures":[{"sig":"MEQCIH+4eFzwJDumlXWUwPee686b00VvnhKVKkS61KUWpuxmAiBXAGy9xT2QRqxFzqtI0aNMuVrlWJopoWaGnibpUUeJeg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":497087},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"f0ca31a18cdd71543fd14ac2c51fc2944f78b45c","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.1","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.10_1736022596420_0.960210338544432","host":"s3://npm-registry-packages-npm-production"}},"5.9.11":{"name":"@bechara/crux","version":"5.9.11","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.11","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"b284b2495d47c3fe710133fc0da06efcaa92153d","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.11.tgz","fileCount":212,"integrity":"sha512-Pr7eu3rGp0pF/vrbR3wDbik+5XVoWoLJY+fFONxLWExjfWjn+6fOUVK+hI/XTEMdBf9Nz6uVrGSbsX1JzNIITQ==","signatures":[{"sig":"MEUCIQCfvTHfkOmOAeBxqSPHrUAYxsPeoV//05odJAttl2Rh/AIgEtmQxES2hj1ZhfiSnJn53FDqS+YT42w9HjGKUKzJuFE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":497108},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"64cdc459a940f7107849f1ac6ee024d70065f752","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.1","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.11_1736457165586_0.37250111510183226","host":"s3://npm-registry-packages-npm-production"}},"5.9.12":{"name":"@bechara/crux","version":"5.9.12","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.12","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"b8ffa3c0b17fd0ed97de761d93504b25b1cc7f61","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.12.tgz","fileCount":212,"integrity":"sha512-52nGqZa4FcZHX80uDJ5pF9a+Q5zZ5GxpJpTEhDAXSqIeOY8p/KjHU1cvCh4pbBTz+Po/CGwDd3N5I3Ehx60z4Q==","signatures":[{"sig":"MEUCIEgIkDPmFr4g8Fo/Mx07N+9m8qmA9kJpgPlydDU1MhPKAiEA8Dk0+4ibRcuXtMyuXwsRAuVlit1SXncjyUalMQELf44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497702},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"ead0071abdd0a37b29aadb4d5969675bd4a99668","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.1","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.12_1737996751702_0.10118160300344448","host":"s3://npm-registry-packages-npm-production"}},"6.0.0-alpha.1":{"name":"@bechara/crux","version":"6.0.0-alpha.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.0.0-alpha.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"d61bcceff4a9eb7887a20635579c358595731d28","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.0.0-alpha.1.tgz","fileCount":211,"integrity":"sha512-boqj9NUuZ/yrm4pjpWx/o6bYv6wqCpDKV10P8G32IiA7jNd4unyaG2IwdW3xjr4pZNUwd1kikEQbIavVnZz42A==","signatures":[{"sig":"MEYCIQCx7RMrB0FzsiC8lZFoeYIBtT04gcHR4nL1/+IjZ7vUeQIhAOkNgl5SUraaRuEk6/NTYziRlKWQwt0VXgxYDursRQbE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":486094},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"bb721e06103068e3825691a2c19bb80680c88bcd","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& pnpm -v","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.2","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@fastify/static":"8.1.0","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.0.0-alpha.1_1739908917805_0.6665909364723033","host":"s3://npm-registry-packages-npm-production"}},"5.9.13":{"name":"@bechara/crux","version":"5.9.13","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@5.9.13","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"434a0dd15883d78135962da49b886218d78aa4f3","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-5.9.13.tgz","fileCount":212,"integrity":"sha512-mF3Fvnx0gMDHmZ6wjhfZY5abphGY28QqVxXf3utf6o2N5q1+YYtLfBsDpMMXoucrfDsQ2XIi5qcqg7qxjSN3Kw==","signatures":[{"sig":"MEYCIQCcYrP/dm30kgFfYA8+teFsdI5936FuiTMxdDla0IO1iQIhANnkrDTjj2Vm4NkBEJ+UKbzSCJw35nj4CSjsSdLCZI54","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497693},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"519297a806f10315d0ef9db1c1e5a68e323e1ec9","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& eslint **/*.ts --max-warnings=0","test":"pnpm test:up && pnpm test:jest && pnpm test:down","build":"rimraf ./dist && pnpm build:index && tsc -p tsconfig.build.json && pnpm build:assets && pnpm build:cleanup","example":"pnpm example:build && cd example && docker-compose up --build","prepare":"node -e \"try { require('husky').install('.config/husky') } catch(e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"","release":"semantic-release","test:up":"cd test && docker compose up -d","test:down":"cd test && docker compose down","test:jest":"jest --forceExit --config .config/jest/.jestrc.json","build:index":"rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source","build:assets":"copyfiles -u 1 ./source/doc/doc.view.hbs ./dist/","build:cleanup":"rimraf ./source/index.ts","example:build":"rimraf ./example/application/crux && pnpm build && pnpm example:assets","example:assets":"copyfiles -u 1 ./dist/**/* ./example/application/crux/dist/ && copyfiles ./package.json ./pnpm-lock.yaml ./example/application/crux/"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.18.2","dependencies":{"rxjs":"7.8.1","uuid":"10.0.0","cycle":"1.0.3","dotenv":"16.4.5","ioredis":"5.4.1","snappyjs":"0.7.0","fast-glob":"3.3.2","handlebars":"4.7.8","protobufjs":"7.3.2","prom-client":"15.1.2","@nestjs/core":"10.3.9","query-string":"7.1.3","@fastify/view":"9.1.0","@grpc/grpc-js":"1.10.9","@nestjs/common":"10.3.9","@fastify/static":"7.0.4","@mikro-orm/core":"5.8.6","@nestjs/swagger":"7.3.1","class-validator":"0.14.1","@mikro-orm/mysql":"5.8.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"5.2.2","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"5.8.6","@nestjs/platform-fastify":"10.3.9","@opentelemetry/resources":"1.25.1","@opentelemetry/propagator-b3":"1.25.1","@opentelemetry/sdk-trace-base":"1.25.1","@opentelemetry/context-async-hooks":"1.25.1","@opentelemetry/semantic-conventions":"1.25.1","@opentelemetry/exporter-trace-otlp-grpc":"0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","husky":"8.0.3","eslint":"8.50.0","rimraf":"5.0.7","ts-jest":"29.1.5","barrelsby":"2.8.1","copyfiles":"2.4.1","supertest":"7.0.0","typescript":"5.2.2","@types/jest":"29.5.12","@types/node":"20.14.8","@types/uuid":"10.0.0","ts-node-dev":"2.0.0","@commitlint/cli":"19.3.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","semantic-release":"24.0.0","jest-sonar-reporter":"2.0.0","@semantic-release/git":"10.0.1","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"19.2.2","@bechara/eslint-config-bechara-ts":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/crux_5.9.13_1740092486047_0.9728645138768839","host":"s3://npm-registry-packages-npm-production"}},"6.0.0-alpha.2":{"name":"@bechara/crux","version":"6.0.0-alpha.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.0.0-alpha.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"0bc3cce8c61eb2e92cbe6ea397cc172228c36fbe","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.0.0-alpha.2.tgz","fileCount":211,"integrity":"sha512-TUZI4CsmeGTPgPi5jDU0IHNn6gT6nOTexDJdRFcixsdHacopEDLCtGHrAeA06rxrBStpzBr5uUJaVBpHAG8BfQ==","signatures":[{"sig":"MEUCIQC8m02OSYrtn48UVAb8RBxBX4zxLgIR3zk48m/YsOlAIwIgIQ4q65f/SYOX9dRl5AasrUjBmg+u50l9a3jUXH38dho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":486094},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"48fb8543dfd0e5f5d3ff0fd8c15ecd632240af98","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& pnpm -v","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.1","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@fastify/static":"8.1.0","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.0.0-alpha.2_1746658817565_0.8593606745026121","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@bechara/crux","version":"6.0.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.0.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"e075a0d2093cc96297d8df0e0dd007e7d894570e","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.0.0.tgz","fileCount":211,"integrity":"sha512-ufSZ69ZkJxZXayk2I0ZDOmp37m3pzRtL0J8idDpgbMWmmlfvhcTkbFmjM+VReonmF9jxGoosVLVuMl+sRDdGOQ==","signatures":[{"sig":"MEUCIQCw2AgRneqO5OqM3nyfMloBj35NUYFYxjhXWCkEoVdd6QIgbVsgh/UWLUF6th1FX5joiVNNFnbgULNi04WtjcPEfDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":486086},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"5a66610a0c2ca67548fc06c70270266ea49edad1","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& pnpm -v","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.1","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@fastify/static":"8.1.0","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.0.0_1746658948290_0.046960071277738935","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"@bechara/crux","version":"6.0.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.0.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"16c790f35beedb969e9440fce89d3e557522f3d9","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.0.1.tgz","fileCount":211,"integrity":"sha512-gMac8qUJgMsk44NHDkcUmfu+ezn/Wxn9KHJumH7WdU1gUlurim1Bhn4NK1dgLfyP3LsHvaoFuThw8dmu0bf9qQ==","signatures":[{"sig":"MEUCIQDD+97zCodtWo1E8d40zPLtwBHNKxAeiqF8U/k42rT8OwIgNzxpd5G1SE7qPCZhHFfPavDvwlj+6FDgQOT223OJwWg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485656},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a7f082d7595a4a3e575deb94c5a0c62d49bd66d8","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& pnpm -v","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.1","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@fastify/static":"8.1.0","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.0.1_1746674400272_0.058390287382133144","host":"s3://npm-registry-packages-npm-production"}},"6.0.2":{"name":"@bechara/crux","version":"6.0.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.0.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"bb964a5dc5c75bf39c4aa5205076c80807bbc62d","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.0.2.tgz","fileCount":211,"integrity":"sha512-1mkNKOwZdD1xXS3BHHUW5V6Sgp3PIa6yiSsApwcLjVkLTprKscKd5rgS6y51rVGIn/fSvH1oXAehyk0cuAUA9A==","signatures":[{"sig":"MEUCID/xlNlJdESDSRuQuwMyVSWtmuARuKzKB3XfXB5uaGioAiEA6YYjn4cGToBoIhXAY+Vp5MOwrtIdYEgogoyQHQ9f7Qc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485895},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"4194c0799672843389cc7a7d5a255b602b264a4e","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& pnpm -v","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.1","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@fastify/static":"8.1.0","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.0.2_1746675374491_0.6597886916805451","host":"s3://npm-registry-packages-npm-production"}},"6.0.3":{"name":"@bechara/crux","version":"6.0.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.0.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"47a7b60be80db0b649962266f145a2c212ccce72","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.0.3.tgz","fileCount":211,"integrity":"sha512-Ctq/wuZvlbZH8QeK72wSfdeV1hOAGiLpThPYCs7JK4gL9DDo4+X42xZM05jafKM/ZH3K8oTOFCbok8Qu0PPSZg==","signatures":[{"sig":"MEYCIQDeUt+dOpDXu5gdBJlc0wPwPq95xem/OaaT8PtSCuWHdwIhAK7FG0tH5PDrloZSf4DmaDS2iKelssn85J3yfHWbXJdi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":486022},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"c790047d0297efe5b9eb8836988c377b7383466f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& pnpm -v","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.1","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@fastify/static":"8.1.0","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.0.3_1747248546488_0.1430470778669386","host":"s3://npm-registry-packages-npm-production"}},"6.0.4":{"name":"@bechara/crux","version":"6.0.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.0.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"5d66435a9ae84a6b923a083f2c9db8a5d898c9de","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.0.4.tgz","fileCount":211,"integrity":"sha512-Z9lftlPSmHKVRaWyujtUXuefmUs1r7bxzA1SVqihCP9fBhK7puj0mj79KRm7Rl8ejGeiRJAjx8aSIE5wOOFUDQ==","signatures":[{"sig":"MEUCIF4Yp3yMulDfhGA2ub3OtaXtZJL00003Lsh+Ikgo/qc1AiEAgpgtaxOixHgSzv9CopsbFCyFPSUDDnVjPfydgNAKa1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":486225},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"0b7c3a9930d0d7437b0f5d5aa89df2e99d11d661","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"export TIMING=1 || set TIMING=1&& pnpm -v","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.1","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@fastify/static":"8.1.0","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.0.4_1747414543176_0.734101659661913","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"@bechara/crux","version":"6.1.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.1.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"46f24b0e4e979897dffabe893f22c0e4a5613a3e","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.1.0.tgz","fileCount":211,"integrity":"sha512-7lC61v/YWUvYDN4tG0k5bdFMWE9SqNTpMwslqMhw7c82RemajqDCq6PkWA0vEhfLqqFtPP337h08LhRgxOQNKw==","signatures":[{"sig":"MEQCIBtVvfFvTUg2ejv0RhciLlJY1I1F+/Xpk7x7NgPS+NK7AiAgnm3Nuz4qQbX2CR/iYsZppTPM8nnWJ4onkEl5coRdxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482217},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"d78ae71e624208f1cb63d9d648a60e7127c639f2","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.1","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@fastify/static":"8.1.0","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.1.0_1747927353080_0.9972445258867997","host":"s3://npm-registry-packages-npm-production"}},"6.1.1":{"name":"@bechara/crux","version":"6.1.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.1.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"464d3e0911e1d5196b1113727edccbda985c275c","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.1.1.tgz","fileCount":211,"integrity":"sha512-geFmwBkaF0gMSgY0rLwDI+2u8aONFj4/4x5JSwLt6H7Y/FOZDQrBXbpeQUiGYHLNLcwMoSGoXRTv3s7ElCTFrA==","signatures":[{"sig":"MEUCIQDBq6Ll1I9GPXHOiZuoLFbnbxQvV3eKZVUMLI6fkvCNzwIgICOsvKd5VmqryU/uDrXUJ9NuJ4mhQvBvwM4DbfLYw6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482192},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"ffc3886e11919359540acd1275acb631363bc2a3","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.1","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@fastify/static":"8.1.0","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.1.1_1748010317251_0.4418907680557893","host":"s3://npm-registry-packages-npm-production"}},"6.1.2":{"name":"@bechara/crux","version":"6.1.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.1.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"320c423f7137d8f212fe7895dcee21e90b95db5a","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.1.2.tgz","fileCount":211,"integrity":"sha512-X88CsrImrow3qmS26vh9aEml0jcXzMIIoeHsLBsJYeJWKZfv8bpCYslkHMVYwZt+AEMEdeVvMzEd0fyuTjw2tQ==","signatures":[{"sig":"MEUCIQDGWchKRnwO3bWqNRfDXBecCN87/G8Ob2wZaWG62eZWwgIgYi7rzn3yh6duKzaRV1RXbN9D5+7WkNm1TgPENfrXfNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482199},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"9091e936738621cfe5c598887bbe86034ad9d71f","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.1","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@fastify/static":"8.1.0","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.1.2_1748540660164_0.9749532154523164","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"@bechara/crux","version":"6.2.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.2.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"661327bb04ee9c2b058c830cb15ed67c20f1c24e","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.2.0.tgz","fileCount":211,"integrity":"sha512-Ma5+KruV7ti7YL7YYhPG+bAhU2/fJRadLT1piNLNJng6mNmhUFCW3VklA604mn+bO2PHvk/ivteXVNd/t4avxQ==","signatures":[{"sig":"MEUCIBUEebjWz2t/aauZgUgKMoJf63c5f69N0bDYI0dFsGaXAiEA7x2szShVhjfvYr2/peUO4Nl3Ke0jTupeFnkLR/oIW3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483473},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"e48bdcaf4bfaf5fbcb18458c4e3ddee05c56e31e","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.1","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@fastify/static":"8.1.0","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.2.0_1749318155823_0.7517920728395597","host":"s3://npm-registry-packages-npm-production"}},"6.2.1":{"name":"@bechara/crux","version":"6.2.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.2.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"1d01b9351ed44db6db484d8d449cc7aa5aa16696","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.2.1.tgz","fileCount":211,"integrity":"sha512-hS/b/ItqaVZitVXSY1To5Z7fUCYww6iOV0pZ+oLKOr5NyP8vz0UXljEO655XsvAv3vjCYRpuABrCiFwSLznPsQ==","signatures":[{"sig":"MEUCIQCzfhKSxlq1MsTyJgalp7i3a6aRJAMTxSO1G66U9Ri5NgIgAdb/VOqQVoO+GbEv55XnW6mAXBndTgzVmT3I7QGp33U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483021},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"ab5d914bba17d069f671f3608087c33e1674491b","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.2","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.2.1_1749737056732_0.05720015293135594","host":"s3://npm-registry-packages-npm-production"}},"6.2.2":{"name":"@bechara/crux","version":"6.2.2","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.2.2","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"3632f97456c4a67953201d33a566497c5a55ddc1","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.2.2.tgz","fileCount":211,"integrity":"sha512-IEGmzgWzfFNzkewRlq+uAgUptCvh7N8A8VgTHUteJb61Ul3i5VFZ5xo9+L2Pn6XcxSq0x7TQJYeK8Q9J5kinDw==","signatures":[{"sig":"MEYCIQCiBd/s3/k/NtJ2Iz+MVQduS6gNFwoxGpaqZL6KaSaXmgIhANdyWfPlb3flTucZg56RX3J4GgvRIYLjyFbIp/csFb38","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482924},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"6c14543e3f6749e869663074355b9d01d33e9755","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.2","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.2.2_1749738593746_0.04719039801550862","host":"s3://npm-registry-packages-npm-production"}},"6.2.3":{"name":"@bechara/crux","version":"6.2.3","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.2.3","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"937f8bd1f58667d47a106f9e990d92c4aa1b6c97","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.2.3.tgz","fileCount":211,"integrity":"sha512-r+yiQ3Ywd1Z35/pSjb8CbBminoAuCfAwoKWOiUfuolkLMngXWweopcBfyXqD8egOdMTXy2IwiG3S2AzC7h4HLA==","signatures":[{"sig":"MEUCIB7RTSdkwaONq2pY7sCnZoA71Ed79/pWmWSNP5KTgDBVAiEAruQPaDuG2XGTMxBe35vddqbPk2RhYGVQ33Wt0vJ+7wI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483346},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"dd9a40fe91e6b6f6e38674402fc20f2eb24518cf","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.2","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.2.3_1749739328887_0.24666636277211795","host":"s3://npm-registry-packages-npm-production"}},"6.2.4":{"name":"@bechara/crux","version":"6.2.4","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.2.4","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"b03c07d226b0c64ce369246b9e385ec6df6be088","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.2.4.tgz","fileCount":211,"integrity":"sha512-a16mdem8hnQzKF6kPmEhrwXtn/9lQMPBFJKq6aeHCrE3TlWt0EI+n029ADJ+zkHaT/M61WN0cCCMVFfEMq4ZDA==","signatures":[{"sig":"MEQCIFq5qjiBJFixEFLEvCR4yhi+pt0GTvw2r55Ctc/XEs4KAiA3HCUzvCGUPIA2qgoges4giRccqjPLCth96EG3e6U9mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482924},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"f5b58913c6a9f3e86f37d0a590dc964fd7834d47","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.2","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.2.4_1749740177823_0.2142049143613638","host":"s3://npm-registry-packages-npm-production"}},"6.3.0":{"name":"@bechara/crux","version":"6.3.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.3.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"7c5db0842b2a5305d5a62b34fe85f3fe4050e376","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.3.0.tgz","fileCount":211,"integrity":"sha512-ZpIBV961k8yIgJbxhiFGPGC6WoO9WdJAYWPRBckcSaz3YsNL4PkG6tNhCBz9BUzXKvKCo6wRdqekKL8o7lx0BA==","signatures":[{"sig":"MEYCIQDidTyz9lp0pGVq9n0RnkKve4QOjJI9PG0L/D6k+mnvNQIhAI5YC9GbdLjfUG6+iVFSGWwXmu6qqZuzPViTRMwLe6Zq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483250},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a8387bbd848cf7eed79e706f286a81c20740e876","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","actor":{"name":"bechara","type":"user","email":"bechara.etienne@gmail.com"},"email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.2","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@fastify/multipart":"9.0.3","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.3.0_1751640450199_0.024682751143632498","host":"s3://npm-registry-packages-npm-production"}},"6.3.1":{"name":"@bechara/crux","version":"6.3.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.3.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"0fb3850b8f6bd687757bcdddcfb36bb1a1b88126","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.3.1.tgz","fileCount":211,"integrity":"sha512-N/b7LiY1vZpthsLRDjs7zWu2sLxTWKDbR88s+IEkNpcp76nVS5cZK8eieyCEEhGdYvvYGJGedzZSiFozsLlH1A==","signatures":[{"sig":"MEUCIQDa+2CwT2VaBkZAK6BNuqWvWaRCNdZlqHJDqLAX4F0IygIgW1eP0Gz1UuggJ5CkhroepBXRo0DQ0h/dUOuLJaDwk9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483256},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"344f4fab1e8c648e679a52cb4bb73a2ac8e0b6c9","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","actor":{"name":"bechara","type":"user","email":"bechara.etienne@gmail.com"},"email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.2","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@fastify/multipart":"9.0.3","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.3.1_1751641112561_0.709425549803745","host":"s3://npm-registry-packages-npm-production"}},"6.4.0":{"name":"@bechara/crux","version":"6.4.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.4.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"9a1740d4fff33f6b44f2ca06f7d432ad70959c50","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.4.0.tgz","fileCount":211,"integrity":"sha512-N+2Tc/VdFdIspzIiS9ExlN+yB3NLKjqTDSN9y+pHegflNucvkTxiuAIw719HYcTRCz6gGJl9xnrjpPTs1T56lQ==","signatures":[{"sig":"MEQCIG+PSWY/oY22CQg/L5PnyxGZrRIv9bBSn3EPcKUGaYnOAiAaIcEXWHk18tfmvGi1h//cK9TOtEuRvl0W3sXz23bwRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483500},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"35ab045c5ee82d1c2a0b8fe24efcc7f6f3760cd9","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.4","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@fastify/multipart":"9.0.3","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.4.0_1756404448700_0.19296285620401554","host":"s3://npm-registry-packages-npm-production"}},"6.5.0":{"name":"@bechara/crux","version":"6.5.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.5.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"468541ea2367fd79d6400fcc77c4f5b32e47d8e1","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.5.0.tgz","fileCount":211,"integrity":"sha512-83ENviOR/KUVhPFZNgUlvWWw1f6RKCPYjHyoy5wLmfjPqqZyq07liMCiuAJkuRFNEJZVeriteocjYeoCfXj2Sg==","signatures":[{"sig":"MEUCICDEpHPf/IXYQ8eil/Sd1jinZnKaHX2OkFLg5gijQOrWAiEAs/ae5g6qY/VWRJC/4igWm2OpnrWM+ItDpUKWnZhaLjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484515},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a006ccb0c83f86039ac30c9607d9401708aac805","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.4","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@fastify/multipart":"9.0.3","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.5.0_1757083631395_0.10750410365985053","host":"s3://npm-registry-packages-npm-production"}},"6.6.0":{"name":"@bechara/crux","version":"6.6.0","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.6.0","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"021ffdcf48a3e69d9c6676810267f83bd32eae4e","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.6.0.tgz","fileCount":211,"integrity":"sha512-XFUUQrCG+Xiq52aLAjkrY2oMhmjUsG3/wXOgxN10NkAzUYaCi+XqN9/fPuYY2bsY4Lpp2ADUIQStqaRTD3JkCg==","signatures":[{"sig":"MEQCIGx5Zwo21s+zFEcOgG3yu4SONHUZguDmcMAanpLx/N/VAiBlDP+LLsnDez5XcP1sC6eO59VnFlEWIW8GgRLfso72mA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484639},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"be467a83e20404baea57ddea25f341e35ca4d6a7","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.5","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@fastify/multipart":"9.0.3","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.6.0_1758662862945_0.4636331804144209","host":"s3://npm-registry-packages-npm-production"}},"6.6.1":{"name":"@bechara/crux","version":"6.6.1","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","_id":"@bechara/crux@6.6.1","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"homepage":"https://github.com/etienne-bechara/crux#readme","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"dist":{"shasum":"7ff4fd0a05c494f72dee567e133cf72fa401075c","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.6.1.tgz","fileCount":211,"integrity":"sha512-QbIFCtYHEaom2RXb0Uo+e2N033jpu24FNgRYNmT9CnTM1u/DP2+yPa1esCInbIk8GGg/Egl9zO63vnr6KcFFjw==","signatures":[{"sig":"MEYCIQCHL8KtNsFnNgGj54zVTA0S7wjv20o6aKHlDhuJcgfPhQIhAJNxyonlrnn6uZYee+7Ujga8zSskYQ09d3hZARuqqI4U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484860},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"a2d93deca12d87b5ac1380940e0bd91b0fa98092","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql"},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"repository":{"url":"git+https://github.com/etienne-bechara/crux.git","type":"git"},"_npmVersion":"10.8.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","directories":{},"_nodeVersion":"20.19.5","dependencies":{"rxjs":"7.8.1","dotenv":"16.4.7","ioredis":"5.5.0","snappyjs":"0.7.0","fast-glob":"3.3.3","protobufjs":"7.4.0","prom-client":"15.1.3","@nestjs/core":"11.0.9","query-string":"7.1.3","@grpc/grpc-js":"1.12.6","@nestjs/common":"11.0.9","@mikro-orm/core":"6.4.6","@nestjs/swagger":"11.0.3","class-validator":"0.14.1","@mikro-orm/mysql":"6.4.6","reflect-metadata":"0.2.2","@mikro-orm/nestjs":"6.1.0","class-transformer":"0.5.1","@fastify/multipart":"9.0.3","@opentelemetry/api":"1.9.0","source-map-support":"0.5.21","@mikro-orm/postgresql":"6.4.6","@nestjs/platform-fastify":"11.0.9","@opentelemetry/resources":"1.30.1","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","rimraf":"6.0.1","ts-jest":"29.2.5","barrelsby":"2.8.1","supertest":"7.0.0","typescript":"5.7.3","@types/jest":"29.5.14","@types/node":"22.13.4","ts-node-dev":"2.0.0","@biomejs/biome":"1.9.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","jest-sonar-reporter":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/crux_6.6.1_1758752358691_0.22153433247274568","host":"s3://npm-registry-packages-npm-production"}},"6.6.2":{"name":"@bechara/crux","version":"6.6.2","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/etienne-bechara/crux.git"},"license":"MIT","main":"dist/index.js","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/changelog","@semantic-release/git","@semantic-release/github"]},"scripts":{"dev":"pnpm mysql && tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./dev/main.ts","build":"rimraf ./dist && rimraf ./source/index.ts && barrelsby -q -e \\.spec\\.ts$ -d ./source && tsc -p tsconfig.build.json && rimraf ./source/index.ts","lint":"pnpm biome check --max-diagnostics=none --log-kind=compact","mysql":"docker start mysql || docker run -d --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=crux mysql","test":"docker compose -f ./test/docker-compose.yml up -d && jest && docker compose -f ./test/docker-compose.yml down"},"dependencies":{"@fastify/multipart":"9.0.3","@grpc/grpc-js":"1.12.6","@mikro-orm/core":"6.4.6","@mikro-orm/mysql":"6.4.6","@mikro-orm/nestjs":"6.1.0","@mikro-orm/postgresql":"6.4.6","@nestjs/common":"11.0.9","@nestjs/core":"11.0.9","@nestjs/platform-fastify":"11.0.9","@nestjs/swagger":"11.0.3","@opentelemetry/api":"1.9.0","@opentelemetry/context-async-hooks":"1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"0.57.2","@opentelemetry/propagator-b3":"1.30.1","@opentelemetry/resources":"1.30.1","@opentelemetry/sdk-trace-base":"1.30.1","class-transformer":"0.5.1","class-validator":"0.14.1","dotenv":"16.4.7","fast-glob":"3.3.3","ioredis":"5.5.0","prom-client":"15.1.3","protobufjs":"7.4.0","query-string":"7.1.3","reflect-metadata":"0.2.2","rxjs":"7.8.1","snappyjs":"0.7.0","source-map-support":"0.5.21"},"devDependencies":{"@biomejs/biome":"1.9.4","@types/jest":"29.5.14","@types/node":"22.13.4","@types/snappyjs":"0.7.1","@types/supertest":"6.0.2","barrelsby":"2.8.1","jest":"29.7.0","jest-sonar-reporter":"2.0.0","rimraf":"6.0.1","supertest":"7.0.0","ts-jest":"29.2.5","ts-node-dev":"2.0.0","typescript":"5.7.3"},"_id":"@bechara/crux@6.6.2","gitHead":"d835151dd02dca43a39d7eb3f7f79568cdf9e934","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"homepage":"https://github.com/etienne-bechara/crux#readme","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-vfdI80IytNMw9INEEoGarreqEXPDv9mpSL8UWrJy263Ch3hlMIXGDUnuS9Wf3rv206jyhkfm6DLelwNpknF2fg==","shasum":"f333cb133efd26d5e403874e8050d22a77010611","tarball":"https://registry.npmjs.org/@bechara/crux/-/crux-6.6.2.tgz","fileCount":211,"unpackedSize":484724,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCyIbPGcuiO8HC9RQqXJFcVtN4M7wrAIEY8m0qS5TBoHAIhANL6a/bRQjNRHpAuNTjjTkc6+qpcC/LX6m86gIYIDZ/l"}]},"_npmUser":{"name":"bechara","email":"bechara.etienne@gmail.com"},"directories":{},"maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/crux_6.6.2_1761415660271_0.9186778292379847"},"_hasShrinkwrap":false}},"time":{"created":"2022-09-10T20:41:48.950Z","modified":"2025-10-25T18:07:40.700Z","4.23.1":"2022-09-10T20:41:49.171Z","4.24.0":"2022-09-15T20:27:56.924Z","4.24.1":"2022-09-15T20:43:38.669Z","4.24.2":"2022-09-16T22:34:24.567Z","4.24.3":"2022-09-17T12:24:43.550Z","4.24.4":"2022-09-19T19:36:26.930Z","4.25.0":"2022-09-20T15:03:47.138Z","4.25.1":"2022-09-29T17:05:50.959Z","4.26.0":"2022-09-30T01:07:38.409Z","4.26.1":"2022-09-30T01:35:04.019Z","4.26.2":"2022-10-01T06:13:14.611Z","4.26.3":"2022-10-01T12:08:23.228Z","4.27.0":"2022-10-01T14:50:13.177Z","4.28.0":"2022-10-02T02:36:02.547Z","4.29.0":"2022-10-03T04:30:57.446Z","4.30.0":"2022-10-04T01:58:54.044Z","4.30.1":"2022-10-04T22:50:04.672Z","4.30.2":"2022-10-04T23:30:19.365Z","4.30.3":"2022-10-06T23:39:35.841Z","4.30.4":"2022-10-10T20:11:05.734Z","4.30.5":"2022-10-10T23:21:26.583Z","4.30.6":"2022-10-12T04:26:22.871Z","4.31.0":"2022-10-15T15:36:39.321Z","4.31.1":"2022-10-15T16:12:44.880Z","4.31.2":"2022-10-17T01:05:29.656Z","4.31.3":"2022-10-17T01:17:34.236Z","4.31.4":"2022-10-17T03:25:13.100Z","4.31.5":"2022-10-17T21:35:20.326Z","4.31.6":"2022-10-17T21:50:44.506Z","4.31.7":"2022-10-18T06:06:33.689Z","4.31.8":"2022-10-18T06:28:51.071Z","4.32.0":"2022-10-18T16:29:34.258Z","4.32.1":"2022-10-18T17:56:29.244Z","4.33.0":"2022-10-21T02:27:10.760Z","4.33.1":"2022-10-21T02:40:48.780Z","4.33.2":"2022-10-26T23:52:27.411Z","4.33.3":"2022-10-27T00:12:20.145Z","4.33.4":"2022-10-27T14:04:43.659Z","4.33.5":"2022-10-29T02:57:18.022Z","4.33.6":"2022-11-01T23:35:50.987Z","4.33.7":"2022-11-04T02:31:16.164Z","4.33.8":"2022-11-05T02:34:44.765Z","4.33.9":"2022-11-05T16:53:31.908Z","4.33.10":"2022-11-05T17:03:20.038Z","4.33.11":"2022-11-10T02:52:06.478Z","4.34.0":"2022-11-10T03:03:56.871Z","4.34.1":"2022-11-16T22:11:17.303Z","4.34.1-beta.1":"2022-11-19T17:02:58.058Z","4.34.2":"2022-11-19T18:01:15.714Z","4.35.0":"2022-11-24T11:20:42.485Z","4.35.1":"2022-12-02T00:17:07.055Z","4.35.2":"2022-12-07T21:48:28.806Z","4.35.3":"2022-12-14T19:57:57.352Z","4.36.0":"2022-12-19T22:06:29.955Z","4.36.1":"2023-03-14T01:11:23.820Z","4.36.2":"2023-03-14T02:17:32.084Z","4.36.3":"2023-03-14T02:28:51.101Z","4.36.4":"2023-03-14T02:46:26.709Z","4.36.5":"2023-03-18T02:24:55.130Z","4.36.6":"2023-03-18T02:31:41.759Z","4.36.7":"2023-03-26T03:46:14.893Z","4.36.8":"2023-03-29T13:44:53.786Z","4.36.9":"2023-04-17T21:39:52.097Z","4.36.10":"2023-05-17T20:46:13.112Z","4.36.11":"2023-08-18T13:57:25.884Z","4.36.12":"2023-08-19T03:49:19.810Z","4.36.13":"2023-08-19T04:28:50.193Z","4.37.0":"2023-08-21T18:44:06.538Z","4.37.1":"2023-09-07T11:39:57.607Z","4.37.2":"2023-09-14T18:14:28.291Z","4.38.0":"2023-09-15T21:57:36.568Z","4.38.1":"2023-09-16T01:22:12.729Z","4.38.2":"2023-09-16T01:45:45.584Z","4.38.3":"2023-09-16T15:20:57.695Z","4.38.4":"2023-09-16T16:06:55.286Z","4.38.5":"2023-09-18T17:02:09.042Z","5.0.0":"2023-09-22T00:46:48.573Z","5.0.1":"2023-09-22T00:56:21.101Z","5.0.2":"2023-09-22T01:43:07.058Z","5.0.3":"2023-09-22T02:31:34.032Z","5.0.4":"2023-09-22T02:56:20.947Z","5.0.5":"2023-09-22T14:29:49.633Z","5.1.0":"2023-09-22T16:44:45.869Z","5.1.1":"2023-09-22T16:55:27.581Z","5.1.2":"2023-09-22T17:47:12.753Z","5.2.0":"2023-09-26T02:13:00.209Z","5.2.1":"2023-09-27T20:09:31.179Z","5.3.0-beta.1":"2023-09-27T21:55:05.986Z","5.3.0-beta.2":"2023-09-27T22:27:17.275Z","5.2.2":"2023-10-02T23:39:22.645Z","5.2.3":"2023-10-11T21:29:18.701Z","5.3.0":"2023-11-01T00:25:05.292Z","5.3.1":"2023-11-01T14:10:26.153Z","5.3.2":"2023-12-22T19:27:05.723Z","5.3.3":"2023-12-22T19:42:46.873Z","5.3.4":"2024-01-19T13:09:32.248Z","5.3.5":"2024-01-19T14:01:37.287Z","5.3.6":"2024-01-26T14:48:47.879Z","5.3.7":"2024-01-26T15:29:27.106Z","5.4.0":"2024-02-01T21:41:37.365Z","5.4.1":"2024-02-01T21:56:27.209Z","5.4.2":"2024-02-02T15:47:34.921Z","5.5.0":"2024-02-16T23:03:32.100Z","5.5.1":"2024-02-17T15:11:58.278Z","5.5.2":"2024-02-17T16:11:07.052Z","5.5.3":"2024-02-17T16:23:09.452Z","5.5.4":"2024-02-21T13:41:03.297Z","5.5.5":"2024-02-21T14:27:08.779Z","5.5.6":"2024-02-21T18:50:46.023Z","5.5.7":"2024-02-28T16:06:14.745Z","5.5.8":"2024-03-02T19:47:21.721Z","5.5.9":"2024-03-11T17:35:51.721Z","5.6.0":"2024-04-13T05:12:15.993Z","5.6.1":"2024-04-13T19:15:33.700Z","5.7.0":"2024-04-22T01:07:03.168Z","5.7.1":"2024-04-22T04:12:32.529Z","5.7.2":"2024-04-28T22:00:54.152Z","5.7.3":"2024-06-23T23:33:12.042Z","5.7.4":"2024-07-16T19:58:26.808Z","5.7.5":"2024-07-16T20:53:08.450Z","5.8.0":"2024-08-01T20:42:11.996Z","5.8.1":"2024-08-24T14:50:37.827Z","5.8.2":"2024-09-02T22:00:04.678Z","5.9.0":"2024-09-28T18:47:13.858Z","5.9.1":"2024-09-30T02:55:57.024Z","5.9.2":"2024-10-19T22:29:56.310Z","5.9.3":"2024-10-22T01:24:51.067Z","5.9.4":"2024-10-23T14:33:54.086Z","5.9.5":"2024-10-23T14:43:26.778Z","5.9.6":"2024-10-23T14:50:33.975Z","5.9.7":"2024-11-11T23:00:52.708Z","5.9.8":"2024-11-21T22:22:34.478Z","5.9.9":"2024-11-21T22:40:47.767Z","5.9.10":"2025-01-04T20:29:56.720Z","5.9.11":"2025-01-09T21:12:45.898Z","5.9.12":"2025-01-27T16:52:32.058Z","6.0.0-alpha.1":"2025-02-18T20:01:57.980Z","5.9.13":"2025-02-20T23:01:26.303Z","6.0.0-alpha.2":"2025-05-07T23:00:17.795Z","6.0.0":"2025-05-07T23:02:28.512Z","6.0.1":"2025-05-08T03:20:00.490Z","6.0.2":"2025-05-08T03:36:14.666Z","6.0.3":"2025-05-14T18:49:06.682Z","6.0.4":"2025-05-16T16:55:43.388Z","6.1.0":"2025-05-22T15:22:33.299Z","6.1.1":"2025-05-23T14:25:17.474Z","6.1.2":"2025-05-29T17:44:20.353Z","6.2.0":"2025-06-07T17:42:36.100Z","6.2.1":"2025-06-12T14:04:16.919Z","6.2.2":"2025-06-12T14:29:53.950Z","6.2.3":"2025-06-12T14:42:09.076Z","6.2.4":"2025-06-12T14:56:18.026Z","6.3.0":"2025-07-04T14:47:30.403Z","6.3.1":"2025-07-04T14:58:32.821Z","6.4.0":"2025-08-28T18:07:28.929Z","6.5.0":"2025-09-05T14:47:11.574Z","6.6.0":"2025-09-23T21:27:43.144Z","6.6.1":"2025-09-24T22:19:18.917Z","6.6.2":"2025-10-25T18:07:40.509Z"},"bugs":{"url":"https://github.com/etienne-bechara/crux/issues"},"author":{"name":"Etienne Bechara","email":"bechara.etienne@gmail.com"},"license":"MIT","homepage":"https://github.com/etienne-bechara/crux#readme","repository":{"type":"git","url":"git+https://github.com/etienne-bechara/crux.git"},"description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), documentation (OpenAPI), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","maintainers":[{"name":"bechara","email":"bechara.etienne@gmail.com"}],"readme":"# CRUX\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=crux&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=crux)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=crux&metric=coverage)](https://sonarcloud.io/summary/new_code?id=crux)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=crux&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=crux)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=crux&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=crux)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=crux&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=crux)\n\nCRUX is an opinionated Node.js framework package designed for backend projects. It integrates a range of libraries and patterns commonly used in distributed, stateless applications that require database access.\n\n- **Framework:** [NestJS](https://docs.nestjs.com/)\n- **HTTP Server:** [Fastify](https://www.fastify.io/docs/latest/)\n- **HTTP Client:** [Fetch](https://nodejs.org/dist/latest-v18.x/docs/api/globals.html#fetch)\n- **Caching:** [ioredis](https://www.npmjs.com/package/ioredis) (distributed) or in-memory (local)\n- **ORM:** [MikroORM](https://mikro-orm.io/docs/installation)\n- **OpenAPI:** [Scalar](https://scalar.com/)\n- **Logs:** [Loki](https://grafana.com/docs/loki/latest/api/)\n- **Metrics:** [Prometheus](https://github.com/siimon/prom-client)\n- **Tracing:** [Tempo](https://grafana.com/docs/tempo/latest/api_docs/) with [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-js)\n\n---\n\n## Disclaimer\n\nThis framework was created to avoid rebuilding similar boilerplates for distributed, stateless backend projects with database access. It is highly opinionated and should be treated more as a reference for creating your own solutions rather than as a production-ready product.\n\n---\n\n## Installation\n\n1. **Create and initialize a new Node.js project**, then install TypeScript, its types, a live-reload tool, and this package.  \n\n   We recommend using [pnpm](https://pnpm.io/) as your package manager, and [ts-node-dev](https://github.com/wclr/ts-node-dev) for live reloading:\n\n   ```sh\n   mkdir my-project\n   cd my-project\n\n   git init\n   npm init -y\n\n   npm i -g pnpm\n   pnpm i -D typescript @types/node ts-node-dev\n   pnpm i -E @bechara/crux\n\n   tsc --init\n   ```\n\n2. **Create a `main.ts` file** in a `/source` folder with the following content:\n\n   ```ts\n   // /source/main.ts\n   import { AppModule } from '@bechara/crux';\n\n   void AppModule.boot();\n   ```\n\n3. **Add a `dev` script** in your `package.json`:\n\n   ```json\n   {\n     \"scripts\": {\n       \"dev\": \"tsnd --exit-child --rs --watch *.env --inspect=0.0.0.0:9229 ./source/main.ts\"\n     }\n   }\n   ```\n\n4. **Start the application**:\n\n   ```sh\n   pnpm dev\n   ```\n\n   You can test it by sending a request to `GET /`. You should receive a successful response with a `204` status code.\n\n---\n\n## Development\n\nUsing this framework mostly follows the official [NestJS Documentation](https://docs.nestjs.com/). Familiarize yourself with the following core NestJS concepts before continuing:\n\n- [Modules](https://docs.nestjs.com/modules)\n- [Controllers](https://docs.nestjs.com/controllers)\n- [Providers](https://docs.nestjs.com/providers)\n\n### Key Differences\n\n1. **Imports from `@bechara/crux`**  \n   All NestJS imports, such as `@nestjs/common` or `@nestjs/core`, are re-exported by `@bechara/crux`.  \n   Instead of:\n   ```ts\n   import { Injectable } from '@nestjs/common';\n   ```\n   use:\n   ```ts\n   import { Injectable } from '@bechara/crux';\n   ```\n\n2. **Automatic Module Loading**  \n   Any file ending with `*.module.ts` in your source folder is automatically loaded by `main.ts`. You don’t need to create a global module importing them manually.  \n   Instead of:\n   ```ts\n   @Global()\n   @Module({\n     imports: [\n       FooModule,\n       BarModule,\n       BazModule,\n     ],\n   })\n   export class AppModule { }\n   ```\n   simply do:\n   ```ts\n   import { AppModule } from '@bechara/crux';\n\n   void AppModule.boot();\n   // FooModule, BarModule, and BazModule are automatically loaded\n   // as long as they're in the source folder and named *.module.ts\n   ```\n\n---\n\n## Testing\n\nTesting can involve multiple environment variables, making it more complex to write boilerplate code. For this reason, `AppModule` offers a built-in `compile()` method to create an application instance without serving it.\n\n### Usage\n\nIn your `*.service.spec.ts`, add a `beforeAll()` hook to compile an application instance:\n\n```ts\nimport { AppModule } from '@bechara/crux';\n\ndescribe('FooService', () => {\n  let fooService: FooService;\n\n  beforeAll(async () => {\n    const app = await AppModule.compile();\n    fooService = app.get(FooService);\n  });\n\n  describe('readById', () => {\n    it('should read a foo entity', async () => {\n      const foo = await fooService.readById(1);\n      expect(foo).toEqual({ name: 'bob' });\n    });\n  });\n});\n```\n\nIf you need custom options, the `compile()` method supports the same boot options as `boot()`.\n\nRun all tests with:\n\n```sh\npnpm test\n```\n\nOr a specific set:\n\n```sh\npnpm test -- foo\n```\n\n---\n\n# Curated Modules\n\nBelow are details about the main modules in this framework and how to use them.\n\n## Application Module\n\nActs as the entry point, wrapping other modules in this package and automatically loading any `*.module.ts` in your source folder.  \n\nBy default, it serves an HTTP adapter using [Fastify](https://www.fastify.io/). The following custom enhancers are globally applied:\n\n- [app.interceptor.ts](source/app/app.interceptor.ts): A timeout interceptor that cancels requests exceeding the configured runtime.\n- [app.filter.ts](source/app/app.filter.ts): An exception filter integrated with the logging service for standardized error output.\n- [ClassSerializer](https://docs.nestjs.com/techniques/serialization#serialization) for response serialization.\n- [ValidationPipe](https://docs.nestjs.com/techniques/validation#validation) for DTO validation and transformation.\n\n### Environment Configuration\n\n| Variable  | Mandatory | Type                                                   |\n|-----------|:--------:|--------------------------------------------------------|\n| NODE_ENV  | Yes       | [AppEnvironment](source/app/app.enum/app.environment.ts) |\n\n### Module Options\n\nWhen booting your application, you can configure options as described in [AppBootOptions](source/app/app.interface.ts):\n\n```ts\nimport { AppModule } from '@bechara/crux';\n\nvoid AppModule.boot({\n  // See AppBootOptions for detailed properties\n});\n```\n\nProvided options will be merged with the [default configuration](source/app/app.config.ts).\n\n---\n\n## Configuration Module\n\nAllows asynchronous population of secrets through `*.config.ts` files containing configuration classes.  \n\nDecorate a class with `@Config()` to make it available as a regular NestJS provider. Any property decorated with `@InjectSecret()` will have its value extracted from `process.env` and injected into the class.\n\n### Usage\n\n1. **Create a `*.config.ts` file** with a class decorated by `@Config()`.  \n2. Decorate any properties with `@InjectSecret()`.  \n3. Optionally, apply `class-validator` and `class-transformer` decorators for validation and transformation.\n\nExample:\n\n```ts\nimport { Config, InjectSecret, IsUrl, IsString, Length, ToNumber } from '@bechara/crux';\n\n@Config()\nexport class FooConfig {\n  @InjectSecret()\n  @IsUrl()\n  FOO_API_URL: string;\n\n  @InjectSecret({ key: 'foo_authorization' })\n  @IsString() @Length(36)\n  FOO_API_KEY: string;\n\n  @InjectSecret({ fallback: '15' })\n  @ToNumber()\n  FOO_API_MAX_CONCURRENCY: number;\n}\n```\n\nUse the configuration in your module and services:\n\n```ts\n@Injectable()\nexport class FooService {\n  constructor(private readonly fooConfig: FooConfig) {}\n\n  public async readFooById(id: number) {\n    console.log(this.fooConfig.FOO_API_MAX_CONCURRENCY);\n    // ...\n  }\n}\n```\n\n---\n\n## Context Module\n\nProvides `ContextService`, an alternative to `REQUEST`-scoped injections in NestJS. It leverages Node.js AsyncLocalStorage to store request data without the performance or dependency-resolution challenges of `REQUEST` scope.\n\n### Usage\n\n```ts\nimport { ContextService } from '@bechara/crux';\n\n@Injectable()\nexport class FooService {\n  constructor(private readonly contextService: ContextService) {}\n\n  public getRequestAuthorization() {\n    const req = this.contextService.getRequest();\n    return req.headers.authorization;\n  }\n\n  public getUserId() {\n    return this.contextService.getMetadata('userId');\n  }\n\n  public setUserId(userId: string) {\n    this.contextService.setMetadata('userId', userId);\n  }\n}\n```\n\n---\n\n## Documentation Module\n\nGenerates OpenAPI documentation using [NestJS OpenAPI Decorators](https://docs.nestjs.com/openapi/decorators).  \n\n- **User interface:** available at `/docs`\n- **OpenAPI spec:** available at `/docs/json`\n\n---\n\n## Http Module\n\nProvides a wrapper over Node.js Fetch API, exposing methods to make HTTP requests. Its scope is transient: every injection yields a fresh instance.\n\n### Basic Usage\n\nIn your module:\n\n```ts\nimport { HttpModule } from '@bechara/crux';\n\n@Module({\n  imports: [HttpModule.register()],\n  controllers: [FooController],\n  providers: [FooService],\n})\nexport class FooModule {}\n```\n\nIn your service:\n\n```ts\nimport { HttpService } from '@bechara/crux';\n\n@Injectable()\nexport class FooService {\n  constructor(private readonly httpService: HttpService) {}\n\n  public async readFooById(id: number) {\n    return this.httpService.get('https://foo.com/foo/:id', {\n      replacements: { id },\n    });\n  }\n}\n```\n\n### Async Registration\n\nTo configure base parameters (host, headers, API keys, etc.) using environment secrets:\n\n```ts\nimport { HttpAsyncModuleOptions, HttpModule } from '@bechara/crux';\n\nconst httpModuleOptions: HttpAsyncModuleOptions = {\n  inject: [FooConfig],\n  useFactory: (fooConfig: FooConfig) => ({\n    prefixUrl: fooConfig.FOO_API_URL,\n    headers: { authorization: fooConfig.FOO_API_KEY },\n    timeout: 20_000,\n  }),\n};\n\n@Module({\n  imports: [HttpModule.registerAsync(httpModuleOptions)],\n  controllers: [FooController],\n  providers: [FooConfig, FooService],\n  exports: [FooConfig, FooService],\n})\nexport class FooModule {}\n```\n\n---\n\n## Cache Module\n\nAllows caching of inbound responses for controller paths decorated with `@Cache()`. Uses Redis (through `ioredis`) if available, falling back to an in-memory store.\n\n### Usage\n\n```ts\nimport { Cache, Controller, Get, Param } from '@bechara/crux';\n\n@Controller('foo')\nexport class FooController {\n  constructor(private readonly fooService: FooService) {}\n\n  @Cache({ ttl: 60_000 }) // 60 seconds\n  @Get(':id')\n  public getFoo(@Param('id') id: string): Promise<Foo> {\n    return this.fooService.getFooById(id);\n  }\n}\n```\n\n### Environment Variables\n\n| Variable       | Required | Type   | Default |\n|----------------|:--------:|:------:|:-------:|\n| CACHE_HOST     | No       | string |         |\n| CACHE_PORT     | No       | number |         |\n| CACHE_USERNAME | No       | string |         |\n| CACHE_PASSWORD | No       | string |         |\n\n---\n\n## Redis Module\n\nProvides a connection to Redis via [ioredis](https://github.com/redis/ioredis). It automatically uses credentials configured through the Cache Module.\n\n### Usage\n\n```ts\nimport { RedisService } from '@bechara/crux';\n\n@Injectable()\nexport class FooService {\n  constructor(private readonly redisService: RedisService) {}\n\n  public getFoo() {\n    const foo = this.redisService.get('FOO');\n    if (!foo) {\n      throw new InternalServerErrorException('Foo not available');\n    }\n    return foo;\n  }\n\n  public setFoo(params: unknown) {\n    const ttl = 5 * 60_000; // 5 minutes\n    this.redisService.set('FOO', params, { ttl });\n  }\n}\n```\n\n---\n\n## Memory Module\n\nOffers a simple in-memory key-value store with support for TTL.\n\n### Usage\n\n```ts\nimport { MemoryService } from '@bechara/crux';\n\n@Injectable()\nexport class FooService {\n  constructor(private readonly memoryService: MemoryService) {}\n\n  public getFoo() {\n    const foo = this.memoryService.get('FOO');\n    if (!foo) {\n      throw new InternalServerErrorException('Foo not available');\n    }\n    return foo;\n  }\n\n  public setFoo(params: unknown) {\n    const ttl = 5 * 60_000; // 5 minutes\n    this.memoryService.set('FOO', params, { ttl });\n  }\n}\n```\n\n---\n\n## Promise Module\n\nProvides utility functions for working with Promises (retrying, deduplication, throttling, etc.). Refer to [PromiseService](source/promise/promise.service.ts) for details.\n\n### Usage\n\n```ts\nimport { PromiseService, HttpService } from '@bechara/crux';\n\n@Injectable()\nexport class FooService {\n  constructor(\n    private readonly promiseService: PromiseService,\n    private readonly httpService: HttpService,\n  ) {}\n\n  public async readFooOrTimeout(): Promise<unknown> {\n    const timeout = 5000; // 5 seconds\n    return this.promiseService.resolveOrTimeout({\n      promise: () => this.httpService.get('foo'),\n      timeout,\n    });\n  }\n\n  public async readFooWithRetry(): Promise<unknown> {\n    return this.promiseService.retryOnRejection({\n      method: () => this.httpService.get('foo'),\n      retries: 5,\n      timeout: 120_000, // 2 minutes\n      delay: 500,       // 500 ms\n    });\n  }\n}\n```\n\n---\n\n## Metric Module\n\nCollects metrics using [Prometheus](https://prometheus.io/). Metrics can be scraped at the `/metrics` endpoint.\n\n### Usage\n\nInject `MetricService` to create custom counters, gauges, histograms, or summaries:\n\n```ts\nimport { Histogram, MetricService } from '@bechara/crux';\n\n@Injectable()\nexport class FooService {\n  constructor(private readonly metricService: MetricService) {\n    this.setupMetrics();\n  }\n\n  private setupMetrics(): void {\n    this.metricService.getHistogram('foo_size', {\n      help: 'Size of foo.',\n      labelNames: ['foo', 'bar'],\n      buckets: [1, 3, 5, 8, 13],\n    });\n  }\n\n  public readFoo() {\n    const histogram = this.metricService.getHistogram('foo_size');\n    // ...\n  }\n}\n```\n\n---\n\n## Log Module\n\nProvides a logging service with predefined severity levels. Messages are broadcast to all configured transports, which decide whether to publish them based on their own configuration.\n\n### Usage\n\n```ts\nimport { LogService } from '@bechara/crux';\n\n@Injectable()\nexport class FooService {\n  constructor(\n    private readonly fooRepository: FooRepository,\n    private readonly logService: LogService,\n  ) {}\n\n  public async readFooById(id: number) {\n    this.logService.debug(`Reading foo with ID ${id}`);\n\n    try {\n      const foo = await this.fooRepository.readById(id);\n      this.logService.notice(`Successfully read foo with ID ${id}`);\n      return foo;\n    } catch (error) {\n      this.logService.error(`Failed to read foo`, error, { id });\n      throw new InternalServerErrorException();\n    }\n  }\n}\n```\n\n### Call Signatures\n\nLogging methods accept any combination of strings, `Error` objects, or plain objects:\n\n```ts\nthis.logService.error('Something went wrong');\nthis.logService.error('Something went wrong', new Error('Log example'));\nthis.logService.error(new Error('Log example'), { key: 'value' });\nthis.logService.error('Error message', new Error('Log example'), { key: 'value' });\n// ...and so on\n```\n\n### Transporters\n\nTwo transports are built in: **Console** and **Loki**.\n\n#### Console Transport\n\nEnabled by default. Controlled by:\n\n| Variable         | Required | Type   | Default                            |\n|------------------|:--------:|:------:|------------------------------------|\n| CONSOLE_SEVERITY | No       | string | `trace` if `NODE_ENV=local`; `warning` otherwise |\n\n#### Loki Transport\n\nPublishes logs to [Loki](https://grafana.com/oss/loki/) via its API. To enable, set `LOKI_URL`:\n\n| Variable      | Required | Type   | Default  |\n|---------------|:--------:|:------:|:--------:|\n| LOKI_URL      | Yes      | string |          |\n| LOKI_USERNAME | No       | string |          |\n| LOKI_PASSWORD | No       | string |          |\n| LOKI_SEVERITY | No       | string | `debug`  |\n\n---\n\n## Trace Module\n\nImplements distributed tracing using [OpenTelemetry](https://opentelemetry.io/docs/) with B3 header propagation. It automatically creates spans for inbound HTTP requests and outbound HTTP calls. You can also create custom spans using `startSpan()` from `TraceService`.\n\n### Usage\n\n```ts\nimport { TraceService } from '@bechara/crux';\n\n@Injectable()\nexport class FooService {\n  constructor(private readonly traceService: TraceService) {}\n\n  public readFoo(): Foo {\n    const span = this.traceService.startSpan('Reading Foo');\n    // ...\n    span.close();\n  }\n}\n```\n\n---\n\n## ORM Module\n\nAdds ORM support using [MikroORM](https://mikro-orm.io/), providing schema synchronization and a repository pattern.\n\n### Environment Variables\n\nAdd relevant connection variables (e.g., for MySQL or PostgreSQL) to your `.env`:\n\n```bash\nORM_TYPE='mysql'\nORM_HOST='localhost'\nORM_PORT=3306\nORM_USERNAME='root'\nORM_PASSWORD=''\nORM_DATABASE='test'\n\n# SSL options\nORM_SERVER_CA=''\nORM_CLIENT_CERTIFICATE=''\nORM_CLIENT_KEY=''\n```\n\n### Registration\n\n```ts\nimport {\n  AppEnvironment,\n  AppModule,\n  OrmConfig,\n  OrmModule,\n  PostgresSqlDriver,\n} from '@bechara/crux';\n\nvoid AppModule.boot({\n  configs: [OrmConfig],\n  imports: [\n    OrmModule.registerAsync({\n      inject: [OrmConfig],\n      useFactory: (ormConfig: OrmConfig) => ({\n        driver: PostgresSqlDriver,\n        host: ormConfig.ORM_HOST,\n        port: ormConfig.ORM_PORT,\n        dbName: ormConfig.ORM_DATABASE,\n        user: ormConfig.ORM_USERNAME,\n        password: ormConfig.ORM_PASSWORD,\n        pool: { min: 1, max: 25 },\n        sync: {\n          auto: true,\n          controller: true,\n          safe: ormConfig.NODE_ENV === AppEnvironment.PRODUCTION,\n        },\n        driverOptions: {\n          connection: {\n            ssl: {\n              ca: Buffer.from(ormConfig.ORM_SERVER_CA, 'base64'),\n              cert: Buffer.from(ormConfig.ORM_CLIENT_CERTIFICATE, 'base64'),\n              key: Buffer.from(ormConfig.ORM_CLIENT_KEY, 'base64'),\n            },\n          },\n        },\n      }),\n    }),\n  ],\n  providers: [OrmConfig],\n  exports: [OrmConfig, OrmModule],\n});\n```\n\nIf you prefer, you can replace `OrmConfig` with your own configuration class and secrets.\n\n### Creating an Entity\n\nRefer to the [MikroORM docs on defining entities](https://mikro-orm.io/docs/defining-entities) for detailed guidance.\n\n### Creating a Repository\n\nExtend the built-in abstract repository for additional ORM capabilities:\n\n```ts\nimport {\n  EntityManager,\n  EntityName,\n  OrmRepository,\n  Repository,\n} from '@bechara/crux';\nimport { User } from './user.entity';\n\n@Repository(User)\nexport class UserRepository extends OrmRepository<User> {\n  constructor(\n    protected readonly entityManager: EntityManager,\n    protected readonly entityName: EntityName<User>,\n  ) {\n    super(entityManager, entityName, {\n      defaultUniqueKey: ['name', 'surname'],\n    });\n  }\n}\n```\n\n### Creating a Controller\n\nCreate a controller that injects your repository to handle HTTP requests. For example, a CRUD controller:\n\n```ts\nimport {\n  Body,\n  Controller,\n  Delete,\n  Get,\n  Param,\n  Patch,\n  Post,\n  Put,\n  Query,\n  OrmPageDto,\n} from '@bechara/crux';\nimport { UserRepository } from './user.repository';\nimport { UserCreateDto, UserReadDto, UserUpdateDto } from './user.dto';\nimport { User } from './user.entity';\n\n@Controller('user')\nexport class UserController {\n  constructor(private readonly userRepository: UserRepository) {}\n\n  @Get()\n  public async get(@Query() query: UserReadDto): Promise<OrmPageDto<User>> {\n    return this.userRepository.readPaginatedBy(query);\n  }\n\n  @Get(':id')\n  public async getById(@Param('id') id: string): Promise<User> {\n    return this.userRepository.readByIdOrFail(id);\n  }\n\n  @Post()\n  public async post(@Body() body: UserCreateDto): Promise<User> {\n    return this.userRepository.createOne(body);\n  }\n\n  @Put()\n  public async put(@Body() body: UserCreateDto): Promise<User> {\n    return this.userRepository.upsertOne(body);\n  }\n\n  @Put(':id')\n  public async putById(\n    @Param('id') id: string,\n    @Body() body: UserCreateDto,\n  ): Promise<User> {\n    return this.userRepository.updateById(id, body);\n  }\n\n  @Patch(':id')\n  public async patchById(\n    @Param('id') id: string,\n    @Body() body: UserUpdateDto,\n  ): Promise<User> {\n    return this.userRepository.updateById(id, body);\n  }\n\n  @Delete(':id')\n  public async deleteById(@Param('id') id: string): Promise<User> {\n    return this.userRepository.deleteById(id);\n  }\n}\n```\n","readmeFilename":"README.md"}