Bug 1251003 - Change .eslintrc files to .eslintrc.js to avoid obsolete config file format. r=mossop
authorMark Banner <standard8@mozilla.com>
Tue, 18 Oct 2016 08:38:10 +0100
changeset 363433 fc2ff940d290b0712d059a6369ec24ad8c823374
parent 363432 ef80aab8018bf7daaa627672031acbdd8679b8ef
child 363434 373457d828326e0c4341cdecbfe8e92c75d9b140
push id1369
push userjlorenzo@mozilla.com
push dateMon, 27 Feb 2017 14:59:41 +0000
treeherdermozilla-release@d75a1dba431f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmossop
bugs1251003
milestone52.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1251003 - Change .eslintrc files to .eslintrc.js to avoid obsolete config file format. r=mossop MozReview-Commit-ID: JrbFxQ5rj6I
.eslintignore
.eslintrc
.eslintrc.js
accessible/.eslintrc
accessible/.eslintrc.js
accessible/tests/browser/.eslintrc
accessible/tests/browser/.eslintrc.js
browser/.eslintrc
browser/.eslintrc.js
browser/base/content/test/alerts/.eslintrc
browser/base/content/test/alerts/.eslintrc.js
browser/base/content/test/chrome/.eslintrc
browser/base/content/test/chrome/.eslintrc.js
browser/base/content/test/general/.eslintrc
browser/base/content/test/general/.eslintrc.js
browser/base/content/test/newtab/.eslintrc
browser/base/content/test/newtab/.eslintrc.js
browser/base/content/test/plugins/.eslintrc
browser/base/content/test/plugins/.eslintrc.js
browser/base/content/test/popupNotifications/.eslintrc
browser/base/content/test/popupNotifications/.eslintrc.js
browser/base/content/test/referrer/.eslintrc
browser/base/content/test/referrer/.eslintrc.js
browser/base/content/test/social/.eslintrc
browser/base/content/test/social/.eslintrc.js
browser/components/contextualidentity/test/browser/.eslintrc
browser/components/contextualidentity/test/browser/.eslintrc.js
browser/components/customizableui/test/.eslintrc
browser/components/customizableui/test/.eslintrc.js
browser/components/dirprovider/tests/unit/.eslintrc
browser/components/dirprovider/tests/unit/.eslintrc.js
browser/components/downloads/test/browser/.eslintrc
browser/components/downloads/test/browser/.eslintrc.js
browser/components/downloads/test/unit/.eslintrc
browser/components/downloads/test/unit/.eslintrc.js
browser/components/extensions/.eslintrc
browser/components/extensions/.eslintrc.js
browser/components/extensions/test/browser/.eslintrc
browser/components/extensions/test/browser/.eslintrc.js
browser/components/extensions/test/xpcshell/.eslintrc
browser/components/extensions/test/xpcshell/.eslintrc.js
browser/components/feeds/test/.eslintrc
browser/components/feeds/test/.eslintrc.js
browser/components/feeds/test/chrome/.eslintrc
browser/components/feeds/test/chrome/.eslintrc.js
browser/components/feeds/test/unit/.eslintrc
browser/components/feeds/test/unit/.eslintrc.js
browser/components/migration/tests/unit/.eslintrc
browser/components/migration/tests/unit/.eslintrc.js
browser/components/newtab/tests/browser/.eslintrc
browser/components/newtab/tests/browser/.eslintrc.js
browser/components/newtab/tests/xpcshell/.eslintrc
browser/components/newtab/tests/xpcshell/.eslintrc.js
browser/components/originattributes/test/browser/.eslintrc
browser/components/originattributes/test/browser/.eslintrc.js
browser/components/places/tests/browser/.eslintrc
browser/components/places/tests/browser/.eslintrc.js
browser/components/places/tests/chrome/.eslintrc
browser/components/places/tests/chrome/.eslintrc.js
browser/components/places/tests/unit/.eslintrc
browser/components/places/tests/unit/.eslintrc.js
browser/components/preferences/in-content/tests/.eslintrc
browser/components/preferences/in-content/tests/.eslintrc.js
browser/components/privatebrowsing/test/browser/.eslintrc
browser/components/privatebrowsing/test/browser/.eslintrc.js
browser/components/safebrowsing/content/test/.eslintrc
browser/components/safebrowsing/content/test/.eslintrc.js
browser/components/search/test/.eslintrc
browser/components/search/test/.eslintrc.js
browser/components/selfsupport/test/.eslintrc
browser/components/selfsupport/test/.eslintrc.js
browser/components/sessionstore/test/.eslintrc
browser/components/sessionstore/test/.eslintrc.js
browser/components/sessionstore/test/unit/.eslintrc
browser/components/sessionstore/test/unit/.eslintrc.js
browser/components/shell/test/.eslintrc
browser/components/shell/test/.eslintrc.js
browser/components/shell/test/unit/.eslintrc
browser/components/shell/test/unit/.eslintrc.js
browser/components/tests/browser/.eslintrc
browser/components/tests/browser/.eslintrc.js
browser/components/translation/test/.eslintrc
browser/components/translation/test/.eslintrc.js
browser/components/translation/test/unit/.eslintrc
browser/components/translation/test/unit/.eslintrc.js
browser/components/uitour/test/.eslintrc
browser/components/uitour/test/.eslintrc.js
browser/experiments/test/xpcshell/.eslintrc
browser/experiments/test/xpcshell/.eslintrc.js
browser/extensions/formautofill/.eslintrc
browser/extensions/formautofill/.eslintrc.js
browser/extensions/formautofill/test/browser/.eslintrc
browser/extensions/formautofill/test/browser/.eslintrc.js
browser/extensions/pdfjs/test/.eslintrc
browser/extensions/pdfjs/test/.eslintrc.js
browser/modules/test/.eslintrc
browser/modules/test/.eslintrc.js
browser/modules/test/unit/social/.eslintrc
browser/modules/test/unit/social/.eslintrc.js
browser/modules/test/xpcshell/.eslintrc
browser/modules/test/xpcshell/.eslintrc.js
devtools/.eslintrc
devtools/.eslintrc.js
devtools/.eslintrc.mochitests
devtools/.eslintrc.mochitests.js
devtools/.eslintrc.xpcshell
devtools/.eslintrc.xpcshell.js
devtools/client/aboutdebugging/test/.eslintrc
devtools/client/aboutdebugging/test/.eslintrc.js
devtools/client/animationinspector/test/.eslintrc
devtools/client/animationinspector/test/.eslintrc.js
devtools/client/animationinspector/test/unit/.eslintrc
devtools/client/animationinspector/test/unit/.eslintrc.js
devtools/client/canvasdebugger/test/.eslintrc
devtools/client/canvasdebugger/test/.eslintrc.js
devtools/client/commandline/test/.eslintrc
devtools/client/commandline/test/.eslintrc.js
devtools/client/debugger/new/test/mochitest/.eslintrc
devtools/client/debugger/new/test/mochitest/.eslintrc.js
devtools/client/debugger/test/.eslintrc
devtools/client/debugger/test/.eslintrc.js
devtools/client/dom/.eslintrc
devtools/client/dom/.eslintrc.js
devtools/client/dom/test/.eslintrc
devtools/client/dom/test/.eslintrc.js
devtools/client/framework/test/.eslintrc
devtools/client/framework/test/.eslintrc.js
devtools/client/inspector/.eslintrc
devtools/client/inspector/.eslintrc.js
devtools/client/inspector/components/test/.eslintrc
devtools/client/inspector/components/test/.eslintrc.js
devtools/client/inspector/computed/test/.eslintrc
devtools/client/inspector/computed/test/.eslintrc.js
devtools/client/inspector/fonts/test/.eslintrc
devtools/client/inspector/fonts/test/.eslintrc.js
devtools/client/inspector/markup/test/.eslintrc
devtools/client/inspector/markup/test/.eslintrc.js
devtools/client/inspector/rules/test/.eslintrc
devtools/client/inspector/rules/test/.eslintrc.js
devtools/client/inspector/shared/test/.eslintrc
devtools/client/inspector/shared/test/.eslintrc.js
devtools/client/inspector/test/.eslintrc
devtools/client/inspector/test/.eslintrc.js
devtools/client/jsonview/.eslintrc
devtools/client/jsonview/.eslintrc.js
devtools/client/jsonview/test/.eslintrc
devtools/client/jsonview/test/.eslintrc.js
devtools/client/memory/test/browser/.eslintrc
devtools/client/memory/test/browser/.eslintrc.js
devtools/client/memory/test/unit/.eslintrc
devtools/client/memory/test/unit/.eslintrc.js
devtools/client/netmonitor/.eslintrc
devtools/client/netmonitor/.eslintrc.js
devtools/client/netmonitor/har/test/.eslintrc
devtools/client/netmonitor/har/test/.eslintrc.js
devtools/client/netmonitor/test/.eslintrc
devtools/client/netmonitor/test/.eslintrc.js
devtools/client/performance/test/.eslintrc
devtools/client/performance/test/.eslintrc.js
devtools/client/performance/test/unit/.eslintrc
devtools/client/performance/test/unit/.eslintrc.js
devtools/client/projecteditor/test/.eslintrc
devtools/client/projecteditor/test/.eslintrc.js
devtools/client/promisedebugger/test/.eslintrc
devtools/client/promisedebugger/test/.eslintrc.js
devtools/client/responsive.html/test/browser/.eslintrc
devtools/client/responsive.html/test/browser/.eslintrc.js
devtools/client/responsive.html/test/unit/.eslintrc
devtools/client/responsive.html/test/unit/.eslintrc.js
devtools/client/responsivedesign/test/.eslintrc
devtools/client/responsivedesign/test/.eslintrc.js
devtools/client/scratchpad/test/.eslintrc
devtools/client/scratchpad/test/.eslintrc.js
devtools/client/shadereditor/test/.eslintrc
devtools/client/shadereditor/test/.eslintrc.js
devtools/client/shared/components/.eslintrc
devtools/client/shared/components/.eslintrc.js
devtools/client/shared/components/test/browser/.eslintrc
devtools/client/shared/components/test/browser/.eslintrc.js
devtools/client/shared/components/test/mochitest/.eslintrc
devtools/client/shared/components/test/mochitest/.eslintrc.js
devtools/client/shared/shim/test/.eslintrc
devtools/client/shared/shim/test/.eslintrc.js
devtools/client/shared/test/.eslintrc
devtools/client/shared/test/.eslintrc.js
devtools/client/shared/test/unit/.eslintrc
devtools/client/shared/test/unit/.eslintrc.js
devtools/client/sourceeditor/.eslintrc
devtools/client/sourceeditor/.eslintrc.js
devtools/client/sourceeditor/test/.eslintrc
devtools/client/sourceeditor/test/.eslintrc.js
devtools/client/storage/test/.eslintrc
devtools/client/storage/test/.eslintrc.js
devtools/client/styleeditor/test/.eslintrc
devtools/client/styleeditor/test/.eslintrc.js
devtools/client/webaudioeditor/test/.eslintrc
devtools/client/webaudioeditor/test/.eslintrc.js
devtools/client/webconsole/net/.eslintrc
devtools/client/webconsole/net/.eslintrc.js
devtools/client/webconsole/net/test/mochitest/.eslintrc
devtools/client/webconsole/net/test/mochitest/.eslintrc.js
devtools/client/webconsole/net/test/unit/.eslintrc
devtools/client/webconsole/net/test/unit/.eslintrc.js
devtools/client/webconsole/new-console-output/test/.eslintrc
devtools/client/webconsole/new-console-output/test/.eslintrc.js
devtools/client/webconsole/test/.eslintrc
devtools/client/webconsole/test/.eslintrc.js
devtools/client/webide/test/.eslintrc
devtools/client/webide/test/.eslintrc.js
devtools/server/tests/browser/.eslintrc
devtools/server/tests/browser/.eslintrc.js
devtools/server/tests/mochitest/.eslintrc
devtools/server/tests/mochitest/.eslintrc.js
devtools/server/tests/unit/.eslintrc
devtools/server/tests/unit/.eslintrc.js
devtools/shared/heapsnapshot/tests/unit/.eslintrc
devtools/shared/heapsnapshot/tests/unit/.eslintrc.js
devtools/shared/platform/content/.eslintrc
devtools/shared/platform/content/.eslintrc.js
devtools/shared/platform/content/test/.eslintrc
devtools/shared/platform/content/test/.eslintrc.js
devtools/shared/security/tests/unit/.eslintrc
devtools/shared/security/tests/unit/.eslintrc.js
devtools/shared/tests/browser/.eslintrc
devtools/shared/tests/browser/.eslintrc.js
devtools/shared/tests/unit/.eslintrc
devtools/shared/tests/unit/.eslintrc.js
devtools/shared/transport/tests/unit/.eslintrc
devtools/shared/transport/tests/unit/.eslintrc.js
devtools/shared/webconsole/test/unit/.eslintrc
devtools/shared/webconsole/test/unit/.eslintrc.js
devtools/shared/worker/tests/browser/.eslintrc
devtools/shared/worker/tests/browser/.eslintrc.js
mobile/android/components/extensions/.eslintrc
mobile/android/components/extensions/.eslintrc.js
mobile/android/components/extensions/test/mochitest/.eslintrc
mobile/android/components/extensions/test/mochitest/.eslintrc.js
security/manager/.eslintrc.js
security/manager/.eslintrc.json
security/manager/ssl/tests/.eslintrc.js
security/manager/ssl/tests/.eslintrc.json
security/manager/ssl/tests/mochitest/browser/.eslintrc.js
security/manager/ssl/tests/mochitest/browser/.eslintrc.json
security/manager/ssl/tests/mochitest/mixedcontent/.eslintrc.js
security/manager/ssl/tests/mochitest/mixedcontent/.eslintrc.json
security/manager/ssl/tests/mochitest/stricttransportsecurity/.eslintrc.js
security/manager/ssl/tests/mochitest/stricttransportsecurity/.eslintrc.json
security/manager/ssl/tests/unit/.eslintrc.js
security/manager/ssl/tests/unit/.eslintrc.json
security/manager/tools/.eslintrc.js
security/manager/tools/.eslintrc.json
storage/.eslintrc
storage/.eslintrc.js
testing/mochitest/browser.eslintrc
testing/mochitest/browser.eslintrc.js
testing/mochitest/chrome.eslintrc
testing/mochitest/chrome.eslintrc.js
testing/mochitest/mochitest.eslintrc
testing/mochitest/mochitest.eslintrc.js
testing/xpcshell/xpcshell.eslintrc
testing/xpcshell/xpcshell.eslintrc.js
toolkit/.eslintrc
toolkit/.eslintrc.js
toolkit/components/aboutmemory/tests/.eslintrc
toolkit/components/aboutmemory/tests/.eslintrc.js
toolkit/components/aboutperformance/tests/browser/.eslintrc
toolkit/components/aboutperformance/tests/browser/.eslintrc.js
toolkit/components/addoncompat/tests/browser/.eslintrc
toolkit/components/addoncompat/tests/browser/.eslintrc.js
toolkit/components/alerts/test/.eslintrc
toolkit/components/alerts/test/.eslintrc.js
toolkit/components/asyncshutdown/tests/xpcshell/.eslintrc
toolkit/components/asyncshutdown/tests/xpcshell/.eslintrc.js
toolkit/components/autocomplete/tests/unit/.eslintrc
toolkit/components/autocomplete/tests/unit/.eslintrc.js
toolkit/components/captivedetect/test/unit/.eslintrc
toolkit/components/captivedetect/test/unit/.eslintrc.js
toolkit/components/commandlines/test/unit/.eslintrc
toolkit/components/commandlines/test/unit/.eslintrc.js
toolkit/components/commandlines/test/unit_unix/.eslintrc
toolkit/components/commandlines/test/unit_unix/.eslintrc.js
toolkit/components/commandlines/test/unit_win/.eslintrc
toolkit/components/commandlines/test/unit_win/.eslintrc.js
toolkit/components/contentprefs/tests/mochitest/.eslintrc
toolkit/components/contentprefs/tests/mochitest/.eslintrc.js
toolkit/components/contentprefs/tests/unit/.eslintrc
toolkit/components/contentprefs/tests/unit/.eslintrc.js
toolkit/components/contentprefs/tests/unit_cps2/.eslintrc
toolkit/components/contentprefs/tests/unit_cps2/.eslintrc.js
toolkit/components/crashes/tests/xpcshell/.eslintrc
toolkit/components/crashes/tests/xpcshell/.eslintrc.js
toolkit/components/crashmonitor/test/unit/.eslintrc
toolkit/components/crashmonitor/test/unit/.eslintrc.js
toolkit/components/ctypes/tests/chrome/.eslintrc
toolkit/components/ctypes/tests/chrome/.eslintrc.js
toolkit/components/ctypes/tests/unit/.eslintrc
toolkit/components/ctypes/tests/unit/.eslintrc.js
toolkit/components/downloads/test/unit/.eslintrc
toolkit/components/downloads/test/unit/.eslintrc.js
toolkit/components/extensions/.eslintrc
toolkit/components/extensions/.eslintrc.js
toolkit/components/extensions/test/mochitest/.eslintrc
toolkit/components/extensions/test/mochitest/.eslintrc.js
toolkit/components/extensions/test/xpcshell/.eslintrc
toolkit/components/extensions/test/xpcshell/.eslintrc.js
toolkit/components/feeds/test/.eslintrc
toolkit/components/feeds/test/.eslintrc.js
toolkit/components/filepicker/test/unit/.eslintrc
toolkit/components/filepicker/test/unit/.eslintrc.js
toolkit/components/filewatcher/tests/xpcshell/.eslintrc
toolkit/components/filewatcher/tests/xpcshell/.eslintrc.js
toolkit/components/formautofill/test/browser/.eslintrc
toolkit/components/formautofill/test/browser/.eslintrc.js
toolkit/components/formautofill/test/chrome/.eslintrc
toolkit/components/formautofill/test/chrome/.eslintrc.js
toolkit/components/formautofill/test/xpcshell/.eslintrc
toolkit/components/formautofill/test/xpcshell/.eslintrc.js
toolkit/components/jsdownloads/test/browser/.eslintrc
toolkit/components/jsdownloads/test/browser/.eslintrc.js
toolkit/components/jsdownloads/test/data/.eslintrc
toolkit/components/jsdownloads/test/data/.eslintrc.js
toolkit/components/jsdownloads/test/unit/.eslintrc
toolkit/components/jsdownloads/test/unit/.eslintrc.js
toolkit/components/lz4/tests/xpcshell/.eslintrc
toolkit/components/lz4/tests/xpcshell/.eslintrc.js
toolkit/components/mediasniffer/test/unit/.eslintrc
toolkit/components/mediasniffer/test/unit/.eslintrc.js
toolkit/components/narrate/.eslintrc
toolkit/components/narrate/.eslintrc.js
toolkit/components/narrate/test/.eslintrc
toolkit/components/narrate/test/.eslintrc.js
toolkit/components/osfile/tests/mochi/.eslintrc
toolkit/components/osfile/tests/mochi/.eslintrc.js
toolkit/components/osfile/tests/xpcshell/.eslintrc
toolkit/components/osfile/tests/xpcshell/.eslintrc.js
toolkit/components/passwordmgr/.eslintrc
toolkit/components/passwordmgr/.eslintrc.js
toolkit/components/passwordmgr/test/.eslintrc
toolkit/components/passwordmgr/test/.eslintrc.js
toolkit/components/passwordmgr/test/browser/.eslintrc
toolkit/components/passwordmgr/test/browser/.eslintrc.js
toolkit/components/passwordmgr/test/unit/.eslintrc
toolkit/components/passwordmgr/test/unit/.eslintrc.js
toolkit/components/perf/.eslintrc
toolkit/components/perf/.eslintrc.js
toolkit/components/perfmonitoring/tests/browser/.eslintrc
toolkit/components/perfmonitoring/tests/browser/.eslintrc.js
toolkit/components/places/tests/.eslintrc
toolkit/components/places/tests/.eslintrc.js
toolkit/components/places/tests/bookmarks/.eslintrc
toolkit/components/places/tests/bookmarks/.eslintrc.js
toolkit/components/places/tests/browser/.eslintrc
toolkit/components/places/tests/browser/.eslintrc.js
toolkit/components/places/tests/chrome/.eslintrc
toolkit/components/places/tests/chrome/.eslintrc.js
toolkit/components/places/tests/expiration/.eslintrc
toolkit/components/places/tests/expiration/.eslintrc.js
toolkit/components/places/tests/favicons/.eslintrc
toolkit/components/places/tests/favicons/.eslintrc.js
toolkit/components/places/tests/history/.eslintrc
toolkit/components/places/tests/history/.eslintrc.js
toolkit/components/places/tests/migration/.eslintrc
toolkit/components/places/tests/migration/.eslintrc.js
toolkit/components/places/tests/network/.eslintrc
toolkit/components/places/tests/network/.eslintrc.js
toolkit/components/places/tests/queries/.eslintrc
toolkit/components/places/tests/queries/.eslintrc.js
toolkit/components/places/tests/unifiedcomplete/.eslintrc
toolkit/components/places/tests/unifiedcomplete/.eslintrc.js
toolkit/components/places/tests/unit/.eslintrc
toolkit/components/places/tests/unit/.eslintrc.js
toolkit/components/promiseworker/tests/xpcshell/.eslintrc
toolkit/components/promiseworker/tests/xpcshell/.eslintrc.js
toolkit/components/prompts/test/.eslintrc
toolkit/components/prompts/test/.eslintrc.js
toolkit/components/remotebrowserutils/tests/browser/.eslintrc
toolkit/components/remotebrowserutils/tests/browser/.eslintrc.js
toolkit/components/satchel/test/.eslintrc
toolkit/components/satchel/test/.eslintrc.js
toolkit/components/satchel/test/browser/.eslintrc
toolkit/components/satchel/test/browser/.eslintrc.js
toolkit/components/satchel/test/unit/.eslintrc
toolkit/components/satchel/test/unit/.eslintrc.js
toolkit/components/search/tests/xpcshell/.eslintrc
toolkit/components/search/tests/xpcshell/.eslintrc.js
toolkit/components/social/test/xpcshell/.eslintrc
toolkit/components/social/test/xpcshell/.eslintrc.js
toolkit/components/sqlite/tests/xpcshell/.eslintrc
toolkit/components/sqlite/tests/xpcshell/.eslintrc.js
toolkit/components/startup/tests/browser/.eslintrc
toolkit/components/startup/tests/browser/.eslintrc.js
toolkit/components/startup/tests/unit/.eslintrc
toolkit/components/startup/tests/unit/.eslintrc.js
toolkit/components/telemetry/tests/unit/.eslintrc
toolkit/components/telemetry/tests/unit/.eslintrc.js
toolkit/components/terminator/tests/xpcshell/.eslintrc
toolkit/components/terminator/tests/xpcshell/.eslintrc.js
toolkit/components/thumbnails/test/.eslintrc
toolkit/components/thumbnails/test/.eslintrc.js
toolkit/components/timermanager/tests/unit/.eslintrc
toolkit/components/timermanager/tests/unit/.eslintrc.js
toolkit/components/url-classifier/tests/mochitest/.eslintrc
toolkit/components/url-classifier/tests/mochitest/.eslintrc.js
toolkit/components/url-classifier/tests/unit/.eslintrc
toolkit/components/url-classifier/tests/unit/.eslintrc.js
toolkit/components/urlformatter/tests/unit/.eslintrc
toolkit/components/urlformatter/tests/unit/.eslintrc.js
toolkit/components/viewsource/test/.eslintrc
toolkit/components/viewsource/test/.eslintrc.js
toolkit/components/viewsource/test/browser/.eslintrc
toolkit/components/viewsource/test/browser/.eslintrc.js
toolkit/components/workerloader/tests/.eslintrc
toolkit/components/workerloader/tests/.eslintrc.js
toolkit/components/xulstore/tests/chrome/.eslintrc
toolkit/components/xulstore/tests/chrome/.eslintrc.js
toolkit/components/xulstore/tests/xpcshell/.eslintrc
toolkit/components/xulstore/tests/xpcshell/.eslintrc.js
toolkit/content/tests/browser/.eslintrc
toolkit/content/tests/browser/.eslintrc.js
toolkit/content/tests/chrome/.eslintrc
toolkit/content/tests/chrome/.eslintrc.js
toolkit/content/tests/unit/.eslintrc
toolkit/content/tests/unit/.eslintrc.js
toolkit/content/tests/widgets/.eslintrc
toolkit/content/tests/widgets/.eslintrc.js
toolkit/crashreporter/test/browser/.eslintrc
toolkit/crashreporter/test/browser/.eslintrc.js
toolkit/crashreporter/test/unit/.eslintrc
toolkit/crashreporter/test/unit/.eslintrc.js
toolkit/crashreporter/test/unit_ipc/.eslintrc
toolkit/crashreporter/test/unit_ipc/.eslintrc.js
toolkit/forgetaboutsite/test/browser/.eslintrc
toolkit/forgetaboutsite/test/browser/.eslintrc.js
toolkit/forgetaboutsite/test/unit/.eslintrc
toolkit/forgetaboutsite/test/unit/.eslintrc.js
toolkit/identity/tests/chrome/.eslintrc
toolkit/identity/tests/chrome/.eslintrc.js
toolkit/identity/tests/unit/.eslintrc
toolkit/identity/tests/unit/.eslintrc.js
toolkit/modules/addons/.eslintrc
toolkit/modules/addons/.eslintrc.js
toolkit/modules/subprocess/.eslintrc
toolkit/modules/subprocess/.eslintrc.js
toolkit/modules/subprocess/test/xpcshell/.eslintrc
toolkit/modules/subprocess/test/xpcshell/.eslintrc.js
toolkit/modules/tests/browser/.eslintrc
toolkit/modules/tests/browser/.eslintrc.js
toolkit/modules/tests/chrome/.eslintrc
toolkit/modules/tests/chrome/.eslintrc.js
toolkit/modules/tests/mochitest/.eslintrc
toolkit/modules/tests/mochitest/.eslintrc.js
toolkit/modules/tests/xpcshell/.eslintrc
toolkit/modules/tests/xpcshell/.eslintrc.js
toolkit/mozapps/downloads/tests/chrome/.eslintrc
toolkit/mozapps/downloads/tests/chrome/.eslintrc.js
toolkit/mozapps/downloads/tests/unit/.eslintrc
toolkit/mozapps/downloads/tests/unit/.eslintrc.js
toolkit/mozapps/extensions/.eslintrc
toolkit/mozapps/extensions/.eslintrc.js
toolkit/mozapps/extensions/test/browser/.eslintrc
toolkit/mozapps/extensions/test/browser/.eslintrc.js
toolkit/mozapps/extensions/test/mochitest/.eslintrc
toolkit/mozapps/extensions/test/mochitest/.eslintrc.js
toolkit/mozapps/extensions/test/xpcshell/.eslintrc
toolkit/mozapps/extensions/test/xpcshell/.eslintrc.js
toolkit/mozapps/extensions/test/xpinstall/.eslintrc
toolkit/mozapps/extensions/test/xpinstall/.eslintrc.js
toolkit/mozapps/update/tests/chrome/.eslintrc
toolkit/mozapps/update/tests/chrome/.eslintrc.js
toolkit/mozapps/update/tests/unit_aus_update/.eslintrc
toolkit/mozapps/update/tests/unit_aus_update/.eslintrc.js
toolkit/mozapps/update/tests/unit_base_updater/.eslintrc
toolkit/mozapps/update/tests/unit_base_updater/.eslintrc.js
toolkit/mozapps/update/tests/unit_service_updater/.eslintrc
toolkit/mozapps/update/tests/unit_service_updater/.eslintrc.js
toolkit/profile/test/.eslintrc
toolkit/profile/test/.eslintrc.js
toolkit/themes/osx/mochitests/.eslintrc
toolkit/themes/osx/mochitests/.eslintrc.js
toolkit/xre/test/.eslintrc
toolkit/xre/test/.eslintrc.js
tools/lint/eslint/eslint-plugin-mozilla/lib/rules/.eslintrc
tools/lint/eslint/eslint-plugin-mozilla/lib/rules/.eslintrc.js
--- a/.eslintignore
+++ b/.eslintignore
@@ -1,8 +1,11 @@
+# Allow linting of .eslintrc.js files.
+!**/.eslintrc.js
+
 # Always ignore node_modules.
 **/node_modules/**/*.*
 
 # Exclude expected objdirs.
 obj*/**
 
 # We ignore all these directories by default, until we get them enabled.
 # If you are enabling a directory, please add directory specific exclusions
rename from .eslintrc
rename to .eslintrc.js
--- a/.eslintrc
+++ b/.eslintrc.js
@@ -1,12 +1,14 @@
-{
+"use strict";
+
+module.exports = {
   // When adding items to this file please check for effects on sub-directories.
   "plugins": [
     "mozilla"
   ],
   "rules": {
     "mozilla/import-globals": 1,
   },
   "env": {
     "es6": true
   },
-}
+};
rename from accessible/.eslintrc
rename to accessible/.eslintrc.js
--- a/accessible/.eslintrc
+++ b/accessible/.eslintrc.js
@@ -1,15 +1,17 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../.eslintrc"
+    "../.eslintrc.js"
   ],
   "globals": {
     "Cc": true,
     "Ci": true,
     "Components": true,
     "console": true,
     "Cu": true,
     "dump": true,
     "Services": true,
     "XPCOMUtils": true
   }
-}
+};
rename from accessible/tests/browser/.eslintrc
rename to accessible/tests/browser/.eslintrc.js
--- a/accessible/tests/browser/.eslintrc
+++ b/accessible/tests/browser/.eslintrc.js
@@ -1,11 +1,13 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "extends": [
-    "../../../testing/mochitest/browser.eslintrc"
+    "../../../testing/mochitest/browser.eslintrc.js"
   ],
   // All globals made available in the test environment.
   "globals": {
     // Content scripts have global 'content' object
     "content": true,
 
     "add_task": true,
 
@@ -41,17 +43,17 @@
     "loadFrameScripts": true,
     "Logger": true,
     "MOCHITESTS_DIR": true,
     "waitForEvent": true,
     "waitForMultipleEvents": true,
     "invokeSetAttribute": true,
     "invokeSetStyle": true,
     "invokeFocus": true,
-    "findAccessibleChildByID": true,
+    "findAccessibleChildByID": true
   },
   "rules": {
     "mozilla/mark-test-function-used": 1,
     "mozilla/no-aArgs": 1,
     "mozilla/no-cpows-in-tests": 1,
     "mozilla/reject-importGlobalProperties": 1,
     "mozilla/var-only-at-top-level": 1,
 
@@ -207,11 +209,11 @@
     "no-octal-escape": 0,
     "no-undef-init": 2,
     "no-unexpected-multiline": 2,
     "object-curly-spacing": 0,
     "no-unused-expressions": 0,
     "no-void": 0,
     "no-wrap-func": 0,
     "operator-assignment": 0,
-    "operator-linebreak": [2, "after"],
+    "operator-linebreak": [2, "after"]
   }
-}
+};
rename from browser/.eslintrc
rename to browser/.eslintrc.js
--- a/browser/.eslintrc
+++ b/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../toolkit/.eslintrc"
+    "../toolkit/.eslintrc.js"
   ],
-}
+};
rename from browser/base/content/test/alerts/.eslintrc
rename to browser/base/content/test/alerts/.eslintrc.js
--- a/browser/base/content/test/alerts/.eslintrc
+++ b/browser/base/content/test/alerts/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/base/content/test/chrome/.eslintrc
rename to browser/base/content/test/chrome/.eslintrc.js
--- a/browser/base/content/test/chrome/.eslintrc
+++ b/browser/base/content/test/chrome/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from browser/base/content/test/general/.eslintrc
rename to browser/base/content/test/general/.eslintrc.js
--- a/browser/base/content/test/general/.eslintrc
+++ b/browser/base/content/test/general/.eslintrc.js
@@ -1,6 +1,8 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc",
-    "../../../../../testing/mochitest/mochitest.eslintrc",
+    "../../../../../testing/mochitest/browser.eslintrc.js",
+    "../../../../../testing/mochitest/mochitest.eslintrc.js",
   ]
-}
+};
rename from browser/base/content/test/newtab/.eslintrc
rename to browser/base/content/test/newtab/.eslintrc.js
--- a/browser/base/content/test/newtab/.eslintrc
+++ b/browser/base/content/test/newtab/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/base/content/test/plugins/.eslintrc
rename to browser/base/content/test/plugins/.eslintrc.js
--- a/browser/base/content/test/plugins/.eslintrc
+++ b/browser/base/content/test/plugins/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/base/content/test/popupNotifications/.eslintrc
rename to browser/base/content/test/popupNotifications/.eslintrc.js
--- a/browser/base/content/test/popupNotifications/.eslintrc
+++ b/browser/base/content/test/popupNotifications/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/base/content/test/referrer/.eslintrc
rename to browser/base/content/test/referrer/.eslintrc.js
--- a/browser/base/content/test/referrer/.eslintrc
+++ b/browser/base/content/test/referrer/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/base/content/test/social/.eslintrc
rename to browser/base/content/test/social/.eslintrc.js
--- a/browser/base/content/test/social/.eslintrc
+++ b/browser/base/content/test/social/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/contextualidentity/test/browser/.eslintrc
rename to browser/components/contextualidentity/test/browser/.eslintrc.js
--- a/browser/components/contextualidentity/test/browser/.eslintrc
+++ b/browser/components/contextualidentity/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/customizableui/test/.eslintrc
rename to browser/components/customizableui/test/.eslintrc.js
--- a/browser/components/customizableui/test/.eslintrc
+++ b/browser/components/customizableui/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/dirprovider/tests/unit/.eslintrc
rename to browser/components/dirprovider/tests/unit/.eslintrc.js
--- a/browser/components/dirprovider/tests/unit/.eslintrc
+++ b/browser/components/dirprovider/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from browser/components/downloads/test/browser/.eslintrc
rename to browser/components/downloads/test/browser/.eslintrc.js
--- a/browser/components/downloads/test/browser/.eslintrc
+++ b/browser/components/downloads/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/downloads/test/unit/.eslintrc
rename to browser/components/downloads/test/unit/.eslintrc.js
--- a/browser/components/downloads/test/unit/.eslintrc
+++ b/browser/components/downloads/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from browser/components/extensions/.eslintrc
rename to browser/components/extensions/.eslintrc.js
--- a/browser/components/extensions/.eslintrc
+++ b/browser/components/extensions/.eslintrc.js
@@ -1,10 +1,12 @@
-{
-  "extends": "../../../toolkit/components/extensions/.eslintrc",
+"use strict";
+
+module.exports = {  // eslint-disable-line no-undef
+  "extends": "../../../toolkit/components/extensions/.eslintrc.js",
 
   "globals": {
     "AllWindowEvents": true,
     "browserActionFor": true,
     "currentWindow": true,
     "EventEmitter": true,
     "getCookieStoreIdForTab": true,
     "IconDetails": true,
@@ -12,11 +14,9 @@
     "pageActionFor": true,
     "PanelPopup": true,
     "TabContext": true,
     "ViewPopup": true,
     "WindowEventManager": true,
     "WindowListManager": true,
     "WindowManager": true,
   },
-}
-
-
+};
rename from browser/components/extensions/test/browser/.eslintrc
rename to browser/components/extensions/test/browser/.eslintrc.js
--- a/browser/components/extensions/test/browser/.eslintrc
+++ b/browser/components/extensions/test/browser/.eslintrc.js
@@ -1,10 +1,12 @@
-{
-  "extends": "../../../../../testing/mochitest/browser.eslintrc",
+"use strict";
+
+module.exports = {  // eslint-disable-line no-undef
+  "extends": "../../../../../testing/mochitest/browser.eslintrc.js",
 
   "env": {
     "webextensions": true,
   },
 
   "globals": {
     "NetUtil": true,
     "XPCOMUtils": true,
@@ -21,10 +23,10 @@
     "clickPageAction": true,
     "closeContextMenu": true,
     "closeExtensionContextMenu": true,
     "focusWindow": true,
     "makeWidgetId": true,
     "openContextMenu": true,
     "openExtensionContextMenu": true,
     "CustomizableUI": true,
-  }
-}
+  },
+};
rename from browser/components/extensions/test/xpcshell/.eslintrc
rename to browser/components/extensions/test/xpcshell/.eslintrc.js
--- a/browser/components/extensions/test/xpcshell/.eslintrc
+++ b/browser/components/extensions/test/xpcshell/.eslintrc.js
@@ -1,7 +1,9 @@
-{
-  "extends": "../../../../../testing/xpcshell/xpcshell.eslintrc",
+"use strict";
+
+module.exports = {  // eslint-disable-line no-undef
+  "extends": "../../../../../testing/xpcshell/xpcshell.eslintrc.js",
 
   "globals": {
     "browser": false,
   },
-}
+};
rename from browser/components/feeds/test/.eslintrc
rename to browser/components/feeds/test/.eslintrc.js
--- a/browser/components/feeds/test/.eslintrc
+++ b/browser/components/feeds/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/mochitest.eslintrc"
+    "../../../../testing/mochitest/mochitest.eslintrc.js"
   ]
-}
+};
rename from browser/components/feeds/test/chrome/.eslintrc
rename to browser/components/feeds/test/chrome/.eslintrc.js
--- a/browser/components/feeds/test/chrome/.eslintrc
+++ b/browser/components/feeds/test/chrome/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from browser/components/feeds/test/unit/.eslintrc
rename to browser/components/feeds/test/unit/.eslintrc.js
--- a/browser/components/feeds/test/unit/.eslintrc
+++ b/browser/components/feeds/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from browser/components/migration/tests/unit/.eslintrc
rename to browser/components/migration/tests/unit/.eslintrc.js
--- a/browser/components/migration/tests/unit/.eslintrc
+++ b/browser/components/migration/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from browser/components/newtab/tests/browser/.eslintrc
rename to browser/components/newtab/tests/browser/.eslintrc.js
--- a/browser/components/newtab/tests/browser/.eslintrc
+++ b/browser/components/newtab/tests/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/newtab/tests/xpcshell/.eslintrc
rename to browser/components/newtab/tests/xpcshell/.eslintrc.js
--- a/browser/components/newtab/tests/xpcshell/.eslintrc
+++ b/browser/components/newtab/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from browser/components/originattributes/test/browser/.eslintrc
rename to browser/components/originattributes/test/browser/.eslintrc.js
--- a/browser/components/originattributes/test/browser/.eslintrc
+++ b/browser/components/originattributes/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/places/tests/browser/.eslintrc
rename to browser/components/places/tests/browser/.eslintrc.js
--- a/browser/components/places/tests/browser/.eslintrc
+++ b/browser/components/places/tests/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/places/tests/chrome/.eslintrc
rename to browser/components/places/tests/chrome/.eslintrc.js
--- a/browser/components/places/tests/chrome/.eslintrc
+++ b/browser/components/places/tests/chrome/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from browser/components/places/tests/unit/.eslintrc
rename to browser/components/places/tests/unit/.eslintrc.js
--- a/browser/components/places/tests/unit/.eslintrc
+++ b/browser/components/places/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from browser/components/preferences/in-content/tests/.eslintrc
rename to browser/components/preferences/in-content/tests/.eslintrc.js
--- a/browser/components/preferences/in-content/tests/.eslintrc
+++ b/browser/components/preferences/in-content/tests/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/privatebrowsing/test/browser/.eslintrc
rename to browser/components/privatebrowsing/test/browser/.eslintrc.js
--- a/browser/components/privatebrowsing/test/browser/.eslintrc
+++ b/browser/components/privatebrowsing/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/safebrowsing/content/test/.eslintrc
rename to browser/components/safebrowsing/content/test/.eslintrc.js
--- a/browser/components/safebrowsing/content/test/.eslintrc
+++ b/browser/components/safebrowsing/content/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/search/test/.eslintrc
rename to browser/components/search/test/.eslintrc.js
--- a/browser/components/search/test/.eslintrc
+++ b/browser/components/search/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/selfsupport/test/.eslintrc
rename to browser/components/selfsupport/test/.eslintrc.js
--- a/browser/components/selfsupport/test/.eslintrc
+++ b/browser/components/selfsupport/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/sessionstore/test/.eslintrc
rename to browser/components/sessionstore/test/.eslintrc.js
--- a/browser/components/sessionstore/test/.eslintrc
+++ b/browser/components/sessionstore/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/sessionstore/test/unit/.eslintrc
rename to browser/components/sessionstore/test/unit/.eslintrc.js
--- a/browser/components/sessionstore/test/unit/.eslintrc
+++ b/browser/components/sessionstore/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from browser/components/shell/test/.eslintrc
rename to browser/components/shell/test/.eslintrc.js
--- a/browser/components/shell/test/.eslintrc
+++ b/browser/components/shell/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/shell/test/unit/.eslintrc
rename to browser/components/shell/test/unit/.eslintrc.js
--- a/browser/components/shell/test/unit/.eslintrc
+++ b/browser/components/shell/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from browser/components/tests/browser/.eslintrc
rename to browser/components/tests/browser/.eslintrc.js
--- a/browser/components/tests/browser/.eslintrc
+++ b/browser/components/tests/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/translation/test/.eslintrc
rename to browser/components/translation/test/.eslintrc.js
--- a/browser/components/translation/test/.eslintrc
+++ b/browser/components/translation/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/components/translation/test/unit/.eslintrc
rename to browser/components/translation/test/unit/.eslintrc.js
--- a/browser/components/translation/test/unit/.eslintrc
+++ b/browser/components/translation/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from browser/components/uitour/test/.eslintrc
rename to browser/components/uitour/test/.eslintrc.js
--- a/browser/components/uitour/test/.eslintrc
+++ b/browser/components/uitour/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/experiments/test/xpcshell/.eslintrc
rename to browser/experiments/test/xpcshell/.eslintrc.js
--- a/browser/experiments/test/xpcshell/.eslintrc
+++ b/browser/experiments/test/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from browser/extensions/formautofill/.eslintrc
rename to browser/extensions/formautofill/.eslintrc.js
--- a/browser/extensions/formautofill/.eslintrc
+++ b/browser/extensions/formautofill/.eslintrc.js
@@ -1,10 +1,12 @@
-{
-  "extends": "../../.eslintrc",
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
+  "extends": "../../.eslintrc.js",
 
   "globals": {
     "Components": true,
     "dump": true,
     "TextDecoder": false,
     "TextEncoder": false,
   },
 
@@ -328,17 +330,17 @@
 
     // Allow the use of leading or trailing decimal points in numeric literals.
     "no-floating-decimal": 0,
 
     // Allow comments inline after code.
     "no-inline-comments": 0,
 
     // Disallow use of labels for anything other then loops and switches.
-    "no-labels": [2, { "allowLoop": true }],
+    "no-labels": [2, {"allowLoop": true}],
 
     // Disallow use of multiline strings (use template strings instead).
     "no-multi-str": 1,
 
     // Disallow multiple empty lines.
     "no-multiple-empty-lines": [1, {"max": 2}],
 
     // Allow reassignment of function parameters.
@@ -464,10 +466,10 @@
     // Disallow usage of __iterator__ property
     "no-iterator": 2,
 
     // Disallow labels that share a name with a variable
     "no-label-var": 2,
 
     // Disallow creating new instances of String, Number, and Boolean
     "no-new-wrappers": 2,
-  }
-}
+  },
+};
rename from browser/extensions/formautofill/test/browser/.eslintrc
rename to browser/extensions/formautofill/test/browser/.eslintrc.js
--- a/browser/extensions/formautofill/test/browser/.eslintrc
+++ b/browser/extensions/formautofill/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
-  ]
-}
+    "../../../../../testing/mochitest/browser.eslintrc.js",
+  ],
+};
rename from browser/extensions/pdfjs/test/.eslintrc
rename to browser/extensions/pdfjs/test/.eslintrc.js
--- a/browser/extensions/pdfjs/test/.eslintrc
+++ b/browser/extensions/pdfjs/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/modules/test/.eslintrc
rename to browser/modules/test/.eslintrc.js
--- a/browser/modules/test/.eslintrc
+++ b/browser/modules/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../testing/mochitest/browser.eslintrc"
+    "../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from browser/modules/test/unit/social/.eslintrc
rename to browser/modules/test/unit/social/.eslintrc.js
--- a/browser/modules/test/unit/social/.eslintrc
+++ b/browser/modules/test/unit/social/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from browser/modules/test/xpcshell/.eslintrc
rename to browser/modules/test/xpcshell/.eslintrc.js
--- a/browser/modules/test/xpcshell/.eslintrc
+++ b/browser/modules/test/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from devtools/.eslintrc
rename to devtools/.eslintrc.js
--- a/devtools/.eslintrc
+++ b/devtools/.eslintrc.js
@@ -1,9 +1,11 @@
-{
+"use strict";
+
+module.exports = {
   "plugins": [
     "react"
   ],
   "globals": {
     "atob": true,
     "btoa": true,
     "Components": true,
     "CSSRule": true,
@@ -145,17 +147,20 @@
     // Enforces spacing between keys and values in object literal properties.
     "key-spacing": [2, {"beforeColon": false, "afterColon": true}],
     // Allow mixed 'LF' and 'CRLF' as linebreaks.
     "linebreak-style": 0,
     // Don't enforce the maximum depth that blocks can be nested. The complexity
     // rule is a better rule to check this.
     "max-depth": 0,
     // Maximum length of a line.
-    "max-len": [2, 90, 2, {"ignoreUrls": true, "ignorePattern": "data:image\/|\\s*require\\s*\\(|^\\s*loader\\.lazy|-\\*-"}],
+    "max-len": [2, 90, 2, {
+      "ignoreUrls": true,
+      "ignorePattern": "data:image\/|\\s*require\\s*\\(|^\\s*loader\\.lazy|-\\*-"
+    }],
     // Maximum depth callbacks can be nested.
     "max-nested-callbacks": [2, 3],
     // Don't limit the number of parameters that can be used in a function.
     "max-params": 0,
     // Don't limit the maximum number of statement allowed in a function. We
     // already have the complexity rule that's a better measurement.
     "max-statements": 0,
     // Require a capital letter for constructors, only check if all new
@@ -316,17 +321,18 @@
     "no-underscore-dangle": 0,
     // Allow use of undefined variable.
     "no-undefined": 0,
     // Disallow the use of Boolean literals in conditional expressions.
     "no-unneeded-ternary": 2,
     // Disallow unreachable statements after a return, throw, continue, or break
     // statement.
     "no-unreachable": 2,
-    // Disallow global and local variables that aren't used, but allow unused function arguments.
+    // Disallow global and local variables that aren't used, but allow unused
+    // function arguments.
     "no-unused-vars": [2, {"vars": "all", "args": "none"}],
     // Allow using variables before they are defined.
     "no-use-before-define": 0,
     // We use var-only-at-top-level instead of no-var as we allow top level
     // vars.
     "no-var": 0,
     // Allow using TODO/FIXME comments.
     "no-warning-comments": 0,
@@ -459,9 +465,9 @@
     // disallow wrapping of non-IIFE statements in parens
     "no-wrap-func": 0,
     // require assignment operator shorthand where possible or prohibit it
     // entirely
     "operator-assignment": 0,
     // enforce operators to be placed before or after line breaks
     "operator-linebreak": 0,
   }
-}
+};
rename from devtools/.eslintrc.mochitests
rename to devtools/.eslintrc.mochitests.js
--- a/devtools/.eslintrc.mochitests
+++ b/devtools/.eslintrc.mochitests.js
@@ -1,20 +1,20 @@
 // Parent config file for all devtools browser mochitest files.
-{
+module.exports = {
   "extends": [
-    "../testing/mochitest/browser.eslintrc"
+    "../testing/mochitest/browser.eslintrc.js"
   ],
   // All globals made available in the test environment.
   "globals": {
     "DevToolsUtils": true,
     "gDevTools": true,
     "once": true,
     "synthesizeKeyFromKeyTag": true,
     "TargetFactory": true,
     "waitForTick": true,
   },
 
   "rules": {
     // Tests can always import anything.
     "mozilla/reject-some-requires": 0,
   },
-}
+};
rename from devtools/.eslintrc.xpcshell
rename to devtools/.eslintrc.xpcshell.js
--- a/devtools/.eslintrc.xpcshell
+++ b/devtools/.eslintrc.xpcshell.js
@@ -1,21 +1,21 @@
 // Parent config file for all devtools xpcshell files.
-{
+module.exports = {
   "extends": [
-    "../testing/xpcshell/xpcshell.eslintrc"
+    "../testing/xpcshell/xpcshell.eslintrc.js"
   ],
   "rules": {
     // Allow non-camelcase so that run_test doesn't produce a warning.
     "camelcase": 0,
     // Allow using undefined variables so that tests can refer to functions
     // and variables defined in head.js files, without having to maintain a
     // list of globals in each .eslintrc file.
     // Note that bug 1168340 will eventually help auto-registering globals
     // from head.js files.
     "no-undef": 0,
     "block-scoped-var": 0,
     // Allow run_test to be unused in xpcshell
     "no-unused-vars": [2, { "varsIgnorePattern": "run_test" }],
     // Tests can always import anything.
     "mozilla/reject-some-requires": 0,
   }
-}
+};
rename from devtools/client/aboutdebugging/test/.eslintrc
rename to devtools/client/aboutdebugging/test/.eslintrc.js
--- a/devtools/client/aboutdebugging/test/.eslintrc
+++ b/devtools/client/aboutdebugging/test/.eslintrc.js
@@ -1,11 +1,13 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests",
+  "extends": "../../../.eslintrc.mochitests.js",
   // All globals made available in aboutdebugging head.js file.
   "globals": {
     "AddonManager": true,
     "addTab": true,
     "assertHasTarget": true,
     "CHROME_ROOT": true,
     "changeAboutDebuggingHash": true,
     "closeAboutDebugging": true,
@@ -16,9 +18,9 @@
     "openPanel": true,
     "removeTab": true,
     "uninstallAddon": true,
     "unregisterServiceWorker": true,
     "waitForInitialAddonList": true,
     "waitForMutation": true,
     "waitForServiceWorkerRegistered": true
   }
-}
+};
rename from devtools/client/animationinspector/test/.eslintrc
rename to devtools/client/animationinspector/test/.eslintrc.js
--- a/devtools/client/animationinspector/test/.eslintrc
+++ b/devtools/client/animationinspector/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/animationinspector/test/unit/.eslintrc
rename to devtools/client/animationinspector/test/unit/.eslintrc.js
--- a/devtools/client/animationinspector/test/unit/.eslintrc
+++ b/devtools/client/animationinspector/test/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools xpcshell eslintrc config.
-  "extends": "../../../../.eslintrc.xpcshell"
-}
\ No newline at end of file
+  "extends": "../../../../.eslintrc.xpcshell.js"
+};
rename from devtools/client/canvasdebugger/test/.eslintrc
rename to devtools/client/canvasdebugger/test/.eslintrc.js
--- a/devtools/client/canvasdebugger/test/.eslintrc
+++ b/devtools/client/canvasdebugger/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/commandline/test/.eslintrc
rename to devtools/client/commandline/test/.eslintrc.js
--- a/devtools/client/commandline/test/.eslintrc
+++ b/devtools/client/commandline/test/.eslintrc.js
@@ -1,8 +1,10 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests",
+  "extends": "../../../.eslintrc.mochitests.js",
   "globals": {
     "helpers": true,
     "assert": true
   }
-}
+};
rename from devtools/client/debugger/new/test/mochitest/.eslintrc
rename to devtools/client/debugger/new/test/mochitest/.eslintrc.js
--- a/devtools/client/debugger/new/test/mochitest/.eslintrc
+++ b/devtools/client/debugger/new/test/mochitest/.eslintrc.js
@@ -1,9 +1,11 @@
-{
+"use strict";
+
+module.exports = {
   "globals": {
     "add_task": false,
     "Assert": false,
     "BrowserTestUtils": false,
     "content": false,
     "ContentTask": false,
     "ContentTaskUtils": false,
     "EventUtils": false,
@@ -65,9 +67,9 @@
     "addBreakpoint": false,
     "toggleCallStack": false,
     "isVisibleWithin": false,
     "clickElement": false,
     "togglePauseOnExceptions": false,
     "pressKey": false,
     "EXAMPLE_URL": false
   }
-}
+};
rename from devtools/client/debugger/test/.eslintrc
rename to devtools/client/debugger/test/.eslintrc.js
--- a/devtools/client/debugger/test/.eslintrc
+++ b/devtools/client/debugger/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/dom/.eslintrc
rename to devtools/client/dom/.eslintrc.js
--- a/devtools/client/dom/.eslintrc
+++ b/devtools/client/dom/.eslintrc.js
@@ -1,15 +1,17 @@
-{
+"use strict";
+
+module.exports = {
   "globals": {
     "XMLHttpRequest": true,
     "window": true,
     "define": true,
     "addEventListener": true,
     "document": true,
     "dispatchEvent": true,
     "MessageEvent": true
   },
   "rules": {
     "indent": 0,
     "padded-blocks": 0,
   }
-}
+};
rename from devtools/client/dom/test/.eslintrc
rename to devtools/client/dom/test/.eslintrc.js
--- a/devtools/client/dom/test/.eslintrc
+++ b/devtools/client/dom/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests",
-}
+  "extends": "../../../.eslintrc.mochitests.js",
+};
rename from devtools/client/framework/test/.eslintrc
rename to devtools/client/framework/test/.eslintrc.js
--- a/devtools/client/framework/test/.eslintrc
+++ b/devtools/client/framework/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/inspector/.eslintrc
rename to devtools/client/inspector/.eslintrc.js
--- a/devtools/client/inspector/.eslintrc
+++ b/devtools/client/inspector/.eslintrc.js
@@ -1,12 +1,15 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the devtools eslintrc.
-  "extends": "../../.eslintrc",
+  "extends": "../../.eslintrc.js",
 
   "rules": {
     // The inspector is being migrated to HTML and cleaned of
     // chrome-privileged code, so this rule disallows requiring chrome
     // code. Some files in the inspector disable this rule still. The
     // goal is to enable the rule globally on all files.
+    /* eslint-disable max-len */
     "mozilla/reject-some-requires": [2, "^(chrome|chrome:.*|resource:.*|devtools/server/.*|.*\\.jsm|devtools/shared/platform/(chome|content)/.*)$"],
   },
