# @njudah/builder

> Build tool

Latest version **12.0.0-beta.4** (published 2017-10-11) · MIT license · 0 weekly downloads

## Install

```sh
npm install @njudah/builder
pnpm add @njudah/builder
yarn add @njudah/builder
bun add @njudah/builder
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 12.0.0-beta.4 |
| Published | 2017-10-11 |
| First published | 2017-02-21 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 9 |
| Known vulnerabilities | 0 (+5 in 3 direct dependencies) |
| Install scripts | no |
| Author | Francisco Ryan Tolmasky I |
| Maintainers | njudah |

## Links

- npm: https://www.npmjs.com/package/@njudah/builder
- npm.io page: https://npm.io/package/@njudah/builder

## Dependencies (9)

- [uuid](https://npm.io/package/uuid.md) ^3.1.0
- [immutable](https://npm.io/package/immutable.md) 3.8.1
- [babel-core](https://npm.io/package/babel-core.md) ^6.23.1
- [micromatch](https://npm.io/package/micromatch.md) ^2.3.11
- [@njudah/cursor](https://npm.io/package/@njudah/cursor.md) 12.0.0-beta.4
- [@njudah/program](https://npm.io/package/@njudah/program.md) 12.0.0-beta.4
- [@njudah/asynchronous](https://npm.io/package/@njudah/asynchronous.md) 12.0.0-beta.4
- [@njudah/get-checksum](https://npm.io/package/@njudah/get-checksum.md) 12.0.0-beta.4
- [@njudah/get-package-checksum](https://npm.io/package/@njudah/get-package-checksum.md) 12.0.0-beta.4

## Recent versions

- 12.0.0-beta.4 (latest) — 2017-10-11
- 12.0.0-beta.3 — 2017-10-05
- 12.0.0-beta.2 — 2017-10-03
- 12.0.0-beta — 2017-10-03
- 11.0.0 — 2017-05-08
- 10.0.0 — 2017-04-18
- 9.0.0 — 2017-04-14
- 8.0.0 — 2017-04-14
- 7.0.0 — 2017-04-14
- 6.0.0 — 2017-04-14
- 5.0.0 — 2017-04-14
- 4.0.0 — 2017-04-14
- 3.0.0 — 2017-04-09
- 1.0.0 — 2017-02-21

## README

# N Judah Builder

This is a build tool for applying transforms to files.

# How Do I use It?

You specify your build using (generic) JSX:

```JavaScript
const { build, transform } = require("@njudah/builder");
const babel = require("@njudah/builder/transform/babel");

<build  path = "/path/to/your/project"
        destination = "/path/to/build/folder"
        ignore = "**/node_modules" >
    <transform match = "**/*.js" >
        <babel options = { { presets: ["es2015-node4", "stage-0"] } } />
    </transform>
</build>

```

Use the promisified interface to run the build and grab the final location:

```JavaScript

require("@njudah/builder/promisifed")(
    <build  path = "/path/to/your/project"
        destination = "/path/to/build/folder"
        ignore = "**/node_modules" >
        <transform match = "**/*.js" >
            <babel options = { { presets: ["es2015-node4", "stage-0"] } } />
        </transform>
    </build>
)
    .then(function (x)
    {
        console.log(x);
    });

```

If you do not have access to generic JSX, you can use the alternative array syntax:

```JavaScript

require("@njudah/builder/promisifed")(
    [build,
    {
        path: "/path/to/your/project",
        destination: "/path/to/build/folder"
        ignore: "**/node_modules"
    },
        [transform, { match: "**/*.js" },
            [babel, { options: { presets: ["es2015-node4", "stage-0"] } }
        ]
    ]
)
    .then(function (x)
    {
        console.log(x);
    });

```

## build attributes

- **path**: source path
- **destination**: destination folder
- **ignore**: files to ignore. Can be glob string, or array of glob strings.

## transform attributes

- **match** - files to match. Can be glob string, or array of glob strings.

## transform child

Transform expects one child, the actual transform function to run. *babel* is the only currently supported one.

## babel attributes

- **options** - Babel options.

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