Skip to content

Remixd electron app #3587

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 147 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
989f778
basic app
bunsenstraat Mar 31, 2023
9cf70c1
improve the app
bunsenstraat Mar 31, 2023
6fd59cf
basic app
bunsenstraat Mar 31, 2023
6d16b94
improve the app
bunsenstraat Mar 31, 2023
1519076
Merge branch 'remixdapp' of https://github.com/ethereum/remix-project…
bunsenstraat Mar 31, 2023
2fa534d
rm lint
bunsenstraat Mar 31, 2023
f5f36ad
rm file
bunsenstraat Mar 31, 2023
ed622e6
ui
bunsenstraat Mar 31, 2023
5d866b6
li
bunsenstraat Mar 31, 2023
3615f7f
Merge branch 'master' of https://github.com/ethereum/remix-project in…
bunsenstraat May 11, 2023
257ada1
first version
bunsenstraat May 24, 2023
0c1b5f8
e2e
bunsenstraat May 24, 2023
1504df1
rm debug
bunsenstraat May 24, 2023
34c3e63
POC test
bunsenstraat May 24, 2023
e4e8a2e
CI
bunsenstraat May 24, 2023
683f61d
ci
bunsenstraat May 24, 2023
73dfbff
ci
bunsenstraat May 24, 2023
51cc2cd
typo
bunsenstraat May 24, 2023
6887e32
make
bunsenstraat May 24, 2023
51f6e1d
yarn
bunsenstraat May 24, 2023
01522b0
make
bunsenstraat May 24, 2023
3da04ee
ls
bunsenstraat May 24, 2023
dbd1149
rpmbuild
bunsenstraat May 24, 2023
836c688
sudo
bunsenstraat May 24, 2023
7024b00
rpm
bunsenstraat May 24, 2023
2dbb932
rpm
bunsenstraat May 24, 2023
7a36307
update
bunsenstraat May 24, 2023
1c56b83
more packages
bunsenstraat May 24, 2023
852b943
executableName
bunsenstraat May 24, 2023
3ffe3cd
name
bunsenstraat May 24, 2023
c889cc6
RemixConnect
bunsenstraat May 24, 2023
5f565d8
find show
bunsenstraat May 24, 2023
87f5350
macci
bunsenstraat May 24, 2023
fb23fa7
res class
bunsenstraat May 24, 2023
6b979e0
modules
bunsenstraat May 24, 2023
47d2e93
linux build
bunsenstraat May 24, 2023
df43d74
package
bunsenstraat May 24, 2023
6a20a31
windows
bunsenstraat May 24, 2023
0b9a870
bash
bunsenstraat May 24, 2023
a5d1d60
check node
bunsenstraat May 24, 2023
bc64d60
cinst
bunsenstraat May 24, 2023
9a3a980
version
bunsenstraat May 24, 2023
47d5beb
yarn
bunsenstraat May 24, 2023
57cde9d
y
bunsenstraat May 24, 2023
297e0db
wind
bunsenstraat May 25, 2023
ce2b08a
node
bunsenstraat May 25, 2023
73c7ed6
config
bunsenstraat May 25, 2023
8781bdc
20
bunsenstraat May 25, 2023
8f7dbdb
version
bunsenstraat May 25, 2023
3285544
version
bunsenstraat May 25, 2023
d287f92
version
bunsenstraat May 25, 2023
efa2742
n20
bunsenstraat May 25, 2023
cffa2d7
check
bunsenstraat May 25, 2023
ec37e62
yarn
bunsenstraat May 25, 2023
a709afa
16
bunsenstraat May 25, 2023
8d961dd
yarn
bunsenstraat May 25, 2023
d973e11
dir
bunsenstraat May 25, 2023
60b94da
xlarge
bunsenstraat May 25, 2023
fc86678
large
bunsenstraat May 25, 2023
a65aead
medium
bunsenstraat May 25, 2023
2f8da81
make
bunsenstraat May 25, 2023
4c8e5d1
cd
bunsenstraat May 25, 2023
4fb4187
package
bunsenstraat May 25, 2023
4df1341
default url
bunsenstraat May 25, 2023
0906962
just nvm
bunsenstraat May 25, 2023
3316da3
19
bunsenstraat May 25, 2023
6e8f004
18
bunsenstraat May 25, 2023
524912b
commands
bunsenstraat May 25, 2023
1099431
list available
bunsenstraat May 25, 2023
3304a7a
18.16
bunsenstraat May 25, 2023
f58c47e
20.2.0
bunsenstraat May 25, 2023
3d89e6a
20.0
bunsenstraat May 25, 2023
188e307
testmac
bunsenstraat May 25, 2023
e3f9f4c
indent
bunsenstraat May 25, 2023
ce9664e
config
bunsenstraat May 25, 2023
a6b9d61
typo
bunsenstraat May 25, 2023
3f4c25f
typo
bunsenstraat May 25, 2023
ed5077a
types
bunsenstraat May 25, 2023
eb91e5d
test mac
bunsenstraat May 25, 2023
ac1bc3e
wait for build
bunsenstraat May 25, 2023
03d7ee1
host IDE
bunsenstraat May 25, 2023
03fb6bb
paralel
bunsenstraat May 25, 2023
2b01f33
deep equal
bunsenstraat May 25, 2023
0fba565
browsers
bunsenstraat May 25, 2023
4adb4f5
linux test
bunsenstraat May 25, 2023
208048d
attach
bunsenstraat May 25, 2023
192f39e
browser windows
bunsenstraat May 25, 2023
4799b8b
start win selenium
bunsenstraat May 25, 2023
7ec9961
list files
bunsenstraat May 25, 2023
f207131
dir
bunsenstraat May 25, 2023
2736ea2
dir
bunsenstraat May 25, 2023
35d3327
test windows
bunsenstraat May 25, 2023
4f7b9f3
test windows
bunsenstraat May 25, 2023
3ce1301
test windows
bunsenstraat May 25, 2023
0b34214
yarn
bunsenstraat May 25, 2023
38b50f0
config
bunsenstraat May 25, 2023
c8b1277
http server
bunsenstraat May 25, 2023
c981f7f
bash
bunsenstraat May 25, 2023
b5b47ad
test windows
bunsenstraat May 26, 2023
b4b7b8b
windows
bunsenstraat May 26, 2023
abf1cf6
windows
bunsenstraat May 26, 2023
26f994d
nvm
bunsenstraat May 26, 2023
aabba78
bash test
bunsenstraat May 26, 2023
d6d8969
bash
bunsenstraat May 26, 2023
b993eb3
use
bunsenstraat May 26, 2023
3549d11
bash
bunsenstraat May 26, 2023
50f0a33
yarn
bunsenstraat May 26, 2023
e41d224
yarn
bunsenstraat May 26, 2023
20895e9
program data
bunsenstraat May 26, 2023
243d915
cache node
bunsenstraat May 26, 2023
eb28c9c
typo
bunsenstraat May 26, 2023
2aadfbe
indent
bunsenstraat May 26, 2023
0beb7f7
path
bunsenstraat May 26, 2023
bd8f3b9
checksum
bunsenstraat May 26, 2023
750e95e
path
bunsenstraat May 26, 2023
d15afff
path
bunsenstraat May 26, 2023
4f4e430
CHANGELOG.md
bunsenstraat May 26, 2023
a2f9756
v2
bunsenstraat May 26, 2023
bfdfa7b
restore
bunsenstraat May 26, 2023
118e199
v3
bunsenstraat May 26, 2023
a06eef2
refactor
bunsenstraat May 26, 2023
d218ed3
space
bunsenstraat May 26, 2023
ce36e42
cache
bunsenstraat May 26, 2023
376aaf5
nvm
bunsenstraat May 26, 2023
7f08687
path
bunsenstraat May 26, 2023
de2107f
MicrosoftEdge
bunsenstraat May 26, 2023
be4762f
edge version
bunsenstraat May 26, 2023
0e0e505
mv cmd
bunsenstraat May 26, 2023
437c06c
mv cmd
bunsenstraat May 26, 2023
34db437
maxim
bunsenstraat May 26, 2023
749d496
http-server
bunsenstraat May 26, 2023
f58c1ce
test app
bunsenstraat May 26, 2023
3af84d4
caching
bunsenstraat May 26, 2023
e0aed97
typo
bunsenstraat May 26, 2023
cc40bdf
format
bunsenstraat May 26, 2023
8713e60
restore cache
bunsenstraat May 26, 2023
8d14f32
rename
bunsenstraat May 26, 2023
4db94ef
nvm
bunsenstraat May 26, 2023
a933443
nvm
bunsenstraat May 26, 2023
645c4d5
rm persist
bunsenstraat May 26, 2023
037eb80
mv job
bunsenstraat May 26, 2023
a158b43
timing
bunsenstraat May 26, 2023
bc73b6d
contracts path
bunsenstraat May 26, 2023
f78be8a
restore path
bunsenstraat May 26, 2023
8073bc0
restore timing
bunsenstraat May 26, 2023
ff998dd
set contracts
bunsenstraat May 26, 2023
e6a92a1
mv contracts
bunsenstraat May 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
226 changes: 226 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ parameters:
default: false
orbs:
browser-tools: circleci/[email protected]
win: circleci/[email protected] # The Windows orb gives you everything you need to start using the Windows executor.
jobs:
build:
docker:
Expand Down Expand Up @@ -77,6 +78,210 @@ jobs:
paths:
- "persist"