-}
+};
rename from devtools/client/inspector/components/test/.eslintrc
rename to devtools/client/inspector/components/test/.eslintrc.js
--- a/devtools/client/inspector/components/test/.eslintrc
+++ b/devtools/client/inspector/components/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/inspector/computed/test/.eslintrc
rename to devtools/client/inspector/computed/test/.eslintrc.js
--- a/devtools/client/inspector/computed/test/.eslintrc
+++ b/devtools/client/inspector/computed/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/inspector/fonts/test/.eslintrc
rename to devtools/client/inspector/fonts/test/.eslintrc.js
--- a/devtools/client/inspector/fonts/test/.eslintrc
+++ b/devtools/client/inspector/fonts/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/inspector/markup/test/.eslintrc
rename to devtools/client/inspector/markup/test/.eslintrc.js
--- a/devtools/client/inspector/markup/test/.eslintrc
+++ b/devtools/client/inspector/markup/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/inspector/rules/test/.eslintrc
rename to devtools/client/inspector/rules/test/.eslintrc.js
--- a/devtools/client/inspector/rules/test/.eslintrc
+++ b/devtools/client/inspector/rules/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/inspector/shared/test/.eslintrc
rename to devtools/client/inspector/shared/test/.eslintrc.js
--- a/devtools/client/inspector/shared/test/.eslintrc
+++ b/devtools/client/inspector/shared/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/inspector/test/.eslintrc
rename to devtools/client/inspector/test/.eslintrc.js
--- a/devtools/client/inspector/test/.eslintrc
+++ b/devtools/client/inspector/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/jsonview/.eslintrc
rename to devtools/client/jsonview/.eslintrc.js
--- a/devtools/client/jsonview/.eslintrc
+++ b/devtools/client/jsonview/.eslintrc.js
@@ -1,9 +1,11 @@
-{
+"use strict";
+
+module.exports = {
   "globals": {
     "define": true,
     "document": true,
     "window": true,
     "CustomEvent": true,
     "Locale": true
   }
-}
+};
rename from devtools/client/jsonview/test/.eslintrc
rename to devtools/client/jsonview/test/.eslintrc.js
--- a/devtools/client/jsonview/test/.eslintrc
+++ b/devtools/client/jsonview/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/memory/test/browser/.eslintrc
rename to devtools/client/memory/test/browser/.eslintrc.js
--- a/devtools/client/memory/test/browser/.eslintrc
+++ b/devtools/client/memory/test/browser/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/memory/test/unit/.eslintrc
rename to devtools/client/memory/test/unit/.eslintrc.js
--- a/devtools/client/memory/test/unit/.eslintrc
+++ b/devtools/client/memory/test/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.xpcshell"
-}
+  "extends": "../../../../.eslintrc.xpcshell.js"
+};
rename from devtools/client/netmonitor/.eslintrc
rename to devtools/client/netmonitor/.eslintrc.js
--- a/devtools/client/netmonitor/.eslintrc
+++ b/devtools/client/netmonitor/.eslintrc.js
@@ -1,12 +1,15 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the devtools eslintrc.
-  "extends": "../../.eslintrc",
+  "extends": "../../.eslintrc.js",
 
   "rules": {
     // The netmonitor is being migrated to HTML and cleaned of
     // chrome-privileged code, so this rule disallows requiring chrome
     // code. Some files in the netmonitor disable this rule still. The
     // goal is to enable the rule globally on all files.
+    /* eslint-disable max-len */
     "mozilla/reject-some-requires": [2, "^(chrome|chrome:.*|resource:.*|devtools/server/.*|.*\\.jsm|devtools/shared/platform/(chome|content)/.*)$"],
   },
