Solc loading issue now fully resolved

Added better error checking for solidity compilation errors

Extracted timer functionality for downloading packages so it works across the main process and child processes.

Npm class is instantiated only once and reused for event commands.

Npm class can handle concurrent requests for the same package and callback the installation result for each request.
This commit is contained in:
emizzle 2018-06-14 18:09:02 +10:00 committed by Iuri Matias
parent 6033617f5c
commit 5e20f27c99
5 changed files with 149 additions and 5 deletions

147
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,147 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Embark: Mocha All",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"args": [
"--colors",
"--no-timeouts",
"${workspaceFolder}/test/"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"type": "node",
"request": "launch",
"name": "Embark: Mocha Current File",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"args": [
"--colors",
"--no-timeouts",
"${file}"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"type": "node",
"request": "launch",
"name": "Embark: embark test",
"autoAttachChildProcesses": true,
//"preLaunchTask": "npm_install",
"program": "${workspaceFolder}/lib/tests/test_embark",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"type": "node",
"request": "launch",
"name": "Test app: Embark test",
"cwd": "${workspaceFolder}/test_apps/test_app/",
"autoAttachChildProcesses": true,
//"preLaunchTask": "npm_install",
"program": "${workspaceFolder}/bin/embark",
"args": [
"test"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"type": "node",
"request": "launch",
"name": "Test app: Embark new testapp123",
"cwd": "${workspaceFolder}/test_apps/test_app/",
"autoAttachChildProcesses": true,
//"preLaunchTask": "npm_install",
"program": "${workspaceFolder}/bin/embark",
"args": [
"new",
"testapp123"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"type": "node",
"request": "launch",
"name": "Test app: Embark upload",
"cwd": "${workspaceFolder}/test_apps/test_app/",
"autoAttachChildProcesses": true,
//"preLaunchTask": "npm_install",
"program": "${workspaceFolder}/bin/embark",
"args": [
"upload"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"type": "node",
"request": "launch",
"name": "Test app: Embark run",
"cwd": "${workspaceFolder}/test_apps/test_app/",
"autoAttachChildProcesses": true,
//"preLaunchTask": "npm_install",
"program": "${workspaceFolder}/bin/embark",
"args": [
"run",
"--nodashboard"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"type": "node",
"request": "launch",
"name": "Embark demo from main repo: Embark run",
"cwd": "${workspaceFolder}/../../embk-fw/embark/embark_demo/",
"autoAttachChildProcesses": true,
//"preLaunchTask": "npm_install",
"program": "${workspaceFolder}/bin/embark",
"args": [
"run"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"type": "node",
"request": "launch",
"name": "Embark demo from dapp-bin: Embark run",
"cwd": "${workspaceFolder}/../../embk-fw/dapp-bin/embark_demo/",
"autoAttachChildProcesses": false,
//"preLaunchTask": "npm_install",
"program": "${workspaceFolder}/bin/embark",
"args": [
"run",
"--nodashboard"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
},
{
"type": "node",
"request": "launch",
"name": "Embark react routes demo: Embark run",
"cwd": "${workspaceFolder}/../../emizzle/embark-demo-react-routes/",
"autoAttachChildProcesses": true,
//"preLaunchTask": "npm_install",
"program": "${workspaceFolder}/bin/embark",
"args": [
"run"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
}
]
}

View File

@ -68,7 +68,7 @@ let solcProcess;
process.on('message', (msg) => {
if (msg.action === "init") {
solcProcess = new SolcProcess(msg.options);
return this.send({result: "initiated"});
return process.send({result: "initiated"});
}
else if (msg.action === 'loadCompiler') {

View File

@ -62,8 +62,6 @@ class SolcW {
});
this.solcProcess.send({action: "init", options: {logger: self.logger}});
this.solcProcess.send({action: "init", options: {}});
if (this.ipc.isServer()) {
this.ipc.on('compile', self.compile.bind(this));
}

View File

@ -64,8 +64,8 @@ class LibraryManager {
}
listenToCommandsToGetLibrary() {
let npm = new Npm({logger: this.embark.logger});
this.embark.events.setCommandHandler('version:getPackageLocation', (libName, version, cb) => {
let npm = new Npm({logger: this.embark.logger, packageName: libName, version:version});
npm.getPackageVersion(libName, version, cb);
});
this.embark.events.setCommandHandler('version:getPackagePath', (libName, version, cb) => {

View File

@ -31,7 +31,6 @@
"babel-preset-es2017": "6.24.1",
"babel-preset-react": "^6.24.1",
"bip39": "^2.5.0",
"neo-blessed": "^0.2.0",
"chokidar": "^2.0.3",
"clone-deep": "^4.0.0",
"colors": "^1.1.2",