diff --git a/.eslintrc b/.eslintrc index 7269aca064..c1dc3e0f65 100644 --- a/.eslintrc +++ b/.eslintrc @@ -162,6 +162,8 @@ "@typescript-eslint/no-unsafe-assignment": "off", "@typescript-eslint/no-unsafe-return": "off", "@typescript-eslint/no-unsafe-argument": "off", + // This rule returns false positives with ! assertions, even with strictNullChecks(https://github.com/typescript-eslint/typescript-eslint/issues/1618) on it was complaining + "@typescript-eslint/no-unnecessary-type-assertion": "off", "jsdoc/require-jsdoc": ["warn", { "publicOnly": true }], "jsdoc/check-indentation": "error", diff --git a/package.json b/package.json index d048e19d30..c1fcd97755 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lwc-monorepo", - "version": "6.3.1", + "version": "6.3.2", "private": true, "description": "Lightning Web Components", "repository": { @@ -8,7 +8,7 @@ "url": "https://github.com/salesforce/lwc.git" }, "scripts": { - "prepare": "husky install && yarn build", + "prepare": "husky && yarn build", "lint": "eslint packages/ scripts/ --ext=js,mjs,ts", "format": "prettier --write '{packages,scripts}/**/*.{js,mjs,ts,json,md}'", "bundlesize": "node scripts/bundlesize/bundlesize.mjs", @@ -32,7 +32,7 @@ }, "devDependencies": { "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@commitlint/cli": "^18.6.1", + "@commitlint/cli": "^19.0.3", "@lwc/eslint-plugin-lwc-internal": "link:./scripts/eslint-plugin", "@lwc/jest-utils-lwc-internals": "link:./scripts/jest/utils", "@rollup/plugin-commonjs": "^25.0.2", @@ -42,31 +42,31 @@ "@rollup/plugin-typescript": "^11.1.6", "@types/babel__core": "^7.20.5", "@types/jest": "^29.5.12", - "@types/node": "^20.11.20", + "@types/node": "^20.11.26", "@types/prettier": "^2.7.3", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.20.0", + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", "bytes": "^3.1.2", "es-module-lexer": "^1.4.1", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^27.9.0", - "eslint-plugin-jsdoc": "^48.2.0", + "eslint-plugin-jsdoc": "^48.2.1", "glob": "^10.3.10", - "husky": "^8.0.2", + "husky": "^9.0.11", "isbinaryfile": "^5.0.2", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "lint-staged": "^15.2.2", - "magic-string": "^0.30.7", + "magic-string": "^0.30.8", "nx": "17.2.6", "prettier": "^2.8.8", - "rollup": "^4.9.6", - "terser": "^5.27.0", + "rollup": "^4.12.1", + "terser": "^5.29.1", "ts-jest": "^29.1.2", "tslib": "^2.6.1", - "typescript": "5.3.3" + "typescript": "5.4.2" }, "lint-staged": { "**/*.{js,mjs,ts}": "eslint", diff --git a/packages/@lwc/aria-reflection/package.json b/packages/@lwc/aria-reflection/package.json index 184da35042..77bedbba27 100644 --- a/packages/@lwc/aria-reflection/package.json +++ b/packages/@lwc/aria-reflection/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/aria-reflection", - "version": "6.3.1", + "version": "6.3.2", "description": "ARIA element reflection polyfill for strings", "keywords": [ "aom", diff --git a/packages/@lwc/babel-plugin-component/package.json b/packages/@lwc/babel-plugin-component/package.json index 0f8b8a7c57..663b1eee6b 100644 --- a/packages/@lwc/babel-plugin-component/package.json +++ b/packages/@lwc/babel-plugin-component/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/babel-plugin-component", - "version": "6.3.1", + "version": "6.3.2", "description": "Babel plugin to transform a LWC module", "keywords": [ "lwc" @@ -43,8 +43,8 @@ }, "dependencies": { "@babel/helper-module-imports": "7.22.15", - "@lwc/errors": "6.3.1", - "@lwc/shared": "6.3.1", + "@lwc/errors": "6.3.2", + "@lwc/shared": "6.3.2", "line-column": "~1.0.2" }, "devDependencies": { diff --git a/packages/@lwc/compiler/package.json b/packages/@lwc/compiler/package.json index 91d43adb8f..c56eac2a3d 100755 --- a/packages/@lwc/compiler/package.json +++ b/packages/@lwc/compiler/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/compiler", - "version": "6.3.1", + "version": "6.3.2", "description": "LWC compiler", "keywords": [ "lwc" @@ -42,16 +42,16 @@ } }, "dependencies": { - "@babel/core": "7.23.9", + "@babel/core": "7.24.0", "@babel/plugin-proposal-async-generator-functions": "7.20.7", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/plugin-proposal-object-rest-spread": "7.20.7", "@babel/plugin-transform-async-to-generator": "7.23.3", "@locker/babel-plugin-transform-unforgeables": "0.20.0", - "@lwc/babel-plugin-component": "6.3.1", - "@lwc/errors": "6.3.1", - "@lwc/shared": "6.3.1", - "@lwc/style-compiler": "6.3.1", - "@lwc/template-compiler": "6.3.1" + "@lwc/babel-plugin-component": "6.3.2", + "@lwc/errors": "6.3.2", + "@lwc/shared": "6.3.2", + "@lwc/style-compiler": "6.3.2", + "@lwc/template-compiler": "6.3.2" } } diff --git a/packages/@lwc/engine-core/package.json b/packages/@lwc/engine-core/package.json index d32f6178c1..022a7a102c 100644 --- a/packages/@lwc/engine-core/package.json +++ b/packages/@lwc/engine-core/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/engine-core", - "version": "6.3.1", + "version": "6.3.2", "description": "Core LWC engine APIs.", "keywords": [ "lwc" @@ -42,11 +42,11 @@ } }, "dependencies": { - "@lwc/features": "6.3.1", - "@lwc/shared": "6.3.1" + "@lwc/features": "6.3.2", + "@lwc/shared": "6.3.2" }, "devDependencies": { "observable-membrane": "2.0.0", - "@lwc/signals": "6.3.1" + "@lwc/signals": "6.3.2" } } diff --git a/packages/@lwc/engine-core/src/framework/base-lightning-element.ts b/packages/@lwc/engine-core/src/framework/base-lightning-element.ts index 9227039e56..6d0a4ea285 100644 --- a/packages/@lwc/engine-core/src/framework/base-lightning-element.ts +++ b/packages/@lwc/engine-core/src/framework/base-lightning-element.ts @@ -486,9 +486,11 @@ function warnIfInvokedDuringConstruction(vm: VM, methodOrPropName: string) { renderer: { attachInternals }, } = vm; - if (!isAPIFeatureEnabled(APIFeature.ENABLE_ELEMENT_INTERNALS, apiVersion)) { + if (!isAPIFeatureEnabled(APIFeature.ENABLE_ELEMENT_INTERNALS_AND_FACE, apiVersion)) { throw new Error( - `The attachInternals API is only supported in API version 61 and above. To use this API please update the LWC component API version.` + `The attachInternals API is only supported in API version 61 and above. ` + + `The current version is ${apiVersion}. ` + + `To use this API, update the LWC component API version. https://lwc.dev/guide/versioning` ); } diff --git a/packages/@lwc/engine-core/src/framework/hydration.ts b/packages/@lwc/engine-core/src/framework/hydration.ts index 306716313b..a77eb8e70c 100644 --- a/packages/@lwc/engine-core/src/framework/hydration.ts +++ b/packages/@lwc/engine-core/src/framework/hydration.ts @@ -24,7 +24,7 @@ import { import { logError, logWarn } from '../shared/logger'; import { RendererAPI } from './renderer'; -import { cloneAndOmitKey, parseStyleText } from './utils'; +import { cloneAndOmitKey, parseStyleText, shouldBeFormAssociated } from './utils'; import { allocateChildren, mount, removeNode } from './rendering'; import { createVM, @@ -321,7 +321,8 @@ function hydrateCustomElement( const { sel, mode, ctor, owner } = vnode; const { defineCustomElement, getTagName } = renderer; - defineCustomElement(StringToLowerCase.call(getTagName(elm)), Boolean(ctor.formAssociated)); + const isFormAssociated = shouldBeFormAssociated(ctor); + defineCustomElement(StringToLowerCase.call(getTagName(elm)), isFormAssociated); const vm = createVM(elm, ctor, renderer, { mode, diff --git a/packages/@lwc/engine-core/src/framework/main.ts b/packages/@lwc/engine-core/src/framework/main.ts index 88f1d09723..e0efa0df68 100644 --- a/packages/@lwc/engine-core/src/framework/main.ts +++ b/packages/@lwc/engine-core/src/framework/main.ts @@ -26,7 +26,7 @@ export { parseFragment, parseSVGFragment } from './template'; export { hydrateRoot } from './hydration'; // Internal APIs used by compiled code ------------------------------------------------------------- -export { registerComponent, getComponentAPIVersion } from './component'; +export { registerComponent } from './component'; export { registerTemplate } from './secure-template'; export { registerDecorators } from './decorators/register'; @@ -39,6 +39,8 @@ export { reportingControl as __unstable__ReportingControl } from './reporting'; export { swapTemplate, swapComponent, swapStyle } from './hot-swaps'; export { setHooks } from './overridable-hooks'; export { freezeTemplate } from './freeze-template'; +export { getComponentAPIVersion } from './component'; +export { shouldBeFormAssociated } from './utils'; // Experimental or Internal APIs export { getComponentConstructor } from './get-component-constructor'; diff --git a/packages/@lwc/engine-core/src/framework/rendering.ts b/packages/@lwc/engine-core/src/framework/rendering.ts index 8405675d26..26d748da3e 100644 --- a/packages/@lwc/engine-core/src/framework/rendering.ts +++ b/packages/@lwc/engine-core/src/framework/rendering.ts @@ -24,7 +24,7 @@ import { import { logError } from '../shared/logger'; import { getComponentTag } from '../shared/format'; import { RendererAPI } from './renderer'; -import { EmptyArray, shouldUseNativeCustomElementLifecycle } from './utils'; +import { EmptyArray, shouldBeFormAssociated, shouldUseNativeCustomElementLifecycle } from './utils'; import { markComponentAsDirty } from './component'; import { getScopeTokenClass } from './stylesheet'; import { lockDomMutation, patchElementWithRestrictions, unlockDomMutation } from './restrictions'; @@ -337,7 +337,7 @@ function mountCustomElement( const useNativeLifecycle = shouldUseNativeCustomElementLifecycle( ctor as LightningElementConstructor ); - const isFormAssociated = Boolean(ctor.formAssociated); + const isFormAssociated = shouldBeFormAssociated(ctor); const elm = createCustomElement( normalizedTagname, upgradeCallback, diff --git a/packages/@lwc/engine-core/src/framework/utils.ts b/packages/@lwc/engine-core/src/framework/utils.ts index 579b1bf044..587fa267c4 100644 --- a/packages/@lwc/engine-core/src/framework/utils.ts +++ b/packages/@lwc/engine-core/src/framework/utils.ts @@ -16,8 +16,9 @@ import { isUndefined, isNull, } from '@lwc/shared'; +import { logWarnOnce } from '../shared/logger'; import { StylesheetFactory, TemplateStylesheetFactories } from './stylesheet'; -import { getComponentAPIVersion } from './component'; +import { getComponentAPIVersion, getComponentRegisteredName } from './component'; import { LightningElementConstructor } from './base-lightning-element'; import { VElementData } from './vnodes'; @@ -157,3 +158,23 @@ export function applyTemporaryCompilerV5SlotFix(data: VElementData) { } return data; } + +export function shouldBeFormAssociated(Ctor: LightningElementConstructor) { + const ctorFormAssociated = Boolean(Ctor.formAssociated); + const apiVersion = getComponentAPIVersion(Ctor); + const apiFeatureEnabled = isAPIFeatureEnabled( + APIFeature.ENABLE_ELEMENT_INTERNALS_AND_FACE, + apiVersion + ); + + if (process.env.NODE_ENV !== 'production' && ctorFormAssociated && !apiFeatureEnabled) { + const tagName = getComponentRegisteredName(Ctor); + logWarnOnce( + `Component <${tagName}> set static formAssociated to true, but form ` + + `association is not enabled because the API version is ${apiVersion}. To enable form association, ` + + `update the LWC component API version to 61 or above. https://lwc.dev/guide/versioning` + ); + } + + return ctorFormAssociated && apiFeatureEnabled; +} diff --git a/packages/@lwc/engine-core/src/framework/wiring/context.ts b/packages/@lwc/engine-core/src/framework/wiring/context.ts index 71d9f382e9..f9a9bc1810 100644 --- a/packages/@lwc/engine-core/src/framework/wiring/context.ts +++ b/packages/@lwc/engine-core/src/framework/wiring/context.ts @@ -24,11 +24,10 @@ export function createContextProviderWithRegister( adapter: WireAdapterConstructor, registerContextProvider: RegisterContextProviderFn ): ContextProvider { - let adapterContextToken = AdapterToTokenMap.get(adapter); - if (!isUndefined(adapterContextToken)) { + if (AdapterToTokenMap.has(adapter)) { throw new Error(`Adapter already has a context provider.`); } - adapterContextToken = guid(); + const adapterContextToken = guid(); AdapterToTokenMap.set(adapter, adapterContextToken); const providers = new WeakSet(); @@ -42,7 +41,7 @@ export function createContextProviderWithRegister( registerContextProvider( elmOrComponent, - adapterContextToken!, + adapterContextToken, (subscriptionPayload: WireContextSubscriptionPayload) => { const { setNewContext, setDisconnectedCallback } = subscriptionPayload; const consumer: ContextConsumer = { diff --git a/packages/@lwc/engine-dom/package.json b/packages/@lwc/engine-dom/package.json index e186faf6f7..694867e3a8 100644 --- a/packages/@lwc/engine-dom/package.json +++ b/packages/@lwc/engine-dom/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/engine-dom", - "version": "6.3.1", + "version": "6.3.2", "description": "Renders LWC components in a DOM environment.", "keywords": [ "lwc" @@ -42,8 +42,8 @@ } }, "devDependencies": { - "@lwc/engine-core": "6.3.1", - "@lwc/shared": "6.3.1" + "@lwc/engine-core": "6.3.2", + "@lwc/shared": "6.3.2" }, "lwc": { "modules": [ diff --git a/packages/@lwc/engine-dom/src/apis/create-element.ts b/packages/@lwc/engine-dom/src/apis/create-element.ts index 4ca09038d6..df0bec62f8 100644 --- a/packages/@lwc/engine-dom/src/apis/create-element.ts +++ b/packages/@lwc/engine-dom/src/apis/create-element.ts @@ -22,6 +22,7 @@ import { disconnectRootElement, LightningElement, getComponentAPIVersion, + shouldBeFormAssociated, } from '@lwc/engine-core'; import { renderer } from '../renderer'; @@ -135,7 +136,7 @@ export function createElement( !lwcRuntimeFlags.DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE && isAPIFeatureEnabled(APIFeature.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE, apiVersion); - const isFormAssociated = Boolean(Ctor.formAssociated); + const isFormAssociated = shouldBeFormAssociated(Ctor); // the custom element from the registry is expecting an upgrade callback /* diff --git a/packages/@lwc/engine-dom/src/apis/hydrate-component.ts b/packages/@lwc/engine-dom/src/apis/hydrate-component.ts index a1bd3fdc00..9db2cb411c 100644 --- a/packages/@lwc/engine-dom/src/apis/hydrate-component.ts +++ b/packages/@lwc/engine-dom/src/apis/hydrate-component.ts @@ -11,6 +11,7 @@ import { hydrateRoot, connectRootElement, getAssociatedVMIfPresent, + shouldBeFormAssociated, } from '@lwc/engine-core'; import { StringToLowerCase, isFunction, isNull, isObject } from '@lwc/shared'; import { renderer } from '../renderer'; @@ -89,10 +90,8 @@ export function hydrateComponent( try { const { defineCustomElement, getTagName } = renderer; - defineCustomElement( - StringToLowerCase.call(getTagName(element)), - Boolean(Ctor.formAssociated) - ); + const isFormAssociated = shouldBeFormAssociated(Ctor); + defineCustomElement(StringToLowerCase.call(getTagName(element)), isFormAssociated); const vm = createVMWithProps(element, Ctor, props); hydrateRoot(vm); diff --git a/packages/@lwc/engine-server/package.json b/packages/@lwc/engine-server/package.json index 61e2c6ed13..7fef28429e 100644 --- a/packages/@lwc/engine-server/package.json +++ b/packages/@lwc/engine-server/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/engine-server", - "version": "6.3.1", + "version": "6.3.2", "description": "Renders LWC components in a server environment.", "keywords": [ "lwc" @@ -42,11 +42,11 @@ } }, "devDependencies": { - "@lwc/engine-core": "6.3.1", - "@lwc/rollup-plugin": "6.3.1", - "@lwc/shared": "6.3.1", + "@lwc/engine-core": "6.3.2", + "@lwc/rollup-plugin": "6.3.2", + "@lwc/shared": "6.3.2", + "@parse5/tools": "^0.4.0", "@rollup/plugin-virtual": "^3.0.1", - "parse5": "^7.1.2", - "@parse5/tools": "^0.3.0" + "parse5": "^7.1.2" } } diff --git a/packages/@lwc/errors/package.json b/packages/@lwc/errors/package.json index 25a6b596ea..0c2481aaa8 100644 --- a/packages/@lwc/errors/package.json +++ b/packages/@lwc/errors/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/errors", - "version": "6.3.1", + "version": "6.3.2", "description": "LWC Error Utilities", "keywords": [ "lwc" diff --git a/packages/@lwc/features/package.json b/packages/@lwc/features/package.json index 3f0a9b70d5..b4280b4b7b 100644 --- a/packages/@lwc/features/package.json +++ b/packages/@lwc/features/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/features", - "version": "6.3.1", + "version": "6.3.2", "description": "LWC Features Flags", "keywords": [ "lwc" @@ -42,6 +42,6 @@ } }, "dependencies": { - "@lwc/shared": "6.3.1" + "@lwc/shared": "6.3.2" } } diff --git a/packages/@lwc/integration-karma/helpers/test-utils.js b/packages/@lwc/integration-karma/helpers/test-utils.js index 392407f930..0af0c79d3e 100644 --- a/packages/@lwc/integration-karma/helpers/test-utils.js +++ b/packages/@lwc/integration-karma/helpers/test-utils.js @@ -315,8 +315,6 @@ window.TestUtils = (function (lwc, jasmine, beforeAll) { return error; } - var nativeCustomElementLifecycleEnabled = process.env.API_VERSION >= 61; - // For errors we expect to be thrown in the connectedCallback() phase // of a custom element, there are two possibilities: // 1) We're using non-native lifecycle callbacks, so the error is thrown synchronously @@ -324,7 +322,7 @@ window.TestUtils = (function (lwc, jasmine, beforeAll) { // only be caught with window.addEventListener('error') // - Note native lifecycle callbacks are all thrown asynchronously. function customElementCallbackReactionErrorListener(callback) { - return nativeCustomElementLifecycleEnabled + return apiFeatures.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ? windowErrorListener(callback) : directErrorListener(callback); } @@ -341,6 +339,10 @@ window.TestUtils = (function (lwc, jasmine, beforeAll) { customElementCallbackReactionErrorListener, true ), + toThrowCallbackReactionErrorEvenInSyntheticLifecycleMode: errorMatcherFactory( + windowErrorListener, + true + ), }; beforeAll(function () { @@ -548,12 +550,7 @@ window.TestUtils = (function (lwc, jasmine, beforeAll) { ]; const ariaProperties = Object.keys(ariaPropertiesMapping); - - // Can't use Object.values because we need to support IE11 - const ariaAttributes = []; - for (let i = 0; i < ariaProperties.length; i++) { - ariaAttributes.push(ariaPropertiesMapping[ariaProperties[i]]); - } + const ariaAttributes = Object.values(ariaPropertiesMapping); // Keep traversing up the prototype chain until a property descriptor is found function getPropertyDescriptor(object, prop) { @@ -567,32 +564,37 @@ window.TestUtils = (function (lwc, jasmine, beforeAll) { } // These values are based on the API versions in @lwc/shared/api-version - const lightDomSlotForwardingEnabled = process.env.API_VERSION > 60; - const vFragBookEndEnabled = process.env.API_VERSION > 59; + const apiFeatures = { + LOWERCASE_SCOPE_TOKENS: process.env.API_VERSION >= 59, + USE_COMMENTS_FOR_FRAGMENT_BOOKENDS: process.env.API_VERSION >= 60, + USE_FRAGMENTS_FOR_LIGHT_DOM_SLOTS: process.env.API_VERSION >= 60, + DISABLE_OBJECT_REST_SPREAD_TRANSFORMATION: process.env.API_VERSION >= 60, + ENABLE_ELEMENT_INTERNALS_AND_FACE: process.env.API_VERSION >= 61, + ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE: process.env.API_VERSION >= 61, + USE_LIGHT_DOM_SLOT_FORWARDING: process.env.API_VERSION >= 61, + }; return { - clearRegister: clearRegister, - extractDataIds: extractDataIds, - extractShadowDataIds: extractShadowDataIds, - getHostChildNodes: getHostChildNodes, - isNativeShadowRootInstance: isNativeShadowRootInstance, - isSyntheticShadowRootInstance: isSyntheticShadowRootInstance, - load: load, - registerForLoad: registerForLoad, - getHooks: getHooks, - setHooks: setHooks, - spyConsole: spyConsole, - customElementCallbackReactionErrorListener: customElementCallbackReactionErrorListener, - ariaPropertiesMapping: ariaPropertiesMapping, - ariaProperties: ariaProperties, - ariaAttributes: ariaAttributes, - nonStandardAriaProperties: nonStandardAriaProperties, - nonPolyfilledAriaProperties: nonPolyfilledAriaProperties, - getPropertyDescriptor: getPropertyDescriptor, - attachReportingControlDispatcher: attachReportingControlDispatcher, - detachReportingControlDispatcher: detachReportingControlDispatcher, - nativeCustomElementLifecycleEnabled: nativeCustomElementLifecycleEnabled, - lightDomSlotForwardingEnabled: lightDomSlotForwardingEnabled, - vFragBookEndEnabled: vFragBookEndEnabled, + clearRegister, + extractDataIds, + extractShadowDataIds, + getHostChildNodes, + isNativeShadowRootInstance, + isSyntheticShadowRootInstance, + load, + registerForLoad, + getHooks, + setHooks, + spyConsole, + customElementCallbackReactionErrorListener, + ariaPropertiesMapping, + ariaProperties, + ariaAttributes, + nonStandardAriaProperties, + nonPolyfilledAriaProperties, + getPropertyDescriptor, + attachReportingControlDispatcher, + detachReportingControlDispatcher, + ...apiFeatures, }; })(LWC, jasmine, beforeAll); diff --git a/packages/@lwc/integration-karma/package.json b/packages/@lwc/integration-karma/package.json index 4cfa25ff62..c463d63b56 100644 --- a/packages/@lwc/integration-karma/package.json +++ b/packages/@lwc/integration-karma/package.json @@ -1,7 +1,7 @@ { "name": "@lwc/integration-karma", "private": true, - "version": "6.3.1", + "version": "6.3.2", "scripts": { "start": "KARMA_MODE=watch karma start ./scripts/karma-configs/test/local.js", "test": "karma start ./scripts/karma-configs/test/local.js --single-run --browsers ChromeHeadless", @@ -17,17 +17,17 @@ "karma-sauce-launcher-fix-firefox": "using a fork to work around https://github.com/karma-runner/karma-sauce-launcher/issues/275" }, "devDependencies": { - "@lwc/compiler": "6.3.1", - "@lwc/engine-dom": "6.3.1", - "@lwc/engine-server": "6.3.1", - "@lwc/rollup-plugin": "6.3.1", + "@lwc/compiler": "6.3.2", + "@lwc/engine-dom": "6.3.2", + "@lwc/engine-server": "6.3.2", + "@lwc/rollup-plugin": "6.3.2", "@lwc/rollup-plugin-v5": "npm:@lwc/rollup-plugin@5.3.0", - "@lwc/synthetic-shadow": "6.3.1", - "chokidar": "^3.5.3", + "@lwc/synthetic-shadow": "6.3.2", + "chokidar": "^3.6.0", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", "istanbul-reports": "^3.1.7", - "karma": "6.4.2", + "karma": "6.4.3", "karma-chrome-launcher": "^3.2.0", "karma-coverage": "^2.2.1", "karma-jasmine": "^5.1.0", diff --git a/packages/@lwc/integration-karma/scripts/karma-plugins/lwc.js b/packages/@lwc/integration-karma/scripts/karma-plugins/lwc.js index 63c018cb77..7b44aae12f 100644 --- a/packages/@lwc/integration-karma/scripts/karma-plugins/lwc.js +++ b/packages/@lwc/integration-karma/scripts/karma-plugins/lwc.js @@ -38,12 +38,12 @@ function createPreprocessor(config, emitter, logger) { // Wrap all the tests into a describe block with the file structure name // This avoids needing to manually write `describe()` for every file. - // Also add a dummy test because otherwise Jasmine complains about empty describe()s: + // Also add an empty test because otherwise Jasmine complains about empty describe()s: // https://github.com/jasmine/jasmine/pull/1742 const ancestorDirectories = path.relative(basePath, suiteDir).split(path.sep); const intro = ancestorDirectories.map((tag) => `describe("${tag}", function () {`).join('\n') + - `\nxit("dummy test", () => { /* empty */ });\n`; + `\nxit("empty test", () => { /* empty */ });\n`; const outro = ancestorDirectories.map(() => `});`).join('\n'); // TODO [#3370]: remove experimental template expression flag diff --git a/packages/@lwc/integration-karma/test/api/CustomElementConstructor-getter/index.spec.js b/packages/@lwc/integration-karma/test/api/CustomElementConstructor-getter/index.spec.js index 5ccc20934b..1f2615627f 100644 --- a/packages/@lwc/integration-karma/test/api/CustomElementConstructor-getter/index.spec.js +++ b/packages/@lwc/integration-karma/test/api/CustomElementConstructor-getter/index.spec.js @@ -1,5 +1,5 @@ import { LightningElement } from 'lwc'; -import { vFragBookEndEnabled } from 'test-utils'; +import { USE_COMMENTS_FOR_FRAGMENT_BOOKENDS } from 'test-utils'; import ReflectElement from 'x/reflect'; import LifecycleParent from 'x/lifecycleParent'; @@ -11,7 +11,7 @@ import ReflectCamel from 'x/reflectCamel'; import WithChildElmsHasSlot from 'x/withChildElmsHasSlot'; import WithChildElmsHasSlotLight from 'x/withChildElmsHasSlotLight'; -const vFragBookend = vFragBookEndEnabled ? '' : ''; +const vFragBookend = USE_COMMENTS_FOR_FRAGMENT_BOOKENDS ? '' : ''; it('should throw when trying to claim abstract LightningElement as custom element', () => { expect(() => LightningElement.CustomElementConstructor).toThrowError( diff --git a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/api/index.spec.js b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/api/index.spec.js index bcce38ef78..99e6717ece 100644 --- a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/api/index.spec.js +++ b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/api/index.spec.js @@ -1,5 +1,8 @@ import { createElement } from 'lwc'; -import { customElementCallbackReactionErrorListener } from 'test-utils'; +import { + customElementCallbackReactionErrorListener, + ENABLE_ELEMENT_INTERNALS_AND_FACE, +} from 'test-utils'; import ShadowDomCmp from 'ai/shadowDom'; import LightDomCmp from 'ai/lightDom'; @@ -54,7 +57,7 @@ const attachInternalsSanityTest = (tagName, ctor) => { }); }; -if (process.env.API_VERSION >= 61) { +if (ENABLE_ELEMENT_INTERNALS_AND_FACE) { if (typeof ElementInternals !== 'undefined') { // ElementInternals API is supported in the browser if (process.env.NATIVE_SHADOW) { @@ -101,7 +104,7 @@ if (process.env.API_VERSION >= 61) { // Note CustomElementConstructor is not upgraded by LWC and inherits directly from HTMLElement which means it calls the native // attachInternals API. expect(() => document.body.appendChild(elm)).toThrowError( - /The attachInternals API is only supported in API version 61 and above. To use this API please update the LWC component API version./ + /The attachInternals API is only supported in API version 61 and above/ ); }); } diff --git a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/index.spec.js b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/index.spec.js index 3da23cce3b..30307323f4 100644 --- a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/index.spec.js +++ b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/index.spec.js @@ -1,11 +1,15 @@ import { createElement } from 'lwc'; +import { ENABLE_ELEMENT_INTERNALS_AND_FACE } from 'test-utils'; import NotFormAssociated from 'x/notFormAssociated'; import FormAssociated from 'x/formAssociated'; import FormAssociatedFalse from 'x/formAssociatedFalse'; +import NotFormAssociatedNoAttachInternals from 'x/notFormAssociatedNoAttachInternals'; +import FormAssociatedNoAttachInternals from 'x/formAssociatedNoAttachInternals'; +import FormAssociatedFalseNoAttachInternals from 'x/formAssociatedFalseNoAttachInternals'; if ( - process.env.API_VERSION >= 61 && + ENABLE_ELEMENT_INTERNALS_AND_FACE && typeof ElementInternals !== 'undefined' && !process.env.SYNTHETIC_SHADOW_ENABLED ) { @@ -34,3 +38,69 @@ if ( ).not.toThrow(); }); } + +if (typeof ElementInternals !== 'undefined' && !process.env.SYNTHETIC_SHADOW_ENABLED) { + const isFormAssociated = (elm) => { + const form = document.createElement('form'); + document.body.appendChild(form); + form.appendChild(elm); + const result = elm.formAssociatedCallbackCalled; + document.body.removeChild(form); // cleanup + return result; + }; + + it('disallows form association on older API versions', () => { + let elm; + + // formAssociated = true + const createFormAssociatedTrue = () => { + elm = createElement('x-form-associated-no-attach-internals', { + is: FormAssociatedNoAttachInternals, + }); + }; + if (ENABLE_ELEMENT_INTERNALS_AND_FACE) { + createFormAssociatedTrue(); + expect(isFormAssociated(elm)).toBe(true); + } else { + expect(createFormAssociatedTrue).toLogWarningDev( + /Component set static formAssociated to true, but form association is not enabled/ + ); + expect(isFormAssociated(elm)).toBe(false); + } + + // formAssociated = false + elm = createElement('x-form-associated-false-no-attach-internals', { + is: FormAssociatedFalseNoAttachInternals, + }); + expect(isFormAssociated(elm)).toBe(false); + + // formAssociated = undefined + elm = createElement('x-not-form-associated-no-attach-internals', { + is: NotFormAssociatedNoAttachInternals, + }); + expect(isFormAssociated(elm)).toBe(false); + }); +} + +if (!ENABLE_ELEMENT_INTERNALS_AND_FACE) { + it('warns for attachInternals on older API versions', () => { + // formAssociated = true + expect(() => { + expect(() => createElement('x-form-associated', { is: FormAssociated })).toThrowError( + /The attachInternals API is only supported in API version 61 and above/ + ); + }).toLogWarningDev( + /Component set static formAssociated to true, but form association is not enabled/ + ); + + // formAssociated = false + expect(() => + createElement('x-form-associated-false', { is: FormAssociatedFalse }) + ).toThrowError(/The attachInternals API is only supported in API version 61 and above/); + + // formAssociated = undefined + expect(() => + createElement('x-not-form-associated', { is: NotFormAssociated }) + ).toThrowError(/The attachInternals API is only supported in API version 61 and above/); + }); +} diff --git a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociated/formAssociated.html b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociated/formAssociated.html deleted file mode 100644 index 41a40c8d47..0000000000 --- a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociated/formAssociated.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedFalse/formAssociatedFalse.html b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedFalse/formAssociatedFalse.html deleted file mode 100644 index 41a40c8d47..0000000000 --- a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedFalse/formAssociatedFalse.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedFalse/formAssociatedFalse.js b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedFalse/formAssociatedFalse.js index 54fa5984ea..25bb17c243 100644 --- a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedFalse/formAssociatedFalse.js +++ b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedFalse/formAssociatedFalse.js @@ -1,5 +1,13 @@ -import { LightningElement } from 'lwc'; +import { api, LightningElement } from 'lwc'; export default class extends LightningElement { static formAssociated = false; + + @api + internals; + + constructor() { + super(); + this.internals = this.attachInternals(); + } } diff --git a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedFalseNoAttachInternals/formAssociatedFalseNoAttachInternals.js b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedFalseNoAttachInternals/formAssociatedFalseNoAttachInternals.js new file mode 100644 index 0000000000..6939b61b26 --- /dev/null +++ b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedFalseNoAttachInternals/formAssociatedFalseNoAttachInternals.js @@ -0,0 +1,12 @@ +import { api, LightningElement } from 'lwc'; + +export default class extends LightningElement { + static formAssociated = false; + + @api + formAssociatedCallbackCalled = false; + + formAssociatedCallback() { + this.formAssociatedCallbackCalled = true; + } +} diff --git a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedNoAttachInternals/formAssociatedNoAttachInternals.js b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedNoAttachInternals/formAssociatedNoAttachInternals.js new file mode 100644 index 0000000000..431ef390e7 --- /dev/null +++ b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/formAssociatedNoAttachInternals/formAssociatedNoAttachInternals.js @@ -0,0 +1,12 @@ +import { api, LightningElement } from 'lwc'; + +export default class extends LightningElement { + static formAssociated = true; + + @api + formAssociatedCallbackCalled = false; + + formAssociatedCallback() { + this.formAssociatedCallbackCalled = true; + } +} diff --git a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/notFormAssociated/notFormAssociated.html b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/notFormAssociated/notFormAssociated.html deleted file mode 100644 index 41a40c8d47..0000000000 --- a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/notFormAssociated/notFormAssociated.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/notFormAssociatedNoAttachInternals/notFormAssociatedNoAttachInternals.js b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/notFormAssociatedNoAttachInternals/notFormAssociatedNoAttachInternals.js new file mode 100644 index 0000000000..215f460030 --- /dev/null +++ b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/formAssociated/x/notFormAssociatedNoAttachInternals/notFormAssociatedNoAttachInternals.js @@ -0,0 +1,10 @@ +import { api, LightningElement } from 'lwc'; + +export default class extends LightningElement { + @api + formAssociatedCallbackCalled = false; + + formAssociatedCallback() { + this.formAssociatedCallbackCalled = true; + } +} diff --git a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/sanity/index.spec.js b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/sanity/index.spec.js index ee403fbbe8..bc2c0bf920 100644 --- a/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/sanity/index.spec.js +++ b/packages/@lwc/integration-karma/test/component/LightningElement.attachInternals/elementInternals/sanity/index.spec.js @@ -1,10 +1,10 @@ import { createElement } from 'lwc'; -import { ariaProperties, ariaAttributes } from 'test-utils'; +import { ariaProperties, ariaAttributes, ENABLE_ELEMENT_INTERNALS_AND_FACE } from 'test-utils'; import ElementInternal from 'ei/component'; if ( - process.env.API_VERSION >= 61 && + ENABLE_ELEMENT_INTERNALS_AND_FACE && process.env.NATIVE_SHADOW && typeof ElementInternals !== 'undefined' ) { diff --git a/packages/@lwc/integration-karma/test/component/LightningElement.errorCallback/index.spec.js b/packages/@lwc/integration-karma/test/component/LightningElement.errorCallback/index.spec.js index 5e4f8b017b..0d5ff3f4f6 100644 --- a/packages/@lwc/integration-karma/test/component/LightningElement.errorCallback/index.spec.js +++ b/packages/@lwc/integration-karma/test/component/LightningElement.errorCallback/index.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { nativeCustomElementLifecycleEnabled } from 'test-utils'; +import { ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE } from 'test-utils'; import XBoundaryChildConstructorThrow from 'x/boundaryChildConstructorThrow'; import XBoundaryChildConnectedThrow from 'x/boundaryChildConnectedThrow'; @@ -372,7 +372,7 @@ describe('errorCallback throws after value mutation', () => { 'when child throws in connectedCallback', 'x-parent-throws-on-mutate-child-connected-throws', XParentThrowsOnMutateChildConnectedThrows, - nativeCustomElementLifecycleEnabled + ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ); testStub( 'when child throws in constructor', @@ -390,6 +390,6 @@ describe('errorCallback throws after value mutation', () => { 'when child throws in renderedCallback', 'x-parent-throws-on-mutate-child-rendered-throws', XParentThrowsOnMutateChildRenderedThrows, - nativeCustomElementLifecycleEnabled + ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ); }); diff --git a/packages/@lwc/integration-karma/test/component/face-callbacks/index.spec.js b/packages/@lwc/integration-karma/test/component/face-callbacks/index.spec.js index f564f9b861..37e5205764 100644 --- a/packages/@lwc/integration-karma/test/component/face-callbacks/index.spec.js +++ b/packages/@lwc/integration-karma/test/component/face-callbacks/index.spec.js @@ -1,5 +1,8 @@ import { createElement } from 'lwc'; -import { nativeCustomElementLifecycleEnabled } from 'test-utils'; +import { + ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE, + ENABLE_ELEMENT_INTERNALS_AND_FACE, +} from 'test-utils'; import Container from 'face/container'; import FormAssociated from 'face/formAssociated'; @@ -13,10 +16,38 @@ const createFormElement = () => { return container.shadowRoot.querySelector('form'); }; -const createFaces = (tagName, ctor) => [ - createElement(`face-${tagName}`, { is: ctor }), - createFaceUsingCec(`cec-face-${tagName}`, ctor.CustomElementConstructor), -]; +const createFaceTests = (tagName, ctor, callback) => { + const scenarios = ['lwc.createElement', 'CustomElementConstructor']; + + scenarios.forEach((scenario) => { + describe(scenario, () => { + const createFace = () => { + if (scenario === 'lwc.createElement') { + return createFaceUsingLwcCreateElement(`face-${tagName}`, ctor); + } else { + return createFaceUsingCec(`cec-face-${tagName}`, ctor.CustomElementConstructor); + } + }; + + callback(createFace, scenario); + }); + }); +}; + +const createFaceUsingLwcCreateElement = (tagName, ctor) => { + let elm; + const doCreate = () => { + elm = createElement(tagName, { is: ctor }); + }; + if (ENABLE_ELEMENT_INTERNALS_AND_FACE) { + doCreate(); + } else { + expect(doCreate).toLogWarningDev( + /set static formAssociated to true, but form association is not enabled/ + ); + } + return elm; +}; const createFaceUsingCec = (tagName, ctor) => { if (!customElements.get(tagName)) { @@ -26,10 +57,12 @@ const createFaceUsingCec = (tagName, ctor) => { }; const faceSanityTest = (tagName, ctor) => { - createFaces(`${tagName}-form-associated`, ctor).forEach((face) => { + createFaceTests(`${tagName}-form-associated`, ctor, (createFace) => { let form; + let face; beforeEach(() => { + face = createFace(); form = createFormElement(); form.appendChild(face); }); @@ -41,7 +74,7 @@ const faceSanityTest = (tagName, ctor) => { }); it('calls face lifecycle methods', () => { - testFaceLifecycleMethodsCallable(face); + testFaceLifecycleMethodsCallable(() => face); }); it('is associated with the correct form', () => { @@ -52,7 +85,7 @@ const faceSanityTest = (tagName, ctor) => { const container = document.body.querySelector('face-container'); container.shadowRoot.appendChild(form2); - if (process.env.API_VERSION >= 61) { + if (ENABLE_ELEMENT_INTERNALS_AND_FACE) { expect(face.internals.form.className).toEqual('form1'); expect(face2.internals.form.className).toEqual('form2'); } @@ -60,7 +93,8 @@ const faceSanityTest = (tagName, ctor) => { }); }; -const testFaceLifecycleMethodsCallable = (face) => { +const testFaceLifecycleMethodsCallable = (createFace) => { + const face = createFace(); const form = createFormElement(); form.appendChild(face); @@ -79,14 +113,15 @@ const testFaceLifecycleMethodsCallable = (face) => { }; const notFormAssociatedSanityTest = (tagName, ctor) => { - it(`doesn't call face lifecycle methods when not form associated`, () => { - createFaces(`${tagName}-not-form-associated`, ctor).forEach((face) => { - testFaceLifecycleMethodsNotCallable(face); + createFaceTests(`${tagName}-not-form-associated`, ctor, (createFace) => { + it(`doesn't call face lifecycle methods when not form associated`, () => { + testFaceLifecycleMethodsNotCallable(createFace); }); }); }; -const testFaceLifecycleMethodsNotCallable = (face) => { +const testFaceLifecycleMethodsNotCallable = (createFace) => { + const face = createFace(); const form = createFormElement(); form.appendChild(face); @@ -105,7 +140,7 @@ const testFaceLifecycleMethodsNotCallable = (face) => { }; if (typeof ElementInternals !== 'undefined') { - if (nativeCustomElementLifecycleEnabled) { + if (ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) { // native lifecycle enabled describe('native lifecycle', () => { if (process.env.NATIVE_SHADOW) { @@ -115,9 +150,10 @@ if (typeof ElementInternals !== 'undefined') { }); } else { describe('synthetic shadow', () => { - it('cannot be used and throws an error', () => { - const form = createFormElement(); - createFaces('synthetic-shadow', FormAssociated).forEach((face) => { + createFaceTests('synthetic-shadow', FormAssociated, (createFace) => { + it('cannot be used and throws an error', () => { + const face = createFace(); + const form = createFormElement(); expect(() => form.appendChild(face)).toThrowCallbackReactionError( 'Form associated lifecycle methods are not available in synthetic shadow. Please use native shadow or light DOM.' ); @@ -140,19 +176,35 @@ if (typeof ElementInternals !== 'undefined') { ctor: LightDomFormAssociated, }, ].forEach(({ name, tagName, ctor }) => { - const [face, cecFace] = createFaces(tagName, ctor); - it(`${name} does not call face lifecycle methods when upgraded by LWC`, () => { - // TODO [#3929]: Face should log a dev warning when used with synthetic lifecycle - testFaceLifecycleMethodsNotCallable(face); + createFaceTests(tagName, ctor, (createFace, scenario) => { + if (scenario === 'lwc.createElement') { + it(`${name} does not call face lifecycle methods when upgraded by LWC`, () => { + testFaceLifecycleMethodsNotCallable(createFace); + }); + } else { + // Face throws error message when synthetic shadow is enabled + if (name === 'light DOM' || process.env.NATIVE_SHADOW) { + it(`${name} calls face lifecycle methods when using CustomElementConstructor`, () => { + // CustomElementConstructor is to be upgraded independently of LWC, it will always use native lifecycle + testFaceLifecycleMethodsCallable(createFace); + }); + } else { + // synthetic shadow mode + it(`${name} cannot call face lifecycle methods when using CustomElementConstructor`, () => { + // this is always a callback reaction error, even in "synthetic lifecycle" mode, + // because synthetic lifecycle mode only includes connected/disconnected callbacks, + // not the FACE callbacks + expect(() => { + const face = createFace(); + const form = createFormElement(); + form.appendChild(face); + }).toThrowCallbackReactionErrorEvenInSyntheticLifecycleMode( + 'Form associated lifecycle methods are not available in synthetic shadow. Please use native shadow or light DOM.' + ); + }); + } + } }); - - // Face throws error message when synthetic shadow is enabled - if (name === 'light DOM' || process.env.NATIVE_SHADOW) { - it(`${name} calls face lifecycle methods when using CustomElementConstructor`, () => { - // CustomElementConstructor is to be upgraded independently of LWC, it will always use native lifecycle - testFaceLifecycleMethodsCallable(cecFace); - }); - } }); }); } diff --git a/packages/@lwc/integration-karma/test/component/lifecycle-callbacks/index.spec.js b/packages/@lwc/integration-karma/test/component/lifecycle-callbacks/index.spec.js index a7008d1d9c..41ec2a764f 100644 --- a/packages/@lwc/integration-karma/test/component/lifecycle-callbacks/index.spec.js +++ b/packages/@lwc/integration-karma/test/component/lifecycle-callbacks/index.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { nativeCustomElementLifecycleEnabled } from 'test-utils'; +import { ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE } from 'test-utils'; import Single from 'x/single'; import Parent from 'x/parent'; @@ -167,7 +167,7 @@ describe('invocation order', () => { let expected; if (testName === 'shadow' && process.env.NATIVE_SHADOW) { - if (nativeCustomElementLifecycleEnabled) { + if (ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) { expected = [ 'foo-a:connectedCallback', 'foo-internal-a:connectedCallback', diff --git a/packages/@lwc/integration-karma/test/component/native-vs-synthetic-lifecycle/index.spec.js b/packages/@lwc/integration-karma/test/component/native-vs-synthetic-lifecycle/index.spec.js index 906dc39743..0f77e2adc7 100644 --- a/packages/@lwc/integration-karma/test/component/native-vs-synthetic-lifecycle/index.spec.js +++ b/packages/@lwc/integration-karma/test/component/native-vs-synthetic-lifecycle/index.spec.js @@ -2,13 +2,13 @@ import { createElement } from 'lwc'; import { attachReportingControlDispatcher, detachReportingControlDispatcher, - nativeCustomElementLifecycleEnabled, + ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE, } from 'test-utils'; import Component from 'x/component'; import Parent from 'x/parent'; -if (!nativeCustomElementLifecycleEnabled) { +if (!ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) { describe('ConnectedCallbackWhileDisconnected reporting', () => { let logger; let dispatcher; diff --git a/packages/@lwc/integration-karma/test/light-dom/scoped-slot/if-block/index.spec.js b/packages/@lwc/integration-karma/test/light-dom/scoped-slot/if-block/index.spec.js index ed3d52def6..e94eed6779 100644 --- a/packages/@lwc/integration-karma/test/light-dom/scoped-slot/if-block/index.spec.js +++ b/packages/@lwc/integration-karma/test/light-dom/scoped-slot/if-block/index.spec.js @@ -1,9 +1,9 @@ import { createElement } from 'lwc'; -import { vFragBookEndEnabled } from 'test-utils'; +import { USE_COMMENTS_FOR_FRAGMENT_BOOKENDS } from 'test-utils'; import MixedSlotParent from 'x/mixedSlotParent'; -const vFragBookend = vFragBookEndEnabled ? '' : ''; +const vFragBookend = USE_COMMENTS_FOR_FRAGMENT_BOOKENDS ? '' : ''; describe('if-block', () => { it('should work when parent and child have matching slot types', () => { diff --git a/packages/@lwc/integration-karma/test/light-dom/scoped-slot/index.spec.js b/packages/@lwc/integration-karma/test/light-dom/scoped-slot/index.spec.js index 447ff25540..8aad68654a 100644 --- a/packages/@lwc/integration-karma/test/light-dom/scoped-slot/index.spec.js +++ b/packages/@lwc/integration-karma/test/light-dom/scoped-slot/index.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { lightDomSlotForwardingEnabled, vFragBookEndEnabled } from 'test-utils'; +import { USE_LIGHT_DOM_SLOT_FORWARDING, USE_COMMENTS_FOR_FRAGMENT_BOOKENDS } from 'test-utils'; import BasicParent from 'x/basicParent'; import ParentOfChildWithForEach from 'x/parentOfChildWithForEach'; @@ -7,7 +7,7 @@ import ParentWNoSlotContent from 'x/parentWNoSlotContent'; import ParentOfChildWithNamedSlots from 'x/parentOfChildWithNamedSlots'; import NestedSlots from 'x/nestedSlots'; -const vFragBookend = vFragBookEndEnabled ? '' : ''; +const vFragBookend = USE_COMMENTS_FOR_FRAGMENT_BOOKENDS ? '' : ''; describe('scoped slots', () => { it('scoped slots work with default slots', () => { @@ -62,7 +62,7 @@ describe('scoped slots', () => { // For standard slot content, "slot" attribute goes directly on the element unlike scoped // slots where the attribute goes on the template tag expect(child.querySelector('.slotname3').innerHTML).toBe( - lightDomSlotForwardingEnabled + USE_LIGHT_DOM_SLOT_FORWARDING ? `${vFragBookend}

