Skip to content

Commit

Permalink
feat(nest): implement nest lib schematic (#2540)
Browse files Browse the repository at this point in the history
  • Loading branch information
yharaskrik committed Mar 2, 2020
1 parent ff6b434 commit a39587a
Show file tree
Hide file tree
Showing 32 changed files with 1,421 additions and 16 deletions.
1 change: 1 addition & 0 deletions .cz-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ module.exports = {
{ name: 'core', description: 'anything Nx core specific' },
{ name: 'docs', description: 'anything related to docs infrastructure' },
{ name: 'nextjs', description: 'anything Next specific' },
{ name: 'nest', description: 'anything Nest specific' },
{ name: 'node', description: 'anything Node specific' },
{ name: 'nx-plugin', description: 'anything Nx Plugin specific' },
{ name: 'react', description: 'anything React specific' },
Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ The scope must be one of the following:
- core - anything Nx core specific
- docs - anything related to docs infrastructure
- nextjs - anything Next specific
- nest - anything Nest specific
- node - anything Node specific
- linter - anything Linter specific
- react - anything React specific
Expand Down
145 changes: 145 additions & 0 deletions docs/angular/api-nest/schematics/library.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
# library

Create a new nest library

## Usage

```bash
ng generate library ...
```

```bash
ng g lib ... # same
```

By default, Nx will search for `library` in the default collection provisioned in `angular.json`.

You can specify the collection explicitly as follows:

```bash
ng g @nrwl/nest:library ...
```

Show what will be generated without writing to disk:

```bash
ng g library ... --dry-run
```

### Examples

Generate libs/myapp/mylib:

```bash
ng g lib mylib --directory=myapp
```

## Options

### controller

Default: `false`

Type: `boolean`

Include a controller with the library

### directory

Alias(es): d

Type: `string`

A directory where the app is placed

### global

Default: `false`

Type: `boolean`

Add the Global decorator to the generated module.

### linter

Default: `tslint`

Type: `string`

Possible values: `eslint`, `tslint`

The tool to use for running lint checks.

### name

Type: `string`

Library name

### publishable

Type: `boolean`

Create a publishable library. A "build" architect will be added for this project the workspace configuration.

### service

Default: `false`

Type: `boolean`

Include a service with the library.

### skipFormat

Default: `false`

Type: `boolean`

Skip formatting files

### skipTsConfig

Default: `false`

Type: `boolean`

Do not update tsconfig.json for development experience.

### tags

Alias(es): t

Type: `string`

Add tags to the library (used for linting)

### target

Default: `es6`

Type: `string`

Possible values: `es5`, `es6`, `esnext`, `es2015`, `es2016`, `es2017`, `es2018`, `es2019`, `es2020`

The es target, Nest suggest using es6 or higher.

### testEnvironment

Default: `node`

Type: `string`

Possible values: `jsdom`, `node`

The test environment for jest, for node applications this should stay as node unless doing DOM testing.

### unitTestRunner

Default: `jest`

Type: `string`

Possible values: `jest`, `none`

Test runner to use for unit tests
10 changes: 10 additions & 0 deletions docs/angular/api-node/schematics/library.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,16 @@ Type: `string`

Add tags to the library (used for linting)

### testEnvironment

Default: `jsdom`

Type: `string`

Possible values: `jsdom`, `node`

The test environment to use if unitTestRunner is set to jest

### unitTestRunner

Default: `jest`
Expand Down
10 changes: 10 additions & 0 deletions docs/angular/api-workspace/schematics/library.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,16 @@ Type: `string`

Add tags to the library (used for linting)

### testEnvironment

Default: `jsdom`

Type: `string`

Possible values: `jsdom`, `node`

The test environment to use if unitTestRunner is set to jest

### unitTestRunner

Default: `jest`
Expand Down
145 changes: 145 additions & 0 deletions docs/react/api-nest/schematics/library.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
# library

Create a new nest library

## Usage

```bash
nx generate library ...
```

```bash
nx g lib ... # same
```

By default, Nx will search for `library` in the default collection provisioned in `workspace.json`.

You can specify the collection explicitly as follows:

```bash
nx g @nrwl/nest:library ...
```

Show what will be generated without writing to disk:

```bash
nx g library ... --dry-run
```

### Examples

Generate libs/myapp/mylib:

```bash
nx g lib mylib --directory=myapp
```

## Options

### controller

Default: `false`

Type: `boolean`

Include a controller with the library

### directory

Alias(es): d

Type: `string`

A directory where the app is placed

### global

Default: `false`

Type: `boolean`

Add the Global decorator to the generated module.

### linter

Default: `tslint`

Type: `string`

Possible values: `eslint`, `tslint`

The tool to use for running lint checks.

### name

Type: `string`

Library name

### publishable

Type: `boolean`

Create a publishable library. A "build" architect will be added for this project the workspace configuration.

### service

Default: `false`

Type: `boolean`

Include a service with the library.

### skipFormat

Default: `false`

Type: `boolean`

Skip formatting files

### skipTsConfig

Default: `false`

Type: `boolean`

Do not update tsconfig.json for development experience.

### tags

Alias(es): t

Type: `string`

Add tags to the library (used for linting)

### target

Default: `es6`

Type: `string`

Possible values: `es5`, `es6`, `esnext`, `es2015`, `es2016`, `es2017`, `es2018`, `es2019`, `es2020`

The es target, Nest suggest using es6 or higher.

### testEnvironment

Default: `node`

Type: `string`

Possible values: `jsdom`, `node`

The test environment for jest, for node applications this should stay as node unless doing DOM testing.

### unitTestRunner

Default: `jest`

Type: `string`

Possible values: `jest`, `none`

Test runner to use for unit tests
10 changes: 10 additions & 0 deletions docs/react/api-node/schematics/library.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,16 @@ Type: `string`

Add tags to the library (used for linting)

### testEnvironment

Default: `jsdom`

Type: `string`

Possible values: `jsdom`, `node`

The test environment to use if unitTestRunner is set to jest

### unitTestRunner

Default: `jest`
Expand Down
10 changes: 10 additions & 0 deletions docs/react/api-workspace/schematics/library.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,16 @@ Type: `string`

Add tags to the library (used for linting)

### testEnvironment

Default: `jsdom`

Type: `string`

Possible values: `jsdom`, `node`

The test environment to use if unitTestRunner is set to jest

### unitTestRunner

Default: `jest`
Expand Down
Loading

0 comments on commit a39587a

Please sign in to comment.