mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-11 16:32:59 +00:00
1cf71b7095
Generate the C++ and JS code to handle UniFFI bindings. The WebIDL code is completely static and doesn't need to be generated. There's support for both synchronus and async functions, but we haven't decided the how we want this to be configured. In practice, almost all functions will need to be async, so for now we're just forcing all functions to be. The `uniffi-bindgen-gecko-js` crate builds the binary that generates the bindings. This binary needs to be fed a list of UDL files, the path of the .cpp file to generate, and the directory to generate .jsm files in (and also all of those arguments again, but for the test fixtures). This is quiet a horrible UI, but it's going to be wrapped in a mach command. The `uniffi-js` directory contains shared C++ code for `uniffi-bindgen-gecko-js`. As much as possible we tried to put the functionality here and have the generated code simply forward function calls here. Still Todo: - CallbackInterfaces - Custom and external types - Datetime and TimeInterval Differential Revision: https://phabricator.services.mozilla.com/D144472
234 lines
7.6 KiB
Plaintext
234 lines
7.6 KiB
Plaintext
# Please DO NOT add more third party files to this file.
|
|
# They should be added to tools/rewriting/ThirdPartyPaths.txt instead.
|
|
|
|
# This file should only be used for exclusions where we have:
|
|
# - preprocessed files
|
|
# - generated files that are for some reason checked into source
|
|
# - intentionally invalid files
|
|
# - build directories and other items that we need to ignore
|
|
|
|
!.eslintrc*.js
|
|
|
|
# Always ignore node_modules.
|
|
**/node_modules/
|
|
|
|
# Always ignore crashtests - specially crafted files that originally caused a
|
|
# crash.
|
|
**/crashtests/
|
|
# Also ignore reftest - specially crafted to produce expected output.
|
|
**/reftest/
|
|
**/reftests/
|
|
|
|
# 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
|
|
# 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 .jsm (schema.jsm)
|
|
browser/components/enterprisepolicies/schemas/schema.jsm
|
|
# generated & special files in cld2
|
|
browser/components/translation/cld2/
|
|
# 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
|
|
|
|
# Ignore newtab files
|
|
browser/components/newtab/aboutwelcome/content/aboutwelcome.bundle.js
|
|
browser/components/newtab/data/
|
|
browser/components/newtab/logs/
|
|
|
|
# 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, and also
|
|
# aren't included in any .eslintignore or .prettierignore file.
|
|
# See https://github.com/firefox-devtools/debugger/blob/master/package.json#L24
|
|
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/shared/css/generated/properties-db.js
|
|
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
|
|
|
|
# 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/server/tests/xpcshell/setBreakpoint*
|
|
devtools/server/tests/xpcshell/sourcemapped.js
|
|
|
|
# Ignore generated code from wasm-bindgen
|
|
devtools/client/performance-new/profiler_get_symbols.js
|
|
|
|
# Testing syntax error
|
|
devtools/client/webconsole/test/browser/test-syntaxerror-worklet.js
|
|
|
|
# devtools specific format test file
|
|
devtools/server/tests/xpcshell/xpcshell_debugging_script.js
|
|
|
|
# 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/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_syntaxError.html
|
|
dom/base/test/jsmodules/test_syntaxErrorAsync.html
|
|
dom/base/test/jsmodules/module_badSyntax.js
|
|
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/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
|
|
|
|
# Bug 1527075: This directory is linted in github repository
|
|
intl/l10n/
|
|
|
|
# Exclude everything but self-hosted JS
|
|
js/ductwork/
|
|
js/examples/
|
|
js/public/
|
|
js/xpconnect/
|
|
js/src/devtools/
|
|
js/src/jit-test/
|
|
js/src/tests/
|
|
js/src/Y.js
|
|
|
|
# Fuzzing code for testing only, targeting the JS shell
|
|
js/src/fuzz-tests/
|
|
|
|
# Uses `#filter substitution`
|
|
mobile/android/app/mobile.js
|
|
mobile/android/app/geckoview-prefs.js
|
|
|
|
# Not much JS to lint and non-standard at that
|
|
mobile/android/installer/
|
|
mobile/android/locales/
|
|
|
|
# Pre-processed/pref files
|
|
modules/libpref/greprefs.js
|
|
modules/libpref/init/all.js
|
|
modules/libpref/test/unit/*data/
|
|
|
|
# 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.jsm
|
|
remote/cdp/test/browser/chrome-remote-interface.js
|
|
remote/marionette/atom.js
|
|
|
|
# This file explicitly has a syntax error and cannot be parsed by eslint.
|
|
remote/shared/messagehandler/test/browser/resources/modules/root/invalid.jsm
|
|
|
|
# services/ exclusions
|
|
|
|
# Third party services
|
|
services/common/kinto-http-client.js
|
|
services/common/kinto-offline-client.js
|
|
|
|
# Webpack-bundled library
|
|
services/fxaccounts/FxAccountsPairingChannel.js
|
|
|
|
# Servo is imported.
|
|
servo/
|
|
|
|
# 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/talos/talos/startup_test/sessionrestore/profile/sessionstore.js
|
|
testing/talos/talos/startup_test/sessionrestore/profile-manywindows/sessionstore.js
|
|
testing/talos/talos/tests/devtools/addon/content/pages/
|
|
# 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 JS
|
|
toolkit/components/workerloader/tests/moduleF-syntax-error.js
|
|
|
|
# Built files
|
|
toolkit/components/pdfjs/content/build
|
|
toolkit/components/pdfjs/content/web
|
|
|
|
# External code:
|
|
toolkit/components/reader/Readability.js
|
|
toolkit/components/reader/Readability-readerable.js
|
|
toolkit/components/reader/JSDOMParser.js
|
|
|
|
# Uses preprocessing
|
|
toolkit/components/reader/Readerable.jsm
|
|
|
|
# Uses preprocessing
|
|
toolkit/mozapps/update/tests/data/xpcshellConstantsPP.js
|
|
toolkit/modules/AppConstants.jsm
|
|
|
|
# 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 backgroundtasks preferences files.
|
|
toolkit/components/backgroundtasks/defaults
|
|
|
|
# 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/
|