- Install Node.js version 10.x.x and npm version 6.13.4
- If you are using nvm (recommended) running
10.16.3will automatically choose the right node version for you. - Select npm 6.9.0:
npm install -g npm@6.9.0
- If you are using nvm (recommended) running
- Install dependencies:
npm install - Install gulp globally with
npm install -g gulp-cli. - Build the project to the
./dist/folder withgulp build. - Optionally, to rebuild on file changes, run
gulp dev. - To package .zip files for distribution, run
gulp zip, or run the full build & zip withgulp dist.
Uncompressed builds can be found in /dist, compressed builds can be found in /builds once they're built.
- Make a copy of the environment file
.lightstreamswalletrc.tocopyas.lightstreamswalletrc.tocopyand setETH_MAINNET_RPC_ENDPOINTandINFURA_PROJECT_IDvariables.
Then run:
$ METAMASK_DEBUG="true" gulp dev
METAMASK_DEBUG - This sends error messages to sentry.io. The HTTP address the error events are sent to, is hard coded in app/scripts/lib/setupRaven.js
- Open
Settings>Extensions. - Check "Developer mode".
- Alternatively, use the URL
chrome://extensions/in your address bar - At the top, click
Load Unpacked Extension. - Navigate to your
metamask-plugin/dist/chromefolder. - Click
Select.
You now have the plugin, and can click 'inspect views: background plugin' to view its dev console.
Requires mocha installed. Run npm install -g mocha.
Then just run npm test.
You can also test with a continuously watching process, via npm run watch.
You can run the linter by itself with gulp lint.
npm install
npm startnpm run distTo write tests that will be run in the browser using QUnit, add your test files to test/integration/lib.
- How to add custom build to Chrome
- How to add custom build to Firefox
- How to develop a live-reloading UI
- How to develop an in-browser mocked UI
- How to live reload on local dependency changes
- How to manage notices that appear when the app starts up
- How to use the TREZOR emulator
- How to generate a visualization of this repository's development