-}
+};
rename from devtools/client/netmonitor/har/test/.eslintrc
rename to devtools/client/netmonitor/har/test/.eslintrc.js
--- a/devtools/client/netmonitor/har/test/.eslintrc
+++ b/devtools/client/netmonitor/har/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/netmonitor/test/.eslintrc
rename to devtools/client/netmonitor/test/.eslintrc.js
--- a/devtools/client/netmonitor/test/.eslintrc
+++ b/devtools/client/netmonitor/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/performance/test/.eslintrc
rename to devtools/client/performance/test/.eslintrc.js
--- a/devtools/client/performance/test/.eslintrc
+++ b/devtools/client/performance/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/performance/test/unit/.eslintrc
rename to devtools/client/performance/test/unit/.eslintrc.js
--- a/devtools/client/performance/test/unit/.eslintrc
+++ b/devtools/client/performance/test/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.xpcshell"
-}
+  "extends": "../../../../.eslintrc.xpcshell.js"
+};
rename from devtools/client/projecteditor/test/.eslintrc
rename to devtools/client/projecteditor/test/.eslintrc.js
--- a/devtools/client/projecteditor/test/.eslintrc
+++ b/devtools/client/projecteditor/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/promisedebugger/test/.eslintrc
rename to devtools/client/promisedebugger/test/.eslintrc.js
--- a/devtools/client/promisedebugger/test/.eslintrc
+++ b/devtools/client/promisedebugger/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/responsive.html/test/browser/.eslintrc
rename to devtools/client/responsive.html/test/browser/.eslintrc.js
--- a/devtools/client/responsive.html/test/browser/.eslintrc
+++ b/devtools/client/responsive.html/test/browser/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/responsive.html/test/unit/.eslintrc
rename to devtools/client/responsive.html/test/unit/.eslintrc.js
--- a/devtools/client/responsive.html/test/unit/.eslintrc
+++ b/devtools/client/responsive.html/test/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for xpcshell.
-  "extends": "../../../../.eslintrc.xpcshell"
-}
+  "extends": "../../../../.eslintrc.xpcshell.js"
+};
rename from devtools/client/responsivedesign/test/.eslintrc
rename to devtools/client/responsivedesign/test/.eslintrc.js
--- a/devtools/client/responsivedesign/test/.eslintrc
+++ b/devtools/client/responsivedesign/test/.eslintrc.js
@@ -1,8 +1,10 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests",
+  "extends": "../../../.eslintrc.mochitests.js",
   "globals": {
     "ResponsiveUI": true,
     "helpers": true
   }
