# esri-wab-build

> Build ESRI Web App Builder Applications for performance.

Latest version **1.2.0** (published 2020-03-10) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install esri-wab-build
pnpm add esri-wab-build
yarn add esri-wab-build
bun add esri-wab-build
```

Provides the command `esri-wab-build`.

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 1.2.0 |
| Published | 2020-03-10 |
| First published | 2017-02-22 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=6.9.4 |
| Dependencies | 6 |
| Unpacked size | 96.8 KB |
| Known vulnerabilities | 0 (+7 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 19 |
| Author | George Bochenek |
| Maintainers | gbochenek |
| Keywords | Esri, ArcGIS, Web, AppBuilder, WebAppBuilder, WAB, Build, Builder |

## Links

- npm: https://www.npmjs.com/package/esri-wab-build
- Repository: https://github.com/Esri/esri-wab-build
- Homepage: https://github.com/Esri/esri-wab-build#readme
- Issues: https://github.com/Esri/esri-wab-build/issues
- npm.io page: https://npm.io/package/esri-wab-build

## Dependencies (6)

- [hjson](https://npm.io/package/hjson.md) ^3.1.1
- [rimraf](https://npm.io/package/rimraf.md) ^2.6.1
- [adm-zip](https://npm.io/package/adm-zip.md) ^0.4.11
- [babylon](https://npm.io/package/babylon.md) ^6.17.4
- [fs-extra](https://npm.io/package/fs-extra.md) ^3.0.1
- [requirejs](https://npm.io/package/requirejs.md) ^2.1.14

## Alternatives

- [raw-loader](https://npm.io/package/raw-loader.md) — 4.3M weekly downloads
- [plop](https://npm.io/package/plop.md) — 1.4M weekly downloads
- [webpack-deadcode-plugin](https://npm.io/package/webpack-deadcode-plugin.md) — 80.3K weekly downloads
- [@storybook/preact-vite](https://npm.io/package/@storybook/preact-vite.md) — 54.2K weekly downloads
- [vite-plugin-transform](https://npm.io/package/vite-plugin-transform.md) — 2.4K weekly downloads

## Recent versions

- 1.2.0 (latest) — 2020-03-10
- 1.1.0 — 2019-02-28
- 1.0.1 — 2018-09-11
- 1.0.0 — 2018-02-20
- 0.2.1 — 2018-01-31
- 0.2.0 — 2018-01-15
- 0.1.2 — 2017-07-18
- 0.1.1 — 2017-06-28
- 0.1.0 — 2017-04-10
- 0.0.5 — 2017-03-31
- 0.0.4 — 2017-03-27
- 0.0.3 — 2017-03-01
- 0.0.2 — 2017-02-22
- 0.0.1 — 2017-02-22

## README

[![NPM version](https://img.shields.io/npm/v/esri-wab-build.svg)](https://www.npmjs.com/package/esri-wab-build) [![NPM total download](https://img.shields.io/npm/dt/esri-wab-build.svg)](https://www.npmjs.com/package/esri-wab-build) [![dependencies](https://david-dm.org/Esri/esri-wab-build.svg)](https://david-dm.org/Esri/esri-wab-build) [![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)

# esri-wab-build
Package used to build ESRI Web App Builder Apps for production.

Verified and designed for 2D Apps built using Web App Builder for Developers 2.15.

This task runs a full dojo build on any web app builder application, which will greatly improve performance.

Based largely around the scripts built by Junshan Liu (@qlqllu) at https://github.com/Esri-DevCenter-Beijing/wab-app-build-script

## Requirements:
* Bower (validated with 1.8.0)
  installation : `npm install -g bower`
* Nodejs (validated with 6.9.4)
* Java 7 or greater
* Git

## Warning
If you see an error around dojo-themes, run: ```bower cache clean``` and try again.

## Install and run locally:

### Setup
1. Navigate to the application to be built
2. Create a package.json file (if one does not exist): ```npm init```
3. ```npm install --save-dev esri-wab-build```
4. Add the following to your package.json's scripts object ```"build": "esri-wab-build"``` (Note: an optional parameter can be added to build a remote web app builder app.  For Example:  ```"esri-wab-build C:\arcgis-web-appbuilder-2.7\WebAppBuilderForArcGIS\server\apps\3"```)
5. Any user that downloads your application will now be able to build:

### Build
1. ```npm install```
2. ```npm run build```

The build output will be located in buildOut\app and compressed in buildOut\app.zip

## Install  and run globally:
1. ```npm install -g esri-wab-build```
2. ```esri-wab-build <location-of-app>```

The build output will be located in dist\buildOut\app and compressed in dist\buildOut\app.zip

## Scripting
This tool can be used as a library with the following functions:

* ```remoteBuild.buildApp(buildPath)```
  * Export and build the Web App Builder Application located at ```buildPath``` into a dist directory
  * Note: ```buildPath``` can be an application located in ```<web-app-builder-home>/server/apps/#```
  * Note: this function returns a promise that will provide the outputPath and outputZipPath when the build process is complete.
* ```buildTool.build(buildPath)```
  *  Build the Web App Builder Application located at ```buildPath```
  * Note: this function returns a promise that will provide the outputPath and outputZipPath when the build process is complete.
* ```exportUtils.exportApp(buildPath)```
  * Export the Web App Builder Application located at ```buildPath``` to a dist directory.
  * Note: ```buildPath``` can be an application located in ```<web-app-builder-home>/server/apps/#```

## Issues

Find a bug or want to request a new feature?  Please let us know by submitting an issue.

## Contributing

Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing).

## Licensing
Copyright 2019 Esri

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

A copy of the license is available in the repository's [license.txt](license.txt) file.

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