0.6.14 • Published 3 months ago

ivy-nestjs v0.6.14

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

Ivy NestJS

npm NPM License npm npm npm

A library of useful building components for NestJS web application.

! In active development. !

Backward compatibility is not guaranteed until v1.0.0

Installation

$ npm install ivy-nestjs

Usage

In ./sample directory of ivy-nestjs package you can find two examples of applications built using this library.

Import modules and classes to build your NestJs TypeScript application.

import { ConfigModule } from 'ivy-nestjs/config';

Modules

Auth

User authentication and authorization logic.

Cache

Caching HTTP interceptor and cache management functionality.

Config

Application global configuration values.

Context

Application request perisistence.

Enums

Enumerable values used accross other modules.

Filters

Exception handling logic.

GraphQL

Bootstraping functionality for GraphQL usage.

Health

Health monitoring functionality and endpoints.

Logger

Application logging implementation.

Mail

Send emails using SMTP or other 3rd party APIs.

Mongoose

Bootstraping logic for Mongoose library usage with MongoDB.

Queue

The queue connection for asynchronous task processing and job execution, also used by Mail module.

Redis

Access and management functionality for the Redis storage, also used in Queue, Mail and Cache modules.

Resource

The main logic for resource management, model definition, and endpoints creation.

Storage

File persistence and access endpoints through various adapter implementations.

Template

The template compilation using multiple templating adapters, also used by Mail module.

Typeorm

Bootstraping logic for Typeorm library usage any SQL relational database.

Utils

Common utility functions and classes used accross other modules.

Environment variables

Variable nameDescriptionDefault value
NODE_ENVEnvironment (development, test or production)production

Command-line interface

Create resource

Script for creating new resource modules with all of it's required files. There are two types of generated resource based on database library used in project:

  • typeorm - generates models using TypeORM entity
  • mongoose - generates models using Mongoose schema
create-resource.js [type] [name]

create new resource files

Positionals:
  type  the type of database library used in project
                                       [string] [choices: "typeorm", "mongoose"]
  name  the name of new resource in singular e.g. blog-post             [string]

Options:
      --help        Show help                                          [boolean]
      --version     Show version number                                [boolean]
  -d, --outDir      output directory for generated resource files
                                           [string] [default: "./src/resources"]
  -m, --moduleFile  main module file where to add new resource as import
                                       [string] [default: "./src/app.module.ts"]
  -n, --noEndpoint  do not generate REST controller and/or GraphQL resolver
                    classes                           [boolean] [default: false]
  -r, --rest        generate only REST types, models, and a controller class
                                                                       [boolean]
  -g, --graphql     generate only GraphQL types, models, and a resolver class
                                                                       [boolean]
  -u, --uuid        use UUID v4 as a primary key (typeorm resource only)
                                                      [boolean] [default: false]
  -o, --overwrite   overwrite existing resource files [boolean] [default: false]

Documentation

Swagger documentation is available on: http://{APP_HOST}:{APP_PORT}/swagger (if enabled)

GraphQL documentation is available on: http://{APP_HOST}:{APP_PORT}/graphql (if enabled)

License

Ivy-NestJS is MIT licensed.

0.6.12

3 months ago

0.6.14

3 months ago

0.6.13

3 months ago

0.6.11

3 months ago

0.6.9

6 months ago

0.6.10

6 months ago

0.6.7

6 months ago

0.6.6

6 months ago

0.6.8

6 months ago

0.6.5

6 months ago

0.6.4

6 months ago

0.6.1

6 months ago

0.6.0

6 months ago

0.5.9

1 year ago

0.5.8

1 year ago

0.5.7

1 year ago

0.5.4

1 year ago

0.5.3

2 years ago

0.5.5

1 year ago

0.3.64

2 years ago

0.3.63

2 years ago

0.3.62

2 years ago

0.3.61

2 years ago

0.3.60

2 years ago

0.3.66

2 years ago

0.3.65

2 years ago

0.3.53

2 years ago

0.3.52

2 years ago

0.3.51

2 years ago

0.3.50

2 years ago

0.3.59

2 years ago

0.3.58

2 years ago

0.3.57

2 years ago

0.3.56

2 years ago

0.3.55

2 years ago

0.3.54

2 years ago

0.3.42

2 years ago

0.3.41

2 years ago

0.3.40

2 years ago

0.3.49

2 years ago

0.3.48

2 years ago

0.3.47

2 years ago

0.3.46

2 years ago

0.3.45

2 years ago

0.3.44

2 years ago

0.3.43

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.31

2 years ago

0.3.30

2 years ago

0.3.39

2 years ago

0.3.38

2 years ago

0.3.37

2 years ago

0.3.36

2 years ago

0.3.35

2 years ago

0.3.34

2 years ago

0.3.33

2 years ago

0.3.32

2 years ago

0.3.29

2 years ago

0.3.20

2 years ago

0.3.28

2 years ago

0.3.27

2 years ago

0.3.26

2 years ago

0.3.25

2 years ago

0.3.24

2 years ago

0.3.23

2 years ago

0.3.22

2 years ago

0.3.21

2 years ago

0.3.19

2 years ago

0.3.18

2 years ago

0.5.0

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.3.17

2 years ago

0.3.16

2 years ago

0.3.15

2 years ago

0.3.14

2 years ago

0.3.13

2 years ago

0.3.12

2 years ago

0.3.11

2 years ago

0.3.10

2 years ago

0.3.9

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.8

2 years ago

0.2.7

2 years ago

0.2.6

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.33

2 years ago

0.1.32

2 years ago

0.1.31

2 years ago

0.1.30

2 years ago

0.1.29

2 years ago

0.1.28

2 years ago

0.1.27

2 years ago

0.1.26

2 years ago

0.1.25

2 years ago

0.1.24

2 years ago

0.1.23

2 years ago

0.1.22

2 years ago

0.1.21

2 years ago

0.1.20

2 years ago

0.1.19

2 years ago

0.1.18

2 years ago

0.1.17

2 years ago

0.1.16

2 years ago

0.1.15

2 years ago

0.1.14

2 years ago

0.1.13

2 years ago

0.1.12

2 years ago

0.1.11

2 years ago

0.1.10

2 years ago

0.1.9

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.27

2 years ago

0.0.26

2 years ago

0.0.25

2 years ago

0.0.24

2 years ago

0.0.23

2 years ago

0.0.22

2 years ago

0.0.21

2 years ago

0.0.20

2 years ago

0.0.19

2 years ago

0.0.18

2 years ago

0.0.17

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago