When making `basic-pipeline` in 948956ab1f
we've introduced a regression
and with this fix, a behaviour change as well::
1. The `webpackConfigName` passed to `Engine` is completely ignored, caused it to be
`undefined` down the line when the plugin tries to do its work (we essentially broke bundling)
2. With that configuration being ignored, we need a new way to make this configurable.
Since `basic-pipeline` is now a true plugin, it makes sense for itself to have configuration
options for that, while still providing decent defaults.
3. The trickly thing is that `webpackConfigName` used to have different values per command.
For example `build` used to use `production` while `run` used `development` as config.
4. This commit introduces new configuration options for `basic-pipeline` that lets users configure
the `webpackConfigName` per environment:
```json
// embark.json
{
...
"plugins": {
"embark-basic-pipeline": {
"development": {
webpackConfigName: "development"
},
"production": {
webpackConfigName: "production"
}
}
}
}
```
^ These are also the defaults. So not providing this configuration will make
Embark imply it.
Notice that this does not account for the "different config per command" case.
This means `embark build` will also use `development` by default.
Prior to this commit and the one mentioned above, the `webpackConfigName` was configurable
through the CMD `--pipeline` option. Since this a) no longer a built-in feature
and b) ignored at the moment anyways, I've removed the `--pipeline` options
from all commands as well.
BREAKING CHANGES
The commands `embark eject-webpack` and `embark eject-build-config` are no longer available.
The `--pipeline` option has been removed from all commands that used to support it.
4.9 KiB
title: Embark CLI Commands layout: docs
This is the Embark CLI command reference.
new
$ embark new dappName
Creates a new empty DApp project. If no dappName
is provided, Embark will ask for the dappName.
Option | Description |
---|---|
--contracts-only |
create a barebones project meant only for contract development |
--simple |
an alias for --contracts-only |
--template |
DEPRECATED IN v5 download a template using a known name or a git host URL |
{% notification danger 'DEPRECATION NOTICE' %}
The --template
option has been deprecated in v5 and support will be removed in future versions.
{% endnotification %}
The --template
option supports several URL styles and shortcuts for git hosts:
git@github.com:ghuser/repo_name
https://github.com/ghuser/repo_name
github:ghuser/repo_name
ghuser/repo_name
It's possible to append a branch name to any of the above, for example:
https://github.com/ghuser/repo_name#branch_name
ghuser/repo_name#branch_name
Bitbucket and GitLab URLs and shortcuts are also supported, for example:
bitbucket:bbuser/repo_name#branch_name
gitlab:gluser/repo_name#branch_name
A short name can be used for templates maintained in the Embark GitHub organization, for example:
$ embark new --template typescript
demo
$ embark demo
Generates a demo Embark Project with a working contract and examples of working with contracts, IPFS and Whisper.
build
$ embark build [environment]
Deploys and Builds the DApp at dist/. If no environment
is provider embark will use development
by default.
run
$ embark run [environment]
Deploys and Builds the DApp at dist/
. By default will launch a dashboard and start a dev server at http://localhost:8000/
. If no environment
is provider embark will use development
by default.
Option | Description |
---|---|
-p , --port |
port to run the dev webserver (default: 8000) |
-b , --host |
host to run the dev webserver (default: localhost) |
--noserver |
disable the development webserver |
--nodashboard |
simple mode, disables the dashboard |
--nobrowser |
prevent the development webserver from automatically opening a web browser |
--no-color |
no colors in case it's needed for compatbility purposes |
--logfile |
filename to output logs (default: none) |
blockchain
$ embark blockchain [environment]
Takes the config at config/blockchain.json
for the environment
specified and starts a blockchain node. If no environment
is provider embark will use development
by default.
If you want, you can skip the step of running embark blockchain
, as embark run
, build
and upload
now all start a blockchain node in a separate process if there is not one already started using the same configurations.
simulator
$ embark simulator [environment]
Takes the config at config/blockchain.json
for the environment
specified and starts a blockchain simulator. If no environment
is provider embark will use development
by default.
Option | Description |
---|---|
-p , --port |
port to run the rpc simulator (default: 8545) |
-h , --host |
host to run the rpc simulator (default: localhost) |
-a , --accounts |
num of accounts to start the simulator (default: 10) |
-e , --defaultBalanceEther |
balance in ether to assign each test account (default: 100) |
-l , --gasLimit |
custom gasLimit (default: 8000000) |
test
$ embark test [file]
Runs Tests. If file
is not specified then it will run all the tests inside the test/
directory.
Option | Description |
---|---|
-n , --node |
node for running the tests (default: vm) |
-d , --gasDetails |
print the gas cost for each contract deployment when running the tests |
-c , --coverage |
generate a coverage report after running the tests (vm only) |
The --node
option supports several values:
Value | Description |
---|---|
vm |
start and use an Ethereum simulator (ganache) |
embark |
use the node of a running embark process |
<endpoint> |
connect to and use the specified node |
Example of endpoint usage: embark test --node ws://localhost:8556
reset
$ embark reset
Resets embarks state on this dapp including clearing cache.
exec
$ embark exec [environment] [file|directory]
Executes a given (migration) script to perform complex after deployment operations.
It's required to specifiy the environment
in which the script(s) will be executed in. In addition it's possible to specificy a directory in which multiple script live in. Embark will execute them one by one.
upload
$ embark upload [platform] [environment]
Uploads the DApp to a decentralized storage such as IPFS. platform
can be ipfs
or swarm
or another parameter if supported by a plugin. If no environment
is provider embark will use development
by default.
graph
$ embark graph
Generates documentation based on the smart contracts configured
version
$ embark version
Displays version information.