Commit Graph

661 Commits

Author SHA1 Message Date
emizzle 7c9d90090a
Replaced async.queue with async.cargo
Cargo in fact, bundles up subsequent tasks in to an array, so any tasks that are not immediately run get bundled in to another run later. This helps when lots of changes have been made in a short period of time.
2018-10-22 19:54:49 +02:00
emizzle e788b7d3d4
Reduce async.queue concurrency to 3
Due to a process being spawned for every pipeline run, concurrency should remain around 3 to keep number of child processes from running away and allowing the CPU to stay on top.
2018-10-22 19:54:49 +02:00
emizzle 91e5e9c990
Do not run webpack for file changes that do not need webpack
For file changes that do not require a webpack run, ie HTML, the assets will still be copied to the output directory, but webpack will not run (as it’s too slow).
2018-10-22 19:54:48 +02:00
emizzle 7e75b1eee7
Add support for ES6 plugins 2018-10-22 19:54:48 +02:00
emizzle 2d19d12e39
Support for embark-status plugin
Added request to update cors from a plugin (affects blockchain client and storage client).
2018-10-22 19:54:48 +02:00
Jonathan Rainville ce3f9bdf25
fix a couple of bugs caused by bounties 2018-10-22 19:54:48 +02:00
Jonathan Rainville 7a70f5df26
use constants instead of magic numbers 2018-10-22 19:54:47 +02:00
Jonathan Rainville fe0b84349a
update noserver and nobrowser and fix noserver 2018-10-22 19:54:47 +02:00
Jonathan Rainville ac9dbdd1d6
conflict in test 2018-10-22 19:54:46 +02:00
Jonathan Rainville ac155ddb86
conflict in specialconfigs 2018-10-22 19:54:46 +02:00
Jonathan Rainville f4d7636b7a
make code coverage work with refactored tests 2018-10-22 19:54:45 +02:00
Jonathan Rainville ddc8b36329
make tests work by using events 2018-10-22 19:54:45 +02:00
Jonathan Rainville ca3aea7923
BROKEN: solc doesnt load 2018-10-22 19:54:45 +02:00
Jonathan Rainville e8574f33eb
conflict in run_tests 2018-10-22 19:54:44 +02:00
Dan Lipert 898ecfe293
Accept standard Ether units and update/add tests 2018-10-22 19:54:43 +02:00
Subramanian Venkatesan f686fec74a
ens resolve 2018-10-22 19:53:50 +02:00
Giuseppe Bertone 81e798c89c
Add support for Parity
Addons
 - New chain initialization and genesis management
 - Option to choose client to use
 - Option to "ping forever" for Geth
 - Creation and unlock of accounts at client's start
 - Utility to fund accounts with ethers
 - Miner settings inside the ethereum client
 - Workaround to CORS problem: origin is now http://embark
 - Several double callback's checks

Updates
 - Boilerplate, templates, configuration files and demo stuff
 - Messages and i18n strings
 - Tests

Fixes
 - Geth client now uses miner.gastarget instead of the deprecated targetGasLimit
 - Workaround for shh_version with Parity

Reworks of other PRs into the new code
 - Included delayed proxy
 - Send ready only when the proxy is started
 - Start HTTP and WS proxies individually
 - Async setupProxy
 - Fixed datadir for GethMiner
2018-10-22 19:53:49 +02:00
Pascal Precht 80c80e9beb
fix(commands/build): don't start blockchain node when `--contracts` is used
Prior to this commit `$ embark build --contracts` spinned up a blockchain node
which is not necessary as `--contracts` can be seen as a "compile only" option.

This commit ensures we don't start any web3 services with `--contracts` is used.
2018-10-22 19:40:52 +02:00
Michael Bradley, Jr fd856f8163
PKG_PATH, pkgPath 2018-10-22 19:39:26 +02:00
hodlbank f41bcd55d6
[f] Fix for #971 - "Fatal error when Ethereum node going offline".
[a] Added .once() into Events.
2018-10-22 19:39:26 +02:00
Pascal Precht d34428a129
refactor(modules/pipeline/webpackProcess): load pipeline config in Config class
to configure pipeline specific options like TypeScript support.

At the time this has been added, `core/config` didn't handle the loading
of configuration files for pipeline related tasks yet.

