A heavily customized ESLint config and plugin for JavaScript following the Google JavaScript style guide.
Check out the demo page.
-
Recognizes
goog.scope
as an immediately invoked function expression (IIFE) that doesn't increase the indent.goog.scope(function() { var noIndent = 2; });
-
Recognizes
goog.provide
andgoog.require
.goog.provide('my.module'); goog.require('other.module'); my.module.Foo = other.module.Bar;
-
Avoids flagging
typedef
,export
and other type-related tags as unused./** @export {number} */ my.module.foo = 2;
See the Google JavaScript style guide for the rest of the rules.
This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.
Pull requests are always welcome. To get started, install Bazel, Google's open-source build system, and Yarn, an NPM replacement.
A typical development flow looks like this:
make develop
to download dependencies from NPM and to link the projects together.make test
to ensure everything works first.- Add a feature or fix a bug.
make test
git commit
git push