author Andrew Halberstadt <ahalberstadt@mozilla.com>
Tue, 30 Aug 2016 14:28:56 -0400
changeset 311990 f5c7a3d60bd9498b63f94faefad4f4e3f1205175
parent 287170 070e28f591b68baa2faf93c69b7f191ead4a6f02
child 362808 34b11112f0e3b342c149295ea8e8eac01cdf646c
permissions -rw-r--r--
Bug 1258341 - Modify 'eslint' implementation to work with the mozlint framework, r=smacleod This integrates 'eslint' with the mozlint framework. The old |mach eslint| command is kept around for backwards compatibility and will simply dispatch to |mach lint|. But |mach lint| should be preferred as the old command may eventually be removed. The old |mach eslint| command should be mostly backwards compatible with a few exceptions: 1. Can no longer define --extensions on the command line, this is instead hardcoded into eslint.lint. 2. No longer using eslint formatters. However, the default mozlint formatter should be identical to the default eslint formatter, so developers should not notice a change. This does mean that non-default eslint formatters can no longer be used unless a mozlint copy of them is created. 3. Installs dependencies automatically without prompting the user. This was necessary due to python multiprocessing limitations, but is actually also a better UX. Because the npm dependencies aren't global anymore, there isn't really any reason *not* to install them automatically. Apart from that, any difference from the old |mach eslint| I'd consider a bug. The main eslint implementation now lives in tools/lint/eslint.lint instead of tools/lint/mach_commands.py. MozReview-Commit-ID: KYhC6SEySC3

# .lldbinit file for debugging Mozilla

# -----------------------------------------------------------------------------
# For documentation on all of the commands and type summaries defined here
# and in the accompanying Python scripts, see python/lldbutils/README.txt.
# -----------------------------------------------------------------------------

# Import the module that defines complex Gecko debugging commands.  This assumes
# you are either running lldb from the top level source directory, the objdir,
# or the dist/bin directory.  (.lldbinit files in the objdir and dist/bin set
# topsrcdir appropriately.)
script topsrcdir = topsrcdir if locals().has_key("topsrcdir") else os.getcwd(); sys.path.append(os.path.join(topsrcdir, "python/lldbutils")); import lldbutils; lldbutils.init()

# Mozilla's use of UNIFIED_SOURCES to include multiple source files into a
# single compiled file breaks lldb breakpoint setting. This works around that.
# See http://lldb.llvm.org/troubleshooting.html for more info.
settings set target.inline-breakpoint-strategy always

# Show the dynamic type of an object when using "expr".  This, for example,
# will show a variable declared as "nsIFrame *" that points to an nsBlockFrame
# object as being of type "nsBlockFrame *" rather than "nsIFrame *".
settings set target.prefer-dynamic-value run-target

# Show the string value in atoms.
type summary add nsIAtom --summary-string "${var.mString}"

# Show the value of text nodes.
type summary add nsTextNode --summary-string "${var.mText}"

# Dump the current JS stack.
command alias js expr DumpJSStack()