This commit ensures a dapp's `pipeline.json` will be loaded and used to
configure Embark's webpack process as part of Embark's `Config` initialization.
2018-10-22 19:35:59 +02:00
Pascal Precht 71e92358a8
feat(modules/watcher): introduce watcher plugin module
As part of a bigger refactoring to make Embark's build pipeline pluggable,
this commit moves the watcher into its own plugin module so it can be
consumed via Embark's event bus.

It also introduces new command handlers for all watcher related APIs respectively:

- watcher:start
- watcher:stop
- watcher:restart
2018-10-22 19:35:58 +02:00
Pascal Precht a0ef234fea
feat(modules/pipeline): move pipeline into its own module plugin
This is the first step of refactoring Embark's pipeline abstraction into
dedicated plugin modules that take advantage of Embark's event system.

With this commit we're moving `Pipeline` into `lib/modules/pipeline` and
introduce a new command handler `pipeline:build`. Embark's engine now
requests builds via this command handler.

Notice that `Watch` still lives in `lib/pipeline` as this is a step-by-step
refactoring to reduce chances of introducing regressions.
2018-10-22 19:35:58 +02:00
Michael Bradley, Jr 09734d7879
call path.basename w/ extension name to avoid e.g. `.js.1.js` 2018-10-22 19:35:56 +02:00
Michael Bradley, Jr ae878fd7c8
extract copy/preserve logic into a helper in lib/core/fs
preserved files should end with <number>.<ext> vs. <ext>.<number>
2018-10-22 19:35:55 +02:00
Jonathan Rainville 0c0624e463
conflict in ens index 2018-10-22 19:35:03 +02:00
emizzle 381cdaa57a
fixed windows paths 2018-10-22 19:25:20 +02:00
emizzle 743c4fa8cb
Update “no account” message and hide for infura
The “no account” message was appearing when using infura as the contract deploy target. This has been changed so that this message will only show when the user has configured their environment to have a `networkType` of `testnet`, `rinkeby`, or `mainnet` and a missing `account` address and/or password.

Additionally, the warning message has been updated to help the user resolve the issue.

A flag has also been added to prevent the message from appearing multiple times.
2018-10-22 19:25:20 +02:00
bakaoh 109152730f
Add remapping when parse file to support embark-solc 2018-10-22 19:25:19 +02:00
Evgeniy Filatov f79834a30d
extracted hardcoded string in constant 2018-10-22 19:25:17 +02:00
Evgeniy Filatov 517365353b
improved error message when there is issue communicating with node 2018-10-22 19:25:17 +02:00
Anthony Laibe dd8c6b9a35
Add missing config
The configuration for test is not passed via the engine
2018-10-22 19:25:16 +02:00
Iuri Matias 24d661a65e fix blockchain defaults for config-less dapps 2018-09-28 16:32:37 -04:00
Iuri Matias 904c716d89
Merge pull request #856 from embark-framework/features/config-browser-open
cli and config options for browser auto-open
2018-09-18 13:11:55 -04:00
Anthony Laibe 6fe3db4235 Fix typo 2018-09-18 09:42:46 +01:00
Michael Bradley, Jr 1b7aed8b80 openBrowser config option 2018-09-17 17:59:52 -05:00
Michael Bradley, Jr c360975e8f webServer svc doesn't need to handle cli opts (handled in core/config) 2018-09-17 17:59:52 -05:00
Iuri Matias d6f1925cec
Merge pull request #849 from embark-framework/bugfix/better-support-for-await
Better support for await
2018-09-17 14:11:20 -04:00
Anthony Laibe 3a210f602b Better support for await 2018-09-17 09:57:51 +01:00
emizzle 31d3125baf Fix for embark run crashing after console connects to it
The providerUrl being provided to the console VM was looking for a WebsocketProvider-specific property which did not exist on the HttpProvider.

