1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-22 17:33:23 +01:00
🦊 Minimalized version of MetaMask for my own personal use.
Go to file
Dan Finlay 78cdee23c0
Abstract domain provider from its stream transport (#6670)
* Abstract domain provider from its stream transport

Creating new provider-consuming extensions, like [a new
platform](https://github.com/MetaMask/metamask-extension/blob/develop/docs/porting_to_new_environment.md)
can be frustrating for new contributors because our provider
construction has been tangled with our streaming interface.

Here I've broken up our streaming domain connection from the provider
construction, so developers can more easily construct local and
domain-restricted providers without dealing with streams.

* Abstract public API from stream interface

* clean up noop

* Document non-streaming interface

* getSiteMetadata must be async

* Clean up filters on stream end

* Document cleaning up filters

* Allow named filterMiddleware to be cleaned up

* Linted

* Require site metadata

* Destroy any destroyable middleware during cleanup

* Lint
2019-07-15 16:28:04 -07:00
.circleci Remove Drizzle tests (#6855) 2019-07-15 17:10:46 -03:00
.github Add Mark Stacey (Kyokan) to UI CodeOwners (#6798) 2019-07-03 22:34:44 -02:30
.storybook Add storybook README.md file 2018-05-07 13:22:29 -07:00
app Abstract domain provider from its stream transport (#6670) 2019-07-15 16:28:04 -07:00
development Remove outdated development tools and documentation (#6845) 2019-07-15 14:24:37 -03:00
docs Abstract domain provider from its stream transport (#6670) 2019-07-15 16:28:04 -07:00
test Remove Drizzle tests (#6855) 2019-07-15 17:10:46 -03:00
ui Remove stray period from Learn More link (#6853) 2019-07-15 14:18:44 -02:30
.babelrc Remove unused Babel transformations (#6811) 2019-07-05 16:08:11 -03:00
.dockerignore mascara - ready to deploy via docker 2017-04-05 22:59:25 -07:00
.editorconfig Clean EditorConfig file 2019-05-23 07:17:42 -02:30
.eslintignore Lint .json files (#6852) 2019-07-15 11:03:22 -03:00
.eslintrc Remove unused expressions (#6839) 2019-07-12 12:41:39 -03:00
.gitattributes Show lockfile diffs on GitHub (#6857) 2019-07-15 17:40:05 -02:30
.gitignore Remove disc (#6801) 2019-07-04 11:54:10 -03:00
.nvmrc Update to Node.js v10 2019-06-27 11:46:13 -03:00
.stylelintignore mascara - remove from project (#6283) 2019-03-12 11:17:21 -02:30
.stylelintrc Lint and cleanup all scss 2017-08-14 10:31:27 +02:00
CHANGELOG.md Merge pull request #6832 from MetaMask/master-rebased 2019-07-12 10:58:19 -07:00
CONTRIBUTING.md update contributing.md 2018-07-05 17:52:26 -04:00
fonts Improved Ui Dev Mode 2016-07-01 14:23:37 -07:00
gentests.js Check for unused function arguments (#6583) 2019-05-08 15:51:33 -04:00
gulpfile.js Add React and Redux DevTools (#6793) 2019-07-11 12:27:06 -02:30
images Improved Ui Dev Mode 2016-07-01 14:23:37 -07:00
ISSUE_TEMPLATE Merge branch 'master' into NewUI-flat-merge-with-master 2017-12-06 21:11:52 -08:00
LICENSE License 2018-06-22 16:28:54 -04:00
MISSION.md Mission v2 2018-05-29 09:30:59 -07:00
package-lock.json Update lodash transitive dependencies (#6856) 2019-07-15 15:51:28 -03:00
package.json Remove Drizzle tests (#6855) 2019-07-15 17:10:46 -03:00
README.md Remove outdated development tools and documentation (#6845) 2019-07-15 14:24:37 -03:00
USER_AGREEMENT.md fix tos link; 2018-07-12 16:24:13 -04:00

MetaMask Browser Extension

Build Status Coverage Status

You can find the latest version of MetaMask on our official website. For help using MetaMask, visit our User Support Site.

For up to the minute news, follow our Twitter or Medium pages.

To learn how to develop MetaMask-compatible applications, visit our Developer Docs.

To learn how to contribute to the MetaMask project itself, visit our Internal Docs.

Building locally

  • Install Node.js version 10 and the latest available npm@6
    • If you are using nvm (recommended) running nvm use will automatically choose the right node version for you.
    • If you install Node.js manually, ensure you're using npm@6
      • Install npm@6 using npm install -g npm@6
  • Install dependencies: npm ci
    • If you have issues with node-sass compilation, try npm rebuild node-sass
  • Build the project to the ./dist/ folder with npm run dist.
  • Optionally, to start a development build (e.g. with logging and file watching) run npm start instead.

Uncompressed builds can be found in /dist, compressed builds can be found in /builds once they're built.

Contributing

You can read our internal docs here.

You can re-generate the docs locally by running npm run doc, and contributors can update the hosted docs by running npm run publish-docs.

Running Tests

Run tests with npm test.

You can also test with a continuously watching process, via npm run watch.

You can run the linter by itself with npm run lint.

Architecture

Architecture Diagram

Development

npm install
npm start

Build for Publishing

npm run dist

Writing Browser Tests

To write tests that will be run in the browser using QUnit, add your test files to test/integration/lib.

Other Docs