{"_id":"@adomne/express-ts-jest-boilerplate","_rev":"11-16bb8820dfe8c587927e09d704dec55b","time":{"created":"2022-02-21T18:17:06.042Z","1.0.0":"2022-02-17T18:31:00.011Z","modified":"2022-04-04T11:35:43.892Z","1.0.1":"2022-02-21T18:17:06.296Z","1.0.2":"2022-02-21T22:46:27.015Z","1.0.3":"2022-02-28T02:04:05.288Z","1.0.4":"2022-03-01T16:21:51.945Z"},"name":"@adomne/express-ts-jest-boilerplate","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.1":{"name":"@adomne/express-ts-jest-boilerplate","version":"1.0.1","description":"ExpressJS App implemented with Typescript and Jest Testing Framework","main":"./dist/app.js","scripts":{"prebuild":"eslint --ext tslint.json","build":"tsc","prestart":"npm run build","start":"cross-env NODE_ENV=production node dist/app.js","dev":"cross-env NODE_ENV=development nodemon --watch '*.ts' --watch '*.json' --exec 'ts-node' ./src/app.ts","setup":"env $(cat .env | grep -v \"#\" | xargs) pm2 deploy ecosystem.config.js production setup","test":"jest --detectOpenHandles -c ./jest.config.js","test:coverage":"jest --coverage -c ./jest.config.js","test:watch":"jest --watch","lint":"eslint src/**/*.ts && eslint tests/**/*.ts","lint-fix":"eslint --fix 'src/**/*.ts' && eslint --fix 'tests/**/*.ts'","pretty":"prettier --write 'src/**/*.ts' && prettier --write 'tests/**/*.ts'","postinstall":"npx husky install","prepare":"husky install","precommit":"npm run lint-fix && npm run pretty","prepush":"npm run lint"},"keywords":["express","node","nodejs","jest","typescript","node-typescript","backend","backend-api","husky","eslint","prettier","starter-kit"],"author":{"name":"Adomne"},"license":"Apache-2.0","bin":{"express-ts-jest-boilerplate":"bin/cli.js"},"dependencies":{"cors":"^2.8.5","dotenv":"^16.0.0","express":"^4.17.2","express-actuator":"^1.8.0","helmet":"^5.0.2","mongoose":"^6.2.1","morgan":"^1.10.0"},"devDependencies":{"@types/cors":"^2.8.12","@types/express":"^4.17.13","@types/express-actuator":"^1.8.0","@types/jest":"^27.4.0","@types/morgan":"^1.9.3","@types/node":"^17.0.18","@types/supertest":"^2.0.11","@typescript-eslint/eslint-plugin":"^5.12.0","@typescript-eslint/parser":"^5.12.0","cross-env":"^7.0.3","eslint":"^8.9.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.25.4","eslint-plugin-jest":"^26.1.1","eslint-plugin-prettier":"^4.0.0","husky":"^7.0.4","jest":"^27.5.1","nodemon":"^2.0.15","prettier":"^2.5.1","supertest":"^6.2.2","ts-jest":"^27.1.3","ts-node":"^10.5.0","tslint":"^6.1.3","typescript":"^4.5.5"},"gitHead":"1f4ae5b62c3a29b81f0575eb5cef437e06db275d","_id":"@adomne/express-ts-jest-boilerplate@1.0.1","_nodeVersion":"14.18.1","_npmVersion":"8.1.4","dist":{"integrity":"sha512-QjJN0H3Y3QsqCFt6wklHFX/BpBGm/9P6uWsuU8w1XUODmUTUR95doNdJuKi0/k0356K3AJMUmrBv7ndxOPyALw==","shasum":"56aeebbc525ab29234196743fa0e2bc9b93a0801","tarball":"https://registry.npmjs.org/@adomne/express-ts-jest-boilerplate/-/express-ts-jest-boilerplate-1.0.1.tgz","fileCount":32,"unpackedSize":41161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiE9ciACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqp2g//YjYsWtzmgAFHQOBTLtngtlve75qwt5ANbjiytO9Mu5biSw4b\r\nuXhnVTvIVwP1AQQJUzB9jVpxSHpw9d7jPeRI0i6sNcSHNtsEujB52DqMsOf1\r\nt+AjSti3blncDxXZJjf2yxCwKfS04VqRHmPxZ9tD/NDYgbyLZad8f3ATZh9N\r\nNTbla7GuiZxDa+4PLcpCqfHGA5XOgW9EdJpSmmlMWf2l1ZnHcvQ64qoG/mRX\r\n1B83n/a/4RDPCh2GGAHsMBM9wC4c/zc4TROFbLDzK+in5fowoqHi2ba44udA\r\nEd+ZhDGJtue3UpBKwqaUaYIpkLZusmPAT8OZocmF6l/EH/FRURDl43MNU11y\r\nvaeRQl1jNAtNa0llzGUThs7HD/gWvu63atJDvumE9QrZSH+2o3SXbFbhQzAe\r\ntcSKR6mnnEi9/ZiCNPhE/qO7hfi4tBq/5oTL6rf6lNfFYcIR211TSfA9WKQ5\r\nkdyLoNKuTyavg6MDwy7/QUO7gINO0FM1UBNDwYmov8gvsv3fcvznKEEF3+gg\r\n3c7oB/f21CSQsoPxk9WzHlL1+F9G++7z2FuysIc5p8cb9Sygrrf8s/o8jhLM\r\ngmumaO9fpLSng7MSbym41mxDuREwYOu89trgZraBX13F9pXMo04BbCMtrnsD\r\nnuNwBGEMXHHHrsCvSWOKJFNPa1s53s439VI=\r\n=z2QE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFvWFnJ9LP5/BuJP9r/4ijSJkbRMnFZsbLJwD+jhy7soAiBnh//jzKaWFv2i+XgXGdkQpIgIeQpfS3+52461QYcABQ=="}]},"_npmUser":{"name":"elhe26","email":"erick.heredia@gmail.com"},"directories":{},"maintainers":[{"name":"elhe26","email":"erick.heredia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-ts-jest-boilerplate_1.0.1_1645467426118_0.7695640139860302"},"_hasShrinkwrap":false},"1.0.2":{"name":"@adomne/express-ts-jest-boilerplate","version":"1.0.2","description":"ExpressJS App implemented with Typescript and Jest Testing Framework","main":"./dist/app.js","scripts":{"prebuild":"eslint --ext tslint.json","build":"tsc","prestart":"npm run build","start":"cross-env NODE_ENV=production node dist/app.js","dev":"cross-env NODE_ENV=development nodemon --watch '*.ts' --watch '*.json' --exec 'ts-node' ./src/app.ts","setup":"env $(cat .env | grep -v \"#\" | xargs) pm2 deploy ecosystem.config.js production setup","test":"jest --detectOpenHandles -c ./jest.config.js","test:coverage":"jest --coverage -c ./jest.config.js","test:watch":"jest --watch","lint":"eslint src/**/*.ts && eslint tests/**/*.ts","lint-fix":"eslint --fix 'src/**/*.ts' && eslint --fix 'tests/**/*.ts'","pretty":"prettier --write 'src/**/*.ts' && prettier --write 'tests/**/*.ts'","postinstall":"npx husky install","prepare":"husky install","precommit":"npm run lint-fix && npm run pretty","prepush":"npm run lint"},"keywords":["express","node","nodejs","jest","typescript","node-typescript","backend","backend-api","husky","eslint","prettier","starter-kit"],"author":{"name":"Adomne"},"license":"Apache-2.0","bin":{"express-ts-jest-boilerplate":"bin/cli.js"},"dependencies":{"cors":"^2.8.5","dotenv":"^16.0.0","express":"^4.17.2","express-actuator":"^1.8.0","helmet":"^5.0.2","mongoose":"^6.2.1","morgan":"^1.10.0"},"devDependencies":{"@types/cors":"^2.8.12","@types/express":"^4.17.13","@types/express-actuator":"^1.8.0","@types/jest":"^27.4.0","@types/morgan":"^1.9.3","@types/node":"^17.0.18","@types/supertest":"^2.0.11","@typescript-eslint/eslint-plugin":"^5.12.0","@typescript-eslint/parser":"^5.12.0","cross-env":"^7.0.3","eslint":"^8.9.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.25.4","eslint-plugin-jest":"^26.1.1","eslint-plugin-prettier":"^4.0.0","husky":"^7.0.4","jest":"^27.5.1","nodemon":"^2.0.15","prettier":"^2.5.1","supertest":"^6.2.2","ts-jest":"^27.1.3","ts-node":"^10.5.0","tslint":"^6.1.3","typescript":"^4.5.5"},"gitHead":"b52ae06c51da70a5f1582f70d9704c8baffce29e","_id":"@adomne/express-ts-jest-boilerplate@1.0.2","_nodeVersion":"14.18.1","_npmVersion":"8.1.4","dist":{"integrity":"sha512-4R1JK5J9XOjAXUZwW+Bstjp0ttG51rTDqEGxc7+GzuoWS9nB9twvSy9zT/QkYYzbh7KoS798i1iwqNReafr3FQ==","shasum":"cb1989e37a4fa4e74fdf46878a20b8b9721b4fc1","tarball":"https://registry.npmjs.org/@adomne/express-ts-jest-boilerplate/-/express-ts-jest-boilerplate-1.0.2.tgz","fileCount":33,"unpackedSize":41529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFBZDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoxZw/7BwTFR2k42SVRoyphN+3fh5PbhdbmowtWfBIdmcV2jea8ESFF\r\nwyS+53ukAtP5cvu8HNBBQHGS0a5YbR1yAOmNLOrFYvfrySWljz3Y/jv/mLc4\r\ny7MEnwnLY9aA2E98bFUC9zv9bxLAgBWE/ztQmKsDgK8/5VooHEvxAtuYN2ax\r\nBgR7WUy3X+SUYchheu6gdVnJtHCdlzvWJAMuVdTQ5M6zZ1uaDgkNnVMxKXrZ\r\nSsCKStB5bRM5vcT5gkR6JaSKYSirFEiH61Lm37AhwenDqCr7EmHtSlLQ6SiG\r\nMVYXXinnYbDLLtkvrbsKjC8JVH4SBwewoXikN5z0bF4/Fie6Vmj7bkSsqh1b\r\nlGrglTnZv2WSWoqj1dyjpgDVbMIBQgl5AEtc2fd/j/tmqGC+P3PQt++khDgp\r\nWiJGSpcN+7Uvr7UV0CmHga5pcU+NbyPhhu+BRFSgFc4h8YPXEaLc0SPAME14\r\n1bhOTJVfJ/p2XaFatItCKKvuGGg9Mhaa6PQW/Un2dSMQLc8DBLXY1VOYq9/7\r\nkZlnc+jEZSkUbEFqCqC7sNna/axP0kFVn9uB/Gxhe9Pk8PDaJabeZRe9apix\r\nVZLSO7DJpbk69HNrUkHgApnBMI/HfAyvSLshPJcgI2fQHFJ4zlbDO1N3FaL0\r\ngCi4ZxC59ENrT1SwBRl+YqSC1ZhL7fi0idM=\r\n=ms1g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAqpKSOS8irjsg1BpC7MkiCRBat9hxORtu/sXsg7coccAiBfkFOD8WJdpQHO9JZHDZ65u++OmcWzaRgG9SXSq1i93w=="}]},"_npmUser":{"name":"elhe26","email":"erick.heredia@gmail.com"},"directories":{},"maintainers":[{"name":"elhe26","email":"erick.heredia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-ts-jest-boilerplate_1.0.2_1645483586864_0.43276814038308564"},"_hasShrinkwrap":false},"1.0.3":{"name":"@adomne/express-ts-jest-boilerplate","version":"1.0.3","description":"ExpressJS App implemented with Typescript and Jest Testing Framework","main":"./dist/app.js","scripts":{"prebuild":"eslint --ext tslint.json","build":"tsc","prestart":"npm run build","start":"cross-env NODE_ENV=production node dist/app.js","dev":"cross-env NODE_ENV=development nodemon --watch '*.ts' --watch '*.json' --exec 'ts-node' ./src/app.ts","setup":"env $(cat .env | grep -v \"#\" | xargs) pm2 deploy ecosystem.config.js production setup","test":"jest --detectOpenHandles -c ./jest.config.js","test:coverage":"jest --coverage -c ./jest.config.js","test:watch":"jest --watch","lint":"eslint src/**/*.ts && eslint tests/**/*.ts","lint-fix":"eslint --fix 'src/**/*.ts' && eslint --fix 'tests/**/*.ts'","pretty":"prettier --write 'src/**/*.ts' && prettier --write 'tests/**/*.ts'","postinstall":"npx husky install","prepare":"husky install","precommit":"npm run lint-fix && npm run pretty","prepush":"npm run lint"},"keywords":["express","node","nodejs","jest","typescript","node-typescript","backend","backend-api","husky","eslint","prettier","starter-kit"],"author":{"name":"Adomne"},"license":"Apache-2.0","bin":{"express-ts-jest-boilerplate":"bin/cli.js"},"dependencies":{"cors":"^2.8.5","dotenv":"^16.0.0","express":"^4.17.2","express-actuator":"^1.8.0","helmet":"^5.0.2","mongoose":"^6.2.1","morgan":"^1.10.0"},"devDependencies":{"@types/cors":"^2.8.12","@types/express":"^4.17.13","@types/express-actuator":"^1.8.0","@types/jest":"^27.4.0","@types/morgan":"^1.9.3","@types/node":"^17.0.18","@types/supertest":"^2.0.11","@typescript-eslint/eslint-plugin":"^5.12.0","@typescript-eslint/parser":"^5.12.0","cross-env":"^7.0.3","eslint":"^8.9.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.25.4","eslint-plugin-jest":"^26.1.1","eslint-plugin-prettier":"^4.0.0","husky":"^7.0.4","jest":"^27.5.1","nodemon":"^2.0.15","prettier":"^2.5.1","supertest":"^6.2.2","ts-jest":"^27.1.3","ts-node":"^10.5.0","tslint":"^6.1.3","typescript":"^4.5.5"},"gitHead":"58d4866f9677267c2a8e2e1b8d0f2113c71e52d0","_id":"@adomne/express-ts-jest-boilerplate@1.0.3","_nodeVersion":"14.18.1","_npmVersion":"8.1.4","dist":{"integrity":"sha512-nGEKPaMQoUrFUMWdOfMp4pQiJVrn/xF2rTDRqZ5rfElYicyG1lhj+zHxlMEGxtkZa3Dq/Gu1moXL1pUydhhrvA==","shasum":"0be397617ac17ce421f75567071a923d9a209e61","tarball":"https://registry.npmjs.org/@adomne/express-ts-jest-boilerplate/-/express-ts-jest-boilerplate-1.0.3.tgz","fileCount":33,"unpackedSize":41584,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHC2VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp60g/8Dclif4UBMCeJdvSE/9pO4wgOP3DhVeMelJFr/ol+Mcii4IYp\r\nZNim30iN9wIj9Z4p7RiNtCco7HzwbtODhV1IZsDF/lbk8FboVUvweSOCOQS/\r\nS5k9bucPPNdkd+krS1EmIWsaOvkYet+fEEuhJuW/mQiqx1wECJJPjDZJen+8\r\n3iSyoHRywG7Y2jo14rnkyOc1hgYYsDpdWI1IUWedHCDTSGvRGWmmyTsW/cSQ\r\nmzBTQA5FnqNtFyD06GQ6BsC5AwvPqRdrlbCE3wrZiLiytABpQgKuUUOm0Zxo\r\ntpuIPcPXUtsb+q+8axmaVdoaaqZldRKIqbrMEZEBSCg0e/q4a8hCsWIlhFrS\r\nYkkpyrHAbmhKexOLD8+kRmeNud5RAbt3yP0olzMxsWyW+082D//j9foycwqO\r\niokREoneMsaCBTUHlIKFCT9oocHgAO1dehyxxDcrbkHqh2KPUfhiOiI+nZCF\r\nJzD8WQ/BCDVqx/FMX97g7opWZT7ts3YerbLiToVz2WqzTN6IF+kJeczBd2sG\r\nThaC234SQ7Q2Yyj2CQmXlrZE8ZA8dwgkUZWwmDB8iPu21LKvmRIGbC5htJh6\r\n5WARs41LfFVYMoBffSqTCZa/0qBf7FeklP6PXx9eQQFXWwlhqLdklybgGqNP\r\nT4juwjpVMuOp3wxebLpKNrKeHy7jM2jpwOs=\r\n=hq1o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBQgcHXYoDvjGBwNlLWIb3MHhOau10gXWwJe9a8P7j1+AiEAjx9J2haGyvWS7D0kuVq+yOILUMrLFw3wDWgws1rmgsY="}]},"_npmUser":{"name":"elhe26","email":"erick.heredia@gmail.com"},"directories":{},"maintainers":[{"name":"elhe26","email":"erick.heredia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-ts-jest-boilerplate_1.0.3_1646013845135_0.2989261263538081"},"_hasShrinkwrap":false},"1.0.4":{"name":"@adomne/express-ts-jest-boilerplate","version":"1.0.4","description":"ExpressJS App implemented with Typescript and Jest Testing Framework","main":"./dist/app.js","scripts":{"prebuild":"eslint --ext tslint.json","build":"tsc","prestart":"npm run build","start":"cross-env NODE_ENV=production node dist/app.js","dev":"cross-env NODE_ENV=development nodemon --watch '*.ts' --watch '*.json' --exec 'ts-node' ./src/app.ts","setup":"env $(cat .env | grep -v \"#\" | xargs) pm2 deploy ecosystem.config.js production setup","test":"jest --detectOpenHandles -c ./jest.config.js","test:coverage":"jest --coverage -c ./jest.config.js","test:watch":"jest --watch","lint":"eslint src/**/*.ts && eslint tests/**/*.ts","lint-fix":"eslint --fix 'src/**/*.ts' && eslint --fix 'tests/**/*.ts'","pretty":"prettier --write 'src/**/*.ts' && prettier --write 'tests/**/*.ts'","postinstall":"npx husky install","prepare":"husky install","precommit":"npm run lint-fix && npm run pretty","prepush":"npm run lint"},"keywords":["express","node","nodejs","jest","typescript","node-typescript","backend","backend-api","husky","eslint","prettier","starter-kit"],"author":{"name":"Adomne"},"license":"Apache-2.0","bin":{"express-ts-jest-boilerplate":"bin/cli.js"},"dependencies":{"cors":"^2.8.5","dotenv":"^16.0.0","express":"^4.17.2","express-actuator":"^1.8.0","helmet":"^5.0.2","mongoose":"^6.2.1","morgan":"^1.10.0"},"devDependencies":{"@types/cors":"^2.8.12","@types/express":"^4.17.13","@types/express-actuator":"^1.8.0","@types/jest":"^27.4.0","@types/morgan":"^1.9.3","@types/node":"^17.0.18","@types/supertest":"^2.0.11","@typescript-eslint/eslint-plugin":"^5.12.0","@typescript-eslint/parser":"^5.12.0","cross-env":"^7.0.3","eslint":"^8.9.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.25.4","eslint-plugin-jest":"^26.1.1","eslint-plugin-prettier":"^4.0.0","husky":"^7.0.4","jest":"^27.5.1","nodemon":"^2.0.15","prettier":"^2.5.1","supertest":"^6.2.2","ts-jest":"^27.1.3","ts-node":"^10.5.0","tslint":"^6.1.3","typescript":"^4.5.5"},"gitHead":"57ed086cae9e74d807cf702a4ff6be1155f392b5","_id":"@adomne/express-ts-jest-boilerplate@1.0.4","_nodeVersion":"14.18.1","_npmVersion":"8.1.4","dist":{"integrity":"sha512-3JsI4J8QPs3SwHHVRf3dJ/j/o6dyprKkRnreKXEY1Nuwz8RFyXwJh+PXJ9bHJjMe9cix8TEdHq6EwnBoeYOWiQ==","shasum":"c63d6c00a7f25891b6226575019a63a0129141d6","tarball":"https://registry.npmjs.org/@adomne/express-ts-jest-boilerplate/-/express-ts-jest-boilerplate-1.0.4.tgz","fileCount":33,"unpackedSize":41586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHkgfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/Wg/+K4XeD1+SDTZ/SaAwc7PrI9VHiP9M+tiH5DNZjUp7hnJzuHS2\r\nTS5jHa7O2ZRoR/mvZhcvSbIrqZyMDaBRCnjARumfhil6hHwle6WTx5EebxfJ\r\na0IAZSvke+7kjjCMEIW4eFp/Cgniv+vca4LDNg5sfFe9v8OcIvyhY0NavM9O\r\nH122vw7rrVCJ6H7cbrYA2isXq3j9iPh6D6tqZulxmyY5v23MOWzRFUG/bkji\r\nMoQvB46PJKllW1EvJrdheoCQD/Cje3nRNEPWeAH3pmDhQGZXkeK7bcLUV4mj\r\n8I/Wr9PdibG2OWwAh1NkKv0RsOutM0l1NdC77yPvvvGRk6gYk8mplb5AMSGg\r\nsKQVnCVjtdP58wa1FAjMbLBGR7VsMxHYIDOsYWHIfQLLkh1hjzhmrm+/LRwC\r\nlqu/2Aie6+9kY8MU5KsvJhlnrt73VoXaY+Hi1XD7MFuQD/tdx/iADbaEDoe9\r\nLZlPff/aIfGceIsy0RoNF5XhvGJ38yGaZEVuUdA014gaX1450foEvx7LQ8H0\r\nSYAgEfqPPfVUaUXz7kvBaqbnogZvFHyiUZI0EDEMVO/mM5uJAoxC5w1Pmg2W\r\n27A97pXbfmp+qKJRxaFnflIizrPXnX7/0yymecN37GzeaxGCnZa/dR/BNjjb\r\nqNGpLk2D5LNRdzwflckn2xyRXYhoYe7v47w=\r\n=0kRR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDRv6brE6kKFQsvUHdSrz4RBsCRlpWoseahkSuYt5PgIAiEAsZaV5cwV7PUn6roEGmyr7pKozDFJXOClB4JH1hECA1A="}]},"_npmUser":{"name":"elhe26","email":"erick.heredia@gmail.com"},"directories":{},"maintainers":[{"name":"elhe26","email":"erick.heredia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-ts-jest-boilerplate_1.0.4_1646151711806_0.5824684969789171"},"_hasShrinkwrap":false}},"maintainers":[{"name":"elhe26","email":"erick.heredia@gmail.com"}],"description":"ExpressJS App implemented with Typescript and Jest Testing Framework","keywords":["express","node","nodejs","jest","typescript","node-typescript","backend","backend-api","husky","eslint","prettier","starter-kit"],"author":{"name":"Adomne"},"license":"Apache-2.0","readme":"# Express-Typescript-Jest-Boilerplate\n\nSkeleton for Express.js applications written in TypeScript with testing support\nand CI/CD out of the box.\n\n<br>\n\n## Purpose\n\nThe main purpose of this Skeleton is to start an Express Application\nwith typescript, testing support and default CI/CD configuration.\n\n<br>\n\n## Common Features\n\n- Integrated eslint, prettier, jest, and husky.\n- CI/CD Configuration by default.\n- Simple and Standard scaffolding.\n- Based on Typescript Syntax.\n- Integrated morgan logger.\n- Test cases Support.\n\n<br>\n\n## Core NPM Modules\n\n- [x] `express`\n- [x] `express-actuator`\n- [x] `helmet`\n- [x] `dotenv`\n- [x] `cors`\n- [x] `mongoose`\n- [x] `morgan`\n\n<br>\n\n## Set Application\n\n- Install using `npx @adomne/express-ts-jest-boilerplate my-own-starter-project`\n\n**OR**\n\n- Clone the Application `git clone https://github.com/adomne/express-ts-jest-boilerplate.git`\n- Install the dependencies `npm install`\n\n<br>\n\n## Project Structure\n\n| Name                              | Description                                          |\n| --------------------------------- | ---------------------------------------------------  |\n| **.husky/**                       | Git hooks configuration                              |\n| **.github/**                      | Github actions configuration                         |\n| **.vscode/**                      | Launch options for jest (using Jest ext from `orta`) |\n| **api/**                          | Endpoint testing (using thunder client ext)          |\n| **config/**                       | Environment files                                    |\n| **CI/**                           | CI/CD configuration steps                            |\n| **dist/**                         | Compiled source files will be placed here            |\n| **src/**                          | Source files                                         |\n| **src/controllers**               | Business logic for routes                            |\n| **src/db**                        | DB connectors                                        |\n| **src/middleware/**               | Middlewares like Async Handler feature               |\n| **src/models**                    | Model definitions                                    |\n| **src/routers**                   | Route definitions                                    |\n| **src/services**                  | 3rd party services                                   |\n| **tests/**                        | Test cases will be placed here                       |\n\n<br>\n\n## Default System Health Status API\n\n- `${host}/info` - Displays application information\n- `${host}/metrics` - Shows metrics information for the current application.\n- `${host}/health` - Shows application health information.\n\n<br>\n\n## Notes\n\n#### 1. Husky Configuration files (pre-commit and pre-push)\n\n- Check CONFIGURATION.md inside `.husky` folder.\n\n#### 2. [Check Express Best Practices to Secure Your App](https://expressjs.com/en/advanced/best-practice-security.html)\n\n<br>\n<br>\n\n<hr/>\n\n#### *Follow us on* [Twitter](http://www.twitter.com/adomneHQ), [Instagram](http://www.instagram.com/adomnehq), [Linkedin](https://www.linkedin.com/company/adomnehq), and [Github](http://www.github.com/adomne).\n\n","readmeFilename":"README.md"}