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)
This commit is contained in:
Butkovits Atila 2024-08-23 12:22:02 +03:00
Родитель e422a92ef9
Коммит 2837d313b2
67 изменённых файлов: 261 добавлений и 489 удалений

Просмотреть файл

@ -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") {

Просмотреть файл

@ -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}`;

Просмотреть файл

@ -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) {

Просмотреть файл

@ -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,

Просмотреть файл

@ -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;

Просмотреть файл

@ -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<string, string>}
*/
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<string, number>}
*/
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<string, string>}
*/
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<string, string>}
*/
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<string, string>}
*/
EXTENSIONS_IMPORT_RESULT: Object.freeze({
NOT_IMPORTED: "0",

Просмотреть файл

@ -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<DISPLAYED_RESOURCE_TYPES_KEYS, ProgressState>} state.progress
* @param {Object<string, ProgressState>} 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<DISPLAYED_FILE_RESOURCE_TYPES_KEYS, ProgressState>} state.progress
* @param {Object<string, ProgressState>} state.progress
* An object whose keys match one of DISPLAYED_FILE_RESOURCE_TYPES.
*
* Any resource type not included in state.progress will be hidden.

Просмотреть файл

@ -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);
},
/**

Просмотреть файл

@ -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)
*
*/
/**

Просмотреть файл

@ -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)) {

Просмотреть файл

@ -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 [

Просмотреть файл

@ -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();

Просмотреть файл

@ -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 (

Просмотреть файл

@ -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.");

Просмотреть файл

@ -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 {

Просмотреть файл

@ -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,

Просмотреть файл

@ -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 <Mozilla.UITour.Configuration.FxA>`
* - :js:func:`fxaConnections <Mozilla.UITour.Configuration.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<string, number>} [numDevicesByType] - A count of devices
* @property {Object<string, number>} [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 <https://docs.telemetry.mozilla.org/datasets/fxa_metrics/attribution.html#service-attribution>`_.
* The value is a :js:func:`Mozilla.UITour.Configuration.AccountService`
*
* @typedef {Record<string, Mozilla.UITour.Configuration.AccountService>} Mozilla.UITour.Configuration.AccountServices
* @typedef {Object<string, Mozilla.UITour.Configuration.AccountService>} Mozilla.UITour.Configuration.AccountServices
* @since 71
*/

Просмотреть файл

@ -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.

Просмотреть файл

@ -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;

Просмотреть файл

@ -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}

Просмотреть файл