-}
+};
rename from devtools/client/scratchpad/test/.eslintrc
rename to devtools/client/scratchpad/test/.eslintrc.js
--- a/devtools/client/scratchpad/test/.eslintrc
+++ b/devtools/client/scratchpad/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/shadereditor/test/.eslintrc
rename to devtools/client/shadereditor/test/.eslintrc.js
--- a/devtools/client/shadereditor/test/.eslintrc
+++ b/devtools/client/shadereditor/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/shared/components/.eslintrc
rename to devtools/client/shared/components/.eslintrc.js
--- a/devtools/client/shared/components/.eslintrc
+++ b/devtools/client/shared/components/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "globals": {
     "define": true,
   }
-}
+};
rename from devtools/client/shared/components/test/browser/.eslintrc
rename to devtools/client/shared/components/test/browser/.eslintrc.js
--- a/devtools/client/shared/components/test/browser/.eslintrc
+++ b/devtools/client/shared/components/test/browser/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../../.eslintrc.mochitests",
-}
+  "extends": "../../../../../.eslintrc.mochitests.js",
+};
rename from devtools/client/shared/components/test/mochitest/.eslintrc
rename to devtools/client/shared/components/test/mochitest/.eslintrc.js
--- a/devtools/client/shared/components/test/mochitest/.eslintrc
+++ b/devtools/client/shared/components/test/mochitest/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/shared/shim/test/.eslintrc
rename to devtools/client/shared/shim/test/.eslintrc.js
--- a/devtools/client/shared/shim/test/.eslintrc
+++ b/devtools/client/shared/shim/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/shared/test/.eslintrc
rename to devtools/client/shared/test/.eslintrc.js
--- a/devtools/client/shared/test/.eslintrc
+++ b/devtools/client/shared/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/shared/test/unit/.eslintrc
rename to devtools/client/shared/test/unit/.eslintrc.js
--- a/devtools/client/shared/test/unit/.eslintrc
+++ b/devtools/client/shared/test/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools xpcshell eslintrc config.
-  "extends": "../../../../.eslintrc.xpcshell"
-}
\ No newline at end of file
+  "extends": "../../../../.eslintrc.xpcshell.js"
+};
rename from devtools/client/sourceeditor/.eslintrc
rename to devtools/client/sourceeditor/.eslintrc.js
--- a/devtools/client/sourceeditor/.eslintrc
+++ b/devtools/client/sourceeditor/.eslintrc.js
@@ -1,12 +1,15 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the devtools eslintrc.
-  "extends": "../../.eslintrc",
+  "extends": "../../.eslintrc.js",
 
   "rules": {
     // The inspector is being migrated to HTML and cleaned of
     // chrome-privileged code, so this rule disallows requiring chrome
     // code. Some files here disable this rule still. The
     // goal is to enable the rule globally on all files.
+    /* eslint-disable max-len */
     "mozilla/reject-some-requires": [2, "^(chrome|chrome:.*|resource:.*|devtools/server/.*|.*\\.jsm)$"],
   },
