Improved JavaScript editing mode for GNU Emacs (description here).
For some of the latest changes, see latest user-visible changes.
The stable versions are hosted at GNU ELPA (M-x list-packages).
You can also install the latest development version from MELPA.
Emacs 24.1+ and cl-lib
(either built-in or installed from GNU ELPA).
The currently recommended solution is to install Emacs 27 (you can build from
source
or e.g. install a snapshot from a
PPA) and
use js-mode
as the major mode. To make use of the JS2 AST and the
packages that integrate with it, we recommend js2-minor-mode
. See
the corresponding instructions in the
Commentary.
js-mode
in Emacs 27 includes full support for syntax highlighting
and indenting of JSX syntax.
rjsx-mode is an alternative option which comes with certain tradeoffs.
-
See broken syntax highlighting and timer errors? Recently upgraded Emacs from version 24.2 or earlier? Try reinstalling or byte-recompiling the package.
-
Any indentation problems should be reported with
M-x report-emacs-bug
(please try reproducing them withjs-mode
first, for clarity). Starting with Emacs 25,js2-mode
delegates indentation to the indentation engine ofjs-mode
.
Please report other problems at http://github.com/mooz/js2-mode/issues.
js2-mode
is subject to the same
copyright assignment
policy as Emacs itself, org-mode
, CEDET
and other packages in
GNU ELPA.
Any legally significant contributions can only be accepted after the author has completed their paperwork. Please ask for the request form, and we'll send it to you.
Some third-party modes that use the generated syntax tree: