web build remix-ide

pull/9/head
ioedeveloper 5 years ago
parent 92fe3a0969
commit 0064a96098
  1. 3
      apps/remix-ide/.babelrc
  2. 23
      apps/remix-ide/babel.config.js
  3. 0
      apps/remix-ide/src/assets/css/font-awesome.min.css
  4. 0
      apps/remix-ide/src/assets/css/pygment_trac.css
  5. 0
      apps/remix-ide/src/assets/fonts/FontAwesome.otf
  6. 0
      apps/remix-ide/src/assets/fonts/fontawesome-webfont.eot
  7. 0
      apps/remix-ide/src/assets/fonts/fontawesome-webfont.svg
  8. 0
      apps/remix-ide/src/assets/fonts/fontawesome-webfont.ttf
  9. 0
      apps/remix-ide/src/assets/fonts/fontawesome-webfont.woff
  10. 0
      apps/remix-ide/src/assets/fonts/fontawesome-webfont.woff2
  11. 0
      apps/remix-ide/src/assets/img/debuggerLogo.webp
  12. 0
      apps/remix-ide/src/assets/img/gasStation_50.png
  13. 0
      apps/remix-ide/src/assets/img/hexagon-remix-greengrey-texture.png
  14. 0
      apps/remix-ide/src/assets/img/homeStickers.png
  15. 0
      apps/remix-ide/src/assets/img/moreLogo.webp
  16. 0
      apps/remix-ide/src/assets/img/mythxLogo.webp
  17. 0
      apps/remix-ide/src/assets/img/pipelineLogo.webp
  18. 0
      apps/remix-ide/src/assets/img/sleepingRemiCroped.webp
  19. 0
      apps/remix-ide/src/assets/img/solidityLogo.webp
  20. 0
      apps/remix-ide/src/assets/img/sourceVerifyLogo.webp
  21. 0
      apps/remix-ide/src/assets/img/vyperLogo.webp
  22. 0
      apps/remix-ide/src/assets/img/workshopLogo.webp
  23. 0
      apps/remix-ide/src/assets/js/0.7.7/app.js
  24. 0
      apps/remix-ide/src/assets/js/browserfs.min.js
  25. 92
      apps/remix-ide/src/index.html
  26. 7
      apps/remix-ide/src/polyfills.js
  27. 9
      apps/remix-ide/tsconfig.app.json
  28. 15
      apps/remix-ide/tsconfig.json
  29. 15
      apps/remix-ide/tsconfig.spec.json
  30. 26
      apps/remix-ide/webpack.config.js
  31. 1
      babel.config.js
  32. 9
      jest.config.js
  33. 34
      nx.json
  34. 38662
      package-lock.json
  35. 25
      package.json
  36. 190
      workspace.json

@ -1,3 +0,0 @@
{
"presets": ["@babel/preset-env"]
}

@ -0,0 +1,23 @@
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"
]
}

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Before

Width:  |  Height:  |  Size: 960 B

After

Width:  |  Height:  |  Size: 960 B

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Before

Width:  |  Height:  |  Size: 668 B

After

Width:  |  Height:  |  Size: 668 B

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

@ -0,0 +1,92 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!--
The MIT License (MIT)
Copyright (c) 2014, 2015, the individual contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>Remix - Ethereum IDE</title>
<link rel="stylesheet" href="assets/css/pygment_trac.css">
<link rel="icon" type="x-icon" href="icon.png">
<script src="assets/js/browserfs.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
</head>
<body>
<script>
function urlParams () {
var qs = window.location.hash.substr(1)
if (window.location.search.length > 0) {
// use legacy query params instead of hash
window.location.hash = window.location.search.substr(1)
window.location.search = ''
}
var params = {}
var parts = qs.split('&')
for (var x in parts) {
var keyValue = parts[x].split('=')
if (keyValue[0] !== '') {
params[keyValue[0]] = keyValue[1]
}
}
return params
}
const defaultVersion = '0.8.0'
let versionToLoad = urlParams().appVersion ? urlParams().appVersion : defaultVersion
let assets = {
'0.8.0': ['https://use.fontawesome.com/releases/v5.8.1/css/all.css', 'assets/css/pygment_trac.css'],
'0.7.7': ['assets/css/font-awesome.min.css', 'assets/css/pygment_trac.css']
}
let versions = {
'0.7.7': 'assets/js/0.7.7/app.js', // commit 7b5c7ae3de935e0ccc32eadfd83bf7349478491e
'0.8.0': 'main.js'
}
for (let k in assets[versionToLoad]) {
let app = document.createElement('link')
app.setAttribute('rel', 'stylesheet')
app.setAttribute('href', assets[versionToLoad][k])
if (assets[versionToLoad][k] === 'https://use.fontawesome.com/releases/v5.8.1/css/all.css') {
app.setAttribute('integrity', 'sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf')
app.setAttribute('crossorigin', 'anonymous')
}
document.head.appendChild(app)
}
window.onload = () => {
BrowserFS.install(window)
BrowserFS.configure({
fs: "LocalStorage"
}, function(e) {
if (e) console.log(e)
let app = document.createElement('script')
app.setAttribute('src', versions[versionToLoad])
document.body.appendChild(app)
window.remixFileSystem = require('fs')
})
}
</script>
</body>
</html>

