@node-elion/builder
Version:
Super scalable enterprise Node.js server library
85 lines (60 loc) • 5.25 kB
Markdown
[](https://www.npmjs.com/package/@node-elion/builder)
[](https://npmjs.org/package/@node-elion/builder)
[](https://npmjs.org/package/@node-elion/builder)
[](https://snyk.io/test/github/elion-project/builder)
[](https://sonarcloud.io/summary/new_code?id=elion-project_builder)
# @node-elion/builder
This package is part of the [Elion project](https://github.com/elion-project).
This package was created to be able quickly and painlessly build `js/ts` files while ignoring problems
with `commonJS/ESM` modules. To get started, you just need to install this package and change the project's build
configuration
## Installation
Install `@node-elion/builder` with npm
> This package is recommended to be installed as a dev dependency
```shell
npm i --save-dev @node-elion/builder
```
## Usage
Update `package.json` to be able to use `@node-elion/builder` package:
```json5
/* package.json */
{
/*...*/
"scripts": {
"start": "ebi start",
"build": "ebi build"
}
/*...*/
}
```
## CLI commands
### `ebi start`
| parameter | alias | type | default | description |
|------------------------:|:-----:|:----------:|:--------------:|-----------------------------------------------------------------------------------------------------------------------|
| `--entry` | `-e` | `string` | `src/index.js` | sets entry to your application. This is usually the root file, in which all necessary processes are imported and run. |
| `--assets-folder` | `-a` | `string ` | `src/assets` | files (like`.tf` or `.json` etc.) that should be stored in raw format |
| `--plugin` | `-p` | `string[]` | `[]` | Builder plugins |
| `--plugin-config` | `-l` | `string[]` | `[]` | Plugin config |
| `--plugins-config-file` | `-c` | `string` | | Plugin config file (should be `.json` format) |
| `--debug` | `-d` | `boolean` | `false` | pass Inspect argument (`--inspect`) to started process |
| `--build-folder` | `-b` | `string` | `./.devbuild` | Folder, where built files will be stored (you can use `tmp` for in order to use the temporary folder of your device) |
### `ebi build`
| parameter | alias | type | default | description |
|------------------------:|:-----:|:----------:|:--------------:|-----------------------------------------------------------------------------------------------------------------------|
| `--entry` | `-e` | `string` | `src/index.js` | sets entry to your application. This is usually the root file, in which all necessary processes are imported and run. |
| `--assets-folder` | `-a` | `string ` | `src/assets` | files (like`.tf` or `.json` etc.) that should be stored in raw format |
| `--plugin` | `-p` | `string[]` | `[]` | Builder plugins |
| `--plugin-config` | `-l` | `string[]` | `[]` | Plugin config |
| `--plugins-config-file` | `-c` | `string` | | Plugin config file (should be `.json` format) |
| `--build-folder` | `-b` | `string` | `./build` | Folder, where built files will be stored |
| `--keep-classnames` | | `boolean` | `false` | Keep classnames in production build |
## Examples
Check the **[examples](./examples)** folder for a better understanding of how the loader works
## Contributing
Contributions are always welcome!
See [CONTRIBUTING.md](./CONTRIBUTING.md) for ways to get started.
## Acknowledgements
- [webpack](https://github.com/webpack/webpack)
- [esbuild](https://esbuild.github.io/)
## License
[MIT](https://choosealicense.com/licenses/mit/)