1.1.0 • Published 1 year ago

hexa-three-levels-files-creator v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

Hexa-Three-Levels Files Creator

This project is used to generate all the necessary files to implement a CRUD on an indicated entity called 'nameEntity', followinf hexagonal architecture and NestJs (controllers).

The generated files will be the following:

<nameEntity>.dto.ts
<nameEntity>.controller.ts
<nameEntity>.service.interface.ts
<nameEntity>.service.ts
<nameEntity>.entity.ts
<nameEntity>.repository.ts
<nameEntity>.schema.ts

The generated files use the library called: 'hexa-three-levels'.

Requirements

To build the library was used:

  • Node 16.17.1
  • NPM 8.19.2

Install

  • Script Local

You don't need to install, just download the repository and run the script

  • GLOBAL

npm install -g hexa-three-levels-files-creator

  • LOCAL

npm install hexa-three-levels-files-creator

Usage

  • Script Local:

You don't need to install, just download the repository and run the script and you can use by directly running the script

node index.js 
  • Global

Ejecutamos npm-htl-fcreate

  • Local Add in package.json
"scripts": {
    "npm-htl-fcreate": "./node_modules/.bin/npm-htl-fcreate"
},

Executing:

npm run npm-htl-fcreate
  • With hexa-three-levels
$ npm i -g @nestjs/cli
$ nest new my-project
$ cd my-project
$ npm i hexa-three-levels
$ cd src
$ npm-htl-fcreate

Log

Example creating User entity files:

? What is the entity name? User
? What attribute name do you want to include? username
? What is the type of the attribute? string
? Want to add another attribute? Yes
? What attribute name do you want to include? email
? What is the type of the attribute? string
? Want to add another attribute? No
Entity core: User
Entity attributes array: [
  { name: 'username', type: 'string' },
  { name: 'email', type: 'string' }
]
CREATE Folder C:\Users\Daro\Code\my-project\src\application
CREATE Folder C:\Users\Daro\Code\my-project\src\domain
CREATE Folder C:\Users\Daro\Code\my-project\src\infrastructure
CREATE File C:\Users\Daro\Code\my-project\src\application\User.dto.ts
CREATE File C:\Users\Daro\Code\my-project\src\application\User.controller.ts
CREATE File C:\Users\Daro\Code\my-project\src\domain\User.service.interface.ts
CREATE File C:\Users\Daro\Code\my-project\src\domain\User.service.ts
CREATE File C:\Users\Daro\Code\my-project\src\domain\User.entity.ts
CREATE File C:\Users\Daro\Code\my-project\src\infrastructure\User.schema.ts
CREATE File C:\Users\Daro\Code\my-project\src\infrastructure\User.repository.ts