Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

megajs

Package Overview
Dependencies
Maintainers
1
Versions
148
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

megajs

Unofficial JavaScript SDK for MEGA

  • 1.3.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
25K
increased by8.28%
Maintainers
1
Weekly downloads
 
Created
Source

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:

  • Fork the project
  • Clone it
  • Run npm install
  • Switch to a feature branch
  • Change the library
    • Fix issues
    • Add features
    • Refactor things
  • Update TypeScript types if needed
  • npm run lint-fix to fix common issues
  • Build the bundled versions using npm run build
  • Run at least Node tests using npm test node to test Node
  • Optionally run npm test deno to test Deno if you have it installed (CI will test Deno anyway)
  • Create a pull-request against next (not main)

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:

  • Make the original package work in browsers again: even following the instructions from the original library it stopped working because some dependencies used __proto__, which is non-standard and isn't supported in many browsers. Also the updated versions of those libraries broke backyards compatibility;
  • Reduce dependencies and replace big dependencies with smaller ones, like crypto libraries, which usually are huge;
  • Rewrite code using the new JavaScript syntax, allowing to use Rollup, which can generate smaller bundles;
  • Make tests work again after the changes above;
  • Continue the original library development implementing new features and improving performance.

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.

Keywords

FAQs

Package last updated on 16 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc