# @da-mkay/ng-builder-typescript

> A set of builders and schematics for the Angular CLI to build Node.js apps using the typescript compiler tsc (no webpack or any other bundler used).

Latest version **20.0.1** (published 2025-07-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install @da-mkay/ng-builder-typescript
pnpm add @da-mkay/ng-builder-typescript
yarn add @da-mkay/ng-builder-typescript
bun add @da-mkay/ng-builder-typescript
```

## Health

**Score 25/100 (F)** — status: maintenance-mode.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 20.0.1 |
| Published | 2025-07-03 |
| First published | 2021-03-13 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 11 |
| Unpacked size | 80 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | da-mkay |
| Maintainers | da-mkay |
| Keywords | angular, ng, tsc, typescript, builder, watch, node, node.js |

## Links

- npm: https://www.npmjs.com/package/@da-mkay/ng-builder-typescript
- Repository: https://github.com/da-mkay/ng-builder-typescript
- Issues: https://github.com/da-mkay/ng-builder-typescript/issues
- npm.io page: https://npm.io/package/@da-mkay/ng-builder-typescript

## Dependencies (11)

- [glob](https://npm.io/package/glob.md) ^10.4.5
- [rxjs](https://npm.io/package/rxjs.md) ^7.4.0
- [chokidar](https://npm.io/package/chokidar.md) ^4.0.0
- [fs-extra](https://npm.io/package/fs-extra.md) ^11.3.0
- [inquirer](https://npm.io/package/inquirer.md) ^12.7.0
- [minimatch](https://npm.io/package/minimatch.md) ^9.0.5
- [ansi-colors](https://npm.io/package/ansi-colors.md) ^4.1.1
- [@schematics/angular](https://npm.io/package/@schematics/angular.md) ^20.0.0
- [@angular-devkit/core](https://npm.io/package/@angular-devkit/core.md) ^20.0.0
- [@angular-devkit/architect](https://npm.io/package/@angular-devkit/architect.md) >=0.2000.0 <0.2100.0
- [@angular-devkit/schematics](https://npm.io/package/@angular-devkit/schematics.md) ^20.0.0

## Alternatives

- [angular-pipes](https://npm.io/package/angular-pipes.md) — 5.6K weekly downloads
- [@ng-web-apis/midi](https://npm.io/package/@ng-web-apis/midi.md) — 2.6K weekly downloads
- [happn-3](https://npm.io/package/happn-3.md) — 1.6K weekly downloads
- [@opensip-cli/lang-go](https://npm.io/package/@opensip-cli/lang-go.md) — 1.2K weekly downloads
- [mongoose-typescript](https://npm.io/package/mongoose-typescript.md) — 85 weekly downloads

## Recent versions

- 20.0.1 (latest) — 2025-07-03
- 19.0.2 (ng19) — 2025-07-02
- 18.0.5 (ng18) — 2025-01-04
- 15.0.2 (ng15) — 2024-01-29
- 16.0.3 (ng16) — 2024-01-29
- 17.0.4 (ng17) — 2024-01-29
- 14.0.1 (ng14) — 2023-12-13
- 13.0.2 (ng13) — 2023-12-12
- 12.0.0 (ng12) — 2021-06-07
- 0.4.0 (ng9) — 2021-06-07
- 20.0.0 — 2025-07-03
- 19.0.1 — 2025-01-05
- 15.0.1 — 2024-01-28
- 16.0.2 — 2024-01-28
- 17.0.3 — 2024-01-27
- … 13 more at https://npm.io/package/@da-mkay/ng-builder-typescript/versions

## README

# @da-mkay/ng-builder-typescript

A builder for the Angular CLI to build Node.js apps using the typescript compiler tsc (no webpack or any other bundler used).

## Versions

This version of @da-mkay/ng-builder-typescript requires Angular 20. Use the tag `ng20` when installing this version, like so:\
`ng add @da-mkay/ng-builder-typescript@ng20`

For other Angular versions take a look at the table below or at the [Versions page](https://www.npmjs.com/package/@da-mkay/ng-builder-typescript?activeTab=versions).
| Angular Version | Tag for @da-mkay/ng-builder-typescript |
| --------------- | ---------------------------------------|
| Angular 20      | ng20                                   |
| Angular 19      | ng19                                   |
| Angular 18      | ng18                                   |
| Angular 17      | ng17                                   |
| Angular 16      | ng16                                   |
| Angular 15      | ng15                                   |
| Angular 14      | ng14                                   |
| Angular 13      | ng13                                   |
| Angular 12      | ng12                                   |
| Angular 11      | ng11                                   |
| Angular 10      | ng10                                   |
| Angular 9       | ng9                                    |
| Angular 8       | ng8                                    |

## Table of Contents

-   [Start project from scratch](#start-project-from-scratch)
-   [Builder options](#builder-options)
    -   [Builder: build](#builder-build)
    -   [Builder: serve](#builder-serve)
-   [Changelog](#changelog)

## Start project from scratch

First create a new empty workspace:

```
$ ng new workspace --create-application=false
$ cd workspace
```

Then install the builder:

```
$ ng add @da-mkay/ng-builder-typescript@ng20
```
(Using the tag `ng20`, the Angular 20 compatible version will be installed)

Finally create a new Node.js/typescript project:

```
$ ng g @da-mkay/ng-builder-typescript:app
```

You will be prompted for the project name. In the following examples `PROJECT` is used for the project name and must be replaced in your case accordingly.

To compile the project run:

```
$ ng build PROJECT
```

By default, the compiled code is written to the `dist/` folder. You can change that by adjusting the `outputPath` option of the project's `build` target.

To compile the project each time the code is changed run:

```
$ ng build PROJECT --watch
```

Of course, you can also configure a target or configuration in your angular.json and set the `watch` option to `true`.

To compile the project and run the built project in a Node.js process each time the code is changed:

```
$ ng serve PROJECT
```

## Builder options

### Builder: build

**outputPath**: `string`\
Target folder for the built app (relative to the workspace root). Will override `compilerOptions.outDir` setting of tsconfig.

**tsConfig**: `string`\
Path to the tsconfig file to use (relative to the workspace root).

**watch**: `boolean`\
(default: `false`)\
Whether to watch source files for changes and recompile.

**cleanOutputPath**: `boolean`\
(default: `true`)\
Whether to clean ouputPath before building app.

**assets**: `{ input: string, glob: string, output: string, ignore?: string[] }[]`\
Files to copy to the `outputPath`. Each asset object has the following properties:

-   `input`: a path relative to the workspace root
-   `glob`: a glob relative to `input`
-   `output`: a path relative to `outputPath`
-   `ignore`: an optional array of globs relative to `input`

In watch mode (`watch` set to `true`) the asset `input` folders will be watched for changes, i.e. added or modified files. On each change the updated file will be copied.

**fileReplacements**: `{ replace: string, with: string }[]`\
Replace files during compilation. Each array item is an object having the following properties:

-   `replace`: A file path relative to the workspace root that should be replaced.
-   `with`: A file path relative to the workspace root that should replace the path specified with `replace`.

### Builder: serve

**buildTarget**: `string`\
(required)\
The build target that uses @da-mkay/ng-builder-typescript builder. It will be started in watch mode. Each time the build target finished compilation successfully, a Node.js process is started that runs the compiled `main` file.\
This options must be a string using the format 'project:build-target[:config]'.

**main**: `string`\
(required)\
The path of the main file relative to the build target's `outputPath` that will be run using Node.js.

**nodeBin**: `string`\
The path to the Node.js binary to use. If none is specified the path of the currently running Node.js process is used.

**cwd**: `string`\
The cwd (current working directory) to use for the spawned Node.js process. If none is specified the build target's `outputPath` is used.

**args**: `string[]`\
Arguments to pass to the spawned Node.js process.

## Changelog

Check out [changelog on Github](https://github.com/da-mkay/ng-builder-typescript/blob/main/CHANGELOG.md).

---
_Source: https://npm.io/package/@da-mkay/ng-builder-typescript · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
