Trigger.io allows multiple projects to indepently work on the same module codebase while individually uploading and optionally publishing module versions.
Below is a guide to adding a new feature to an existing module.
To begin you need to get access to a copy of the module source code. We encourage all module-writers to include a link to their repo in the module description.
Once you have a local copy of the module source, you will need to create a new module name in one of your projects and import the module. The import process will update the modules
identity.json file with your new module name.
Previously, it was not possible for two separate projects to work on the source for the same module. This was because the module name was used to identify module code, and had to be unique. It is now possible to define a module namespace which is used as the identifier in code (the Java package name, and prefix for Objective-C classes among other things), which does not have to be unique.
If you are importing existing module code into a new module name, the name and namespace fields will be updated automatically for you.
Once you have completed any changes to a module you can upload the module and use it in your app. Two modules with the same namespace cannot be used at the same time, so you will have to disable or remove the existing module if it is already being used in your app.
If you want to share your module updates you can publish your module.
Sometimes, rather than publishing your module you can simply send a pull request back to the module author, that way they can merge in your changes and deploy an updated version of the original module.