Merge pull request #511 from ethereum/remixplugin0.3

Use remix plugin 0.3
pull/617/head
yann300 4 years ago committed by GitHub
commit 3bd52b9f19
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      apps/remix-ide-e2e/src/tests/fileManager_api.test.ts
  2. 8
      apps/remix-ide-e2e/src/tests/pluginManager.test.ts
  3. 21
      apps/remix-ide/src/app.js
  4. 2
      apps/remix-ide/src/app/components/panel.js
  5. 6
      apps/remix-ide/src/app/components/plugin-manager-component.js
  6. 2
      apps/remix-ide/src/app/files/remixd-handle.js
  7. 2
      apps/remix-ide/src/app/panels/file-panel.js
  8. 2
      apps/remix-ide/src/app/tabs/analysis-tab.js
  9. 2
      apps/remix-ide/src/app/tabs/compile-tab.js
  10. 3
      apps/remix-ide/src/app/tabs/debugger-tab.js
  11. 2
      apps/remix-ide/src/app/tabs/settings-tab.js
  12. 2
      apps/remix-ide/src/app/tabs/test-tab.js
  13. 2
      apps/remix-ide/src/app/ui/landing-page/landing-page.js
  14. 19
      apps/remix-ide/src/remixAppManager.js
  15. 19
      apps/remix-ide/src/remixEngine.js
  16. 8
      libs/remixd/package.json
  17. 225
      package-lock.json
  18. 22
      package.json
  19. 2
      workspace.json

@ -12,7 +12,7 @@ module.exports = {
browser
.addFile('file.js', { content: executeFile })
.executeScript(`remix.exeCurrent()`)
.pause(2000)
.pause(5000)
.journalLastChildIncludes('browser/file.js')
},

@ -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"]')
},

@ -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)

@ -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')

@ -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}`)

@ -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')

@ -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')

@ -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'

@ -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'

@ -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

@ -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')

@ -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')

@ -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')

@ -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)
}

@ -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)
}
}

@ -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",

225
package-lock.json generated

@ -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
}
}

@ -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": {

@ -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"
]
}
},

Loading…
Cancel
Save