Skip to content

MagicMirrorOrg/MagicMirror-3rd-Party-Modules

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

MagicMirror² Modules List & Checks

The goals of this project are to create a nice looking and useful list of modules for MagicMirror² and to do some rudimentary testing of the modules (to generate improvement suggestions for the developers).

Feedback and pull requests are very welcome.

List of modules

The original list in the wiki is a simple text list without filters and images. This list now contains over 1000 modules, so it is not so easy for users to pick out modules.

Based on the original list, we automatically create a website with filter functions and integrated images. You can check it out here: https://modules.magicmirror.builders/

How do I get my module presented in the new list?

Add your module to the original list in the wiki. Once a day the new list will be updated based on the original list.

How do I get my module presented perfectly in the new list?

This is a list of information that we can display on the web page and where the information comes from. This should help you to improve the presentation of your module. Keep in mind that the web page will not be updated immediately, it may take a few days for your changes to arrive.

  • Module name: Is taken from the repository URL. Example URL: https://github.com/maintainer/MMM-MyFancyModule -> module name MMM-MyFancyModule.
  • Maintainer: Is also taken from the repository URL. Example URL: https://github.com/BruceWayne/MMM-MyFancyModule -> maintainer BruceWayne.
  • Last commit: It's taken directly from the repository.
  • Image
    • There are two requirements for an image of your module to be displayed:
      1. There must be a LICENSE file with a free license or in the package.json must be a free license in the license field. Take a look at this package.json as an example.
      2. There must be an image file in your repository.
    • If there are several images in your repository, one image is selected according to the following logic: First search for an image that contains 'screenshot' or 'example' in it's name and if none is found, take the first image that is found.
  • Description: Is taken from the official list of modules.
  • Tags: Are taken from the keywords in the package.json. Take a look at this package.json as an example.
  • License: Is taken from the keywords in the package.json. Take a look at this package.json as an example.

Also check the result file to see if there are any notes on your module.

Module tests

The aim of the tests is to increase the quality of the modules, also in order to be able to present them optimally in the module list. Due to the huge number of modules, the tests can only remain rudimentary.

If you have ideas for further tests, you are welcome to create an issue or pull request. And if you as a developer do not like a test, you are welcome to give feedback or simply ignore the result.

The results of the tests you can see in the result.html.

Here are some test results:

  • No image found. - That means we will not have an image on the web page for this module.
  • package.json issue: No license field. - No license field means no image on the web page (we can not use images without proper license).
  • package.json issue: license should be a valid SPDX license expression - Incorrectly spelled license name means no image on the web page.
  • There is no package.json. We need this file to gather information about the module. - We need information like the license and keywords.
  • Found directory node_modules. This shouldn't be uploaded. Add node_modules/to .gitignore.
  • Deprecated: Found 'omxplayer' in file node_helper.js: Try to replace it with vlc.
  • Recommendation: Found 'node-fetch' in file node_helper.js: Replace it with built-in fetch.
  • Recommendation: Module name doesn't follow the recommended pattern (it doesn't start with MMM-). Consider renaming your module.
  • Typo: Found 'MagicMirror2' in file README.md: Replace it with MagicMirror².
  • Recommendation: Found 'uses: actions/checkout@v3' in file nodejs.yml: Replace it with v4.
  • Deprecated: Found 'node-version: [16' in file nodejs.yml: Update to current version.
  • Issue: The license in the package.json (ISC) doesn't match the license file (MIT).

Contributor Guide

Contributor setup instructions—including required runtimes and installation steps—now live in the Contributing Guide. Casual readers can skip straight to the module catalogue.

Ideas / To do

See GitHub issues for ideas and tasks.

Templates for the creation of issues

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

This project provides an overview of all MagicMirror² modules and puts the modules through a few tests.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

Contributors 8