{"id":13601970,"url":"https://github.com/jhipster/generator-jhipster-nodejs","last_synced_at":"2025-05-15T07:06:59.759Z","repository":{"id":35462681,"uuid":"191236538","full_name":"jhipster/generator-jhipster-nodejs","owner":"jhipster","description":"A NodeJS blueprint that creates the backend using NestJS","archived":false,"fork":false,"pushed_at":"2025-05-14T06:52:41.000Z","size":5035,"stargazers_count":259,"open_issues_count":14,"forks_count":82,"subscribers_count":32,"default_branch":"main","last_synced_at":"2025-05-14T07:48:36.391Z","etag":null,"topics":["angular","generator","jhipster","nestjs-backend","nodejs","react","vuejs","yeoman-generator"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/generator-jhipster-nodejs","language":"EJS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jhipster.png","metadata":{"funding":{"open_collective":"generator-jhipster","custom":"https://www.jhipster.tech/sponsors/"},"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-06-10T19:55:59.000Z","updated_at":"2025-05-14T06:52:37.000Z","dependencies_parsed_at":"2023-11-27T08:27:30.128Z","dependency_job_id":"326cc92d-416a-44a7-8567-73a97eca9854","html_url":"https://github.com/jhipster/generator-jhipster-nodejs","commit_stats":{"total_commits":809,"total_committers":25,"mean_commits":32.36,"dds":0.3152039555006181,"last_synced_commit":"fc041af4c72937222c286399dabc3a0bdcfbaff6"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhipster%2Fgenerator-jhipster-nodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhipster%2Fgenerator-jhipster-nodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhipster%2Fgenerator-jhipster-nodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhipster%2Fgenerator-jhipster-nodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhipster","download_url":"https://codeload.github.com/jhipster/generator-jhipster-nodejs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254292042,"owners_count":22046426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","generator","jhipster","nestjs-backend","nodejs","react","vuejs","yeoman-generator"],"created_at":"2024-08-01T18:01:10.905Z","updated_at":"2025-05-15T07:06:59.729Z","avatar_url":"https://github.com/jhipster.png","language":"EJS","funding_links":["https://opencollective.com/generator-jhipster","https://www.jhipster.tech/sponsors/"],"categories":["angular"],"sub_categories":[],"readme":"# generator-jhipster-nodejs\n\n[![NPM version][npm-image]][npm-url]\n[![Generator Build Status][github-actions-generator-image]][github-actions-generator-link]\n[![Generator Angular Samples Status][github-actions-angular-samples-image]][github-actions-angular-samples-link]\n[![Generator React Samples Status][github-actions-react-samples-image]][github-actions-react-samples-link]\n[![Generator Vue Samples Status][github-actions-vue-samples-image]][github-actions-vue-samples-link]\n[![Generator Microservice Samples Status][github-actions-microservice-samples-image]][github-actions-microservice-samples-link]\n[![Gitter][gitter-image]][gitter-url]\n[![Downloads][npmcharts-image]][npmcharts-url]\n\n\u003e generator-jhipster-nodejs, the _official NodeJS blueprint_ that uses [NestJS TypeScript Framework](https://nestjs.com/) for your **backend**. We encourage you to use it and give us your feedback.\n\n\u003cdiv align=\"center\"\u003e\n\t\u003ca href=\"https://github.com/jhipster/generator-jhipster-nodejs\"\u003e\n\t\t\u003cimg width=\"160\" height=\"200\" src=\"https://raw.githubusercontent.com/jhipster/generator-jhipster-nodejs/v2.0.0/logo-nhipster.png\"\u003e\n\t\u003c/a\u003e\n\u003c/div\u003e\n\n\u003e ## Notes\n\u003e\n\u003e For the features of the last release refers to [CHANGELOG.md](https://github.com/jhipster/generator-jhipster-nodejs/tree/v2.0.0/CHANGELOG.md).\n\n\u003e ## Demo\n\u003e\n\u003e The UI is inherited from standard JHipster app client. So only backend generation changes.\n\u003e For this, a live app running is less useful than the code and the app structure shows in:\n\u003e\n\u003e - **The sample repo app with** [React client and Okta OAuth2](https://github.com/jhipster/jhipster-sample-app-nodejs-oauth2/tree/v2.0.0)\n\u003e - **The sample repo app with** [Angular client and JWT auth](https://github.com/jhipster/jhipster-sample-app-nodejs/tree/v2.0.0)\n\u003e - **The sample repo app with** [Vue.js client and mongodb](https://github.com/jhipster/jhipster-sample-app-nodejs-vuejs/tree/v2.0.0)\n\n\u003cdiv align=\"center\"\u003e\n\t\u003ca href=\"https://github.com/jhipster/generator-jhipster-nodejs\"\u003e\n\t\t\u003cimg src=\"https://raw.githubusercontent.com/jhipster/generator-jhipster-nodejs/v2.0.0/nhipster-cli-logo.png\"\u003e\n\t\u003c/a\u003e\n\u003c/div\u003e\n\n# Greetings, nodejs Hipster!\n\nThis project adds nodejs for your backend, **all TypeScript files generation, not Java!**, to the [JHipster](https://www.jhipster.tech/) application 😎. It is based on JHipster Blueprint 🔵, that is meant to be used in a JHipster application.\n\n\u003e The generator applies this standard configuration for the NodeJS app:\n\n\u003e - NestJS base app with web controllers, [swagger doc](https://github.com/nestjs/swagger) and [JWT or OAuth2 passport auth](https://github.com/nestjs/passport) services\n\n\u003e - The app starts with four seed users (admin, basic user and anonymous roles), as standard JHipster monolithic app, with SQLite for dev and configurable sql db for prod. MongoDB support is experimental in [TypeORM](https://github.com/typeorm/typeorm/blob/fdbb013d2279264e851dacc4c5c2e94567b65ab7/README.md?plain=1#L255) so is in JHipster NodeJS.\n\n\u003e - The app uses [TypeORM](https://github.com/nestjs/typeorm) and asks you a question for another sql db or for mongodb\n\n\u003e - TypeORM is also used for the automatically migration and versioning of the database scripts\n\n\u003e - The app runs also as a full stack app including, for the monolitich choice, the Angular/React client with the home page set for NHipster and CRUD operations for entity generated with subgenerator and jdl import\n\n\u003cdiv align=\"center\"\u003e\n\t\t\u003cimg src=\"https://raw.githubusercontent.com/jhipster/generator-jhipster-nodejs/v2.0.0/nhipster-cli.gif\"\u003e\n\u003c/div\u003e\n\n\u003e A **previous of a jwt auth app:**\n\n\u003cdiv align=\"center\"\u003e\n\t\t\u003cimg src=\"https://raw.githubusercontent.com/jhipster/generator-jhipster-nodejs/v2.0.0/demo-full-app.gif\"\u003e\n\u003c/div\u003e\n\n# Prerequisites\n\nAs this is a [JHipster](https://www.jhipster.tech/) blueprint, we expect you have JHipster and its related tools already installed:\n\n- [Installing JHipster](https://www.jhipster.tech/installation/)\n- [node.js 14.16.0](https://nodejs.org/de/blog/release/v14.16.0/)\n\n**Please attention to install that node.js version!!**\n\n# 🚀 How to get started\n\n1. Make sure you have followed the [JHipster installation guide](https://www.jhipster.tech/installation) and that both `yeoman` and `jhipster` are installed.\n2. Install the package with `npm install -g generator-jhipster-nodejs`\n3. And generate the application with `nhipster`\n\n# Installation Details\n\n## With NPM\n\nTo install this blueprint:\n\n```bash\nnpm install -g generator-jhipster-nodejs\n```\n\nTo update this blueprint:\n\n```bash\nnpm update -g generator-jhipster-nodejs\n```\n\n## With Yarn\n\nTo install this blueprint:\n\n```\nyarn global add generator-jhipster-nodejs\n```\n\nTo update this blueprint:\n\n```bash\nyarn global upgrade generator-jhipster-nodejs\n```\n\n## 🚦 What we have now\n\nThis is a blueprint that is runnable by:\n\n```bash\nnhipster\n```\n\nHowever, it also ships with an `nhipster` CLI that you can use as a shortcut.\n\n✅ General App generation\n\n- `nhipster`\n\n✅ JDL model support generation\n\n- `nhipster jdl my_file.jdl`\n\n✅ Ci-cd generation\n\n- `nhipster ci-cd`\n\nFor the last, in the [generate-sample samples folder](https://github.com/jhipster/generator-jhipster-nodejs/tree/main/.blueprint/generate-sample/templates/samples) and [jdl-samples](https://github.com/jhipster/jdl-samples) there are some examples of jdl models.\n\n## Using Docker\n\n1. Download the Dockerfile:\n\n```bash\nmkdir docker\ncd docker\nwget https://github.com/jhipster/generator-jhipster-nodejs/raw/master/docker/Dockerfile\n```\n\n2. Build the Docker images:\n\n```bash\ndocker build -t jhipster-generator-nodejs:latest .\n```\n\n3. Make a folder where you want to generate the Application:\n\n```bash\nmkdir app\ncd app\n```\n\n4. Run the generator image in one of the two following options.\n\n- Run the generator from image to generate service:\n\n```bash\ndocker run -it --rm -v $PWD:/home/jhipster/app jhipster-generator-nodejs\n```\n\n- Run and attach interactive shell to the generator docker container to work from inside the running container:\n\n```bash\ndocker run -it --rm -v $PWD:/home/jhipster/app jhipster-generator-nodejs /bin/bash\n```\n\n## 🛠 Steps to develop a generator feature and test it\n\nShell steps:\n\n```console\n$ git clone https://github.com/jhipster/generator-jhipster-nodejs.git\n$ cd generator-jhipster-nodejs\n$ git checkout -b feature/my-feature\n$ npm install\n$ npm link\n$ cd ..\n$ mkdir test-generation\n$ cd test-generation\n```\n\nNow you will develop under the **generator-jhipster-nodejs** that you have cloned with git.\nAfter finish, to generate the app and check your feature, run in **test-generation** folder:\n\n- `nhipster`\n\n## ❤️ For community\n\nFound an [issue](https://github.com/jhipster/generator-jhipster-nodejs/issues), check if is already opened or closed, otherwise open a new [feature or bug](https://github.com/jhipster/generator-jhipster-nodejs/issues/new/choose).\n\nInterested in contributing, check out our [contributing guide](https://github.com/jhipster/generator-jhipster-nodejs/blob/master/CONTRIBUTING.md) to get started.\n\nRefer for contribution to [roadmap](https://github.com/jhipster/generator-jhipster-nodejs/blob/master/ROADMAP.md) or to [kanban board](https://github.com/jhipster/generator-jhipster-nodejs/projects/1?fullscreen=true).\n\nAny questions [Angelo Manganiello](mailto:angelo.mang@libero.it).\n\n# Contributors ✨\n\nThanks goes to these wonderful people:\n\n\u003ctable\u003e\u003ctr\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/amanganiello90\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/20536757?s=400\" width=\"100px;\" alt=\"Angelo Manganiello (founder stream lead)\"/\u003e\u003cbr/\u003e\u003csub\u003e\u003cb\u003eAngelo Manganiello\u003c/b\u003e\u003cbr/\u003e\u003cb\u003e(founder stream lead)\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/hadirsa\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/3942854?s=400\" width=\"100px;\" alt=\"Hadi Rasouli\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHadi Rasouli\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ivangsa\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/1246876?s=400\" width=\"100px;\" alt=\"Iván García Sainz-Aja\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIván García Sainz-Aja\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/DanielFran\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/3706415?s=400\" width=\"100px;\" alt=\"Daniel Franco\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDaniel Franco\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Aragonbn90\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/4463823?s=400\" width=\"100px;\" alt=\"Ed Pham\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEd Pham\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/glutengo\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/14246032?v=4\" width=\"100px;\" alt=\"Markus\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarkus\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\n# Special Thanks\n\n\u003cdiv align=\"left\"\u003e\n\t\t\u003ca href=\"https://www.jetbrains.com/?from=generator-jhipster-nodejs\"\u003e\n\t\t  \u003cimg width=\"80\" height=\"100\" src=\"https://raw.githubusercontent.com/jhipster/generator-jhipster-nodejs/v2.0.0/jetbrains.png\"\u003e\n\t\t\u003c/a\u003e\n\t\t\u003ca href=\"https://code.visualstudio.com\"\u003e\n\t\t  \u003cimg width=\"100\" height=\"100\" src=\"https://raw.githubusercontent.com/jhipster/generator-jhipster-nodejs/v2.0.0/visualstudio-code.png\"\u003e\n\t\t\u003c/a\u003e\n\t\t\u003ca href=\"https://www.jhipster.tech\"\u003e\n\t\t  \u003cimg width=\"160\" height=\"100\" src=\"https://raw.githubusercontent.com/jhipster/generator-jhipster-nodejs/v2.0.0/jhipster-logo.png\"\u003e\n\t\t\u003c/a\u003e\n\u003c/div\u003e\n\n# License\n\nApache-2.0 © [Angelo Manganiello](https://github.com/amanganiello90)\n\n[npm-image]: https://img.shields.io/npm/v/generator-jhipster-nodejs.svg\n[npm-url]: https://npmjs.org/package/generator-jhipster-nodejs\n[github-actions-generator-image]: https://github.com/jhipster/generator-jhipster-nodejs/actions/workflows/generator.yml/badge.svg\n[github-actions-generator-link]: https://github.com/jhipster/generator-jhipster-nodejs/actions/workflows/generator.yml\n[github-actions-angular-samples-image]: https://github.com/jhipster/generator-jhipster-nodejs/actions/workflows/test-integration-angular.yml/badge.svg\n[github-actions-angular-samples-link]: https://github.com/jhipster/generator-jhipster-nodejs/actions/workflows/test-integration-angular.yml\n[github-actions-react-samples-image]: https://github.com/jhipster/generator-jhipster-nodejs/actions/workflows/test-integration-react.yml/badge.svg\n[github-actions-react-samples-link]: https://github.com/jhipster/generator-jhipster-nodejs/actions/workflows/test-integration-react.yml\n[github-actions-vue-samples-image]: https://github.com/jhipster/generator-jhipster-nodejs/actions/workflows/test-integration-vue.yml/badge.svg\n[github-actions-vue-samples-link]: https://github.com/jhipster/generator-jhipster-nodejs/actions/workflows/test-integration-vue.yml\n[github-actions-microservice-samples-image]: https://github.com/jhipster/generator-jhipster-nodejs/actions/workflows/test-integration-microservice.yml/badge.svg\n[github-actions-microservice-samples-link]: https://github.com/jhipster/generator-jhipster-nodejs/actions/workflows/test-integration-microservice.yml\n[github-actions-url]: https://github.com/jhipster/generator-jhipster-nodejs/actions\n[sonar-url]: https://sonarcloud.io/dashboard?branch=main\u0026id=jhipster_generator-jhipster-nodejs\n[sonar-coverage-url]: https://sonarcloud.io/component_measures?branch=main\u0026id=jhipster_generator-jhipster-nodejs\u0026metric=coverage\u0026view=list\n[sonar-gate-image]: https://sonarcloud.io/api/project_badges/measure?branch=main\u0026project=jhipster_generator-jhipster-nodejs\u0026metric=alert_status\n[sonar-coverage-image]: https://sonarcloud.io/api/project_badges/measure?branch=main\u0026project=jhipster_generator-jhipster-nodejs\u0026metric=coverage\n[sonar-reliability-image]: https://sonarcloud.io/api/project_badges/measure?branch=main\u0026project=jhipster_generator-jhipster-nodejs\u0026metric=reliability_rating\n[sonar-security-image]: https://sonarcloud.io/api/project_badges/measure?branch=main\u0026project=jhipster_generator-jhipster-nodejs\u0026metric=security_rating\n[sonar-maintainability-image]: https://sonarcloud.io/api/project_badges/measure?branch=main\u0026project=jhipster_generator-jhipster-nodejs\u0026metric=sqale_rating\n[sonar-duplication-image]: https://sonarcloud.io/api/project_badges/measure?branch=main\u0026project=jhipster_generator-jhipster-nodejs\u0026metric=duplicated_lines_density\n[daviddm-image]: https://david-dm.org/jhipster/generator-jhipster-nodejs.svg?theme=shields.io\n[daviddm-url]: https://david-dm.org/jhipster/generator-jhipster-nodejs\n[npmcharts-image]: https://img.shields.io/npm/dm/generator-jhipster-nodejs.svg?label=Downloads\u0026style=flat\n[npmcharts-url]: https://npmcharts.com/compare/generator-jhipster-nodejs\n[gitter-image]: https://badges.gitter.im/generator-jhipster-nodejs/community.svg\n[gitter-url]: https://gitter.im/generator-jhipster-nodejs/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhipster%2Fgenerator-jhipster-nodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhipster%2Fgenerator-jhipster-nodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhipster%2Fgenerator-jhipster-nodejs/lists"}