atom-force

Lightweight Salesforce.com plugin

mikegedelman

4,075

2

0.3.7

GPL

GitHub

This package consumes the following services:

atom-force

Lightweight atom.io Salesforce development plugin.

Primary goal is seamless atom.io integration. Utilize the growing atom.io ecosystem of packages and play to its strengths as an editor as much as possible. For example, compile error messages are linted in code using linter. And no, you do not have to have a separate app or server running to use it!

Other goals:

Install

File > Settings or ctrl-,, then Install, then search for atom-force.

Via apm: apm install atom-force

Setup

Do Packages > atom-force > activate after opening up your SF project directory. The first time, it will open a browser window and ask you to authenticate. Upon success, your oauth token is saved in your project's root directory in a file .atomforce. Next time you open up and do activate, atom-force will read your previous token and you can pick up where you left off.

Note: this is a big difference from how other IDEs work. This way your username/password is never stored in plain text. If your machine is ever compromised, you can de-authorize atom-force tokens via Salesforce UI and you will still be protected.

You can now add other orgs, which you can then deploy to via metadata API: Packages > atom-force > Add org.

Currently atom-force cannot download your org's metadata - the assumption is that you already have a git repository set up with your code in it. This functionality is on the roadmap. For now, use another IDE or use ant or solenopsis.

Usage

Simply save any file whose extension matches (cls|trigger|page|resource) and atom-force will automatically save to your Salesforce environment. Any errors will be linted using linter. (Future: allow auto-save to be turned off, allowing the user to keybind to the save command).

Roadmap

In order of priority:

If you think one of these should be higher, please consider submitting a pull request!

Development notes

Code uses ES6 and follows airbnb style. I recommend installing linter-eslint to atom while working on this package to help keep style consistent.

Atom Dependencies

Notable libraries used

Inspiration has been and will be taken from vim-force. It's easily the best Salesforce IDE out there.

License

This project is licensed under the GPLv2.