@ -0,0 +1,7 @@
/**
* Polyfill stable language features. These imports will be optimized by `@babel/preset-env`.
*
* See: https://github.com/zloirock/core-js#babel
*/
import 'core-js/stable';
import 'regenerator-runtime/runtime';

@ -0,0 +1,9 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"types": ["node"]
},
"exclude": ["**/*.spec.ts", "**/*.spec.tsx"],
"include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"]
}

@ -0,0 +1,15 @@
{
"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"]
}

@ -0,0 +1,15 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"module": "commonjs",
"types": ["jest", "node"]
},
"include": [
"**/*.spec.ts",
"**/*.spec.tsx",
"**/*.spec.js",
"**/*.spec.jsx",
"**/*.d.ts"
]
}

@ -0,0 +1,26 @@
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
})]
}
}

@ -0,0 +1 @@
module.exports = {}

@ -0,0 +1,9 @@
module.exports = {
testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)'],
transform: {
'^.+\\.(ts|js|html)$': 'ts-jest'
},
resolver: '@nrwl/jest/plugins/resolver',
moduleFileExtensions: ['ts', 'js', 'html'],
coverageReporters: ['html']
};

@ -24,42 +24,27 @@
},
"remix-astwalker": {
"tags": [],
"implicitDependencies": [
"remix-lib"
]
"implicitDependencies": ["remix-lib"]
},
"remix-analyzer": {
"tags": [],
"implicitDependencies": [
"remix-astwalker",
"remix-lib"
]
"implicitDependencies": ["remix-astwalker", "remix-lib"]
},
"remix-debug": {
"tags": [],
"implicitDependencies": [
"remix-lib"
]
"implicitDependencies": ["remix-lib"]
},
"remix-simulator": {
"tags": [],
"implicitDependencies": [
"remix-lib"
]
"implicitDependencies": ["remix-lib"]
},
"remix-solidity": {
"tags": [],
"implicitDependencies": [
"remix-lib"
]
"implicitDependencies": ["remix-lib"]
},
"remix-tests": {
"tags": [],
"implicitDependencies": [
"remix-lib",
"remix-simulator",
"remix-solidity"
]
"implicitDependencies": ["remix-lib", "remix-simulator", "remix-solidity"]
},
"remix-url-resolver": {
"tags": []
@ -74,6 +59,13 @@
"remix-solidity",
"remix-tests"
]
},
"remix-ide-js": {
"tags": []
},
"remix-ide-js-e2e": {
"tags": [],
"implicitDependencies": ["remix-ide-js"]
}
}
}