MLB

${vFragBookend}` : `${vFragBookend}

MLB

${vFragBookend}` ); diff --git a/packages/@lwc/integration-karma/test/light-dom/scoped-slot/runtime-checks/index.spec.js b/packages/@lwc/integration-karma/test/light-dom/scoped-slot/runtime-checks/index.spec.js index 7a38b8016e..af17055a45 100644 --- a/packages/@lwc/integration-karma/test/light-dom/scoped-slot/runtime-checks/index.spec.js +++ b/packages/@lwc/integration-karma/test/light-dom/scoped-slot/runtime-checks/index.spec.js @@ -1,10 +1,10 @@ import { createElement } from 'lwc'; -import { vFragBookEndEnabled } from 'test-utils'; +import { USE_COMMENTS_FOR_FRAGMENT_BOOKENDS } from 'test-utils'; import ParentWithScopedSlotContent from 'x/parentWithScopedSlotContent'; import ParentWithStandardSlotContent from 'x/parentWithStandardSlotContent'; -const vFragBookend = vFragBookEndEnabled ? '' : ''; +const vFragBookend = USE_COMMENTS_FOR_FRAGMENT_BOOKENDS ? '' : ''; describe('runtime validation of slot content and slot', () => { it('Ignores content when parent uses scoped slot and child has standard slot', () => { diff --git a/packages/@lwc/integration-karma/test/light-dom/slot-fowarding/slots/forwarding/index.spec.js b/packages/@lwc/integration-karma/test/light-dom/slot-fowarding/slots/forwarding/index.spec.js index 81dd3b706c..8404b2378d 100644 --- a/packages/@lwc/integration-karma/test/light-dom/slot-fowarding/slots/forwarding/index.spec.js +++ b/packages/@lwc/integration-karma/test/light-dom/slot-fowarding/slots/forwarding/index.spec.js @@ -1,5 +1,9 @@ import { createElement } from 'lwc'; -import { extractDataIds, lightDomSlotForwardingEnabled, vFragBookEndEnabled } from 'test-utils'; +import { + extractDataIds, + USE_LIGHT_DOM_SLOT_FORWARDING, + USE_COMMENTS_FOR_FRAGMENT_BOOKENDS, +} from 'test-utils'; import LightContainer from './x/lightContainer/lightContainer'; @@ -39,7 +43,7 @@ const slotAssignmentWithoutForwarding = { }, }; -const expectedSlotAssignment = lightDomSlotForwardingEnabled +const expectedSlotAssignment = USE_LIGHT_DOM_SLOT_FORWARDING ? slotAssignmentWithForwarding : slotAssignmentWithoutForwarding; @@ -84,14 +88,14 @@ describe('slot forwarding', () => { expect(remappedDefaultSlotContent[0].innerText).toEqual(expectedDefaultSlot.innerText); // These are to cover API versions 60, 59 and below - const defaultSlotTextIndex = lightDomSlotForwardingEnabled + const defaultSlotTextIndex = USE_LIGHT_DOM_SLOT_FORWARDING ? 12 - : vFragBookEndEnabled + : USE_COMMENTS_FOR_FRAGMENT_BOOKENDS ? 11 : 4; - const defaultSlotCommentIndex = lightDomSlotForwardingEnabled + const defaultSlotCommentIndex = USE_LIGHT_DOM_SLOT_FORWARDING ? 13 - : vFragBookEndEnabled + : USE_COMMENTS_FOR_FRAGMENT_BOOKENDS ? 12 : 5; @@ -128,7 +132,7 @@ describe('slot forwarding', () => { expect(defaultSlotContent[1]).toEqual(commentNode); } - if (lightDomSlotForwardingEnabled) { + if (USE_LIGHT_DOM_SLOT_FORWARDING) { // With slot forwarding const reassginedDefaultSlot = slots['default-slot-reassigned'].assignedNodes(); // Verify static vnode `slot` attribute is reassigned @@ -155,7 +159,7 @@ describe('slot forwarding', () => { // slot attribute to be remapped to the slot attribute on the light DOM slot. // Verify the slot attribute was correctly updated. // Api versions < 61 slot forwarding is not enabled, so the slot attribute is untouched - expect(upperSlot.hasAttribute('slot')).toBe(!lightDomSlotForwardingEnabled); + expect(upperSlot.hasAttribute('slot')).toBe(!USE_LIGHT_DOM_SLOT_FORWARDING); const upperSlotContent = upperSlot.assignedNodes(); // Note that because the shadow slot is passed, the slot element is what's updated. @@ -166,7 +170,7 @@ describe('slot forwarding', () => { expect(upperSlotContent[1].innerText).toEqual(expectedUpperSlot.content); const lowerSlot = slots['lower-slot']; - expect(lowerSlot.hasAttribute('slot')).toBe(!lightDomSlotForwardingEnabled); + expect(lowerSlot.hasAttribute('slot')).toBe(!USE_LIGHT_DOM_SLOT_FORWARDING); const lowerSlotContent = lowerSlot.assignedNodes(); expect(lowerSlotContent[0].getAttribute('slot')).toBe('upper'); @@ -175,7 +179,7 @@ describe('slot forwarding', () => { expect(lowerSlotContent[1].innerText).toEqual(expectedLowerSlot.content); const defaultSlot = slots['default-slot']; - expect(defaultSlot.hasAttribute('slot')).toBe(!lightDomSlotForwardingEnabled); + expect(defaultSlot.hasAttribute('slot')).toBe(!USE_LIGHT_DOM_SLOT_FORWARDING); // Note since the content forwarded to the default shadow slot are wrapped in an actual slot element, // all content inside of it is forwarded together. diff --git a/packages/@lwc/integration-karma/test/light-dom/slot-fowarding/slots/reactivity/index.spec.js b/packages/@lwc/integration-karma/test/light-dom/slot-fowarding/slots/reactivity/index.spec.js index a1735fa91b..329749dee6 100644 --- a/packages/@lwc/integration-karma/test/light-dom/slot-fowarding/slots/reactivity/index.spec.js +++ b/packages/@lwc/integration-karma/test/light-dom/slot-fowarding/slots/reactivity/index.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { extractDataIds, lightDomSlotForwardingEnabled } from 'test-utils'; +import { extractDataIds, USE_LIGHT_DOM_SLOT_FORWARDING } from 'test-utils'; import LightContainer from './x/lightContainer/lightContainer'; @@ -42,7 +42,7 @@ describe('light DOM slot forwarding reactivity', () => { }, { slotAssignment: - shadowMode.includes('shadow') || lightDomSlotForwardingEnabled ? '' : null, + shadowMode.includes('shadow') || USE_LIGHT_DOM_SLOT_FORWARDING ? '' : null, slotContent: 'Default slot content', }, ]; @@ -58,7 +58,7 @@ describe('light DOM slot forwarding reactivity', () => { }, { slotAssignment: - shadowMode.includes('shadow') || lightDomSlotForwardingEnabled ? '' : null, + shadowMode.includes('shadow') || USE_LIGHT_DOM_SLOT_FORWARDING ? '' : null, slotContent: 'Default slot content', }, ]; @@ -82,21 +82,21 @@ describe('light DOM slot forwarding reactivity', () => { { slotAssignment: 'lower', slotContent: - shadowMode.includes('shadow') && !lightDomSlotForwardingEnabled + shadowMode.includes('shadow') && !USE_LIGHT_DOM_SLOT_FORWARDING ? 'Lower slot content' : 'Upper slot content', }, { slotAssignment: '', slotContent: - shadowMode.includes('shadow') && !lightDomSlotForwardingEnabled + shadowMode.includes('shadow') && !USE_LIGHT_DOM_SLOT_FORWARDING ? 'Upper slot content' : 'Default slot content', }, { slotAssignment: 'upper', slotContent: - shadowMode.includes('shadow') && !lightDomSlotForwardingEnabled + shadowMode.includes('shadow') && !USE_LIGHT_DOM_SLOT_FORWARDING ? 'Default slot content' : 'Lower slot content', }, @@ -126,13 +126,13 @@ describe('light DOM slot forwarding reactivity', () => { testName: 'lightLight', expectedDefaultSlotContent: expectedDefaultSlotContent('light'), expectedSlotContentAfterParentMutation: expectedSlotContentAfterParentMutation('light'), - expectedSlotContentAfterForwardedSlotMutation: lightDomSlotForwardingEnabled + expectedSlotContentAfterForwardedSlotMutation: USE_LIGHT_DOM_SLOT_FORWARDING ? expectedSlotContentAfterForwardedSlotMutation : expectedSlotContentAfterParentMutation('light'), - expectedSlotContentAfterLeafMutation: lightDomSlotForwardingEnabled + expectedSlotContentAfterLeafMutation: USE_LIGHT_DOM_SLOT_FORWARDING ? expectedSlotContentAfterLeafMutation('light') : expectedSlotContentAfterParentMutation('light'), - expectedSlotContentAfterConditionalMutation: lightDomSlotForwardingEnabled + expectedSlotContentAfterConditionalMutation: USE_LIGHT_DOM_SLOT_FORWARDING ? expectedSlotContentAfterConditionalMutation : [ { @@ -158,11 +158,11 @@ describe('light DOM slot forwarding reactivity', () => { expectedDefaultSlotContent: expectedDefaultSlotContent('shadow'), expectedSlotContentAfterParentMutation: expectedSlotContentAfterParentMutation('shadow'), - expectedSlotContentAfterForwardedSlotMutation: lightDomSlotForwardingEnabled + expectedSlotContentAfterForwardedSlotMutation: USE_LIGHT_DOM_SLOT_FORWARDING ? expectedSlotContentAfterForwardedSlotMutation : expectedSlotContentAfterParentMutation('shadow'), expectedSlotContentAfterLeafMutation: expectedSlotContentAfterLeafMutation('shadow'), - expectedSlotContentAfterConditionalMutation: lightDomSlotForwardingEnabled + expectedSlotContentAfterConditionalMutation: USE_LIGHT_DOM_SLOT_FORWARDING ? expectedSlotContentAfterConditionalMutation : [ { @@ -193,10 +193,10 @@ describe('light DOM slot forwarding reactivity', () => { expectedSlotContentAfterParentMutation: expectedSlotContentAfterParentMutation('shadow'), expectedSlotContentAfterForwardedSlotMutation, - expectedSlotContentAfterLeafMutation: lightDomSlotForwardingEnabled + expectedSlotContentAfterLeafMutation: USE_LIGHT_DOM_SLOT_FORWARDING ? expectedSlotContentAfterLeafMutation('shadow') : expectedSlotContentAfterForwardedSlotMutation, - expectedSlotContentAfterConditionalMutation: lightDomSlotForwardingEnabled + expectedSlotContentAfterConditionalMutation: USE_LIGHT_DOM_SLOT_FORWARDING ? expectedSlotContentAfterConditionalMutation : [ { diff --git a/packages/@lwc/integration-karma/test/light-dom/slotting/index.spec.js b/packages/@lwc/integration-karma/test/light-dom/slotting/index.spec.js index 9b5db353ed..87d9ffceaa 100644 --- a/packages/@lwc/integration-karma/test/light-dom/slotting/index.spec.js +++ b/packages/@lwc/integration-karma/test/light-dom/slotting/index.spec.js @@ -1,7 +1,11 @@ import { createElement, setFeatureFlagForTest } from 'lwc'; import { extractDataIds } from 'test-utils'; -import { vFragBookEndEnabled, lightDomSlotForwardingEnabled } from 'test-utils'; +import { + USE_COMMENTS_FOR_FRAGMENT_BOOKENDS, + USE_LIGHT_DOM_SLOT_FORWARDING, + USE_FRAGMENTS_FOR_LIGHT_DOM_SLOTS, +} from 'test-utils'; import BasicSlot from 'x/basicSlot'; import DynamicChildren from 'x/dynamicChildren'; @@ -11,7 +15,7 @@ import ConditionalSlot from 'x/conditionalSlot'; import ConditionalSlotted from 'x/conditionalSlotted'; import ForwardedSlotConsumer from 'x/forwardedSlotConsumer'; -const vFragBookend = vFragBookEndEnabled ? '' : ''; +const vFragBookend = USE_COMMENTS_FOR_FRAGMENT_BOOKENDS ? '' : ''; function createTestElement(tag, component) { const elm = createElement(tag, { is: component }); @@ -97,7 +101,7 @@ describe('Slotting', () => { const nodes = createTestElement('x-forwarded-slot-consumer', ForwardedSlotConsumer); const elm = nodes['x-forwarded-slot-consumer']; expect(elm.innerHTML).toEqual( - lightDomSlotForwardingEnabled + USE_LIGHT_DOM_SLOT_FORWARDING ? `${vFragBookend}

