Skip to content

Commit

Permalink
feat(js): add library and app generators
Browse files Browse the repository at this point in the history
  • Loading branch information
vsavkin committed Nov 16, 2021
1 parent 6e801a1 commit fcecebe
Show file tree
Hide file tree
Showing 40 changed files with 2,601 additions and 46 deletions.
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,8 +222,8 @@ The type must be one of the following:

The scope must be one of the following:

- angular - anything Angular specific
- core - anything Nx core specific
- js - anything related to @nrwl/js package or general js/ts support
- nxdev - anything related to docs infrastructure
- nextjs - anything Next specific
- nest - anything Nest specific
Expand All @@ -234,6 +234,7 @@ The scope must be one of the following:
- storybook - anything Storybook specific
- testing - anything testing specific (e.g., jest or cypress)
- repo - anything related to managing the repo itself
- angular - anything Angular specific
- misc - misc stuff
- devkit - devkit-related changes

Expand Down
161 changes: 161 additions & 0 deletions docs/angular/api-js/generators/application.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
# @nrwl/js:application

Create a application

## Usage

```bash
nx generate application ...
```

```bash
nx g app ... # same
```

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

You can specify the collection explicitly as follows:

```bash
nx g @nrwl/js:application ...
```

Show what will be generated without writing to disk:

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

### Examples

Generate libs/myapp/mylib:

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

## Options

### name (_**required**_)

Type: `string`

Library name

### compiler

Default: `tsc`

Type: `string`

Possible values: `tsc`, `swc`

The compiler used by the build and test targets

### config

Default: `project`

Type: `string`

Possible values: `workspace`, `project`, `npm-scripts`

Determines how whether the project's executors should be configured in workspace.json, project.json or as npm scripts

### directory

Type: `string`

A directory where the lib is placed

### importPath

Type: `string`

The library name used to import it, like @myorg/my-awesome-lib

### js

Default: `false`

Type: `boolean`

Generate JavaScript files rather than TypeScript files

### linter

Default: `eslint`

Type: `string`

Possible values: `eslint`, `none`

The tool to use for running lint checks.

### pascalCaseFiles

Alias(es): P

Default: `false`

Type: `boolean`

Use pascal case file names.

### setParserOptionsProject

Default: `false`

Type: `boolean`

Whether or not to configure the ESLint "parserOptions.project" option. We do not do this by default for lint performance reasons.

### skipFormat

Default: `false`

Type: `boolean`

Skip formatting files

### skipTsConfig

Default: `false`

Type: `boolean`

Do not update tsconfig.json for development experience.

### strict

Default: `true`

Type: `boolean`

Whether to enable tsconfig strict mode or not.

### tags

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`

Type: `string`

Possible values: `jest`, `none`

Test runner to use for unit tests
169 changes: 169 additions & 0 deletions docs/angular/api-js/generators/library.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
# @nrwl/js:library

Create a library

## Usage

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

```bash
nx 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
nx g @nrwl/js: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

### name (_**required**_)

Type: `string`

Library name

### buildable

Default: `false`

Type: `boolean`

Generate a buildable library.

### compiler

Default: `tsc`

Type: `string`

Possible values: `tsc`, `swc`

The compiler used by the build and test targets

### config

Default: `project`

Type: `string`

Possible values: `workspace`, `project`, `npm-scripts`

Determines how whether the project's executors should be configured in workspace.json, project.json or as npm scripts

### directory

Type: `string`

A directory where the lib is placed

### importPath

Type: `string`

The library name used to import it, like @myorg/my-awesome-lib

### js

Default: `false`

Type: `boolean`

Generate JavaScript files rather than TypeScript files

### linter

Default: `eslint`

Type: `string`

Possible values: `eslint`, `none`

The tool to use for running lint checks.

### pascalCaseFiles

Alias(es): P

Default: `false`

Type: `boolean`

Use pascal case file names.

### setParserOptionsProject

Default: `false`

Type: `boolean`

Whether or not to configure the ESLint "parserOptions.project" option. We do not do this by default for lint performance reasons.

### skipFormat

Default: `false`

Type: `boolean`

Skip formatting files

### skipTsConfig

Default: `false`

Type: `boolean`

Do not update tsconfig.json for development experience.

### strict

Default: `true`

Type: `boolean`

Whether to enable tsconfig strict mode or not.

### tags

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`

Type: `string`

Possible values: `jest`, `none`

Test runner to use for unit tests
Loading

0 comments on commit fcecebe

Please sign in to comment.