@nrwl/js:swc

Builds using SWC.

Options can be configured in project.json when defining the executor, or when invoking it. Read more about how to configure targets and executors here: https://nx.dev/reference/project-configuration#targets.

Examples

@nrwl/js:swc can inline non-buildable libraries by opt-in to Inlining mode with external option.

libs/ts-lib/project.json
{ "build": { "executor": "@nrwl/js:swc", "options": { "outputPath": "dist/libs/ts-lib", "main": "libs/ts-lib/src/index.ts", "tsConfig": "libs/ts-lib/tsconfig.lib.json", "assets": ["libs/ts-lib/*.md"], "external": "all" } } }
npx nx build ts-lib --external=all

@nrwl/js:swc can also inline buildable libraries by setting external: 'none'

libs/ts-lib/project.json
{ "build": { "executor": "@nrwl/js:swc", "options": { "outputPath": "dist/libs/ts-lib", "main": "libs/ts-lib/src/index.ts", "tsConfig": "libs/ts-lib/tsconfig.lib.json", "assets": ["libs/ts-lib/*.md"], "external": "none" } } }
npx nx build ts-lib --external=none

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.

skipTypeCheck

boolean
Default: false

Whether to skip TypeScript type checking.

assets

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

List of static assets.

buildableProjectDepsInPackageJsonType

string
Default: peerDependencies
Accepted values: dependencies, peerDependencies

When updateBuildableProjectDepsInPackageJson is true, this adds dependencies to either peerDependencies or dependencies.

clean

boolean
Default: true

Remove previous output before build.

external

oneOf [string, Array<string>]

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

externalBuildTargets

Array<string>
Default: [build]

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

swcrc

string

The path to the SWC configuration file. Default: .lib.swcrc

swcExclude

Hidden
Array<anything>
Default: [./src/**/.*.spec.ts$,./**/.*.spec.ts$,./src/**/jest-setup.ts$,./**/jest-setup.ts$,./**/.*.js$]

List of SWC Glob/Regex to be excluded from compilation (https://swc.rs/docs/configuration/compilation#exclude).

updateBuildableProjectDepsInPackageJson

boolean
Default: true

Whether to update the buildable project dependencies in package.json.

watch

boolean
Default: false

Enable re-building when files change.

generateLockfile

boolean
Default: false

Generate a lockfile (e.g. yarn.lock) that matches the workspace lockfile to ensure package versions match.