38662
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -145,22 +145,31 @@
},
"devDependencies": {
"@babel/core": "^7.4.5",
"@babel/plugin-transform-modules-amd": "^7.10.4",
"@babel/plugin-transform-modules-commonjs": "^7.10.4",
"@babel/plugin-transform-object-assign": "^7.2.0",
"@babel/plugin-transform-runtime": "^7.10.4",
"@babel/polyfill": "^7.4.4",
"@babel/preset-env": "^7.4.5",
"@babel/preset-env": "^7.10.4",
"@babel/preset-es2015": "latest",
"@babel/preset-es2017": "latest",
"@babel/preset-stage-0": "^7.0.0",
"@babel/register": "^7.4.4",
"@fortawesome/fontawesome-free": "^5.8.1",
"@nrwl/cypress": "9.2.4",
"@nrwl/eslint-plugin-nx": "^9.4.4",
"@nrwl/jest": "9.4.5",
"@nrwl/linter": "^9.3.0",
"@nrwl/node": "^9.4.5",
"@nrwl/react": "9.2.4",
"@nrwl/web": "9.2.4",
"@nrwl/workspace": "9.2.4",
"@resolver-engine/imports": "^0.3.0",
"@types/chai": "^4.2.11",
"@types/mocha": "^7.0.2",
"@types/node": "~8.9.4",
"@types/react": "16.9.17",
"@types/react-dom": "16.9.4",
"@typescript-eslint/eslint-plugin": "^3.3.0",
"@typescript-eslint/parser": "^3.3.0",
"ace-mode-move": "0.0.1",
@ -168,9 +177,12 @@
"ace-mode-zokrates": "^1.0.0",
"async": "^2.1.2",
"babel-eslint": "^10.0.0",
"babel-plugin-add-module-exports": "^1.0.2",
"babel-plugin-fast-async": "^6.1.2",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-plugin-yo-yoify": "^2.0.0",
"babel-preset-env": "^1.7.0",
"babel-preset-typescript": "^7.0.0-alpha.19",
"babelify": "^10.0.0",
"brace": "^0.8.0",
"browserify": "^16.2.3",
@ -179,6 +191,7 @@
"copy-text-to-clipboard": "^1.0.4",
"csjs-inject": "^1.0.1",
"csslint": "^1.0.2",
"cypress": "^4.1.0",
"deep-equal": "^1.0.1",
"dotenv": "^8.2.0",
"eslint": "6.8.0",
@ -188,6 +201,7 @@
"events": "^3.0.0",
"execr": "^1.0.1",
"exorcist": "^0.4.0",
"exports-loader": "^1.1.0",
"fast-async": "^7.0.6",
"fast-levenshtein": "^2.0.6",
"ganache-cli": "^6.8.1",
@ -195,6 +209,7 @@
"ipfs-mini": "^1.1.5",
"is-electron": "^2.2.0",
"javascript-serialize": "^1.6.1",
"jest": "25.2.3",
"jquery": "^3.3.1",
"js-base64": "^2.1.9",
"js-beautify": "1.6.14",
@ -210,7 +225,14 @@
"nyc": "^13.3.0",
"onchange": "^3.2.1",
"prettier": "1.19.1",
"remix-analyzer": "0.5.2",
"remix-astwalker": "0.0.24",
"remix-debug": "0.4.4",
"remix-lib": "0.4.29",
"remix-simulator": "0.1.9-beta.5",
"remix-solidity": "0.3.30",
"remix-tabs": "1.0.48",
"remix-tests": "0.1.33",
"remixd": "0.1.8-alpha.16",
"request": "^2.83.0",
"rimraf": "^2.6.1",
@ -220,6 +242,7 @@
"swarmgw": "^0.3.1",
"tap-spec": "^5.0.0",
"tape": "^4.13.3",
"ts-jest": "25.2.1",
"ts-node": "~7.0.0",
"tslint": "~6.0.0",
"typescript": "~3.8.3",

@ -8,14 +8,44 @@
"schematics": {},
"architect": {
"build": {
"builder": "@nrwl/workspace:run-commands",
"builder": "@nrwl/web:build",
"options": {
"commands": [
"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": [
{
"command": "browserify apps/remix-ide/src/index.js -o apps/remix-ide/build/app.js --exclude solc"
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
}
]
}
}
},
"start": {
"builder": "@nrwl/workspace:run-commands",
@ -28,13 +58,14 @@
}
},
"serve": {
"builder": "@nrwl/workspace:run-commands",
"builder": "@nrwl/web:dev-server",
"options": {
"commands": [
{
"command": "npx http-server ./apps/remix-ide"
"buildTarget": "remix-ide:build"
},
"configurations": {
"production": {
"buildTarget": "remix-ide:build:production"
}
]
}
},
"lint": {
@ -42,10 +73,9 @@
"options": {
"linter": "eslint",
"config": "apps/remix-ide/.eslintrc",
"files": [
"apps/remix-ide/**/*.js"
],
"exclude": ["**/node_modules/**",
"files": ["apps/remix-ide/**/*.js"],
"exclude": [
"**/node_modules/**",
"apps/remix-ide/build/**/*.js",
"apps/remix-ide/src/app/editor/mode-solidity.js",
"apps/remix-ide/soljson.js",
@ -62,9 +92,7 @@
}
]
}
}
}
},
"remix-analyzer": {
@ -78,9 +106,7 @@
"options": {
"linter": "eslint",
"config": "libs/remix-analyzer/.eslintrc",
"tsConfig": [
"libs/remix-analyzer/tsconfig.lib.json"
],
"tsConfig": ["libs/remix-analyzer/tsconfig.lib.json"],
"exclude": ["**/node_modules/**", "libs/remix-analyzer/test/**/*"]
}
},
@ -118,9 +144,7 @@
"options": {
"linter": "eslint",
"config": "libs/remix-astwalker/.eslintrc",
"tsConfig": [
"libs/remix-astwalker/tsconfig.lib.json"
],
"tsConfig": ["libs/remix-astwalker/tsconfig.lib.json"],
"exclude": ["**/node_modules/**", "libs/remix-astwalker/tests/**/*"]
}
},
@ -198,9 +222,7 @@
"options": {
"linter": "eslint",
"config": "libs/remix-lib/.eslintrc",
"files": [
"libs/remix-lib/**/*.js"
],
"files": ["libs/remix-lib/**/*.js"],
"exclude": ["**/node_modules/**", "libs/remix-lib/test/**/*"]
}
},
@ -386,10 +408,119 @@
}
}
}
},
"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": {
"defaultCollection": "@nrwl/workspace"
"defaultCollection": "@nrwl/react"
},
"schematics": {
"@nrwl/workspace": {
@ -404,12 +535,15 @@
},
"@nrwl/react": {
"application": {
"linter": "eslint"
"style": "css",
"linter": "eslint",
"babel": true
},
"library": {
"linter": "eslint"
"component": {
"style": "css"
},
"storybook-configuration": {
"library": {
"style": "css",
"linter": "eslint"
}
},

Loading…
Cancel
Save