build-remixd-windows:
executor:
name: win/default # executor type
size: medium # can be medium, large, xlarge, 2xlarge
shell: bash.exe
working_directory: ~/remix-project
steps:
- checkout
- restore_cache:
key: node-20-windows-v3
- run:
command: |
nvm install 20.0.0
nvm use 20.0.0
node -v
npx -v
npm install --global yarn http-server
yarn -v
- save_cache:
key: node-20-windows-v3
paths:
- /ProgramData/nvm/v20.0.0

- restore_cache:
keys:
- remixd-windows-deps-{{ checksum "apps/remixd-app/yarn.lock" }}
- run:
command: |
cd apps/remixd-app/
yarn
yarn package
yarn selenium-install
- save_cache:
key: remixd-windows-deps-{{ checksum "apps/remixd-app/yarn.lock" }}
paths:
- apps/remixd-app/node_modules
- persist_to_workspace:
root: .
paths:
- "apps/remixd-app/out"

test-remixd-ui-win:
executor:
name: win/default # executor type
size: medium # can be medium, large, xlarge, 2xlarge
shell: bash.exe
working_directory: ~/remix-project
steps:
- restore_cache:
key: node-20-windows-v3
- run:
command: |
nvm install 20.0.0
nvm use 20.0.0
node -v
- checkout
- attach_workspace:
at: . # this is the out folder of the remixd app + remix IDE
- run: unzip ./persist/dist.zip # this is the IDE build
- restore_cache:
keys:
- remixd-windows-deps-{{ checksum "apps/remixd-app/yarn.lock" }}
- run:
command: |
cd apps/remixd-app/
yarn selenium-start
background: true
- run:
command: |
http-server dist/apps/remix-ide
background: true
- run:
command: |
cd apps/remixd-app/
yarn test:browser:edge & yarn test:app:windows
- store_test_results:
path: ./apps/remixd-app/reports/tests
- store_artifacts:
path: ./apps/remixd-app/reports/screenshots