-}
+};
rename from devtools/client/sourceeditor/test/.eslintrc
rename to devtools/client/sourceeditor/test/.eslintrc.js
--- a/devtools/client/sourceeditor/test/.eslintrc
+++ b/devtools/client/sourceeditor/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/storage/test/.eslintrc
rename to devtools/client/storage/test/.eslintrc.js
--- a/devtools/client/storage/test/.eslintrc
+++ b/devtools/client/storage/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/styleeditor/test/.eslintrc
rename to devtools/client/styleeditor/test/.eslintrc.js
--- a/devtools/client/styleeditor/test/.eslintrc
+++ b/devtools/client/styleeditor/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/webaudioeditor/test/.eslintrc
rename to devtools/client/webaudioeditor/test/.eslintrc.js
--- a/devtools/client/webaudioeditor/test/.eslintrc
+++ b/devtools/client/webaudioeditor/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/webconsole/net/.eslintrc
rename to devtools/client/webconsole/net/.eslintrc.js
--- a/devtools/client/webconsole/net/.eslintrc
+++ b/devtools/client/webconsole/net/.eslintrc.js
@@ -1,18 +1,20 @@
-{
+"use strict";
+
+module.exports = {
   "globals": {
     "Locale": true,
     "Document": true,
     "document": true,
     "Node": true,
     "Element": true,
     "MessageEvent": true,
     "BrowserLoader": true,
     "addEventListener": true,
     "DOMParser": true,
     "dispatchEvent": true,
     "setTimeout": true
   },
   "rules": {
     "no-unused-vars": [2, {"args": "none"}],
   }
-}
+};
rename from devtools/client/webconsole/net/test/mochitest/.eslintrc
rename to devtools/client/webconsole/net/test/mochitest/.eslintrc.js
--- a/devtools/client/webconsole/net/test/mochitest/.eslintrc
+++ b/devtools/client/webconsole/net/test/mochitest/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../../.eslintrc.mochitests",
-}
+  "extends": "../../../../../.eslintrc.mochitests.js",
+};
rename from devtools/client/webconsole/net/test/unit/.eslintrc
rename to devtools/client/webconsole/net/test/unit/.eslintrc.js
--- a/devtools/client/webconsole/net/test/unit/.eslintrc
+++ b/devtools/client/webconsole/net/test/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools xpcshell eslintrc config.
-  "extends": "../../../../../.eslintrc.xpcshell"
-}
\ No newline at end of file
+  "extends": "../../../../../.eslintrc.xpcshell.js"
+};
rename from devtools/client/webconsole/new-console-output/test/.eslintrc
rename to devtools/client/webconsole/new-console-output/test/.eslintrc.js
--- a/devtools/client/webconsole/new-console-output/test/.eslintrc
+++ b/devtools/client/webconsole/new-console-output/test/.eslintrc.js
@@ -1,3 +1,5 @@
-{
-  "extends": ["../../../../.eslintrc.xpcshell"]
-}
+"use strict";
+
+module.exports = {
+  "extends": ["../../../../.eslintrc.xpcshell.js"]
+};
rename from devtools/client/webconsole/test/.eslintrc
rename to devtools/client/webconsole/test/.eslintrc.js
--- a/devtools/client/webconsole/test/.eslintrc
+++ b/devtools/client/webconsole/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/client/webide/test/.eslintrc
rename to devtools/client/webide/test/.eslintrc.js
--- a/devtools/client/webide/test/.eslintrc
+++ b/devtools/client/webide/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/server/tests/browser/.eslintrc
rename to devtools/server/tests/browser/.eslintrc.js
--- a/devtools/server/tests/browser/.eslintrc
+++ b/devtools/server/tests/browser/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools mochitest eslintrc config.
-  "extends": "../../../.eslintrc.xpcshell"
-}
+  "extends": "../../../.eslintrc.xpcshell.js"
+};
rename from devtools/server/tests/mochitest/.eslintrc
rename to devtools/server/tests/mochitest/.eslintrc.js
--- a/devtools/server/tests/mochitest/.eslintrc
+++ b/devtools/server/tests/mochitest/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools mochitest eslintrc config.
-  "extends": "../../../.eslintrc.xpcshell"
-}
+  "extends": "../../../.eslintrc.xpcshell.js"
+};
rename from devtools/server/tests/unit/.eslintrc
rename to devtools/server/tests/unit/.eslintrc.js
--- a/devtools/server/tests/unit/.eslintrc
+++ b/devtools/server/tests/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools xpcshell eslintrc config.
-  "extends": "../../../.eslintrc.xpcshell"
-}
+  "extends": "../../../.eslintrc.xpcshell.js"
+};
rename from devtools/shared/heapsnapshot/tests/unit/.eslintrc
rename to devtools/shared/heapsnapshot/tests/unit/.eslintrc.js
--- a/devtools/shared/heapsnapshot/tests/unit/.eslintrc
+++ b/devtools/shared/heapsnapshot/tests/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools xpcshell eslintrc config.
-  "extends": "../../../../.eslintrc.xpcshell"
-}
\ No newline at end of file
+  "extends": "../../../../.eslintrc.xpcshell.js"
+};
rename from devtools/shared/platform/content/.eslintrc
rename to devtools/shared/platform/content/.eslintrc.js
--- a/devtools/shared/platform/content/.eslintrc
+++ b/devtools/shared/platform/content/.eslintrc.js
@@ -1,9 +1,12 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the devtools eslintrc.
-  "extends": "../../../.eslintrc",
+  "extends": "../../../.eslintrc.js",
 
   "rules": {
+    /* eslint-disable max-len */
     // All code in this directory must be content-clean.
     "mozilla/reject-some-requires": [2, "^(chrome|chrome:.*|resource:.*|devtools/server/.*|.*\\.jsm|devtools/shared/platform/(chome|content)/.*)$"],
   },
-}
+};
rename from devtools/shared/platform/content/test/.eslintrc
rename to devtools/shared/platform/content/test/.eslintrc.js
--- a/devtools/shared/platform/content/test/.eslintrc
+++ b/devtools/shared/platform/content/test/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools xpcshell eslintrc config.
-  "extends": "../../../../.eslintrc.xpcshell"
-}
+  "extends": "../../../../.eslintrc.xpcshell.js"
+};
rename from devtools/shared/security/tests/unit/.eslintrc
rename to devtools/shared/security/tests/unit/.eslintrc.js
--- a/devtools/shared/security/tests/unit/.eslintrc
+++ b/devtools/shared/security/tests/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools xpcshell eslintrc config.
-  "extends": "../../../../.eslintrc.xpcshell"
-}
\ No newline at end of file
+  "extends": "../../../../.eslintrc.xpcshell.js"
+};
rename from devtools/shared/tests/browser/.eslintrc
rename to devtools/shared/tests/browser/.eslintrc.js
--- a/devtools/shared/tests/browser/.eslintrc
+++ b/devtools/shared/tests/browser/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../.eslintrc.mochitests"
-}
+  "extends": "../../../.eslintrc.mochitests.js"
+};
rename from devtools/shared/tests/unit/.eslintrc
rename to devtools/shared/tests/unit/.eslintrc.js
--- a/devtools/shared/tests/unit/.eslintrc
+++ b/devtools/shared/tests/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools xpcshell eslintrc config.
-  "extends": "../../../.eslintrc.xpcshell"
-}
+  "extends": "../../../.eslintrc.xpcshell.js"
+};
rename from devtools/shared/transport/tests/unit/.eslintrc
rename to devtools/shared/transport/tests/unit/.eslintrc.js
--- a/devtools/shared/transport/tests/unit/.eslintrc
+++ b/devtools/shared/transport/tests/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools xpcshell eslintrc config.
-  "extends": "../../../../.eslintrc.xpcshell"
-}
\ No newline at end of file
+  "extends": "../../../../.eslintrc.xpcshell.js"
+};
rename from devtools/shared/webconsole/test/unit/.eslintrc
rename to devtools/shared/webconsole/test/unit/.eslintrc.js
--- a/devtools/shared/webconsole/test/unit/.eslintrc
+++ b/devtools/shared/webconsole/test/unit/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the common devtools xpcshell eslintrc config.
-  "extends": "../../../../.eslintrc.xpcshell"
-}
\ No newline at end of file
+  "extends": "../../../../.eslintrc.xpcshell.js"
+};
rename from devtools/shared/worker/tests/browser/.eslintrc
rename to devtools/shared/worker/tests/browser/.eslintrc.js
--- a/devtools/shared/worker/tests/browser/.eslintrc
+++ b/devtools/shared/worker/tests/browser/.eslintrc.js
@@ -1,4 +1,6 @@
-{
+"use strict";
+
+module.exports = {
   // Extend from the shared list of defined globals for mochitests.
-  "extends": "../../../../.eslintrc.mochitests"
-}
+  "extends": "../../../../.eslintrc.mochitests.js"
+};
rename from mobile/android/components/extensions/.eslintrc
rename to mobile/android/components/extensions/.eslintrc.js
--- a/mobile/android/components/extensions/.eslintrc
+++ b/mobile/android/components/extensions/.eslintrc.js
@@ -1,3 +1,5 @@
-{
-  "extends": "../../../../toolkit/components/extensions/.eslintrc",
-}
+"use strict";
+
+module.exports = {
+  "extends": "../../../../toolkit/components/extensions/.eslintrc.js",
+};
rename from mobile/android/components/extensions/test/mochitest/.eslintrc
rename to mobile/android/components/extensions/test/mochitest/.eslintrc.js
--- a/mobile/android/components/extensions/test/mochitest/.eslintrc
+++ b/mobile/android/components/extensions/test/mochitest/.eslintrc.js
@@ -1,8 +1,10 @@
-{
-  "extends": "../../../../../../toolkit/components/extensions/test/mochitest/.eslintrc",
+"use strict";
+
+module.exports = {
+  "extends": "../../../../../../toolkit/components/extensions/test/mochitest/.eslintrc.js",
 
   "globals": {
     "isPageActionShown": true,
     "clickPageAction": true,
   },
-}
+};
rename from security/manager/.eslintrc.json
rename to security/manager/.eslintrc.js
--- a/security/manager/.eslintrc.json
+++ b/security/manager/.eslintrc.js
@@ -1,9 +1,11 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "rules": {
     // Braces only needed for multi-line arrow function blocks
     "arrow-body-style": [2, "as-needed"],
 
     // Require spacing around =>
     "arrow-spacing": 2,
 
     // Always require spacing around a single line block
@@ -213,9 +215,9 @@
   },
   "env": {
     "browser": true
   },
   "globals": {
     "Components": false,
     "dump": false
   }
