Is coffeescript required for developing plug-ins?


I hope I can develop plug-ins using plain JS, so that is the question.


I would also like to develop using javascript instead of coffeescript and json instead of cson.


You can use javascript, the package “autoprefixer” works without using coffeescript :slight_smile:
Look the source

ES6 Package Generator and Guides

JavaScript and JSON can be used in Atom packages, there is no requirement to write a single line of CoffeeScript or CSON to make an Atom package.

In Atom any .coffee/.cson/.less files can always be .js/.json/.css files instead.

So you can have ~/.atom/config.json instead of ~/.atom/config.cson if you prefer a JSON config file and Atom will write your settings back out to JSON when you change them in the Settings view (cmd-,).

Documentation for Javascript APIs?
Why coffeescript?
How can we help you write packages?
Archived FAQs (see FAQ category for all current FAQs)
Have a question for the Atom team? Check here first!

what’s the syntax for the config.json (instead of config.cson)? It seems borked.


@shawndumas I’m not sure what is going on there. Could you post your entire file somewhere? This works for me:

  "editor": {
    "fontSize": 21
  "teleportation": {
    "enabled": true
  "core": {
    "themes": ["atom-dark-ui", "atom-dark-syntax"],
    "ignoredNames": [".git", ".svn", ".DS_Store"]
  "release-notes": {
    "viewedVersion": "0.59.0"
  "welcome": {
    "showOnStartup": false


Honestly, I gave up and put it back. Sorry. It must have been something I was doing.


@shawndumas it has to be valid JSON, not JavaScript object.
That means every key has to be double-quoted. And only double quotes are valid in JSON, you can validate your JSON using JSONLint