{ "name": "remix-project", "version": "0.40.0-dev", "license": "MIT", "description": "Ethereum Remix Monorepo", "keywords": [ "ethereum", "solidity", "compiler" ], "repository": { "type": "git", "url": "git+https://github.com/ethereum/remix-project.git" }, "author": "@yann300", "bugs": { "url": "https://github.com/ethereum/remix-project/issues" }, "homepage": "https://github.com/ethereum/remix-project#readme", "bin": { "remix-ide": "./apps/remix-ide/bin/remix-ide" }, "engines": { "node": "^20.0.0", "npm": "^6.14.15" }, "scripts": { "nx": "nx", "start": "nx start", "serve": "nx serve remix-ide --configuration=development", "serve:hot": "nx serve remix-ide --configuration=hot", "build": "nx build", "test": "nx test", "lint": "nx lint", "affected:apps": "nx affected:apps", "affected:libs": "nx affected:libs", "affected:build": "nx affected:build", "affected:test": "nx affected:test", "affected:lint": "nx affected:lint", "affected:dep-graph": "nx affected:dep-graph", "affected": "nx affected", "format": "nx format:write", "format:write": "nx format:write", "format:check": "nx format:check", "update": "nx migrate latest", "workspace-schematic": "nx workspace-schematic", "dep-graph": "nx dep-graph", "help": "nx help", "lint-entire": "prettier --write {apps,libs}/**/*.{js,ts,tsx}", "lint:libs": "nx run-many --target=lint --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remix-ws-templates,remixd,remix-ui-tree-view,remix-ui-modal-dialog,remix-ui-toaster,remix-ui-helper,remix-ui-debugger-ui,remix-ui-workspace,remix-ui-static-analyser,remix-ui-checkbox,remix-ui-settings,remix-core-plugin,remix-ui-renderer,remix-ui-publish-to-storage,remix-ui-solidity-compiler,solidity-unit-testing,remix-ui-plugin-manager,remix-ui-terminal,remix-ui-editor,remix-ui-app,remix-ui-tabs,remix-ui-panel,remix-ui-run-tab,remix-ui-permission-handler,remix-ui-search,remix-ui-file-decorators,remix-ui-tooltip-popup,ghaction-helper", "build:libs": "nx run-many --target=build --parallel=false --with-deps=true --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remix-ws-templates,remixd,ghaction-helper", "test:libs": "nx run-many --target=test --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-tests,remix-url-resolver", "publish:libs": "yarn run build:libs && lerna publish --skip-git && yarn run bumpVersion:libs", "publishDev:libs": "yarn run build:libs && lerna publish --npm-tag alpha --skip-git && yarn run bumpVersion:libs", "build:e2e": "node apps/remix-ide-e2e/src/buildGroupTests.js && tsc -p apps/remix-ide-e2e/tsconfig.e2e.json", "babel": "babel", "watch:e2e": "nodemon", "bumpVersion:libs": "gulp & gulp syncLibVersions;", "browsertest": "sleep 5 && yarn run nightwatch_local", "csslint": "csslint --ignore=order-alphabetical --errors='errors,duplicate-properties,empty-rules' --exclude-list='apps/remix-ide/src/assets/css/font-awesome.min.css' apps/remix-ide/src/assets/css/", "downloadsolc_assets_e2e": "node ./apps/remix-ide/ci/download_e2e_assets.js", "make-mock-compiler": "node apps/remix-ide/ci/makeMockCompiler.js", "minify": "uglifyjs --in-source-map inline --source-map-inline -c warnings=false", "build:production": "NODE_ENV=production nx build remix-ide --configuration=production --skip-nx-cache", "serve:production": "npx http-server ./dist/apps/remix-ide", "select_test": "bash apps/remix-ide-e2e/src/select_tests.sh", "group_test": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/${npm_config_test}_group${npm_config_group}.test.js --env=${npm_config_env}", "nightwatch_parallel": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js --env=chrome,firefox", "nightwatch_local_firefox": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js --env=firefox", "nightwatch_local_chrome": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js --env=chrome", "nightwatch_local_ballot": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/ballot.test.js --env=chrome", "nightwatch_local_ballot_0_4_14": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/ballot_0_4_14.test.js --env=chrome", "nightwatch_local_usingWorker": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/usingWebWorker.test.js --env=chrome", "nightwatch_local_libraryDeployment": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/libraryDeployment.test.js --env=chrome", "nightwatch_local_solidityImport": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/solidityImport_*.test.js --env=chrome", "nightwatch_local_recorder": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/recorder.test.js --env=chrome", "nightwatch_local_transactionExecution": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/transactionExecution_*.test.js --env=chrome", "nightwatch_local_staticAnalysis": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/staticAnalysis.test.js --env=chrome", "nightwatch_local_signingMessage": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/signingMessage.test.js --env=chrome", "nightwatch_local_specialFunctions": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/specialFunctions_*.test.js --env=chrome", "nightwatch_local_solidityUnitTests": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/solidityUnittests_*.test.js --env=chrome", "nightwatch_local_remixd": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/remixd.test.js --env=chrome", "nightwatch_local_terminal": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/terminal_*.test.js --env=chrome", "nightwatch_local_gist": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/gist.test.js --env=chrome", "nightwatch_local_workspace": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/workspace.test.js --env=chrome", "nightwatch_local_defaultLayout": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/defaultLayout.test.js --env=chrome", "nightwatch_local_pluginManager": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/pluginManager.test.js --env=chrome", "nightwatch_local_publishContract": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/publishContract.test.js --env=chrome", "nightwatch_local_generalSettings": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/generalSettings.test.js --env=chrome", "nightwatch_local_fileExplorer": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/fileExplorer.test.js --env=chrome", "nightwatch_local_debugger": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/debugger_*.test.js --env=chrome", "nightwatch_local_editor": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/editor.test.js --env=chrome", "nightwatch_local_importFromGithub": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/importFromGithub.test.js --env=chrome", "nightwatch_local_compiler": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/compiler_api.test.js --env=chrome", "nightwatch_local_txListener": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/txListener.test.js --env=chrome", "nightwatch_local_fileManager": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/fileManager_api.test.js --env=chrome", "nightwatch_local_runAndDeploy": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/runAndDeploy.js --env=chrome-runAndDeploy", "nightwatch_local_url": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/url.test.js --env=chrome", "nightwatch_local_verticalIconscontextmenu": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/verticalIconsPanel.test.js --env=chrome", "nightwatch_local_pluginApi": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/plugin_api_*.js --env=chrome", "nightwatch_local_migrate_filesystem": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/migrateFileSystem.test.js --env=chrome", "nightwatch_local_proxy": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/proxy.test.js --env=chrome", "nightwatch_local_stress_editor": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/stressEditor.test.js --env=chromeDesktop", "nightwatch_local_search": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/search.test.js --env=chromeDesktop", "nightwatch_local_providers": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/providers.test.js --env=chromeDesktop", "nightwatch_local_walkthrough": "yarn run build:e2e && nightwatch --config dist/apps/remix-ide-e2e/nightwatch.js dist/apps/remix-ide-e2e/src/tests/walkthrough.test.js --env=chromeDesktop", "onchange": "onchange apps/remix-ide/build/app.js -- npm-run-all lint", "remixd": "nx build remixd && chmod +x dist/libs/remixd/src/bin/remixd.js && dist/libs/remixd/src/bin/remixd.js --remix-ide http://127.0.0.1:8080", "simulator": "nx build remix-simulator && chmod +x dist/libs/remix-simulator/bin/ethsim && dist/libs/remix-simulator/bin/ethsim start --rpc", "selenium": "selenium-standalone start", "selenium-install": "selenium-standalone install", "sourcemap": "exorcist --root ../ apps/remix-ide/build/app.js.map > apps/remix-ide/build/app.js", "test-browser": "npm-run-all -lpr selenium make-mock-compiler serve browsertest", "watch": "watchify apps/remix-ide/src/index.js -dv -p browserify-reload -o apps/remix-ide/build/app.js --exclude solc", "reinstall": "rm ./node-modules/ -rf && rm yarn.lock && rm ./build/ -rf && yarn install & yarn run build", "ganache": "npx ganache", "build-contracts": "find ./node_modules/@openzeppelin/contracts | grep -i '.sol' > libs/remix-ui/editor/src/lib/providers/completion/contracts/contracts.txt && find ./node_modules/@uniswap/v3-core/contracts | grep -i '.sol' >> libs/remix-ui/editor/src/lib/providers/completion/contracts/contracts.txt" }, "dependencies": { "@babel/plugin-proposal-class-properties": "^7.16.0", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@erebos/bzz-node": "^0.13.0", "@ethereumjs/block": "^4.2.0", "@ethereumjs/common": "^3.1.1", "@ethereumjs/evm": "^1.3.1", "@ethereumjs/statemanager": "^1.0.4", "@ethereumjs/tx": "^4.1.1", "@ethereumjs/util": "^8.0.5", "@ethereumjs/vm": "^6.4.1", "@ethersphere/bee-js": "^3.2.0", "@isomorphic-git/lightning-fs": "^4.4.1", "@openzeppelin/contracts": "^5.0.0", "@openzeppelin/upgrades-core": "^1.30.0", "@openzeppelin/wizard": "0.4.0", "@remixproject/engine": "0.3.33", "@remixproject/engine-web": "0.3.33", "@remixproject/plugin": "0.3.33", "@remixproject/plugin-api": "0.3.33", "@remixproject/plugin-utils": "0.3.33", "@remixproject/plugin-webview": "0.3.33", "@remixproject/plugin-ws": "0.3.33", "@types/nightwatch": "^2.3.1", "@web3modal/ethereum": "^2.7.1", "@web3modal/react": "^2.6.2", "@xenova/transformers": "^2.7.0", "ansi-gray": "^0.1.1", "assert": "^2.1.0", "async": "^2.6.2", "axios": "1.6.0", "bn.js": "^5.1.2", "bootstrap": "^5.2.2", "brace": "^0.8.0", "change-case": "^4.1.1", "chokidar": "^2.1.8", "circom_wasm": "^0.1.0", "color-support": "^1.1.3", "commander": "^9.4.1", "core-js": "^3.6.5", "cors": "^2.8.5", "create-hash": "^1.2.0", "deep-equal": "^1.0.1", "document-register-element": "1.13.1", "eslint-config-prettier": "^8.5.0", "ethers": "^5", "ethjs-util": "^0.1.6", "express": "^4.18.2", "express-ws": "^5.0.2", "file-path-filter": "^3.0.2", "file-saver": "^2.0.5", "form-data": "^4.0.0", "formik": "^2.2.9", "from-exponential": "1.1.1", "fs-extra": "^3.0.1", "ganache": "^7.9.1", "html-react-parser": "^3.0.4", "http-server": "^14.1.1", "intro.js": "^4.1.0", "isbinaryfile": "^3.0.2", "isomorphic-git": "^1.25.0", "jquery": "^3.3.1", "js-yaml": "^4.1.0", "jspdf": "^2.5.1", "jszip": "^3.6.0", "latest-version": "^5.1.0", "merge": "^2.1.1", "npm-install-version": "^6.0.2", "openai": "^3.3.0", "path-browserify": "^1.0.1", "prettier": "^2.8.4", "prettier-plugin-solidity": "^1.0.0-beta.24", "raw-loader": "^4.0.2", "react": "^17.0.2", "react-beautiful-dnd": "^13.1.0", "react-bootstrap": "^1.6.4", "react-dom": "^17.0.2", "react-draggable": "^4.4.4", "react-image-magnifiers": "^1.4.0", "react-intl": "^6.0.4", "react-json-view": "^1.21.3", "react-markdown": "^8.0.5", "react-multi-carousel": "^2.8.2", "react-router-dom": "^6.3.0", "react-tabs": "^3.2.2", "react-zoom-pan-pinch": "^3.0.2", "regenerator-runtime": "0.13.7", "rlp": "^3.0.0", "remark-gfm": "^3.0.1", "rss-parser": "^3.12.0", "signale": "^1.4.0", "snarkjs": "^0.7.0", "sol2uml": "^2.4.3", "string-similarity": "^4.0.4", "svg2pdf.js": "^2.2.1", "time-stamp": "^2.2.0", "toml": "^3.0.0", "tree-kill": "^1.2.2", "ts-loader": "^9.2.6", "tslib": "^2.3.0", "viem": "^1.6.0", "wagmi": "^1.3.10", "web3": "^4.1.0", "winston": "^3.3.3", "ws": "^7.3.0" }, "devDependencies": { "@babel/cli": "^7.19.3", "@babel/core": "^7.19.6", "@babel/plugin-transform-modules-amd": "^7.10.4", "@babel/plugin-transform-modules-commonjs": "^7.19.6", "@babel/plugin-transform-object-assign": "^7.2.0", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-runtime": "^7.10.4", "@babel/polyfill": "^7.4.4", "@babel/preset-env": "^7.19.4", "@babel/preset-react": "^7.18.6", "@babel/preset-stage-0": "^7.0.0", "@babel/preset-typescript": "^7.18.6", "@babel/register": "^7.4.4", "@fortawesome/fontawesome-free": "^5.8.1", "@monaco-editor/react": "4.5.1", "@nrwl/cli": "^15.7.1", "@nrwl/eslint-plugin-nx": "^15.7.1", "@nrwl/js": "15.7.1", "@nrwl/linter": "15.7.1", "@nrwl/node": "15.7.1", "@nrwl/react": "15.7.1", "@nrwl/tao": "^15.7.1", "@nrwl/web": "15.7.1", "@nrwl/webpack": "15.7.1", "@nrwl/workspace": "^15.7.1", "@openzeppelin/contracts-upgradeable": "^5.0.0", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10", "@svgr/webpack": "^6.5.1", "@testing-library/react": "13.4.0", "@types/axios": "^0.14.0", "@types/chai": "^4.3.3", "@types/express-ws": "^3.0.1", "@types/fs-extra": "^9.0.1", "@types/isomorphic-git__lightning-fs": "^4.4.2", "@types/lodash": "^4.14.172", "@types/mocha": "^9.1.1", "@types/node": "18.16.1", "@types/react": "^17.0.24", "@types/react-beautiful-dnd": "^13.1.2", "@types/react-dom": "^17.0.9", "@types/react-image-magnifiers": "^1.3.2", "@types/react-router-dom": "^5.3.0", "@types/request": "^2.48.7", "@types/semver": "^7.3.10", "@types/tape": "^4.13.0", "@types/ws": "^7.2.4", "@typescript-eslint/eslint-plugin": "^5.40.1", "@typescript-eslint/parser": "^5.40.1", "@uniswap/v2-core": "^1.0.1", "@uniswap/v3-core": "^1.0.1", "ace-mode-lexon": "^1.*.*", "ace-mode-move": "0.0.1", "ace-mode-solidity": "^0.1.0", "ace-mode-zokrates": "^1.0.4", "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-replace-ts-export-assignment": "^0.0.2", "babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-preset-env": "^1.7.0", "babel-preset-typescript": "^7.0.0-alpha.19", "babelify": "^10.0.0", "browserify": "^17.0.0", "browserify-reload": "^1.0.3", "browserify-zlib": "^0.2.0", "buffer": "^6.0.3", "chai": "^4.3.7", "child_process": "^1.0.2", "colors": "^1.4.0", "colors-browserify": "^0.1.1", "component-type": "^1.2.1", "constants-browserify": "^1.0.0", "copy-to-clipboard": "^3.3.1", "copy-webpack-plugin": "^11.0.0", "crypto-browserify": "^3.12.0", "csjs-inject": "^1.0.1", "css-loader": "^6.7.1", "css-minimizer-webpack-plugin": "^4.2.2", "csslint": "^1.0.2", "dotenv": "^8.2.0", "eslint": "^8.26.0", "eslint-config-standard": "^14.1.1", "eslint-plugin-import": "2.26.0", "eslint-plugin-jsx-a11y": "6.6.1", "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "4.2.1", "eslint-plugin-react": "7.31.8", "eslint-plugin-react-hooks": "4.6.0", "eslint-plugin-standard": "4.0.1", "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", "gists": "^1.0.1", "gulp": "^4.0.2", "hardhat": "^2.14.0", "https-browserify": "^1.0.0", "husky": "^8.0.0", "ipfs-http-client": "^47.0.1", "ipfs-mini": "^1.1.5", "is-electron": "^2.2.0", "javascript-serialize": "^1.6.1", "js-base64": "^2.1.9", "js-beautify": "1.6.14", "lerna": "^3.22.1", "lint-staged": "^13.2.3", "minixhr": "^4.0.0", "mkdirp": "^0.5.1", "mocha": "^8.0.1", "monaco-editor": "0.41.0", "nanohtml": "^1.6.3", "nightwatch": "^2.3", "nodemon": "^2.0.4", "notify-error": "^1.2.0", "npm-link-local": "^1.1.0", "npm-merge-driver": "^2.3.5", "npm-run-all": "^4.0.2", "nx": "15.7.1", "nyc": "^13.3.0", "onchange": "^3.2.1", "os-browserify": "^0.3.0", "process": "^0.11.10", "react-refresh": "^0.14.0", "react-test-renderer": "^17.0.2", "request": "^2.83.0", "rimraf": "^2.6.1", "selenium-standalone": "^9.0.3", "semver": "^7.4.0", "solc": "^0.7.4", "stream-browserify": "^3.0.0", "stream-http": "^3.2.0", "style-loader": "^3.3.1", "tap-spec": "^5.0.0", "tape": "^4.13.3", "terser-webpack-plugin": "^5.3.6", "timers-browserify": "^2.0.12", "ts-node": "10.9.1", "tslint": "~6.0.0", "typescript": "^4.8.4", "uglify-js": "^2.8.16", "url": "^0.11.0", "vm-browserify": "^1.1.2", "watchify": "^3.9.0", "webpack": "^5.75.0", "webpack-bundle-analyzer": "^4.7.0", "webpack-cli": "^4.10.0" }, "resolutions": { "@types/react": "^17.0.24" } }