Examples

@nx/js:tsc can run the TypeScript Transformers by using the transformers option.

libs/ts-lib/project.json
1{ 2 "build": { 3 "executor": "@nx/js:tsc", 4 "options": { 5 "outputPath": "dist/libs/ts-lib", 6 "main": "libs/ts-lib/src/index.ts", 7 "tsConfig": "libs/ts-lib/tsconfig.lib.json", 8 "assets": ["libs/ts-lib/*.md"], 9 "transformers": [ 10 "@nestjs/swagger/plugin", 11 { 12 "name": "@automapper/classes/transformer-plugin", 13 "options": {} 14 } 15 ] 16 } 17 } 18} 19

Options

main

Required
string

The name of the main entry-point file.

outputPath

Required
string

The output path of the generated files.

tsConfig

Required
string

The path to the Typescript configuration file.

additionalEntryPoints

Array<string>

Additional entry-points to add to exports field in the package.json file. Ignored when generatePackageJson is set to false.

generateExportsField

exports
boolean
Default: false

Update the output package.json file's 'exports' field. This field is used by Node and bundlers. Ignored when generatePackageJson is set to false.

transformers

Array<oneOf [string, object ]>
Default: []

List of TypeScript Transformer Plugins.

assets

Array<oneOf [object , string]>
Default: []

List of static assets.

clean

boolean
Default: true

Remove previous output before build.

externalBuildTargets

Array<string>
Default: [build]

List of target names that annotate a build target for a project

generatePackageJson

boolean
Default: true

Generate package.json file in the output folder.

outputFileName

string

The path to the main file relative to the outputPath

rootDir

string

Sets the rootDir for TypeScript compilation. When not defined, it uses the root of project.

watch

boolean
Default: false

Enable re-building when files change.

generateLockfile

Internal
boolean
Default: false

Generate a lockfile (e.g. package-lock.json) that matches the workspace lockfile to ensure package versions match. Ignored when generatePackageJson is set to false.

external

Deprecated
oneOf [string, Array<string>]

A list projects to be treated as external. This feature is experimental

Make sure all dependencies are buildable by running nx g @nx/js:setup-build. This option will be removed in Nx 20.