Embark 2.3.0 - Plugins, Plugins, Plugins and more!
To Update to 2.2.0
important
Embark's npm package has changed from embark-framework
to embark
, this sometimes can create conflicts. To update, first uninstall embark-framework 1 to avoid any conflicts with npm uninstall -g embark-framework
followed by npm install -g embark
to update from 2.2.4:
npm install -g embark@2.3
afterwards make sure embark version
returns 2.3.0
. You may want to add "plugins": {}
to embark.json
In this release
Plugin support for extending functionality
Embarks functionality can now be extended through the use of plugins. You can develop your own or use existing plugins to add new functionality. Examples of possible functionality plugins can provide include:
- support for ES6, JSX, Coffeescript, Sass, etc..
- support for new compilers including Viper and LLL.
- support for contract frameworks or standard contracts (for e.g a plugin for Dappsys)
- support for different web3 libraries or providers (e.g Infura)
- plugins that implement new decentralized services, new console commands, contract wrappers, etc..
among many other possible functionality. For more information on how to develop your own plugins please see the plugin documentation. If you want to develop your own plugin and need help don't hesitate to join us at embarks gitter channel
To use a plugin
For example, to use a plugin that adds ES6 and JSX support:
- Add the npm package to package.json e.g npm install embark-babel --save
- Then add the package to plugins: in embark.json e.g "plugins": { "embark-babel": {} }
Then restart embark, and now you can use ES6 javascript code and JSX templates for your react application.
Update to Embark Demo
The embark demo
command was at the time Embark was first released a milestone in the DApp development world, at a time in which there doubts if Ethereum was even possible, here it was a super simple and quick way to get a dapp up and running using a real blockchain.
It was long overdue for a re-paint and Embark new functionality was also missing from it. So It has now been updated to include Embarks support for Decentralized Storage and Decentralized Communication layers. In the sample you can save and load data from IPFS, upload and retrives files, as well as send messages in a P2P manner through Whisper.
Documentation
The new documentation for embark is being worked on and available at https://embark.readthedocs.io/en/latest/. If you wish to help out don't hesitate to do a PR or contact me at our gitter channel.
Test Environment
The test enviroment has been updated, some previous issues have been fixed, and it also supports the new plugin functionality. If you use the test functionality it's recommended that you update to node 6.9.1 and testrpc 3.0.3. Ethersim is not longer supported as explained here
Misc Bugfixes and Improvements
- Improved automatic gas calculation when deploying a contract.
- In embark.json specifying a directory now copies each of the files to that directory. e.g
"images/": ["app/images/**"],
- Made EmbarkJS.Messages.sendMessage an async call for whisper (previously it was sync and it would hang until the message was sent)
- Added `stop()
method to stop listening to a channel. e.g
var listener = EmbarkJS.Messages.listenTo({topic: ["topic1"]});``you can now do``listener.stop()`` - Improved output messages for certain embark commands
- Clarified which environment to specify when deploying to live net (i.e it's livenet not production)
Chatroom
To discuss about Embark or Dapp development, please join us at the gitter channel
Donations
If you like Embark please consider donating to 0xFA239D14c7117C3D2370B2a4c4238534391fadd9