-}
+};
rename from security/manager/ssl/tests/.eslintrc.json
rename to security/manager/ssl/tests/.eslintrc.js
--- a/security/manager/ssl/tests/.eslintrc.json
+++ b/security/manager/ssl/tests/.eslintrc.js
@@ -1,6 +1,8 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "rules": {
     // Disallow non-top level |var| declarations.
     "mozilla/var-only-at-top-level": 2
   }
-}
+};
rename from security/manager/ssl/tests/mochitest/browser/.eslintrc.json
rename to security/manager/ssl/tests/mochitest/browser/.eslintrc.js
--- a/security/manager/ssl/tests/mochitest/browser/.eslintrc.json
+++ b/security/manager/ssl/tests/mochitest/browser/.eslintrc.js
@@ -1,3 +1,5 @@
-{
-  "extends": "../../../../../../testing/mochitest/browser.eslintrc"
-}
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
+  "extends": "../../../../../../testing/mochitest/browser.eslintrc.js"
+};
rename from security/manager/ssl/tests/mochitest/mixedcontent/.eslintrc.json
rename to security/manager/ssl/tests/mochitest/mixedcontent/.eslintrc.js
--- a/security/manager/ssl/tests/mochitest/mixedcontent/.eslintrc.json
+++ b/security/manager/ssl/tests/mochitest/mixedcontent/.eslintrc.js
@@ -1,3 +1,5 @@
-{
-  "extends": "../../../../../../testing/mochitest/mochitest.eslintrc"
-}
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
+  "extends": "../../../../../../testing/mochitest/mochitest.eslintrc.js"
+};
rename from security/manager/ssl/tests/mochitest/stricttransportsecurity/.eslintrc.json
rename to security/manager/ssl/tests/mochitest/stricttransportsecurity/.eslintrc.js
--- a/security/manager/ssl/tests/mochitest/stricttransportsecurity/.eslintrc.json
+++ b/security/manager/ssl/tests/mochitest/stricttransportsecurity/.eslintrc.js
@@ -1,7 +1,9 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   // mochitest-chrome tests also exist in this directory, but don't appear to
   // use anything not also available to plain mochitests. Since plain mochitests
   // are the majority, we take the safer option and only extend the
   // mochitest-plain eslintrc file.
-  "extends": "../../../../../../testing/mochitest/mochitest.eslintrc"
-}
+  "extends": "../../../../../../testing/mochitest/mochitest.eslintrc.js"
+};
rename from security/manager/ssl/tests/unit/.eslintrc.json
rename to security/manager/ssl/tests/unit/.eslintrc.js
--- a/security/manager/ssl/tests/unit/.eslintrc.json
+++ b/security/manager/ssl/tests/unit/.eslintrc.js
@@ -1,3 +1,5 @@
-{
-  "extends": "../../../../../testing/xpcshell/xpcshell.eslintrc"
-}
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
+  "extends": "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
+};
rename from security/manager/tools/.eslintrc.json
rename to security/manager/tools/.eslintrc.js
--- a/security/manager/tools/.eslintrc.json
+++ b/security/manager/tools/.eslintrc.js
@@ -1,7 +1,9 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "globals": {
     // JS files in this folder are commonly xpcshell scripts where |arguments|
     // is defined in the global scope.
     "arguments": false
   }
-}
+};
rename from storage/.eslintrc
rename to storage/.eslintrc.js
--- a/storage/.eslintrc
+++ b/storage/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../toolkit/.eslintrc"
+    "../toolkit/.eslintrc.js"
   ]
-}
+};
rename from testing/mochitest/browser.eslintrc
rename to testing/mochitest/browser.eslintrc.js
--- a/testing/mochitest/browser.eslintrc
+++ b/testing/mochitest/browser.eslintrc.js
@@ -1,17 +1,18 @@
 // Parent config file for all browser-chrome files.
-{
+module.exports = {
   "rules": {
     "mozilla/import-headjs-globals": 2,
     "mozilla/import-browserjs-globals": 2,
   },
 
   "env": {
     "browser": true,
+    //"node": true
   },
 
   // All globals made available in the test environment.
   "globals": {
     "add_task": false,
     "Assert": false,
     "BrowserTestUtils": false,
     "content": false,
@@ -39,9 +40,9 @@
     "thisTestLeaksUncaughtRejectionsAndShouldBeFixed": false,
     "todo": false,
     "todo_is": false,
     "todo_isnot": false,
     "waitForClipboard": false,
     "waitForExplicitFinish": false,
     "waitForFocus": false,
   }
-}
+};
rename from testing/mochitest/chrome.eslintrc
rename to testing/mochitest/chrome.eslintrc.js
--- a/testing/mochitest/chrome.eslintrc
+++ b/testing/mochitest/chrome.eslintrc.js
@@ -1,10 +1,10 @@
 // Parent config file for all mochitest files.
-{
+module.exports = {
   rules: {
     "mozilla/import-headjs-globals": 1,
   },
 
   "env": {
     "browser": true,
   },
 
@@ -30,9 +30,9 @@
     "SpecialPowers": false,
     "todo": false,
     "todo_is": false,
     "todo_isnot": false,
     "waitForClipboard": false,
     "waitForExplicitFinish": false,
     "waitForFocus": false,
   }
-}
+};
rename from testing/mochitest/mochitest.eslintrc
rename to testing/mochitest/mochitest.eslintrc.js
--- a/testing/mochitest/mochitest.eslintrc
+++ b/testing/mochitest/mochitest.eslintrc.js
@@ -1,10 +1,10 @@
 // Parent config file for all mochitest files.
-{
+module.exports = {
   rules: {
     "mozilla/import-headjs-globals": 1,
   },
 
   "env": {
     "browser": true,
   },
 
@@ -31,9 +31,9 @@
     "SpecialPowers": false,
     "todo": false,
     "todo_is": false,
     "todo_isnot": false,
     "waitForClipboard": false,
     "waitForExplicitFinish": false,
     "waitForFocus": false,
   }
-}
+};
rename from testing/xpcshell/xpcshell.eslintrc
rename to testing/xpcshell/xpcshell.eslintrc.js
--- a/testing/xpcshell/xpcshell.eslintrc
+++ b/testing/xpcshell/xpcshell.eslintrc.js
@@ -1,10 +1,10 @@
 // Parent config file for all xpcshell files.
-{
+module.exports = {
   rules: {
     "mozilla/import-headjs-globals": 1,
   },
 
   // All globals made available in the test environment.
   "globals": {
     "add_task": false,
     "add_test": false,
@@ -44,9 +44,9 @@
     "run_test": false,
     "run_test_in_child": false,
     "strictEqual": false,
     "throws": false,
     "todo": false,
     "todo_check_false": false,
     "todo_check_true": false,
   }
-}
+};
rename from toolkit/.eslintrc
rename to toolkit/.eslintrc.js
--- a/toolkit/.eslintrc
+++ b/toolkit/.eslintrc.js
@@ -1,9 +1,11 @@
-{
+"use strict";
+
+module.exports = {
   // When adding items to this file please check for effects on all of toolkit
   // and browser
   "rules": {
     // Braces only needed for multi-line arrow function blocks
     // "arrow-body-style": [2, "as-needed"],
 
     // Require spacing around =>
     "arrow-spacing": 2,
@@ -66,17 +68,17 @@
 
     // No labels
     "no-labels": 2,
 
     // If an if block ends with a return no need for an else block
     "no-else-return": 2,
 
     // No empty statements
-    "no-empty": [2, "allowEmptyCatch": true],
+    "no-empty": [2, {"allowEmptyCatch": true}],
 
     // No empty character classes in regex
     "no-empty-character-class": 2,
 
     // Disallow empty destructuring
     "no-empty-pattern": 2,
 
     // No assiging to exception variable
@@ -192,9 +194,9 @@
     "browser": true,
   },
   "globals": {
     "Components": false,
     "dump": true,
     "openDialog": false,
     "sizeToContent": false,
   }
-}
+};
rename from toolkit/components/aboutmemory/tests/.eslintrc
rename to toolkit/components/aboutmemory/tests/.eslintrc.js
--- a/toolkit/components/aboutmemory/tests/.eslintrc
+++ b/toolkit/components/aboutmemory/tests/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/aboutperformance/tests/browser/.eslintrc
rename to toolkit/components/aboutperformance/tests/browser/.eslintrc.js
--- a/toolkit/components/aboutperformance/tests/browser/.eslintrc
+++ b/toolkit/components/aboutperformance/tests/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/addoncompat/tests/browser/.eslintrc
rename to toolkit/components/addoncompat/tests/browser/.eslintrc.js
--- a/toolkit/components/addoncompat/tests/browser/.eslintrc
+++ b/toolkit/components/addoncompat/tests/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/alerts/test/.eslintrc
rename to toolkit/components/alerts/test/.eslintrc.js
--- a/toolkit/components/alerts/test/.eslintrc
+++ b/toolkit/components/alerts/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/mochitest.eslintrc"
+    "../../../../testing/mochitest/mochitest.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/asyncshutdown/tests/xpcshell/.eslintrc
rename to toolkit/components/asyncshutdown/tests/xpcshell/.eslintrc.js
--- a/toolkit/components/asyncshutdown/tests/xpcshell/.eslintrc
+++ b/toolkit/components/asyncshutdown/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/autocomplete/tests/unit/.eslintrc
rename to toolkit/components/autocomplete/tests/unit/.eslintrc.js
--- a/toolkit/components/autocomplete/tests/unit/.eslintrc
+++ b/toolkit/components/autocomplete/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/captivedetect/test/unit/.eslintrc
rename to toolkit/components/captivedetect/test/unit/.eslintrc.js
--- a/toolkit/components/captivedetect/test/unit/.eslintrc
+++ b/toolkit/components/captivedetect/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/commandlines/test/unit/.eslintrc
rename to toolkit/components/commandlines/test/unit/.eslintrc.js
--- a/toolkit/components/commandlines/test/unit/.eslintrc
+++ b/toolkit/components/commandlines/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/commandlines/test/unit_unix/.eslintrc
rename to toolkit/components/commandlines/test/unit_unix/.eslintrc.js
--- a/toolkit/components/commandlines/test/unit_unix/.eslintrc
+++ b/toolkit/components/commandlines/test/unit_unix/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/commandlines/test/unit_win/.eslintrc
rename to toolkit/components/commandlines/test/unit_win/.eslintrc.js
--- a/toolkit/components/commandlines/test/unit_win/.eslintrc
+++ b/toolkit/components/commandlines/test/unit_win/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/contentprefs/tests/mochitest/.eslintrc
rename to toolkit/components/contentprefs/tests/mochitest/.eslintrc.js
--- a/toolkit/components/contentprefs/tests/mochitest/.eslintrc
+++ b/toolkit/components/contentprefs/tests/mochitest/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/mochitest.eslintrc"
+    "../../../../../testing/mochitest/mochitest.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/contentprefs/tests/unit/.eslintrc
rename to toolkit/components/contentprefs/tests/unit/.eslintrc.js
--- a/toolkit/components/contentprefs/tests/unit/.eslintrc
+++ b/toolkit/components/contentprefs/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/contentprefs/tests/unit_cps2/.eslintrc
rename to toolkit/components/contentprefs/tests/unit_cps2/.eslintrc.js
--- a/toolkit/components/contentprefs/tests/unit_cps2/.eslintrc
+++ b/toolkit/components/contentprefs/tests/unit_cps2/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/crashes/tests/xpcshell/.eslintrc
rename to toolkit/components/crashes/tests/xpcshell/.eslintrc.js
--- a/toolkit/components/crashes/tests/xpcshell/.eslintrc
+++ b/toolkit/components/crashes/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/crashmonitor/test/unit/.eslintrc
rename to toolkit/components/crashmonitor/test/unit/.eslintrc.js
--- a/toolkit/components/crashmonitor/test/unit/.eslintrc
+++ b/toolkit/components/crashmonitor/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/ctypes/tests/chrome/.eslintrc
rename to toolkit/components/ctypes/tests/chrome/.eslintrc.js
--- a/toolkit/components/ctypes/tests/chrome/.eslintrc
+++ b/toolkit/components/ctypes/tests/chrome/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/ctypes/tests/unit/.eslintrc
rename to toolkit/components/ctypes/tests/unit/.eslintrc.js
--- a/toolkit/components/ctypes/tests/unit/.eslintrc
+++ b/toolkit/components/ctypes/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/downloads/test/unit/.eslintrc
rename to toolkit/components/downloads/test/unit/.eslintrc.js
--- a/toolkit/components/downloads/test/unit/.eslintrc
+++ b/toolkit/components/downloads/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/extensions/.eslintrc
rename to toolkit/components/extensions/.eslintrc.js
--- a/toolkit/components/extensions/.eslintrc
+++ b/toolkit/components/extensions/.eslintrc.js
@@ -1,10 +1,12 @@
-{
-  "extends": "../../.eslintrc",
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
+  "extends": "../../.eslintrc.js",
 
   "globals": {
     "Cc": true,
     "Ci": true,
     "Components": true,
     "Cr": true,
     "Cu": true,
     "dump": true,
@@ -347,17 +349,17 @@
 
     // Allow the use of leading or trailing decimal points in numeric literals.
     "no-floating-decimal": 0,
 
     // Allow comments inline after code.
     "no-inline-comments": 0,
 
     // Disallow use of labels for anything other then loops and switches.
-    "no-labels": [2, { "allowLoop": true }],
+    "no-labels": [2, {"allowLoop": true}],
 
     // Disallow use of multiline strings (use template strings instead).
     "no-multi-str": 1,
 
     // Disallow multiple empty lines.
     "no-multiple-empty-lines": [1, {"max": 2}],
 
     // Allow reassignment of function parameters.
@@ -483,10 +485,10 @@
     // Disallow usage of __iterator__ property
     "no-iterator": 2,
 
     // Disallow labels that share a name with a variable
     "no-label-var": 2,
 
     // Disallow creating new instances of String, Number, and Boolean
     "no-new-wrappers": 2,
-  }
-}
+  },
+};
rename from toolkit/components/extensions/test/mochitest/.eslintrc
rename to toolkit/components/extensions/test/mochitest/.eslintrc.js
--- a/toolkit/components/extensions/test/mochitest/.eslintrc
+++ b/toolkit/components/extensions/test/mochitest/.eslintrc.js
@@ -1,18 +1,20 @@
-{
-  "extends": "../../../../../testing/mochitest/mochitest.eslintrc",
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
+  "extends": "../../../../../testing/mochitest/mochitest.eslintrc.js",
 
   "env": {
     "webextensions": true,
   },
 
   "globals": {
     "sendAsyncMessage": false,
 
     "waitForLoad": true,
     "promiseConsoleOutput": true,
 
     "ExtensionTestUtils": false,
     "NetUtil": true,
     "XPCOMUtils": true,
   },
-}
+};
rename from toolkit/components/extensions/test/xpcshell/.eslintrc
rename to toolkit/components/extensions/test/xpcshell/.eslintrc.js
--- a/toolkit/components/extensions/test/xpcshell/.eslintrc
+++ b/toolkit/components/extensions/test/xpcshell/.eslintrc.js
@@ -1,7 +1,9 @@
-{
-  "extends": "../../../../../testing/xpcshell/xpcshell.eslintrc",
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
+  "extends": "../../../../../testing/xpcshell/xpcshell.eslintrc.js",
 
   "globals": {
     "browser": false,
   },
-}
+};
rename from toolkit/components/feeds/test/.eslintrc
rename to toolkit/components/feeds/test/.eslintrc.js
--- a/toolkit/components/feeds/test/.eslintrc
+++ b/toolkit/components/feeds/test/.eslintrc.js
@@ -1,6 +1,8 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/chrome.eslintrc",
-    "../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../testing/mochitest/chrome.eslintrc.js",
+    "../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/filepicker/test/unit/.eslintrc
rename to toolkit/components/filepicker/test/unit/.eslintrc.js
--- a/toolkit/components/filepicker/test/unit/.eslintrc
+++ b/toolkit/components/filepicker/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/filewatcher/tests/xpcshell/.eslintrc
rename to toolkit/components/filewatcher/tests/xpcshell/.eslintrc.js
--- a/toolkit/components/filewatcher/tests/xpcshell/.eslintrc
+++ b/toolkit/components/filewatcher/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/formautofill/test/browser/.eslintrc
rename to toolkit/components/formautofill/test/browser/.eslintrc.js
--- a/toolkit/components/formautofill/test/browser/.eslintrc
+++ b/toolkit/components/formautofill/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/formautofill/test/chrome/.eslintrc
rename to toolkit/components/formautofill/test/chrome/.eslintrc.js
--- a/toolkit/components/formautofill/test/chrome/.eslintrc
+++ b/toolkit/components/formautofill/test/chrome/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/formautofill/test/xpcshell/.eslintrc
rename to toolkit/components/formautofill/test/xpcshell/.eslintrc.js
--- a/toolkit/components/formautofill/test/xpcshell/.eslintrc
+++ b/toolkit/components/formautofill/test/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/jsdownloads/test/browser/.eslintrc
rename to toolkit/components/jsdownloads/test/browser/.eslintrc.js
--- a/toolkit/components/jsdownloads/test/browser/.eslintrc
+++ b/toolkit/components/jsdownloads/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/jsdownloads/test/data/.eslintrc
rename to toolkit/components/jsdownloads/test/data/.eslintrc.js
--- a/toolkit/components/jsdownloads/test/data/.eslintrc
+++ b/toolkit/components/jsdownloads/test/data/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/jsdownloads/test/unit/.eslintrc
rename to toolkit/components/jsdownloads/test/unit/.eslintrc.js
--- a/toolkit/components/jsdownloads/test/unit/.eslintrc
+++ b/toolkit/components/jsdownloads/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/lz4/tests/xpcshell/.eslintrc
rename to toolkit/components/lz4/tests/xpcshell/.eslintrc.js
--- a/toolkit/components/lz4/tests/xpcshell/.eslintrc
+++ b/toolkit/components/lz4/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/mediasniffer/test/unit/.eslintrc
rename to toolkit/components/mediasniffer/test/unit/.eslintrc.js
--- a/toolkit/components/mediasniffer/test/unit/.eslintrc
+++ b/toolkit/components/mediasniffer/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/narrate/.eslintrc
rename to toolkit/components/narrate/.eslintrc.js
--- a/toolkit/components/narrate/.eslintrc
+++ b/toolkit/components/narrate/.eslintrc.js
@@ -1,11 +1,13 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "extends": [
-    "../../.eslintrc"
+    "../../.eslintrc.js"
   ],
 
   "globals": {
     "Components": true,
     "dump": true,
     "Iterator": true
   },
 
