
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
monkey-maker
Advanced tools
Node.js library to easily create configs for Xamarin.iOS and Xamarin.Android projects.
A Node.js library to easily create multiple configs for your Xamarin.iOS and Xamarin.Android projects.
$ npm install monkey-maker --save
MonkeyMaker is a Node.js package that would let you easily create deployment jobs similar to what a Makfile does but easier and of course in your favorite language, JavaScript. MonkeyMaker already comes with white-labeling tools making it a piece of cake to rebrand your app, change settings and deploy. The focus is on mobile platforms but it can extend to any compiler and any platform that can execute a Node.js app.
Specifically, MonkeyMaker ships with support for Xamarin's iOS and Android project but you can plug in your own builder and perform your own logic.
Through EventHandlers, you can perform your custom tasks at any event you'd like. For more info, see EventHandler documentation.
Through ArtifactProcessors, you can process the generated binary. A very common case scenario is to upload it somewhere, there is already an integration for HockeyApp and iTunesConnect. This way, you can simply plug in iTC Artifact Processor and make it a real Continuous Integration, a real automated deployment that builds and deploys to Test Flight for example without the need of any manual work.
Focus of MonkeyMaker is on extensibility. Everyone has its own needs, MonkeyMaker allows you to plug in event handlers and artifact processors to add any step you want and share it with the rest of the world so they can use it easily as well.
Let's talk code!
You always need a Monkey project settings. You pass these settings to Monkey to create an instance of Monkey. It's recommended that you keep these settings in a file. Like monkey.json.
var Monkey = require('monkey-maker');
var monkeyOptions = {
project: {
solutionPath: "/path/to/solution/file.sln"
}
};
var myMonkey = new Monkey(monkeyOptions);
The only required field for Monkey is "project.solutionPath". However, depending on your needs, you may need to add other fields as well. For example, for iTunedConnect integration, you will need to plug in your user name and password. Note that this is shared with EventHandlers and ArtifactProcessors so if you have your own plug-in, your plug-in has access to these project settings and can require its own parameters.
For building your iOS project, simply write the following:
var Monkey = require('monkey-maker');
var monkeyOptions = {
project: {
solutionPath: "/path/to/solution/file.sln"
},
ios: {
projectName: "MyProjectName"
}
};
var myMonkey = new Monkey(monkeyOptions);
var results = myMonkey.build('Debug', 'ios');
console.log(results);
For more detailed documentation, checkout the Wiki.
Google Groups: https://groups.google.com/a/tablika.com/forum/?hl=en#!forum/developer-community
FAQs
Node.js library to easily create configs for Xamarin.iOS and Xamarin.Android projects.
We found that monkey-maker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.