diff --git a/apps/remix-ide-e2e/src/tests/fileManager_api.test.ts b/apps/remix-ide-e2e/src/tests/fileManager_api.test.ts index ea48ae6f47e..2f822f735be 100644 --- a/apps/remix-ide-e2e/src/tests/fileManager_api.test.ts +++ b/apps/remix-ide-e2e/src/tests/fileManager_api.test.ts @@ -12,7 +12,7 @@ module.exports = { browser .addFile('file.js', { content: executeFile }) .executeScript(`remix.exeCurrent()`) - .pause(2000) + .pause(5000) .journalLastChildIncludes('browser/file.js') }, diff --git a/apps/remix-ide-e2e/src/tests/pluginManager.test.ts b/apps/remix-ide-e2e/src/tests/pluginManager.test.ts index 037b24e1685..eb8422e156b 100644 --- a/apps/remix-ide-e2e/src/tests/pluginManager.test.ts +++ b/apps/remix-ide-e2e/src/tests/pluginManager.test.ts @@ -6,7 +6,7 @@ import sauce from './sauce' const testData = { pluginName: 'remixIde', pluginDisplayName: 'Remix IDE', - pluginUrl: 'https://remix-project.org/' + pluginUrl: 'https://zokrates-remix-plugin.netlify.app/' } module.exports = { @@ -44,6 +44,7 @@ module.exports = { browser.waitForElementVisible('*[data-id="pluginManagerComponentPluginManager"]') .click('*[data-id="pluginManagerComponentPluginManager"]') .scrollAndClick('*[data-id="pluginManagerComponentActivateButtondebugger"]') + .pause(2000) .waitForElementVisible('*[data-id="pluginManagerComponentDeactivateButtondebugger"]') .scrollAndClick('*[data-id="pluginManagerComponentActivateButtonvyper"]') .waitForElementVisible('*[data-id="pluginManagerComponentDeactivateButtonvyper"]') @@ -54,8 +55,11 @@ module.exports = { 'Should deactivate plugins': function (browser: NightwatchBrowser) { browser.waitForElementVisible('*[data-id="pluginManagerComponentPluginManager"]') .click('*[data-id="pluginManagerComponentPluginManager"]') - .scrollAndClick('*[data-id="pluginManagerComponentDeactivateButtondebugger"]') + .waitForElementVisible('*[data-id="pluginManagerComponentDeactivateButtondebugger"]') + .pause(2000) + .scrollAndClick('*[data-id="pluginManagerComponentDeactivateButtondebugger"]') .waitForElementVisible('*[data-id="pluginManagerComponentActivateButtondebugger"]') + .waitForElementVisible('*[data-id="pluginManagerComponentDeactivateButtonvyper"]') .scrollAndClick('*[data-id="pluginManagerComponentDeactivateButtonvyper"]') .waitForElementVisible('*[data-id="pluginManagerComponentActivateButtonvyper"]') }, diff --git a/apps/remix-ide/src/app.js b/apps/remix-ide/src/app.js index be828f3c1db..bada05e33c8 100644 --- a/apps/remix-ide/src/app.js +++ b/apps/remix-ide/src/app.js @@ -4,7 +4,7 @@ import { basicLogo } from './app/ui/svgLogo' import { RunTab, makeUdapp } from './app/udapp' import PanelsResize from './lib/panels-resize' -import { Engine } from '@remixproject/engine' +import { RemixEngine } from './remixEngine' import { RemixAppManager } from './remixAppManager' import { FramingService } from './framingService' import { MainView } from './app/panels/main-view' @@ -231,13 +231,8 @@ Please make a backup of your contracts and start using http://remix.ethereum.org const appManager = self.appManager const pluginLoader = appManager.pluginLoader const workspace = pluginLoader.get() - const engine = new Engine(appManager) - engine.setPluginOption = ({ name, kind }) => { - if (kind === 'provider') return { queueTimeout: 60000 * 2 } - if (name === 'LearnEth') return { queueTimeout: 60000 } - return { queueTimeout: 10000 } - } - await engine.onload() + const engine = new RemixEngine() + engine.register(appManager) // SERVICES // ----------------- import content servive ------------------------ @@ -401,17 +396,17 @@ Please make a backup of your contracts and start using http://remix.ethereum.org await appManager.activatePlugin(['contentImport', 'theme', 'editor', 'fileManager', 'compilerMetadata', 'compilerArtefacts', 'network', 'web3Provider', 'offsetToLineColumnConverter']) await appManager.activatePlugin(['mainPanel', 'menuicons']) await appManager.activatePlugin(['sidePanel']) // activating host plugin separately - await appManager.activatePlugin(['home', 'hiddenPanel', 'pluginManager', 'fileExplorers', 'settings', 'contextualListener', 'scriptRunner', 'terminal', 'fetchAndCompile']) + await appManager.activatePlugin(['home', 'hiddenPanel', 'pluginManager', 'fileExplorers', 'settings', 'contextualListener', 'terminal', 'fetchAndCompile']) const queryParams = new QueryParams() const params = queryParams.get() // Set workspace after initial activation if (Array.isArray(workspace)) { - appManager.activatePlugin(workspace).then(() => { + appManager.activatePlugin(workspace).then(async () => { try { if (params.deactivate) { - appManager.deactivatePlugin(params.deactivate.split(',')) + await appManager.deactivatePlugin(params.deactivate.split(',')) } } catch (e) { console.log(e) @@ -425,9 +420,7 @@ Please make a backup of your contracts and start using http://remix.ethereum.org if (callDetails.length > 1) { toolTip(`initiating ${callDetails[0]} ...`) // @todo(remove the timeout when activatePlugin is on 0.3.0) - setTimeout(() => { - appManager.call(...callDetails).catch(console.error) - }, 5000) + appManager.call(...callDetails).catch(console.error) } } }).catch(console.error) diff --git a/apps/remix-ide/src/app/components/panel.js b/apps/remix-ide/src/app/components/panel.js index 91b1c07e852..3567fa84ec9 100644 --- a/apps/remix-ide/src/app/components/panel.js +++ b/apps/remix-ide/src/app/components/panel.js @@ -1,5 +1,5 @@ import { EventEmitter } from 'events' -import { HostPlugin } from '@remixproject/engine' +import { HostPlugin } from '@remixproject/engine-web' const csjs = require('csjs-inject') const yo = require('yo-yo') diff --git a/apps/remix-ide/src/app/components/plugin-manager-component.js b/apps/remix-ide/src/app/components/plugin-manager-component.js index 556a8df5b32..5377e231fed 100644 --- a/apps/remix-ide/src/app/components/plugin-manager-component.js +++ b/apps/remix-ide/src/app/components/plugin-manager-component.js @@ -1,4 +1,4 @@ -import { ViewPlugin, IframePlugin, WebsocketPlugin } from '@remixproject/engine' +import { IframePlugin, ViewPlugin, WebsocketPlugin } from '@remixproject/engine-web' import { PluginManagerSettings } from './plugin-manager-settings' import * as packageJson from '../../../../../package.json' const yo = require('yo-yo') @@ -83,8 +83,8 @@ class PluginManagerComponent extends ViewPlugin { this.filter = '' this.appManager.event.on('activate', () => { this.reRender() }) this.appManager.event.on('deactivate', () => { this.reRender() }) - this.appManager.event.on('added', () => { this.reRender() }) this.engine = engine + this.engine.event.on('onRegistration', () => { this.reRender() }) } isActive (name) { @@ -151,7 +151,7 @@ class PluginManagerComponent extends ViewPlugin { } const plugin = profile.type === 'iframe' ? new IframePlugin(profile) : new WebsocketPlugin(profile) this.engine.register(plugin) - this.appManager.activatePlugin(plugin.name) + await this.appManager.activatePlugin(plugin.name) } catch (err) { // TODO : Use an alert to handle this error instead of a console.log console.log(`Cannot create Plugin : ${err.message}`) diff --git a/apps/remix-ide/src/app/files/remixd-handle.js b/apps/remix-ide/src/app/files/remixd-handle.js index cd16ea3b9c1..1bfcb2cd17c 100644 --- a/apps/remix-ide/src/app/files/remixd-handle.js +++ b/apps/remix-ide/src/app/files/remixd-handle.js @@ -1,5 +1,5 @@ import isElectron from 'is-electron' -import { WebsocketPlugin } from '@remixproject/engine' +import { WebsocketPlugin } from '@remixproject/engine-web' import * as packageJson from '../../../../../package.json' var yo = require('yo-yo') var modalDialog = require('../ui/modaldialog') diff --git a/apps/remix-ide/src/app/panels/file-panel.js b/apps/remix-ide/src/app/panels/file-panel.js index 24bb09c3f40..65e1664b7e9 100644 --- a/apps/remix-ide/src/app/panels/file-panel.js +++ b/apps/remix-ide/src/app/panels/file-panel.js @@ -1,4 +1,4 @@ -import { ViewPlugin } from '@remixproject/engine' +import { ViewPlugin } from '@remixproject/engine-web' import * as packageJson from '../../../../../package.json' var yo = require('yo-yo') diff --git a/apps/remix-ide/src/app/tabs/analysis-tab.js b/apps/remix-ide/src/app/tabs/analysis-tab.js index 987c0989212..7128c3fe878 100644 --- a/apps/remix-ide/src/app/tabs/analysis-tab.js +++ b/apps/remix-ide/src/app/tabs/analysis-tab.js @@ -1,4 +1,4 @@ -import { ViewPlugin } from '@remixproject/engine' +import { ViewPlugin } from '@remixproject/engine-web' import { EventEmitter } from 'events' import * as packageJson from '../../../../../package.json' diff --git a/apps/remix-ide/src/app/tabs/compile-tab.js b/apps/remix-ide/src/app/tabs/compile-tab.js index 2d4a04b862a..ee1e20a6f49 100644 --- a/apps/remix-ide/src/app/tabs/compile-tab.js +++ b/apps/remix-ide/src/app/tabs/compile-tab.js @@ -1,5 +1,5 @@ /* global */ -import { ViewPlugin } from '@remixproject/engine' +import { ViewPlugin } from '@remixproject/engine-web' import * as packageJson from '../../../../../package.json' import publishToStorage from '../../publishToStorage' import { compile } from '../compiler/compiler-helpers' diff --git a/apps/remix-ide/src/app/tabs/debugger-tab.js b/apps/remix-ide/src/app/tabs/debugger-tab.js index 13bd7fea3b9..9e3a88566cd 100644 --- a/apps/remix-ide/src/app/tabs/debugger-tab.js +++ b/apps/remix-ide/src/app/tabs/debugger-tab.js @@ -1,6 +1,6 @@ import toaster from '../ui/tooltip' import { DebuggerUI } from '@remix-ui/debugger-ui' // eslint-disable-line -import { ViewPlugin } from '@remixproject/engine' +import { ViewPlugin } from '@remixproject/engine-web' import remixDebug, { TransactionDebugger as Debugger } from '@remix-project/remix-debug' import * as packageJson from '../../../../../package.json' import React from 'react' // eslint-disable-line @@ -63,7 +63,6 @@ class DebuggerTab extends ViewPlugin { this.renderComponent() - this.call('manager', 'activatePlugin', 'source-verification').catch(e => console.log(e.message)) // this.call('manager', 'activatePlugin', 'udapp') return this.el diff --git a/apps/remix-ide/src/app/tabs/settings-tab.js b/apps/remix-ide/src/app/tabs/settings-tab.js index 7936122ef87..67bdbcddb3c 100644 --- a/apps/remix-ide/src/app/tabs/settings-tab.js +++ b/apps/remix-ide/src/app/tabs/settings-tab.js @@ -1,4 +1,4 @@ -import { ViewPlugin } from '@remixproject/engine' +import { ViewPlugin } from '@remixproject/engine-web' import * as packageJson from '../../../../../package.json' const yo = require('yo-yo') const globalRegistry = require('../../global/registry') diff --git a/apps/remix-ide/src/app/tabs/test-tab.js b/apps/remix-ide/src/app/tabs/test-tab.js index fa80351b8ab..d1eb0b8e5ef 100644 --- a/apps/remix-ide/src/app/tabs/test-tab.js +++ b/apps/remix-ide/src/app/tabs/test-tab.js @@ -1,4 +1,4 @@ -import { ViewPlugin } from '@remixproject/engine' +import { ViewPlugin } from '@remixproject/engine-web' import { canUseWorker, urlFromVersion } from '../compiler/compiler-utils' var yo = require('yo-yo') var async = require('async') diff --git a/apps/remix-ide/src/app/ui/landing-page/landing-page.js b/apps/remix-ide/src/app/ui/landing-page/landing-page.js index 8f82ceb9112..272f79a5b37 100644 --- a/apps/remix-ide/src/app/ui/landing-page/landing-page.js +++ b/apps/remix-ide/src/app/ui/landing-page/landing-page.js @@ -1,5 +1,5 @@ import * as packageJson from '../../../../../../package.json' -import { ViewPlugin } from '@remixproject/engine' +import { ViewPlugin } from '@remixproject/engine-web' const yo = require('yo-yo') const csjs = require('csjs-inject') diff --git a/apps/remix-ide/src/remixAppManager.js b/apps/remix-ide/src/remixAppManager.js index cff0b209194..dccb3cbdc09 100644 --- a/apps/remix-ide/src/remixAppManager.js +++ b/apps/remix-ide/src/remixAppManager.js @@ -1,5 +1,6 @@ /* global localStorage, fetch */ -import { PluginManager, IframePlugin } from '@remixproject/engine' +import { PluginManager } from '@remixproject/engine' +import { IframePlugin } from '@remixproject/engine-web' import { EventEmitter } from 'events' import QueryParams from './lib/query-params' import { PermissionHandler } from './app/ui/persmission-handler' @@ -15,7 +16,7 @@ export function isNative (name) { } export function canActivate (name) { - return ['manager', 'debugger', 'ethdoc'].includes(name) + return ['ethdoc'].includes(name) || isNative(name) } export class RemixAppManager extends PluginManager { @@ -27,11 +28,12 @@ export class RemixAppManager extends PluginManager { this.permissionHandler = new PermissionHandler() } - async canActivate (from, to) { + async canActivatePlugin (from, to) { return canActivate(from.name) } - async canDeactivate (from, to) { + async canDeactivatePlugin (from, to) { + if (requiredModules.includes(to.name)) return false return from.name === 'manager' } @@ -68,9 +70,7 @@ export class RemixAppManager extends PluginManager { this.event.emit('deactivate', plugin) } - onRegistration (plugin) { - this.event.emit('added', plugin.name) - } + onRegistration () {} async ensureActivated (apiName) { await this.activatePlugin(apiName) @@ -82,11 +82,6 @@ export class RemixAppManager extends PluginManager { this.event.emit('ensureDeactivated', apiName) } - deactivatePlugin (name) { - if (requiredModules.includes(name)) return - super.deactivatePlugin(name) - } - isRequired (name) { return requiredModules.includes(name) } diff --git a/apps/remix-ide/src/remixEngine.js b/apps/remix-ide/src/remixEngine.js new file mode 100644 index 00000000000..abf20340f69 --- /dev/null +++ b/apps/remix-ide/src/remixEngine.js @@ -0,0 +1,19 @@ +import { Engine } from '@remixproject/engine' +import { EventEmitter } from 'events' + +export class RemixEngine extends Engine { + constructor () { + super() + this.event = new EventEmitter() + } + + setPluginOption ({ name, kind }) { + if (kind === 'provider') return { queueTimeout: 60000 * 2 } + if (name === 'LearnEth') return { queueTimeout: 60000 } + return { queueTimeout: 10000 } + } + + onRegistration (plugin) { + this.event.emit('onRegistration', plugin) + } +} diff --git a/libs/remixd/package.json b/libs/remixd/package.json index b80f1421495..c5a72cd00fd 100644 --- a/libs/remixd/package.json +++ b/libs/remixd/package.json @@ -35,10 +35,10 @@ }, "homepage": "https://github.com/ethereum/remix-project#readme", "dependencies": { - "@remixproject/plugin": "0.3.0-beta.5", - "@remixproject/plugin-api": "0.3.0-beta.5", - "@remixproject/plugin-utils": "0.3.0-beta.5", - "@remixproject/plugin-ws": "^0.3.0-beta.8", + "@remixproject/plugin": "^0.3.3", + "@remixproject/plugin-api": "^0.3.3", + "@remixproject/plugin-utils": "^0.3.3", + "@remixproject/plugin-ws": "^0.3.3", "axios": "^0.20.0", "chokidar": "^2.1.8", "commander": "^2.20.3", diff --git a/package-lock.json b/package-lock.json index 0241ba7429d..0cc9e8bd18d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6880,57 +6880,220 @@ "integrity": "sha512-tVkIU9JQw5fYPxLQgok/a7I6J1eEZ79svwQGpe2mb3jlVsPADOleefOnQBiS/takK7jQuNeswCUicMH1VWVziA==" }, "@remixproject/engine": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@remixproject/engine/-/engine-0.2.4.tgz", - "integrity": "sha512-rCekA2QZq5wbT7h9wqU+TDkRexUqhnMqcggmP+eG6ilowyZ4RhMsrrSl3fsZzd0rnp4w1LSmX0vCbuXfja3RqQ==" + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/engine/-/engine-0.3.3.tgz", + "integrity": "sha512-0orGJhxHAFMUMokfDVq04yy0cvFknyrk9PcqvJw3KqChhusgkLw/J/KqJszywD9BmIjLgdc3n8vRtCmHICR3mA==", + "requires": { + "@remixproject/plugin-api": "0.3.3", + "@remixproject/plugin-utils": "0.3.3" + }, + "dependencies": { + "@remixproject/plugin-api": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-api/-/plugin-api-0.3.3.tgz", + "integrity": "sha512-Wsic9cnTj/9B7dGKQEq+VTAwit2o7rtdVwJ+lcI68SbavhNHGo0IUexOZkxwGFL2THchWz2hjfrs80W10yle0A==", + "requires": { + "@remixproject/plugin-utils": "0.3.3" + } + }, + "@remixproject/plugin-utils": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-utils/-/plugin-utils-0.3.3.tgz", + "integrity": "sha512-w1WCdS7bDmbaY83ybIjHzFW9TlQUV2Rt6Fw8hXGnT29ontD6mKoBWhoEPYzasMEHG47lmNzDjRToVPhQh54Q+w==", + "requires": { + "tslib": "2.0.1" + } + }, + "tslib": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" + } + } + }, + "@remixproject/engine-web": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/engine-web/-/engine-web-0.3.3.tgz", + "integrity": "sha512-GF+WHrZyT8OS9ApmAv6ujUfX/lfxbpfTYbYC0To/EznusrBYfm0tmem1xvmI4PJ5C1NOxz9j862S4I4AxWGOng==", + "requires": { + "@remixproject/engine": "0.3.3", + "@remixproject/plugin-api": "0.3.3", + "@remixproject/plugin-utils": "0.3.3" + }, + "dependencies": { + "@remixproject/engine": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/engine/-/engine-0.3.3.tgz", + "integrity": "sha512-0orGJhxHAFMUMokfDVq04yy0cvFknyrk9PcqvJw3KqChhusgkLw/J/KqJszywD9BmIjLgdc3n8vRtCmHICR3mA==", + "requires": { + "@remixproject/plugin-api": "0.3.3", + "@remixproject/plugin-utils": "0.3.3" + } + }, + "@remixproject/plugin-api": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-api/-/plugin-api-0.3.3.tgz", + "integrity": "sha512-Wsic9cnTj/9B7dGKQEq+VTAwit2o7rtdVwJ+lcI68SbavhNHGo0IUexOZkxwGFL2THchWz2hjfrs80W10yle0A==", + "requires": { + "@remixproject/plugin-utils": "0.3.3" + } + }, + "@remixproject/plugin-utils": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-utils/-/plugin-utils-0.3.3.tgz", + "integrity": "sha512-w1WCdS7bDmbaY83ybIjHzFW9TlQUV2Rt6Fw8hXGnT29ontD6mKoBWhoEPYzasMEHG47lmNzDjRToVPhQh54Q+w==", + "requires": { + "tslib": "2.0.1" + } + }, + "tslib": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" + } + } }, "@remixproject/plugin": { - "version": "0.3.0-beta.5", - "resolved": "https://registry.npmjs.org/@remixproject/plugin/-/plugin-0.3.0-beta.5.tgz", - "integrity": "sha512-mQgXUhGNc+tQGIIFw7OaBaH7sZTBvDk8Gf4fS1NXhO5ilvykw9TXv5LXWoWkJCWQlKGuUTWd+U1XNpm5dPD3ag==" + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin/-/plugin-0.3.3.tgz", + "integrity": "sha512-gSZdgBjb4y2N2+5kMfbJYjO2zH8b1pFd3xdY4ViL5vtt8l4lup+iOVidrGTv1lPPl7Snk+E8NQhRk8Snr6//mg==", + "requires": { + "@remixproject/plugin-api": "0.3.3", + "@remixproject/plugin-utils": "0.3.3", + "events": "3.2.0" + }, + "dependencies": { + "@remixproject/plugin-api": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-api/-/plugin-api-0.3.3.tgz", + "integrity": "sha512-Wsic9cnTj/9B7dGKQEq+VTAwit2o7rtdVwJ+lcI68SbavhNHGo0IUexOZkxwGFL2THchWz2hjfrs80W10yle0A==", + "requires": { + "@remixproject/plugin-utils": "0.3.3" + } + }, + "@remixproject/plugin-utils": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-utils/-/plugin-utils-0.3.3.tgz", + "integrity": "sha512-w1WCdS7bDmbaY83ybIjHzFW9TlQUV2Rt6Fw8hXGnT29ontD6mKoBWhoEPYzasMEHG47lmNzDjRToVPhQh54Q+w==", + "requires": { + "tslib": "2.0.1" + } + }, + "events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" + }, + "tslib": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" + } + } }, "@remixproject/plugin-api": { - "version": "0.3.0-beta.5", - "resolved": "https://registry.npmjs.org/@remixproject/plugin-api/-/plugin-api-0.3.0-beta.5.tgz", - "integrity": "sha512-C1fuISsne3sfA61k1rx6qU9ZgubyP8SdNKinzeYvXg4XAm1DwoHQlzjq/WYmjOFx1NZhyMGK8ySBp0VcjAMc/Q==" + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-api/-/plugin-api-0.3.2.tgz", + "integrity": "sha512-SR9NPv7hstTorUkna1LjdF5bEclNk0ejzGKmkzO3khCvw/Mii1H8lXo1W9fX1tmqpVqWYCdV/0hY5rnFnQAlSw==", + "requires": { + "@remixproject/plugin-utils": "0.3.2" + } }, "@remixproject/plugin-utils": { - "version": "0.3.0-beta.5", - "resolved": "https://registry.npmjs.org/@remixproject/plugin-utils/-/plugin-utils-0.3.0-beta.5.tgz", - "integrity": "sha512-+gnfuSUimCxUTRxfTGu+mwI5U6EPUx2A2ANObaZzX8f17nhSW5NWw2vWKauZPSv2PWQoIukYzrmG/kogEe3Cyw==" + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-utils/-/plugin-utils-0.3.2.tgz", + "integrity": "sha512-i7VQNU6XaigUgOoOHM0M379dAKLtKt83nHBSR2SZyt/397aQsBDuYg1Nwv4Y46S74FrZRKFRX9YGNZj1usB2IQ==", + "requires": { + "tslib": "2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" + } + } + }, + "@remixproject/plugin-webview": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-webview/-/plugin-webview-0.3.3.tgz", + "integrity": "sha512-2/O2hUgcTFFmuKYnHl65FW7n591lF1PLAmFUSzoUOezs0iAg8+IP1ydejVXFLWhZByLkiQezHu/kezA5g4cwaQ==", + "requires": { + "@remixproject/plugin": "0.3.3", + "@remixproject/plugin-api": "0.3.3", + "@remixproject/plugin-utils": "0.3.3" + }, + "dependencies": { + "@remixproject/plugin": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin/-/plugin-0.3.3.tgz", + "integrity": "sha512-gSZdgBjb4y2N2+5kMfbJYjO2zH8b1pFd3xdY4ViL5vtt8l4lup+iOVidrGTv1lPPl7Snk+E8NQhRk8Snr6//mg==", + "requires": { + "@remixproject/plugin-api": "0.3.3", + "@remixproject/plugin-utils": "0.3.3", + "events": "3.2.0" + } + }, + "@remixproject/plugin-api": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-api/-/plugin-api-0.3.3.tgz", + "integrity": "sha512-Wsic9cnTj/9B7dGKQEq+VTAwit2o7rtdVwJ+lcI68SbavhNHGo0IUexOZkxwGFL2THchWz2hjfrs80W10yle0A==", + "requires": { + "@remixproject/plugin-utils": "0.3.3" + } + }, + "@remixproject/plugin-utils": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-utils/-/plugin-utils-0.3.3.tgz", + "integrity": "sha512-w1WCdS7bDmbaY83ybIjHzFW9TlQUV2Rt6Fw8hXGnT29ontD6mKoBWhoEPYzasMEHG47lmNzDjRToVPhQh54Q+w==", + "requires": { + "tslib": "2.0.1" + } + }, + "events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" + }, + "tslib": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" + } + } }, "@remixproject/plugin-ws": { - "version": "0.3.0-beta.11", - "resolved": "https://registry.npmjs.org/@remixproject/plugin-ws/-/plugin-ws-0.3.0-beta.11.tgz", - "integrity": "sha512-wQueX0k99S96G4/jDbCmAn7V4RxDQpaCjaHBkpdr6Oc1ErfUnkplzJLfGs1EgnxCrONnHxDz6YEdKEs/zaHkqw==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-ws/-/plugin-ws-0.3.3.tgz", + "integrity": "sha512-QHWv5sjzUIb+rsLyAcOV67tShx8fniJvxYglqURaBc9LXdz0j5QfwnDIGwJwvnkJqAsk3MnXizaIXMU7CvKuzw==", "requires": { - "@remixproject/plugin": "0.3.0-beta.11", - "@remixproject/plugin-api": "0.3.0-beta.11", - "@remixproject/plugin-utils": "0.3.0-beta.11" + "@remixproject/plugin": "0.3.3", + "@remixproject/plugin-api": "0.3.3", + "@remixproject/plugin-utils": "0.3.3" }, "dependencies": { "@remixproject/plugin": { - "version": "0.3.0-beta.11", - "resolved": "https://registry.npmjs.org/@remixproject/plugin/-/plugin-0.3.0-beta.11.tgz", - "integrity": "sha512-/K7EJUXjSf5AqoPJAQ7VKQi7UTmPysHyV9hDLGPoe8tjl4s5ghjopiYLu6uM1WrR4Bz1DvU4hsRObe/PUAmprA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin/-/plugin-0.3.3.tgz", + "integrity": "sha512-gSZdgBjb4y2N2+5kMfbJYjO2zH8b1pFd3xdY4ViL5vtt8l4lup+iOVidrGTv1lPPl7Snk+E8NQhRk8Snr6//mg==", "requires": { - "@remixproject/plugin-api": "0.3.0-beta.11", - "@remixproject/plugin-utils": "0.3.0-beta.11", + "@remixproject/plugin-api": "0.3.3", + "@remixproject/plugin-utils": "0.3.3", "events": "3.2.0" } }, "@remixproject/plugin-api": { - "version": "0.3.0-beta.11", - "resolved": "https://registry.npmjs.org/@remixproject/plugin-api/-/plugin-api-0.3.0-beta.11.tgz", - "integrity": "sha512-qmIxfoFivQ6Dtz4RUEGSpSVW6TgcT5pwGuSOFBNm0LcYapqsoY4uWIfNpnP4odH4nVCBaFmARlveOf5magFxAw==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-api/-/plugin-api-0.3.3.tgz", + "integrity": "sha512-Wsic9cnTj/9B7dGKQEq+VTAwit2o7rtdVwJ+lcI68SbavhNHGo0IUexOZkxwGFL2THchWz2hjfrs80W10yle0A==", "requires": { - "@remixproject/plugin-utils": "0.3.0-beta.11" + "@remixproject/plugin-utils": "0.3.3" } }, "@remixproject/plugin-utils": { - "version": "0.3.0-beta.11", - "resolved": "https://registry.npmjs.org/@remixproject/plugin-utils/-/plugin-utils-0.3.0-beta.11.tgz", - "integrity": "sha512-M/ghKF75lLQX6sp993E+3DGtezgY5oCL8659pH2cRpK8MMFX5cJggBfK5Fil29FIdwNOSzXM+W0/JnxnRyQAZA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@remixproject/plugin-utils/-/plugin-utils-0.3.3.tgz", + "integrity": "sha512-w1WCdS7bDmbaY83ybIjHzFW9TlQUV2Rt6Fw8hXGnT29ontD6mKoBWhoEPYzasMEHG47lmNzDjRToVPhQh54Q+w==", "requires": { "tslib": "2.0.1" } @@ -35964,7 +36127,7 @@ "events": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha1-k7h8GPjvzUICpGGuxN/AVWtjk3k=", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", "dev": true } } diff --git a/package.json b/package.json index 977a20160a9..e83d609335c 100644 --- a/package.json +++ b/package.json @@ -127,16 +127,27 @@ ] }, "dependencies": { - "@remixproject/engine": "^0.2.3", + "@remixproject/engine": "^0.3.3", + "@remixproject/engine-web": "^0.3.3", + "@remixproject/plugin": "^0.3.3", + "@remixproject/plugin-api": "^0.3.2", + "@remixproject/plugin-utils": "^0.3.2", + "@remixproject/plugin-webview": "^0.3.3", + "@remixproject/plugin-ws": "^0.3.3", "@types/jest": "^26.0.5", "@types/tape": "^4.2.33", "ansi-gray": "^0.1.1", + "axios": "^0.20.0", "change-case": "^4.1.1", + "chokidar": "^2.1.8", "color-support": "^1.1.3", + "commander": "^2.20.3", "ethereumjs-block": "^2.2.2", "ethereumjs-tx": "^2.1.2", "ethereumjs-vm": "4.1.3", + "fs-extra": "^3.0.1", "http-server": "^0.11.1", + "isbinaryfile": "^3.0.2", "merge": "^1.2.0", "npm-install-version": "^6.0.2", "react": "16.13.1", @@ -145,15 +156,6 @@ "signale": "^1.4.0", "time-stamp": "^2.2.0", "winston": "^3.3.3", - "@remixproject/plugin": "0.3.0-beta.5", - "@remixproject/plugin-api": "0.3.0-beta.5", - "@remixproject/plugin-utils": "0.3.0-beta.5", - "@remixproject/plugin-ws": "^0.3.0-beta.8", - "axios": "^0.20.0", - "chokidar": "^2.1.8", - "commander": "^2.20.3", - "fs-extra": "^3.0.1", - "isbinaryfile": "^3.0.2", "ws": "^7.3.0" }, "devDependencies": { diff --git a/workspace.json b/workspace.json index 67e2f3c26b5..4c83110f9a1 100644 --- a/workspace.json +++ b/workspace.json @@ -104,7 +104,7 @@ "builder": "@nrwl/workspace:run-commands", "options": { "commands": [ - "node_modules/.bin/tsc -p apps/remix-ide-e2e/tsconfig.e2e.json" + "tsc -p apps/remix-ide-e2e/tsconfig.e2e.json" ] } },