@@ -84,9 +86,9 @@
     "space-infix-ops": [1, {"int32Hint": true}],
     "space-unary-ops": [1, { "words": true, "nonwords": false }],
     "spaced-comment": [1, "always"],
     "strict": [2, "global"],
     "use-isnan": 2,
     "valid-typeof": 2,
     "yoda": 2
   }
-}
+};
rename from toolkit/components/narrate/test/.eslintrc
rename to toolkit/components/narrate/test/.eslintrc.js
--- a/toolkit/components/narrate/test/.eslintrc
+++ b/toolkit/components/narrate/test/.eslintrc.js
@@ -1,11 +1,13 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "extends": [
-    "../.eslintrc"
+    "../.eslintrc.js"
   ],
 
   "globals": {
     "is": true,
     "isnot": true,
     "ok": true,
     "NarrateTestUtils": true,
     "content": true,
@@ -13,9 +15,9 @@
     "ContentTask": true,
     "BrowserTestUtils": true,
     "gBrowser": true,
   },
 
   "rules": {
     "mozilla/import-headjs-globals": 1
   }
-}
+};
rename from toolkit/components/osfile/tests/mochi/.eslintrc
rename to toolkit/components/osfile/tests/mochi/.eslintrc.js
--- a/toolkit/components/osfile/tests/mochi/.eslintrc
+++ b/toolkit/components/osfile/tests/mochi/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/osfile/tests/xpcshell/.eslintrc
rename to toolkit/components/osfile/tests/xpcshell/.eslintrc.js
--- a/toolkit/components/osfile/tests/xpcshell/.eslintrc
+++ b/toolkit/components/osfile/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/passwordmgr/.eslintrc
rename to toolkit/components/passwordmgr/.eslintrc.js
--- a/toolkit/components/passwordmgr/.eslintrc
+++ b/toolkit/components/passwordmgr/.eslintrc.js
@@ -1,10 +1,12 @@
-{
-  "extends": "../../.eslintrc",
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
+  "extends": "../../.eslintrc.js",
   "rules": {
     // Require spacing around =>
     "arrow-spacing": 2,
 
     // No newline before open brace for a block
     "brace-style": [2, "1tbs", {"allowSingleLine": true}],
 
     // No space before always a space after a comma
@@ -26,9 +28,9 @@
     "no-unused-vars": [2, {"args": "none", "vars": "local", "varsIgnorePattern": "^(ids|ignored|unused)$"}],
 
     // Always require semicolon at end of statement
     "semi": [2, "always"],
 
     // Require spaces around operators
     "space-infix-ops": 2,
   }
-}
+};
rename from toolkit/components/passwordmgr/test/.eslintrc
rename to toolkit/components/passwordmgr/test/.eslintrc.js
--- a/toolkit/components/passwordmgr/test/.eslintrc
+++ b/toolkit/components/passwordmgr/test/.eslintrc.js
@@ -1,11 +1,13 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "extends": [
-    "../../../../testing/mochitest/mochitest.eslintrc",
-    "../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../testing/mochitest/mochitest.eslintrc.js",
+    "../../../../testing/mochitest/chrome.eslintrc.js"
   ],
   "rules": {
     "brace-style": 0,
     "no-undef": 0,
     "no-unused-vars": 0,
   },