build-remixd-ui-mac:
macos:
xcode: 14.2.0
resource_class:
macos.x86.medium.gen2
working_directory: ~/remix-project
steps:
- checkout
- restore_cache:
keys:
- remixd-deps-mac-{{ checksum "apps/remixd-app/yarn.lock" }}
- run: cd apps/remixd-app && yarn
- save_cache:
key: remixd-deps-mac-{{ checksum "apps/remixd-app/yarn.lock" }}
paths:
- apps/remixd-app/node_modules
- run:
command: |
cd apps/remixd-app
yarn package
- persist_to_workspace:
root: .
paths:
- "apps/remixd-app/out"


test-remixd-ui-mac:
macos:
xcode: 14.2.0
resource_class:
macos.x86.medium.gen2
working_directory: ~/remix-project
steps:
- checkout
- attach_workspace:
at: . # this is the out folder of the remixd app + remix IDE
- restore_cache:
keys:
- remixd-deps-mac-{{ checksum "apps/remixd-app/yarn.lock" }}
- run: cd apps/remixd-app && yarn && yarn selenium-install
- save_cache:
key: remixd-deps-mac-{{ checksum "apps/remixd-app/yarn.lock" }}
paths:
- apps/remixd-app/node_modules
- run: unzip ./persist/dist.zip # this is the IDE build
- browser-tools/install-browser-tools:
install-firefox: false
install-chrome: true
install-geckodriver: false
install-chromedriver: true
- run:
name: Start Selenium
command: cd apps/remixd-app && yarn run selenium-start
background: true
- run:
name: Start IDE
command: cd dist/apps/remix-ide && npx http-server .
background: true
- run:
command: |
cd apps/remixd-app
yarn test:app:macos & yarn test:browser:chrome