Upper slot content forwarded

${vFragBookend}${vFragBookend}

Default slot forwarded

${vFragBookend}${vFragBookend}

Lower slot content forwarded

${vFragBookend}
` : `${vFragBookend}

Upper slot content forwarded

${vFragBookend}${vFragBookend}

Default slot forwarded

${vFragBookend}${vFragBookend}

Lower slot content forwarded

${vFragBookend}
` ); @@ -121,10 +125,10 @@ describe('Slotting', () => { const commentNodes = [...container.childNodes].filter( (_) => _.nodeType === Node.COMMENT_NODE ); - if (process.env.API_VERSION <= 59) { - expect(commentNodes.length).toBe(0); // old implementation does not use fragments, just flattening - } else { + if (USE_FRAGMENTS_FOR_LIGHT_DOM_SLOTS) { expect(commentNodes.length).toBe(6); // 3 slots, so 3*2=6 comment nodes + } else { + expect(commentNodes.length).toBe(0); // old implementation does not use fragments, just flattening } }); diff --git a/packages/@lwc/integration-karma/test/light-dom/synthetic-shadow-styles/index.spec.js b/packages/@lwc/integration-karma/test/light-dom/synthetic-shadow-styles/index.spec.js index 4887b3a263..8a62bced58 100644 --- a/packages/@lwc/integration-karma/test/light-dom/synthetic-shadow-styles/index.spec.js +++ b/packages/@lwc/integration-karma/test/light-dom/synthetic-shadow-styles/index.spec.js @@ -1,4 +1,5 @@ import { createElement } from 'lwc'; +import { LOWERCASE_SCOPE_TOKENS } from 'test-utils'; import Container from 'x/container'; // This test only matters for synthetic shadow @@ -11,7 +12,7 @@ if (!process.env.NATIVE_SHADOW) { // shadow grandparent expect(elm.shadowRoot.querySelector('h1').outerHTML).toContain( - process.env.API_VERSION <= 58 ? 'x-container_container' : 'lwc-7c9hba002d8' + LOWERCASE_SCOPE_TOKENS ? 'lwc-7c9hba002d8' : 'x-container_container' ); expect(getComputedStyle(elm.shadowRoot.querySelector('h1')).color).toEqual( 'rgb(0, 128, 0)' @@ -27,7 +28,7 @@ if (!process.env.NATIVE_SHADOW) { // shadow grandchild const grandchild = child.querySelector('x-grandchild'); expect(grandchild.shadowRoot.querySelector('h1').outerHTML).toContain( - process.env.API_VERSION <= 58 ? 'x-grandchild_grandchild' : 'lwc-42b236sbaik' + LOWERCASE_SCOPE_TOKENS ? 'lwc-42b236sbaik' : 'x-grandchild_grandchild' ); expect( getComputedStyle(grandchild.shadowRoot.querySelector('h1')).outlineColor diff --git a/packages/@lwc/integration-karma/test/misc/lifecycle-remove-disconnected/lifecycle-remove-disconnected.spec.js b/packages/@lwc/integration-karma/test/misc/lifecycle-remove-disconnected/lifecycle-remove-disconnected.spec.js index 16c2f1b9a2..e14e82dfd1 100644 --- a/packages/@lwc/integration-karma/test/misc/lifecycle-remove-disconnected/lifecycle-remove-disconnected.spec.js +++ b/packages/@lwc/integration-karma/test/misc/lifecycle-remove-disconnected/lifecycle-remove-disconnected.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { nativeCustomElementLifecycleEnabled } from 'test-utils'; +import { ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE } from 'test-utils'; import Parent from 'x/parent'; describe('vdom removes component while it is already disconnected', () => { @@ -10,7 +10,7 @@ describe('vdom removes component while it is already disconnected', () => { }); afterEach(() => { - if (nativeCustomElementLifecycleEnabled || process.env.NODE_ENV === 'production') { + if (ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE || process.env.NODE_ENV === 'production') { expect(spy).not.toHaveBeenCalled(); } else { // expected since the engine calls appendChild to a disconnected DOM node diff --git a/packages/@lwc/integration-karma/test/misc/object-rest-spread/index.spec.js b/packages/@lwc/integration-karma/test/misc/object-rest-spread/index.spec.js index 2fd770966b..f85aac7ea8 100644 --- a/packages/@lwc/integration-karma/test/misc/object-rest-spread/index.spec.js +++ b/packages/@lwc/integration-karma/test/misc/object-rest-spread/index.spec.js @@ -1,3 +1,5 @@ +import { DISABLE_OBJECT_REST_SPREAD_TRANSFORMATION } from 'test-utils'; + // It's useful to have Karma tests for this, so that we confirm legacy browsers still work describe('object rest spread transformation', () => { it('applies the correct transformation based on API version', () => { @@ -10,12 +12,12 @@ describe('object rest spread transformation', () => { expect(test()).toEqual({ foo: 'foo', bar: 'bar' }); - if (process.env.API_VERSION <= 59) { - // babel polyfill format - expect(test.toString()).not.toContain('...'); - } else { + if (DISABLE_OBJECT_REST_SPREAD_TRANSFORMATION) { // native format expect(test.toString()).toContain('...'); + } else { + // babel polyfill format + expect(test.toString()).not.toContain('...'); } }); }); diff --git a/packages/@lwc/integration-karma/test/misc/performance-timing/index.spec.js b/packages/@lwc/integration-karma/test/misc/performance-timing/index.spec.js index 1781e374e6..cccf8aaaef 100644 --- a/packages/@lwc/integration-karma/test/misc/performance-timing/index.spec.js +++ b/packages/@lwc/integration-karma/test/misc/performance-timing/index.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { nativeCustomElementLifecycleEnabled } from 'test-utils'; +import { ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE } from 'test-utils'; import Child from 'x/child'; import Parent from 'x/parent'; @@ -164,7 +164,7 @@ if (isUserTimingSupported && process.env.NODE_ENV !== 'production') { // Timing is slightly different with native custom element lifecycle callbacks testNestedTree( - nativeCustomElementLifecycleEnabled + ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ? [ { label: ' - constructor', children: [] }, { diff --git a/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/index.spec.js b/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/index.spec.js deleted file mode 100644 index 9988c590f0..0000000000 --- a/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/index.spec.js +++ /dev/null @@ -1,29 +0,0 @@ -import { createElement } from 'lwc'; -import SyntheticParent from 'x/syntheticParent'; - -function test(name, selector) { - it(name, () => { - const elm = createElement('x-synthetic-parent', { is: SyntheticParent }); - document.body.appendChild(elm); - return Promise.resolve().then(() => { - let target; - elm.addEventListener('click', (event) => { - target = event.target; - }); - elm.shadowRoot.querySelector(selector).click(); - - expect(target).toBe(elm); - }); - }); -} - -describe('should resolve to the outermost host element', () => { - describe('when event dispatched on an element slotted into a native shadow root', () => { - test('lwc component native shadow', '.lwc-slotted-button'); - test('native web component', '.native-wc-slotted-button'); - }); - describe('when event dispatched on an element inside a native shadow root', () => { - test('lwc component native shadow', 'x-native-child'); - test('native web component', 'mixed-shadow-mode-retargeting'); - }); -}); diff --git a/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/nativeChild/nativeChild.html b/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/nativeChild/nativeChild.html deleted file mode 100644 index 558eb9ba83..0000000000 --- a/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/nativeChild/nativeChild.html +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/nativeChild/nativeChild.js b/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/nativeChild/nativeChild.js deleted file mode 100644 index 338780fae4..0000000000 --- a/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/nativeChild/nativeChild.js +++ /dev/null @@ -1,9 +0,0 @@ -import { LightningElement, api } from 'lwc'; - -export default class extends LightningElement { - static shadowSupportMode = 'native'; - - @api click() { - this.refs.button.click(); - } -} diff --git a/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/syntheticParent/syntheticParent.html b/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/syntheticParent/syntheticParent.html deleted file mode 100644 index 036749c86f..0000000000 --- a/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/syntheticParent/syntheticParent.html +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/syntheticParent/syntheticParent.js b/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/syntheticParent/syntheticParent.js deleted file mode 100644 index daed907696..0000000000 --- a/packages/@lwc/integration-karma/test/mixed-shadow-mode/retargeting/x/syntheticParent/syntheticParent.js +++ /dev/null @@ -1,19 +0,0 @@ -import { LightningElement } from 'lwc'; - -if (!customElements.get('mixed-shadow-mode-retargeting')) { - customElements.define( - 'mixed-shadow-mode-retargeting', - class extends HTMLElement { - constructor() { - super(); - this._shadowRoot = this.attachShadow({ mode: 'closed' }); - this._shadowRoot.innerHTML = ``; - } - click() { - this._shadowRoot.querySelector('button').click(); - } - } - ); -} - -export default class extends LightningElement {} diff --git a/packages/@lwc/integration-karma/test/native-shadow/Event-methods/Event.composedPath.spec.js b/packages/@lwc/integration-karma/test/native-shadow/Event-methods/Event.composedPath.spec.js index 8ed8730072..5c89aa293b 100644 --- a/packages/@lwc/integration-karma/test/native-shadow/Event-methods/Event.composedPath.spec.js +++ b/packages/@lwc/integration-karma/test/native-shadow/Event-methods/Event.composedPath.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { nativeCustomElementLifecycleEnabled } from 'test-utils'; +import { ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE } from 'test-utils'; import Synthetic from 'x/synthetic'; describe('[W-9846457] event access when using native shadow dom', () => { @@ -141,7 +141,7 @@ describe('[W-9846457] event access when using native shadow dom', () => { native.attachShadow({ mode: 'open' }); const doAppend = () => native.shadowRoot.appendChild(synthetic); - if (nativeCustomElementLifecycleEnabled) { + if (ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) { doAppend(); } else { // Expected warning, since we are working with disconnected nodes diff --git a/packages/@lwc/integration-karma/test/rendering/callback-invocation-order/index.spec.js b/packages/@lwc/integration-karma/test/rendering/callback-invocation-order/index.spec.js index bf3ab05bd1..5e8e9b70de 100644 --- a/packages/@lwc/integration-karma/test/rendering/callback-invocation-order/index.spec.js +++ b/packages/@lwc/integration-karma/test/rendering/callback-invocation-order/index.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { nativeCustomElementLifecycleEnabled } from 'test-utils'; +import { ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE } from 'test-utils'; import ShadowParent from 'x/shadowParent'; import ShadowLightParent from 'x/shadowLightParent'; @@ -23,7 +23,7 @@ const fixtures = [ tagName: 'x-shadow-parent', ctor: ShadowParent, connect: process.env.NATIVE_SHADOW - ? nativeCustomElementLifecycleEnabled + ? ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ? [ 'shadowParent:connectedCallback', 'leaf:before-container:connectedCallback', @@ -119,7 +119,7 @@ const fixtures = [ tagName: 'x-light-shadow-parent', ctor: LightShadowParent, connect: process.env.NATIVE_SHADOW - ? nativeCustomElementLifecycleEnabled + ? ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ? [ 'lightShadowContainer:connectedCallback', 'shadowContainer:connectedCallback', @@ -171,7 +171,7 @@ it('should invoke callbacks on the right order (issue #1199 and #1198)', () => { document.body.appendChild(elm); expect(window.timingBuffer).toEqual( process.env.NATIVE_SHADOW - ? nativeCustomElementLifecycleEnabled + ? ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ? [ 'shadowContainer:connectedCallback', 'leaf:before-slot:connectedCallback', @@ -206,7 +206,7 @@ it('should invoke callbacks on the right order (issue #1199 and #1198)', () => { elm.hide = true; return Promise.resolve().then(() => { expect(window.timingBuffer).toEqual( - nativeCustomElementLifecycleEnabled + ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ? [ 'shadowContainer:disconnectedCallback', 'leaf:after-slot:disconnectedCallback', @@ -252,7 +252,7 @@ it('should invoke callbacks on the right order when multiple templates are used // disconnect x-shadow-parent + // connect x-shadow-container with 2 parents, 'a' and 'b' expect(window.timingBuffer).toEqual( - nativeCustomElementLifecycleEnabled + ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ? [ 'leaf:T1-1:disconnectedCallback', 'leaf:T1-2:disconnectedCallback', @@ -329,7 +329,7 @@ describe('regression test (#3827)', () => { ifBlock: (currentLeafName, previousLeafName) => process.env.NATIVE_SHADOW ? [] - : nativeCustomElementLifecycleEnabled + : ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ? [ `leaf:${currentLeafName}:connectedCallback`, `leaf:${previousLeafName}:disconnectedCallback`, @@ -338,7 +338,7 @@ describe('regression test (#3827)', () => { elseIfBlock: (currentLeafName, previousLeafName) => process.env.NATIVE_SHADOW ? [] - : nativeCustomElementLifecycleEnabled + : ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ? [ `leaf:${currentLeafName}:connectedCallback`, `leaf:${previousLeafName}:disconnectedCallback`, @@ -355,7 +355,7 @@ describe('regression test (#3827)', () => { `leaf:${currentLeafName}:connectedCallback`, ], ifBlock: (currentLeafName, previousLeafName) => - nativeCustomElementLifecycleEnabled + ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE ? [ `leaf:${currentLeafName}:connectedCallback`, `leaf:${previousLeafName}:disconnectedCallback`, diff --git a/packages/@lwc/integration-karma/test/rendering/dynamic-slots/index.spec.js b/packages/@lwc/integration-karma/test/rendering/dynamic-slots/index.spec.js index 668da479b5..22f040383f 100644 --- a/packages/@lwc/integration-karma/test/rendering/dynamic-slots/index.spec.js +++ b/packages/@lwc/integration-karma/test/rendering/dynamic-slots/index.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { nativeCustomElementLifecycleEnabled } from 'test-utils'; +import { ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE } from 'test-utils'; import Parent from 'x/parent'; import LightParent from 'x/lightParent'; import Symbol from 'x/symbol'; @@ -73,7 +73,7 @@ describe('dynamic slotting', () => { document.body.appendChild(elm); expect(elm.shadowRoot.textContent).toEqual('BigInt'); }); - if (!nativeCustomElementLifecycleEnabled) { + if (!ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) { // it actually throws in this scenario as well, but in a different callstack, so we can't assert it('should throw on symbol', () => { expect(() => { @@ -82,7 +82,7 @@ describe('dynamic slotting', () => { }).toThrowError(/convert.*symbol.*string.*/i); // cannot convert symbol to string (and variations of this message across browsers) }); } - if (!nativeCustomElementLifecycleEnabled) { + if (!ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) { it('should throw on empty object', () => { expect(() => { const elm = createElement('x-emptyobject', { is: EmptyObject }); diff --git a/packages/@lwc/integration-karma/test/rendering/legacy-scope-tokens/index.spec.js b/packages/@lwc/integration-karma/test/rendering/legacy-scope-tokens/index.spec.js index 56478d91de..18faad5a97 100644 --- a/packages/@lwc/integration-karma/test/rendering/legacy-scope-tokens/index.spec.js +++ b/packages/@lwc/integration-karma/test/rendering/legacy-scope-tokens/index.spec.js @@ -1,4 +1,5 @@ import { createElement, setFeatureFlagForTest } from 'lwc'; +import { LOWERCASE_SCOPE_TOKENS } from 'test-utils'; import Light from 'x/light'; import Shadow from 'x/shadow'; @@ -36,7 +37,7 @@ describe('legacy scope tokens', () => { return [ ...new Set( [ - process.env.API_VERSION <= 58 ? legacy : modern, + LOWERCASE_SCOPE_TOKENS ? modern : legacy, enableLegacyScopeTokens && legacy, ].filter(Boolean) ), diff --git a/packages/@lwc/integration-karma/test/shadow-dom/Node-properties/Node.getRootNode.spec.js b/packages/@lwc/integration-karma/test/shadow-dom/Node-properties/Node.getRootNode.spec.js index 7d57b697eb..85dd1c415d 100644 --- a/packages/@lwc/integration-karma/test/shadow-dom/Node-properties/Node.getRootNode.spec.js +++ b/packages/@lwc/integration-karma/test/shadow-dom/Node-properties/Node.getRootNode.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { nativeCustomElementLifecycleEnabled } from 'test-utils'; +import { ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE } from 'test-utils'; import Slotted from 'x/slotted'; import Container from 'x/container'; import ManualNodes from 'x/manualNodes'; @@ -39,7 +39,7 @@ describe('Node.getRootNode', () => { const frag = document.createDocumentFragment(); const doAppend = () => frag.appendChild(elm); - if (nativeCustomElementLifecycleEnabled) { + if (ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) { doAppend(); } else { // Expected warning, since we are working with disconnected nodes diff --git a/packages/@lwc/integration-karma/test/shadow-dom/Node-properties/Node.isConnected.spec.js b/packages/@lwc/integration-karma/test/shadow-dom/Node-properties/Node.isConnected.spec.js index a32a08cf12..ceaae2bd4a 100644 --- a/packages/@lwc/integration-karma/test/shadow-dom/Node-properties/Node.isConnected.spec.js +++ b/packages/@lwc/integration-karma/test/shadow-dom/Node-properties/Node.isConnected.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { nativeCustomElementLifecycleEnabled } from 'test-utils'; +import { ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE } from 'test-utils'; import Test from 'x/test'; @@ -14,7 +14,7 @@ describe('Node.isConnected', () => { const frag = document.createDocumentFragment(); const doAppend = () => frag.appendChild(elm); - if (nativeCustomElementLifecycleEnabled) { + if (ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) { doAppend(); } else { // Expected warning, since we are working with disconnected nodes diff --git a/packages/@lwc/integration-karma/test/shadow-dom/event-in-shadow-tree/propagation.spec.js b/packages/@lwc/integration-karma/test/shadow-dom/event-in-shadow-tree/propagation.spec.js index 1f6b391d06..c982c1ca7d 100644 --- a/packages/@lwc/integration-karma/test/shadow-dom/event-in-shadow-tree/propagation.spec.js +++ b/packages/@lwc/integration-karma/test/shadow-dom/event-in-shadow-tree/propagation.spec.js @@ -2,7 +2,7 @@ // https://github.com/web-platform-tests/wpt/blob/master/shadow-dom/event-inside-shadow-tree.html import { createElement } from 'lwc'; -import { extractDataIds, nativeCustomElementLifecycleEnabled } from 'test-utils'; +import { extractDataIds, ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE } from 'test-utils'; import Container from 'x/container'; @@ -35,7 +35,7 @@ function createDisconnectedTestElement() { const doAppend = () => fragment.appendChild(elm); - if (nativeCustomElementLifecycleEnabled) { + if (ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) { doAppend(); } else { // Expected warning, since we are working with disconnected nodes @@ -534,7 +534,7 @@ describe('event propagation', () => { // This test does not work with native custom element lifecycle because disconnected // fragments cannot fire connectedCallback/disconnectedCallback events - if (!nativeCustomElementLifecycleEnabled) { + if (!ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE) { describe('dispatched within a disconnected tree', () => { it('{bubbles: true, composed: true}', () => { const nodes = createDisconnectedTestElement(); diff --git a/packages/@lwc/integration-karma/test/static-content/index.spec.js b/packages/@lwc/integration-karma/test/static-content/index.spec.js index 0f89cae1d1..043b1d010d 100644 --- a/packages/@lwc/integration-karma/test/static-content/index.spec.js +++ b/packages/@lwc/integration-karma/test/static-content/index.spec.js @@ -1,5 +1,5 @@ import { createElement } from 'lwc'; -import { extractDataIds } from 'test-utils'; +import { extractDataIds, LOWERCASE_SCOPE_TOKENS } from 'test-utils'; import Container from 'x/container'; import Escape from 'x/escape'; import MultipleStyles from 'x/multipleStyles'; @@ -33,8 +33,7 @@ if (!process.env.NATIVE_SHADOW) { .shadowRoot.querySelector('x-component') .shadowRoot.querySelector('div'); - const token = - process.env.API_VERSION <= 58 ? 'x-component_component' : 'lwc-6a8uqob2ku4'; + const token = LOWERCASE_SCOPE_TOKENS ? 'lwc-6a8uqob2ku4' : 'x-component_component'; expect(syntheticMode.hasAttribute(token)).toBe(true); expect(nativeMode.hasAttribute(token)).toBe(false); }); @@ -77,7 +76,7 @@ describe('static content when stylesheets change', () => { const classList = Array.from(elm.shadowRoot.querySelector('div').classList).sort(); expect(classList).toEqual([ 'foo', - process.env.API_VERSION <= 58 ? 'x-multipleStyles_b' : 'lwc-6fpm08fjoch', + LOWERCASE_SCOPE_TOKENS ? 'lwc-6fpm08fjoch' : 'x-multipleStyles_b', ]); expect(() => { diff --git a/packages/@lwc/integration-tests/package.json b/packages/@lwc/integration-tests/package.json index 909e24daf8..8c32a64573 100644 --- a/packages/@lwc/integration-tests/package.json +++ b/packages/@lwc/integration-tests/package.json @@ -1,7 +1,7 @@ { "name": "@lwc/integration-tests", "private": true, - "version": "6.3.1", + "version": "6.3.2", "scripts": { "build": "node scripts/build.js", "build:dev": "MODE=dev yarn build", @@ -16,17 +16,17 @@ "sauce:prod:ci": "MODE=prod yarn build:prod && MODE=prod ../../../scripts/ci/retry.sh wdio ./scripts/wdio.sauce.conf.js" }, "devDependencies": { - "@lwc/rollup-plugin": "6.3.1", - "@wdio/cli": "^8.29.3", - "@wdio/local-runner": "^8.29.3", - "@wdio/mocha-framework": "^8.29.3", - "@wdio/sauce-service": "^8.29.3", - "@wdio/spec-reporter": "^8.29.3", - "@wdio/static-server-service": "^8.29.1", + "@lwc/rollup-plugin": "6.3.2", + "@wdio/cli": "^8.33.1", + "@wdio/local-runner": "^8.33.1", + "@wdio/mocha-framework": "^8.33.1", + "@wdio/sauce-service": "^8.33.1", + "@wdio/spec-reporter": "^8.32.4", + "@wdio/static-server-service": "^8.32.4", "deepmerge": "^4.3.0", "dotenv": "^16.4.5", - "lwc": "6.3.1", + "lwc": "6.3.2", "minimist": "^1.2.8", - "webdriverio": "^8.29.3" + "webdriverio": "^8.33.1" } } diff --git a/packages/@lwc/module-resolver/package.json b/packages/@lwc/module-resolver/package.json index bcee339dbf..1dd0754461 100644 --- a/packages/@lwc/module-resolver/package.json +++ b/packages/@lwc/module-resolver/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/module-resolver", - "version": "6.3.1", + "version": "6.3.2", "description": "Resolves paths for LWC components", "keywords": [ "lwc" diff --git a/packages/@lwc/perf-benchmarks-components/package.json b/packages/@lwc/perf-benchmarks-components/package.json index 32dc803556..e5e1b9f3cc 100644 --- a/packages/@lwc/perf-benchmarks-components/package.json +++ b/packages/@lwc/perf-benchmarks-components/package.json @@ -1,12 +1,12 @@ { "name": "@lwc/perf-benchmarks-components", - "version": "6.3.1", + "version": "6.3.2", "private": true, "scripts": { "build": "rm -fr dist && rollup -c ./rollup.config.mjs" }, "devDependencies": { - "@lwc/rollup-plugin": "6.3.1" + "@lwc/rollup-plugin": "6.3.2" }, "nx": { "targets": { diff --git a/packages/@lwc/perf-benchmarks/package.json b/packages/@lwc/perf-benchmarks/package.json index 033a8885e1..0a8fd52708 100644 --- a/packages/@lwc/perf-benchmarks/package.json +++ b/packages/@lwc/perf-benchmarks/package.json @@ -1,6 +1,6 @@ { "name": "@lwc/perf-benchmarks", - "version": "6.3.1", + "version": "6.3.2", "private": true, "scripts": { "build": "rm -fr dist && rollup -c ./rollup.config.mjs && node scripts/build.js && ./scripts/fix-deps.sh", @@ -17,10 +17,10 @@ "Also note that we use legacy versions of rollup-plugin-node-resolve and rollup-plugin-commonjs because Best uses an old version of Rollup." ], "dependencies": { - "@lwc/engine-dom": "6.3.1", - "@lwc/engine-server": "6.3.1", - "@lwc/perf-benchmarks-components": "6.3.1", - "@lwc/synthetic-shadow": "6.3.1" + "@lwc/engine-dom": "6.3.2", + "@lwc/engine-server": "6.3.2", + "@lwc/perf-benchmarks-components": "6.3.2", + "@lwc/synthetic-shadow": "6.3.2" }, "devDependencies": { "@best/cli": "^11.0.0", diff --git a/packages/@lwc/rollup-plugin/package.json b/packages/@lwc/rollup-plugin/package.json index 8c81c47d66..4a25f2852f 100644 --- a/packages/@lwc/rollup-plugin/package.json +++ b/packages/@lwc/rollup-plugin/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/rollup-plugin", - "version": "6.3.1", + "version": "6.3.2", "description": "Rollup plugin to compile LWC", "keywords": [ "lwc" @@ -42,12 +42,12 @@ } }, "dependencies": { - "@lwc/compiler": "6.3.1", - "@lwc/module-resolver": "6.3.1", + "@lwc/compiler": "6.3.2", + "@lwc/module-resolver": "6.3.2", "@rollup/pluginutils": "~5.1.0" }, "devDependencies": { - "@lwc/errors": "6.3.1" + "@lwc/errors": "6.3.2" }, "peerDependencies": { "rollup": "^1.2.0||^2.0.0||^3.0.0||^4.0.0" diff --git a/packages/@lwc/shared/package.json b/packages/@lwc/shared/package.json index 9a8211a03a..92a2b646bf 100644 --- a/packages/@lwc/shared/package.json +++ b/packages/@lwc/shared/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/shared", - "version": "6.3.1", + "version": "6.3.2", "description": "Utilities and methods that are shared across packages", "keywords": [ "lwc" diff --git a/packages/@lwc/shared/src/api-version.ts b/packages/@lwc/shared/src/api-version.ts index ae0ccc33a2..e377b3e49b 100644 --- a/packages/@lwc/shared/src/api-version.ts +++ b/packages/@lwc/shared/src/api-version.ts @@ -95,9 +95,10 @@ export const enum APIFeature { */ ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE, /** - * If enabled, allows usage of the `attachInternals` and `ElementInternals` API + * If enabled, allows usage of the `attachInternals` and `ElementInternals` APIs, as well as + * Form-Associated Custom Elements (FACE). */ - ENABLE_ELEMENT_INTERNALS, + ENABLE_ELEMENT_INTERNALS_AND_FACE, } /** @@ -113,14 +114,14 @@ export function isAPIFeatureEnabled( case APIFeature.LOWERCASE_SCOPE_TOKENS: case APIFeature.TREAT_ALL_PARSE5_ERRORS_AS_ERRORS: return apiVersion >= APIVersion.V59_246_WINTER_24; - case APIFeature.USE_FRAGMENTS_FOR_LIGHT_DOM_SLOTS: case APIFeature.DISABLE_OBJECT_REST_SPREAD_TRANSFORMATION: case APIFeature.SKIP_UNNECESSARY_REGISTER_DECORATORS: case APIFeature.USE_COMMENTS_FOR_FRAGMENT_BOOKENDS: + case APIFeature.USE_FRAGMENTS_FOR_LIGHT_DOM_SLOTS: return apiVersion >= APIVersion.V60_248_SPRING_24; - case APIFeature.USE_LIGHT_DOM_SLOT_FORWARDING: + case APIFeature.ENABLE_ELEMENT_INTERNALS_AND_FACE: case APIFeature.ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE: - case APIFeature.ENABLE_ELEMENT_INTERNALS: + case APIFeature.USE_LIGHT_DOM_SLOT_FORWARDING: return apiVersion >= APIVersion.V61_250_SUMMER_24; } } diff --git a/packages/@lwc/signals/package.json b/packages/@lwc/signals/package.json index ca331f2687..460e83c5ea 100644 --- a/packages/@lwc/signals/package.json +++ b/packages/@lwc/signals/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/signals", - "version": "6.3.1", + "version": "6.3.2", "description": "Provides the interface to interact with reactivity from outside the framework", "keywords": [ "lwc" diff --git a/packages/@lwc/style-compiler/package.json b/packages/@lwc/style-compiler/package.json index cba9e3cf52..55219c8b4a 100644 --- a/packages/@lwc/style-compiler/package.json +++ b/packages/@lwc/style-compiler/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/style-compiler", - "version": "6.3.1", + "version": "6.3.2", "description": "Transform style sheet to be consumed by the LWC engine", "keywords": [ "lwc" @@ -42,7 +42,7 @@ } }, "dependencies": { - "@lwc/shared": "6.3.1", + "@lwc/shared": "6.3.2", "postcss": "~8.4.35", "postcss-selector-parser": "~6.0.15", "postcss-value-parser": "~4.2.0" diff --git a/packages/@lwc/synthetic-shadow/package.json b/packages/@lwc/synthetic-shadow/package.json index deb6187f01..21d67cd370 100644 --- a/packages/@lwc/synthetic-shadow/package.json +++ b/packages/@lwc/synthetic-shadow/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/synthetic-shadow", - "version": "6.3.1", + "version": "6.3.2", "description": "Synthetic Shadow Root for LWC", "keywords": [ "lwc" @@ -42,8 +42,8 @@ } }, "devDependencies": { - "@lwc/features": "6.3.1", - "@lwc/shared": "6.3.1" + "@lwc/features": "6.3.2", + "@lwc/shared": "6.3.2" }, "lwc": { "modules": [ diff --git a/packages/@lwc/synthetic-shadow/src/3rdparty/polymer/retarget.ts b/packages/@lwc/synthetic-shadow/src/3rdparty/polymer/retarget.ts index 5265772672..2d19bc079e 100644 --- a/packages/@lwc/synthetic-shadow/src/3rdparty/polymer/retarget.ts +++ b/packages/@lwc/synthetic-shadow/src/3rdparty/polymer/retarget.ts @@ -6,6 +6,7 @@ */ import { isNull, isUndefined } from '@lwc/shared'; import { pathComposer } from './path-composer'; +import { isSyntheticShadowRoot } from './../../faux-shadow/shadow-root'; /** @license @@ -31,7 +32,7 @@ export function retarget(refNode: EventTarget | null, path: EventTarget[]): Even rootIdx = refNodePath.indexOf(root); lastRoot = root; } - if (!isUndefined(rootIdx) && rootIdx > -1) { + if (!isSyntheticShadowRoot(root) || (!isUndefined(rootIdx) && rootIdx > -1)) { return ancestor; } } diff --git a/packages/@lwc/template-compiler/package.json b/packages/@lwc/template-compiler/package.json index eba7ff1669..50a87a2ac7 100644 --- a/packages/@lwc/template-compiler/package.json +++ b/packages/@lwc/template-compiler/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/template-compiler", - "version": "6.3.1", + "version": "6.3.2", "description": "Template compiler package", "keywords": [ "lwc" @@ -42,15 +42,15 @@ } }, "dependencies": { - "@lwc/errors": "6.3.1", - "@lwc/shared": "6.3.1", + "@lwc/errors": "6.3.2", + "@lwc/shared": "6.3.2", "acorn": "8.10.0", "astring": "~1.8.6", "estree-walker": "~2.0.2", "he": "~1.2.0" }, "devDependencies": { - "@parse5/tools": "^0.3.0", + "@parse5/tools": "^0.4.0", "@types/estree": "1.0.5", "@types/he": "^1.2.3", "@types/source-map": "0.5.7", diff --git a/packages/@lwc/wire-service/package.json b/packages/@lwc/wire-service/package.json index 45e2e5948b..1db228e437 100644 --- a/packages/@lwc/wire-service/package.json +++ b/packages/@lwc/wire-service/package.json @@ -4,7 +4,7 @@ "You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten." ], "name": "@lwc/wire-service", - "version": "6.3.1", + "version": "6.3.2", "description": "@wire service", "keywords": [ "lwc" @@ -42,8 +42,8 @@ } }, "devDependencies": { - "@lwc/engine-core": "6.3.1", - "@lwc/shared": "6.3.1" + "@lwc/engine-core": "6.3.2", + "@lwc/shared": "6.3.2" }, "lwc": { "modules": [ diff --git a/packages/lwc/package.json b/packages/lwc/package.json index 5ee6500f43..a43feebe2b 100644 --- a/packages/lwc/package.json +++ b/packages/lwc/package.json @@ -1,6 +1,6 @@ { "name": "lwc", - "version": "6.3.1", + "version": "6.3.2", "description": "Lightning Web Components (LWC)", "homepage": "https://lwc.dev/", "repository": { @@ -20,21 +20,21 @@ "*.d.ts" ], "dependencies": { - "@lwc/aria-reflection": "6.3.1", - "@lwc/babel-plugin-component": "6.3.1", - "@lwc/compiler": "6.3.1", - "@lwc/engine-core": "6.3.1", - "@lwc/engine-dom": "6.3.1", - "@lwc/engine-server": "6.3.1", - "@lwc/errors": "6.3.1", - "@lwc/features": "6.3.1", - "@lwc/module-resolver": "6.3.1", - "@lwc/rollup-plugin": "6.3.1", - "@lwc/shared": "6.3.1", - "@lwc/style-compiler": "6.3.1", - "@lwc/synthetic-shadow": "6.3.1", - "@lwc/template-compiler": "6.3.1", - "@lwc/wire-service": "6.3.1" + "@lwc/aria-reflection": "6.3.2", + "@lwc/babel-plugin-component": "6.3.2", + "@lwc/compiler": "6.3.2", + "@lwc/engine-core": "6.3.2", + "@lwc/engine-dom": "6.3.2", + "@lwc/engine-server": "6.3.2", + "@lwc/errors": "6.3.2", + "@lwc/features": "6.3.2", + "@lwc/module-resolver": "6.3.2", + "@lwc/rollup-plugin": "6.3.2", + "@lwc/shared": "6.3.2", + "@lwc/style-compiler": "6.3.2", + "@lwc/synthetic-shadow": "6.3.2", + "@lwc/template-compiler": "6.3.2", + "@lwc/wire-service": "6.3.2" }, "lwc": { "modules": [ diff --git a/playground/package.json b/playground/package.json index c8e93304bb..8d7dae6264 100644 --- a/playground/package.json +++ b/playground/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@lwc/playground", - "version": "6.3.1", + "version": "6.3.2", "type": "module", "description": "Playground project to experiment with LWC.", "scripts": { @@ -9,10 +9,10 @@ "build": "NODE_ENV=production rollup -c" }, "devDependencies": { - "@lwc/rollup-plugin": "6.3.1", + "@lwc/rollup-plugin": "6.3.2", "@rollup/plugin-replace": "^5.0.5", - "lwc": "6.3.1", - "rollup": "^4.9.6", + "lwc": "6.3.2", + "rollup": "^4.12.1", "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-serve": "^3.0.0" }, diff --git a/yarn.lock b/yarn.lock index 784248c300..51b25800f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -62,21 +62,21 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/core@7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" - integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== +"@babel/core@7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.0.tgz#56cbda6b185ae9d9bed369816a8f4423c5f2ff1b" + integrity sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.23.5" "@babel/generator" "^7.23.6" "@babel/helper-compilation-targets" "^7.23.6" "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.9" - "@babel/parser" "^7.23.9" - "@babel/template" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@babel/types" "^7.23.9" + "@babel/helpers" "^7.24.0" + "@babel/parser" "^7.24.0" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.0" + "@babel/types" "^7.24.0" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -328,7 +328,7 @@ "@babel/traverse" "^7.23.2" "@babel/types" "^7.23.0" -"@babel/helpers@^7.23.6", "@babel/helpers@^7.23.9": +"@babel/helpers@^7.23.6": version "7.23.9" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== @@ -337,6 +337,15 @@ "@babel/traverse" "^7.23.9" "@babel/types" "^7.23.9" +"@babel/helpers@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.0.tgz#a3dd462b41769c95db8091e49cfe019389a9409b" + integrity sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.0" + "@babel/types" "^7.24.0" + "@babel/highlight@^7.22.13": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" @@ -365,6 +374,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== +"@babel/parser@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac" + integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== + "@babel/plugin-proposal-async-generator-functions@7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" @@ -535,6 +549,15 @@ "@babel/parser" "^7.23.9" "@babel/types" "^7.23.9" +"@babel/template@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + "@babel/traverse@^7.23.2", "@babel/traverse@^7.4.5": version "7.23.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" @@ -567,6 +590,22 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e" + integrity sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.4", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" @@ -594,6 +633,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" + integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -790,155 +838,152 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@commitlint/cli@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.6.1.tgz#78bffdfa00d6f01425d53096954993d83f2b343d" - integrity sha512-5IDE0a+lWGdkOvKH892HHAZgbAjcj1mT5QrfA/SVbLJV/BbBMGyKN0W5mhgjekPJJwEQdVNvhl9PwUacY58Usw== +"@commitlint/cli@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-19.0.3.tgz#a415069099864b75dc65bb22c703c11a3837f258" + integrity sha512-mGhh/aYPib4Vy4h+AGRloMY+CqkmtdeKPV9poMcZeImF5e3knQ5VYaSeAM0mEzps1dbKsHvABwaDpafLUuM96g== dependencies: - "@commitlint/format" "^18.6.1" - "@commitlint/lint" "^18.6.1" - "@commitlint/load" "^18.6.1" - "@commitlint/read" "^18.6.1" - "@commitlint/types" "^18.6.1" - execa "^5.0.0" - lodash.isfunction "^3.0.9" - resolve-from "5.0.0" - resolve-global "1.0.0" + "@commitlint/format" "^19.0.3" + "@commitlint/lint" "^19.0.3" + "@commitlint/load" "^19.0.3" + "@commitlint/read" "^19.0.3" + "@commitlint/types" "^19.0.3" + execa "^8.0.1" yargs "^17.0.0" -"@commitlint/config-validator@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-18.6.1.tgz#e0d71a99c984a68586c7ae7afd3f52342022fae8" - integrity sha512-05uiToBVfPhepcQWE1ZQBR/Io3+tb3gEotZjnI4tTzzPk16NffN6YABgwFQCLmzZefbDcmwWqJWc2XT47q7Znw== +"@commitlint/config-validator@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-19.0.3.tgz#052b181a30da6b4fc16dc5230f4589ac95e0bc81" + integrity sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q== dependencies: - "@commitlint/types" "^18.6.1" + "@commitlint/types" "^19.0.3" ajv "^8.11.0" -"@commitlint/ensure@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-18.6.1.tgz#17141e083200ca94d8480dc23b0e8f8b1fd37b7f" - integrity sha512-BPm6+SspyxQ7ZTsZwXc7TRQL5kh5YWt3euKmEIBZnocMFkJevqs3fbLRb8+8I/cfbVcAo4mxRlpTPfz8zX7SnQ== +"@commitlint/ensure@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-19.0.3.tgz#d172b1b72ca88cbd317ea1ee79f3a03dbaccc76e" + integrity sha512-SZEpa/VvBLoT+EFZVb91YWbmaZ/9rPH3ESrINOl0HD2kMYsjvl0tF7nMHh0EpTcv4+gTtZBAe1y/SS6/OhfZzQ== dependencies: - "@commitlint/types" "^18.6.1" + "@commitlint/types" "^19.0.3" lodash.camelcase "^4.3.0" lodash.kebabcase "^4.1.1" lodash.snakecase "^4.1.1" lodash.startcase "^4.4.0" lodash.upperfirst "^4.3.1" -"@commitlint/execute-rule@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-18.6.1.tgz#18175e043fe6fb5fceea7b8530316c644f93dfe6" - integrity sha512-7s37a+iWyJiGUeMFF6qBlyZciUkF8odSAnHijbD36YDctLhGKoYltdvuJ/AFfRm6cBLRtRk9cCVPdsEFtt/2rg== +"@commitlint/execute-rule@^19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-19.0.0.tgz#928fb239ae8deec82a6e3b05ec9cfe20afa83856" + integrity sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw== -"@commitlint/format@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-18.6.1.tgz#5f2b8b3ae4d8d80bd9239178e97df63e5b8d280a" - integrity sha512-K8mNcfU/JEFCharj2xVjxGSF+My+FbUHoqR+4GqPGrHNqXOGNio47ziiR4HQUPKtiNs05o8/WyLBoIpMVOP7wg== +"@commitlint/format@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-19.0.3.tgz#6e3dcdc028b39d370ba717b8bde0853705c467dc" + integrity sha512-QjjyGyoiVWzx1f5xOteKHNLFyhyweVifMgopozSgx1fGNrGV8+wp7k6n1t6StHdJ6maQJ+UUtO2TcEiBFRyR6Q== dependencies: - "@commitlint/types" "^18.6.1" - chalk "^4.1.0" + "@commitlint/types" "^19.0.3" + chalk "^5.3.0" -"@commitlint/is-ignored@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-18.6.1.tgz#4ee08ba91ff3defb06e0ef19259a9c6734a8d06e" - integrity sha512-MOfJjkEJj/wOaPBw5jFjTtfnx72RGwqYIROABudOtJKW7isVjFe9j0t8xhceA02QebtYf4P/zea4HIwnXg8rvA== - dependencies: - "@commitlint/types" "^18.6.1" - semver "7.6.0" - -"@commitlint/lint@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-18.6.1.tgz#fe3834636c99ee14534a8eb3832831ac362e9fd8" - integrity sha512-8WwIFo3jAuU+h1PkYe5SfnIOzp+TtBHpFr4S8oJWhu44IWKuVx6GOPux3+9H1iHOan/rGBaiacicZkMZuluhfQ== - dependencies: - "@commitlint/is-ignored" "^18.6.1" - "@commitlint/parse" "^18.6.1" - "@commitlint/rules" "^18.6.1" - "@commitlint/types" "^18.6.1" - -"@commitlint/load@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-18.6.1.tgz#fb79ed7ee8b5897a9b5c274c1e24eda9162df816" - integrity sha512-p26x8734tSXUHoAw0ERIiHyW4RaI4Bj99D8YgUlVV9SedLf8hlWAfyIFhHRIhfPngLlCe0QYOdRKYFt8gy56TA== - dependencies: - "@commitlint/config-validator" "^18.6.1" - "@commitlint/execute-rule" "^18.6.1" - "@commitlint/resolve-extends" "^18.6.1" - "@commitlint/types" "^18.6.1" - chalk "^4.1.0" +"@commitlint/is-ignored@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-19.0.3.tgz#a64e0e217044f2d916127369d21ea12324a834fe" + integrity sha512-MqDrxJaRSVSzCbPsV6iOKG/Lt52Y+PVwFVexqImmYYFhe51iVJjK2hRhOG2jUAGiUHk4jpdFr0cZPzcBkSzXDQ== + dependencies: + "@commitlint/types" "^19.0.3" + semver "^7.6.0" + +"@commitlint/lint@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-19.0.3.tgz#7db83188310c1a5fbdffebbb32a35aa1b0aacee3" + integrity sha512-uHPyRqIn57iIplYa5xBr6oNu5aPXKGC4WLeuHfqQHclwIqbJ33g3yA5fIA+/NYnp5ZM2EFiujqHFaVUYj6HlKA== + dependencies: + "@commitlint/is-ignored" "^19.0.3" + "@commitlint/parse" "^19.0.3" + "@commitlint/rules" "^19.0.3" + "@commitlint/types" "^19.0.3" + +"@commitlint/load@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-19.0.3.tgz#f05ce3830482e3908799f8e6eb202c8d9713efd8" + integrity sha512-18Tk/ZcDFRKIoKfEcl7kC+bYkEQ055iyKmGsYDoYWpKf6FUvBrP9bIWapuy/MB+kYiltmP9ITiUx6UXtqC9IRw== + dependencies: + "@commitlint/config-validator" "^19.0.3" + "@commitlint/execute-rule" "^19.0.0" + "@commitlint/resolve-extends" "^19.0.3" + "@commitlint/types" "^19.0.3" + chalk "^5.3.0" cosmiconfig "^8.3.6" cosmiconfig-typescript-loader "^5.0.0" lodash.isplainobject "^4.0.6" lodash.merge "^4.6.2" lodash.uniq "^4.5.0" - resolve-from "^5.0.0" -"@commitlint/message@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-18.6.1.tgz#107bd40923ad23d2de56c92a68b179ebfb7e314e" - integrity sha512-VKC10UTMLcpVjMIaHHsY1KwhuTQtdIKPkIdVEwWV+YuzKkzhlI3aNy6oo1eAN6b/D2LTtZkJe2enHmX0corYRw== +"@commitlint/message@^19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-19.0.0.tgz#f789dd1b7a1f9c784578e0111f46cc3fecf5a531" + integrity sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw== -"@commitlint/parse@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-18.6.1.tgz#2946b814125e907b9c4d63d3e71d0c1b54b30b62" - integrity sha512-eS/3GREtvVJqGZrwAGRwR9Gdno3YcZ6Xvuaa+vUF8j++wsmxrA2En3n0ccfVO2qVOLJC41ni7jSZhQiJpMPGOQ== +"@commitlint/parse@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-19.0.3.tgz#a2d09876d458e17ad0e1695b04f41af8b50a41c2" + integrity sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA== dependencies: - "@commitlint/types" "^18.6.1" + "@commitlint/types" "^19.0.3" conventional-changelog-angular "^7.0.0" conventional-commits-parser "^5.0.0" -"@commitlint/read@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-18.6.1.tgz#8c138311ed9749427920c369f6276be136f2aa50" - integrity sha512-ia6ODaQFzXrVul07ffSgbZGFajpe8xhnDeLIprLeyfz3ivQU1dIoHp7yz0QIorZ6yuf4nlzg4ZUkluDrGN/J/w== +"@commitlint/read@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-19.0.3.tgz#b04abaa4daae2ba84f5f77a3800a6c3bc27cd94d" + integrity sha512-b5AflTyAXkUx5qKw4TkjjcOccXZHql3JqMi522knTQktq2AubKXFz60Sws+K4FsefwPws6fGz9mqiI/NvsvxFA== dependencies: - "@commitlint/top-level" "^18.6.1" - "@commitlint/types" "^18.6.1" - git-raw-commits "^2.0.11" - minimist "^1.2.6" + "@commitlint/top-level" "^19.0.0" + "@commitlint/types" "^19.0.3" + git-raw-commits "^4.0.0" + minimist "^1.2.8" -"@commitlint/resolve-extends@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-18.6.1.tgz#f0572c682fc24dbabe2e0f42873261e0fa42c91a" - integrity sha512-ifRAQtHwK+Gj3Bxj/5chhc4L2LIc3s30lpsyW67yyjsETR6ctHAHRu1FSpt0KqahK5xESqoJ92v6XxoDRtjwEQ== +"@commitlint/resolve-extends@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-19.0.3.tgz#04d0e95f9119983765741df603d36f4457f56c13" + integrity sha512-18BKmta8OC8+Ub+Q3QGM9l27VjQaXobloVXOrMvu8CpEwJYv62vC/t7Ka5kJnsW0tU9q1eMqJFZ/nN9T/cOaIA== dependencies: - "@commitlint/config-validator" "^18.6.1" - "@commitlint/types" "^18.6.1" - import-fresh "^3.0.0" + "@commitlint/config-validator" "^19.0.3" + "@commitlint/types" "^19.0.3" + global-directory "^4.0.1" + import-meta-resolve "^4.0.0" lodash.mergewith "^4.6.2" resolve-from "^5.0.0" - resolve-global "^1.0.0" -"@commitlint/rules@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-18.6.1.tgz#da25aeffe6c0e1c7625e44f46089fb8860986caf" - integrity sha512-kguM6HxZDtz60v/zQYOe0voAtTdGybWXefA1iidjWYmyUUspO1zBPQEmJZ05/plIAqCVyNUTAiRPWIBKLCrGew== +"@commitlint/rules@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-19.0.3.tgz#de647a9055847cae4f3ae32b4798096b604584f3" + integrity sha512-TspKb9VB6svklxNCKKwxhELn7qhtY1rFF8ls58DcFd0F97XoG07xugPjjbVnLqmMkRjZDbDIwBKt9bddOfLaPw== dependencies: - "@commitlint/ensure" "^18.6.1" - "@commitlint/message" "^18.6.1" - "@commitlint/to-lines" "^18.6.1" - "@commitlint/types" "^18.6.1" - execa "^5.0.0" + "@commitlint/ensure" "^19.0.3" + "@commitlint/message" "^19.0.0" + "@commitlint/to-lines" "^19.0.0" + "@commitlint/types" "^19.0.3" + execa "^8.0.1" -"@commitlint/to-lines@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-18.6.1.tgz#d28827a4a540c98eea1aae31dafd66f80b2f1b9e" - integrity sha512-Gl+orGBxYSNphx1+83GYeNy5N0dQsHBQ9PJMriaLQDB51UQHCVLBT/HBdOx5VaYksivSf5Os55TLePbRLlW50Q== +"@commitlint/to-lines@^19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-19.0.0.tgz#aa6618eb371bafbc0cd3b48f0db565c4a40462c6" + integrity sha512-vkxWo+VQU5wFhiP9Ub9Sre0FYe019JxFikrALVoD5UGa8/t3yOJEpEhxC5xKiENKKhUkTpEItMTRAjHw2SCpZw== -"@commitlint/top-level@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-18.6.1.tgz#429fcb985e3beaba9b17e05c0ae61926c647baf0" - integrity sha512-HyiHQZUTf0+r0goTCDs/bbVv/LiiQ7AVtz6KIar+8ZrseB9+YJAIo8HQ2IC2QT1y3N1lbW6OqVEsTHjbT6hGSw== +"@commitlint/top-level@^19.0.0": + version "19.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-19.0.0.tgz#9c44d7cec533bb9598bfae9658737e2d6a903605" + integrity sha512-KKjShd6u1aMGNkCkaX4aG1jOGdn7f8ZI8TR1VEuNqUOjWTOdcDSsmglinglJ18JTjuBX5I1PtjrhQCRcixRVFQ== dependencies: - find-up "^5.0.0" + find-up "^7.0.0" -"@commitlint/types@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-18.6.1.tgz#7eb3ab2d799d9166fbb98b96b0744581e59a4ad4" - integrity sha512-gwRLBLra/Dozj2OywopeuHj2ac26gjGkz2cZ+86cTJOdtWfiRRr4+e77ZDAGc6MDWxaWheI+mAV5TLWWRwqrFg== +"@commitlint/types@^19.0.3": + version "19.0.3" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-19.0.3.tgz#feff4ecac2b5c359f2a57f9ab094b2ac80ef0266" + integrity sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA== dependencies: - chalk "^4.1.0" + "@types/conventional-commits-parser" "^5.0.0" + chalk "^5.3.0" "@dabh/diagnostics@^2.0.2": version "2.0.3" @@ -1609,10 +1654,10 @@ dependencies: "@octokit/openapi-types" "^12.11.0" -"@parse5/tools@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@parse5/tools/-/tools-0.3.0.tgz#4cac601408065a84c31a88431b02f9f69f92434a" - integrity sha512-zxRyTHkqb7WQMV8kTNBKWb1BeOFUKXBXTBWuxg9H9hfvQB3IwP6Iw2U75Ia5eyRxPNltmY7E8YAlz6zWwUnjKg== +"@parse5/tools@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@parse5/tools/-/tools-0.4.0.tgz#2ae6070739b2a2e7b07a023bd8fadaf5408217b6" + integrity sha512-mLIbnvph9mBtEoFxz+LSy8Mh89sXVECdymzdmqw9PgM/IP3Q3CKETvruKYliV3QcvJLEc7PRb7YuG5XtTpKarw== dependencies: parse5 "^7.0.0" @@ -1732,131 +1777,131 @@ estree-walker "^2.0.2" picomatch "^2.3.1" +"@rollup/rollup-android-arm-eabi@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.1.tgz#11aaa02a933864b87f0b31cf2b755734e1f22787" + integrity sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ== + "@rollup/rollup-android-arm-eabi@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.3.0.tgz#8ad8a660b18f1a24ad4a272738a65ac4788a8811" integrity sha512-/4pns6BYi8MXdwnXM44yoGAcFYVHL/BYlB2q1HXZ6AzH++LaiEVWFpBWQ/glXhbMbv3E3o09igrHFbP/snhAvA== -"@rollup/rollup-android-arm-eabi@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz#66b8d9cb2b3a474d115500f9ebaf43e2126fe496" - integrity sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg== +"@rollup/rollup-android-arm64@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.1.tgz#b1e606fb4b46b38dc32bf010d513449462d669e9" + integrity sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg== "@rollup/rollup-android-arm64@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.3.0.tgz#17b0f412034d14668c8acc8b7cbd8b1c76279599" integrity sha512-nLO/JsL9idr416vzi3lHm3Xm+QZh4qHij8k3Er13kZr5YhL7/+kBAx84kDmPc7HMexLmwisjDCeDIKNFp8mDlQ== -"@rollup/rollup-android-arm64@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz#46327d5b86420d2307946bec1535fdf00356e47d" - integrity sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw== +"@rollup/rollup-darwin-arm64@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.1.tgz#dc21df1be9402671a8b6b15a93dd5953c68ec114" + integrity sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg== "@rollup/rollup-darwin-arm64@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.3.0.tgz#80c4a4dd7b120906d4e655808fb9005784a8bf35" integrity sha512-dGhVBlllt4iHwTGy21IEoMOTN5wZoid19zEIxsdY29xcEiOEHqzDa7Sqrkh5OE7LKCowL61eFJXxYe/+pYa7ZQ== -"@rollup/rollup-darwin-arm64@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz#166987224d2f8b1e2fd28ee90c447d52271d5e90" - integrity sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw== +"@rollup/rollup-darwin-x64@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.1.tgz#397dcc4427d774f29b9954676893574ac563bf0b" + integrity sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw== "@rollup/rollup-darwin-x64@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.3.0.tgz#52ad0db40d9b5ae047dfc08e54e4b3f42feaef82" integrity sha512-h8wRfHeLEbU3NzaP1Oku7BYXCJQiTRr+8U0lklyOQXxXiEpHLL8tk1hFl+tezoRKLcPJD7joKaK74ASsqt3Ekg== -"@rollup/rollup-darwin-x64@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz#a2e6e096f74ccea6e2f174454c26aef6bcdd1274" - integrity sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog== +"@rollup/rollup-linux-arm-gnueabihf@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.1.tgz#d851fd49d617e7792e7cde8e5a95ca51ea520fe5" + integrity sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ== "@rollup/rollup-linux-arm-gnueabihf@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.3.0.tgz#2ad3d190af01d7fc8704e8e782c4a24006a9f21a" integrity sha512-wP4VgR/gfV18sylTuym3sxRTkAgUR2vh6YLeX/GEznk5jCYcYSlx585XlcUcl0c8UffIZlRJ09raWSX3JDb4GA== -"@rollup/rollup-linux-arm-gnueabihf@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz#09fcd4c55a2d6160c5865fec708a8e5287f30515" - integrity sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ== +"@rollup/rollup-linux-arm64-gnu@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.1.tgz#e41a271ae51f79ffee6fb2b5597cc81b4ef66ad9" + integrity sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ== "@rollup/rollup-linux-arm64-gnu@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.3.0.tgz#4f7ba42f779f06e93876755b7393c61676e2958a" integrity sha512-v/14JCYVkqRSJeQbxFx4oUkwVQQw6lFMN7bd4vuARBc3X2lmomkxBsc+BFiIDL/BK+CTx5AOh/k9XmqDnKWRVg== -"@rollup/rollup-linux-arm64-gnu@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz#19a3c0b6315c747ca9acf86e9b710cc2440f83c9" - integrity sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ== +"@rollup/rollup-linux-arm64-musl@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.1.tgz#d3b4cd6ef18d0aa7103129755e0c535701624fac" + integrity sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ== "@rollup/rollup-linux-arm64-musl@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.3.0.tgz#64795a09dac02b4d779819509a793b93ba7e4c0d" integrity sha512-tNhfYqFH5OxtRzfkTOKdgFYlPSZnlDLNW4+leNEvQZhwTJxoTwsZAAhR97l3qVry/kkLyJPBK+Q8EAJLPinDIg== -"@rollup/rollup-linux-arm64-musl@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz#94aaf95fdaf2ad9335983a4552759f98e6b2e850" - integrity sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ== +"@rollup/rollup-linux-riscv64-gnu@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.1.tgz#215101b2bb768cce2f2227145b8dd5c3c716c259" + integrity sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg== -"@rollup/rollup-linux-riscv64-gnu@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz#160510e63f4b12618af4013bddf1761cf9fc9880" - integrity sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA== +"@rollup/rollup-linux-x64-gnu@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.1.tgz#34a12fa305e167105eab70dbf577cd41e5199709" + integrity sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ== "@rollup/rollup-linux-x64-gnu@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.3.0.tgz#00c1ff131ba16881eb1a0ad46b0aa10dcacb010e" integrity sha512-pw77m8QywdsoFdFOgmc8roF1inBI0rciqzO8ffRUgLoq7+ee9o5eFqtEcS6hHOOplgifAUUisP8cAnwl9nUYPw== -"@rollup/rollup-linux-x64-gnu@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.6.tgz#5ac5d068ce0726bd0a96ca260d5bd93721c0cb98" - integrity sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw== +"@rollup/rollup-linux-x64-musl@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.1.tgz#3f000b5a92a32b844e385e1166979c87882930a3" + integrity sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ== "@rollup/rollup-linux-x64-musl@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.3.0.tgz#89479dce5e5bf6850fbca92fa7f1637ddd70c9ef" integrity sha512-tJs7v2MnV2F8w6X1UpPHl/43OfxjUy9SuJ2ZPoxn79v9vYteChVYO/ueLHCpRMmyTUIVML3N9z4azl9ENH8Xxg== -"@rollup/rollup-linux-x64-musl@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.6.tgz#bafa759ab43e8eab9edf242a8259ffb4f2a57a5d" - integrity sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ== +"@rollup/rollup-win32-arm64-msvc@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.1.tgz#27977d91f5059645ebb3b7fbf4429982de2278d3" + integrity sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw== "@rollup/rollup-win32-arm64-msvc@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.3.0.tgz#1a36aba17c7efe6d61e98b8049e70b40e33b1f45" integrity sha512-OKGxp6kATQdTyI2DF+e9s+hB3/QZB45b6e+dzcfW1SUqiF6CviWyevhmT4USsMEdP3mlpC9zxLz3Oh+WaTMOSw== -"@rollup/rollup-win32-arm64-msvc@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz#1cc3416682e5a20d8f088f26657e6e47f8db468e" - integrity sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA== +"@rollup/rollup-win32-ia32-msvc@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.1.tgz#0d252acd5af0274209c74374867ee8b949843d75" + integrity sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA== "@rollup/rollup-win32-ia32-msvc@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.3.0.tgz#a0b1f79afde51e390a7725b7c15ab4e0df780aea" integrity sha512-DDZ5AH68JJ2ClQFEA1aNnfA7Ybqyeh0644rGbrLOdNehTmzfICHiWSn0OprzYi9HAshTPQvlwrM+bi2kuaIOjQ== -"@rollup/rollup-win32-ia32-msvc@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz#7d2251e1aa5e8a1e47c86891fe4547a939503461" - integrity sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ== +"@rollup/rollup-win32-x64-msvc@4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.1.tgz#cd8d175e001c212d5ac71c7827ef1d5c5e14494c" + integrity sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q== "@rollup/rollup-win32-x64-msvc@4.3.0": version "4.3.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.3.0.tgz#0b9bcc159b93c911efb5a2c39ec5d70dd0a589dc" integrity sha512-dMvGV8p92GQ8jhNlGIKpyhVZPzJlT258pPrM5q2F8lKcc9Iv9BbfdnhX1OfinYWnb9ms5zLw6MlaMnqLfUkKnQ== -"@rollup/rollup-win32-x64-msvc@4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz#2c1fb69e02a3f1506f52698cfdc3a8b6386df9a6" - integrity sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ== - "@sinclair/typebox@^0.27.8": version "0.27.8" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" @@ -1997,6 +2042,13 @@ resolved "https://registry.yarnpkg.com/@types/command-line-usage/-/command-line-usage-5.0.2.tgz#ba5e3f6ae5a2009d466679cc431b50635bf1a064" integrity sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg== +"@types/conventional-commits-parser@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz#8c9d23e0b415b24b91626d07017303755d542dc8" + integrity sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ== + dependencies: + "@types/node" "*" + "@types/cookie@^0.4.1": version "0.4.1" resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" @@ -2101,11 +2153,6 @@ resolved "https://registry.yarnpkg.com/@types/line-column/-/line-column-1.0.2.tgz#de28f07a8c1929aecda194952c733033d0420d1f" integrity sha512-099oFQmp/Tlf20xW5XI5R4F69N6lF/zQ09XDzc3R5BOLFlqIotgKoNIyj0HD4fQLWcGDreDJv8k/BkLJscrDrw== -"@types/minimist@^1.2.0": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.3.tgz#dd249cef80c6fff2ba6a0d4e5beca913e04e25f8" - integrity sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A== - "@types/mocha@^10.0.0": version "10.0.2" resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.2.tgz#96d63314255540a36bf24da094cce7a13668d73b" @@ -2133,14 +2180,14 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== -"@types/node@^20.11.20": - version "20.11.20" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.20.tgz#f0a2aee575215149a62784210ad88b3a34843659" - integrity sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg== +"@types/node@^20.11.26": + version "20.11.26" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.26.tgz#3fbda536e51d5c79281e1d9657dcb0131baabd2d" + integrity sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ== dependencies: undici-types "~5.26.4" -"@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.1": +"@types/normalize-package-data@^2.4.1": version "2.4.2" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz#9b0e3e8533fe5024ad32d6637eb9589988b6fdca" integrity sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A== @@ -2256,16 +2303,16 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz#9cf31546d2d5e884602626d89b0e0d2168ac25ed" - integrity sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg== +"@typescript-eslint/eslint-plugin@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.2.0.tgz#5a5fcad1a7baed85c10080d71ad901f98c38d5b7" + integrity sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw== dependencies: "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.20.0" - "@typescript-eslint/type-utils" "6.20.0" - "@typescript-eslint/utils" "6.20.0" - "@typescript-eslint/visitor-keys" "6.20.0" + "@typescript-eslint/scope-manager" "7.2.0" + "@typescript-eslint/type-utils" "7.2.0" + "@typescript-eslint/utils" "7.2.0" + "@typescript-eslint/visitor-keys" "7.2.0" debug "^4.3.4" graphemer "^1.4.0" ignore "^5.2.4" @@ -2273,15 +2320,15 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/parser@^6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.20.0.tgz#17e314177304bdf498527e3c4b112e41287b7416" - integrity sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w== +"@typescript-eslint/parser@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.2.0.tgz#44356312aea8852a3a82deebdacd52ba614ec07a" + integrity sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg== dependencies: - "@typescript-eslint/scope-manager" "6.20.0" - "@typescript-eslint/types" "6.20.0" - "@typescript-eslint/typescript-estree" "6.20.0" - "@typescript-eslint/visitor-keys" "6.20.0" + "@typescript-eslint/scope-manager" "7.2.0" + "@typescript-eslint/types" "7.2.0" + "@typescript-eslint/typescript-estree" "7.2.0" + "@typescript-eslint/visitor-keys" "7.2.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.62.0": @@ -2292,21 +2339,21 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz#8a926e60f6c47feb5bab878246dc2ae465730151" - integrity sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA== +"@typescript-eslint/scope-manager@7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.2.0.tgz#cfb437b09a84f95a0930a76b066e89e35d94e3da" + integrity sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg== dependencies: - "@typescript-eslint/types" "6.20.0" - "@typescript-eslint/visitor-keys" "6.20.0" + "@typescript-eslint/types" "7.2.0" + "@typescript-eslint/visitor-keys" "7.2.0" -"@typescript-eslint/type-utils@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.20.0.tgz#d395475cd0f3610dd80c7d8716fa0db767da3831" - integrity sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g== +"@typescript-eslint/type-utils@7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.2.0.tgz#7be5c30e9b4d49971b79095a1181324ef6089a19" + integrity sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA== dependencies: - "@typescript-eslint/typescript-estree" "6.20.0" - "@typescript-eslint/utils" "6.20.0" + "@typescript-eslint/typescript-estree" "7.2.0" + "@typescript-eslint/utils" "7.2.0" debug "^4.3.4" ts-api-utils "^1.0.1" @@ -2315,10 +2362,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/types@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.20.0.tgz#5ccd74c29011ae7714ae6973e4ec0c634708b448" - integrity sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ== +"@typescript-eslint/types@7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.2.0.tgz#0feb685f16de320e8520f13cca30779c8b7c403f" + integrity sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -2333,13 +2380,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz#5b2d0975949e6bdd8d45ee1471461ef5fadc5542" - integrity sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g== +"@typescript-eslint/typescript-estree@7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.2.0.tgz#5beda2876c4137f8440c5a84b4f0370828682556" + integrity sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA== dependencies: - "@typescript-eslint/types" "6.20.0" - "@typescript-eslint/visitor-keys" "6.20.0" + "@typescript-eslint/types" "7.2.0" + "@typescript-eslint/visitor-keys" "7.2.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -2347,17 +2394,17 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/utils@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.20.0.tgz#0e52afcfaa51af5656490ba4b7437cc3aa28633d" - integrity sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg== +"@typescript-eslint/utils@7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.2.0.tgz#fc8164be2f2a7068debb4556881acddbf0b7ce2a" + integrity sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.20.0" - "@typescript-eslint/types" "6.20.0" - "@typescript-eslint/typescript-estree" "6.20.0" + "@typescript-eslint/scope-manager" "7.2.0" + "@typescript-eslint/types" "7.2.0" + "@typescript-eslint/typescript-estree" "7.2.0" semver "^7.5.4" "@typescript-eslint/utils@^5.10.0": @@ -2382,12 +2429,12 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@6.20.0": - version "6.20.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz#f7ada27f2803de89df0edd9fd7be22c05ce6a498" - integrity sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw== +"@typescript-eslint/visitor-keys@7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz#5035f177752538a5750cca1af6044b633610bf9e" + integrity sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A== dependencies: - "@typescript-eslint/types" "6.20.0" + "@typescript-eslint/types" "7.2.0" eslint-visitor-keys "^3.4.1" "@ungap/structured-clone@^1.2.0": @@ -2404,19 +2451,28 @@ pathe "^1.1.1" pretty-format "^29.7.0" -"@wdio/cli@^8.29.3": - version "8.29.3" - resolved "https://registry.yarnpkg.com/@wdio/cli/-/cli-8.29.3.tgz#9aebd9f46bd0ae3c81d246855a14f0df30e1b827" - integrity sha512-n0Tgl5RgAdJtr5wBY4w56QQim36e7hIZQM9vOtrTRUaMmY3XoYlExtmYu+wUx4zFoy3p5mK+AW4Of0tl1CMUzg== +"@vitest/snapshot@^1.2.2": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-1.3.1.tgz#193a5d7febf6ec5d22b3f8c5a093f9e4322e7a88" + integrity sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ== + dependencies: + magic-string "^0.30.5" + pathe "^1.1.1" + pretty-format "^29.7.0" + +"@wdio/cli@^8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@wdio/cli/-/cli-8.33.1.tgz#94dad615bb284f5b037fea3f1ba66c0a7bff7eef" + integrity sha512-Ngt5R6YAmErkSKnWLWt1JilLIKDPIB0P93bzQhb9bQhmg1arFBcl75uiwe6kf6T355vzcNslMaEJyeuqGChmCg== dependencies: "@types/node" "^20.1.1" "@vitest/snapshot" "^1.2.1" - "@wdio/config" "8.29.3" - "@wdio/globals" "8.29.3" + "@wdio/config" "8.33.1" + "@wdio/globals" "8.33.1" "@wdio/logger" "8.28.0" - "@wdio/protocols" "8.24.12" - "@wdio/types" "8.29.1" - "@wdio/utils" "8.29.3" + "@wdio/protocols" "8.32.0" + "@wdio/types" "8.32.4" + "@wdio/utils" "8.33.1" async-exit-hook "^2.0.1" chalk "^5.2.0" chokidar "^3.5.3" @@ -2429,9 +2485,9 @@ lodash.flattendeep "^4.4.0" lodash.pickby "^4.6.0" lodash.union "^4.6.0" - read-pkg-up "^10.0.0" + read-pkg-up "10.0.0" recursive-readdir "^2.2.3" - webdriverio "8.29.3" + webdriverio "8.33.1" yargs "^17.7.2" "@wdio/config@7.19.5": @@ -2457,24 +2513,37 @@ glob "^10.2.2" import-meta-resolve "^4.0.0" -"@wdio/globals@8.29.3", "@wdio/globals@^8.27.0": - version "8.29.3" - resolved "https://registry.yarnpkg.com/@wdio/globals/-/globals-8.29.3.tgz#48b8064277772a27db39958ee9daaab94bce4dab" - integrity sha512-WPRjPf1yiRYt7tUjctKiBLPOUnO8kHt2SUcsQ59E0gg9zGfUXKWupnrfa2qoOAiieSySUwutf/hjDi/yvTT4mA== +"@wdio/config@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@wdio/config/-/config-8.33.1.tgz#1d80f044dc13e12ce29a5b37db03a9258fdf476e" + integrity sha512-JB7+tRkEsDJ4QAgJIZ3AaZvlp8pfBH6A5cKcGsaOuLVYMnsRPVkEGQc6n2akN9EPlDA2UjyrPOX6KZHbsSty7w== + dependencies: + "@wdio/logger" "8.28.0" + "@wdio/types" "8.32.4" + "@wdio/utils" "8.33.1" + decamelize "^6.0.0" + deepmerge-ts "^5.0.0" + glob "^10.2.2" + import-meta-resolve "^4.0.0" + +"@wdio/globals@8.33.1", "@wdio/globals@^8.29.3": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@wdio/globals/-/globals-8.33.1.tgz#7a655336df0facd8ea27df2cbb07f98003ee0cb5" + integrity sha512-1ud9oq7n9MMNywS/FoMRRWqW6uhcoxgnpXoGeLE2Tr+4f937ABOl+sfZgjycXujyvR7yTL8AROOYajp1Yuv1Xg== optionalDependencies: - expect-webdriverio "^4.9.3" - webdriverio "8.29.3" + expect-webdriverio "^4.11.2" + webdriverio "8.33.1" -"@wdio/local-runner@^8.29.3": - version "8.29.3" - resolved "https://registry.yarnpkg.com/@wdio/local-runner/-/local-runner-8.29.3.tgz#1420ab6b8ca2044df511c693982cf5a1243df594" - integrity sha512-krKrPg8iwOvmps2iNxvpKUTV6szvYPWJiZDi585qEtDUJ+l67ucwuA2hkP9tpIyJU3rjErH5Z3awWuTaehulYA== +"@wdio/local-runner@^8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@wdio/local-runner/-/local-runner-8.33.1.tgz#9c0300d700d85b65a25cb0746bbbbd1ba908870d" + integrity sha512-eQp12wHIkyh5zl9fun1qjv5Qvf4mCHPgLs5sKbfo3OK4LadzmD4/QNvDG8DYq/9cyuhVvnHgbLQ3XAnkoPde3w== dependencies: "@types/node" "^20.1.0" "@wdio/logger" "8.28.0" "@wdio/repl" "8.24.12" - "@wdio/runner" "8.29.3" - "@wdio/types" "8.29.1" + "@wdio/runner" "8.33.1" + "@wdio/types" "8.32.4" async-exit-hook "^2.0.1" split2 "^4.1.0" stream-buffers "^3.0.2" @@ -2489,7 +2558,7 @@ loglevel-plugin-prefix "^0.8.4" strip-ansi "^6.0.0" -"@wdio/logger@8.28.0", "@wdio/logger@^8.24.12": +"@wdio/logger@8.28.0", "@wdio/logger@^8.24.12", "@wdio/logger@^8.28.0": version "8.28.0" resolved "https://registry.yarnpkg.com/@wdio/logger/-/logger-8.28.0.tgz#ab97ee1a9f6a30305e1a07ff2b67fa23e1281e73" integrity sha512-/s6zNCqwy1hoc+K4SJypis0Ud0dlJ+urOelJFO1x0G0rwDRWyFiUP6ijTaCcFxAm29jYEcEPWijl2xkVIHwOyA== @@ -2509,16 +2578,16 @@ loglevel-plugin-prefix "^0.8.4" strip-ansi "^7.1.0" -"@wdio/mocha-framework@^8.29.3": - version "8.29.3" - resolved "https://registry.yarnpkg.com/@wdio/mocha-framework/-/mocha-framework-8.29.3.tgz#0c53eaebdb82a4c61bb211f09f2b4be8d61476aa" - integrity sha512-w+tJLRdNhYPScesPGVcuuM4McAfxzx3K39Jp5rmKxxah6/Fv8Hb2eOHxO4WLfhd5Tv3KkdCYHe4wCPGYNxnsng== +"@wdio/mocha-framework@^8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@wdio/mocha-framework/-/mocha-framework-8.33.1.tgz#9ecce1177eb75147edf4ae7a5a370067e79e2c1a" + integrity sha512-CxYLE22+tgnMnruElvDGJGR+dE0pxvMZ95agIUYYen69DJ705a74XtTR6zX9COWu6RooBezHgEs3fXev0XL79Q== dependencies: "@types/mocha" "^10.0.0" "@types/node" "^20.1.0" "@wdio/logger" "8.28.0" - "@wdio/types" "8.29.1" - "@wdio/utils" "8.29.3" + "@wdio/types" "8.32.4" + "@wdio/utils" "8.33.1" mocha "^10.0.0" "@wdio/protocols@7.19.0": @@ -2531,6 +2600,11 @@ resolved "https://registry.yarnpkg.com/@wdio/protocols/-/protocols-8.24.12.tgz#16c2e3dff4cfc0ed694f3f8142fb68b74609fbf5" integrity sha512-QnVj3FkapmVD3h2zoZk+ZQ8gevSj9D9MiIQIy8eOnY4FAneYZ9R9GvoW+mgNcCZO8S8++S/jZHetR8n+8Q808g== +"@wdio/protocols@8.32.0": + version "8.32.0" + resolved "https://registry.yarnpkg.com/@wdio/protocols/-/protocols-8.32.0.tgz#edb22793fa0fe9b7544349944984d575c40835a7" + integrity sha512-inLJRrtIGdTz/YPbcsvpSvPlYQFTVtF3OYBwAXhG2FiP1ZwE1CQNLP/xgRGye1ymdGCypGkexRqIx3KBGm801Q== + "@wdio/repl@7.19.5": version "7.19.5" resolved "https://registry.yarnpkg.com/@wdio/repl/-/repl-7.19.5.tgz#e99d1e24c52ac34b7434d21c94419c46eabcfbf8" @@ -2545,64 +2619,64 @@ dependencies: "@types/node" "^20.1.0" -"@wdio/reporter@8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@wdio/reporter/-/reporter-8.29.1.tgz#dfff6f85874f85c86d050b4eb76ca44433f35ff4" - integrity sha512-LZeYHC+HHJRYiFH9odaotDazZh0zNhu4mTuL/T/e3c/Q3oPSQjLvfQYhB3Ece1QA9PKjP1VPmr+g9CvC0lMixA== +"@wdio/reporter@8.32.4": + version "8.32.4" + resolved "https://registry.yarnpkg.com/@wdio/reporter/-/reporter-8.32.4.tgz#94b817df102cd3efaa63260d894a02eca7ee2cf3" + integrity sha512-kZXbyNuZSSpk4kBavDb+ac25ODu9NVZED6WwZafrlMSnBHcDkoMt26Q0Jp3RKUj+FTyuKH0HvfeLrwVkk6QKDw== dependencies: "@types/node" "^20.1.0" "@wdio/logger" "8.28.0" - "@wdio/types" "8.29.1" + "@wdio/types" "8.32.4" diff "^5.0.0" object-inspect "^1.12.0" -"@wdio/runner@8.29.3": - version "8.29.3" - resolved "https://registry.yarnpkg.com/@wdio/runner/-/runner-8.29.3.tgz#41c7a079908aa14a358bf4a58473030e285b9486" - integrity sha512-GdqJH4Kk3n97fTPCLJtt27Vda9+7mKbb0o8Q89NRxF0AJJ9xAysXQ8qSxlZfKej6YRkaMr7V64qgM8LmjvogBQ== +"@wdio/runner@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@wdio/runner/-/runner-8.33.1.tgz#f25dd8d60c00fa027c59c91bed791598d899b293" + integrity sha512-i0eRwMCePKkQocWsdkPQpBb1jELyNR5JCwnmOgM3g9fQI6KAf5D4oEUkNDFL/vD4UtgbSRmux7b7j5G01VvuqQ== dependencies: "@types/node" "^20.1.0" - "@wdio/config" "8.29.3" - "@wdio/globals" "8.29.3" + "@wdio/config" "8.33.1" + "@wdio/globals" "8.33.1" "@wdio/logger" "8.28.0" - "@wdio/types" "8.29.1" - "@wdio/utils" "8.29.3" + "@wdio/types" "8.32.4" + "@wdio/utils" "8.33.1" deepmerge-ts "^5.0.0" - expect-webdriverio "^4.9.3" + expect-webdriverio "^4.11.2" gaze "^1.1.2" - webdriver "8.29.3" - webdriverio "8.29.3" + webdriver "8.33.1" + webdriverio "8.33.1" -"@wdio/sauce-service@^8.29.3": - version "8.29.3" - resolved "https://registry.yarnpkg.com/@wdio/sauce-service/-/sauce-service-8.29.3.tgz#5b1128d24020eea43b078578bf6f6f7a86e61cb7" - integrity sha512-oMXXrZ+geaI7LqyO0v4HFiJAHMNGI5cPs/BCuxUZv1wpLw8bhU9sO1/ScuMeU+cE9YcWH038KRtkTg6u5yBwZg== +"@wdio/sauce-service@^8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@wdio/sauce-service/-/sauce-service-8.33.1.tgz#463d800f64a1ee73628653c2652195d17a5c8a08" + integrity sha512-0z97S9kxIA2InY0aOI174nDfiVkwva7nnbyfNKh+pmWI1m6DUuAH6b4FmPTXDeUfjHjBHgALl9RpbETTSvo6qQ== dependencies: "@wdio/logger" "8.28.0" - "@wdio/types" "8.29.1" - "@wdio/utils" "8.29.3" - ip "^1.1.8" + "@wdio/types" "8.32.4" + "@wdio/utils" "8.33.1" + ip "^2.0.1" saucelabs "7.5.0" - webdriverio "8.29.3" + webdriverio "8.33.1" -"@wdio/spec-reporter@^8.29.3": - version "8.29.3" - resolved "https://registry.yarnpkg.com/@wdio/spec-reporter/-/spec-reporter-8.29.3.tgz#c7184a5f10e199475ef01404360f224bfb716b8d" - integrity sha512-di3SZKupuwW4/Uts9vqDkaVxe6TSnnpLmQg4zmlFhbixC89zM4EW/eXoLA9n0LFfx3HpuhRF/exgduJf71ZH/Q== +"@wdio/spec-reporter@^8.32.4": + version "8.32.4" + resolved "https://registry.yarnpkg.com/@wdio/spec-reporter/-/spec-reporter-8.32.4.tgz#e28d0d139757b409efbe3f4fbe408c536946ff31" + integrity sha512-3TbD/KrK+EhUex5d5/11qSEKqyNiMHqm27my86tdiK0Ltt9pc/9Ybg1YBiWKlzV9U9MI4seVBRZCXltG17ky/A== dependencies: - "@wdio/reporter" "8.29.1" - "@wdio/types" "8.29.1" + "@wdio/reporter" "8.32.4" + "@wdio/types" "8.32.4" chalk "^5.1.2" easy-table "^1.2.0" pretty-ms "^7.0.0" -"@wdio/static-server-service@^8.29.1": - version "8.29.1" - resolved "https://registry.yarnpkg.com/@wdio/static-server-service/-/static-server-service-8.29.1.tgz#1961ae021eef6d0116fb714731c89714ecaf12f7" - integrity sha512-wxV0+iTW6zi9IaM2Zv2YfklJqw+0xdpX1naiwn0MvkcUg/Nz87A5p/AoKy2rKoWdCHTp0yXDn+qkUkvm+Ma9fg== +"@wdio/static-server-service@^8.32.4": + version "8.32.4" + resolved "https://registry.yarnpkg.com/@wdio/static-server-service/-/static-server-service-8.32.4.tgz#978992d7ec5810fe7b519b85fb709c7eae6ec863" + integrity sha512-oAq7gEWjNLB6zSQllD/E7+Ij9+scsTLg2Y1JpgqOEvRF9PNOnef14uW10WzE0SbiUcEBEwDa0CmM+0NrKqW2Rg== dependencies: "@wdio/logger" "8.28.0" - "@wdio/types" "8.29.1" + "@wdio/types" "8.32.4" express "^4.14.0" morgan "^1.7.0" @@ -2621,6 +2695,13 @@ dependencies: "@types/node" "^20.1.0" +"@wdio/types@8.32.4": + version "8.32.4" + resolved "https://registry.yarnpkg.com/@wdio/types/-/types-8.32.4.tgz#cc1965d5a802a09696b1ea9066e8b92f6977d51a" + integrity sha512-pDPGcCvq0MQF8u0sjw9m4aMI2gAKn6vphyBB2+1IxYriL777gbbxd7WQ+PygMBvYVprCYIkLPvhUFwF85WakmA== + dependencies: + "@types/node" "^20.1.0" + "@wdio/utils@7.19.5": version "7.19.5" resolved "https://registry.yarnpkg.com/@wdio/utils/-/utils-7.19.5.tgz#9c2d17e1ae3d21824409806f80faec1d7c78baff" @@ -2649,6 +2730,25 @@ split2 "^4.2.0" wait-port "^1.0.4" +"@wdio/utils@8.33.1": + version "8.33.1" + resolved "https://registry.yarnpkg.com/@wdio/utils/-/utils-8.33.1.tgz#8ab0679d5214d9a4bea4aa198d3c1a806d386df0" + integrity sha512-W0ArrZbs4M23POv8+FPsgHDFxg+wwklfZgLSsjVq2kpCmBCfIPxKSAOgTo/XrcH4We/OnshgBzxLcI+BHDgi4w== + dependencies: + "@puppeteer/browsers" "^1.6.0" + "@wdio/logger" "8.28.0" + "@wdio/types" "8.32.4" + decamelize "^6.0.0" + deepmerge-ts "^5.1.0" + edgedriver "^5.3.5" + geckodriver "^4.3.1" + get-port "^7.0.0" + import-meta-resolve "^4.0.0" + locate-app "^2.1.0" + safaridriver "^0.1.0" + split2 "^4.2.0" + wait-port "^1.0.4" + "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" @@ -2687,6 +2787,13 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + accepts@^1.3.5, accepts@~1.3.4, accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -2901,6 +3008,19 @@ archiver-utils@^4.0.1: normalize-path "^3.0.0" readable-stream "^3.6.0" +archiver-utils@^5.0.0, archiver-utils@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-5.0.2.tgz#63bc719d951803efc72cf961a56ef810760dd14d" + integrity sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA== + dependencies: + glob "^10.0.0" + graceful-fs "^4.2.0" + is-stream "^2.0.1" + lazystream "^1.0.0" + lodash "^4.17.15" + normalize-path "^3.0.0" + readable-stream "^4.0.0" + archiver@^5.0.0: version "5.3.2" resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.2.tgz#99991d5957e53bd0303a392979276ac4ddccf3b0" @@ -2927,6 +3047,19 @@ archiver@^6.0.0: tar-stream "^3.0.0" zip-stream "^5.0.1" +archiver@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-7.0.1.tgz#c9d91c350362040b8927379c7aa69c0655122f61" + integrity sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ== + dependencies: + archiver-utils "^5.0.2" + async "^3.2.4" + buffer-crc32 "^1.0.0" + readable-stream "^4.0.0" + readdir-glob "^1.1.2" + tar-stream "^3.0.0" + zip-stream "^6.0.1" + are-docs-informative@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/are-docs-informative/-/are-docs-informative-0.0.2.tgz#387f0e93f5d45280373d387a59d34c96db321963" @@ -3060,11 +3193,6 @@ arraybuffer.prototype.slice@^1.0.2: is-array-buffer "^3.0.2" is-shared-array-buffer "^1.0.2" -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== - asciichart@1.5.25: version "1.5.25" resolved "https://registry.yarnpkg.com/asciichart/-/asciichart-1.5.25.tgz#f5aca189801b4e58019139bbb5922ab3cae3ca90" @@ -3425,6 +3553,11 @@ buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== +buffer-crc32@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-1.0.0.tgz#a10993b9055081d55304bd9feb4a072de179f405" + integrity sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w== + buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" @@ -3458,6 +3591,14 @@ buffer@^5.2.1, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + buffers@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" @@ -3575,15 +3716,6 @@ camel-case@^4.1.2: pascal-case "^3.1.2" tslib "^2.0.3" -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -3695,6 +3827,21 @@ chokidar@3.5.3, chokidar@^3.5.0, chokidar@^3.5.1, chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" +chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -3986,6 +4133,17 @@ compress-commons@^5.0.1: normalize-path "^3.0.0" readable-stream "^3.6.0" +compress-commons@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-6.0.2.tgz#26d31251a66b9d6ba23a84064ecd3a6a71d2609e" + integrity sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg== + dependencies: + crc-32 "^1.2.0" + crc32-stream "^6.0.0" + is-stream "^2.0.1" + normalize-path "^3.0.0" + readable-stream "^4.0.0" + compressing@^1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/compressing/-/compressing-1.10.0.tgz#bca0f734736b5bb05c3a176fef8d60d7f5f322da" @@ -4156,6 +4314,14 @@ crc32-stream@^5.0.0: crc-32 "^1.2.0" readable-stream "^3.4.0" +crc32-stream@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-6.0.0.tgz#8529a3868f8b27abb915f6c3617c0fadedbf9430" + integrity sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g== + dependencies: + crc-32 "^1.2.0" + readable-stream "^4.0.0" + create-jest@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" @@ -4254,10 +4420,10 @@ custom-event@~1.0.0: resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== -dargs@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" - integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== +dargs@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-8.1.0.tgz#a34859ea509cbce45485e5aa356fef70bfcc7272" + integrity sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw== data-uri-to-buffer@^4.0.0: version "4.0.1" @@ -4304,19 +4470,6 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" -decamelize-keys@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" - integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - decamelize@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" @@ -4548,6 +4701,11 @@ devtools-protocol@^0.0.1249869: resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1249869.tgz#000c3cf1afc189a18db98135a50d4a8f95a47d29" integrity sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg== +devtools-protocol@^0.0.1263784: + version "0.0.1263784" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1263784.tgz#fffc6860ac1afc46c4495e8b888ba50adb116bf3" + integrity sha512-k0SCZMwj587w4F8QYbP5iIbSonL6sd3q8aVJch036r9Tv2t9b5/Oq7AiJ/FJvRuORm/pJNXZtrdNNWlpRnl56A== + devtools-protocol@^0.0.982423: version "0.0.982423" resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.982423.tgz#39ac3791d4c5b90ebb416d4384663b7b0cc44154" @@ -5060,10 +5218,10 @@ eslint-plugin-jest@^27.9.0: dependencies: "@typescript-eslint/utils" "^5.10.0" -eslint-plugin-jsdoc@^48.2.0: - version "48.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.0.tgz#a726fbd6fa286fad8fc14f0a6aca48488d188d95" - integrity sha512-O2B1XLBJnUCRkggFzUQ+PBYJDit8iAgXdlu8ucolqGrbmOWPvttZQZX8d1sC0MbqDMSLs8SHSQxaNPRY1RQREg== +eslint-plugin-jsdoc@^48.2.1: + version "48.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz#9334a05555a95fdc192980627142177963b668b4" + integrity sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g== dependencies: "@es-joy/jsdoccomment" "~0.42.0" are-docs-informative "^0.0.2" @@ -5193,6 +5351,11 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" @@ -5203,6 +5366,11 @@ eventemitter3@^5.0.1: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== +events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + execa@8.0.1, execa@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" @@ -5278,19 +5446,19 @@ expand-tilde@~2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect-webdriverio@^4.9.3: - version "4.9.3" - resolved "https://registry.yarnpkg.com/expect-webdriverio/-/expect-webdriverio-4.9.3.tgz#bca07c0f65da90360b5db1a1def07f35c2a7ab31" - integrity sha512-ASHsFc/QaK5ipF4ct3e8hd3elm8wNXk/Qa3EemtYDmfUQ4uzwqDf75m/QFQpwVNCjEpkNP7Be/6X9kz7bN0P9Q== +expect-webdriverio@^4.11.2: + version "4.11.9" + resolved "https://registry.yarnpkg.com/expect-webdriverio/-/expect-webdriverio-4.11.9.tgz#f9270ad8827b5770c3e517d6469de0451c5711ed" + integrity sha512-nHVLoC4W8wuVAyfpitJ07iDMLjeQ2OeYVjrKEb7dMeG4fqlegzN1SGYnnsKay+KWrte9KzuW1pZ7h5Nmbm/hAQ== dependencies: - "@vitest/snapshot" "^1.2.1" + "@vitest/snapshot" "^1.2.2" expect "^29.7.0" jest-matcher-utils "^29.7.0" lodash.isequal "^4.5.0" optionalDependencies: - "@wdio/globals" "^8.27.0" - "@wdio/logger" "^8.24.12" - webdriverio "^8.27.0" + "@wdio/globals" "^8.29.3" + "@wdio/logger" "^8.28.0" + webdriverio "^8.29.3" expect@^29.0.0, expect@^29.7.0: version "29.7.0" @@ -5612,6 +5780,15 @@ find-up@^6.3.0: locate-path "^7.1.0" path-exists "^5.0.0" +find-up@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-7.0.0.tgz#e8dec1455f74f78d888ad65bf7ca13dd2b4e66fb" + integrity sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g== + dependencies: + locate-path "^7.2.0" + path-exists "^5.0.0" + unicorn-magic "^0.1.0" + find-versions@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" @@ -5946,16 +6123,14 @@ get-uri@^6.0.1: debug "^4.3.4" fs-extra "^8.1.0" -git-raw-commits@^2.0.11: - version "2.0.11" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" - integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== +git-raw-commits@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-4.0.0.tgz#b212fd2bff9726d27c1283a1157e829490593285" + integrity sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ== dependencies: - dargs "^7.0.0" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" + dargs "^8.0.0" + meow "^12.0.1" + split2 "^4.0.0" glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" @@ -5995,7 +6170,7 @@ glob@7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^10.2.2, glob@^10.3.10: +glob@^10.0.0, glob@^10.2.2, glob@^10.3.10: version "10.3.10" resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== @@ -6054,12 +6229,12 @@ global-agent@^2.1.12: semver "^7.3.2" serialize-error "^7.0.1" -global-dirs@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== +global-directory@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/global-directory/-/global-directory-4.0.1.tgz#4d7ac7cfd2cb73f304c53b8810891748df5e361e" + integrity sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q== dependencies: - ini "^1.3.4" + ini "4.1.1" globals@^11.1.0: version "11.12.0" @@ -6191,11 +6366,6 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" @@ -6292,18 +6462,6 @@ homedir-polyfill@^1.0.1: dependencies: parse-passwd "^1.0.0" -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== - dependencies: - lru-cache "^6.0.0" - hosted-git-info@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz#9985fcb2700467fecf7f33a4d4874e30680b5322" @@ -6452,10 +6610,10 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@^8.0.2: - version "8.0.3" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" - integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== +husky@^9.0.11: + version "9.0.11" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" + integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" @@ -6478,7 +6636,7 @@ iconv-lite@^0.5.0: dependencies: safer-buffer ">= 2.1.2 < 3" -ieee754@^1.1.13: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -6493,7 +6651,7 @@ immediate@~3.0.5: resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== -import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: +import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -6562,6 +6720,11 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== +ini@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1" + integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== + ini@^1.3.4: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" @@ -6610,7 +6773,7 @@ ip@^1.1.8: resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.9.tgz#8dfbcc99a754d07f425310b86a99546b1151e396" integrity sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ== -ip@^2.0.0: +ip@^2.0.0, ip@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105" integrity sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ== @@ -6680,7 +6843,7 @@ is-ci@^3.0.1: dependencies: ci-info "^3.2.0" -is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.8.1: +is-core-module@^2.13.0, is-core-module@^2.8.1: version "2.13.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== @@ -6799,7 +6962,7 @@ is-path-inside@^3.0.3: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: +is-plain-obj@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== @@ -6856,7 +7019,7 @@ is-stream@^1.1.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== -is-stream@^2.0.0: +is-stream@^2.0.0, is-stream@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== @@ -7665,10 +7828,10 @@ karma-sauce-launcher-fix-firefox@3.0.1: saucelabs "6.2.2" webdriverio "7.19.5" -karma@6.4.2: - version "6.4.2" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.2.tgz#a983f874cee6f35990c4b2dcc3d274653714de8e" - integrity sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ== +karma@6.4.3: + version "6.4.3" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.3.tgz#763e500f99597218bbb536de1a14acc4ceea7ce8" + integrity sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q== dependencies: "@colors/colors" "1.5.0" body-parser "^1.19.0" @@ -7689,7 +7852,7 @@ karma@6.4.2: qjobs "^1.2.0" range-parser "^1.2.1" rimraf "^3.0.2" - socket.io "^4.4.1" + socket.io "^4.7.2" source-map "^0.6.1" tmp "^0.2.1" ua-parser-js "^0.7.30" @@ -7716,11 +7879,6 @@ keyv@^4.0.0, keyv@^4.5.3: dependencies: json-buffer "3.0.1" -kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" @@ -7968,7 +8126,7 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -locate-path@^7.1.0: +locate-path@^7.1.0, locate-path@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== @@ -8025,11 +8183,6 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== -lodash.isfunction@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" - integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== - lodash.isinteger@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" @@ -8260,10 +8413,10 @@ magic-string@^0.30.5: dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" -magic-string@^0.30.7: - version "0.30.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.7.tgz#0cecd0527d473298679da95a2d7aeb8c64048505" - integrity sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA== +magic-string@^0.30.8: + version "0.30.8" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.8.tgz#14e8624246d2bedba70d5462aa99ac9681844613" + integrity sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ== dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" @@ -8322,16 +8475,6 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - markdown-table@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" @@ -8364,23 +8507,6 @@ meow@^12.0.1: resolved "https://registry.yarnpkg.com/meow/-/meow-12.1.1.tgz#e558dddbab12477b69b2e9a2728c327f191bace6" integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== -meow@^8.0.0: - version "8.1.2" - resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" - integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -8461,11 +8587,6 @@ mimic-response@^4.0.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -8513,15 +8634,6 @@ minimatch@~3.0.2: dependencies: brace-expansion "^1.1.7" -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" @@ -8800,26 +8912,6 @@ nopt@^5.0.0: dependencies: abbrev "1" -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - normalize-package-data@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-6.0.0.tgz#68a96b3c11edd462af7189c837b6b1064a484196" @@ -9298,7 +9390,7 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^5.0.0, parse-json@^5.2.0: +parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -9640,6 +9732,11 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + progress@2.0.3, progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -9854,11 +9951,6 @@ queue-tick@^1.0.1: resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - quick-lru@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" @@ -9901,35 +9993,16 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -read-pkg-up@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-10.1.0.tgz#2d13ab732d2f05d6e8094167c2112e2ee50644f4" - integrity sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA== +read-pkg-up@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-10.0.0.tgz#0542d21ff1001d2bfff1f6eac8b4d1d1dc486617" + integrity sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g== dependencies: find-up "^6.3.0" - read-pkg "^8.1.0" - type-fest "^4.2.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" + read-pkg "^8.0.0" + type-fest "^3.12.0" -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -read-pkg@^8.1.0: +read-pkg@^8.0.0: version "8.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-8.1.0.tgz#6cf560b91d90df68bce658527e7e3eee75f7c4c7" integrity sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ== @@ -9939,15 +10012,6 @@ read-pkg@^8.1.0: parse-json "^7.0.0" type-fest "^4.2.0" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" @@ -9961,6 +10025,26 @@ readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^4.0.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.5.2.tgz#9e7fc4c45099baeed934bff6eb97ba6cf2729e09" + integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g== + dependencies: + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" + string_decoder "^1.3.0" + readdir-glob@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.3.tgz#c3d831f51f5e7bfa62fa2ffbe4b508c640f09584" @@ -9982,14 +10066,6 @@ recursive-readdir@^2.2.3: dependencies: minimatch "^3.0.5" -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - reduce-flatten@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" @@ -10031,22 +10107,15 @@ resolve-cwd@^3.0.0: dependencies: resolve-from "^5.0.0" -resolve-from@5.0.0, resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-global@1.0.0, resolve-global@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-global/-/resolve-global-1.0.0.tgz#a2a79df4af2ca3f49bf77ef9ddacd322dad19255" - integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== - dependencies: - global-dirs "^0.1.1" +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve-path@^1.4.0: version "1.4.0" @@ -10061,19 +10130,19 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.10.0, resolve@^1.22.1, resolve@~1.22.6: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== +resolve@^1.11.0, resolve@^1.20.0, resolve@^1.22.4: + version "1.22.6" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" + integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== dependencies: is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.11.0, resolve@^1.20.0, resolve@^1.22.4: - version "1.22.6" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" - integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== +resolve@^1.22.1, resolve@~1.22.6: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" path-parse "^1.0.7" @@ -10203,26 +10272,26 @@ rollup@4.3.0: "@rollup/rollup-win32-x64-msvc" "4.3.0" fsevents "~2.3.2" -rollup@^4.9.6: - version "4.9.6" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.9.6.tgz#4515facb0318ecca254a2ee1315e22e09efc50a0" - integrity sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg== +rollup@^4.12.1: + version "4.12.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.12.1.tgz#0659cb02551cde4c5b210e9bd3af050b5b5b415d" + integrity sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg== dependencies: "@types/estree" "1.0.5" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.9.6" - "@rollup/rollup-android-arm64" "4.9.6" - "@rollup/rollup-darwin-arm64" "4.9.6" - "@rollup/rollup-darwin-x64" "4.9.6" - "@rollup/rollup-linux-arm-gnueabihf" "4.9.6" - "@rollup/rollup-linux-arm64-gnu" "4.9.6" - "@rollup/rollup-linux-arm64-musl" "4.9.6" - "@rollup/rollup-linux-riscv64-gnu" "4.9.6" - "@rollup/rollup-linux-x64-gnu" "4.9.6" - "@rollup/rollup-linux-x64-musl" "4.9.6" - "@rollup/rollup-win32-arm64-msvc" "4.9.6" - "@rollup/rollup-win32-ia32-msvc" "4.9.6" - "@rollup/rollup-win32-x64-msvc" "4.9.6" + "@rollup/rollup-android-arm-eabi" "4.12.1" + "@rollup/rollup-android-arm64" "4.12.1" + "@rollup/rollup-darwin-arm64" "4.12.1" + "@rollup/rollup-darwin-x64" "4.12.1" + "@rollup/rollup-linux-arm-gnueabihf" "4.12.1" + "@rollup/rollup-linux-arm64-gnu" "4.12.1" + "@rollup/rollup-linux-arm64-musl" "4.12.1" + "@rollup/rollup-linux-riscv64-gnu" "4.12.1" + "@rollup/rollup-linux-x64-gnu" "4.12.1" + "@rollup/rollup-linux-x64-musl" "4.12.1" + "@rollup/rollup-win32-arm64-msvc" "4.12.1" + "@rollup/rollup-win32-ia32-msvc" "4.12.1" + "@rollup/rollup-win32-x64-msvc" "4.12.1" fsevents "~2.3.2" run-async@^3.0.0: @@ -10362,7 +10431,7 @@ semver-truncate@^1.1.2: dependencies: semver "^5.3.0" -"semver@2 || 3 || 4 || 5", semver@7.5.3, semver@7.5.4, semver@7.6.0, semver@^5.3.0, semver@^5.5.0, semver@^5.6.0, semver@^6.0.0, semver@^6.3.0, semver@^6.3.1, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: +semver@7.5.3, semver@7.5.4, semver@^5.3.0, semver@^5.5.0, semver@^5.6.0, semver@^6.0.0, semver@^6.3.0, semver@^6.3.1, semver@^7.1.1, semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -10606,7 +10675,7 @@ socket.io-parser@~4.2.1, socket.io-parser@~4.2.4: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" -socket.io@^4.4.1: +socket.io@^4.7.2: version "4.7.4" resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.7.4.tgz#2401a2d7101e4bdc64da80b140d5d8b6a8c7738b" integrity sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw== @@ -10736,13 +10805,6 @@ split-on-first@^1.0.0: resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== -split2@^3.0.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - split2@^4.0.0, split2@^4.1.0, split2@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" @@ -10907,7 +10969,7 @@ string.prototype.trimstart@^1.0.7: define-properties "^1.2.0" es-abstract "^1.22.1" -string_decoder@^1.1.1: +string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -10967,13 +11029,6 @@ strip-final-newline@^3.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - strip-json-comments@3.1.1, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -11164,10 +11219,10 @@ tar@^6.0.2, tar@^6.1.11, tar@^6.1.2: mkdirp "^1.0.3" yallist "^4.0.0" -terser@^5.27.0: - version "5.27.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" - integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== +terser@^5.29.1: + version "5.29.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.29.1.tgz#44e58045b70c09792ba14bfb7b4e14ca8755b9fa" + integrity sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -11198,13 +11253,6 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -through2@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -11283,11 +11331,6 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - trim-repeated@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" @@ -11401,11 +11444,6 @@ type-fest@^0.13.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -11416,22 +11454,12 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - type-fest@^2.12.2: version "2.19.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== -type-fest@^3.0.0, type-fest@^3.8.0: +type-fest@^3.0.0, type-fest@^3.12.0, type-fest@^3.8.0: version "3.13.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== @@ -11488,10 +11516,10 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" -typescript@5.3.3: - version "5.3.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== +typescript@5.4.2: + version "5.4.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.2.tgz#0ae9cebcfae970718474fe0da2c090cad6577372" + integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== typical@^4.0.0: version "4.0.0" @@ -11541,6 +11569,11 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +unicorn-magic@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" + integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== + unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" @@ -11691,7 +11724,7 @@ v8-to-istanbul@^9.0.1: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^2.0.0" -validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: +validate-npm-package-license@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== @@ -11776,6 +11809,23 @@ webdriver@8.29.3: ky "^0.33.0" ws "^8.8.0" +webdriver@8.33.1: + version "8.33.1" + resolved "https://registry.yarnpkg.com/webdriver/-/webdriver-8.33.1.tgz#589358723e8e28b1f118466ac771cf0f6cd64ede" + integrity sha512-QREF4c08omN9BPh3QDmz5h+OEvjdzDliuEcrDuXoDnHSMxIj1rsonzsgRaM2PXhFZuPeMIiKZYqc7Qg9BGbh6A== + dependencies: + "@types/node" "^20.1.0" + "@types/ws" "^8.5.3" + "@wdio/config" "8.33.1" + "@wdio/logger" "8.28.0" + "@wdio/protocols" "8.32.0" + "@wdio/types" "8.32.4" + "@wdio/utils" "8.33.1" + deepmerge-ts "^5.1.0" + got "^12.6.1" + ky "^0.33.0" + ws "^8.8.0" + webdriverio@7.19.5: version "7.19.5" resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-7.19.5.tgz#ba5edc75da6cea93da03bbe67b60e5d435b92269" @@ -11809,7 +11859,37 @@ webdriverio@7.19.5: serialize-error "^8.0.0" webdriver "7.19.5" -webdriverio@8.29.3, webdriverio@^8.27.0, webdriverio@^8.29.3: +webdriverio@8.33.1, webdriverio@^8.33.1: + version "8.33.1" + resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-8.33.1.tgz#cf7f853f1d9be81b08ce9b62e87b95bbcf2dac1b" + integrity sha512-1DsF8sx1a46AoVYCUpEwJYU74iBAW/U2H5r6p+60ct7dIiFmxmc4uCbOqtf7NLOTgrIzAOaRnT0EsrRICpg5Qw== + dependencies: + "@types/node" "^20.1.0" + "@wdio/config" "8.33.1" + "@wdio/logger" "8.28.0" + "@wdio/protocols" "8.32.0" + "@wdio/repl" "8.24.12" + "@wdio/types" "8.32.4" + "@wdio/utils" "8.33.1" + archiver "^7.0.0" + aria-query "^5.0.0" + css-shorthand-properties "^1.1.1" + css-value "^0.0.1" + devtools-protocol "^0.0.1263784" + grapheme-splitter "^1.0.2" + import-meta-resolve "^4.0.0" + is-plain-obj "^4.1.0" + lodash.clonedeep "^4.5.0" + lodash.zip "^4.2.0" + minimatch "^9.0.0" + puppeteer-core "^20.9.0" + query-selector-shadow-dom "^1.0.0" + resq "^1.9.1" + rgb2hex "0.2.5" + serialize-error "^11.0.1" + webdriver "8.33.1" + +webdriverio@^8.29.3: version "8.29.3" resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-8.29.3.tgz#a1665613b9ab9df31f1f43167176de6e4eee0f44" integrity sha512-U8JQuBXSJhdSdSnDttekN3o6WCTf3o805HDncOYtRebFd3/4vy2PmYBOOhbY5lmEq7/ROA8KSbe7TfogWskzTQ== @@ -12109,7 +12189,7 @@ yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs-parser@^20.2.2, yargs-parser@^20.2.3: +yargs-parser@^20.2.2: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== @@ -12210,3 +12290,12 @@ zip-stream@^5.0.1: archiver-utils "^4.0.1" compress-commons "^5.0.1" readable-stream "^3.6.0" + +zip-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-6.0.1.tgz#e141b930ed60ccaf5d7fa9c8260e0d1748a2bbfb" + integrity sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA== + dependencies: + archiver-utils "^5.0.0" + compress-commons "^6.0.2" + readable-stream "^4.0.0"