-}
+};
rename from toolkit/components/passwordmgr/test/browser/.eslintrc
rename to toolkit/components/passwordmgr/test/browser/.eslintrc.js
--- a/toolkit/components/passwordmgr/test/browser/.eslintrc
+++ b/toolkit/components/passwordmgr/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/passwordmgr/test/unit/.eslintrc
rename to toolkit/components/passwordmgr/test/unit/.eslintrc.js
--- a/toolkit/components/passwordmgr/test/unit/.eslintrc
+++ b/toolkit/components/passwordmgr/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/perf/.eslintrc
rename to toolkit/components/perf/.eslintrc.js
--- a/toolkit/components/perf/.eslintrc
+++ b/toolkit/components/perf/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../testing/mochitest/chrome.eslintrc"
+    "../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/perfmonitoring/tests/browser/.eslintrc
rename to toolkit/components/perfmonitoring/tests/browser/.eslintrc.js
--- a/toolkit/components/perfmonitoring/tests/browser/.eslintrc
+++ b/toolkit/components/perfmonitoring/tests/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/.eslintrc
rename to toolkit/components/places/tests/.eslintrc.js
--- a/toolkit/components/places/tests/.eslintrc
+++ b/toolkit/components/places/tests/.eslintrc.js
@@ -1,7 +1,9 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/mochitest.eslintrc",
-    "../../../../testing/mochitest/chrome.eslintrc",
-    "../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../testing/mochitest/mochitest.eslintrc.js",
+    "../../../../testing/mochitest/chrome.eslintrc.js",
+    "../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/bookmarks/.eslintrc
rename to toolkit/components/places/tests/bookmarks/.eslintrc.js
--- a/toolkit/components/places/tests/bookmarks/.eslintrc
+++ b/toolkit/components/places/tests/bookmarks/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/browser/.eslintrc
rename to toolkit/components/places/tests/browser/.eslintrc.js
--- a/toolkit/components/places/tests/browser/.eslintrc
+++ b/toolkit/components/places/tests/browser/.eslintrc.js
@@ -1,6 +1,8 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc",
-    "../../../../../testing/mochitest/mochitest.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js",
+    "../../../../../testing/mochitest/mochitest.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/chrome/.eslintrc
rename to toolkit/components/places/tests/chrome/.eslintrc.js
--- a/toolkit/components/places/tests/chrome/.eslintrc
+++ b/toolkit/components/places/tests/chrome/.eslintrc.js
@@ -1,6 +1,8 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/chrome.eslintrc",
-    "../../../../../testing/mochitest/mochitest.eslintrc"
+    "../../../../../testing/mochitest/chrome.eslintrc.js",
+    "../../../../../testing/mochitest/mochitest.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/expiration/.eslintrc
rename to toolkit/components/places/tests/expiration/.eslintrc.js
--- a/toolkit/components/places/tests/expiration/.eslintrc
+++ b/toolkit/components/places/tests/expiration/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/favicons/.eslintrc
rename to toolkit/components/places/tests/favicons/.eslintrc.js
--- a/toolkit/components/places/tests/favicons/.eslintrc
+++ b/toolkit/components/places/tests/favicons/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/history/.eslintrc
rename to toolkit/components/places/tests/history/.eslintrc.js
--- a/toolkit/components/places/tests/history/.eslintrc
+++ b/toolkit/components/places/tests/history/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/migration/.eslintrc
rename to toolkit/components/places/tests/migration/.eslintrc.js
--- a/toolkit/components/places/tests/migration/.eslintrc
+++ b/toolkit/components/places/tests/migration/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/network/.eslintrc
rename to toolkit/components/places/tests/network/.eslintrc.js
--- a/toolkit/components/places/tests/network/.eslintrc
+++ b/toolkit/components/places/tests/network/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/queries/.eslintrc
rename to toolkit/components/places/tests/queries/.eslintrc.js
--- a/toolkit/components/places/tests/queries/.eslintrc
+++ b/toolkit/components/places/tests/queries/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/unifiedcomplete/.eslintrc
rename to toolkit/components/places/tests/unifiedcomplete/.eslintrc.js
--- a/toolkit/components/places/tests/unifiedcomplete/.eslintrc
+++ b/toolkit/components/places/tests/unifiedcomplete/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/places/tests/unit/.eslintrc
rename to toolkit/components/places/tests/unit/.eslintrc.js
--- a/toolkit/components/places/tests/unit/.eslintrc
+++ b/toolkit/components/places/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/promiseworker/tests/xpcshell/.eslintrc
rename to toolkit/components/promiseworker/tests/xpcshell/.eslintrc.js
--- a/toolkit/components/promiseworker/tests/xpcshell/.eslintrc
+++ b/toolkit/components/promiseworker/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/prompts/test/.eslintrc
rename to toolkit/components/prompts/test/.eslintrc.js
--- a/toolkit/components/prompts/test/.eslintrc
+++ b/toolkit/components/prompts/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/mochitest.eslintrc"
+    "../../../../testing/mochitest/mochitest.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/remotebrowserutils/tests/browser/.eslintrc
rename to toolkit/components/remotebrowserutils/tests/browser/.eslintrc.js
--- a/toolkit/components/remotebrowserutils/tests/browser/.eslintrc
+++ b/toolkit/components/remotebrowserutils/tests/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/satchel/test/.eslintrc
rename to toolkit/components/satchel/test/.eslintrc.js
--- a/toolkit/components/satchel/test/.eslintrc
+++ b/toolkit/components/satchel/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/mochitest.eslintrc"
+    "../../../../testing/mochitest/mochitest.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/satchel/test/browser/.eslintrc
rename to toolkit/components/satchel/test/browser/.eslintrc.js
--- a/toolkit/components/satchel/test/browser/.eslintrc
+++ b/toolkit/components/satchel/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/satchel/test/unit/.eslintrc
rename to toolkit/components/satchel/test/unit/.eslintrc.js
--- a/toolkit/components/satchel/test/unit/.eslintrc
+++ b/toolkit/components/satchel/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/search/tests/xpcshell/.eslintrc
rename to toolkit/components/search/tests/xpcshell/.eslintrc.js
--- a/toolkit/components/search/tests/xpcshell/.eslintrc
+++ b/toolkit/components/search/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/social/test/xpcshell/.eslintrc
rename to toolkit/components/social/test/xpcshell/.eslintrc.js
--- a/toolkit/components/social/test/xpcshell/.eslintrc
+++ b/toolkit/components/social/test/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/sqlite/tests/xpcshell/.eslintrc
rename to toolkit/components/sqlite/tests/xpcshell/.eslintrc.js
--- a/toolkit/components/sqlite/tests/xpcshell/.eslintrc
+++ b/toolkit/components/sqlite/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/startup/tests/browser/.eslintrc
rename to toolkit/components/startup/tests/browser/.eslintrc.js
--- a/toolkit/components/startup/tests/browser/.eslintrc
+++ b/toolkit/components/startup/tests/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/startup/tests/unit/.eslintrc
rename to toolkit/components/startup/tests/unit/.eslintrc.js
--- a/toolkit/components/startup/tests/unit/.eslintrc
+++ b/toolkit/components/startup/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/telemetry/tests/unit/.eslintrc
rename to toolkit/components/telemetry/tests/unit/.eslintrc.js
--- a/toolkit/components/telemetry/tests/unit/.eslintrc
+++ b/toolkit/components/telemetry/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/terminator/tests/xpcshell/.eslintrc
rename to toolkit/components/terminator/tests/xpcshell/.eslintrc.js
--- a/toolkit/components/terminator/tests/xpcshell/.eslintrc
+++ b/toolkit/components/terminator/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/thumbnails/test/.eslintrc
rename to toolkit/components/thumbnails/test/.eslintrc.js
--- a/toolkit/components/thumbnails/test/.eslintrc
+++ b/toolkit/components/thumbnails/test/.eslintrc.js
@@ -1,6 +1,8 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc",
-    "../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js",
+    "../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/timermanager/tests/unit/.eslintrc
rename to toolkit/components/timermanager/tests/unit/.eslintrc.js
--- a/toolkit/components/timermanager/tests/unit/.eslintrc
+++ b/toolkit/components/timermanager/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/url-classifier/tests/mochitest/.eslintrc
rename to toolkit/components/url-classifier/tests/mochitest/.eslintrc.js
--- a/toolkit/components/url-classifier/tests/mochitest/.eslintrc
+++ b/toolkit/components/url-classifier/tests/mochitest/.eslintrc.js
@@ -1,6 +1,8 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/mochitest.eslintrc",
-    "../../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../../testing/mochitest/mochitest.eslintrc.js",
+    "../../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/url-classifier/tests/unit/.eslintrc
rename to toolkit/components/url-classifier/tests/unit/.eslintrc.js
--- a/toolkit/components/url-classifier/tests/unit/.eslintrc
+++ b/toolkit/components/url-classifier/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/urlformatter/tests/unit/.eslintrc
rename to toolkit/components/urlformatter/tests/unit/.eslintrc.js
--- a/toolkit/components/urlformatter/tests/unit/.eslintrc
+++ b/toolkit/components/urlformatter/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/viewsource/test/.eslintrc
rename to toolkit/components/viewsource/test/.eslintrc.js
--- a/toolkit/components/viewsource/test/.eslintrc
+++ b/toolkit/components/viewsource/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/viewsource/test/browser/.eslintrc
rename to toolkit/components/viewsource/test/browser/.eslintrc.js
--- a/toolkit/components/viewsource/test/browser/.eslintrc
+++ b/toolkit/components/viewsource/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/workerloader/tests/.eslintrc
rename to toolkit/components/workerloader/tests/.eslintrc.js
--- a/toolkit/components/workerloader/tests/.eslintrc
+++ b/toolkit/components/workerloader/tests/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/xulstore/tests/chrome/.eslintrc
rename to toolkit/components/xulstore/tests/chrome/.eslintrc.js
--- a/toolkit/components/xulstore/tests/chrome/.eslintrc
+++ b/toolkit/components/xulstore/tests/chrome/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/components/xulstore/tests/xpcshell/.eslintrc
rename to toolkit/components/xulstore/tests/xpcshell/.eslintrc.js
--- a/toolkit/components/xulstore/tests/xpcshell/.eslintrc
+++ b/toolkit/components/xulstore/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/content/tests/browser/.eslintrc
rename to toolkit/content/tests/browser/.eslintrc.js
--- a/toolkit/content/tests/browser/.eslintrc
+++ b/toolkit/content/tests/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/content/tests/chrome/.eslintrc
rename to toolkit/content/tests/chrome/.eslintrc.js
--- a/toolkit/content/tests/chrome/.eslintrc
+++ b/toolkit/content/tests/chrome/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/content/tests/unit/.eslintrc
rename to toolkit/content/tests/unit/.eslintrc.js
--- a/toolkit/content/tests/unit/.eslintrc
+++ b/toolkit/content/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/content/tests/widgets/.eslintrc
rename to toolkit/content/tests/widgets/.eslintrc.js
--- a/toolkit/content/tests/widgets/.eslintrc
+++ b/toolkit/content/tests/widgets/.eslintrc.js
@@ -1,6 +1,8 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/mochitest.eslintrc",
-    "../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../testing/mochitest/mochitest.eslintrc.js",
+    "../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/crashreporter/test/browser/.eslintrc
rename to toolkit/crashreporter/test/browser/.eslintrc.js
--- a/toolkit/crashreporter/test/browser/.eslintrc
+++ b/toolkit/crashreporter/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/crashreporter/test/unit/.eslintrc
rename to toolkit/crashreporter/test/unit/.eslintrc.js
--- a/toolkit/crashreporter/test/unit/.eslintrc
+++ b/toolkit/crashreporter/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/crashreporter/test/unit_ipc/.eslintrc
rename to toolkit/crashreporter/test/unit_ipc/.eslintrc.js
--- a/toolkit/crashreporter/test/unit_ipc/.eslintrc
+++ b/toolkit/crashreporter/test/unit_ipc/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/forgetaboutsite/test/browser/.eslintrc
rename to toolkit/forgetaboutsite/test/browser/.eslintrc.js
--- a/toolkit/forgetaboutsite/test/browser/.eslintrc
+++ b/toolkit/forgetaboutsite/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/forgetaboutsite/test/unit/.eslintrc
rename to toolkit/forgetaboutsite/test/unit/.eslintrc.js
--- a/toolkit/forgetaboutsite/test/unit/.eslintrc
+++ b/toolkit/forgetaboutsite/test/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/identity/tests/chrome/.eslintrc
rename to toolkit/identity/tests/chrome/.eslintrc.js
--- a/toolkit/identity/tests/chrome/.eslintrc
+++ b/toolkit/identity/tests/chrome/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/identity/tests/unit/.eslintrc
rename to toolkit/identity/tests/unit/.eslintrc.js
--- a/toolkit/identity/tests/unit/.eslintrc
+++ b/toolkit/identity/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/modules/addons/.eslintrc
rename to toolkit/modules/addons/.eslintrc.js
--- a/toolkit/modules/addons/.eslintrc
+++ b/toolkit/modules/addons/.eslintrc.js
@@ -1,12 +1,14 @@
-{
-  "extends": "../../components/extensions/.eslintrc",
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
+  "extends": "../../components/extensions/.eslintrc.js",
 
   "globals": {
     "addEventListener": false,
     "addMessageListener": false,
     "removeEventListener": false,
     "sendAsyncMessage": false,
 
     "initialProcessData": true,
   },
-}
+};
rename from toolkit/modules/subprocess/.eslintrc
rename to toolkit/modules/subprocess/.eslintrc.js
--- a/toolkit/modules/subprocess/.eslintrc
+++ b/toolkit/modules/subprocess/.eslintrc.js
@@ -1,10 +1,12 @@
-{
-  "extends": "../../components/extensions/.eslintrc",
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
+  "extends": "../../components/extensions/.eslintrc.js",
 
   "env": {
     "worker": true,
   },
 
   "globals": {
     "ChromeWorker": false,
     "Components": false,
@@ -18,9 +20,9 @@
     "dump": false,
     "libc": true,
     "unix": true,
   },
 
   "rules": {
     "no-console": 0,
   },
-}
+};
rename from toolkit/modules/subprocess/test/xpcshell/.eslintrc
rename to toolkit/modules/subprocess/test/xpcshell/.eslintrc.js
--- a/toolkit/modules/subprocess/test/xpcshell/.eslintrc
+++ b/toolkit/modules/subprocess/test/xpcshell/.eslintrc.js
@@ -1,3 +1,5 @@
-{
-  "extends": "../../../../../testing/xpcshell/xpcshell.eslintrc",
-}
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
+  "extends": "../../../../../testing/xpcshell/xpcshell.eslintrc.js",
+};
rename from toolkit/modules/tests/browser/.eslintrc
rename to toolkit/modules/tests/browser/.eslintrc.js
--- a/toolkit/modules/tests/browser/.eslintrc
+++ b/toolkit/modules/tests/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/browser.eslintrc"
+    "../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/modules/tests/chrome/.eslintrc
rename to toolkit/modules/tests/chrome/.eslintrc.js
--- a/toolkit/modules/tests/chrome/.eslintrc
+++ b/toolkit/modules/tests/chrome/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/modules/tests/mochitest/.eslintrc
rename to toolkit/modules/tests/mochitest/.eslintrc.js
--- a/toolkit/modules/tests/mochitest/.eslintrc
+++ b/toolkit/modules/tests/mochitest/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/mochitest.eslintrc"
+    "../../../../testing/mochitest/mochitest.eslintrc.js"
   ]
-}
+};
rename from toolkit/modules/tests/xpcshell/.eslintrc
rename to toolkit/modules/tests/xpcshell/.eslintrc.js
--- a/toolkit/modules/tests/xpcshell/.eslintrc
+++ b/toolkit/modules/tests/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/mozapps/downloads/tests/chrome/.eslintrc
rename to toolkit/mozapps/downloads/tests/chrome/.eslintrc.js
--- a/toolkit/mozapps/downloads/tests/chrome/.eslintrc
+++ b/toolkit/mozapps/downloads/tests/chrome/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/mozapps/downloads/tests/unit/.eslintrc
rename to toolkit/mozapps/downloads/tests/unit/.eslintrc.js
--- a/toolkit/mozapps/downloads/tests/unit/.eslintrc
+++ b/toolkit/mozapps/downloads/tests/unit/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/mozapps/extensions/.eslintrc
rename to toolkit/mozapps/extensions/.eslintrc.js
--- a/toolkit/mozapps/extensions/.eslintrc
+++ b/toolkit/mozapps/extensions/.eslintrc.js
@@ -1,6 +1,8 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "rules": {
     // No using undeclared variables
     "no-undef": 2,
   }
-}
+};
rename from toolkit/mozapps/extensions/test/browser/.eslintrc
rename to toolkit/mozapps/extensions/test/browser/.eslintrc.js
--- a/toolkit/mozapps/extensions/test/browser/.eslintrc
+++ b/toolkit/mozapps/extensions/test/browser/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/mozapps/extensions/test/mochitest/.eslintrc
rename to toolkit/mozapps/extensions/test/mochitest/.eslintrc.js
--- a/toolkit/mozapps/extensions/test/mochitest/.eslintrc
+++ b/toolkit/mozapps/extensions/test/mochitest/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "extends": [
-    "../../../../../testing/mochitest/mochitest.eslintrc"
+    "../../../../../testing/mochitest/mochitest.eslintrc.js"
   ]
-}
+};
rename from toolkit/mozapps/extensions/test/xpcshell/.eslintrc
rename to toolkit/mozapps/extensions/test/xpcshell/.eslintrc.js
--- a/toolkit/mozapps/extensions/test/xpcshell/.eslintrc
+++ b/toolkit/mozapps/extensions/test/xpcshell/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/mozapps/extensions/test/xpinstall/.eslintrc
rename to toolkit/mozapps/extensions/test/xpinstall/.eslintrc.js
--- a/toolkit/mozapps/extensions/test/xpinstall/.eslintrc
+++ b/toolkit/mozapps/extensions/test/xpinstall/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = { // eslint-disable-line no-undef
   "extends": [
-    "../../../../../testing/mochitest/browser.eslintrc"
+    "../../../../../testing/mochitest/browser.eslintrc.js"
   ]
-}
+};
rename from toolkit/mozapps/update/tests/chrome/.eslintrc
rename to toolkit/mozapps/update/tests/chrome/.eslintrc.js
--- a/toolkit/mozapps/update/tests/chrome/.eslintrc
+++ b/toolkit/mozapps/update/tests/chrome/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/mozapps/update/tests/unit_aus_update/.eslintrc
rename to toolkit/mozapps/update/tests/unit_aus_update/.eslintrc.js
--- a/toolkit/mozapps/update/tests/unit_aus_update/.eslintrc
+++ b/toolkit/mozapps/update/tests/unit_aus_update/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/mozapps/update/tests/unit_base_updater/.eslintrc
rename to toolkit/mozapps/update/tests/unit_base_updater/.eslintrc.js
--- a/toolkit/mozapps/update/tests/unit_base_updater/.eslintrc
+++ b/toolkit/mozapps/update/tests/unit_base_updater/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/mozapps/update/tests/unit_service_updater/.eslintrc
rename to toolkit/mozapps/update/tests/unit_service_updater/.eslintrc.js
--- a/toolkit/mozapps/update/tests/unit_service_updater/.eslintrc
+++ b/toolkit/mozapps/update/tests/unit_service_updater/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../../testing/xpcshell/xpcshell.eslintrc"
+    "../../../../../testing/xpcshell/xpcshell.eslintrc.js"
   ]
-}
+};
rename from toolkit/profile/test/.eslintrc
rename to toolkit/profile/test/.eslintrc.js
--- a/toolkit/profile/test/.eslintrc
+++ b/toolkit/profile/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../testing/mochitest/chrome.eslintrc"
+    "../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/themes/osx/mochitests/.eslintrc
rename to toolkit/themes/osx/mochitests/.eslintrc.js
--- a/toolkit/themes/osx/mochitests/.eslintrc
+++ b/toolkit/themes/osx/mochitests/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../../testing/mochitest/chrome.eslintrc"
+    "../../../../testing/mochitest/chrome.eslintrc.js"
   ]
-}
+};
rename from toolkit/xre/test/.eslintrc
rename to toolkit/xre/test/.eslintrc.js
--- a/toolkit/xre/test/.eslintrc
+++ b/toolkit/xre/test/.eslintrc.js
@@ -1,5 +1,7 @@
-{
+"use strict";
+
+module.exports = {
   "extends": [
-    "../../../testing/mochitest/mochitest.eslintrc"
+    "../../../testing/mochitest/mochitest.eslintrc.js"
   ]
-}
+};
rename from tools/lint/eslint/eslint-plugin-mozilla/lib/rules/.eslintrc
rename to tools/lint/eslint/eslint-plugin-mozilla/lib/rules/.eslintrc.js
--- a/tools/lint/eslint/eslint-plugin-mozilla/lib/rules/.eslintrc
+++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/rules/.eslintrc.js
@@ -1,18 +1,20 @@
+"use strict";
+
 /**
  * Based on npm coding standards at https://docs.npmjs.com/misc/coding-style.
  *
  * The places we differ from the npm coding style:
  *   - Commas should be at the end of a line.
  *   - Always use semicolons.
  *   - Functions should not have whitespace before params.
  */
 
-{
+module.exports = {
   "env": {
     "node": true
   },
 
   "rules": {
     "brace-style": [2, "1tbs"],
     "camelcase": 2,
     "comma-dangle": [2, "never"],
@@ -41,9 +43,9 @@
     "DTRACE_HTTP_CLIENT_REQUEST": true,
     "DTRACE_HTTP_CLIENT_RESPONSE": true,
     "DTRACE_HTTP_SERVER_REQUEST": true,
     "DTRACE_HTTP_SERVER_RESPONSE": true,
     "DTRACE_NET_SERVER_CONNECTION": true,
     "DTRACE_NET_STREAM_END": true,
     "Intl": true,
   },
-}
+};