{"_id":"@astro-my/generator-astro-nodejs","_rev":"1-39ab5ffb107cf3b1cbfbe62494d97349","name":"@astro-my/generator-astro-nodejs","dist-tags":{"latest":"1.4.2"},"versions":{"1.4.2":{"name":"@astro-my/generator-astro-nodejs","version":"1.4.2","description":"Yeoman generator for NodeJS-based microservice","main":"index.js","repository":{"type":"git","url":"git+https://github.com/jinified/generator-astro-nodejs.git"},"keywords":["yeoman-generator","node","nodejs","express","expressjs","astro"],"author":{"name":"Jin","email":"jinified@gmail.com"},"license":"MIT","bugs":{"url":"https://gitlab.com/jinified/generator-astro-nodejs/issues"},"homepage":"https://gitlab.com/jinified/generator-astro-nodejs#readme.md","dependencies":{"decamelize":"^2.0.0","json5":"^1.0.1","lodash":"^4.17.10","mkdirp":"^0.5.1","recast":"^0.15.0","reserved-words":"^0.1.2","rimraf":"^2.6.2","underscore.string":"^3.3.5","uppercamelcase":"^3.0.0","url-join":"^4.0.0","yeoman-generator":"^2.0.5","yosay":"^2.0.2"},"devDependencies":{"eslint":"^5.16.0","eslint-config-astro":"^1.0.6","eslint-plugin-import":"^2.14.0"},"gitHead":"36d9368317056961b7f4c298e265bf0dbd77ad24","_id":"@astro-my/generator-astro-nodejs@1.4.2","_nodeVersion":"11.11.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-vFBv7zRngKeqA3Q4uMApLz5RIsSsIsIbNVLODb0JtVnTafNSP7tft3a1xqDDopQl1NeUA6R0rmRvnVgQfWKVuA==","shasum":"2357de8b917cb50602c59b1d8d553cb6e35cfc62","tarball":"https://registry.npmjs.org/@astro-my/generator-astro-nodejs/-/generator-astro-nodejs-1.4.2.tgz","fileCount":99,"unpackedSize":182886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6blQCRA9TVsSAnZWagAAaSEP/jCawk8OcbpGPMcgp2Ls\n0aiiugNjK16zYZdSg7k3A6QUxmJll6XZCapCnl+Bh6pI7tbJTgWrCPm1qTC6\nyz+gfv2WxyQ5RwImEEonZoq3Gn09EDhZp0nShsQyvu/adKEe+wshy79IE9TV\nY53zsqRhvCUehI3tbsftoXijdrP4VflXLwrus5k+igzAFc+lGp8jJj8u/k2A\nwz9kPywPifVkZ++3EWyuKY4FHugPAFe+/2BELVvNftNgk2iKRNX8Burtx9rl\nXZaRCK2Jw3ocmzq/k2kjJWXV6qvCPAMcUz7oYA/0sdutP4aULAG2hXF6ogse\nTN5cgrtLqI4q55OiV/8IFj8iJ1BuAUNLu0EjGSWxsF+VFclp6rcsMoWRFDfe\n+hxbIfCNeZqZhZW6cgyI0nJHOMBd3lP339fRO4GhfwBI29r3iUjBApn4s+zR\n7y/n181UIAqqewU7F/32ACQgiC9Bxjsv+5JIwDmDK9DUcosEDxmkn/U4M18N\nb74AAqOgiF9/jS21FnnOssZG2WBc2VRdM5va4xjyzzijMU9GeyhNt2mZeefa\ndqqLULE7iVqVwcH8+aLqIbQfZHS5ib8pmW2KFyV7d+bHO37CX8XxYTR6hDeP\nRjIJ4Sfi/xH6xWQgGzlC2xW0JNzxlTfgrRBXWkNjLMErSk7jvckWHsvvSpvm\n9Ruq\r\n=WALe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCa+7L/jDWwK4zAf8L53Ku74j0r/zU11hFNi7Llf0MJXAIhAPchPppuuYEksiCv5IgK4SqDYF410bxq7DyMptqcTTW7"}]},"maintainers":[{"name":"mindeeyap","email":"mdyminde@astro.com.my"},{"name":"dpapamon","email":"dpapamon@gmail.com"},{"name":"marcushew","email":"yen-yung_hew@astro.com.my"},{"name":"psychocoding","email":"rahul_khanna@astro.com.my"},{"name":"stephenastro","email":"stephen_adipradhana@astro.com.my"},{"name":"azanium","email":"syuaibi@gmail.com"},{"name":"ankitz","email":"ankit.dsh.dev@gmail.com"},{"name":"stuti","email":"MSSTUTIS@astro.com.my"}],"_npmUser":{"name":"dpapamon","email":"dpapamon@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/generator-astro-nodejs_1.4.2_1575598416410_0.6265114621799428"},"_hasShrinkwrap":false}},"time":{"created":"2019-12-06T02:13:36.241Z","1.4.2":"2019-12-06T02:13:36.586Z","modified":"2022-04-04T15:54:30.860Z"},"maintainers":[{"name":"mindeeyap","email":"mdyminde@astro.com.my"},{"name":"dpapamon","email":"dpapamon@gmail.com"},{"name":"marcushew","email":"yen-yung_hew@astro.com.my"},{"name":"psychocoding","email":"rahul_khanna@astro.com.my"},{"name":"stephenastro","email":"stephen_adipradhana@astro.com.my"},{"name":"azanium","email":"syuaibi@gmail.com"},{"name":"ankitz","email":"ankit.dsh.dev@gmail.com"},{"name":"stuti","email":"MSSTUTIS@astro.com.my"}],"description":"Yeoman generator for NodeJS-based microservice","homepage":"https://gitlab.com/jinified/generator-astro-nodejs#readme.md","keywords":["yeoman-generator","node","nodejs","express","expressjs","astro"],"repository":{"type":"git","url":"git+https://github.com/jinified/generator-astro-nodejs.git"},"author":{"name":"Jin","email":"jinified@gmail.com"},"bugs":{"url":"https://gitlab.com/jinified/generator-astro-nodejs/issues"},"license":"MIT","readme":"# Astro Generator NodeJS\n\nYeoman generator for building RESTful APIs and microservices using Node.js, ExpressJS and Docker support, and fullstack service with ReactJS, Redux, and Redux Observable.\n\n## Server Features\n\n - No transpilers, just vanilla javascript\n - ES2017 latest features like Async/Await\n - CORS enabled\n - Uses [yarn](https://yarnpkg.com)\n - Express \n - Consistent coding styles with [editorconfig](http://editorconfig.org)\n - [Docker](https://www.docker.com/) support\n - Uses [helmet](https://github.com/helmetjs/helmet) to set some HTTP headers for security\n - Load environment variables from .env files with [dotenv](https://github.com/rolodato/dotenv-safe)\n - Request validation with [joi](https://github.com/hapijs/joi)\n - Gzip compression with [compression](https://github.com/expressjs/compression)\n - Linting with [eslint](http://eslint.org) with [eslint-config-astro](https://www.npmjs.com/package/eslint-config-astro) \n - Tests with [jest](https://jestjs.io/) along with coverage\n - Git hooks with [husky](https://github.com/typicode/husky) \n - Logging with [winston](https://www.npmjs.com/package/winston), and [winston-cloudwatch](https://github.com/lazywithclass/winston-cloudwatch) for production log stream\n - API documentation geratorion with [apidoc](http://apidocjs.com)\n - Monitoring with [pm2](https://github.com/Unitech/pm2)\n - Startup boot tasks that can be used for data migrations or pre startup task runner.\n - ORM using Sequelize (optional) [sequelize](http://docs.sequelizejs.com/) with docker-compose migrations\n - HTTP using axios with retry [axios](https://github.com/axios/axios)\n\n## Requirements\n\n - [Node v7.6+](https://nodejs.org/en/download/current/) or [Docker](https://www.docker.com/)\n - [Yarn](https://yarnpkg.com/en/docs/install)\n\n## Getting Started\n\nInstall:\n```bash\nnpm install -g yo generator-astro-nodejs\n```\n\nGenerate a new project:\n\n```bash\nyo astro-nodejs\n```\n\n### Server Side Generator\n\nGenerate a new API:\n\n```\nyo astro:api\n```\n\nGenerate a new middleware:\n\n```\nyo astro:middleware\n```\n\nGenerate a new service:\n\n```\nyo astro:service\n```\n\nGenerate a new utility:\n\n```\nyo astro:util\n```\n\nGenerate a new boot task:\n\n```\nyo astro:boot\n```\n\nSet environment variables:\n\n```bash\ncp .env.example .env\n```\n\n## Running Locally\n\n```bash\nyarn dev\n```\n\n## Running in Production\n\n```bash\nyarn start\n```\n\n## Lint\n\n```bash\n# lint code with ESLint\nyarn lint\n\n# try to fix ESLint errors\nyarn lint:fix\n\n# lint and watch for changes\nyarn lint:watch\n```\n\n## Sequelize Migrations (optional)\n\n```bash\nyarn db:migrate\n\n# to undo the migration\n\nyarn db:migrate:undo\n```\n\n## Test\n\n```bash\n# run all tests with Jest with coverage\nyarn test\n\n# run unit tests\nyarn test:unit\n\n# run integration tests\nyarn test:integration\n\n# run all tests and watch for changes\nyarn test:watch\n```\n\n## Validate\n\n```bash\n# run lint and tests\nyarn validate\n```\n\n## Logs\n\n```bash\n# show logs in production\npm2 logs\n```\n\n## Documentation\n\n```bash\n# generate and open api documentation\nyarn docs\n```\n\n## Docker\n\n```bash\n# run container locally\nyarn docker:dev\nor\ndocker-compose -f docker-compose.yml -f docker-compose.dev.yml up\n\n# run container in production\nyarn docker:prod\nor\ndocker-compose -f docker-compose.yml -f docker-compose.prod.yml up\n\n# run tests\nyarn docker:test\nor\ndocker-compose -f docker-compose.yml -f docker-compose.test.yml up\n```\n\n## Credit\n\nThis project is forked from [Suhendra Ahmad](https://github.com/azanium/generator-astro)\n\n## License\n\n[MIT License](README.md) - [Jin](https://gitlab.com/jinified)\n","readmeFilename":"README.md"}