{"_id":"piilani","_rev":"27-620f8353e091f8706e496db17a46ee7b","name":"piilani","dist-tags":{"latest":"1.0.0-dev.26"},"versions":{"1.0.0-dev.0":{"name":"piilani","version":"1.0.0-dev.0","description":"Just another Web application framework.","main":"dist/index.js","bin":{"piilani":"bin/cli.js"},"scripts":{"build":"run-s lint compile:clean","compile":"tsc","compile:clean":"rm -rf lib && tsc","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","devDependencies":{"@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.1","@types/cors":"^2.8.8","@types/express":"^4.17.2","@types/lodash":"^4.14.149","@types/mocha":"^5.2.7","@types/node":"^12.12.14","@types/pg":"^7.14.1","@typescript-eslint/eslint-plugin":"^5.10.0","@typescript-eslint/eslint-plugin-tslint":"^5.10.0","@typescript-eslint/parser":"^5.10.0","app-root-path":"^3.0.0","commander":"^4.1.1","eslint":"^7.17.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jsdoc":"^30.7.13","eslint-plugin-prefer-arrow":"^1.2.2","mocha":"^6.2.2","nodemon":"^2.0.1","npm-run-all":"^4.1.5","reflect-metadata":"^0.1.13","ts-mocha":"^8.0.0","tslint":"^6.1.3","tsyringe":"^4.6.0","typescript":"^4.5.5","winston":"^3.4.0","winston-transport":"^4.4.2"},"gitHead":"bab5b9c884fdbec0a5e899f97aca4e8dea33113c","_id":"piilani@1.0.0-dev.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-SPZn+XLS/o9U+AjZY9uS1pwHhqr5O7iMFXQk42R9fNsuMWTyvS0nuM6XHPVfZFGQE++SG+dOyVjQMw5EGyuGGQ==","shasum":"dc9dcaddba82ce7a0a3db6a120edf716a664e8ba","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.0.tgz","fileCount":87,"unpackedSize":74562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7h3WCRA9TVsSAnZWagAAM7UP/1yNEW1N6LiykEMrEueD\nU3UbpXaTKxsTEYUG1vbDfDr97qymzrWnP2Z3hyXiGMNmUxetSso+jMLyKD12\n40Sp4SkLczI8d0KnkqZcJM9E63L0uxyT7SYgynieqtmwzrTJwsWyBsBRBDka\nRbZIUY1ao/EL2tX9qcLYXa0pXtF9h6Et39D2swqMSvHQBe5d3GEdrotnsdjV\ntY+2jxZKrVtN1twatCZoFNcb8pEcgE5b4Kp8LNGkUCaFZZ9ROZIZCRT1SSle\ncL8K1LHtyugRnBkgYevzMOLw3bAYw4ujCAW5o6ee5p+TrBvlwt07M4ZwVK/W\nWflUQknmN24K8KL4nnKVD3WXm/oecxr7BC6qgb4B/hCAAYd41XwZxNLv5Onn\nTxY6il1xyr+dze9e/+IJRF3T9p5z8nFQqbq4nrguq8HmaMshf9880wJbVN7J\n21QspJt0fS/EP0BDLbDM8XlhempB/UhYhe9Z/HE1SMy/9mZM7baHWdOkRYPr\nh17xDwzLe5cdYdpWkfGzN4HuIXGGwgq/jZ+O3WcEMH5MKo59w1aYsjcLC9yY\nbU5Lo7qopJcoHnirEc5f5ScBgTDeUkLJ33ieTVcA1Mroab+OCTkm8RzKSRkP\n7km24sByMav1fSjWbtmxDDk/IsJaMy2B+CaCFB0JZclY5nyrUSs3XBhBkYOx\nNDpc\r\n=L7ib\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEHiUI0pZ+CiTdoK8sxxIarUjdMCp8K13FGmX4kIK8kAIhANrANLrdpgJZ1mFAaxiZm8u8nYjcocd4cF0Y2kIPN2Uv"}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"directories":{},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.0_1642995158169_0.09208580326780424"},"_hasShrinkwrap":false},"1.0.0-dev.1":{"name":"piilani","version":"1.0.0-dev.1","description":"Just another Web application framework.","main":"dist/index.js","bin":{"piilani":"bin/cli.js"},"scripts":{"build":"run-s lint compile:clean","compile":"tsc","compile:clean":"rm -rf lib && tsc","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","devDependencies":{"@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.1","@types/cors":"^2.8.8","@types/express":"^4.17.2","@types/lodash":"^4.14.149","@types/mocha":"^5.2.7","@types/node":"^12.12.14","@types/pg":"^7.14.1","@typescript-eslint/eslint-plugin":"^5.10.0","@typescript-eslint/eslint-plugin-tslint":"^5.10.0","@typescript-eslint/parser":"^5.10.0","app-root-path":"^3.0.0","commander":"^4.1.1","eslint":"^7.17.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jsdoc":"^30.7.13","eslint-plugin-prefer-arrow":"^1.2.2","mocha":"^6.2.2","nodemon":"^2.0.1","npm-run-all":"^4.1.5","reflect-metadata":"^0.1.13","ts-mocha":"^8.0.0","tslint":"^6.1.3","tsyringe":"^4.6.0","typescript":"^4.5.5","winston":"^3.4.0","winston-transport":"^4.4.2"},"gitHead":"bab5b9c884fdbec0a5e899f97aca4e8dea33113c","_id":"piilani@1.0.0-dev.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-aq+t2ljYidqutgp+KuGSP6zOdJW/n/mjg2dxuaTFRvEgWuF3kBiQioYLQWOTNFSj6GZ+c0ONV39Cc4wpKqURXQ==","shasum":"8df6cb3c8e74347d279c0d458f1e2052f108cd61","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.1.tgz","fileCount":93,"unpackedSize":78529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7h+UCRA9TVsSAnZWagAASaYP/A6+PTs6l9hb4g99K1qJ\n23GqZPDx7ww9zWKyd0ivW552+ZcOS41NHJL+mvWgtZgNZwT4PRvr0QZS+zMS\nrgisfEspw0NFP3wdXd5muMoBPhMaweiiQ9o3ZPF/x+Ujx+7xJtNKLcy5kPJE\nT3D6lPHd9cqL6YSDeRV0FJ3t3CZrAqgFCA84zliR8YPNW1DiY75v2JjzKu0A\nELYGmjlCWFDI/8Jv9nAn4Q54od7XVDzuOJppWEZaSlDikHPgm/tBUn/sxUKl\nu4Ddu42grBvNv3aDPYxjHEyCmGzRdCkWdUsaBo/skU83aXwYI5MK483AjH4M\n89eBUS2oiS/gkwGddFVu2JFyP24ewhsFyuaBy/BfitrtlH6Fgeq+FkwZE9PW\nopdcZEqZVJQTo/U5zpQNiRcu2JWb2rov1rH1ujg6krb7iDyT7taj/ZD2a/OA\nUgRfZT008drt5qHXoKXY2C5I6k2tukEi3bQWWwclk/c0A1UPnBhULew82SMc\nsmFoeR/Tn+pK0TjW5DQukXF5eIqohQdr4lhYtMsetdcStc0sR70cdH7A0An8\nd7ddCOK+5XB4REYVMZIpKXRb/JKmYnBYoIgWpv3sChJsa7M+/fbtpdX1Uv5X\nTEUlm/1G5oKdyLJr0TVp7a3wvAOmGEa5Du/u1yleBwXdkS6t8iMpJ4yQypKi\ncW+G\r\n=zGX5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRaTUCwEpz2YrTVAIylkF4OXL5LD3q/PiEaGRwytEWjAIgVcIJc+jUz2O/hJQimJ68/PWeHpQFpBdGwRuMQ/VNRlU="}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"directories":{},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.1_1642995604136_0.3477583953741594"},"_hasShrinkwrap":false},"1.0.0-dev.2":{"name":"piilani","version":"1.0.0-dev.2","description":"Just another Web application framework.","main":"dist/index.js","bin":{"piilani":"bin/cli.js"},"scripts":{"build":"run-s lint compile:clean","clean":"rm -rf bin context controllers decorators errors factories gateways mappers services index.*","compile":"tsc","compile:clean":"npm run clean && tsc","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","devDependencies":{"@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.1","@types/cors":"^2.8.8","@types/express":"^4.17.2","@types/lodash":"^4.14.149","@types/mocha":"^5.2.7","@types/node":"^12.12.14","@types/pg":"^7.14.1","@typescript-eslint/eslint-plugin":"^5.10.0","@typescript-eslint/eslint-plugin-tslint":"^5.10.0","@typescript-eslint/parser":"^5.10.0","app-root-path":"^3.0.0","commander":"^4.1.1","eslint":"^7.17.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jsdoc":"^30.7.13","eslint-plugin-prefer-arrow":"^1.2.2","mocha":"^6.2.2","nodemon":"^2.0.1","npm-run-all":"^4.1.5","reflect-metadata":"^0.1.13","ts-mocha":"^8.0.0","tslint":"^6.1.3","tsyringe":"^4.6.0","typescript":"^4.5.5","winston":"^3.4.0","winston-transport":"^4.4.2"},"gitHead":"bab5b9c884fdbec0a5e899f97aca4e8dea33113c","_id":"piilani@1.0.0-dev.2","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-UmgFG8MBkA0Xm2cqykj2FIYpEjDA1kOFy4+opvj/oWNtcpO8bozjyO5HEPEXgOZuYe7oBOyjgLEP0QCa1GUrdA==","shasum":"a9b894087a742abf567b981223a0cf1335b79522","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.2.tgz","fileCount":93,"unpackedSize":78641,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7iDeCRA9TVsSAnZWagAADjMQAJmDovBGa1NMkcbSdpFa\nl8ObY8HaBZaCwOfCVkfbvN5EXAuwFpK9dvS4hmrb0fGJxzUx5cCFGW4tIbYs\nVMjPcVO7S5nOKIGhe4LeSYYjCfWlQl8lGZGxhVj4BZ56PqpgBOrx6H1isHMk\nEWKPrf+OsqNfbgJ8E/EN1+E5qOpGggtmHD6EgLR7CmZ9ZzRMjD5WEWfQK1q4\nnPnppVcE8GsrwjoUYEFrIah7sxIeqShVzwNw5AxzExciBsg/TDEmI6T7Mdfx\n/NVZRUyT0Kfof3JOxR/BAmAzNjzylQEVZrIATIrhINGt6eQLRuaoATwkpl8L\nin6D1HK61wk8vVBqGsskraBsDBJoevuSnbo1kNkBPCv3mu3X7vdB6Izs1AaL\nNtodAS5CtSjaYUzaM6+ZCl6Mh0Cswn3qoDlGXbGrskB4Ewjg6Jdm3B+qJvvN\nncB5aAHs++CaTm4EvGyma1X1P2vxsf47nad4l4Q63UTdksaL4JrUQzr1dNy9\nRx8uw8KTef1mlsvIR3UD4k5lylBmheDE8zZgbhwBCP96HKhJsdG65FEChCSp\nRoyLxvstQsMYdev3/wUsEXpxTZL7U07Ij5lXkD1rSkhABqJh5dOqzSVkMRF0\nY6aAzpM4W4p1nf+nOBHfZfU70vo5k7iUgomJCikCV/LXc9w3Zmo0vR6wZHB5\nCyFt\r\n=ktzS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAusldAV3Bsg+7VvyEiVmzP999zediylLDjCZLEAAsIqAiBf3HV7q04LwdqzmhXATGsc92iXAzeDW4b6xP1Zm5rj0A=="}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"directories":{},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.2_1642995934544_0.3519114478374068"},"_hasShrinkwrap":false},"1.0.0-dev.3":{"name":"piilani","version":"1.0.0-dev.3","description":"Just another Web application framework.","main":"dist/index.js","bin":{"piilani":"bin/cli.js"},"scripts":{"build":"run-s lint compile:clean","clean":"rm -rf bin context controllers decorators errors factories gateways mappers services index.*","compile":"tsc","compile:clean":"npm run clean && tsc","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","devDependencies":{"@types/app-root-path":"^1.2.4","@types/better-sqlite3":"^5.4.1","@types/cors":"^2.8.8","@types/express":"^4.17.2","@types/lodash":"^4.14.149","@types/mocha":"^5.2.7","@types/node":"^12.12.14","@types/pg":"^7.14.1","@typescript-eslint/eslint-plugin":"^5.10.0","@typescript-eslint/eslint-plugin-tslint":"^5.10.0","@typescript-eslint/parser":"^5.10.0","app-root-path":"^3.0.0","commander":"^4.1.1","eslint":"^7.17.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jsdoc":"^30.7.13","eslint-plugin-prefer-arrow":"^1.2.2","mocha":"^6.2.2","nodemon":"^2.0.1","npm-run-all":"^4.1.5","reflect-metadata":"^0.1.13","ts-mocha":"^8.0.0","tslint":"^6.1.3","tsyringe":"^4.6.0","typescript":"^4.5.5","winston":"^3.4.0","winston-transport":"^4.4.2"},"gitHead":"34d70e36bb07aa969ae59f237918032c8ea7c869","_id":"piilani@1.0.0-dev.3","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-FgUrgCd2GCqgNPH7oo8l+NcSV9rRBZJ0T5DouVGh+v3T0EOnE5ZDRYGgMs1+rsp5KHQ/VeFPqSyNoTIngJkv5A==","shasum":"adff71100317c25606d6c9d49598173cbb54bdd0","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.3.tgz","fileCount":93,"unpackedSize":78696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7iMSCRA9TVsSAnZWagAAOT0P+QALrSUXL8MHEG2XzFvc\nBq2+6qCbSTQxVnMQILVt5bQaGsCQw3BjNae/SiCcNfXcT4LF/uDjftZNYyI4\nwX4b9yWLx6wG3l4WHTeSvXxPQXkFkDlk0lwJDiIAZOEaviNbaJ3kzfoBrxpQ\n+aIBMFBcR6xX241+sdgez8GfvE4gAIMi5hF1jCzg0BlY1pu0JsfweTcAmqGN\n0yVfO91hgEYgmzzNY2zA/vjQOwypyybJ02B+0zSRnVLBILOeOq12ZxhZdpUC\nnRRHUy7lSENp0V/LCivRqXsnzb5QB2Rt/c7v3CDhyLSv3ShSJOIRolialsss\n8ITcReGFH7paVlpeMjnmpy4LKJh+aREfszJAJvkBRHgaYvnwZKpL1TkFhW1j\nHirBUAV4QThl8saC0mWlbVbUyCcHHCYepub5EdQ+HStBSzr2Ncd5KJ2HcBTq\nUQ8YYyeyrdZ1eTUWP/SC+zX2PpYS2hXAkt/WZXDlM8r14/EMKukb0nfYbuLK\nxxQitrxg0Y1fW6dkM6SBxEQVzozZ/7JDM36sMnyj9m0YsGG8/matyg6WotGM\nE/5OT8bcEzG5emYhMjkrbLe9lmytX5dWLKxHHjTybX6m816aAuuxxjHhB4/V\nZ7xgrV9/9AjZOYFl3oy01vHqni5I17am/hb1BfDXvQC90Rtl9UVvNmEkvsXB\nbk5u\r\n=VOoF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1fxfyKpkWznEDkTcDDzADWoIf9S4+KJ28+xsFQHibPQIgW2X8bavHYiAi+0qaWtree6sALotBygppMD+YqQapBik="}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"directories":{},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.3_1642996498769_0.20386373413348013"},"_hasShrinkwrap":false},"1.0.0-dev.4":{"name":"piilani","version":"1.0.0-dev.4","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mappers/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.15","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"6ddea003eea7bfde31a53936e9664b4b2ff71c7c","_id":"piilani@1.0.0-dev.4","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-DNuE3um93NMw5nhloB19t7QEsxQo1tE+wxNEkxzLXGBjAHbHgyGSAutl11xE/b7FSK6CFkA/MmGnz1Gj7qxIVw==","shasum":"eb2e235442bb857fb9f5a9c06281d213aea4cf6c","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.4.tgz","fileCount":3,"unpackedSize":4968,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh82N7CRA9TVsSAnZWagAAiScQAJOXzzadAg8BZW2r6Pk4\nQW8u+3G0ymf7QVRYd8LYbhOMm1hXNTZ5cu8k0SB5OMRaoPnPTLVHtBC68hYo\nZANpQnvWHHNtkFI8p2JWy7oRneddL0VC55bkKlBZOhsL2s/Mc0VbZL3xgkbe\nIJG1eZEJy4CMNZ5lbxZdIWnueA2c+kKq9zLUrhKTtE8o4guF1eIjMykA8s1q\n4fHuBElvmkFmWqESj/6QB0pi5aJC47CLVqKFCtIY4/ZeShRg2NMJnYHB6BAi\nDTEaHJw5wGQRgMj6Dy0/3TYEJ2UUzggDoJNEUAk3OCSK5hxNrpWboesiP8k4\nn21JlV5IlFj8CEsoF33nH1X5TOLogwLx+tnQAaJF0mmPh3c5CkDnYaQOylF1\nVLB89sM5+HcBauhkPfmoqeg6JnHLtbpQT/apU4ub/Vj9b9sFM3r87eqgnhBq\nxx5W7uXr/5v7A4sHJlmEINUFacot+xoLxV+YWk3HJldIlBlDua6wcVFLr1eo\nRVOz4vZXblviB2Kr4hklBhXfmMojt2dCCldCF58HoUiIfzEaQFwfmIscb6bF\n0LnrrZuxEyLasxhN/Szs5ASqfrHZwy6gJKyuQEUsayaEIHqFuEc9S42oUjnE\nIHbdeOXj15YCvzx015T9BdEKyYwpEfLBBXfDkvJVOJbuDBtPxp6uq7OLVcAp\nMGf7\r\n=PO43\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYTygeRstB66RtqqB+pP92ze7FJC1HMUz4ncZygeKrjwIhAKPWCB6zJ0yQDNrM3XaAKv7ivB2JFWyMa5UadNx0fUUl"}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.4_1643340667786_0.4756522528290592"},"_hasShrinkwrap":false},"1.0.0-dev.5":{"name":"piilani","version":"1.0.0-dev.5","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mappers/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.15","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"6ddea003eea7bfde31a53936e9664b4b2ff71c7c","_id":"piilani@1.0.0-dev.5","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-z+kuSke3TMKoiHm7LAt0hbx636wiUTpI9PsfT6pUfucb/K1VzJmATDlu7A/SMfmNClKooQJ5AMqgzdYP+hr2Vw==","shasum":"531cd559693f70e9bd6726b99fea92e476e5d6e5","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.5.tgz","fileCount":96,"unpackedSize":82965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh82RpCRA9TVsSAnZWagAAHdoP/0ouYtOwhth8U2SQhY1D\nejXg/Nc5dm4fJXbRfR2mN97MK8FlQBfnPTgYMbbXl+SDC3Fbv0+gYdWp+G6w\nUDyYJLALokkRt3ONZI0HZKE97SvKlv6iPDVQj1k7IYDVKTsGtIxuqHUNKoOy\nCtTqYzbWFCHfvdSp696N+j9B+RI3xXICQpoOU8Xrb9zc6kXyP74JYA71dtxK\nyX/tu5Lj0h84nzDb8FGByxDJO7BZsbowjsjqQ8Vh2ONFaaaDuEBj733Hp6Kp\neDbHbcl49SExHZvn5I/3pjtha6EisWiu710M52eB3Rwu/h9mezqzNy2G4PVg\nW+HtW1LkNWl/LUmeEWRqD8pX786+pNs8nGvbMVKMaV3d3Ps37aimrvOc1R7h\nJA8eecOJABnk+a/v7T6XTNDr/upC/NB/8D4+CKY17RBjBqCwfC1dsbxcAKXh\nKICYmuIcnbXF1jwDXULjyeUL/D2rhQI2sgetm/vcuKyFGFExcAIgiX3M8e2q\naHY6QWaYrHYz+4BP6ZWTLAfkSlZsGBM3acjc9kHBiWJHE3Zjfxcq/vvJvr+7\neC+lNQbf1KNxgHTN5eHWGG5+GFMyAeOEpOfhDPU3PHpQIaPrOxwtr1zLOxCM\n499UV1pALfFPb6JkbIHQsfQx1WMYNXT4lA/1Q8wS6+I6NevQVhoF/kmWO/r1\nHFP9\r\n=bkBL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDUnp5uzdovs9PwI03o7kqd4S548gvzbZnLd3kBD3NWhAiEA9X0EaMmJzGfLqHKY3FwOeFl22jmqdbfQdreLZUoUSM8="}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.5_1643340905712_0.8265642357517045"},"_hasShrinkwrap":false},"1.0.0-dev.6":{"name":"piilani","version":"1.0.0-dev.6","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mappers/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.15","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"f2a70b54db2a634d6af019ffa0104aab2b795c45","_id":"piilani@1.0.0-dev.6","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-dAeRxFJoDSVsmJZa03Srt7yx9IupbNrdfhxTN0jhJdAE2GNtsUM7jkG8nk4ugpbNos+h/NDUh2jann5GVLt++g==","shasum":"3fe39e6e01b78cf9e22a09a997ea777b0c066a75","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.6.tgz","fileCount":96,"unpackedSize":84539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9XnPCRA9TVsSAnZWagAAySkQAICdn2facLvPx0YIDyd9\nni1LYRFMsfgrCTAdXB1Rlt2Du5j9dOAkxkUgsWusxYzLCh5WojIFZBhBE7B+\nkZHg4O+ZgZjADi5CHkZhh7MI+OoJoyPaBj3jvUMQpfMeN1d3Pv7H4koUKhCB\nqkopHuYRMBtHqgaO0/NaZW/hF8PKFaYnwKIcH43j+WWzpGLCL6s6hfxAtXAd\nC+LR5WoAnpJeeWYV3Bm11hwqDpxVyqCrs6u5klJ/tCR7UvzCoDUV0zJDpB0g\nBVkLr2qQRNmZQX43x+Yn89gPUSHYOV+KGP7cfaUdpBw68oxq9CFo7oMQZdmB\nbPVaHX7UKe+5VrfEGcdtNgtUEsPPTowdGyLW7Gz0nTHf0l58tmVL3SdQWytZ\nzyDt+VdkqbIT2/qVWs3EvsUwKzaOGQ1fwrsshKPhyf0jLCtaUleaVD3HN6Hr\nHZtpIoSVA90coTyDa+dUiiBNwYPaP+13wBKp88kCUjSGBKpntsbGWtRMruNj\n3lOkV+xSPqu/HxlhnHO9yXL4MaqgR0DhcLWvnSG6Zaz84AkfARnGmaSF0dd8\nugfrcWauS3sArxrv/AXNEJlwJtx/BrEv+x3wOJcezNIpqHC6Vprs6fHYy+Ef\nbZ6M7RL6oD110X/4U1dMhTd9Uoe/5AMS7yziB9vmRMgfDUdEgOKJsra4xGx1\nH4ci\r\n=c0KZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcKn22tEUzw0GBq+E8X9OzURTR73Pxto3ZWfxkLd7Q6QIhAIocMAXhgsPUS9VUIh+wJHgoX0+1xGCce1RaIC2tQnng"}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.6_1643477455488_0.6272796217632295"},"_hasShrinkwrap":false},"1.0.0-dev.7":{"name":"piilani","version":"1.0.0-dev.7","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mappers/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.15","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"9fb7cb87f770727895dfa2919072e2389b6971fb","_id":"piilani@1.0.0-dev.7","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-TdT7MYUwLulgRN06+JQoNH7uehqyERcKKisStiq+f9NuKKqqAEhtsvMN1PNao3giwUJaX5ilJjeuFor2iI389Q==","shasum":"341cf471ec6592de39839c9695143283e025c6a9","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.7.tgz","fileCount":96,"unpackedSize":89459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9hmTCRA9TVsSAnZWagAA9xwP/A8FRv7JoxWJ3jBiZVi6\n9MSrtyxosgHr3R+97Lj9SkZEESak0LCfd8adfYgsf2aDLp48e86WqdqJNZI0\n2xEfhwaKOig8IyyUtNazHTFW4togJp2L02DZAVuaEnY9t9qcNvT/4QRagQiP\nDVG8h+I/Mf/ke3sh/ELVceFRmskBJpxDwWLASYRxruYJXHNMqhvzLE21zdXv\nDFB81gDQWCV8AJFMlj+H0ZQaOpV5J4AqJPhwRB00a5Nhqg1bjqNv/krXDxqX\nf+lON/hMlG+eURCNgG1U/VUF9tn8GBiTZ7MYl9qrWaGfzQm/KDvlnT0uLXGr\nBf/yfNGF1xhul4JlyzGKFtL6hNNjWYx5TkngPlimOE1/pYMe5QlOVuIkow9i\nRKSJWKpo4wHRd/rjbBN6sVXH6YBfDrAH07TlapmTexIDWOieoAoC0GNeSXEA\n9Z453l2bvPhV9dsnro2l2VRJ16ujsetxlrIAAV4I5NkDFE3GFEZCJ0l8TwGu\nalSqJGtKj0fFVcm30S3YjMlwM6szna7K7qVaUAqRi2QXVmBQUFqbmHtLAeqB\neiOQrsSCkkpYaGwA/kECXiJ2xs1OfWmJSKxeL+HlU3DM+Eh1C5m8YZxaICJA\nWekhRkS9laSJXqWix3gFDnxfK7H0Wrg5uBLo3tEmJIozZcaytBIxruudIJMT\nwu5G\r\n=N7QS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC3ZgC4uuc2dXz42J0K6b7HrMN7ZAoHxT8tzZqH5wOmsAiAWnVLmajbluE8UrGBgGUOmnCQJMSm5553UuIs5gYbMEg=="}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.7_1643518355558_0.8860391289507996"},"_hasShrinkwrap":false},"1.0.0-dev.8":{"name":"piilani","version":"1.0.0-dev.8","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mappers/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.15","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"f5b8883154c65992de5d968a198d8d1b1134863a","_id":"piilani@1.0.0-dev.8","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-BLThvjfsM6dM8gZQHEmrlYa3JV5CC2i+paLkfNA322qkos3Mgefy9XUYAms8psFqQnPC9hK5Jy3g/2To0yyToQ==","shasum":"4698aaef11419f7bd5b347ae187458ae1d933363","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.8.tgz","fileCount":96,"unpackedSize":89488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9hrpCRA9TVsSAnZWagAAr64P/35Ei24qcKCm/katkkll\nklgEDdtsnC+PVYioy6iGeNwpvoD51MBSp5dObi9NLyCUSzckHF4fsMDs4z/1\n1o1eyXtgo3wjQifstZRvd3A/VP7fnVyxESsmvYY6HmJH57TDGWhLC8Iq/rZ4\n3o3V44Kd0hI19U4sI6bBzP3T5Y2GeFTcom2wpcKkzqk694osmYxDVB2doN5t\niX3mWLli1O4xQ8WbYe31h1utX5w5pdyX0ykZyIxVAiiEO+RoCZnkCVKnROS0\nqf0Ls5IBLICvo50LT+ij3xMF8dGznLuhsGK80n2a3bBKYOivm1oXJxlcpS2r\nC5V/pmmCgGt0LcZigdeE3CWMdQXYMFjDuPCvfTa16DpJUuxfGEgvkLLdZ76h\nnbtoxrVQjXKgE3c9IAaBflhLc+vWxXf530RfeNU4t6zIilHJ/YNFHuVB/YOU\ny8CnkRyYH4vVCWQ6+P03EXDN6JLMLvmnlw6aHBwzab5+RwJ6qpa1WrjMFT0H\nyRWi/ICwX7oTNmFRsLaZjOpZGRJqXmRra+JwWzjqMC9W6yvCo3Hpiy9BseSx\nMrqe/L/T6rmu/q7wuJoiozZIR8zPzcmrL9/7tUg4g0X8YSYEJe36QwPq3n68\nt4p7KpwCHB6kwHmlzOLUydo/08+PEi1o4RxdHS7ERc2FSywEYc1DDRUF5z1n\nlacQ\r\n=RZDY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtH2PuYgKWqy390vp57JBgsidOAy6Mdz67aN5ho3xaXAIhAPPj0X27ziMgWsvIrm/MaznKivvT8E/Y7oLGR46b6dkz"}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.8_1643518697440_0.5687666315862083"},"_hasShrinkwrap":false},"1.0.0-dev.9":{"name":"piilani","version":"1.0.0-dev.9","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mappers/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.15","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"16bc1cb551e00d567930a869598ba8aac937f4e8","_id":"piilani@1.0.0-dev.9","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-ZXWZ9dByM4SqA1bULtDcO9njiIqKR0Jp+aCbmUZm7klqdF8JB0A3Sk3CVJsCHiHlhoYA5AoQZfXU3/6cX05C/Q==","shasum":"8dbe467d593369c0ad5f5ac8db5d9f23631d7795","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.9.tgz","fileCount":96,"unpackedSize":89555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9hwMCRA9TVsSAnZWagAAbdAP/25GxZaNesjQSU96rtoE\ny+950bO6AifHmLbhtDfSO5NVY2lAXnr7126sed6MIn4YSzci23x3Lv/bMlFR\nnDsHztjGBT7rR5IFf6XfAXJKZglQwYBSHWL7b9KDkEvDFT1G76naShCCI9+u\ngm0PF2aevSWIDsuX4xDn7lf2IE8i6mUSYOEJIN4BZGAaIDTjrTU6aL+SyGAL\naJs07NLhh3E0b2UrqqlYr+VJVDYufEMT67uE1s95m/yEIyREbKAAEuel3OrB\nH/NFQf0eqNmqUVRkn7Ju8V5bpiV3NUYA3gNkRJkMwUb2Hcx8GKPUo5B8Fu8Y\nIXzdj/Wqi1rAiI+mj1999liwI6IjmvUSXiNFOaB3UMZDJpc1waD+zupNvE2y\nLE2zYW4w6rp5m3Kg0S9+GWJY7IZ5MdS0c6h6vNFUEQ53jJyu6FJTGlBBKxCw\n6eQxi1B+m8PYJLTWRjGP3SINZXbkAzlJkAgvDf9AFfkfFeLrnUcNUHlOgTdd\nlCxXhv0nFvDsBo07unsrdPM0rrTgzqEVjINLF+OYNByOZbjNtaePov6LeeqD\nVL3u/i51EzdTpSVUw4p8n1ZulqCxJFBkuewKmTbv0g8KeJ9Ch5JC1nnXh0ww\nqaSmTea8EwRsxEhiHv934t0c1913+ysHwmUW4esCcZWHCR9+ZbU3NcT87sgW\nFvW7\r\n=L8Rr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAga+pBBWQZ7TlgWz1M2lzCPfn/WdVsTlY98h+TkwUAyAiEA1cHBrRPp58vjDGyd+USN7I/5dY3PCwmRc17/Hf/MFPA="}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.9_1643518988350_0.28415219826019333"},"_hasShrinkwrap":false},"1.0.0-dev.10":{"name":"piilani","version":"1.0.0-dev.10","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mappers/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.15","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"0f587e8774eb96a2e980f21b3aad61c2fb400d0c","_id":"piilani@1.0.0-dev.10","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-Oa4TSti2pe4lsyvuU/2h1fm7GoaI6m7IjVWjm0fxVcojDeRTzm+z3qV+9YJdr3Ak6rMx19hY67eugOGil5WNYg==","shasum":"c16d8857bcb8fdfb664f151355ec97551df0784a","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.10.tgz","fileCount":106,"unpackedSize":126772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9tRrCRA9TVsSAnZWagAA2qEP/33S+Sx3OfKzPk4923zZ\nKxywIVg5omGKvVrwTkqMXIcAoiCR5oaojvJqdgw7jUEIEARJslzehFdjTZ/A\neXpYRPAG1Ii+QlWDCRhCb20Gqv7AYn3p9XaeL0KTAj9owpVhjEqPYqw5z4P2\neOmjg94h6aBQY4hG21oIGzX1DeClgMLXy4yz5Orp3MiFnpeoCgb3LzvoHrl1\nZKvPX7TWKLKnJ5VKMfDfjASX1zDmRJsPgd7jS31Fy8gpDFIRrnGANAlzI/7Y\nLty+FSReGNmY6lRYfru30uciZ/n/P1YZ79RZ5OREGkrOjkrgFP3yEPdgsxic\nKBybNJO81fAv6mPqeydbxIloHlLvkt9XPte7Td/IpAmrU0MXP+Rh2Kb13DWE\nilNcz2Hr9c00pHXBihxIqBUvXJqSagWLS++vfJqm+c+cTnnczgpvJsMWsfkv\ns+n1bYWgorvFK0Dv1IqEBUGq77GjGGXqVoJzlL89NiHEytD/0YhC35rHvF3G\n1ulyl0LuKp4uIkhFSwjlGqgi2Azuf2l0ALkLmOdLsCEuMwm7aVFIdmvbcyVb\nffn1DV7gQVKvzGB7uAYDhXPJB2plV+5FHE6cgTSKTOHIN7ZGZVrN9U0LqbIU\np8zwQOZomtXEFgJWU+YARQsxqzmW2/v5AOANu8WBNRfYiMG8dB56BWqUhzun\neWh9\r\n=GRK1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID7bVEfViKOTraIaHzcuNXbg9/vcPRQkTy1UHMciDTBwAiBK/T2P+jsR51JKzhVe2uoIRWK7Nhi3YSCi/j1DjP49xg=="}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.10_1643566187596_0.8194704805490467"},"_hasShrinkwrap":false},"1.0.0-dev.11":{"name":"piilani","version":"1.0.0-dev.11","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mappers/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.15","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"996f026163b06b2fa2c24d868855ada4fe6f0bc5","_id":"piilani@1.0.0-dev.11","_nodeVersion":"16.14.1","_npmVersion":"8.5.5","dist":{"integrity":"sha512-BT2FkKoxvyIXUeBu/o2jKa9L8E42GihBxQ+Z7dFkndYh/SIZHP7sjIRWZ3VSDz0x1zHXHmICK4zI4n0gbXLJBA==","shasum":"16cf16cf69acf5dc9a1ee2829391ac6c6d06b94f","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.11.tgz","fileCount":106,"unpackedSize":112575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiN9ALACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNbA/+JuV1yWD2oEdtzXRszxiFJO6oXvbnzMnK91GcCKQ57gJKOvs2\r\nxyYGdTI1Hg+ohDrEo0OJjONJHj+AgN9EeYdVwLUPYKsart6owSigOQwCw4JN\r\nIVwzDHk8jAc8WOBaybXWMa9NUvQj3zsCQwRl5TzJ7DAguAMTTDy6pXissrYP\r\n2m7yhPVFYzVF/lSMazLiyJdwbDeaQs/5y/9w88c7uNhRSUpV1hBvaQI1SqFa\r\ngj+aT0jP0+zLUgrj/sFZKsP574VGdOEZ/CT8vdmYGaPS0n7b5vnnVAXWz4xz\r\nQLv3FDoov14urESzz8AnPGR8qrVYCjKaVvgAkfOsCf4L97BRx2OQVoIoAOHE\r\nW7RAzKu4FI3rGhCSEF7GKKiZjZCjQs1YCqU/lXGeg3aPtDL9spGsg+5BDIgw\r\ncB8Odpc0ItxriGhIbDIg2x9gTPKnGP07S5Cm/x57FvHZa/DVQEdkJAUMFuf9\r\nObuimcmmudwxda085+Ew8c0KhrqT8PZftE+xG08wRzx+FZrfuaZ5rXxMU6ZB\r\nLJrkB7wZZH/CHIOTonA80NWEp3d0F+z4ieFO61YIsntdQW18nRkUvmKQvYJS\r\nJQpycWEyn/Uk+jaAR0Vw6GkWXstMJXDwUWoBOjjxq7rzt4r3Wf6r03Xxtut6\r\ng67j7J33IRQx2tgP2qji4QQswLlec6iCkEk=\r\n=9qbS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDOHbWlAnX374MYkPS+1Ybu30bU4+jGJD90D+UdkztZXAiEAgLdVilo71Lwgqq8CG+CHVR9P8jM6DtuRAcoEpVQyHgg="}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.11_1647824907474_0.26116950265605876"},"_hasShrinkwrap":false},"1.0.0-dev.12":{"name":"piilani","version":"1.0.0-dev.12","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mappers/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.15","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"996f026163b06b2fa2c24d868855ada4fe6f0bc5","_id":"piilani@1.0.0-dev.12","_nodeVersion":"16.14.1","_npmVersion":"8.5.5","dist":{"integrity":"sha512-rq8IidDVjgExUgtqEOdLooQx/pkYCXzCsWXq74jYBW+edOzlm+dpwFM9digS9vgT/7o2m+C8hxbT3SDUUQL1xg==","shasum":"5fc8ececde8c832206f55a7c0306de0d20345069","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.12.tgz","fileCount":106,"unpackedSize":112583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiN9fdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpfgA//Q59Vz4viupcI+vChSTUwF1AF/J3uSX0i7Gk8blhSFeMqTjni\r\nm4woHeL0rZyUrl7DOo5AwwoDhnm8JrglUJ0w7rG7VG00DyLBhTZ92rGxkJcm\r\n0JIIASSl8HZdzisYqi8G0EUBjqdhPUDEGvpiSf8sSfFSCfBXnMCXu1RABJoY\r\nrxLBC2U0ZRC0deS22C/xppT++7QAUnl5PqwFdgg37cWO6TJWIuPoFS+GgTVd\r\nmcL3m+8gJKLIhBYNLN58Lj2HDBifw+9TVq/4O7RA0ra/Xz6f0rThfCzN3Sth\r\nJNTq1Lf/xRSNLVt6lz1qiGVgzU0zOkX1TQs5RIoOf0qBqSbJDW5G+znrgPoe\r\nBzh2EBEwfxlr+bmmZh0VGW/ZkfZEdijyf84uNBkjLkJ/7LGvASlrXeQrAqFC\r\ngvYp54TZ8EDvOGfzs4TSBO/78YIX8pj6GmQdVBCkpAXYpwzRMWpp2cJnZf98\r\nUVWoWO99/0RDKIrI6WVzWU/fICO/b4fdxevFUPaUaEzxSPZKVnJoQbfdS/+P\r\nE61r+nlWxAZ4IvUWEVSzydBIO5LCP+ijgdXHj3FDku4EZRmI1Yc52ZMich4+\r\niYh9OFSjyeTu9TkpaMrxaUbI5qA53+s6PXJ1KGLIbWOTXC2W7+nrClYQt/6B\r\n92m7C+Qu8xh4UUdFzWguX+hIJ9v/c5K1g4U=\r\n=Z6hQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGydRFcgnRYp9UWLA/E3NE2TmkMyCF5SPF2+HwKXX6dGAiAK1I0xFn4T+vU2EhH8w7i/Zpc/ePdz5OwWY4Ty17TpXg=="}]},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.12_1647826909453_0.9270468282873159"},"_hasShrinkwrap":false},"1.0.0-dev.13":{"name":"piilani","version":"1.0.0-dev.13","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.15","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"0ae6f8aec1e577d8c0dc6c30d94a0052994e4c78","_id":"piilani@1.0.0-dev.13","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-GmqJeT4mEkhAIjojAcBsNUKRPmcqxUl48G5U2Gg4bRuReVs8+6Rv2s2cGCVKln5Oaxul7N7xWqdMcKm7kka9Ew==","shasum":"d91729285f1dc0c04902751559217d0767809168","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.13.tgz","fileCount":120,"unpackedSize":129146,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDF88WCdanDuoPIUkdDQTLzk25+bRogDrje7/Y3ChR8qAiBuL1n5hbdvcUpCa4J4BWlgDAkUgxBNuH6D0MpVeTzv7g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAh5GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSNg//aqnIktU5+dWWcUsxryRHeNb0WTgUgg90P3DV8xxreJw8i0b8\r\njyJgLlc+aNotkplclF0z3l5g7UNme94Adqb6Mp6/e4MiwTMqD0YNec9fRTXk\r\nfi0V87Lnpswno9kUbB9SnCV0QR94ffH+d8ObUHNHueS04KhU2ewuhVi6c6Cs\r\nF7yuEXLmx/Zbe2RtUAHQms26TflEAAOtetH8BpySO5msUBVYlrd0xgCm3rWC\r\naojxpYliwz4OJfi7yGQGwR2Kijp3rN2EIqKp54dFs1RaqIkzB+jwCa1Yi4jJ\r\nPMU6XCiBhdWUpx6WGrZi62ZytWp0Q8Pvwe/vYMMSJ13c48b4JKjPvjQnxiEu\r\nTcYJMpsGvH/hUkemxLOifxjbZXdH18M3veuaql2vo9SRFZXI7fuWw1zJke6b\r\n4bkFX/5Jf0iwZDRX7vht8y0HpRHfmqVXt0eHq3mDBV6EDT+7uyUjpkr0gRik\r\nE5hJp2B9oCFKjcHlCWlALHu4Hr+DrNEgcjavg/N8KyKjJ8YNmVB/ftJ2e7M/\r\naEr4IhduxJfYQzP71BJNxZcnquqG9oas1KVwSHYnCRgERzrXAZ2fnqmLgCz3\r\nn5Y21SubOYopjrdWYqK1upN8AWKPT9gdDtD+IrckCNWPMdPlrjFqf25KIgoW\r\naO37WweNahsd4hyF6WiaCKwapyDYLsB4fB0=\r\n=DiaB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.13_1661083205997_0.7759585040368411"},"_hasShrinkwrap":false},"1.0.0-dev.14":{"name":"piilani","version":"1.0.0-dev.14","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"713dc48ebf8a0addc143ab89b9a3fd44b2efc725","_id":"piilani@1.0.0-dev.14","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-XYMAkZ86Plo0WV1kGsWLU5w28R5gurc1gSs5GeIjOQnKRCPwlFPD5szUUzZJDU9HIXTarb4Z9ENWKBhp5NHRkQ==","shasum":"8021dca390155f49b3f2a12f282ce3f548c44c7a","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.14.tgz","fileCount":121,"unpackedSize":129756,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqdUlJc9m1ogetp6TL8elefs/Jw/JLScZY8NgsP0FE4AIhAPI/2LAlc7FErfhegVJtem5uopgeeNWyu0PULc/td0zr"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBLprACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGkQ/7BNo61vPDD3liC4Hg3jscbPc+kjCew0vOKRINUzbOqbjphW9/\r\nmxNSsfim1sFKHsL4oon1UCvFQ129Kj09izT7+6BtN/LZBZ9DSMCJDuP4ly9R\r\nXnxt/eustxOSLwtkyEg448hKneBkrFM5MiOqK/03+E6cjQA5rDgCbW6h9SZo\r\n5wEZSoaHgENDcDwMe8FPFXhuBovf93Ouc70njuOJihjWLLII0TgWJ77j5NhI\r\nfeCLOx85aQUO7rcZzRDr9FXLLYq1LEIa/dQmGRK8mhyFCcTEy9W0Ue9dtHU1\r\nPGyo7/xzdTlsJfXN9H45ZcpQc/Ck/8MALudH1YaeMY/5jcvVaPeH6KvCfUc9\r\nIiOvkFHMWg58cvgY6/d/difdhFZKtzaA7KDnkeBdw1lffbyzMCR+PvJPtWTl\r\ndA6mChRJVUHH8jxBz7UC3dLDEQUvKTJLA65h5NuqDTCwJVDbO2GFV+rVaKIx\r\nlzK6lPqCXWFUthucKUpYSCIG8EsbNZ8WfgXliZqJmWXpLd/rd8tjXe3WGKmk\r\n/fLOcxgAeqdahYhHn8g+iYtEZIMheeFMGgxuxm+0UCKhX1R+g0V87jCVjuju\r\nIQgT5oVC4h/UUhtwnO0nlgbPFuGJbkRu/3kFyG+1umXsyNrC5V36aPoQCr1j\r\nvgEfc2/OD4kkeTSUKrPhpxDPKrQxEqmPokY=\r\n=B5AH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.14_1661254251297_0.30940668304943597"},"_hasShrinkwrap":false},"1.0.0-dev.15":{"name":"piilani","version":"1.0.0-dev.15","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"3a9a1160b0668622478547bfd97c7246de912ab9","_id":"piilani@1.0.0-dev.15","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-r4NfBfTDMpnjgiIk3I+DwxxOxwllO4g3T331Znuih6uqKGbXRCESExQfT6Bj8NpGrCyqS/nIjgDDlHkYidzTkA==","shasum":"4e7819dc017613cdfcb9b035f3ede337958e11f1","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.15.tgz","fileCount":121,"unpackedSize":130138,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDc/zOcqSSouWh6AU8/l7r+enJBTxO7YkXMcyvLJ88s9AiEAo3gEqf0LR748eUlJNOZxe9aEjdsvTh/Gl7yMuhN8a48="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBLy2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVLg//a8/AxobEQPeypRtEFbbqDYLBT1+NJliYrUM/lI0L29jeHv+9\r\nWPjp5JLzHy8iB8ggXt5fb3WXCsCeTTlPY109tLU/XuC71CmJFVW++Yzmss1x\r\nEt9xwlVfDmm8lOQTftgRIz7I9i2IZuTsqLFaFuI8ZBnDtqSkXr4cHO2mbadX\r\nKW8NXJGBUG8oqH0F1+PDthhZ8aolonghWlaV8zT6z9TvAGohIU/MuQi7Rxo2\r\nemLMVSbuUAp9Q4m+Xep1M/Nmm/8Byg8/6q2RBqFTxfXzzKTjQdG9STtwOdPQ\r\nxMPHpHM+rnF9NY86JMqsDGnOOTtcsoQRvnkVAXfwJuJ4ruF/FFzP2cTQ/N3/\r\nMLqLKk8qNWHkcPv/E2NuGO9nWsa8AIH8EC0giagPhkK75wIwdmDrkioNGVGE\r\nqdQsQxit3TFWNFC1rFsip+D+7UWhIAnMrPyxatBs0PCcA3LUslRlvQs6V2/h\r\nQmdXT6/Eakgy8miY7/q8hRCq4SlgkFgX3kowdV2SVPtOq+cfguyrhDTGWgY6\r\n+rlaniNSAB1BE4NvvMb15aXT9Ydz4S8mAS78jHNZRYA9gw78ARx4I2kxrAbD\r\nIXor2cfQzh3mrgWOpHdJl0/JXJY/Llk1tFX/UEIT4SSQUj/iOG6KHfHX+gdP\r\n5EUYr18YOkk0dpPNgmiFjqqLbvIlMWJfJe0=\r\n=sug6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.15_1661254838728_0.0033659968436321464"},"_hasShrinkwrap":false},"1.0.0-dev.16":{"name":"piilani","version":"1.0.0-dev.16","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"4ea9cf43c259efbd040cd33b1dd11853b391393d","_id":"piilani@1.0.0-dev.16","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-39ncfCCi8sBEkc5Wjw1lxOAKafZ37p7OoaifJq/XyBmc7CbQtsg38DAZGdNnBCXHg7Pxtn59yJ1Nvus5YrrOKQ==","shasum":"62cff93c04ead0147b99cd5020d91e72066c21c8","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.16.tgz","fileCount":127,"unpackedSize":131026,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICI53YrqUPO65YrA+8sIiR2JNIXfS7HW6me2xrXg2ejPAiALaVfzlYp5CUZv7vU3Oyj106Qiu0cFl8EU1Fc3JA6Lug=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBMUmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpi2Q/+OsOy0fKlUTW4qSAwOIZ9oSMGtlsIthkr6kLbcKzGGCmBH+gD\r\noDX2Dwxa81K63ds9imhOK0M1eTKf58FCZlsaWbx+FyhCS2IVTGRoj1TPhlIY\r\nF/s5vzwzTiKAx6h6n+WOSZdGe9fUuVz0U1aW6oNp1hNd3/84ikajYxGhEMrP\r\npcRQnCCDbAylspLwjJf+JVEeLouHPUQYKJYFf9s7Fe94sbEBTjQfl14XdUm7\r\nUsaFjx/HiudTTyUIxARHMZLMNb1GpF4M6qBaeMEqHueZ6E1PiRAxVwNt/MdY\r\n/vgCpE/en/hqsOpPFz0cdtmddEgPxyPdn0BjLx0bNikdlDZZfWBgw/KOCGtt\r\n+oyBXl19ZYCpswEKBFbAieru37cX3Mt0PquNcgBF44qe6ouM6P1pKgGh1RlZ\r\nITIsTuHAW47rePw4d/9OUMju+pCGF4nbxFaT6kvPefS4Q9Y4jc4kZrqA0uGs\r\n9WaElXwsm/d4a09kCI/GMxYTt1t28VeV8dngwQTN58hdsSvjUd5KuhrMJZVv\r\n1XP22ZrTU+svFLRgzcrRM95v/NeKacjGS4V0TW6MIdrGUywOy482bEKEJk/o\r\nFUWrRZg6nmefqH4uXX+1tlwXD02ZqL6xUgjF5aeRuuPmI2NkMltHCyyL+u8s\r\n+dQD8fZiReZfUg4XTQFhJeL4Cn1HmafRhYA=\r\n=cT4I\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.16_1661256998021_0.4570987266272768"},"_hasShrinkwrap":false},"1.0.0-dev.17":{"name":"piilani","version":"1.0.0-dev.17","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"4cda7dd2a0b4848f9a07afaa61318d4235183561","_id":"piilani@1.0.0-dev.17","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-6QrbNqvA3FPTswR7cwgXFrOStPuYt99jThwzoSWNdQ8GIYzEOe1gZOR2IwzXKZYjGvJbVnPFO5zW9sJf3NQ7iA==","shasum":"846c64b6fbd391bfd8c8a3a04df47990048e2baa","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.17.tgz","fileCount":127,"unpackedSize":134387,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNr9NB6kHd68KxckAptXOWLjfS7n1EnTC4KIeA5kq8+QIhAMHYbtixw7vaBHzRePhi01KNNvjQRuLMypx4YD177Dko"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjXW42ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqH6g//QhipWePyILI0hJwr7FMC6nlD/ytMncQuznLbKb7ENsDqVshe\r\nJFZbA2x2zVG3c6mm65XGqipoLXONniuLzEMVMkW9DJQXVV0vL+D/n5N1RcGL\r\n1dOVgG7IGd7wcXyF8wSVGvcSxlH5hZ1gPR9bora4vD73jny3bMMTHbzAEo/y\r\n4O853+GcOCWsQiNUsfVSpwNH9KT0WnFEUTx70Fw+UBCAdgdkMpjZ7hHHo1oo\r\nOnlFdzVNS7KajB8obN5M0qRVypa0MnYtP8hgJRx9RoXAgpR2eXjXSoIilAfW\r\nijnN8IMxSYOBpgs/d3nJ2pmBURkq0c/RbsxDJ5VUcM71CHcSKEI9f4SNUAyB\r\nRElHXWsEKFvB9Zz2xFbSrWhGLyOOhNMuB4n7sn/jAH0J5fNh4ji+sGzG1vJe\r\nRYcoLNJbrOaHJGYKJweauDoi7PfkeovVmxEjbNJ8Y9m78A/h87hropg0yCD4\r\nYr18fGcFGeOtDuR0WzVTrLYQr+wRuTjoN2YY3GHC8DfR2ZPoo4OZP/dVfboF\r\nhM7A1QfsvH/6TIWAdBLFG8bHf0Pga8BBGsXWQgQSdAnf2HNNYMwg2jp6N8LB\r\ngmBeFeIa8dleSqcSj4X+YoU37NFrWSTpvW+XVtpZ0qrZjpwbjt5EX7yFxiwg\r\nbatp7EErVle6pHbhmn9Obi6IPMZvtFNAmxs=\r\n=tvFv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.17_1667067446511_0.5366991885936663"},"_hasShrinkwrap":false},"1.0.0-dev.18":{"name":"piilani","version":"1.0.0-dev.18","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"a433855aece0e23d0b43ee2a11d4d99f29938e07","_id":"piilani@1.0.0-dev.18","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-UDLbu3mDMkmZfeo1V6ZW5Bk/Oyx0IrVf4ksY1A1i9RP2sqpZFr1cyhzk1mHI5a8SqwnbA7tvBhtvQo0ZBnF5bA==","shasum":"6cf0961102fadc19479b3d99123dde453e5aeac3","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.18.tgz","fileCount":127,"unpackedSize":134470,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDbmBVdOiur+0WwBspQK/7ESY5waZEf3aOntycPKwaGAAiAb/HDEGV2hDf7EKZC6fpftJV8h8Rfb320vbSVrQt2M0w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbGY7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqE9g//YVIW0Z00Afugd7Zw1ByBLEYp1mH/zj65j8HzpmTgDLE9iZum\r\nnHfl+bmYDEvziy2kg6Q+tBgBV3JRLzNJ7K7+ddgIYiK21lQa7Z29/qHtOv/Z\r\nmxi57v66ZvDMaPKH0ikjeX/6qJoKGpEdfOZsjf7k8a+fTu5ypMZu9Mj0qkuL\r\nlBzXyijT9gpk1S8HpGn8A3P8W8X1MATNTWaEHB2OXNqpAkGZaFz4IR1IKSWT\r\nBh680OATpQ6OofCMmzidroAdM2ZT3cUCDzvmWPJFumEKTgZWgGMp87lpMHTF\r\nmsPqzsUL6zTCp6vzM2l64xzJ/knDZWn0ZyvXnTCfN3NKbeUXNIPtT1IaxH+R\r\nrvQsKg2+0mLy+67jx6xcwzzj7h+Vw9vq+ki+G+KSoFsVdQnuv7uRkaNtwOxN\r\nGVMgOa4l231Q49S0cLmW+X8l09tcEpE9XAbEy1xwsyvWDCTkxupFQWy+rMQz\r\n7fv9nVWFPokTzjc/y5DYHF3pb8nOK8uFLLBuLmqoTfl7cQG4FsmvExpehAqi\r\nEZ+OJWZ+uk4nBW4gQstfpaHGVb2JMibSYZAFrQoTCagbXlfDhhLBn7+qzZQ4\r\nWzdHAXgZOFNBweQGH5uWUjwVr4Oa+nHCRpsKi75H1P/BSPkNQOpdyvK+q/Vf\r\nFT1ba0nm3WbzOlwzTKNp6BOZ0UmHJw8rnfI=\r\n=tkUa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.18_1668048442908_0.05820960808957021"},"_hasShrinkwrap":false},"1.0.0-dev.19":{"name":"piilani","version":"1.0.0-dev.19","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","jsonwebtoken":"^8.5.1","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/jsonwebtoken":"^8.5.9","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"ebdcecd42af6b4a22e56985777014c6ab34172cf","_id":"piilani@1.0.0-dev.19","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-ZjXTC11/n3J4zcdie1v3GaqmBapGuXeb8zoV3nQ9Yp3XPM9OvLl+hrF5XRmsN/TajB4XXJFhykD/jNu8ppgItw==","shasum":"e41b966cd02d8babe1cf805c328dfba171a78a57","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.19.tgz","fileCount":134,"unpackedSize":141157,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHD4NZOplGgt+rOHPBP+jnm9DRB6biM+lV4fPd/RGX5eAiEAt034VlEXGas3ENBQbPhtlx+698hJElPCZ1K1H1mzYGM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjb/3DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/DA/+L7hZaFbs01ZzayAMgi6gICluYMq6Hfo/UHeqlPvleXl0hLbh\r\nVOUOfiPLkmmWlRdvOnAvoWw9/XyU+WC4/K4GriuA+JLQ5XNrLOu2HJLTjS4p\r\nF07rjlrx4MTTw6CTpoYpBFAJMmQ31yb7ppWMc7wCPt6BhAMceKYN/+fp7kdp\r\nTNci0OH8vuubDzJuNPoIwUjjh65KdU25aVtx9+6lu3DhcnJHVZUXwQWdUWqT\r\nNJwN36KU4HXyRGbkAIiVhGJsdU9l+U1ieQxwZWqmhU9NTeCyQZ4p/qwGo2lS\r\nvjU3t4GjXqJkU1GG2BTCuEpHnAbo5XJtitYnufLXEM78fi8fd1DxRJHNf9G2\r\nb+T8MdGp3cH6M3gMdeO12hI+yfc76znoHvQzrKTN0gtcXejwW9K2tliT6V3A\r\njqsin0t9q/fDR8inW7A9fnHIsr3SzRxpoho9eVKo5l0rrvMKsN5VxVCd7Aj5\r\nR2doRIMSp75iEfKGVo8ELUCEx1YQxZ64WjpEZy4LxOZRl9MBJEztSSPDPFHR\r\narSSquMMJcp/NT8iuQEqlUPTQEuZPsJFXEGKgpZHEusEydF+067RCh1bZF/f\r\nXuaJ8xmEiG5ik0TjSPM6Dv8uPiUmUAgttzRynE4f+Nu+TjoF7mljNJsCRJdY\r\nzr+OhzXzXwoGeWHWGPvQedbGhi6Or2gX2dU=\r\n=aZu4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.19_1668283843235_0.06578227528798353"},"_hasShrinkwrap":false},"1.0.0-dev.20":{"name":"piilani","version":"1.0.0-dev.20","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","jsonwebtoken":"^8.5.1","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/jsonwebtoken":"^8.5.9","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"2ba1aa47656abafcf1f7e36353c18c8f77ac157a","_id":"piilani@1.0.0-dev.20","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-OQnObls3ubpwOLrDG3NqdlOyx7QyI2zjAxsvJR/v79Cf0CDAhRmf5loYGy6h08/dvMPH4muftsiV/oSSgTFUAg==","shasum":"995b09961d5ab8ecadc1eade9cd9272a79e903ce","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.20.tgz","fileCount":136,"unpackedSize":142693,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGnD3yaby2pGN2wt6L8gCk6Ok2pNcHT809ONiWfJZpdJAiBKpYVk0cWr/cMTE/eYntzlA0kcD25DkBCJ2Osny9H92Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjcDcBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpBwQ/+PowhZ1iGeLe6Usw+KKtcVW9NoYksURY34qeRJJgxc/5I8BVe\r\nECT5dI3iuK0XrbYJtuwX4K1MRF+Nb+tuNSBTa/VWFA+BFcCZHAQqDYSbe/VY\r\ndTd+Z1hbUjvDnRh0QULQAYZvTF7/x2vKJmmi/qIhGtdK1GyoH0ni+cM79krD\r\nAWPAzPtmp4ah5FJmjVmd+Rq29XvbPpFJWfYfld6dAbKZbJ2Dj1SQTP9EvJmm\r\niPMWpwpIE/Q2eMC607t2q7kbN5HmDLBh7+tv/EJXQjX7W8W3xw200ACqlAtq\r\nmkV8DpCz/1yKQKyYxNqKd7jK9EBJ3+2Ez0MQwfJlpulhVTplg/BV9WAEJMf1\r\n4No0YKzR12g4wSu/hAl1xaEl6a/dEEZAsoT+SQLmG71nO8BNkDBnUI8fiIaP\r\nZKGXsjZAWzwqSBAULR+PJDQ6SFDVKzQzYxAt0Lg+wbxdFmEwcNiQA7omzQBT\r\nd/s7yTh20jqtAwX0+1ucrpTb77GjE5RIoDc2Vp3LGjkWF11ZdTCE/CKhVoVR\r\n4LHOaEig3GzlDhYn1z4agoE/8BukWwUv2pH67BWev/AhyFqYMlIyTQNbFwUY\r\nR6cBPbRH4s20d6HgtVn0+PIGdQLf7DU34d47rBwI409IoW0BGETpM100WzBW\r\neg2bTxDnZt/qJy5WQfI0V5qaiUJmDX/CoUQ=\r\n=djHN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.20_1668298497584_0.8910021491624627"},"_hasShrinkwrap":false},"1.0.0-dev.21":{"name":"piilani","version":"1.0.0-dev.21","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","jsonwebtoken":"^8.5.1","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/jsonwebtoken":"^8.5.9","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"d4043eac105b347ade8197c94f7b5aeab3dfc635","_id":"piilani@1.0.0-dev.21","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-py5k76Gik0fydrTjHeqk2/jB5Mt0B2hyvFxJNUvk6Rtd4G6tY9FQGsZIFrA6TYLsFX7VoS8ebzSctuuT6BRqhw==","shasum":"b7f457a5f08d5947a53e1d90c821a75b69afbb7a","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.21.tgz","fileCount":136,"unpackedSize":142832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8+K9u1sXPpN5inKzR+oeEcZ5aciVyWvg9Bkz2IC7lAQIhAOmQvpXo2+tFb8jphJ1L1Pepl8T005F505O4QscVogye"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjcWGhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6hA//fxEK0Q2YDJM+08q8gKLEmV0DJBG9ia2Dh1TOtjHA5h9LJnhT\r\nFQjBJuQNgWzxoeq89VGJbZIP108iyCCxrskfaLFAKHp9NCINoyOTv6t3ytR2\r\nrCY7hINiONo1pgvuNBhXaFqQjhbwhxdRwKoe6h0PtVpK+U7FUY8nzolFH2ey\r\nGb8zpJjwsQi/Amuro7aIqnDB4f4UU8I+jmwlBS+a+GDTfItAc45W39W6aenL\r\nCyB9VRQBmMaJARlG/LpO/0VpUzgKxaFD/FgfdR0YDc0XZPTg+Uz6uden0jcj\r\nVq0nF6vBAIeMUm9+uh1XRE3JLYXwsCKF7MBOuU8i2m7dzXVuuFaN2MPFNluc\r\nW/DSrhOuG6f9Ttfb4/IHRdhRay1ko9/bO+CGo9VrASkUft7nkwsdBnibnINj\r\n86spmMRcW2jMc+ug2guyM7RG0JTLtmP3uE7WOzusALVtONxI/4p3nGBGJmle\r\nBJa8L96OvR3IHT8TNJ1w3Y1zZdZCmkGcKEloIuUf9mM505Z5Sr4nukKW+otN\r\ny3aDR6axgYRofXSX3NW+uCDMgCiFaJV0zzr3I5k0AyFEVvduScd8X4gumk/X\r\niHrvXB8kuLrO4hEEPkwD3SfBcF5luD6njl9FyM78FTD0v/LcQDkY6FsouYKk\r\nn/jAiki4KIamsfWzUKaUsrAiw2+brqYBP/Q=\r\n=oOAq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.21_1668374945417_0.09948451425696336"},"_hasShrinkwrap":false},"1.0.0-dev.22":{"name":"piilani","version":"1.0.0-dev.22","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","jsonwebtoken":"^8.5.1","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/jsonwebtoken":"^8.5.9","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"54cf28f7360794f60842a01f7bc03301f4c3566d","_id":"piilani@1.0.0-dev.22","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-D8aVjHyF7UeLRSp1kaXKvhsKWPynKxzlo7+TB81dDXnQNje/qxQlPoEzytsw1CF5niCs2ksLUnFVtiy49PT+Mw==","shasum":"1f634bd120e6cc6a4ef7f8bb04dab4108717d3cb","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.22.tgz","fileCount":136,"unpackedSize":144793,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrHsLiYrB1LLnSf4tIhp1n4Cs/YNBNe74Er4OsU5mU+QIhALmYEq2OcdrJPKVv4VoL/CnUQXaao1H7LcVvFwyDeEMo"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjcY1rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkrA/8CQBAqlpSxzoK5Mz9/WCBDPky78/XmbWLBuxdqxgFzU8dcJOi\r\nV3MrnwFQooG1jxiImz0kyLYGZV9VQt/t3P6Hm9p3AhGnXbreG/MbuD2Sb5bl\r\nbJx2OEtvtpKvo+7z1Uy/3yXFvhS+naLKa+FdZPJ7V5r66CCEAL5hh4CFJi6U\r\nt5duWB2S3x1iRoWYfOd6zABBdVXpXV86pTJvxs4sh8LHv4axBfqEjNzn6DzS\r\nCBVV7IKplwPQmQqm8hDLlsxqw9rzuAfgBWHNL7ucF59y+AZscn84op6puQQ/\r\nNKcMpmN0uoIF0+GZM4+GSpb4JKaOg+HAbGrOxTParIB1dIr8pj/7enr/fZAk\r\newBZdpCgtIqfXLj/lC5LAUNLl2rOaGiSuENc+yrUVxa08Sv0xcRceSihPCC1\r\nDUCwWnWvTuag5NLJmuZbErK7UGiTQo5YH8G5Jru01LcgkcDT8hAUGygUBU4L\r\n9VK9A/ZWfoqNtxsUfpKeCFqieGUNkc91tdfXx0WoYqToFQU8r8anwAWCuZI8\r\nFk/ran8eDWuVvFf63/sey8QsElBzAxnMqC6T7F06nRSjamsgxBJ1RuKCpNtB\r\n6Nyt74l5boHVcrOsUvrrpILCOo8dpc3A5aQoRqszX1prLMP35hrJWEirN1oZ\r\nFZOIYfyQw8dkPMwWo7hqJtEs6VMPwnAfCbA=\r\n=CewM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.22_1668386155457_0.04559864051622009"},"_hasShrinkwrap":false},"1.0.0-dev.23":{"name":"piilani","version":"1.0.0-dev.23","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","jsonwebtoken":"^8.5.1","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/jsonwebtoken":"^8.5.9","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"c0bb3b67b5cbcd5e0161c755cb44c1fc59f96c5b","_id":"piilani@1.0.0-dev.23","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-VwNAbWN8pDxc/iq/oSq0hV6sUihf2SoEcXatC22Xnh4HLEpMFlj12AOQfbd03FIClVr55bLhJqs3h146iwDBmQ==","shasum":"d43fbc76fab9e7306e7328da894200c6b769cb8c","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.23.tgz","fileCount":136,"unpackedSize":144992,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1ZPVfR3l9uAdZrOh3loiu1Kr2JP1fcgxXSJtVVp1l3QIhAMQL0kilp1HjDr6iI+BRIP58SOnN62DRAJfcMgGHxCsc"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjccjxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqqzQ/+JubFqzelzqZpfP8tjZuBSKEFPIYHCqpTib/wsRTxnZYJf/qz\r\nA6l/DiLIJZnf5z0Vg4Pz//35T0YMeW5yUKKuiE1meaFZUg24NwFfii7phJO5\r\n4uTe1jjmGzlvQ9cz2y6D1aNONhgXubN92XFHZ6Ta1Fl4DylROhDUcKgF01Dx\r\nMGahN9rBhPR4+RFnqaPecvRZgo/Swm0o/6Dz24bea8rGA3Dulhel9JQZARxV\r\nBWBaOzsJ86gRYj4WmP+L9M4tyDFMlFQczuMoUgKrz0Em8dGH2erODZn1k06W\r\nSHRlmUtQXW+5uWe2cX5kAxEx/U8Gb2hygCL0hT0LXd935LnN1yjXwSYEi+cb\r\nAZqTwVgsnFLdzJ4qzCNic8McMi214FeH/X+zajKd6oFapTO87OAQtA13FNCI\r\nrDrKb0UAE6rMc2TBheen6OzxAzKOH5U6j0ci2466grkbLVDLr4yX8L1OJtVD\r\n4g7ynvyFuL0+UdgrT1wLEztw7pHk5V+0UsVJqiO9jonqH5ht3VNQXRPPST1P\r\nTY6G8fUs5inTddKLf+CswxTtDRzxDMnTNMxBUEHpkuHSN0n4ijcginiuemgq\r\nNjtEOMGIZwL0i7O1rKNMRCOkl+aU3BuEA/9cKGGqI3ilfolXEwQLktgblEb+\r\nfzmZAV3nQyy1IEXsQ/gnXkZYUMOW6PaFlUQ=\r\n=7MIb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.23_1668401393649_0.5591021363825772"},"_hasShrinkwrap":false},"1.0.0-dev.24":{"name":"piilani","version":"1.0.0-dev.24","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","jsonwebtoken":"^8.5.1","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/jsonwebtoken":"^8.5.9","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"2ffcef736b6cfcc0284b31c1f333d27e59d5cafb","_id":"piilani@1.0.0-dev.24","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-YLfPkvXQOCQJM8K/NoOJ8uhFfFmu4P6e+1AMwqfSAv8uBubsLTbGM5N48VK8BZx15HIy1+Phs2BbmeZ/8cdEnw==","shasum":"27a4a05632c2ae0bc6e4fb4c92be87e1e9487781","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.24.tgz","fileCount":136,"unpackedSize":144992,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIARI0HH+ByfEDjsWk8pvJYUH5LASh8dKoFuWhceHl3tBAiEA3kI/H/k8lsWMurKlofCDGk9r8O5P8PLuwAzMrn/zaNM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdY63ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXFg/+JLv/0sp4iMy69swC6dyNgKa1yYeNGjp6oefMCGo570fIsuo1\r\n9BySOn5B/pVF1v4Gi9IUkO48UQbVXc1/OmaiKLIaW9rgPSP+uNaiZ31r52mP\r\nytS8p7m5e1E/edoHj1Fy8PegM4LNnZRDTfkflBs/M+fy1BaTeeopDZSkAU7L\r\nJml0YEDNgeU1HtO+S1Aq69JpQP5Vr6jJdrcUtN5TYF5f3gio4LxGqMtLCz3+\r\nTLnC5cuo5zsiViCP5g/hRVie4ps4GWvT973YSgXbgM1BX36vJc9HGUYh7DnA\r\n50xD/Q7mSnSjw+6ZIKT36AnUvzEYnQVigKulkdcresm1o7iJDlvD9uNPhwFC\r\nNsWtc1dcA/rNyZsfxfwHu/0McmTEe3BwwEc3b//yJMH/jqpukAoQ70SAmbnR\r\nnpRM8on9Ln60mNP1CR1z4cZF26mzoY7xXQo+C/RisLMgajVqbwwPwvuJcchI\r\nJo409bgnbjyPTx4ZcOQPrPov5AXDwZWkFPAcy6KexfYsOKJUq/rYobX7Hxbg\r\n7f12O9VI7B4IFA7X6T2qDjZUEw8Jb7UTQTIGl0hRnAJDv/VNT5uJfOExdWH+\r\n+2KzLrlJlQiDFzm0zl9eoT6IueFMes2ROMwO6S50eZ45GZAsrLySkVT6pVwr\r\noesvxVbb+10TyiPP+LDRQRSJw20Q1+uO6BA=\r\n=r/Av\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.24_1668648631400_0.7563647989532785"},"_hasShrinkwrap":false},"1.0.0-dev.25":{"name":"piilani","version":"1.0.0-dev.25","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","jsonwebtoken":"^8.5.1","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/jsonwebtoken":"^8.5.9","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"keywords":["framework","web","http","rest","server","typescript","backend"],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"repository":{"url":"git+https://github.com/jfavrod/piilani.git","type":"git"},"license":"MIT","bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"fd9070a1fb8c1fad559c52cb9924b3a9afd3f518","bugs":{"url":"https://github.com/jfavrod/piilani/issues"},"homepage":"https://github.com/jfavrod/piilani#readme","_id":"piilani@1.0.0-dev.25","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-HIFj4ikQMNF5KDzAHAU3WwQ3K1nLrTaRj1mzUFbgJMbO527SDVRpD/Ik55u/J93VzgdJ6uDKjarEPcdYyCCMnA==","shasum":"185fa7dc7ae057023eb744aff889be419ce77215","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.25.tgz","fileCount":136,"unpackedSize":145183,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgk9SMQea+tOwOrt2bXLNo/Yk0/eYKj7Al5uhg+qY70QIgdArnHzOWtyiwEFAvTvHBDBIKrDRkgOGo6XHNH3gQpsE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdjy4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9GA//bTsmqNWSH4zoWBr8MNOeoo9AaSJCf3oSzfmjWcZqNnsPaClJ\r\nMz5k0XBw+KC3zKE+fSlp00EoJiqRo/Gsc/O2T8iX7QqsJsuNg/NIrWW0Bqv+\r\n5mKo1RiMN0YunVbi07KhxQN41mCYOId39uGdmj0wmQIOR3u1G+Y/cXaaijrW\r\nwkZCwsounuRpoCk25LIgVts3Euss518PzxQDDWHYkH4ct3cA+3ismLpR9TmW\r\n0B+lpWgu6G8XLbLKmD1tBJ3gZ3OBpY6/5K6UF9zXkvVsnvgBhGHSiNeOn+hk\r\nYIDeWVeqbF1xKYRbbdIkMmsCL6Xys1ErWb3ykQpen1VVeQNa1nK/3CyU6zbK\r\n6d+4KCrkSkwEofMt4fTj+ZdaZAoLBw+0ORzvz++jGSR37ceLeEtk3BtoZJSO\r\npHhBApetkNm2DfgtfE7OaSi1pc2qUIl08UHzHPFmJDcwogohGvRSj5Ezk0bH\r\nk8X4YcEl+KBwgkHzPb7wKVaEm3VzMf5iDejwAHGSAdZwdOpXAOE2Wqienl9/\r\njMM9cMWj+qwEgc9O6Ir6F8TJpDfG77K8/1Tfxp5HcKZDXQWfwl+h2luaflT7\r\nRZK3LoOybO3qSrxCfq2XpiBPsEy7EmFCmhbVkesDRxSbFaquLx1QPQHMiDj6\r\n5g0WOjlf4i3AxRp4s7FnG4M5Jzr6D9ztvjI=\r\n=Qrtr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.25_1668693176368_0.8834731659215289"},"_hasShrinkwrap":false},"1.0.0-dev.26":{"name":"piilani","version":"1.0.0-dev.26","description":"Just another Web application framework.","directories":{"bin":"./bin"},"scripts":{"build":"run-s lint compile:clean compile:cli cli:exec cli:templates","build:cli":"run-s clean:cli compile:cli","clean":"rm -rf bin/ context/ controllers/ decorators/ errors/ factories/ gateways/ mapping/ services/","cli:exec":"mv bin/cli.js bin/cli && chmod +x bin/cli","cli:templates":"cp -r src/bin/templates bin/","compile":"tsc -p ./tsconfig.js","compile:clean":"npm run clean && tsc","compile:cli":"cd src/bin && tsc -p ./tsconfig.json","dist":"npm run build && npm publish && npm run clean","lint":"eslint --ext .ts src/**","test":"echo \"Error: no test specified\" && exit 1"},"dependencies":{"app-root-path":"^3.0.0","case":"^1.6.3","commander":"^8.3.0","jsonwebtoken":"^8.5.1","mongodb":"^4.3.1","reflect-metadata":"^0.1.13","tsyringe":"^4.6.0","winston":"^3.4.0","winston-transport":"^4.4.2"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/jsonwebtoken":"^8.5.9","@types/mocha":"^9.1.0","@types/node":"^17.0.11","@types/pg":"^8.6.4","@typescript-eslint/eslint-plugin":"^5.10.1","mocha":"^9.2.0","nodemon":"^2.0.19","npm-run-all":"^4.1.5","ts-mocha":"^9.0.2","typescript":"^4.5.5"},"keywords":["framework","web","http","rest","server","typescript","backend"],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"repository":{"url":"git+https://github.com/jfavrod/piilani.git","type":"git"},"license":"MIT","bin":{"cli":"bin/cli","templates":"bin/templates","config.json":"bin/templates/config.json","startup.ts":"bin/templates/startup.ts"},"gitHead":"60959eee4184c8c43c24b50d27431ba17f033627","bugs":{"url":"https://github.com/jfavrod/piilani/issues"},"homepage":"https://github.com/jfavrod/piilani#readme","_id":"piilani@1.0.0-dev.26","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-VnSUcokdlnklGbyH0Q7UwkAaa146Lv5sH5Md1nIjShrnNOR1bCXUR0Xb4VSUKkY1S9X+sbiZXPnlrHDI56RVHw==","shasum":"e6f35e661b52935fe24c04f4eef5b9bf1b832245","tarball":"https://registry.npmjs.org/piilani/-/piilani-1.0.0-dev.26.tgz","fileCount":136,"unpackedSize":145248,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDzhm2wJZufYTmQ4nMNdj1S8BXyxFw0rxomeWmc/g6YZAiEAt4OjIxfhltOGq1XGRSYIiTbLT+9FG7Jp+EYyjm/t8hY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfX0iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrtsg/+IH66vLc9n7/8WhXX7fhScwRReesEWDqPGDR+lEe6Q9qO3RV9\r\nX+Ci9aIA5HULRqT6UNRgr4F16vq/RsEeUZp8fqon1/Dvi475ouQEnlyPLlUC\r\nx+PzZT6soR6HM/w5sybbtyr1gfZjCMMVhouyHLYCq+uyqzXUCaCyV7lOX5wh\r\n2IbYIRYgHLJPcWCuxkFmFY/WfCBzO3oxJZ8yJ+udp9QWa19xzwaBMb6dgoN9\r\nqmOhUdbvKUefShVJ3snpd4YbfH/Wb+wIxwU4wgHzhIq+2e5ybn9lktsIOeFS\r\naEaGxRmz4WOkyNI6eD0H9ZjsETmcq28yQpYyeb+BRkDBfT4Sbl5RyCzJxrp6\r\nZ/+UDI+PLn3GrKztnU9BktA0u0CLW6pL4LYOkgr5TBALSk7lqp4XFJ+aAjKs\r\nCOt1s2CDm0emt+vTBolxgrLT6lWjUExG7pDVWJFy2glIQGyRbk6OANDldjHv\r\n6sOTYHkhaZoV5rGBMiYA39/4Y56+5cU042BdWznvdGpv/6r0nkYGxRkVWP64\r\nGlkb9NyIYyvqgrRcPxntraQGcxZ10uJ28WZk4+zQMA6mFxB8Oz0tzhj2evFA\r\nwBUJO5dZoFm+tJ6S90Og9RU3dNjZPYR0djsqwhrIiq0Ea7MC5L7IwkYS3S5P\r\nGAIXnYOXhRABvQ2dFQjtSGLBy0ENDbmcCXw=\r\n=sK46\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jfavrod","email":"mail@jasonfavrod.com"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piilani_1.0.0-dev.26_1669168417972_0.2495142367899077"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-24T03:32:38.168Z","1.0.0-dev.0":"2022-01-24T03:32:38.309Z","modified":"2022-11-23T01:53:38.204Z","1.0.0-dev.1":"2022-01-24T03:40:04.284Z","1.0.0-dev.2":"2022-01-24T03:45:34.671Z","1.0.0-dev.3":"2022-01-24T03:54:58.939Z","1.0.0-dev.4":"2022-01-28T03:31:07.951Z","1.0.0-dev.5":"2022-01-28T03:35:05.929Z","1.0.0-dev.6":"2022-01-29T17:30:55.624Z","1.0.0-dev.7":"2022-01-30T04:52:35.746Z","1.0.0-dev.8":"2022-01-30T04:58:17.565Z","1.0.0-dev.9":"2022-01-30T05:03:08.523Z","1.0.0-dev.10":"2022-01-30T18:09:47.790Z","1.0.0-dev.11":"2022-03-21T01:08:27.835Z","1.0.0-dev.12":"2022-03-21T01:41:49.659Z","1.0.0-dev.13":"2022-08-21T12:00:06.201Z","1.0.0-dev.14":"2022-08-23T11:30:51.501Z","1.0.0-dev.15":"2022-08-23T11:40:38.913Z","1.0.0-dev.16":"2022-08-23T12:16:38.267Z","1.0.0-dev.17":"2022-10-29T18:17:26.659Z","1.0.0-dev.18":"2022-11-10T02:47:23.155Z","1.0.0-dev.19":"2022-11-12T20:10:43.421Z","1.0.0-dev.20":"2022-11-13T00:14:57.782Z","1.0.0-dev.21":"2022-11-13T21:29:05.632Z","1.0.0-dev.22":"2022-11-14T00:35:55.670Z","1.0.0-dev.23":"2022-11-14T04:49:53.831Z","1.0.0-dev.24":"2022-11-17T01:30:31.631Z","1.0.0-dev.25":"2022-11-17T13:52:56.555Z","1.0.0-dev.26":"2022-11-23T01:53:38.123Z"},"maintainers":[{"name":"jfavrod","email":"mail@jasonfavrod.com"}],"description":"Just another Web application framework.","keywords":["framework","web","http","rest","server","typescript","backend"],"author":{"name":"Jason Favrod","email":"mail@jasonfavrod.com"},"license":"MIT","readme":"Piilani\n=======\nPee ‧ ee ‧ lawn ‧ ee - Hawaiian; to go up to the heavens/sky.\n\nA framework for building cloud-based Node.js TypeScript back-end Web services.\n\n⚠️ UNDER DEVELOPMENT: NOT PRODUCTION READY ⚠️\n\nIf you have any questions, development ideas, or you'd like to contribute,\nplease contact me or create an issue on Github.\n\n\nGetting Started\n---------------\n\n### Installation\nAdd Piilani to your project.\n\n#### NPM\n```\nnpm i piilani\n```\n\n#### Yarn\n```\nyarn add piilani\n```\n\n### Initialization\nTo initialize your project directory run the following Piilani command:\n\n```\n./node_modules/piilani/bin/cli init\n```\n\nThis will install all required dependencies and create a `config`\ndirectory with config files for each supported environment.\n\n### Environment\nThere are 3 runtime environments and the `PIILANI_ENV` environment variable to\nspecify which one the app is currently running in:\n\n```\n+-------------------+---------------+\n| Environment       | PIILANI_ENV   |\n+-------------------+---------------+\n| development       | dev           |\n+-------------------+---------------+\n| non-production    | non-prod      |\n+-------------------+---------------+\n| production        | prod          |\n+-------------------+---------------+\n```\n\n### Configuration\nAfter initializing the project (see **Getting Started**), you'll have 4\nconfiguration files in your `config` directory. The `config.json` file is the\ndefault. The `dev.config.json`, `non-prod.config.json`, and `prod.config.json`\nfiles are for overriding the default configuration in the respective runtime\nenvironments (see **Environment**).\n\n#### TypeScript Configuration\nThe following values must be set in your tsconfig.json.\n\n```json\n{\n  \"compilerOptions\": {\n    \"emitDecoratorMetadata\": true,\n    \"experimentalDecorators\": true,\n    \"target\": \"es6\"\n  },\n}\n```\n\n#### Entry Point\nAt the entry point for the service, `reflect-metadata` must be imported.\nThis is required for decorator support. In Piilani, the entry point is\nconventionally `startup.ts`. More on that in the Dependency Injection\nsection.\n\n```TypeScript\nimport 'reflect-metadata';\n```\n\n#### Dependency Injection\nDependency injection is handled by `tsyringe`. The recommended way of\nworking with the library is to create a `startup.ts` file at the root\nof your project's source code. In this file, we can include the\nrequired `reflect-metadata` package, and manage the Dependency\nInjection container.\n\nThe `startup.ts` MUST be included before any application code.\n\n##### Example startup.ts\n```TypeScript\nimport 'reflect-metadata';\nimport { container } from 'tsyringe';\n\nexport const DependencyInjection = container;\n\ncontainer.register(/*token, value/class*/)\n```\n\nFor more on dependency injection, see the tsyringe\n[documentation](https://github.com/Microsoft/tsyringe#readme).\nIf your project grows very large, you can split the file and include\nthe child files in the parent `startup.ts`.\n\n*TODO: This could be scripted. Options should exist for creating a\nstartup.ts in a new or existing project.*\n\n#### Server\nBy default, the HTTP server will run unsecured. To run the server secured\n(over HTTPS), add the cert and key files to the config file(s).\n\nThe files are paths relative to the project's root directory.\n\n```json\n{\n  \"listenPort\": 443,\n  \"ssl\": {\n    \"cert\": \"ssl/ssl.cert\",\n    \"key\": \"ssl/ssl.key\"\n  }\n}\n```\n\n#### Database\nThe app can be configured to use one or many databases. Currently, only\nPostgreSQL and Mongodb are officially supported. You can still use other\ndatabases, but certain convenience functions (like the\n`getConnectionString` method of the `Config` class) will be unusable.\n\n\nRest Controllers\n----------------\nThe base of a RESTful Web service is the RestController.\n\n```TypeScript\nimport { injectable } from 'piilani/context';\nimport { RestController } from 'piilani/controllers/http';\n\n@injectable()\nclass ListController extends RestController {\n    // Class definition here...\n}\n```\n\nThis controller is now primed to handle incoming HTTP requests. Without\nspecifying a `basePath`, the controller will handle routes with paths\nstarting from the root `/`. Alternatively, the `basePath` can be set in\nthe constructor.\n\n```TypeScript\nimport { inject, injectable } from 'piilani/context';\n\n@injectable()\nclass ListController extends RestController {\n    private gateway: IListsGateway;\n\n    public constructor(@inject('IListsGateway')gateway: IListsGateway) {\n        super()\n        this.gateway = gateway;\n        this.basePath = '/lists';\n    }\n}\n```\n\nNow all route paths handled by this controller will begin with `/lists`.\n\n### Handling HTTP Requests\nTo handle HTTP requests, use the `get`, `post`, `put`, and `delete`\ndecorators.\n\nThe following method, annotated with the `@get()` decorator, will\nhandle get requests to the controller's base path (`/` by default, see\nthe **RestController** section for details on how to set base path).\n\n```TypeScript\nimport { HttpResponse, NoContent, Ok, ServerError } from 'piilani/controllers/http/response';\nimport { del, get, post, put } from 'piilani/decorators/restful';\n\n@injectable()\nclass ListController extends RestController {\n    // code omitted.\n\n    @get()\n    public async getAllLists(): Promise<HttpResponse<List[]>> {\n      const res = await this.gateway.findAsync();\n      if (res.data) {\n        return Ok(res.data);\n      }\n      if (res.class === 2) {\n        return NoContent();\n      }\n\n      return ServerError();\n    }\n}\n```\n\nIf you want the annotated methods to handle more specific routes, add\nthe path (relative to the RestController's basePath) to the decorator's\ninvocation.\n\n```TypeScript\n@injectable()\nexport class ListsController extends RestController {\n    // code omitted.\n\n    @get('/index')\n    public async getListIndex(): Promise<HttpResponse<ListIndex[]>> {\n      const res = await this.gateway.findIndexAsync();\n\n      if (res.data) {\n        return Ok(res.data);\n      }\n      if (res.class === 2) {\n        return NoContent();\n      }\n\n      return ServerError();\n    }\n}\n```\n\n### Handling Path Parameters\nTODO: Document the usage of `@fromPath` decorator.\n\n### Handling Query Parameters\n```TypeScript\nimport { fromQuery, get } from 'piilani/decorators/restful';\n\n@injectable()\nexport class ListsController extends RestController {\n    // code omitted.\n\n    @get()\n    public async getListById(@fromQuery('id') id: string): Promise<HttpResponse<List>> {\n      const res = await this.gateway.findAsync({ id })\n\n      if (res.data) {\n        return Ok(res.data[0]);\n      }\n      if (res.class === 2) {\n        return NoContent();\n      }\n\n      return BadRequest();\n    }\n}\n```\n\n### Handling Request Body\n```TypeScript\nimport { fromBody, get } from 'piilani/decorators/restful';\n\n@injectable()\nexport class ListsController extends RestController {\n    // code omitted.\n\n    @post()\n    public async addList(@fromBody()list: Partial<Omit<List, 'id'>>): Promise<HttpResponse> {\n      const res = await this.gateway.insertAsync(new List(list));\n\n      if (res.class === 1) {\n        return Created();\n      }\n      if (res.class === 2) {\n        return BadRequest();\n      }\n\n      return ServerError();\n    }\n}\n```\n\nAuthentication\n--------------\nTODO: Document the Authentication configuration.\n\n```TypeScript\n// startup.ts\nimport { Authentication } from 'piilani/services/auth/Authentication';\n\nDependencyInjection.register(Gateways.Users, UsersMongoGateway);\n\nAuthentication.configure({\n  // Minutes until keys expire.\n  exp: 60,\n  gateway: DependencyInjection.resolve<IUsersGateway>(Gateways.Users),\n  privateKey: '<private-key or secret>',\n});\n```\n\n### Authenticated Endpoints\nTo require users to be authenticated to access routes, add the\n`@authenticated` decorated to the Route's method.\n\nThis will require uses to pass a [JWT Bearer token](https://en.wikipedia.org/wiki/JSON_Web_Token#Use)\nalong with the request in the HTTP `Authorization` header.\n\n```TypeScript\nimport { authenticated, post, fromBody } from 'piilani/decorators/restful';\n\nclass ListsController extends RestController {\n  // --- code omitted -- //\n\n  @authenticated()\n  @post()\n  public async addList(@fromBody()list: List): Promise<HttpResponse> {\n    const res = await this.gateway.insert(new List(list));\n\n    if (res.class === 1) {\n      return Created();\n    }\n    if (res.class === 2) {\n      return BadRequest();\n    }\n\n    return ServerError();\n  }\n}\n```\n","readmeFilename":"README.md","homepage":"https://github.com/jfavrod/piilani#readme","repository":{"url":"git+https://github.com/jfavrod/piilani.git","type":"git"},"bugs":{"url":"https://github.com/jfavrod/piilani/issues"}}