MavensMate - Open Source IDEs for Salesforce
MavensMate is a powerful tool for building Salesforce IDEs. Develop Salesforce applications in your favorite text editors, like Sublime Text and Atom. MavensMate is created and maintained by Joe Ferraro with help from these contributors.
For more information, check out http://mavensmate.com!
MavensMate-app is an application that bundles the local MavensMate server and UIs into a desktop app that powers the MavensMate Sublime Text and Atom plugins. For more information and to download MavensMate-app, visit the GitHub project.
You can build your own Salesforce IDEs by integrating with the APIs exposed in this project. For Node.js projects, you can simply require('mavensmate')
. For other types of projects, you may use the command line interface (see below, full documentation forthcoming).
npm install mavensmate -g
var mavensmate = require('mavensmate');
var client = mavensmate.createClient({
name: 'my-mavensmate-client'
});
client.addProject('path/to/some/project')
.then(function(res) {
return client.executeCommand('compile-project');
})
.then(function(res) {
console.log('command result', res);
});
});
mavensmate <command>
mavensmate new-project <<< '{ "name" : "myproject", "workspace" : "/path/to/workspace", "username" : "foo@bar.com", "password" : "foo", package: { "ApexClass" : "*" } }'
cd path/to/workspace/myproject
mavensmate edit-project <<< '{ "package" : { "ApexClass": [ "MyTestClass", "MyTestClass2" ], "ApexPage": "*" } }'
mavensmate update-creds foo@bar.com myPassword123!
mavensmate clean-project
mavensmate compile-project
mavensmate compile-metadata path/to/MyTestClass.cls
mavensmate delete-metadata path/to/MyPage.page
mavensmate start-logging
mavensmate run-tests path/to/MyTestClass.cls
mavensmate run-tests <<< '{ "paths" : [ "/path/to/MyTestClass.cls", "/path/to/MyTestClass2.cls" ] }'
mavensmate get-coverage path/to/MyTestClass.cls
mavensmate get-coverage --global
mavensmate stop-logging
mavensmate new-resource-bundle path/to/my/static/resource
mavensmate deploy-resource-bundle path/to/my/resource/bundle
mavensmate new-connection anotherOrg@somewhere.com coolPassword!
mavensmate deploy --ui
For a full list of commands, see the lib/mavensmate/commands
directory. We will continue to build out this documentation with a full list of commands, including payload parameters.
You must set the following environment variables before running tests:
SALESFORCE_USERNAME
SALESFORCE_PASSWORD
For verbose logging while running tests, set MAVENSMATE_DEBUG_TESTS
to true
To run all unit and functional tests:
npm test
To run a specific test you may use the mocha command line interface. Examples:
mocha --recursive --grep clean-project
mocha --recursive --grep 'index-metadata|project-unit'
To generate a coverage report, which will be located at test/coverage.html:
make coverage
Build Salesforce applications from Sublime Text 3
Build Salesforce applications from GitHub's Atom text editor.
MavensMate is working with Microsoft to create an official plugin for Visual Studio Code!
Have a bug or a feature request? If it's specific to the MavensMate core, please open a new issue. Before opening any issue, please search for existing issues.
If you have an issue with the Sublime Text or Atom plugin specifically, please open an issue at the proper project.
Always include your MavensMate version number, platform, and specific steps to reproduce.
- [Joseph Ferraro] (http://github.com/joeferraro)
- [Ralph Callaway] (http://github.com/ralphcallaway)
- [Kyle Thornton] (http://github.com/kylethornton)
- [David Helmer] (http://github.com/kidtsunami)
- [Justin Silver] (http://github.com/doublesharp)
MavensMate's documentation is built with Daux.io and publicly available on http://mavensmate.com.