Contributing to Apps Engine
Contribute to our Open Source Apps Engine framework increasing the world of possibilities of integrations around the Rocket.Chat ecosystem
Being Open Source, we always welcome contributors to help us out with the development of the ultimate chat platform. You can checkout our Apps Engine repository here
GitHub - RocketChat/Rocket.Chat.Apps-engine: The Rocket.Chat Apps engine and definitions.
GitHub
An Awesome place to start is looking at our open issues and see if you can help out there.
When developing new functionalities, you need to integrate the local version of the Apps-Engine with your local version of Rocket.Chat.

Get the Apps Engine Code

  • To start, clone the Apps Engine repository and navigate into the directory by running
1
git clone https://github.com/RocketChat/Rocket.Chat.Apps-engine.git
2
cd Rocket.Chat.Apps-engine
Copied!
  • Next, install all the required packages and compile the changes since that is what Rocket.Chat itself will execute.
1
npm install
2
npm run compile
Copied!
  • Setup your Rocket.Chat environment following the guide on Environment Setup
  • After setting up, navigate into the directory and run
1
meteor npm install PATH_TO_APPS_ENGINE
Copied!
Where PATH_TO_APPS_ENGINE is the path to the Apps-Engine repo you cloned earlier.
  • You can now start your Rocket.Chat with the meteor command, it will use your local Apps-Engine instead of the one on NPM :)
Whenever you make changes to the engine, run npm run compile again - meteor will take care of restarting the server due to the changes.

Troubleshooting Apps Engine Development

  1. 1.
    Sometimes, when you update the Apps-Engine code and compile it while Rocket.Chat is running, you might run into errors similar to these:
1
Unable to resolve some modules:
2
3
"@rocket.chat/apps-engine/definition/AppStatus" in
4
/Users/dev/rocket.chat/Rocket.Chat/app/apps/client/admin/helpers.js (web.browser)
5
6
If you notice problems related to these missing modules, consider running:
7
8
meteor npm install --save @rocket.chat/apps-engine
Copied!
Simply restart the meteor process and it should be fixed.
2. Sometimes when using meteor npm install PATH_TO_APPS_ENGINE will cause the following error :-
1
npm ERR! code ENOENT
2
npm ERR! syscall rename
3
npm ERR! path PATH_TO_ROCKETCHAT/node_modules/.staging/@rocket.chat/apps-engine-c7135600/node_modules/@babel/code-frame
4
npm ERR! dest PATH_TO_ROCKETCHAT/node_modules/.staging/@babel/code-frame-f3697825
5
npm ERR! errno -2
6
npm ERR! enoent ENOENT: no such file or directory, rename 'PATH_TO_ROCKETCHAT/node_modules/.staging/@rocket.chat/apps-engine-c7135600/node_modules/@babel/code-frame' -> 'PATH_TO_ROCKETCHAT/node_modules/.staging/@babel/code-frame-f3697825'
7
npm ERR! enoent This is related to npm not being able to find a file.
8
npm ERR! enoent
Copied!
Here PATH_TO_ROCKETCHAT is the path to the main Rocket.Chat server repo in your system To correct this we reinstall the package once again deleting the previous package
1
~/Rocket.Chat$ rm -rf node_modules/@rocket.chat/apps-engine
2
~/Rocket.Chat$ cd PATH_TO_APP_ENGINE
3
~/Rocket.Chat.Apps-engine$ npm install
4
~/Rocket.Chat.Apps-engine$ cd PATH_TO_ROCKETCHAT
5
~/Rocket.Chat$ meteor npm install ../Rocket.Chat.Apps-engine
Copied!
Last modified 14h ago
Export as PDF
Copy link
Edit on GitHub