From 2837d313b2cebea3743d4ce481e94883366a71fe Mon Sep 17 00:00:00 2001 From: Butkovits Atila Date: Fri, 23 Aug 2024 12:22:02 +0300 Subject: [PATCH] Backed out 7 changesets (bug 1870226) for causing build bustages. CLOSED TREE Backed out changeset 619244623dba (bug 1870226) Backed out changeset e85a5647cae4 (bug 1870226) Backed out changeset 21ea9baf83ea (bug 1870226) Backed out changeset a506c0f0ce28 (bug 1870226) Backed out changeset 77c78201a206 (bug 1870226) Backed out changeset 7a98dfef087f (bug 1870226) Backed out changeset f64ad89c2406 (bug 1870226) --- .../backup/actors/BackupUIParent.sys.mjs | 6 - .../enterprisepolicies/Policies.sys.mjs | 1 + .../enterprisepolicies/tests/xpcshell/head.js | 2 +- ...unified_extensions_overflowable_toolbar.js | 1 + .../migration/MigrationUtils.sys.mjs | 3 - .../content/migration-wizard-constants.mjs | 10 + .../migration/content/migration-wizard.mjs | 16 +- .../pagedata/PageDataSchema.sys.mjs | 4 +- .../components/places/Interactions.sys.mjs | 1 + .../components/places/PlacesUIUtils.sys.mjs | 1 + .../places/content/bookmarkProperties.js | 5 +- .../places/tests/browser/interactions/head.js | 2 - .../profiles/SelectableProfileService.sys.mjs | 12 - .../search/SearchSERPTelemetry.sys.mjs | 1 + .../components/search/SearchUIUtils.sys.mjs | 4 +- .../shopping/ShoppingSidebarChild.sys.mjs | 1 + browser/components/uitour/UITour-lib.js | 6 +- .../urlbar/UrlbarController.sys.mjs | 2 - browser/components/urlbar/UrlbarInput.sys.mjs | 1 + .../urlbar/UrlbarMuxerUnifiedComplete.sys.mjs | 1 + .../urlbar/UrlbarProviderRemoteTabs.sys.mjs | 4 - .../urlbar/private/AdmWikipedia.sys.mjs | 2 - .../urlbar/tests/UrlbarTestUtils.sys.mjs | 4 - .../browser_searchMode_sessionStore.js | 2 - js/xpconnect/loader/XPCOMUtils.sys.mjs | 1 + package-lock.json | 519 ++++++------------ package.json | 2 +- remote/cdp/CDPConnection.sys.mjs | 2 +- remote/cdp/domains/content/Runtime.sys.mjs | 5 +- remote/cdp/test/browser/head.js | 14 +- .../actors/MarionetteCommandsChild.sys.mjs | 2 + remote/marionette/cookie.sys.mjs | 4 +- remote/marionette/driver.sys.mjs | 16 +- remote/marionette/json.sys.mjs | 6 +- remote/marionette/message.sys.mjs | 2 +- remote/marionette/reftest.sys.mjs | 2 +- remote/marionette/server.sys.mjs | 2 +- remote/marionette/web-reference.sys.mjs | 4 +- remote/shared/Browser.sys.mjs | 2 +- remote/shared/DOM.sys.mjs | 4 +- remote/shared/TabManager.sys.mjs | 1 + .../NavigationListenerChild.sys.mjs | 1 + .../listeners/NetworkEventRecord.sys.mjs | 1 + remote/shared/listeners/test/browser/head.js | 1 + remote/shared/messagehandler/Errors.sys.mjs | 4 +- remote/shared/webdriver/Capabilities.sys.mjs | 8 +- remote/shared/webdriver/Errors.sys.mjs | 4 +- remote/shared/webdriver/Session.sys.mjs | 2 +- .../webdriver/UserPromptHandler.sys.mjs | 6 +- remote/webdriver-bidi/WebDriverBiDi.sys.mjs | 4 +- .../WebDriverBiDiConnection.sys.mjs | 2 +- .../CredentialChooserService.sys.mjs | 1 + .../extensions/ExtensionSettingsStore.sys.mjs | 1 + .../extensions/child/ext-runtime.js | 2 +- ...t_ext_contentscript_triggeringPrincipal.js | 6 +- .../shared/FormStateManager.sys.mjs | 1 + .../ml/content/EngineProcess.sys.mjs | 1 + .../search/SearchEngineSelector.sys.mjs | 6 - .../components/search/SearchService.sys.mjs | 3 + .../components/search/SearchSettings.sys.mjs | 2 + .../search/tests/SearchTestUtils.sys.mjs | 2 - .../search/tests/xpcshell/head_search.js | 2 - .../shopping/content/ShoppingProduct.mjs | 1 + .../actors/TranslationsParent.sys.mjs | 1 + .../content/translations-engine.worker.js | 2 +- .../lib/configs/valid-jsdoc.js | 2 +- tools/lint/eslint/manifest.tt | 4 +- 67 files changed, 261 insertions(+), 489 deletions(-) diff --git a/browser/components/backup/actors/BackupUIParent.sys.mjs b/browser/components/backup/actors/BackupUIParent.sys.mjs index b38a2d3424e3..571a94d457fd 100644 --- a/browser/components/backup/actors/BackupUIParent.sys.mjs +++ b/browser/components/backup/actors/BackupUIParent.sys.mjs @@ -78,12 +78,6 @@ export class BackupUIParent extends JSWindowActorParent { * * @param {ReceiveMessageArgument} message * The message received from the BackupUIChild. - * @returns { - * null | - * {success: boolean, errorCode: number} | - * {path: string, fileName: string, iconURL: string|null} - * } - * Returns either a success object, a file details object, or null. */ async receiveMessage(message) { if (message.name == "RequestState") { diff --git a/browser/components/enterprisepolicies/Policies.sys.mjs b/browser/components/enterprisepolicies/Policies.sys.mjs index c99bbb79bd0a..9fba32a20b91 100644 --- a/browser/components/enterprisepolicies/Policies.sys.mjs +++ b/browser/components/enterprisepolicies/Policies.sys.mjs @@ -2780,6 +2780,7 @@ export function runOnce(actionName, callback) { * The callback to be run when the pref value changes * @returns {Promise} * A promise that will resolve once the callback finishes running. + * */ async function runOncePerModification(actionName, policyValue, callback) { let prefName = `browser.policies.runOncePerModification.${actionName}`; diff --git a/browser/components/enterprisepolicies/tests/xpcshell/head.js b/browser/components/enterprisepolicies/tests/xpcshell/head.js index dfa7c3185aff..3881760ed4d2 100644 --- a/browser/components/enterprisepolicies/tests/xpcshell/head.js +++ b/browser/components/enterprisepolicies/tests/xpcshell/head.js @@ -79,7 +79,7 @@ async function setupPolicyEngineWithJsonWithSearch(json, customSchema) { "write-settings-to-disk-complete" ); await Services.search.init(); - await settingsWritten; + return settingsWritten; } function checkLockedPref(prefName, prefValue) { diff --git a/browser/components/extensions/test/browser/browser_unified_extensions_overflowable_toolbar.js b/browser/components/extensions/test/browser/browser_unified_extensions_overflowable_toolbar.js index e31c1e3abfd4..2082bc29a905 100644 --- a/browser/components/extensions/test/browser/browser_unified_extensions_overflowable_toolbar.js +++ b/browser/components/extensions/test/browser/browser_unified_extensions_overflowable_toolbar.js @@ -104,6 +104,7 @@ function getVisibleMenuItems(popup) { * be run after the window is expanded and the toolbar has underflowed, but * before the extensions are removed. This function is not passed any * arguments. The return value of the function is ignored. + * */ async function withWindowOverflowed( win, diff --git a/browser/components/migration/MigrationUtils.sys.mjs b/browser/components/migration/MigrationUtils.sys.mjs index d95f44531d00..aadacf7bfb4b 100644 --- a/browser/components/migration/MigrationUtils.sys.mjs +++ b/browser/components/migration/MigrationUtils.sys.mjs @@ -946,9 +946,6 @@ class MigrationUtils { * `AMBrowserExtensionsImport` as the "browser * identifier" used to match add-ons * @param {string[]} extensionIDs a list of extension IDs from another browser - * @returns {(lazy.MigrationWizardConstants.PROGRESS_VALUE|string[])[]} - * An array whose first element is a `MigrationWizardConstants.PROGRESS_VALUE` - * and second element is an array of imported add-on ids. */ async installExtensionsWrapper(migratorKey, extensionIDs) { const totalExtensions = extensionIDs.length; diff --git a/browser/components/migration/content/migration-wizard-constants.mjs b/browser/components/migration/content/migration-wizard-constants.mjs index 81d51ecd0a0f..18673fc5b66f 100644 --- a/browser/components/migration/content/migration-wizard-constants.mjs +++ b/browser/components/migration/content/migration-wizard-constants.mjs @@ -12,6 +12,8 @@ export const MigrationWizardConstants = Object.freeze({ * A mapping of a page identification string to the IDs used by the * various wizard pages. These are used by MigrationWizard.setState * to set the current page. + * + * @type {Object} */ PAGES: Object.freeze({ LOADING: "loading", @@ -26,6 +28,8 @@ export const MigrationWizardConstants = Object.freeze({ /** * A mapping of a progress value string. These are used by * MigrationWizard.#onShowingProgress to update the UI accordingly. + * + * @type {Object} */ PROGRESS_VALUE: Object.freeze({ LOADING: 1, @@ -39,6 +43,8 @@ export const MigrationWizardConstants = Object.freeze({ * the associated resource group in the wizard via a data-resource-type * attribute. The keys are used to set which items should be shown and * in what state in #onShowingProgress. + * + * @type {Object} */ DISPLAYED_RESOURCE_TYPES: Object.freeze({ // The DISPLAYED_RESOURCE_TYPES should have their keys match those @@ -78,6 +84,8 @@ export const MigrationWizardConstants = Object.freeze({ * the associated resource group in the wizard via a data-resource-type * attribute. The keys are for resource types that are only ever shown * for profile resets. + * + * @type {Object} */ PROFILE_RESET_ONLY_RESOURCE_TYPES: Object.freeze({ COOKIES: "COOKIES", @@ -104,6 +112,8 @@ export const MigrationWizardConstants = Object.freeze({ * "3" if all extensions were matched after import. "2" if only some * extensions were matched. "1" if none were matched, and "0" if extensions * weren't selected for import. + * + * @type {Object} */ EXTENSIONS_IMPORT_RESULT: Object.freeze({ NOT_IMPORTED: "0", diff --git a/browser/components/migration/content/migration-wizard.mjs b/browser/components/migration/content/migration-wizard.mjs index 3f3a5215aada..22b7d818e8bb 100644 --- a/browser/components/migration/content/migration-wizard.mjs +++ b/browser/components/migration/content/migration-wizard.mjs @@ -712,12 +712,6 @@ export class MigrationWizard extends HTMLElement { * This will only be shown if linkURL is also not-empty. */ - /** - * @typedef { - * keyof typeof MigrationWizardConstants.DISPLAYED_RESOURCE_TYPES - * } DISPLAYED_RESOURCE_TYPES_KEYS - */ - /** * Called when showing the progress / success page of the wizard. * @@ -726,7 +720,7 @@ export class MigrationWizard extends HTMLElement { * used: * @param {string} state.key * The key of the migrator being used. - * @param {Record} state.progress + * @param {Object} state.progress * An object whose keys match one of DISPLAYED_RESOURCE_TYPES. * * Any resource type not included in state.progress will be hidden. @@ -892,12 +886,6 @@ export class MigrationWizard extends HTMLElement { } } - /** - * @typedef { - * keyof typeof MigrationWizardConstants.DISPLAYED_FILE_RESOURCE_TYPES - * } DISPLAYED_FILE_RESOURCE_TYPES_KEYS - */ - /** * Called when showing the progress / success page of the wizard for * files. @@ -907,7 +895,7 @@ export class MigrationWizard extends HTMLElement { * used: * @param {string} state.title * The string to display in the header. - * @param {Record} state.progress + * @param {Object} state.progress * An object whose keys match one of DISPLAYED_FILE_RESOURCE_TYPES. * * Any resource type not included in state.progress will be hidden. diff --git a/browser/components/pagedata/PageDataSchema.sys.mjs b/browser/components/pagedata/PageDataSchema.sys.mjs index c42ffd74a184..ef3907325b8f 100644 --- a/browser/components/pagedata/PageDataSchema.sys.mjs +++ b/browser/components/pagedata/PageDataSchema.sys.mjs @@ -44,8 +44,6 @@ let SCHEMAS = new Map(); * * @param {string} schemaName * The name of the schema to load. - * @returns {object} - * The loaded schema. */ async function loadSchema(schemaName) { if (SCHEMAS.has(schemaName)) { @@ -133,7 +131,7 @@ export const PageDataSchema = { throw new Error(`Unknown data type ${type}`); } - await validateData(name, data); + return validateData(name, data); }, /** diff --git a/browser/components/places/Interactions.sys.mjs b/browser/components/places/Interactions.sys.mjs index ac78631b4f52..36c629eb821b 100644 --- a/browser/components/places/Interactions.sys.mjs +++ b/browser/components/places/Interactions.sys.mjs @@ -100,6 +100,7 @@ function monotonicNow() { * Last updated time as the number of milliseconds since the epoch. * @property {string} referrer * The referrer to the url of the page that was interacted with (may be empty) + * */ /** diff --git a/browser/components/places/PlacesUIUtils.sys.mjs b/browser/components/places/PlacesUIUtils.sys.mjs index 4bdad0cd5e34..35fd817de236 100644 --- a/browser/components/places/PlacesUIUtils.sys.mjs +++ b/browser/components/places/PlacesUIUtils.sys.mjs @@ -648,6 +648,7 @@ export var PlacesUIUtils = { * @param {DOMWindow} aWindow * a window on which a potential error alert is shown on. * @returns {boolean} true if it's safe to open the node in the browser, false otherwise. + * */ checkURLSecurity: function PUIU_checkURLSecurity(aURINode, aWindow) { if (lazy.PlacesUtils.nodeIsBookmark(aURINode)) { diff --git a/browser/components/places/content/bookmarkProperties.js b/browser/components/places/content/bookmarkProperties.js index 69042b061a4d..fa223a0d8cce 100644 --- a/browser/components/places/content/bookmarkProperties.js +++ b/browser/components/places/content/bookmarkProperties.js @@ -460,9 +460,8 @@ var BookmarkPropertiesPanel = { * [New Item Mode] Get the insertion point details for the new item, given * dialog state and opening arguments. * - * @returns {Array} - * The container-identifier and insertion-index are returned separately in - * the form of [containerIdentifier, insertionIndex] + * The container-identifier and insertion-index are returned separately in + * the form of [containerIdentifier, insertionIndex] */ async _getInsertionPointDetails() { return [ diff --git a/browser/components/places/tests/browser/interactions/head.js b/browser/components/places/tests/browser/interactions/head.js index 86730c2362e7..92a096cc5f57 100644 --- a/browser/components/places/tests/browser/interactions/head.js +++ b/browser/components/places/tests/browser/interactions/head.js @@ -173,8 +173,6 @@ async function assertDatabaseValues(expected, { dontFlush = false } = {}) { * * @param {string} url The url to query. * @param {string} property The property to extract. - * @returns {*} - * Returns the selected database value. */ async function getDatabaseValue(url, property) { await Interactions.store.flush(); diff --git a/browser/components/profiles/SelectableProfileService.sys.mjs b/browser/components/profiles/SelectableProfileService.sys.mjs index 56f38efa8d98..9df0c667b6eb 100644 --- a/browser/components/profiles/SelectableProfileService.sys.mjs +++ b/browser/components/profiles/SelectableProfileService.sys.mjs @@ -403,8 +403,6 @@ class SelectableProfileServiceClass { * * @param {object} profile An object that contains a path, name, themeL10nId, * themeFg, and themeBg for creating a new profile. - * @returns {SelectableProfile} - * The newly created profile object. */ async createProfile(profile) { let profilePath = await this.createProfileDirs(profile.name); @@ -508,9 +506,6 @@ class SelectableProfileServiceClass { /** * Get the complete list of profiles in the group. - * - * @returns {SelectableProfile[]} - * An array of profiles in the group. */ async getProfiles() { return ( @@ -524,8 +519,6 @@ class SelectableProfileServiceClass { * Get a specific profile by its internal ID. * * @param {number} aProfileID The internal id of the profile - * @returns {SelectableProfile} - * The specific profile. */ async getProfile(aProfileID) { let row = ( @@ -541,8 +534,6 @@ class SelectableProfileServiceClass { * Get a specific profile by its name. * * @param {string} aProfileNanme The name of the profile - * @returns {SelectableProfile} - * The specific profile. */ async getProfileByName(aProfileNanme) { let row = ( @@ -561,7 +552,6 @@ class SelectableProfileServiceClass { * Get a specific profile by its absolute path. * * @param {nsIFile} aProfilePath The path of the profile - * @returns {SelectableProfile|null} */ async getProfileByPath(aProfilePath) { let relativePath = this.getRelativeProfilePath(aProfilePath); @@ -590,8 +580,6 @@ class SelectableProfileServiceClass { /** * Get all shared prefs as a list. - * - * @returns {{name: string, value: *, type: string}} */ async getAllPrefs() { return ( diff --git a/browser/components/search/SearchSERPTelemetry.sys.mjs b/browser/components/search/SearchSERPTelemetry.sys.mjs index cd8dc8372c18..6b05594825fd 100644 --- a/browser/components/search/SearchSERPTelemetry.sys.mjs +++ b/browser/components/search/SearchSERPTelemetry.sys.mjs @@ -2657,6 +2657,7 @@ class DomainToCategoriesMap { * * @param {object} data * Object containing records that are current, deleted, created, or updated. + * */ async #sync(data) { lazy.logConsole.debug("Syncing domain-to-categories with Remote Settings."); diff --git a/browser/components/search/SearchUIUtils.sys.mjs b/browser/components/search/SearchUIUtils.sys.mjs index d095d4c2ee1c..bb3e1e3c8206 100644 --- a/browser/components/search/SearchUIUtils.sys.mjs +++ b/browser/components/search/SearchUIUtils.sys.mjs @@ -44,9 +44,7 @@ export var SearchUIUtils = { * icon. This value may be overridden by an icon specified in the * engine description file. * @param {object} browsingContext - * The browsing context any error prompt should be opened for. - * @returns {boolean} - * Returns true if the engine was added. + * The browsing context any error prompt should be opened for. */ async addOpenSearchEngine(locationURL, image, browsingContext) { try { diff --git a/browser/components/shopping/ShoppingSidebarChild.sys.mjs b/browser/components/shopping/ShoppingSidebarChild.sys.mjs index 55a1f3430de8..1ffeb914e398 100644 --- a/browser/components/shopping/ShoppingSidebarChild.sys.mjs +++ b/browser/components/shopping/ShoppingSidebarChild.sys.mjs @@ -253,6 +253,7 @@ export class ShoppingSidebarChild extends RemotePageChild { * fetching the URI from the parent, and assume `this.#productURI` * is current. Defaults to false. * @param {bool} options.isPolledRequest = false + * */ async updateContent({ haveUpdatedURI = false, diff --git a/browser/components/uitour/UITour-lib.js b/browser/components/uitour/UITour-lib.js index aaa918e8d9c8..a83ec9520057 100644 --- a/browser/components/uitour/UITour-lib.js +++ b/browser/components/uitour/UITour-lib.js @@ -124,6 +124,7 @@ if (typeof Mozilla == "undefined") { * .. code-block:: javascript * * [...UITour.targets.keys()].join("\n* - ") + * */ /** @@ -398,6 +399,7 @@ if (typeof Mozilla == "undefined") { * DEPRECATED, use 'fxa' * - :js:func:`fxa ` * - :js:func:`fxaConnections ` + * */ /** @@ -492,7 +494,7 @@ if (typeof Mozilla == "undefined") { * no other properties will exist. * @property {number} [numOtherDevices] - Number of devices connected to this * account, not counting this device. - * @property {Record} [numDevicesByType] - A count of devices + * @property {Object} [numDevicesByType] - A count of devices * connected to the account by device 'type'. Valid values for type are * defined by the FxA server but roughly correspond to form-factor with * values like 'desktop', 'mobile', 'vr', etc. @@ -512,7 +514,7 @@ if (typeof Mozilla == "undefined") { * `on our telemetry documentation site `_. * The value is a :js:func:`Mozilla.UITour.Configuration.AccountService` * - * @typedef {Record} Mozilla.UITour.Configuration.AccountServices + * @typedef {Object} Mozilla.UITour.Configuration.AccountServices * @since 71 */ diff --git a/browser/components/urlbar/UrlbarController.sys.mjs b/browser/components/urlbar/UrlbarController.sys.mjs index fe40c4200e66..67de5f2890c4 100644 --- a/browser/components/urlbar/UrlbarController.sys.mjs +++ b/browser/components/urlbar/UrlbarController.sys.mjs @@ -111,8 +111,6 @@ export class UrlbarController { * Takes a query context and starts the query based on the user input. * * @param {UrlbarQueryContext} queryContext The query details. - * @returns {UrlbarQueryContext} - * The updated query context. */ async startQuery(queryContext) { // Cancel any running query. diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs index 2c7deaca0254..8f5bf8bb7755 100644 --- a/browser/components/urlbar/UrlbarInput.sys.mjs +++ b/browser/components/urlbar/UrlbarInput.sys.mjs @@ -896,6 +896,7 @@ export class UrlbarInput { * mode when handing `searchString` from the fake input to the Urlbar. * @param {string} newtabSessionId * Optional. The id of the newtab session that handed off this search. + * */ handoff(searchString, searchEngine, newtabSessionId) { this._isHandoffSession = true; diff --git a/browser/components/urlbar/UrlbarMuxerUnifiedComplete.sys.mjs b/browser/components/urlbar/UrlbarMuxerUnifiedComplete.sys.mjs index 441af77507c8..2a4e932fac69 100644 --- a/browser/components/urlbar/UrlbarMuxerUnifiedComplete.sys.mjs +++ b/browser/components/urlbar/UrlbarMuxerUnifiedComplete.sys.mjs @@ -1382,6 +1382,7 @@ class MuxerUnifiedComplete extends UrlbarMuxer { * `result.exposureResultHidden` a boolean which indicates whether the * result should be hidden from the view. * + * * @param {UrlbarResult} result * The result. * @returns {boolean} diff --git a/browser/components/urlbar/UrlbarProviderRemoteTabs.sys.mjs b/browser/components/urlbar/UrlbarProviderRemoteTabs.sys.mjs index 3ec03d7da6cb..80614dcbe316 100644 --- a/browser/components/urlbar/UrlbarProviderRemoteTabs.sys.mjs +++ b/browser/components/urlbar/UrlbarProviderRemoteTabs.sys.mjs @@ -201,8 +201,6 @@ class ProviderRemoteTabs extends UrlbarProvider { /** * Build the in-memory structure we use. - * - * @returns {{tab: object, client: object}[]} */ async buildItems() { // This is sorted by most recent client, most recent tab. @@ -225,8 +223,6 @@ class ProviderRemoteTabs extends UrlbarProvider { /** * Ensure the cache is good. - * - * @returns {{tab: object, client: object}[]} */ async ensureCache() { if (!_cache) { diff --git a/browser/components/urlbar/private/AdmWikipedia.sys.mjs b/browser/components/urlbar/private/AdmWikipedia.sys.mjs index b95b3c4290c8..cffa600602e9 100644 --- a/browser/components/urlbar/private/AdmWikipedia.sys.mjs +++ b/browser/components/urlbar/private/AdmWikipedia.sys.mjs @@ -296,8 +296,6 @@ export class AdmWikipedia extends BaseFeature { * * @param {string} path * The icon's remote settings path. - * @returns {string} - * The absolute file path to the downloaded attachment. */ async #fetchIcon(path) { if (!path) { diff --git a/browser/components/urlbar/tests/UrlbarTestUtils.sys.mjs b/browser/components/urlbar/tests/UrlbarTestUtils.sys.mjs index 9c973d490924..7c993d6c85ca 100644 --- a/browser/components/urlbar/tests/UrlbarTestUtils.sys.mjs +++ b/browser/components/urlbar/tests/UrlbarTestUtils.sys.mjs @@ -133,8 +133,6 @@ export var UrlbarTestUtils = { * your test waits for the query to finish. However, this behavior * isn't always desired, for example if your test intentionally blurs * the input before the query finishes. In that case, pass false. - * @returns {Promise} - * The promise for the last query context. */ async promiseAutocompleteResultPopup({ window, @@ -340,8 +338,6 @@ export var UrlbarTestUtils = { * array. If it's in a submenu, set this to an array where each element i is * a selector that can be used to get the i'th menu item that opens a * submenu. - * @returns {DOMElement} - * Returns the menu item element. */ async openResultMenuAndGetItem({ window, diff --git a/browser/components/urlbar/tests/browser/browser_searchMode_sessionStore.js b/browser/components/urlbar/tests/browser/browser_searchMode_sessionStore.js index a0c366c21983..ef3fabe6364f 100644 --- a/browser/components/urlbar/tests/browser/browser_searchMode_sessionStore.js +++ b/browser/components/urlbar/tests/browser/browser_searchMode_sessionStore.js @@ -319,8 +319,6 @@ async function withNewWindow(urls, callback) { * * @param {string} expectedRestoredURL * The URL you expect will be restored in the selected browser. - * @returns {object} - * The reopened window. */ async function restoreWindow(expectedRestoredURL) { let winPromise = BrowserTestUtils.waitForNewWindow(); diff --git a/js/xpconnect/loader/XPCOMUtils.sys.mjs b/js/xpconnect/loader/XPCOMUtils.sys.mjs index 842109d46b41..ac5ac2f66dec 100644 --- a/js/xpconnect/loader/XPCOMUtils.sys.mjs +++ b/js/xpconnect/loader/XPCOMUtils.sys.mjs @@ -333,6 +333,7 @@ export var XPCOMUtils = { * * @param {any} aValue * The value of the non-writable property. + * */ defineConstant(aObj, aName, aValue) { Object.defineProperty(aObj, aName, { diff --git a/package-lock.json b/package-lock.json index abe3cd81d78d..98efd2bd8569 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "eslint-plugin-html": "8.0.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-jest": "28.5.0", - "eslint-plugin-jsdoc": "50.2.2", + "eslint-plugin-jsdoc": "39.9.1", "eslint-plugin-json": "3.1.0", "eslint-plugin-jsx-a11y": "6.8.0", "eslint-plugin-mozilla": "file:tools/lint/eslint/eslint-plugin-mozilla", @@ -32,43 +32,34 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.24.7", + "@babel/highlight": "^7.24.2", "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", + "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.5", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -149,13 +140,10 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", - "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", + "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", "dev": true, - "dependencies": { - "@babel/types": "^7.25.2" - }, "bin": { "parser": "bin/babel-parser.js" }, @@ -164,9 +152,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz", - "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==", + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", + "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -175,24 +163,10 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/types": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", - "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz", - "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.3.tgz", + "integrity": "sha512-xI/tL2zxzEbESvnSxwFgwvy5HS00oCXxL4MLs6HUiDcYfwowsoQaABKxUElp1ARITrINzBnsECOc1q0eg2GOrA==", "dev": true, "funding": [ { @@ -208,13 +182,13 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.4.1" + "@csstools/css-tokenizer": "^2.3.1" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz", - "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.3.1.tgz", + "integrity": "sha512-iMNHTyxLbBlWIfGtabT157LH9DUx9X8+Y3oymFEuMj8HNc+rpE3dPFGFgHjpKfjeFDjLjYIAIhXPGvS2lKxL9g==", "dev": true, "funding": [ { @@ -231,9 +205,9 @@ } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz", - "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==", + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.11.tgz", + "integrity": "sha512-uox5MVhvNHqitPP+SynrB1o8oPxPMt2JLgp5ghJOWf54WGQ5OKu47efne49r1SWqs3wRP8xSWjnO9MBKxhB1dA==", "dev": true, "funding": [ { @@ -249,8 +223,8 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.7.1", - "@csstools/css-tokenizer": "^2.4.1" + "@csstools/css-parser-algorithms": "^2.6.3", + "@csstools/css-tokenizer": "^2.3.1" } }, "node_modules/@csstools/selector-specificity": { @@ -276,17 +250,17 @@ } }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.48.0.tgz", - "integrity": "sha512-G6QUWIcC+KvSwXNsJyDTHvqUdNoAVJPPgkc3+Uk4WBKqZvoXhlvazOgm9aL0HwihJLQf0l+tOE2UFzXBqCqgDw==", + "version": "0.36.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.36.1.tgz", + "integrity": "sha512-922xqFsTpHs6D0BUiG4toiyPOMc8/jafnWKxz1KWgS4XzKPy2qXf1Pe6UFuNSCQqt6tOuhAWXBNuuyUhJmw9Vg==", "dev": true, "dependencies": { - "comment-parser": "1.4.1", - "esquery": "^1.6.0", - "jsdoc-type-pratt-parser": "~4.1.0" + "comment-parser": "1.3.1", + "esquery": "^1.4.0", + "jsdoc-type-pratt-parser": "~3.1.0" }, "engines": { - "node": ">=16" + "node": "^14 || ^16 || ^17 || ^18 || ^19" } }, "node_modules/@eslint-community/eslint-utils": { @@ -305,9 +279,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -349,7 +323,6 @@ "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "deprecated": "Use @eslint/config-array instead", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", @@ -377,7 +350,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", "dev": true }, "node_modules/@jsdoc/salty": { @@ -502,18 +474,6 @@ "node": ">= 8" } }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/@types/gecko": { "resolved": "tools/@types", "link": true @@ -559,13 +519,13 @@ "dev": true }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", - "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz", + "integrity": "sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/visitor-keys": "7.10.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -576,9 +536,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", - "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz", + "integrity": "sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -589,13 +549,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", - "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz", + "integrity": "sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/visitor-keys": "7.10.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -626,9 +586,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -641,9 +601,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -653,15 +613,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", - "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.10.0.tgz", + "integrity": "sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0" + "@typescript-eslint/scope-manager": "7.10.0", + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/typescript-estree": "7.10.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -675,12 +635,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz", + "integrity": "sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/types": "7.10.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -698,9 +658,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -780,15 +740,6 @@ "node": ">= 8" } }, - "node_modules/are-docs-informative": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", - "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", - "dev": true, - "engines": { - "node": ">=14" - } - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -938,19 +889,16 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", "dev": true, "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.5", "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" } }, "node_modules/arraybuffer.prototype.slice": { @@ -1024,12 +972,12 @@ } }, "node_modules/axobject-query": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.4.tgz", - "integrity": "sha512-aPTElBrbifBU1krmZxGZOlBkslORe7Ll7+BDnI50Wy4LgOt69luMgevkDfTq1O/ZgprooPCtWpjCwKSZw/iZ4A==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "dequal": "^2.0.3" } }, "node_modules/balanced-match": { @@ -1257,9 +1205,9 @@ "dev": true }, "node_modules/comment-parser": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", - "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", + "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -1403,9 +1351,9 @@ } }, "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -1735,12 +1683,6 @@ "node": ">= 0.4" } }, - "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", - "dev": true - }, "node_modules/es-object-atoms": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", @@ -2076,63 +2018,30 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "50.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.2.2.tgz", - "integrity": "sha512-i0ZMWA199DG7sjxlzXn5AeYZxpRfMJjDPUl7lL9eJJX8TPRoIaxJU4ys/joP5faM5AXE1eqW/dslCj3uj4Nqpg==", + "version": "39.9.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.9.1.tgz", + "integrity": "sha512-Rq2QY6BZP2meNIs48aZ3GlIlJgBqFCmR55+UBvaDkA3ZNQ0SvQXOs2QKkubakEijV8UbIVbVZKsOVN8G3MuqZw==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.48.0", - "are-docs-informative": "^0.0.2", - "comment-parser": "1.4.1", - "debug": "^4.3.6", + "@es-joy/jsdoccomment": "~0.36.1", + "comment-parser": "1.3.1", + "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", - "espree": "^10.1.0", - "esquery": "^1.6.0", - "parse-imports": "^2.1.1", - "semver": "^7.6.3", - "spdx-expression-parse": "^4.0.0", - "synckit": "^0.9.1" + "esquery": "^1.4.0", + "semver": "^7.3.8", + "spdx-expression-parse": "^3.0.1" }, "engines": { - "node": ">=18" + "node": "^14 || ^16 || ^17 || ^18 || ^19" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-jsdoc/node_modules/eslint-visitor-keys": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", - "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-jsdoc/node_modules/espree": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", - "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", - "dev": true, - "dependencies": { - "acorn": "^8.12.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "eslint": "^7.0.0 || ^8.0.0" } }, "node_modules/eslint-plugin-jsdoc/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -2400,9 +2309,9 @@ } }, "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -2487,12 +2396,6 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "node_modules/fast-uri": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", - "dev": true - }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", @@ -2694,7 +2597,6 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -2985,9 +2887,9 @@ } }, "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" @@ -3166,15 +3068,12 @@ } }, "node_modules/is-core-module": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3564,9 +3463,9 @@ } }, "node_modules/jsdoc-type-pratt-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", - "integrity": "sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz", + "integrity": "sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw==", "dev": true, "engines": { "node": ">=12.0.0" @@ -3618,9 +3517,9 @@ } }, "node_modules/jsonc-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", "dev": true }, "node_modules/jsx-ast-utils": { @@ -4027,34 +3926,10 @@ "url": "https://opencollective.com/mochajs" } }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/mocha/node_modules/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -4192,9 +4067,9 @@ } }, "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -4222,13 +4097,10 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "dev": true, - "engines": { - "node": ">= 0.4" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4408,19 +4280,6 @@ "node": ">=6" } }, - "node_modules/parse-imports": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.1.1.tgz", - "integrity": "sha512-TDT4HqzUiTMO1wJRwg/t/hYk8Wdp3iF/ToMIlAoVQfL1Xs/sTxq1dKWSMjMbQmIarfWKymOyly40+zmPHXMqCA==", - "dev": true, - "dependencies": { - "es-module-lexer": "^1.5.3", - "slashes": "^3.0.12" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -4509,9 +4368,9 @@ } }, "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "dev": true, "funding": [ { @@ -4529,7 +4388,7 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", + "picocolors": "^1.0.0", "source-map-js": "^1.2.0" }, "engines": { @@ -4543,9 +4402,9 @@ "dev": true }, "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", - "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", "dev": true }, "node_modules/postcss-safe-parser": { @@ -4591,9 +4450,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -4920,7 +4779,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -5129,12 +4987,6 @@ "node": ">=8" } }, - "node_modules/slashes": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/slashes/-/slashes-3.0.12.tgz", - "integrity": "sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==", - "dev": true - }, "node_modules/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -5171,16 +5023,6 @@ "spdx-license-ids": "^3.0.0" } }, - "node_modules/spdx-correct/node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, "node_modules/spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", @@ -5188,9 +5030,9 @@ "dev": true }, "node_modules/spdx-expression-parse": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", - "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "dependencies": { "spdx-exceptions": "^2.1.0", @@ -5556,22 +5398,6 @@ "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", "dev": true }, - "node_modules/synckit": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", - "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", - "dev": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/table": { "version": "6.8.2", "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", @@ -5589,15 +5415,15 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" }, "funding": { "type": "github", @@ -5616,15 +5442,6 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -5688,12 +5505,6 @@ "strip-bom": "^3.0.0" } }, - "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -5792,9 +5603,9 @@ } }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, "peer": true, "bin": { @@ -5827,9 +5638,9 @@ } }, "node_modules/underscore": { - "version": "1.13.7", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", "dev": true }, "node_modules/uri-js": { @@ -5857,16 +5668,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, "node_modules/vscode-json-languageservice": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz", @@ -5881,9 +5682,9 @@ } }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", - "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", "dev": true }, "node_modules/vscode-languageserver-types": { @@ -5936,13 +5737,13 @@ } }, "node_modules/which-builtin-type": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", - "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", "dev": true, "dependencies": { - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", "is-finalizationregistry": "^1.0.2", @@ -5951,8 +5752,8 @@ "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.15" + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" }, "engines": { "node": ">= 0.4" @@ -6165,7 +5966,7 @@ "license": "MPL-2.0" }, "tools/lint/eslint/eslint-plugin-mozilla": { - "version": "3.7.5", + "version": "3.7.4", "dev": true, "license": "MPL-2.0", "dependencies": { diff --git a/package.json b/package.json index 5df0f438fe33..81c66942a8f1 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "eslint-plugin-html": "8.0.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-jest": "28.5.0", - "eslint-plugin-jsdoc": "50.2.2", + "eslint-plugin-jsdoc": "39.9.1", "eslint-plugin-json": "3.1.0", "eslint-plugin-jsx-a11y": "6.8.0", "eslint-plugin-mozilla": "file:tools/lint/eslint/eslint-plugin-mozilla", diff --git a/remote/cdp/CDPConnection.sys.mjs b/remote/cdp/CDPConnection.sys.mjs index 093aeda944a7..78638899a9d4 100644 --- a/remote/cdp/CDPConnection.sys.mjs +++ b/remote/cdp/CDPConnection.sys.mjs @@ -276,7 +276,7 @@ export class CDPConnection extends WebSocketConnection { * @param {string} method * Name of the method to split, e.g. "Browser.getVersion". * - * @returns {Record} + * @returns {Object} * Object with the domain ("Browser") and command ("getVersion") * as properties. */ diff --git a/remote/cdp/domains/content/Runtime.sys.mjs b/remote/cdp/domains/content/Runtime.sys.mjs index d349211d9af6..44c36914d46e 100644 --- a/remote/cdp/domains/content/Runtime.sys.mjs +++ b/remote/cdp/domains/content/Runtime.sys.mjs @@ -171,7 +171,7 @@ export class Runtime extends ContentProcessDomain { * Whether the result is expected to be a JSON object * which should be sent by value. * - * @returns {RemoteObject & { exeptionDetails?: ExceptionDetails }} + * @returns {Object} */ callFunctionOn(options = {}) { if (typeof options.functionDeclaration != "string") { @@ -251,7 +251,7 @@ export class Runtime extends ContentProcessDomain { * @param {boolean=} options.userGesture [unsupported] * Whether execution should be treated as initiated by user in the UI. * - * @returns {RemoteObject & { exeptionDetails?: ExceptionDetails }} + * @returns {Object} * The evaluation result, and optionally exception details. */ evaluate(options = {}) { @@ -484,6 +484,7 @@ export class Runtime extends ContentProcessDomain { * "default" or "isolated" * * @returns {number} ID of created context + * */ _onContextCreated(name, options = {}) { const { diff --git a/remote/cdp/test/browser/head.js b/remote/cdp/test/browser/head.js index bfa32cc4f951..89dabe1642a1 100644 --- a/remote/cdp/test/browser/head.js +++ b/remote/cdp/test/browser/head.js @@ -468,20 +468,20 @@ class RecordEvents { * Then `await record(someTimeout)` to record a timeline that you * can make assertions about. * - * ```js * const history = new RecordEvents(expectedNumberOfEvents); * * history.addRecorder({ - * event: Runtime.executionContextDestroyed, - * eventName: "Runtime.executionContextDestroyed", - * messageFn: payload => { - * return `Received Runtime.executionContextDestroyed for id ${payload.executionContextId}`; - * }, + * event: Runtime.executionContextDestroyed, + * eventName: "Runtime.executionContextDestroyed", + * messageFn: payload => { + * return `Received Runtime.executionContextDestroyed for id ${payload.executionContextId}`; + * }, * }); - * ``` + * * * @param {number} total * Number of expected events. Stop recording when this number is exceeded. + * */ constructor(total) { this.events = []; diff --git a/remote/marionette/actors/MarionetteCommandsChild.sys.mjs b/remote/marionette/actors/MarionetteCommandsChild.sys.mjs index 868e81b4e57a..e4db24b1e62e 100644 --- a/remote/marionette/actors/MarionetteCommandsChild.sys.mjs +++ b/remote/marionette/actors/MarionetteCommandsChild.sys.mjs @@ -234,6 +234,7 @@ export class MarionetteCommandsChild extends JSWindowActorChild { * @param {string} options.selector * @param {object} options.opts * @param {Element} options.opts.startNode + * */ async findElement(options = {}) { const { strategy, selector, opts } = options; @@ -253,6 +254,7 @@ export class MarionetteCommandsChild extends JSWindowActorChild { * @param {string} options.selector * @param {object} options.opts * @param {Element} options.opts.startNode + * */ async findElements(options = {}) { const { strategy, selector, opts } = options; diff --git a/remote/marionette/cookie.sys.mjs b/remote/marionette/cookie.sys.mjs index 16d9530bed10..e6388db3eb33 100644 --- a/remote/marionette/cookie.sys.mjs +++ b/remote/marionette/cookie.sys.mjs @@ -26,7 +26,7 @@ export const cookie = { /** * @name Cookie * - * @returns {Record} + * @returns {Object} */ /** @@ -36,7 +36,7 @@ export const cookie = { * will produce the errors expected by WebDriver if the input is * not valid. * - * @param {Record} json + * @param {Object} json * Cookie to be deserialised. ``name`` and ``value`` are required * fields which must be strings. The ``path`` and ``domain`` fields * are optional, but must be a string if provided. The ``secure``, diff --git a/remote/marionette/driver.sys.mjs b/remote/marionette/driver.sys.mjs index c48bc618d608..91810b3a08a0 100644 --- a/remote/marionette/driver.sys.mjs +++ b/remote/marionette/driver.sys.mjs @@ -396,7 +396,7 @@ GeckoDriver.prototype.registerBrowser = function (browserElement) { * Create a new WebDriver session. * * @param {object} cmd - * @param {Record=} cmd.parameters + * @param {Object=} cmd.parameters * JSON Object containing any of the recognised capabilities as listed * on the `WebDriverSession` class. * @@ -1099,7 +1099,7 @@ GeckoDriver.prototype.getWindowHandles = function () { * window outerWidth and outerHeight values, which include scroll bars, * title bars, etc. * - * @returns {Record} + * @returns {Object} * Object with |x| and |y| coordinates, and |width| and |height| * of browser window. * @@ -1135,7 +1135,7 @@ GeckoDriver.prototype.getWindowRect = async function () { * @param {number} cmd.parameters.height * Height to resize the window to. * - * @returns {Record} + * @returns {Object} * Object with `x` and `y` coordinates and `width` and `height` * dimensions. * @@ -1442,7 +1442,7 @@ GeckoDriver.prototype.getTimeouts = function () { * Set timeout for page loading, searching, and scripts. * * @param {object} cmd - * @param {Record} cmd.parameters + * @param {Object} cmd.parameters * Dictionary of timeout types and their new value, where all timeout * types are optional. * @@ -2324,7 +2324,7 @@ GeckoDriver.prototype.deleteCookie = async function (cmd) { * new top-level browsing context should be a private window. * Defaults to false. * - * @returns {Record} + * @returns {Object} * Handle and type of the new browsing context. * * @throws {NoSuchWindowError} @@ -2652,7 +2652,7 @@ GeckoDriver.prototype.setScreenOrientation = async function (cmd) { * * Not supported on Fennec. * - * @returns {Record} + * @returns {Object} * Window rect and window state. * * @throws {NoSuchWindowError} @@ -2704,7 +2704,7 @@ GeckoDriver.prototype.minimizeWindow = async function () { * * Not supported on Fennec. * - * @returns {Record} + * @returns {Object} * Window rect. * * @throws {NoSuchWindowError} @@ -3016,7 +3016,7 @@ GeckoDriver.prototype.acceptConnections = async function (cmd) { * Optional flag to indicate that the application has to * be restarted in safe mode. * - * @returns {Record} + * @returns {Object} * Dictionary containing information that explains the shutdown reason. * The value for `cause` contains the shutdown kind like "shutdown" or * "restart", while `forced` will indicate if it was a normal or forced diff --git a/remote/marionette/json.sys.mjs b/remote/marionette/json.sys.mjs index 49c5ab6836bd..bae1b99cdd8c 100644 --- a/remote/marionette/json.sys.mjs +++ b/remote/marionette/json.sys.mjs @@ -98,11 +98,7 @@ function cloneObject(value, seen, cloneAlgorithm) { * @param {NodeCache} nodeCache * Node cache that holds already seen WebElement and ShadowRoot references. * - * @returns {{ - * seenNodeIds: Map, - * serializedValue: any, - * hasSerializedWindows: boolean - * }} + * @returns {Object, object>>} * Object that contains a list of browsing contexts each with a list of * shared ids for collected elements and shadow root nodes, and second the * same object as provided by `value` with the WebDriver classic supported diff --git a/remote/marionette/message.sys.mjs b/remote/marionette/message.sys.mjs index 97bde6ccb768..d8b5dd60f9e8 100644 --- a/remote/marionette/message.sys.mjs +++ b/remote/marionette/message.sys.mjs @@ -128,7 +128,7 @@ Message.Origin = { * Message ID unique identifying this message. * @param {string} name * Command name. - * @param {Record} params + * @param {Object} params * Command parameters. */ export class Command extends Message { diff --git a/remote/marionette/reftest.sys.mjs b/remote/marionette/reftest.sys.mjs index 0affac65bd14..23140fd49f9c 100644 --- a/remote/marionette/reftest.sys.mjs +++ b/remote/marionette/reftest.sys.mjs @@ -79,7 +79,7 @@ reftest.Runner = class { * This will open a non-browser window in which the tests will * be loaded, and set up various caches for the reftest run. * - * @param {Record} urlCount + * @param {Object} urlCount * Object holding a map of URL: number of times the URL * will be opened during the reftest run, where that's * greater than 1. diff --git a/remote/marionette/server.sys.mjs b/remote/marionette/server.sys.mjs index fb05328295c6..36e7a9d63982 100644 --- a/remote/marionette/server.sys.mjs +++ b/remote/marionette/server.sys.mjs @@ -447,7 +447,7 @@ export class TCPConnection { * Send the given payload over the debugger transport socket to the * connected client. * - * @param {Record} payload + * @param {Object} payload * The payload to ship. */ sendRaw(payload) { diff --git a/remote/marionette/web-reference.sys.mjs b/remote/marionette/web-reference.sys.mjs index 25b63bb96516..07823a64990c 100644 --- a/remote/marionette/web-reference.sys.mjs +++ b/remote/marionette/web-reference.sys.mjs @@ -96,7 +96,7 @@ export class WebReference { * Unmarshals a JSON Object to one of {@link ShadowRoot}, {@link WebElement}, * {@link WebFrame}, or {@link WebWindow}. * - * @param {Record} json + * @param {Object} json * Web reference, which is supposed to be a JSON Object * where the key is one of the {@link WebReference} concrete * classes' UUID identifiers. @@ -141,7 +141,7 @@ export class WebReference { /** * Checks if obj is a {@link WebReference} reference. * - * @param {Record} obj + * @param {Object} obj * Object that represents a {@link WebReference}. * * @returns {boolean} diff --git a/remote/shared/Browser.sys.mjs b/remote/shared/Browser.sys.mjs index bb1bfaeeed60..c8bff1f55a27 100644 --- a/remote/shared/Browser.sys.mjs +++ b/remote/shared/Browser.sys.mjs @@ -30,7 +30,7 @@ ChromeUtils.defineESModuleGetters(lazy, { * @param {boolean=} isWindowless * Optional flag to indicate that the browser was started in windowless mode. * - * @returns {Record} + * @returns {Object} * Dictionary containing information that explains the shutdown reason. * The value for `cause` contains the shutdown kind like "shutdown" or * "restart", while `forced` will indicate if it was a normal or forced diff --git a/remote/shared/DOM.sys.mjs b/remote/shared/DOM.sys.mjs index d90fffee69a8..51c92981839a 100644 --- a/remote/shared/DOM.sys.mjs +++ b/remote/shared/DOM.sys.mjs @@ -69,7 +69,7 @@ dom.Strategy = { * See the {@link dom.Strategy} enum for a full list of supported * search strategies that can be passed to strategy. * - * @param {Record} container + * @param {Object} container * Window object. * @param {string} strategy * Search strategy whereby to locate the element(s). @@ -754,7 +754,7 @@ dom.isEditable = function (el) { * Vertical offset relative to target's top-left corner. Defaults to * the centre of the target's bounding box. * - * @returns {Record} + * @returns {Object} * X- and Y coordinates. * * @throws TypeError diff --git a/remote/shared/TabManager.sys.mjs b/remote/shared/TabManager.sys.mjs index f38f0683098f..d4719c6f369e 100644 --- a/remote/shared/TabManager.sys.mjs +++ b/remote/shared/TabManager.sys.mjs @@ -425,6 +425,7 @@ class TabManagerClass { * @param {boolean=} options.skipPermitUnload * Flag to indicate if a potential beforeunload prompt should be skipped * when closing the tab. Defaults to false. + */ async removeTab(tab, options = {}) { const { skipPermitUnload = false } = options; diff --git a/remote/shared/js-window-actors/NavigationListenerChild.sys.mjs b/remote/shared/js-window-actors/NavigationListenerChild.sys.mjs index b688656d358a..984bd51efe87 100644 --- a/remote/shared/js-window-actors/NavigationListenerChild.sys.mjs +++ b/remote/shared/js-window-actors/NavigationListenerChild.sys.mjs @@ -81,6 +81,7 @@ export class NavigationListenerChild extends JSWindowActorChild { * - browsingContextId: browsing context id * - isTopBrowsingContext: flag that indicates if the browsing context is * top level + * */ #getBrowsingContextDetails(browsingContext) { return { diff --git a/remote/shared/listeners/NetworkEventRecord.sys.mjs b/remote/shared/listeners/NetworkEventRecord.sys.mjs index 33a7a172bbf6..3d17fc32582d 100644 --- a/remote/shared/listeners/NetworkEventRecord.sys.mjs +++ b/remote/shared/listeners/NetworkEventRecord.sys.mjs @@ -149,6 +149,7 @@ export class NetworkEventRecord { * * Required API for a NetworkObserver event owner. * + * * @param {object} options * @param {nsIChannel} options.channel * The channel. diff --git a/remote/shared/listeners/test/browser/head.js b/remote/shared/listeners/test/browser/head.js index 03ab0a5e8378..ba14f3f414f1 100644 --- a/remote/shared/listeners/test/browser/head.js +++ b/remote/shared/listeners/test/browser/head.js @@ -92,6 +92,7 @@ async function loadURL(browser, url) { * Create a fetch request to `url` from the content page loaded in the provided * `browser`. * + * * @param {Browser} browser * The browser element where the fetch should be performed. * @param {string} url diff --git a/remote/shared/messagehandler/Errors.sys.mjs b/remote/shared/messagehandler/Errors.sys.mjs index 74be5e47f78f..69c65acd09d5 100644 --- a/remote/shared/messagehandler/Errors.sys.mjs +++ b/remote/shared/messagehandler/Errors.sys.mjs @@ -26,7 +26,7 @@ class MessageHandlerError extends RemoteError { } /** - * @returns {Record} + * @returns {Object} * JSON serialisation of error prototype. */ toJSON() { @@ -41,7 +41,7 @@ class MessageHandlerError extends RemoteError { * Unmarshals a JSON error representation to the appropriate MessageHandler * error type. * - * @param {Record} json + * @param {Object} json * Error object. * * @returns {Error} diff --git a/remote/shared/webdriver/Capabilities.sys.mjs b/remote/shared/webdriver/Capabilities.sys.mjs index d4ce0f69f3a6..8d5d58722190 100644 --- a/remote/shared/webdriver/Capabilities.sys.mjs +++ b/remote/shared/webdriver/Capabilities.sys.mjs @@ -253,7 +253,7 @@ export class Proxy { } /** - * @param {Record} json + * @param {Object} json * JSON Object to unmarshal. * * @throws {InvalidArgumentError} @@ -398,7 +398,7 @@ export class Proxy { } /** - * @returns {Record} + * @returns {Object} * JSON serialisation of proxy object. */ toJSON() { @@ -510,7 +510,7 @@ export class Capabilities extends Map { /** * JSON serialization of capabilities object. * - * @returns {Record} + * @returns {Object} */ toJSON() { let marshalled = marshal(this); @@ -529,7 +529,7 @@ export class Capabilities extends Map { /** * Unmarshal a JSON object representation of WebDriver capabilities. * - * @param {Record=} json + * @param {Object=} json * WebDriver capabilities. * @param {boolean=} isBidi * Flag indicating that it is a WebDriver BiDi session. Defaults to false. diff --git a/remote/shared/webdriver/Errors.sys.mjs b/remote/shared/webdriver/Errors.sys.mjs index ddc9a8b0cc0e..70601310754b 100644 --- a/remote/shared/webdriver/Errors.sys.mjs +++ b/remote/shared/webdriver/Errors.sys.mjs @@ -208,7 +208,7 @@ class WebDriverError extends RemoteError { } /** - * @returns {Record} + * @returns {Object} * JSON serialisation of error prototype. */ toJSON() { @@ -230,7 +230,7 @@ class WebDriverError extends RemoteError { * Unmarshals a JSON error representation to the appropriate Marionette * error type. * - * @param {Record} json + * @param {Object} json * Error object. * * @returns {Error} diff --git a/remote/shared/webdriver/Session.sys.mjs b/remote/shared/webdriver/Session.sys.mjs index 1c1aadca5557..1fa208a3efda 100644 --- a/remote/shared/webdriver/Session.sys.mjs +++ b/remote/shared/webdriver/Session.sys.mjs @@ -191,7 +191,7 @@ export class WebDriverSession { * {"capabilities": {"acceptInsecureCerts": true}} * * - * @param {Record=} capabilities + * @param {Object=} capabilities * JSON Object containing any of the recognized capabilities listed * above. * @param {SessionConfigurationFlags} flags diff --git a/remote/shared/webdriver/UserPromptHandler.sys.mjs b/remote/shared/webdriver/UserPromptHandler.sys.mjs index bbe5baa8b575..92c50cff7e65 100644 --- a/remote/shared/webdriver/UserPromptHandler.sys.mjs +++ b/remote/shared/webdriver/UserPromptHandler.sys.mjs @@ -111,7 +111,7 @@ export class PromptHandlerConfiguration { /** * JSON serialization of the prompt handler configuration object. * - * @returns {Record} json + * @returns {Object} json * * @see https://w3c.github.io/webdriver/#dfn-serialize-a-prompt-handler-configuration */ @@ -149,7 +149,7 @@ export class UserPromptHandler { /** * Unmarshal a JSON object representation of the unhandledPromptBehavior capability. * - * @param {Record} json + * @param {Object} json * JSON Object to unmarshal. * * @throws {InvalidArgumentError} @@ -274,7 +274,7 @@ export class UserPromptHandler { /** * JSON serialization of the user prompt handler object. * - * @returns {Record} json + * @returns {Object} json * * @see https://w3c.github.io/webdriver/#dfn-serialize-the-user-prompt-handler */ diff --git a/remote/webdriver-bidi/WebDriverBiDi.sys.mjs b/remote/webdriver-bidi/WebDriverBiDi.sys.mjs index 639c5f608008..bc5e6f3ac85a 100644 --- a/remote/webdriver-bidi/WebDriverBiDi.sys.mjs +++ b/remote/webdriver-bidi/WebDriverBiDi.sys.mjs @@ -101,7 +101,7 @@ export class WebDriverBiDi { /** * Create a new WebDriver session. * - * @param {Record=} capabilities + * @param {Object=} capabilities * JSON Object containing any of the recognised capabilities as listed * on the `WebDriverSession` class. * @param {Set} flags @@ -110,7 +110,7 @@ export class WebDriverBiDi { * Optional connection that is not yet associated with a WebDriver * session, and has to be associated with the new WebDriver session. * - * @returns {Record} + * @returns {Object} * Object containing the current session ID, and all its capabilities. * * @throws {SessionNotCreatedError} diff --git a/remote/webdriver-bidi/WebDriverBiDiConnection.sys.mjs b/remote/webdriver-bidi/WebDriverBiDiConnection.sys.mjs index 5e1bfef80ceb..d6fb5c22fa27 100644 --- a/remote/webdriver-bidi/WebDriverBiDiConnection.sys.mjs +++ b/remote/webdriver-bidi/WebDriverBiDiConnection.sys.mjs @@ -267,7 +267,7 @@ export class WebDriverBiDiConnection extends WebSocketConnection { * @param {string} method * Name of the method to split, e.g. "session.subscribe". * - * @returns {Record} + * @returns {Object} * Object with the module ("session") and command ("subscribe") * as properties. */ diff --git a/toolkit/components/credentialmanagement/CredentialChooserService.sys.mjs b/toolkit/components/credentialmanagement/CredentialChooserService.sys.mjs index 5b552aab8cd5..c341e5465e4b 100644 --- a/toolkit/components/credentialmanagement/CredentialChooserService.sys.mjs +++ b/toolkit/components/credentialmanagement/CredentialChooserService.sys.mjs @@ -81,6 +81,7 @@ export class CredentialChooserService { * We also support UI-less testing via choices provided by picking any credential with ID 'wpt-pick-me' * if the preference 'dom.security.credentialmanagement.chooser.testing.enabled' is true. * + * * @param {BrowsingContext} browsingContext The browsing context of the window calling the Credential Management API. * @param {Array} credentials The credentials the user should choose from. * @param {nsICredentialChosenCallback} callback A callback to return the user's credential choice to. diff --git a/toolkit/components/extensions/ExtensionSettingsStore.sys.mjs b/toolkit/components/extensions/ExtensionSettingsStore.sys.mjs index f2425d4628ef..ed139bcf12ca 100644 --- a/toolkit/components/extensions/ExtensionSettingsStore.sys.mjs +++ b/toolkit/components/extensions/ExtensionSettingsStore.sys.mjs @@ -36,6 +36,7 @@ * } * } * } + * */ import { ExtensionParent } from "resource://gre/modules/ExtensionParent.sys.mjs"; diff --git a/toolkit/components/extensions/child/ext-runtime.js b/toolkit/components/extensions/child/ext-runtime.js index 0df864478f18..e77ea7c76858 100644 --- a/toolkit/components/extensions/child/ext-runtime.js +++ b/toolkit/components/extensions/child/ext-runtime.js @@ -19,7 +19,7 @@ ChromeUtils.defineESModuleGetters(this, { * @param {any} message * @param {object?} [options] * @param {Function} [callback] - * @returns {{extensionId: string|null, message: any, callback: Function|null}} + * @returns {{extensionId: string?, message: any, callback: Function?}} */ /* eslint-enable jsdoc/check-param-names */ function parseBonkersArgs(...args) { diff --git a/toolkit/components/extensions/test/xpcshell/test_ext_contentscript_triggeringPrincipal.js b/toolkit/components/extensions/test/xpcshell/test_ext_contentscript_triggeringPrincipal.js index 92afbcca230b..ce7f29314237 100644 --- a/toolkit/components/extensions/test/xpcshell/test_ext_contentscript_triggeringPrincipal.js +++ b/toolkit/components/extensions/test/xpcshell/test_ext_contentscript_triggeringPrincipal.js @@ -815,12 +815,12 @@ function getOriginBase(origURL) { * * @param {Array} tests * A list of tests, as understood by {@see getElementData}. - * @param {Record} expectedSources + * @param {Object} expectedSources * A set of sources for which each of the above tests is expected * to generate one request, if each of the properties in the * value object matches the value of the same property in the * test object. - * @param {Record} [forbiddenSources = {}] + * @param {Object} [forbiddenSources = {}] * A set of sources for which requests should never be sent. Any * matching requests from these sources will cause the test to * fail. @@ -939,7 +939,7 @@ function computeExpectedForbiddenURLs( * @param {Promise} urlsPromise * A promise which resolves to an object containing expected and * forbidden URL sets, as returned by {@see computeBaseURLs}. - * @param {Record} origins + * @param {Object} origins * A mapping of origin parameters as they appear in URL query * strings to the origin strings returned by corresponding * principals. These values are used to test requests against diff --git a/toolkit/components/formautofill/shared/FormStateManager.sys.mjs b/toolkit/components/formautofill/shared/FormStateManager.sys.mjs index 6b5595b16024..1e4662b2defe 100644 --- a/toolkit/components/formautofill/shared/FormStateManager.sys.mjs +++ b/toolkit/components/formautofill/shared/FormStateManager.sys.mjs @@ -26,6 +26,7 @@ export class FormStateManager { * @returns {Array | null} * Return target form's handler from content cache * (or return null if the information is not found in the cache). + * */ getFormHandler(element) { if (!element) { diff --git a/toolkit/components/ml/content/EngineProcess.sys.mjs b/toolkit/components/ml/content/EngineProcess.sys.mjs index b27f7ec3454b..2f86f21bbc9b 100644 --- a/toolkit/components/ml/content/EngineProcess.sys.mjs +++ b/toolkit/components/ml/content/EngineProcess.sys.mjs @@ -476,6 +476,7 @@ export class EngineProcess { * @param {object} options - Configuration options for the ML engine. * @param {?function(ProgressAndStatusCallbackParams):void} notificationsCallback A function to call to indicate notifications. * @returns {Promise} - A promise that resolves to the ML engine instance. + * */ export async function createEngine(options, notificationsCallback = null) { const pipelineOptions = new PipelineOptions(options); diff --git a/toolkit/components/search/SearchEngineSelector.sys.mjs b/toolkit/components/search/SearchEngineSelector.sys.mjs index abb4777a58ef..9c5fc14ce69f 100644 --- a/toolkit/components/search/SearchEngineSelector.sys.mjs +++ b/toolkit/components/search/SearchEngineSelector.sys.mjs @@ -54,9 +54,6 @@ export class SearchEngineSelector { /** * Handles getting the configuration from remote settings. - * - * @returns {object} - * The configuration data. */ async getEngineConfiguration() { if (this._getConfigurationPromise) { @@ -93,9 +90,6 @@ export class SearchEngineSelector { /** * Used by tests to get the configuration overrides. - * - * @returns {object} - * The engine overrides data. */ async getEngineConfigurationOverrides() { await this.getEngineConfiguration(); diff --git a/toolkit/components/search/SearchService.sys.mjs b/toolkit/components/search/SearchService.sys.mjs index 9d772601be17..fdb32fd08e90 100644 --- a/toolkit/components/search/SearchService.sys.mjs +++ b/toolkit/components/search/SearchService.sys.mjs @@ -411,6 +411,7 @@ export class SearchService { * Returns the pending Promise when #init has started but not yet finished. * | Resolved | when initialization has successfully finished. * | Rejected | when initialization has failed. + * */ async init() { if (["started", "success", "failed"].includes(this.#initializationStatus)) { @@ -3283,6 +3284,7 @@ export class SearchService { * * @param {string} errorType * The error that can occur during search service init. + * */ #maybeThrowErrorInTest(errorType) { if ( @@ -3615,6 +3617,7 @@ export class SearchService { * The name of the previous default engine that will be replaced. * @param {string} newCurrentEngineName * The name of the engine that will be the new default engine. + * */ _showRemovalOfSearchEngineNotificationBox( prevCurrentEngineName, diff --git a/toolkit/components/search/SearchSettings.sys.mjs b/toolkit/components/search/SearchSettings.sys.mjs index 3b55c40ecda3..9bd875870884 100644 --- a/toolkit/components/search/SearchSettings.sys.mjs +++ b/toolkit/components/search/SearchSettings.sys.mjs @@ -420,6 +420,7 @@ export class SearchSettings { * * @returns {*} * A copy of the settings metadata object. + * */ getSettingsMetaData() { return { ...this.#settings.metaData }; @@ -437,6 +438,7 @@ export class SearchSettings { * The value of the attribute. * We return undefined if the value of the attribute is not known or does * not match the verification hash. + * */ getVerifiedMetaDataAttribute(name, isAppProvided) { let attribute = this.getMetaDataAttribute(name); diff --git a/toolkit/components/search/tests/SearchTestUtils.sys.mjs b/toolkit/components/search/tests/SearchTestUtils.sys.mjs index 380c598013b6..d52392b08bb3 100644 --- a/toolkit/components/search/tests/SearchTestUtils.sys.mjs +++ b/toolkit/components/search/tests/SearchTestUtils.sys.mjs @@ -365,8 +365,6 @@ class _SearchTestUtils { * * @param {Array} engineConfigurations * An array of engine configurations. - * @returns {AppProvidedSearchEngine[]} - * An array of app provided search engine objects. */ async searchConfigToEngines(engineConfigurations) { return engineConfigurations.map( diff --git a/toolkit/components/search/tests/xpcshell/head_search.js b/toolkit/components/search/tests/xpcshell/head_search.js index a9510185b306..0c6da5586928 100644 --- a/toolkit/components/search/tests/xpcshell/head_search.js +++ b/toolkit/components/search/tests/xpcshell/head_search.js @@ -325,8 +325,6 @@ async function getFileDataBuffer(filename) { * The ID to use for the record. If not provided, a new UUID will be generated. * @param {number} [item.lastModified] * The last modified time for the record. Defaults to the current time. - * @returns {object} - * An object containing the record and attachment. */ async function mockRecordWithAttachment({ filename, diff --git a/toolkit/components/shopping/content/ShoppingProduct.mjs b/toolkit/components/shopping/content/ShoppingProduct.mjs index 2ef5e3b500d3..f3890a0d7438 100644 --- a/toolkit/components/shopping/content/ShoppingProduct.mjs +++ b/toolkit/components/shopping/content/ShoppingProduct.mjs @@ -479,6 +479,7 @@ export class ShoppingProduct extends EventEmitter { /** * Get a cached, or fetch a copy of, an OHTTP config from a given URL. * + * * @param {string} gatewayConfigURL * The URL for the config that needs to be fetched. * The URL should be complete (i.e. include the full path to the config). diff --git a/toolkit/components/translations/actors/TranslationsParent.sys.mjs b/toolkit/components/translations/actors/TranslationsParent.sys.mjs index de242af9add4..01e5b8779285 100644 --- a/toolkit/components/translations/actors/TranslationsParent.sys.mjs +++ b/toolkit/components/translations/actors/TranslationsParent.sys.mjs @@ -1638,6 +1638,7 @@ export class TranslationsParent extends JSWindowActorParent { * @param {number} majorVersion * @param {string} nextVersion * @param {string} [existingVersion] + * */ static isBetterRecordVersion(majorVersion, nextVersion, existingVersion) { return ( diff --git a/toolkit/components/translations/content/translations-engine.worker.js b/toolkit/components/translations/content/translations-engine.worker.js index 04d225422f83..ce1eaa6aebe1 100644 --- a/toolkit/components/translations/content/translations-engine.worker.js +++ b/toolkit/components/translations/content/translations-engine.worker.js @@ -658,7 +658,7 @@ class WorkQueue { /** * Run the task and return the result. * - * @template {any} T + * @template {T} * @param {() => T} task * @returns {Promise} */ diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/valid-jsdoc.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/valid-jsdoc.js index 87815befb19e..65fb760fe011 100644 --- a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/valid-jsdoc.js +++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/valid-jsdoc.js @@ -16,10 +16,10 @@ module.exports = { "jsdoc/check-tag-names": "error", "jsdoc/check-types": "error", "jsdoc/empty-tags": "error", + "jsdoc/newline-after-description": "error", "jsdoc/no-multi-asterisks": "error", "jsdoc/require-param-type": "error", "jsdoc/require-returns-type": "error", - "jsdoc/tag-lines": ["error", "any", { startLines: 1 }], "jsdoc/valid-types": "error", }, settings: { diff --git a/tools/lint/eslint/manifest.tt b/tools/lint/eslint/manifest.tt index 92ddcea5d3ff..9b30d37e9be3 100644 --- a/tools/lint/eslint/manifest.tt +++ b/tools/lint/eslint/manifest.tt @@ -1,9 +1,9 @@ [ { "filename": "eslint.tar.gz", - "size": 21145861, + "size": 22362387, "algorithm": "sha512", - "digest": "de7abbe8422a51b5c3b2828d12313a5ac6a782f33f9a2e5887d474aba53485302b71098fa2151a4aee7467b88cede545d8fdf2903bda943d58295a8735c45a97", + "digest": "3fe7535cc6c5fb3e394c7b99fa4c41f104414f63b033e82be428f184136adf9571e0781cce4bf65376e1fca747641e1402ef84874081fb7312f80212c51e390f", "unpack": true, "visibility": "public" }