Yes I use bitbucket.
I use the gitflow approach so that all changes are pushed back into the dev branch then when all works, it gets pushed into the master.
I was developing when mango stored its mangoUI in individual files so when Jared changed to webpack it was a bit too late for me as my codebase is too big to rejig to work with the way infinite do things now.
Here's how I do it:
use a local mango and deploy your userModule and file structure in
[MANGO_HOME]/overrides/web/modules/mangoUI/web
mangoUI settings for userModule location are:
/modules/mangoUI/web/userModule.js
I like to throw a ?D=timestamp on the end to help if I've changed contents of the usermodule file.
I like the user module in the web directory then store all of my components etc in other directories beyond it.
Use git to commit all of my files that I need for the userModule and the userModule itself and push them into source control.
My mango cloud is actually a cloud based server that I host mango on, so I have full control of the system. This also means unfortunately if something goes to buggery it's my boss ringing me at some ungodly hour to fix it...
Where the main mango is hosted I pull the changes I have made and that updates all corresponding files.
To fight caching, when "requiring" certain files, create a version number constant at the top of the usermodule file. It's globally accessible and appends a dateTime string to it. So when files are called by mango you add on the end:
//Don't quote me on the DateTime format I'm on holiday!
const UM_VER = "?umVer=1.0.1_"+new Date().format("yyyyMMDDhhmm").toString();
//?umVer=1.0.1_202127010810
//which makes
define('./controllers/myNewCtrl.js'+UM_VER , function(newCtrl)
{
});
//or as an injected scope variable
['$scope', './service/myNewSvc.js'+UM_VER , function($scope,newSvc){
$scope.doThis = newSvc;
}
//other controller properties...
)
Hope that helps your build. I'll answer any other questions you may have later.
If you can implement nodeJS and use the webpack system Jared has implemented however, I'd recommend it as it gives you power over other users to amend any oversights or bugs in the main dashboard code and you can then build the dashboard files in the overrides directory with your own components as well. Saves you worrying about browser as much.
Fox