- @airy/maleo-css-plugin
- @airy/maleo-redux-plugin
- @airy/maleo-typescript-plugin
- @airy/maleo-compose-plugin
- more to come
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 🎉!
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.
⚠️ Before adding a plugin in this repository please create an issue to notice other that you are working on the plugin
- Create a new directory on
packages
folder - 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"
},
}
- 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);
- Create
src/index.js
file with the plugin code (You can runyarn watch
during development to watch for the builds during development) - Add a
README.md
for the plugin documentation, what the plugin does, and how to use it on Maleo - Use
yarn commit
to commit your staged files - 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! 🎉