MavensMate is a Node.js server that powers open source Salesforce IDEs in various text editors across various platforms
JavaScript CSS HTML Python Apex Visual Basic Other
Latest commit 33dec2d Jun 27, 2016 @joeferraro committed on GitHub Update Readme.md

Readme.md

MavensMate - Open Source IDEs for Salesforce

Development Suspended

MavensMate users,

I have temporarily suspended development & support for MavensMate to focus on spending time with my newborn daughter. If you are experiencing an issue with MavensMate, I encourage you to use the Force.com IDE, Developer Console, or one of the many other 3rd party tools for building Salesforce applications until development resumes.

Thanks very much for your support.

-Joe

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!

Build Status

NPM Version Coverage Status

License

MavensMate-app

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.

9_27_15__11_46_pm

MavensMate API

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).

Install

npm install mavensmate -g

Usage

Node Application

var mavensmate = require('mavensmate');
var client = mavensmate.createClient({
    name: 'my-mavensmate-client'
});
client.addProjectByPath('path/to/some/project')
  .then(function(res) {
    return client.executeCommand('compile-project');
  })
  .then(function(res) {
    console.log('command result', res);
  });
});

Command Line

mavensmate <command>

Examples

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.

Run Functional/Unit Tests

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 from the project directory. Examples:

mocha ./test/ --recursive --grep clean-project

mocha ./test/ --recursive -R spec --grep 'index-metadata|project-unit'

To generate a coverage report, which will be located at test/coverage.html:

make coverage

Active Plugins

MavensMate for Sublime Text

Build Salesforce applications from Sublime Text 3

MavensMate for Atom (beta)

Build Salesforce applications from GitHub's Atom text editor.

MavensMate for Visual Studio Code (coming soon)

MavensMate is working with Microsoft to create an official plugin for Visual Studio Code!

Bugs and feature requests

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.

Contributors

Documentation

MavensMate's documentation is built with Daux.io and publicly available on http://mavensmate.com.

Development

To setup a development version of the mavensmate core 1. Clone this repo down locally 2. Install node dependencies npm update 3. Run the server /bin/server --verbose 4. Update the mm_app_server_port attribute in your editors mavensmate configuration to the one listed when starting the server