Type checking was added to provide the necessary type-dependent property.
2018-09-17 13:03:55 +10:00
Iuri Matias b53eb11285
Merge pull request #833 from embark-framework/bug_fix/http-inception
Fix contracts with http import inceptions
2018-09-14 18:15:52 -04:00
Iuri Matias 9b2fa9402b
Merge pull request #822 from embark-framework/bugfix/circular-json
Fix circular JSON and swarm api require
2018-09-14 18:11:34 -04:00
Iuri Matias 8b28bb9691
Merge pull request #830 from embark-framework/feature/process-wrapper-options
Better manage default options
2018-09-14 18:09:41 -04:00
Jonathan Rainville fc0825aeca set downloaded flag at the very end 2018-09-14 11:50:24 -04:00
Anthony Laibe 2c30271d29 please linter 2018-09-14 10:30:20 +01:00
Anthony Laibe ab859d4ef5 Better manage default options 2018-09-14 10:17:01 +01:00
Jonathan Rainville 43a9640297 add option to generate the coverage 2018-09-13 14:30:15 -04:00
Anthony Laibe c22901ab95 Fix circular JSON and swarm api require 2018-09-13 11:21:17 +01:00
Anthony Laibe 1b242baefd No webserver and no ipc server on console 2018-09-13 09:19:57 +01:00
Iuri Matias 53e3136ac6
Merge pull request #821 from embark-framework/bug_fix/double-import
Fix double http import
2018-09-12 18:53:54 -04:00
Iuri Matias dfe49291be
Merge pull request #797 from subramanianv/pluginCmd
Plugin cmd
2018-09-12 17:57:18 -04:00
Jonathan Rainville a4400a303d fix double import by using newContent 2018-09-12 14:08:00 -04:00
Anthony Laibe da0b2f4e66
Merge pull request #806 from embark-framework/feature/new-repl-command
Adding new repl options
2018-09-12 15:07:45 +01:00
Jonathan Rainville b34174738c
Merge pull request #814 from embark-framework/bugfix/ens-without-config-no-crash
Prevent embark to crash when there is no config for ens
2018-09-12 10:01:26 -04:00
Anthony Laibe e08892664f Adding new repl options 2018-09-12 15:00:55 +01:00
Anthony Laibe 5f90b4516c Ens disabled by default 2018-09-12 14:01:21 +01:00
Subramanian Venkatesan fe0bbc3559 changes from the code review 2018-09-10 22:38:17 +05:30
Anthony Laibe 16c870ac34 Use error logger 2018-09-10 13:57:54 +01:00
Subramanian Venkatesan 53de6dcb19 Fixes to npm command parsing 2018-09-10 16:19:37 +05:30
Subramanian Venkatesan cb751b5213 install npm package using shell.js 2018-09-10 14:01:36 +05:30
Anthony Laibe b41bcbbe17 Use trace logger for code runner error 2018-09-10 09:26:37 +01:00
Subramanian Venkatesan 74f0d05ca0 Plugin Command 2018-09-09 23:07:55 +05:30
Jonathan Rainville 3d37fe6362 catch webserver config and restart it 2018-09-07 14:54:15 -04:00
Anthony Laibe 5957be9571 Avoid Solc to die because of compilation 2018-09-06 11:24:29 +01:00
Iuri Matias 48a3d70df2
Merge pull request #785 from embark-framework/bug_fix/no-warning-dev
No accounts warning in development
2018-09-05 18:22:09 -04:00
Iuri Matias 428820f2c6
Merge pull request #781 from embark-framework/bug_fix/no-webserver-if-false
Do not start webserver if set to false in embark.json
2018-09-05 18:20:31 -04:00
Jonathan Rainville 55bb028a13 add test too 2018-09-05 12:35:45 -04:00
Jonathan Rainville 3991880b44 no warning in development 2018-09-05 09:45:34 -04:00
Anthony Laibe c92f6f8865 Fix dynamic IPC 2018-09-05 10:40:37 +01:00
Jonathan Rainville e925200592 disable webserver if false 2018-09-04 16:44:42 -04:00
Iuri Matias bf8183cf76
Merge pull request #778 from embark-framework/fix_deploy
Fix issue with changes in config file not causing a proper reload
2018-09-04 14:02:54 -04:00
Iuri Matias c3f7c58b8d delete require cache for config file so configs are actually reloaded 2018-09-03 14:01:46 -04:00
Michael Bradley, Jr 1d38af1f58 expose buildDir to webserver in same manner as its done for pipeline 2018-09-03 10:17:45 -05:00
Jonathan Rainville 3e89729331 conflict with indents 2018-08-31 08:46:08 -04:00
Iuri Matias a1c2d7e77a
Merge pull request #756 from embark-framework/feature/console-ipc-server-client
Console can be a client or server ipc
2018-08-31 07:58:55 -04:00
Iuri Matias f0221bbb10
Merge pull request #755 from embark-framework/chores/es-lint-no-else
Enable no-else-return
2018-08-31 07:49:25 -04:00
Iuri Matias 46076c8d4e
Merge pull request #751 from embark-framework/feature/embarkjs-console
Feature/embarkjs console
2018-08-31 07:46:54 -04:00
Anthony Laibe e0f73c7d22 Make console a module 2018-08-31 09:36:50 +01:00
Andre Medeiros bb92582c0a Fix passing compiler options 2018-08-30 16:11:42 -04:00
Anthony Laibe 59e82d5fc6 Console can be a client or server ipc 2018-08-30 15:45:01 +01:00
Anthony Laibe df651865c1 Enable no-else-return 2018-08-30 14:53:04 +01:00
Anthony Laibe 31cb79bf5b PR feedback 2018-08-30 10:41:13 +01:00
Anthony Laibe 98c785a4bb Fix register var and runcode 2018-08-30 10:04:58 +01:00
Anthony Laibe cc312a91b6 Refactor code runner 2018-08-30 10:04:58 +01:00
Anthony Laibe deb433c0fb Fix ens enabled 2018-08-30 10:04:58 +01:00
Anthony Laibe 0a261b050d Name available in console 2018-08-30 10:04:58 +01:00
Anthony Laibe a8c5205b67 Extract global and web3js 2018-08-30 10:04:58 +01:00
Anthony Laibe 83c01cffdc Storage and Whisper connect 2018-08-30 10:04:58 +01:00
Anthony Laibe 00ccad1d9b Fix isavailable 2018-08-30 10:04:58 +01:00
Anthony Laibe 6c63179fa1 Fix lint 2018-08-30 10:04:58 +01:00
Anthony Laibe 6a2b91d99b Add console/require to codeRunner 2018-08-30 10:04:58 +01:00
Anthony Laibe 307b7dc8e7 EmbarkJS available 2018-08-30 10:04:58 +01:00
Anthony Laibe d772b4fdaf Add embarkjs to console 2018-08-30 10:04:58 +01:00
Iuri Matias 7eb52c1f8f
Merge pull request #735 from embark-framework/bugfix/allow-zero-config-blockchain
Allow zero config in blockchain
2018-08-29 17:33:15 -04:00
Anthony Laibe fdd2d10d38 Add warning 2018-08-28 09:32:39 +01:00
Anthony Laibe 23f7ec396a Allow zero config in blockchain 2018-08-27 10:06:37 +01:00
Michael Bradley, Jr f1edc28f6d anchoredPath helper (more DRY) 2018-08-24 15:04:16 -05:00
Michael Bradley, Jr 53a4fd2089 rm redundant setup of env vars 2018-08-24 15:04:16 -05:00
Michael Bradley, Jr f0f95554a5 prefer fs.dappPath 2018-08-24 15:04:16 -05:00
Michael Bradley, Jr 8be1090a44 prefer joinPath to +'ing strings together 2018-08-24 15:04:16 -05:00
Michael Bradley, Jr 40c14a08de whitespace 2018-08-24 15:04:16 -05:00
Michael Bradley, Jr 019f0b68c8 anchor fs.dappPath, fs.embarkPath to env vars setup in cmd.js 2018-08-24 15:04:16 -05:00
Michael Bradley, Jr c60d26e258 make fs.embarkPath more flexible 2018-08-24 15:04:15 -05:00
Michael Bradley, Jr b41f5a397d --pipeline option for `ebmark build|run` to spec webpack config name 2018-08-24 15:04:15 -05:00
Iuri Matias 864b41a2c2
Merge pull request #745 from embark-framework/deployIf
deployIf field + minor refactor
2018-08-24 10:33:58 -04:00
Iuri Matias ffbd39882a remove isTest 2018-08-24 09:25:47 -04:00
Anthony Laibe de57e48cff Isolate the code runner 2018-08-24 14:05:19 +01:00
Iuri Matias 8f5b47adf4 add deployIf directive support 2018-08-23 18:00:52 -04:00
Iuri Matias a56431d19a refactor run actions for events to a reduce; add initial plug for shouldDeploy using deployIf 2018-08-23 16:25:28 -04:00
Michael Bradley, Jr 1a3e1a18df use console.warn and yellow text for locale fallback msg 2018-08-23 15:00:25 -05:00
Michael Bradley, Jr 72c1a9cd4c fix locale detection so it works w/ env var and/or --locale 2018-08-23 14:51:33 -05:00
Iuri Matias 5fe86e35d1
Merge pull request #736 from embark-framework/features/test-node-option
Add --node option for tests
2018-08-23 15:07:10 -04:00
Iuri Matias 7da523b48c
Merge pull request #737 from embark-framework/i18n_updates
I18n updates
2018-08-23 15:05:26 -04:00
Iuri Matias 7bd3202ad5
Merge pull request #731 from embark-framework/features/await-console
simple implementation of await in the console
2018-08-23 14:53:13 -04:00
Iuri Matias 20cabeff84 update i18n 2018-08-23 14:16:31 -04:00
Iuri Matias 4a5c53b43a update i18n 2018-08-23 13:53:18 -04:00
Jonathan Rainville c6abafff05 fix printing 2018-08-23 13:38:58 -04:00
Jonathan Rainville 86f1cf51d2 enable node=embark 2018-08-23 12:54:43 -04:00
Jonathan Rainville 326e12d23a fix one with variable 2018-08-22 14:23:23 -04:00
Jonathan Rainville a0b06c6197 make it work with variables too 2018-08-22 14:09:10 -04:00
Jonathan Rainville 8ebe55f457 simple implementation of await 2018-08-22 11:32:15 -04:00
Jonathan Rainville 128620e281 remove double registerModule 2018-08-22 10:56:09 -04:00
Iuri Matias 9d72030cff remove empty liens 2018-08-21 16:11:07 -04:00
Iuri Matias a55ff613bf fix config 2018-08-21 16:11:07 -04:00
Iuri Matias 6ae697f36a add solc options 2018-08-21 16:11:07 -04:00
Anthony Laibe ecf7bfad76 Do not exit 2018-08-21 16:11:07 -04:00
Anthony Laibe b3ed3d0379 Do not hang if process crash 2018-08-21 16:11:07 -04:00
Anthony Laibe 95c23f64b3 Update name 2018-08-21 16:11:06 -04:00
Anthony Laibe a7b0cea09b Console via IPC do not run on deploy 2018-08-21 16:10:22 -04:00
Anthony Laibe a59cc29d39 IPC works with errors, console print errors 2018-08-21 16:10:22 -04:00
Anthony Laibe dd8658a59a Reload config when a file is added/removed 2018-08-21 16:10:22 -04:00
Iuri Matias 6cf6bcfff5 add spanish locale 2018-08-21 16:10:22 -04:00
Anthony Laibe 0924f2dfd0 Apply feedback 2018-08-21 16:09:48 -04:00
Anthony Laibe 27933774a9 Console command connect to ipc 2018-08-21 16:09:48 -04:00
Andre Medeiros 253d3dd57c wip 2018-08-21 16:09:13 -04:00
Jonathan Rainville c225d97e4b fix reload file removing plugins 2018-08-21 16:07:59 -04:00
Iuri Matias dfbff4466f rename module 2018-08-21 16:07:58 -04:00
Iuri Matias 53d944e801 move contracts manager to its own module 2018-08-21 16:07:58 -04:00
Anthony Laibe 326a730969 Fix connection to IPC
- Make sure the folder .embark exist otherwise the first time there is a
run, the connection abort
- Fix the number of args in the callback function
2018-08-21 16:07:58 -04:00
Jonathan Rainville 363608287f fixes and linting 2018-08-21 16:05:59 -04:00
Iuri Matias 3a15804fda remove engine param 2018-08-21 16:05:58 -04:00
Iuri Matias 29b0d01f22 move processes into core 2018-08-21 16:04:22 -04:00
Iuri Matias 46f5760c18 move intercept logs to utils 2018-08-21 16:04:22 -04:00
Iuri Matias 4919114f36 move blockchain connection code to its own module 2018-08-21 16:04:22 -04:00
Iuri Matias 567b0c75b8 get blockchain object from event bus 2018-08-21 16:04:22 -04:00
Iuri Matias 62fad583da don't pass web3 object to whisper module since it uses its own 2018-08-21 16:04:22 -04:00
Iuri Matias 9526e61652 rename blockchain connector 2018-08-21 16:04:22 -04:00
Iuri Matias 93a9a3065f clean up 2018-08-21 16:04:22 -04:00
Iuri Matias 0c9dc48362 move code generator to a module 2018-08-21 16:04:22 -04:00
Iuri Matias 40e58dbcf2 move deployment to a module 2018-08-21 16:03:35 -04:00