build-remixd-ui-linux:
docker:
- image: cimg/node:20.0.0-browsers
resource_class:
xlarge
working_directory: ~/remix-project
steps:
- checkout
- restore_cache:
keys:
- remixd-linux-deps-{{ checksum "apps/remixd-app/yarn.lock" }}
- run: cd apps/remixd-app && yarn
- save_cache:
key: remixd-linux-deps-{{ checksum "apps/remixd-app/yarn.lock" }}
paths:
- apps/remixd-app/node_modules
- run: sudo apt update && sudo apt install rpm dpkg fakeroot
- run: cd apps/remixd-app && yarn package
- persist_to_workspace:
root: .
paths:
- "apps/remixd-app/out"

test-remixd-ui-linux:
docker:
- image: cimg/node:20.0.0-browsers
resource_class:
xlarge
working_directory: ~/remix-project
steps:
- checkout
- attach_workspace:
at: . # this is the out folder of the remixd app + remix IDE
- restore_cache:
keys:
- remixd-linux-deps-{{ checksum "apps/remixd-app/yarn.lock" }}
- run: cd apps/remixd-app && yarn && yarn selenium-install
- save_cache:
key: remixd-linux-deps-{{ checksum "apps/remixd-app/yarn.lock" }}
paths:
- apps/remixd-app/node_modules
- run: unzip ./persist/dist.zip # this is the IDE build
- browser-tools/install-browser-tools:
install-firefox: false
install-chrome: true
install-geckodriver: false
install-chromedriver: true
- run:
name: Start Selenium
command: cd apps/remixd-app && yarn run selenium-start
background: true
- run:
name: Start IDE
command: cd dist/apps/remix-ide && npx http-server .
background: true
- run:
command: |
cd apps/remixd-app
yarn test:app:linux & yarn test:browser:chrome

lint:
docker:
- image: cimg/node:20.0.0-browsers
Expand Down Expand Up @@ -286,6 +491,7 @@ workflows:
build_all:
unless: << pipeline.parameters.run_flaky_tests >>
jobs:

- build
- build-plugin:
matrix:
Expand All @@ -308,6 +514,24 @@ workflows:
exclude:
- plugin: plugin_api
parallelism: 1

- build-remixd-windows
- build-remixd-ui-mac
- build-remixd-ui-linux
- test-remixd-ui-win:
requires:
- build
- build-remixd-windows

- test-remixd-ui-mac:
requires:
- build
- build-remixd-ui-mac

- test-remixd-ui-linux:
requires:
- build
- build-remixd-ui-linux

- remix-ide-browser:
requires:
Expand All @@ -324,6 +548,8 @@ workflows:
- remix-libs
- remix-ide-browser
- plugins
- test-remixd-ui-linux
- test-remixd-ui-mac

- predeploy:
filters:
Expand Down
16 changes: 16 additions & 0 deletions apps/remixd-app/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"env": {
"browser": true,
"es6": true,
"node": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:import/recommended",
"plugin:import/electron",
"plugin:import/typescript"
],
"parser": "@typescript-eslint/parser"
}
94 changes: 94 additions & 0 deletions apps/remixd-app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock
.DS_Store

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# next.js build output
.next

# nuxt.js build output
.nuxt

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# Webpack
.webpack/

# Vite
.vite/

# Electron-Forge
out/

reports/
16 changes: 16 additions & 0 deletions apps/remixd-app/compiler_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

{
"language": "Solidity",
"settings": {
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"": ["ast"],
"*": ["abi", "metadata", "devdoc", "userdoc", "storageLayout", "evm.legacyAssembly", "evm.bytecode", "evm.deployedBytecode", "evm.methodIdentifiers", "evm.gasEstimates", "evm.assembly"]
}
}
}
}
Loading