# zenflow-build-js-lib

> A zero-config opinionated and awesome build system for portable js libs

Latest version **3.0.1** (published 2018-03-30) · MIT license · 0 weekly downloads

## Install

```sh
npm install zenflow-build-js-lib
pnpm add zenflow-build-js-lib
yarn add zenflow-build-js-lib
bun add zenflow-build-js-lib
```

Provides the command `zenflow-build-js-lib`.

## 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 | 3.0.1 |
| Published | 2018-03-30 |
| First published | 2018-03-13 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 12 |
| Unpacked size | 14.7 KB |
| Known vulnerabilities | 0 (+2 in 1 direct dependencies) |
| Install scripts | no |
| Author | Matthew Francis Brunetti |
| Maintainers | zen_flow |
| Keywords | zenflow, script, standard, build, bundle, js, javascript, lib, library |

## Links

- npm: https://www.npmjs.com/package/zenflow-build-js-lib
- Repository: https://github.com/zenflow/zenflow-build-js-lib
- Homepage: https://github.com/zenflow/zenflow-build-js-lib#readme
- Issues: https://github.com/zenflow/zenflow-build-js-lib/issues
- npm.io page: https://npm.io/package/zenflow-build-js-lib

## Dependencies (12)

- [del](https://npm.io/package/del.md) ^3.0.0
- [json5](https://npm.io/package/json5.md) ^1.0.1
- [slash](https://npm.io/package/slash.md) ^2.0.0
- [rollup](https://npm.io/package/rollup.md) ^0.57.1
- [minimist](https://npm.io/package/minimist.md) ^1.2.0
- [camelcase](https://npm.io/package/camelcase.md) ^5.0.0
- [babel-core](https://npm.io/package/babel-core.md) ^6.26.0
- [rollup-plugin-babel](https://npm.io/package/rollup-plugin-babel.md) ^3.0.3
- [rollup-plugin-uglify](https://npm.io/package/rollup-plugin-uglify.md) ^3.0.0
- [rollup-plugin-commonjs](https://npm.io/package/rollup-plugin-commonjs.md) ^9.1.0
- [rollup-plugin-node-resolve](https://npm.io/package/rollup-plugin-node-resolve.md) ^3.2.0
- [babel-plugin-external-helpers](https://npm.io/package/babel-plugin-external-helpers.md) ^6.22.0

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 3.0.1 (latest) — 2018-03-30
- 3.0.0 — 2018-03-29
- 2.1.1 — 2018-03-29
- 2.1.0 — 2018-03-29
- 2.0.1 — 2018-03-24
- 2.0.0 — 2018-03-23
- 1.0.0 — 2018-03-17
- 0.4.2 — 2018-03-17
- 0.4.1 — 2018-03-17
- 0.4.0 — 2018-03-17
- 0.3.0 — 2018-03-17
- 0.2.0 — 2018-03-16
- 0.1.1 — 2018-03-13
- 0.1.0 — 2018-03-13

## README

# zenflow-build-js-lib

A minimal-config opinionated and awesome build system for portable js libs

[![Build Status](https://travis-ci.org/zenflow/zenflow-build-js-lib.svg?branch=master)](https://travis-ci.org/zenflow/zenflow-build-js-lib)
[![tested with jest](https://img.shields.io/badge/tested_with-jest-99424f.svg)](https://github.com/facebook/jest)
[![npm version](https://badge.fury.io/js/zenflow-build-js-lib.svg)](https://www.npmjs.com/package/zenflow-build-js-lib)
[![Dependencies Status](https://david-dm.org/zenflow/zenflow-build-js-lib.svg)](https://david-dm.org/zenflow/zenflow-build-js-lib)
[![Greenkeeper badge](https://badges.greenkeeper.io/zenflow/zenflow-build-js-lib.svg)](https://greenkeeper.io/)
[![semantic-release badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/zenflow/zenflow-build-js-lib/blob/master/CHANGELOG.md)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Features

- convention over configuration
- rollup under the hood
- babel 6, with whatever presets and plugins you need
- cjs es & umd formats
- pretty banners with package name & version, filename, homepage & license

## Conventions

- entry point will be `src/index.js`
- externals (non-bundled imports) will be `"dependencies"` and `"peerDependencies"`
- package `"main"` refers to cjs format file (optional)
- package `"module"` refers to es format file (optional)
- package `"browser"` refers to umd format file (optional)
- global export name will be camelized package name
- global import names will be camelized package names *unless* specified in `pkg.zenflowConfig.build.globals` option in `package.json`

## CLI

`zenflow-build-js-lib [--prod]`

- `--prod` - "production mode" - produce sourcemaps and additional minified versions of all js files

## Configs

This project strives to eliminate as much configuration as possible, but sometimes it's needed.

In your `package.json`, at `pkg.zenflowConfig.build`, add any of the following options:

- `"globals"` - Object mapping external package names to their global export names (e.g. `{"react-dom": "ReactDOM"}`)

## Example

package.json

```json
{
  "name": "example",
  "version": "1.0.0",
  "main": "dist/example.cjs.js",
  "module": "dist/example.es.js",
  "browser": "dist/example.umd.js",
  "files": [
    "dist/**/*"
  ],
  "homepage": "HOMEPAGE",
  "license": "LICENSE",
  "scripts": {
    "build": "zenflow-build-js-lib --minify --sourcemap"
  },
  "peerDependencies": {
    "react": "^16.0.0",
    "react-dom": "^16.0.0"
  },
  "devDependencies": {
    "zenflow-build-js-lib": "^1.0.0"
  },
  "zenflowConfig": {
    "build": {
      "globals": {
        "react": "React",
        "react-dom": "ReactDOM"
      }
    }
  }
}

```

---
_Source: https://npm.io/package/zenflow-build-js-lib · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
