Skip to content

airyrooms/maleo-plugins

Repository files navigation

Maleo Plugins

List of Plugins


Contributing Guidelines

Hello 👋!

Maleo.js is an un-opinionated framework to enable Universal Rendering in JavaScript using React with no hassle.

We are here to build plugins that will solve the time consuming setups the features required in order for it to work with Maleo.

Feel free to contribute to this plugins project. We are grateful for your contributions and we are excited to welcome you abroad!

Happy contributing 🎉!


Setting Up Maleo.js in Local Environment

Clone Repo to Local Machine

Fork this repository to your GitHub account and then clone it to your local machine from forked repo.

$ git clone https://github.com/<username>/maleo-plugins.git
$ cd maleo-plugins

Add Maleo.js repo as upstream to keep your fork up to date

$ git remote add upstream https://github.com/airyrooms/maleo-plugins

Make sure you are always up to date with our master branch.

$ git pull upstream master

Setup

Make sure you are using the same or higher version of Node.js from .nvmrc file. (more info about nvm)

We are using Yarn as package manager

Install yarn as global dependency

$ npm install --global yarn

Should the install fails, use sudo

And then, install all the dependencies required by Maleo.js

$ yarn

Before making any plugin, please check our plugin list, for plugins that you want to add.

Adding Plugin

⚠️ Before adding a plugin in this repository please create an issue to notice other that you are working on the plugin

  1. Create a new directory on packages folder
  2. Add package.json to the directory with this content
{
  "name": "@airy/maleo-<NAME>-plugin",
  "version": "0.0.1",
  "main": "lib/index.js",
  "license": "MIT",
  "files": [
    "lib"
  ],
  "scripts": {
    "build": "rm -rf lib && gulp",
    "watch": "rm -rf lib && gulp watch",
    "prepublish": "yarn build"
  },
  "peerDependencies": {
    "@airy/maleo": "latest"
  },
  "dependencies": {},
  "devDependencies": {
    "@airy/maleo-gulp-plugin": "latest"
  },
}
  1. Make a gulpfile.js for Maleo's gulp plugin to read
const gulpTaskRunner = require('@airy/maleo-gulp-plugin');

const distDir = '.';
const paths = {
  lib: 'src/*.js',
};

gulpTaskRunner(paths, distDir);
  1. Create src/index.js file with the plugin code (You can run yarn watch during development to watch for the builds during development)
  2. Add a README.md for the plugin documentation, what the plugin does, and how to use it on Maleo
  3. Use yarn commit to commit your staged files
  4. Submit a Pull Request

NOTICE

When your PR got merged into remote master branch, it will trigger travis-ci pipeline to publish your package to NPM. And your package are ready for the world to use! 🎉