mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 08:12:05 +00:00
27fac51e12
Differential Revision: https://phabricator.services.mozilla.com/D216540
306 lines
12 KiB
JavaScript
306 lines
12 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* Files to exclude from ESLint.
|
|
*
|
|
* Please DO NOT add more third party files to this file.
|
|
* They should be added to tools/rewriting/ThirdPartyPaths.txt instead.
|
|
*
|
|
* Please also DO NOT add generated files that are for some reason checked
|
|
* into source - add them to tools/rewriting/Generated.txt instead.
|
|
*
|
|
* This file should only be used for exclusions where we have:
|
|
* - preprocessed files
|
|
* - intentionally invalid files
|
|
* - build directories and other items that we need to ignore
|
|
*
|
|
* @type {string[]}
|
|
*/
|
|
module.exports = [
|
|
// Include all js dot files.
|
|
"!.*.js",
|
|
|
|
// Ignore VSCode files
|
|
".vscode/",
|
|
|
|
// Always ignore node_modules.
|
|
"**/node_modules/",
|
|
|
|
// Always ignore crashtests - specially crafted files that originally caused a
|
|
// crash.
|
|
"**/crashtest/",
|
|
"**/crashtests/",
|
|
// Also ignore reftest - specially crafted to produce expected output.
|
|
"**/reftest/",
|
|
"**/reftests/",
|
|
// Don't ignore the reftest harness files.
|
|
"!/layout/tools/reftest/",
|
|
|
|
// Exclude expected objdirs.
|
|
"obj*/",
|
|
|
|
// build/ third-party code
|
|
"build/pgo/js-input/",
|
|
|
|
// browser/ exclusions
|
|
"browser/app/",
|
|
"browser/branding/**/firefox-branding.js",
|
|
// Gzipped test file.
|
|
"browser/base/content/test/general/gZipOfflineChild.html",
|
|
"browser/base/content/test/urlbar/file_blank_but_not_blank.html",
|
|
// Pre-processed template file
|
|
"browser/components/backup/content/archive.template.html",
|
|
// Test files that are really json not js, and don't need to be linted.
|
|
"browser/components/sessionstore/test/unit/data/sessionstore_valid.js",
|
|
"browser/components/sessionstore/test/unit/data/sessionstore_invalid.js",
|
|
// This file is split into two in order to keep it as a valid json file
|
|
// for documentation purposes (policies.json) but to be accessed by the
|
|
// code as a .sys.mjs (schema.sys.mjs)
|
|
"browser/components/enterprisepolicies/schemas/schema.sys.mjs",
|
|
// generated or library files in pocket
|
|
"browser/components/pocket/content/panels/js/tmpl.js",
|
|
"browser/components/pocket/content/panels/js/vendor.bundle.js",
|
|
"browser/components/pocket/content/panels/js/main.bundle.js",
|
|
// Include the Storybook config files.
|
|
"!browser/components/storybook/.storybook/",
|
|
"!browser/components/storybook/.storybook/*.js",
|
|
|
|
// Ignore newtab files
|
|
"browser/components/newtab/data/",
|
|
"browser/components/newtab/logs/",
|
|
|
|
// Ignore webpack about:welcome files
|
|
"browser/components/aboutwelcome/webpack.aboutwelcome.config.js",
|
|
|
|
// The only file in browser/locales/ is pre-processed.
|
|
"browser/locales/",
|
|
// Generated data files
|
|
"browser/extensions/formautofill/phonenumberutils/PhoneNumberMetaData.jsm",
|
|
|
|
// Ignore devtools debugger files which aren't intended for linting.
|
|
"devtools/client/debugger/bin/",
|
|
"devtools/client/debugger/configs/",
|
|
"devtools/client/debugger/dist/",
|
|
"devtools/client/debugger/images/",
|
|
"devtools/client/debugger/packages/",
|
|
"devtools/client/debugger/test/mochitest/examples/",
|
|
"devtools/client/debugger/index.html",
|
|
"devtools/client/debugger/webpack.config.js",
|
|
|
|
// Ignore devtools preferences files
|
|
"devtools/client/preferences/",
|
|
|
|
// Ignore devtools generated code
|
|
"devtools/client/webconsole/test/node/fixtures/stubs/*.js",
|
|
"!devtools/client/webconsole/test/node/fixtures/stubs/index.js",
|
|
"devtools/client/shared/components/test/node/stubs/reps/*.js",
|
|
"devtools/client/shared/source-map-loader/test/browser/fixtures/*.js",
|
|
|
|
// Ignore devtools files testing sourcemaps / code style
|
|
"devtools/client/framework/test/code_*",
|
|
"devtools/client/inspector/markup/test/events_bundle.js",
|
|
"devtools/client/netmonitor/test/xhr_bundle.js",
|
|
"devtools/client/webconsole/test/browser/code_bundle_nosource.js",
|
|
"devtools/client/webconsole/test/browser/code_bundle_invalidmap.js",
|
|
"devtools/client/webconsole/test/browser/test-autocomplete-mapped.js",
|
|
"devtools/client/webconsole/test/browser/test-autocomplete-mapped.src.js",
|
|
"devtools/client/inspector/markup/test/shadowdom_open_debugger.min.js",
|
|
"devtools/client/webconsole/test/browser/test-click-function-to-source*.js",
|
|
"devtools/client/webconsole/test/browser/test-external-script-errors.js",
|
|
"devtools/client/webconsole/test/browser/test-mangled-function.*",
|
|
"devtools/client/webconsole/test/browser/test-message-categories-canvas-css.js",
|
|
"devtools/client/webconsole/test/browser/test-message-categories-empty-getelementbyid.js",
|
|
"devtools/client/webconsole/test/browser/test-sourcemap*.js",
|
|
"devtools/server/tests/xpcshell/setBreakpoint*",
|
|
"devtools/server/tests/xpcshell/sourcemapped.js",
|
|
|
|
// Ignore generated code from wasm-bindgen
|
|
"devtools/client/performance-new/shared/profiler_get_symbols.js",
|
|
|
|
// Testing syntax error
|
|
"devtools/client/aboutdebugging/test/browser/resources/bad-extensions/invalid-json/manifest.json",
|
|
"devtools/client/jsonview/test/invalid_json.json",
|
|
"devtools/client/webconsole/test/browser/test-syntaxerror-worklet.js",
|
|
|
|
// devtools specific format test file
|
|
"devtools/server/tests/xpcshell/xpcshell_debugging_script.js",
|
|
"devtools/shared/webconsole/test/browser/data.json",
|
|
|
|
// Generated
|
|
"dom/canvas/test/webgl-conf/generated/",
|
|
|
|
// Intentionally invalid/not parsable
|
|
"dom/html/test/test_bug677658.html",
|
|
"dom/svg/test/test_nonAnimStrings.xhtml",
|
|
"dom/svg/test/test_SVG_namespace_ids.html",
|
|
|
|
// Strange encodings
|
|
"dom/base/test/file_bug687859-16.js",
|
|
"dom/base/test/file_bug707142_bom.json",
|
|
"dom/base/test/file_bug707142_utf-16.json",
|
|
"dom/encoding/test/test_utf16_files.html",
|
|
"dom/encoding/test/file_utf16_be_bom.js",
|
|
"dom/encoding/test/file_utf16_le_bom.js",
|
|
|
|
// Service workers fixtures which require specific resource caching.
|
|
"dom/base/test/file_js_cache.js",
|
|
"dom/serviceworkers/test/file_js_cache.js",
|
|
|
|
// Intentional broken files
|
|
"dom/base/test/file_js_cache_syntax_error.js",
|
|
"dom/base/test/jsmodules/test_scriptNotParsedAsModule.html",
|
|
"dom/base/test/jsmodules/test_syntaxError.html",
|
|
"dom/base/test/jsmodules/test_syntaxErrorAsync.html",
|
|
"dom/base/test/jsmodules/module_badSyntax.mjs",
|
|
"dom/base/test/jsmodules/test_syntaxErrorInline.html",
|
|
"dom/base/test/jsmodules/test_syntaxErrorInlineAsync.html",
|
|
"dom/base/test/test_bug687859.html",
|
|
"dom/media/webrtc/tests/mochitests/identity/idp-bad.js",
|
|
"dom/security/test/general/file_nonscript.json",
|
|
"dom/serviceworkers/test/file_js_cache_syntax_error.js",
|
|
"dom/serviceworkers/test/parse_error_worker.js",
|
|
"dom/tests/mochitest/bugs/test_bug531176.html",
|
|
"dom/webauthn/tests/cbor.js",
|
|
"dom/workers/test/importScripts_worker_imported3.js",
|
|
"dom/workers/test/invalid.js",
|
|
"dom/workers/test/threadErrors_worker1.js",
|
|
|
|
// Tests the module loader's path handling.
|
|
// Dynamic imports contains non-optimal paths.
|
|
"dom/workers/test/xpcshell/data/base_uri_worker.js",
|
|
"dom/workers/test/xpcshell/data/base_uri_module.mjs",
|
|
|
|
// Bug 1527075: This directory is linted in github repository
|
|
"intl/l10n/",
|
|
|
|
// Exclude everything but self-hosted JS
|
|
"js/examples/",
|
|
"js/public/",
|
|
"js/src/devtools/",
|
|
"js/src/jit-test/",
|
|
"js/src/tests/",
|
|
"js/src/Y.js",
|
|
|
|
// Changes to XPConnect tests must be carefully audited.
|
|
"js/xpconnect/tests/mochitest/",
|
|
"js/xpconnect/tests/unit/",
|
|
|
|
// Fuzzing code for testing only, targeting the JS shell
|
|
"js/src/fuzz-tests/",
|
|
|
|
// Template file
|
|
"mobile/android/docs/geckoview/assets/js/search-data.json",
|
|
|
|
// Uses `//filter substitution`
|
|
"mobile/android/app/geckoview-prefs.js",
|
|
|
|
// Not much JS to lint and non-standard at that
|
|
"mobile/android/installer/",
|
|
"mobile/android/locales/",
|
|
|
|
// Android - Web extensions: manifest.json files may be generated by the build system.
|
|
"mobile/android/android-components/components/feature/readerview/src/main/assets/extensions/readerview/manifest.json",
|
|
"mobile/android/android-components/samples/browser/src/main/assets/extensions/test/manifest.json",
|
|
|
|
// Bug 1903138: remaining issues from the firefox-android migration
|
|
"mobile/android/android-components/docs/assets/js/icon-js.js",
|
|
"mobile/android/fenix/app/src/androidTest/assets/",
|
|
"mobile/android/focus-android/app/src/androidTest/assets/",
|
|
|
|
// Pre-processed/pref files
|
|
"modules/libpref/greprefs.js",
|
|
"modules/libpref/init/all.js",
|
|
"modules/libpref/test/unit/*data/",
|
|
"toolkit/components/backgroundtasks/defaults/backgroundtasks.js",
|
|
"toolkit/components/backgroundtasks/defaults/backgroundtasks_browser.js",
|
|
|
|
// Only contains non-standard test files.
|
|
"python/",
|
|
|
|
// These are (mainly) imported code that we don't want to lint to make imports easier.
|
|
"remote/cdp/Protocol.sys.mjs",
|
|
"remote/cdp/test/browser/chrome-remote-interface.js",
|
|
"remote/marionette/atom.sys.mjs",
|
|
|
|
// This file explicitly has a syntax error and cannot be parsed by eslint.
|
|
"remote/shared/messagehandler/test/browser/resources/modules/root/invalid.sys.mjs",
|
|
|
|
// services/ exclusions
|
|
|
|
// Webpack-bundled library
|
|
"services/fxaccounts/FxAccountsPairingChannel.sys.mjs",
|
|
|
|
// Servo is imported.
|
|
"servo/",
|
|
|
|
// Rust/Cargo output from running `cargo` directly
|
|
"target/",
|
|
"servo/ports/geckolib/target/",
|
|
"dom/base/rust/target/",
|
|
"servo/components/style/target/",
|
|
"dom/webgpu/tests/cts/vendor/target/",
|
|
|
|
// Test files that we don't want to lint (preprocessed, minified etc)
|
|
"testing/condprofile/condprof/tests/profile",
|
|
"testing/mozbase/mozprofile/tests/files/prefs_with_comments.js",
|
|
"testing/mozharness/configs/test/test_malformed.json",
|
|
"testing/talos/talos/startup_test/sessionrestore/profile/sessionstore.js",
|
|
"testing/talos/talos/startup_test/sessionrestore/profile-manywindows/sessionstore.js",
|
|
// Python json.
|
|
"testing/talos/talos/unittests/test_talosconfig_browser_config.json",
|
|
"testing/talos/talos/unittests/test_talosconfig_test_config.json",
|
|
// Runing Talos may extract data here, see bug 1435677.
|
|
"testing/talos/talos/tests/tp5n/",
|
|
"testing/talos/talos/fis/tp5n/",
|
|
|
|
// Mainly third-party related code, that shouldn't be linted.
|
|
"testing/web-platform/",
|
|
|
|
// toolkit/ exclusions
|
|
|
|
// Intentionally invalid files
|
|
"toolkit/components/workerloader/tests/moduleF-syntax-error.js",
|
|
"toolkit/components/enterprisepolicies/tests/browser/config_broken_json.json",
|
|
"toolkit/mozapps/extensions/test/xpcshell/data/test_AddonRepository_fail.json",
|
|
|
|
// Built files
|
|
"toolkit/components/pdfjs/content/build",
|
|
"toolkit/components/pdfjs/content/web",
|
|
|
|
"toolkit/components/pdfjs/PdfJsOverridePrefs.js",
|
|
|
|
// Uses preprocessing
|
|
"toolkit/components/reader/Readerable.sys.mjs",
|
|
|
|
// Generated & special files in cld2
|
|
"toolkit/components/translation/cld2/",
|
|
|
|
// Uses preprocessing
|
|
"toolkit/mozapps/update/tests/data/xpcshellConstantsPP.js",
|
|
"toolkit/modules/AppConstants.sys.mjs",
|
|
|
|
// Tests of ESLint command.
|
|
"tools/lint/test/files",
|
|
|
|
// Uses special template formatting.
|
|
"tools/tryselect/selectors/chooser/templates/chooser.html",
|
|
|
|
// Ignore preprocessed *(P)refs.js files in update-packaging.
|
|
"tools/update-packaging/**/*refs.js",
|
|
|
|
// Ignore pre-generated webpack and typescript transpiled files for translations
|
|
"browser/extensions/translations/extension/",
|
|
|
|
// "scaffolding" used by uniffi which isn't valid JS in its original form.
|
|
"toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/",
|
|
"toolkit/components/uniffi-bindgen-gecko-js/components/generated/*",
|
|
|
|
// Test files for circular import in modules.
|
|
"dom/base/test/jsmodules/import_circular.mjs",
|
|
"dom/base/test/jsmodules/import_circular_1.mjs",
|
|
];
|