@ -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) {

Просмотреть файл

@ -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) {

Просмотреть файл

@ -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,

Просмотреть файл

@ -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();

Просмотреть файл

@ -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, {

519
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": {

Просмотреть файл

@ -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",

Просмотреть файл

@ -276,7 +276,7 @@ export class CDPConnection extends WebSocketConnection {
* @param {string} method
* Name of the method to split, e.g. "Browser.getVersion".
*
* @returns {Record<string, string>}
* @returns {Object<string, string>}
* Object with the domain ("Browser") and command ("getVersion")
* as properties.
*/

Просмотреть файл

@ -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<RemoteObject, ExceptionDetails>}
*/
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<RemoteObject, exceptionDetails>}
* 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 {

Просмотреть файл

@ -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 = [];

Просмотреть файл

@ -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;

Просмотреть файл

@ -26,7 +26,7 @@ export const cookie = {
/**
* @name Cookie
*
* @returns {Record<string, (number|boolean|string)>}
* @returns {Object<string, (number|boolean|string)>}
*/
/**
@ -36,7 +36,7 @@ export const cookie = {
* will produce the errors expected by WebDriver if the input is
* not valid.
*
* @param {Record<string, (number | boolean | string)>} json
* @param {Object<string, (number | boolean | string)>} 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``,

Просмотреть файл

@ -396,7 +396,7 @@ GeckoDriver.prototype.registerBrowser = function (browserElement) {
* Create a new WebDriver session.
*
* @param {object} cmd
* @param {Record<string, *>=} cmd.parameters
* @param {Object<string, *>=} 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<string, number>}
* @returns {Object<string, number>}
* 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<string, number>}
* @returns {Object<string, number>}
* 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<string, number>} cmd.parameters
* @param {Object<string, number>} 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<string, string>}
* @returns {Object<string, string>}
* 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<string, number>}
* @returns {Object<string, number>}
* Window rect and window state.
*
* @throws {NoSuchWindowError}
@ -2704,7 +2704,7 @@ GeckoDriver.prototype.minimizeWindow = async function () {
*
* Not supported on Fennec.
*
* @returns {Record<string, number>}
* @returns {Object<string, number>}
* 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<string,boolean>}
* @returns {Object<string,boolean>}
* 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

Просмотреть файл

@ -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<BrowsingContext, string[]>,
* serializedValue: any,
* hasSerializedWindows: boolean
* }}
* @returns {Object<Map<BrowsingContext, Array<string>, 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

Просмотреть файл

@ -128,7 +128,7 @@ Message.Origin = {
* Message ID unique identifying this message.
* @param {string} name
* Command name.
* @param {Record<string, ?>} params
* @param {Object<string, ?>} params
* Command parameters.
*/
export class Command extends Message {

Просмотреть файл

@ -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<string, number>} urlCount
* @param {Object<number>} 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.

Просмотреть файл

@ -447,7 +447,7 @@ export class TCPConnection {
* Send the given payload over the debugger transport socket to the
* connected client.
*
* @param {Record<string, ?>} payload
* @param {Object<string, ?>} payload
* The payload to ship.
*/
sendRaw(payload) {

Просмотреть файл

@ -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<string, string>} json
* @param {Object<string, string>} 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 <var>obj<var> is a {@link WebReference} reference.
*
* @param {Record<string, string>} obj
* @param {Object<string, string>} obj
* Object that represents a {@link WebReference}.
*
* @returns {boolean}

Просмотреть файл

@ -30,7 +30,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
* @param {boolean=} isWindowless
* Optional flag to indicate that the browser was started in windowless mode.
*
* @returns {Record<string, boolean>}
* @returns {Object<string,boolean>}
* 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

Просмотреть файл

@ -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 <var>strategy</var>.
*
* @param {Record<string, WindowProxy>} container
* @param {Object<string, WindowProxy>} 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<string, number>}
* @returns {Object<string, number>}
* X- and Y coordinates.
*
* @throws TypeError

Просмотреть файл

@ -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;

Просмотреть файл

@ -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 {

Просмотреть файл

@ -149,6 +149,7 @@ export class NetworkEventRecord {
*
* Required API for a NetworkObserver event owner.
*
*
* @param {object} options
* @param {nsIChannel} options.channel
* The channel.

Просмотреть файл

@ -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

Просмотреть файл

@ -26,7 +26,7 @@ class MessageHandlerError extends RemoteError {
}
/**
* @returns {Record<string, string>}
* @returns {Object<string, string>}
* 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<string, string>} json
* @param {Object<string, string>} json
* Error object.
*
* @returns {Error}

Просмотреть файл

@ -253,7 +253,7 @@ export class Proxy {
}
/**
* @param {Record<string, ?>} json
* @param {Object<string, ?>} json
* JSON Object to unmarshal.
*
* @throws {InvalidArgumentError}
@ -398,7 +398,7 @@ export class Proxy {
}
/**
* @returns {Record<string, (number | string)>}
* @returns {Object<string, (number | string)>}
* JSON serialisation of proxy object.
*/
toJSON() {
@ -510,7 +510,7 @@ export class Capabilities extends Map {
/**
* JSON serialization of capabilities object.
*
* @returns {Record<string, ?>}
* @returns {Object<string, ?>}
*/
toJSON() {
let marshalled = marshal(this);
@ -529,7 +529,7 @@ export class Capabilities extends Map {
/**
* Unmarshal a JSON object representation of WebDriver capabilities.
*
* @param {Record<string, *>=} json
* @param {Object<string, *>=} json
* WebDriver capabilities.
* @param {boolean=} isBidi
* Flag indicating that it is a WebDriver BiDi session. Defaults to false.

Просмотреть файл

@ -208,7 +208,7 @@ class WebDriverError extends RemoteError {
}
/**
* @returns {Record<string, string>}
* @returns {Object<string, string>}
* 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<string, string>} json
* @param {Object<string, string>} json
* Error object.
*
* @returns {Error}

Просмотреть файл

@ -191,7 +191,7 @@ export class WebDriverSession {
* {"capabilities": {"acceptInsecureCerts": true}}
* </code></pre>
*
* @param {Record<string, *>=} capabilities
* @param {Object<string, *>=} capabilities
* JSON Object containing any of the recognized capabilities listed
* above.
* @param {SessionConfigurationFlags} flags

Просмотреть файл

@ -111,7 +111,7 @@ export class PromptHandlerConfiguration {
/**
* JSON serialization of the prompt handler configuration object.
*
* @returns {Record<string, ?>} json
* @returns {Object<string, ?>} 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<string, ?>} json
* @param {Object<string, ?>} json
* JSON Object to unmarshal.
*
* @throws {InvalidArgumentError}
@ -274,7 +274,7 @@ export class UserPromptHandler {
/**
* JSON serialization of the user prompt handler object.
*
* @returns {Record<string, ?>} json
* @returns {Object<string, ?>} json
*
* @see https://w3c.github.io/webdriver/#dfn-serialize-the-user-prompt-handler
*/

Просмотреть файл

@ -101,7 +101,7 @@ export class WebDriverBiDi {
/**
* Create a new WebDriver session.
*
* @param {Record<string, *>=} capabilities
* @param {Object<string, *>=} 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<string, Capabilities>}
* @returns {Object<string, Capabilities>}
* Object containing the current session ID, and all its capabilities.
*
* @throws {SessionNotCreatedError}

Просмотреть файл

@ -267,7 +267,7 @@ export class WebDriverBiDiConnection extends WebSocketConnection {
* @param {string} method
* Name of the method to split, e.g. "session.subscribe".
*
* @returns {Record<string, string>}
* @returns {Object<string, string>}
* Object with the module ("session") and command ("subscribe")
* as properties.
*/

Просмотреть файл

@ -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<CredentialArgument>} credentials The credentials the user should choose from.
* @param {nsICredentialChosenCallback} callback A callback to return the user's credential choice to.

Просмотреть файл

@ -36,6 +36,7 @@
* }
* }
* }
*
*/
import { ExtensionParent } from "resource://gre/modules/ExtensionParent.sys.mjs";

Просмотреть файл

@ -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) {

Просмотреть файл

@ -815,12 +815,12 @@ function getOriginBase(origURL) {
*
* @param {Array<ElementTestCase>} tests
* A list of tests, as understood by {@see getElementData}.
* @param {Record<string, object>} expectedSources
* @param {Object<string, 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<string, object>} [forbiddenSources = {}]
* @param {Object<string, 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<object>} urlsPromise
* A promise which resolves to an object containing expected and
* forbidden URL sets, as returned by {@see computeBaseURLs}.
* @param {Record<string, string>} origins
* @param {Object<string, string>} 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

Просмотреть файл

@ -26,6 +26,7 @@ export class FormStateManager {
* @returns {Array<object> | 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) {

Просмотреть файл

@ -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<MLEngine>} - A promise that resolves to the ML engine instance.
*
*/
export async function createEngine(options, notificationsCallback = null) {
const pipelineOptions = new PipelineOptions(options);

Просмотреть файл

@ -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();

Просмотреть файл

@ -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,

Просмотреть файл

@ -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);

Просмотреть файл

@ -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(

Просмотреть файл

@ -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,

Просмотреть файл

@ -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).

Просмотреть файл

@ -1638,6 +1638,7 @@ export class TranslationsParent extends JSWindowActorParent {
* @param {number} majorVersion
* @param {string} nextVersion
* @param {string} [existingVersion]
*
*/
static isBetterRecordVersion(majorVersion, nextVersion, existingVersion) {
return (

Просмотреть файл

@ -658,7 +658,7 @@ class WorkQueue {
/**
* Run the task and return the result.
*
* @template {any} T
* @template {T}
* @param {() => T} task
* @returns {Promise<T>}
*/

Просмотреть файл

@ -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: {

Просмотреть файл

@ -1,9 +1,9 @@
[
{
"filename": "eslint.tar.gz",
"size": 21145861,
"size": 22362387,
"algorithm": "sha512",
"digest": "de7abbe8422a51b5c3b2828d12313a5ac6a782f33f9a2e5887d474aba53485302b71098fa2151a4aee7467b88cede545d8fdf2903bda943d58295a8735c45a97",
"digest": "3fe7535cc6c5fb3e394c7b99fa4c41f104414f63b033e82be428f184136adf9571e0781cce4bf65376e1fca747641e1402ef84874081fb7312f80212c51e390f",
"unpack": true,
"visibility": "public"
}