qgustavor / mega

Unofficial JavaScript SDK for MEGA
https://mega.js.org/
MIT License
150 stars 42 forks source link
javascript typescript

MEGAJS

Unofficial JavaScript SDK for MEGA

API documentation and examples are available in the website: https://mega.js.org/

Contributing

Whenever you can, try contributing using pull requests!

IMPORTANT! Before opening issues or discussions, look at the documentation, look at the examples, look for existent issues, look for existent discussions, then, if you still think that's a issue, follow the issue template!

pr-release JavaScript Style Guide

How to contribute using pull requests:

Before creating a pull request, please, run tests. It will avoid a lot of common issues! You can run npm run lint-fix to fix common issues.

If you implement new features them implement tests for it too if possible. The hash at the end of test/helpers/test-runner.mjs may be updated if tests are updated in a way it change server state (like adding new files to tests).

Project history

This package started as a fork, with the following objectives:

Request package was replaced with a shim based in browser-request and xhr-stream, which additional changes in order to make it work inside Service Workers. Crypto was replaced with secure-random.

As there were many changes there isn't any plan to merge those changes into the original library, unless the original author accept those massive changes. That's why I put "js" in the name, which is silly because both libraries use JavaScript. At least it's better than other ideas I had, like "mega2", "mega-es" and "modern-mega".

In 1.0 release request was replaced with fetch, Deno support was added (including tests), TypeScript types were added, Rollup was replaced with esbuild, streaming libraries were updated or replaced and some issues were fixed.