diff --git a/apps/remix-ide/src/assets/css/font-awesome.min.css b/apps/remix-ide/assets/css/font-awesome.min.css
similarity index 100%
rename from apps/remix-ide/src/assets/css/font-awesome.min.css
rename to apps/remix-ide/assets/css/font-awesome.min.css
diff --git a/apps/remix-ide/src/assets/css/pygment_trac.css b/apps/remix-ide/assets/css/pygment_trac.css
similarity index 100%
rename from apps/remix-ide/src/assets/css/pygment_trac.css
rename to apps/remix-ide/assets/css/pygment_trac.css
diff --git a/apps/remix-ide/src/assets/fonts/FontAwesome.otf b/apps/remix-ide/assets/fonts/FontAwesome.otf
similarity index 100%
rename from apps/remix-ide/src/assets/fonts/FontAwesome.otf
rename to apps/remix-ide/assets/fonts/FontAwesome.otf
diff --git a/apps/remix-ide/src/assets/fonts/fontawesome-webfont.eot b/apps/remix-ide/assets/fonts/fontawesome-webfont.eot
similarity index 100%
rename from apps/remix-ide/src/assets/fonts/fontawesome-webfont.eot
rename to apps/remix-ide/assets/fonts/fontawesome-webfont.eot
diff --git a/apps/remix-ide/src/assets/fonts/fontawesome-webfont.svg b/apps/remix-ide/assets/fonts/fontawesome-webfont.svg
similarity index 100%
rename from apps/remix-ide/src/assets/fonts/fontawesome-webfont.svg
rename to apps/remix-ide/assets/fonts/fontawesome-webfont.svg
diff --git a/apps/remix-ide/src/assets/fonts/fontawesome-webfont.ttf b/apps/remix-ide/assets/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from apps/remix-ide/src/assets/fonts/fontawesome-webfont.ttf
rename to apps/remix-ide/assets/fonts/fontawesome-webfont.ttf
diff --git a/apps/remix-ide/src/assets/fonts/fontawesome-webfont.woff b/apps/remix-ide/assets/fonts/fontawesome-webfont.woff
similarity index 100%
rename from apps/remix-ide/src/assets/fonts/fontawesome-webfont.woff
rename to apps/remix-ide/assets/fonts/fontawesome-webfont.woff
diff --git a/apps/remix-ide/src/assets/fonts/fontawesome-webfont.woff2 b/apps/remix-ide/assets/fonts/fontawesome-webfont.woff2
similarity index 100%
rename from apps/remix-ide/src/assets/fonts/fontawesome-webfont.woff2
rename to apps/remix-ide/assets/fonts/fontawesome-webfont.woff2
diff --git a/apps/remix-ide/src/assets/img/debuggerLogo.webp b/apps/remix-ide/assets/img/debuggerLogo.webp
similarity index 100%
rename from apps/remix-ide/src/assets/img/debuggerLogo.webp
rename to apps/remix-ide/assets/img/debuggerLogo.webp
diff --git a/apps/remix-ide/src/assets/img/gasStation_50.png b/apps/remix-ide/assets/img/gasStation_50.png
similarity index 100%
rename from apps/remix-ide/src/assets/img/gasStation_50.png
rename to apps/remix-ide/assets/img/gasStation_50.png
diff --git a/apps/remix-ide/src/assets/img/hexagon-remix-greengrey-texture.png b/apps/remix-ide/assets/img/hexagon-remix-greengrey-texture.png
similarity index 100%
rename from apps/remix-ide/src/assets/img/hexagon-remix-greengrey-texture.png
rename to apps/remix-ide/assets/img/hexagon-remix-greengrey-texture.png
diff --git a/apps/remix-ide/src/assets/img/homeStickers.png b/apps/remix-ide/assets/img/homeStickers.png
similarity index 100%
rename from apps/remix-ide/src/assets/img/homeStickers.png
rename to apps/remix-ide/assets/img/homeStickers.png
diff --git a/apps/remix-ide/src/assets/img/moreLogo.webp b/apps/remix-ide/assets/img/moreLogo.webp
similarity index 100%
rename from apps/remix-ide/src/assets/img/moreLogo.webp
rename to apps/remix-ide/assets/img/moreLogo.webp
diff --git a/apps/remix-ide/src/assets/img/mythxLogo.webp b/apps/remix-ide/assets/img/mythxLogo.webp
similarity index 100%
rename from apps/remix-ide/src/assets/img/mythxLogo.webp
rename to apps/remix-ide/assets/img/mythxLogo.webp
diff --git a/apps/remix-ide/src/assets/img/pipelineLogo.webp b/apps/remix-ide/assets/img/pipelineLogo.webp
similarity index 100%
rename from apps/remix-ide/src/assets/img/pipelineLogo.webp
rename to apps/remix-ide/assets/img/pipelineLogo.webp
diff --git a/apps/remix-ide/src/assets/img/sleepingRemiCroped.webp b/apps/remix-ide/assets/img/sleepingRemiCroped.webp
similarity index 100%
rename from apps/remix-ide/src/assets/img/sleepingRemiCroped.webp
rename to apps/remix-ide/assets/img/sleepingRemiCroped.webp
diff --git a/apps/remix-ide/src/assets/img/solidityLogo.webp b/apps/remix-ide/assets/img/solidityLogo.webp
similarity index 100%
rename from apps/remix-ide/src/assets/img/solidityLogo.webp
rename to apps/remix-ide/assets/img/solidityLogo.webp
diff --git a/apps/remix-ide/src/assets/img/sourceVerifyLogo.webp b/apps/remix-ide/assets/img/sourceVerifyLogo.webp
similarity index 100%
rename from apps/remix-ide/src/assets/img/sourceVerifyLogo.webp
rename to apps/remix-ide/assets/img/sourceVerifyLogo.webp
diff --git a/apps/remix-ide/src/assets/img/vyperLogo.webp b/apps/remix-ide/assets/img/vyperLogo.webp
similarity index 100%
rename from apps/remix-ide/src/assets/img/vyperLogo.webp
rename to apps/remix-ide/assets/img/vyperLogo.webp
diff --git a/apps/remix-ide/src/assets/img/workshopLogo.webp b/apps/remix-ide/assets/img/workshopLogo.webp
similarity index 100%
rename from apps/remix-ide/src/assets/img/workshopLogo.webp
rename to apps/remix-ide/assets/img/workshopLogo.webp
diff --git a/apps/remix-ide/src/assets/js/0.7.7/app.js b/apps/remix-ide/assets/js/0.7.7/app.js
similarity index 100%
rename from apps/remix-ide/src/assets/js/0.7.7/app.js
rename to apps/remix-ide/assets/js/0.7.7/app.js
diff --git a/apps/remix-ide/src/assets/js/browserfs.min.js b/apps/remix-ide/assets/js/browserfs.min.js
similarity index 100%
rename from apps/remix-ide/src/assets/js/browserfs.min.js
rename to apps/remix-ide/assets/js/browserfs.min.js
diff --git a/apps/remix-ide/babel.config.js b/apps/remix-ide/babel.config.js
deleted file mode 100644
index f75fe53e2a..0000000000
--- a/apps/remix-ide/babel.config.js
+++ /dev/null
@@ -1,23 +0,0 @@
-module.exports = {
- "extends": "../../babel.config.js",
- "plugins": [
- [
- "module:fast-async",
- {
- "runtimePattern": null,
- "compiler": {
- "es7": true,
- "noRuntime": true,
- "promises": true,
- "wrapAwait": true
- }
- }
- ],
- ["module:babel-plugin-yo-yoify"],
- ["@babel/plugin-transform-object-assign"],
- ["@babel/plugin-transform-modules-amd"]
- ],
- "presets": [
- "@babel/preset-env"
- ]
-}
diff --git a/apps/remix-ide/src/app/tabs/staticanalysis/staticAnalysisView.js b/apps/remix-ide/src/app/tabs/staticanalysis/staticAnalysisView.js
index 2723c73754..ae8d377797 100644
--- a/apps/remix-ide/src/app/tabs/staticanalysis/staticAnalysisView.js
+++ b/apps/remix-ide/src/app/tabs/staticanalysis/staticAnalysisView.js
@@ -1,5 +1,5 @@
'use strict'
-var StaticAnalysisRunner = require('remix-analyzer').CodeAnalysis
+var StaticAnalysisRunner = require('@remix-project/remix-analyzer').CodeAnalysis
var yo = require('yo-yo')
var $ = require('jquery')
var remixLib = require('remix-lib')
diff --git a/apps/remix-ide/src/index.html b/apps/remix-ide/src/index.html
deleted file mode 100644
index 629165f45d..0000000000
--- a/apps/remix-ide/src/index.html
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
-
-
-
- Remix - Ethereum IDE
-
-
-
-
-
-
-
-
-
diff --git a/apps/remix-ide/tsconfig.app.json b/apps/remix-ide/tsconfig.app.json
deleted file mode 100644
index 2151bb6497..0000000000
--- a/apps/remix-ide/tsconfig.app.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "../../dist/out-tsc",
- "types": ["node"]
- },
- "exclude": ["**/*.spec.ts", "**/*.spec.tsx"],
- "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"]
-}
diff --git a/apps/remix-ide/tsconfig.json b/apps/remix-ide/tsconfig.json
deleted file mode 100644
index fa0186ddd0..0000000000
--- a/apps/remix-ide/tsconfig.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "extends": "../../tsconfig.json",
- "compilerOptions": {
- "jsx": "react",
- "allowJs": true,
- "esModuleInterop": true,
- "allowSyntheticDefaultImports": true,
- "types": ["node", "jest"]
- },
- "files": [
- "../../node_modules/@nrwl/react/typings/cssmodule.d.ts",
- "../../node_modules/@nrwl/react/typings/image.d.ts"
- ],
- "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"]
-}
diff --git a/apps/remix-ide/tsconfig.spec.json b/apps/remix-ide/tsconfig.spec.json
deleted file mode 100644
index 559410b96a..0000000000
--- a/apps/remix-ide/tsconfig.spec.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "../../dist/out-tsc",
- "module": "commonjs",
- "types": ["jest", "node"]
- },
- "include": [
- "**/*.spec.ts",
- "**/*.spec.tsx",
- "**/*.spec.js",
- "**/*.spec.jsx",
- "**/*.d.ts"
- ]
-}
diff --git a/apps/remix-ide/webpack.config.js b/apps/remix-ide/webpack.config.js
deleted file mode 100644
index 0f308d0d52..0000000000
--- a/apps/remix-ide/webpack.config.js
+++ /dev/null
@@ -1,26 +0,0 @@
-const babelWebpack = require('@nrwl/react/plugins/webpack')
-const nodeExternals = require('webpack-node-externals')
-
-module.exports = config => {
- const babelWebpackConfig = babelWebpack(config)
- const { entry, devtool, mode, output, module, resolve, performance, plugins, watch } = babelWebpackConfig
-
- console.log('babelWebpackConfig: ', Object.keys(babelWebpackConfig))
-
- return {
- ...babelWebpackConfig,
- module: {
- rules: [
- {
- test: /\.m?js$/,
- exclude: /(node_modules|bower_components)/,
- loader: 'babel-loader'
- }
- ]
- },
- target: 'node',
- externals: [nodeExternals({
- modulesFromFile: true
- })]
- }
-}
diff --git a/nx.json b/nx.json
index d411a67ae1..c6af465a6b 100644
--- a/nx.json
+++ b/nx.json
@@ -59,13 +59,6 @@
"remix-solidity",
"remix-tests"
]
- },
- "remix-ide-js": {
- "tags": []
- },
- "remix-ide-js-e2e": {
- "tags": [],
- "implicitDependencies": ["remix-ide-js"]
}
}
}
diff --git a/package-lock.json b/package-lock.json
index d5e11075cd..ff1530b692 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9449,6 +9449,73 @@
}
}
},
+ "babel-plugin-module-resolver": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.0.0.tgz",
+ "integrity": "sha512-3pdEq3PXALilSJ6dnC4wMWr0AZixHRM4utpdpBR9g5QG7B7JwWyukQv7a9hVxkbGFl+nQbrHDqqQOIBtTXTP/Q==",
+ "dev": true,
+ "requires": {
+ "find-babel-config": "^1.2.0",
+ "glob": "^7.1.6",
+ "pkg-up": "^3.1.0",
+ "reselect": "^4.0.0",
+ "resolve": "^1.13.1"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "pkg-up": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
+ "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
+ "dev": true,
+ "requires": {
+ "find-up": "^3.0.0"
+ }
+ }
+ }
+ },
"babel-plugin-styled-components": {
"version": "1.10.7",
"resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.7.tgz",
@@ -16008,6 +16075,24 @@
}
}
},
+ "find-babel-config": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz",
+ "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==",
+ "dev": true,
+ "requires": {
+ "json5": "^0.5.1",
+ "path-exists": "^3.0.0"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+ "dev": true
+ }
+ }
+ },
"find-cache-dir": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
@@ -30627,6 +30712,12 @@
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
+ "reselect": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.0.0.tgz",
+ "integrity": "sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA==",
+ "dev": true
+ },
"reserved-words": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz",
diff --git a/package.json b/package.json
index 05bfee1223..1c8b35e513 100644
--- a/package.json
+++ b/package.json
@@ -103,6 +103,14 @@
"sourceMapsAbsolute": false,
"sourceMaps": true,
"plugins": [
+ [
+ "module:module-resolver", {
+ "root": ["."],
+ "alias": {
+ "@remix-project/remix-analyzer": "libs/remix-analyzer/index.ts"
+ }
+ }
+ ],
[
"module:fast-async",
{
@@ -179,6 +187,7 @@
"babel-eslint": "^10.0.0",
"babel-plugin-add-module-exports": "^1.0.2",
"babel-plugin-fast-async": "^6.1.2",
+ "babel-plugin-module-resolver": "^4.0.0",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-plugin-yo-yoify": "^2.0.0",
"babel-preset-env": "^1.7.0",
diff --git a/workspace.json b/workspace.json
index d8e7fe1550..116e619aa0 100644
--- a/workspace.json
+++ b/workspace.json
@@ -8,43 +8,13 @@
"schematics": {},
"architect": {
"build": {
- "builder": "@nrwl/web:build",
+ "builder": "@nrwl/workspace:run-commands",
"options": {
- "outputPath": "dist/apps/remix-ide",
- "index": "apps/remix-ide/src/index.html",
- "main": "apps/remix-ide/src/index.js",
- "polyfills": "apps/remix-ide/src/polyfills.js",
- "tsConfig": "apps/remix-ide/tsconfig.app.json",
- "assets": [
- "apps/remix-ide/src/assets"
- ],
- "styles": [],
- "scripts": [],
- "webpackConfig": "apps/remix-ide/webpack.config.js"
- },
- "configurations": {
- "production": {
- "fileReplacements": [
- {
- "replace": "apps/remix-ide/src/environments/environment.js",
- "with": "apps/remix-ide/src/environments/environment.prod.js"
- }
- ],
- "optimization": true,
- "outputHashing": "all",
- "sourceMap": false,
- "extractCss": true,
- "namedChunks": false,
- "extractLicenses": true,
- "vendorChunk": false,
- "budgets": [
- {
- "type": "initial",
- "maximumWarning": "2mb",
- "maximumError": "5mb"
- }
- ]
- }
+ "commands": [
+ {
+ "command": "browserify apps/remix-ide/src/index.js -o apps/remix-ide/build/app.js --exclude solc"
+ }
+ ]
}
},
"start": {
@@ -58,14 +28,13 @@
}
},
"serve": {
- "builder": "@nrwl/web:dev-server",
+ "builder": "@nrwl/workspace:run-commands",
"options": {
- "buildTarget": "remix-ide:build"
- },
- "configurations": {
- "production": {
- "buildTarget": "remix-ide:build:production"
- }
+ "commands": [
+ {
+ "command": "npx http-server ./apps/remix-ide"
+ }
+ ]
}
},
"lint": {
@@ -408,115 +377,6 @@
}
}
}
- },
- "remix-ide-js": {
- "root": "apps/remix-ide-js",
- "sourceRoot": "apps/remix-ide-js/src",
- "projectType": "application",
- "schematics": {},
- "architect": {
- "build": {
- "builder": "@nrwl/web:build",
- "options": {
- "outputPath": "dist/apps/remix-ide-js",
- "index": "apps/remix-ide-js/src/index.html",
- "main": "apps/remix-ide-js/src/main.js",
- "polyfills": "apps/remix-ide-js/src/polyfills.js",
- "tsConfig": "apps/remix-ide-js/tsconfig.app.json",
- "assets": [
- "apps/remix-ide-js/src/favicon.ico",
- "apps/remix-ide-js/src/assets"
- ],
- "styles": ["apps/remix-ide-js/src/styles.css"],
- "scripts": [],
- "webpackConfig": "@nrwl/react/plugins/webpack"
- },
- "configurations": {
- "production": {
- "fileReplacements": [
- {
- "replace": "apps/remix-ide-js/src/environments/environment.js",
- "with": "apps/remix-ide-js/src/environments/environment.prod.js"
- }
- ],
- "optimization": true,
- "outputHashing": "all",
- "sourceMap": false,
- "extractCss": true,
- "namedChunks": false,
- "extractLicenses": true,
- "vendorChunk": false,
- "budgets": [
- {
- "type": "initial",
- "maximumWarning": "2mb",
- "maximumError": "5mb"
- }
- ]
- }
- }
- },
- "serve": {
- "builder": "@nrwl/web:dev-server",
- "options": {
- "buildTarget": "remix-ide-js:build"
- },
- "configurations": {
- "production": {
- "buildTarget": "remix-ide-js:build:production"
- }
- }
- },
- "lint": {
- "builder": "@nrwl/linter:lint",
- "options": {
- "linter": "eslint",
- "config": "apps/remix-ide-js/.eslintrc",
- "tsConfig": [
- "apps/remix-ide-js/tsconfig.app.json",
- "apps/remix-ide-js/tsconfig.spec.json"
- ],
- "exclude": ["**/node_modules/**", "!apps/remix-ide-js/**"]
- }
- },
- "test": {
- "builder": "@nrwl/jest:jest",
- "options": {
- "jestConfig": "apps/remix-ide-js/jest.config.js",
- "tsConfig": "apps/remix-ide-js/tsconfig.spec.json",
- "passWithNoTests": true
- }
- }
- }
- },
- "remix-ide-js-e2e": {
- "root": "apps/remix-ide-js-e2e",
- "sourceRoot": "apps/remix-ide-js-e2e/src",
- "projectType": "application",
- "architect": {
- "e2e": {
- "builder": "@nrwl/cypress:cypress",
- "options": {
- "cypressConfig": "apps/remix-ide-js-e2e/cypress.json",
- "tsConfig": "apps/remix-ide-js-e2e/tsconfig.e2e.json",
- "devServerTarget": "remix-ide-js:serve"
- },
- "configurations": {
- "production": {
- "devServerTarget": "remix-ide-js:serve:production"
- }
- }
- },
- "lint": {
- "builder": "@nrwl/linter:lint",
- "options": {
- "linter": "eslint",
- "config": "apps/remix-ide-js-e2e/.eslintrc",
- "tsConfig": ["apps/remix-ide-js-e2e/tsconfig.e2e.json"],
- "exclude": ["**/node_modules/**", "!apps/remix-ide-js-e2e/**"]
- }
- }
- }
}
},
"cli": {