Giter Site home page Giter Site logo

lib-cemu's Introduction

logo
lib-cemu

Lightweight Node.js library for Cemu utils

Docs - Changelog - License - Features - Installation - Usage - Contributing

npm size license style
dependencies vulnerabilities

Features

lib-cemu is meant to help create Cemu utilities without having to deal with all the annoying stuff or to include huge wrappers.
I was originally planning to create a frontend with these capacities but decided to create a library instead. I think Cemu is here to stay and that the devs shouldn't have to work on these kind of features or build them into the emulator.
And if it's our job, we should have good tools to do it.

lib-cemu is

  • Lightweight. No useless dependencies, just what you need.
  • Promise based. Every function performing async operations returns a Promise. (Or you can use callbacks (but you shouldn't (learn how to use promises (you'll thank me later.))))
  • Well documented. The docs are generated automatically on every commit, so they are always complete and up-to-date.

Profiles

Create different profiles to easily store and switch between savegames and settings.

  • Create, edit and delete
  • Save and load
  • Upload and download from Google Drive

Cemu Releases

Download, install, update, manage settings and more.

  • Download and install
  • Update
  • Manage settings

Games

Manage games and get various information about them.

  • Import games from meta.xml or settings.xml
  • Launch games with a selected profile
  • Parse game information from the Cemu wiki
  • Create custom Steam shortcuts

Misc

  • Save and load shader caches (Sharing shader caches is piracy. Only use yours and do not share them.)

Suggestions

Have any suggestions or feature requests ? Just open an issue.

Installation

# If you use npm >= 5
$ npm i lib-cemu

# If you use npm < 5
$ npm i -S lib-cemu

# If you use yarn (you should)
$ yarn add lib-cemu

Usage

The library is not ready for production use yet. Check back when 1.0.0 comes out or read the docs.

Contributing

NO CONTRIBUTION RELATED TO PIRACY WILL BE ACCEPTED

Basic

  • Test everything and add test scripts when possible.

Formatting

  • This library uses the JavaScript Standard Style. It is automatically applied when committing and checked when pushing. You can run the lint command to apply it or the lint-test command to check if it is applied.
  • Everything you add should be documented using the JSDoc format and following the style already in use. You can run the docs command to automatically generate the docs. They are also automatically generated when committing.
  • Wrap long lines when possible, this makes everything much more eye-pleasing.

Logic

  • Classes should not be accessible directly but only through functions.
  • Functions containing async operations must return a Promise and accept a callback(error) function as an optional parameter for flexibility. If the function creates something that is not one of the arguments, return it with the promise and pass it to the callback (callback(value, err)).
  • There should be as few dependencies as possible. Keep it small and simple.

Contributors

Raphaël Thériault

lib-cemu's People

Contributors

dependabot-preview[bot] avatar raftario avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.