246 Commits

Author SHA1 Message Date
Iuri Matias
1d6da99e8f display last error found
display last line on tx

fix debugger call

listen to source event only after jumping to the end

keep track of last tx; add minimal debug feature; fix ast issue

initial debugger apis & ui integration

prevent crash when step is out of bounds; send all all available data in websocket

add debugger commands

fix line number tracking in editor; toggle breakpoints

replace timeouts with callbacks

add debugger manager & refactor

refactor debugger api

refactor cmd line debugger

reduce debugger decoupling

reduce debugger decoupling

fix debug buttons

trigger source update so api triggers ws event to update source location

move locals and contracts vars to a json view

improve debugger icons

simplify debugger data

update debug package

add command handler to get a contract given a tx; update debugger so it can get a contract by its tx instead of tracking latest txs only

update debugger package
2018-10-23 18:27:40 -04:00
Jonathan Rainville
c201b6e491 fix ens with no registration 2018-10-23 11:59:43 -04:00
Pascal Precht
853ab2d855
fix: make code compile again after rebase 2018-10-23 11:26:15 +02:00
Iuri Matias
b06d224883
fix services & processes; improve UI 2018-10-23 11:11:58 +02:00
emizzle
d4d7e3b8ac
Addressed PR comments
*Console.js*
- Moved `DEFAULT_PROCESS` const to outside of the `Console` class (but inside the module).
- Removed `(` and `)` from `.filter` in `getProcessLogs()`.
- Updated comments

*logger.js*
- Moved `dateFormat` and `logRegex` to constants outside of `Logger` class
- Moved the `parseLogFile` method inside of the `Logger` class (ES6 style)
- Added a log limit to the `parseLogFile` method
- Added the log path to the constants file and used inside of `Logger`

*cmd_controller.js*
- Defaulted `this.context` to `[constants.context.any]` in the constructor.
- Changed `’embark’` to split modules`coreProcess` and `loggerApi`.

*engine.js*
- Changed `’embark’` to split modules`coreProcess` and `loggerApi`.
2018-10-23 10:57:04 +02:00
emizzle
0760965bda
Overwrite log file so .embark doesn’t bloat
The embark log file is being overwritten each time embark is run. There is a separate log file for each context, so that running, for example, `embark run` then `embark console` doesn’t get the `run` log overwritten with the `console` log.
2018-10-23 10:54:35 +02:00
emizzle
7de72cb474
Addressed PR feedback
- Created an “embark” module so that an “embark” process could be registered in the correct way. This service is only used on `embark run` (can be extended to other commands if needed).

- extracted “embark” to a const `DEFAULT_PROCESS` param in the `Console` component.

- extracted commands result rendering to it’s own function to keep the `renderTabs` function from getting cluttered

- Added sorting of logs by timestamp

- Added milliseconds to the log file data (which helps in sorting log messages).
2018-10-23 10:53:25 +02:00
emizzle
42cc9b559f
Fills embark logs tabs with existing embark logs
A logfile is now generated by default, in the format `.embark/embark-log__YYYY-MM-DD_HH-mm-ss.log`.

When the home tab is loaded, the process logs are fetched for all the processes. The list of processes returned now includes `embark`, and when `/embark-api/process-logs/embark` is fetched, the logFile is parsed and an array of log messages are returned.
2018-10-23 10:52:26 +02:00
Richard Ramos
2c0644b5cb
Changed scaffolding to service 2018-10-23 10:50:37 +02:00
emizzle
25297027c8
Moved ‘authenticator’ module startup to console service 2018-10-23 10:45:51 +02:00
Jonathan Rainville
422a98e172
add basic authentication 2018-10-23 10:41:22 +02:00
Jonathan Rainville
3a6ed745f6
add transactionTracker to track transactions and their time 2018-10-23 10:38:13 +02:00
Iuri Matias
7e96eb661e
define api for profiler 2018-10-23 10:27:39 +02:00
Anthony Laibe
7df9ae66f9
Add blockchain account endpoint 2018-10-23 10:22:37 +02:00
Iuri Matias
4e30ddeb1b
fix rebase issues 2018-10-23 10:21:39 +02:00
Iuri Matias
30f25ef389
clean up 2018-10-23 10:14:03 +02:00
Iuri Matias
bae3ee884d
move code generator to a module 2018-10-23 10:14:03 +02:00
Iuri Matias
f873a26caf
fixes due to bad rebase 2018-10-23 09:57:47 +02:00
Iuri Matias
f02de020de
fixes due to bad rebase 2018-10-23 09:57:47 +02:00
Iuri Matias
db7f3d39d3
first stab at refactor blockchain launcher 2018-10-23 09:55:10 +02:00
Iuri Matias
8ed808a101
fixes due to bad rebase 2018-10-23 09:47:41 +02:00
Iuri Matias
c4ea6abc4b
fixes due to bad rebase 2018-10-23 09:42:59 +02:00
Iuri Matias
2e3102444d
fixes due to bad rebase 2018-10-23 09:42:58 +02:00
Iuri Matias
4406dddf1e
first stab at refactor blockchain launcher 2018-10-23 09:39:02 +02:00
Jonathan Rainville
b6d89d9001
hotfix: fix empty assets array 2018-10-22 20:26:01 +02:00
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
Jonathan Rainville
ac9dbdd1d6
conflict in test 2018-10-22 19:54:46 +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
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
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
Anthony Laibe
dd8c6b9a35
Add missing config
The configuration for test is not passed via the engine
2018-10-22 19:25:16 +02: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
Anthony Laibe
1b242baefd No webserver and no ipc server on console 2018-09-13 09:19:57 +01:00
Subramanian Venkatesan
fe0bbc3559 changes from the code review 2018-09-10 22:38:17 +05:30
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
Subramanian Venkatesan
74f0d05ca0 Plugin Command 2018-09-09 23:07:55 +05:30
Anthony Laibe
c92f6f8865 Fix dynamic IPC 2018-09-05 10:40:37 +01: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
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
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