diff --git a/.github/workflows/onRelease.yml b/.github/workflows/onRelease.yml index 220eecb8..752ff349 100644 --- a/.github/workflows/onRelease.yml +++ b/.github/workflows/onRelease.yml @@ -48,7 +48,7 @@ jobs: #ctc: true sign: true # At CLCO, the new patch branch's version will be released as 'prerelease'. After R2b, delete the logic below for 'latest' and update 'prerelease' candidate to 'latest' - tag: ${{ needs.getDistTag.outputs.tag || (needs.getMajorVersion.outputs.major == '3' && 'latest') || (needs.getMajorVersion.outputs.major == '4' && 'prerelease') ||'next' }} + tag: ${{ needs.getDistTag.outputs.tag || (needs.getMajorVersion.outputs.major == '4' && 'latest') || 'next' }} githubTag: ${{ github.event.release.tag_name || inputs.tag }} secrets: inherit diff --git a/README.md b/README.md index 037e651c..d696241a 100644 --- a/README.md +++ b/README.md @@ -209,13 +209,14 @@ _See code: [src/commands/lightning/dev/app.ts](https://github.com/salesforcecli/ ``` USAGE - $ sf lightning dev component -o [--json] [--flags-dir ] [-n ] [-c] + $ sf lightning dev component -o [--json] [--flags-dir ] [-n ] [--api-version ] [-c] FLAGS - -c, --client-select Launch component preview without selecting a component - -n, --name= Name of a component to preview. - -o, --target-org= (required) Username or alias of the target org. Not required if the `target-org` - configuration variable is already set. + -c, --client-select Launch component preview without selecting a component + -n, --name= Name of a component to preview. + -o, --target-org= (required) Username or alias of the target org. Not required if the `target-org` + configuration variable is already set. + --api-version= Override the api version used for api requests made by this command GLOBAL FLAGS --flags-dir= Import flag values from a directory. diff --git a/command-snapshot.json b/command-snapshot.json index aa16dcf4..26cc62d9 100644 --- a/command-snapshot.json +++ b/command-snapshot.json @@ -12,7 +12,7 @@ "command": "lightning:dev:component", "flagAliases": [], "flagChars": ["c", "n", "o"], - "flags": ["client-select", "flags-dir", "json", "name", "target-org"], + "flags": ["api-version", "client-select", "flags-dir", "json", "name", "target-org"], "plugin": "@salesforce/plugin-lightning-dev" }, { @@ -20,7 +20,7 @@ "command": "lightning:dev:site", "flagAliases": [], "flagChars": ["l", "n", "o"], - "flags": ["flags-dir", "get-latest", "guest", "name", "target-org", "ssr"], + "flags": ["flags-dir", "get-latest", "guest", "name", "ssr", "target-org"], "plugin": "@salesforce/plugin-lightning-dev" } ] diff --git a/lwc.config.json b/lwc.config.json index b3760737..c02ade53 100644 --- a/lwc.config.json +++ b/lwc.config.json @@ -1,7 +1,3 @@ { - "modules": [ - { - "npm": "lightning-base-components" - } - ] + "modules": [] } diff --git a/package.json b/package.json index 242d195e..2c27cd6d 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "dependencies": { "@inquirer/prompts": "^5.3.8", "@inquirer/select": "^2.4.7", - "@lwc/lwc-dev-server": "~13.3.6", - "@lwc/sfdc-lwc-compiler": "~13.3.0", + "@lwc/lwc-dev-server": "~13.2.20", + "@lwc/sfdc-lwc-compiler": "~13.2.20", "@lwrjs/api": "0.18.3", "@oclif/core": "^4.5.6", "@salesforce/core": "^8.23.3", @@ -17,7 +17,7 @@ "@salesforce/sf-plugins-core": "^11.2.4", "axios": "^1.13.2", "glob": "^11.1.0", - "lwc": "~8.26.1", + "lwc": "~8.25.1", "node-fetch": "^3.3.2", "open": "^10.2.0", "xml2js": "^0.6.2" @@ -237,7 +237,7 @@ ], "target": { "versionNumber": "66.0", - "matchingDevServerVersion": "~13.2.2" + "matchingDevServerVersion": "~13.2.20" }, "versionToTagMappings": [ { diff --git a/src/commands/lightning/dev/component.ts b/src/commands/lightning/dev/component.ts index 59723253..01f8516e 100644 --- a/src/commands/lightning/dev/component.ts +++ b/src/commands/lightning/dev/component.ts @@ -22,12 +22,21 @@ import { ComponentUtils } from '../../../shared/componentUtils.js'; import { PromptUtils } from '../../../shared/promptUtils.js'; import { PreviewUtils } from '../../../shared/previewUtils.js'; import { startLWCServer } from '../../../lwc-dev-server/index.js'; +import { MetaUtils } from '../../../shared/metaUtils.js'; Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-lightning-dev', 'lightning.dev.component'); const sharedMessages = Messages.loadMessages('@salesforce/plugin-lightning-dev', 'shared.utils'); -export default class LightningDevComponent extends SfCommand { +export type ComponentPreviewResult = { + instanceUrl: string; + ldpServerUrl: string; + ldpServerId: string; + componentName: string; + previewUrl: string; +}; + +export default class LightningDevComponent extends SfCommand { public static readonly summary = messages.getMessage('summary'); public static readonly description = messages.getMessage('description'); public static readonly examples = messages.getMessages('examples'); @@ -38,6 +47,7 @@ export default class LightningDevComponent extends SfCommand { char: 'n', requiredOrDefaulted: false, }), + 'api-version': Flags.orgApiVersion(), 'client-select': Flags.boolean({ summary: messages.getMessage('flags.client-select.summary'), char: 'c', @@ -46,7 +56,7 @@ export default class LightningDevComponent extends SfCommand { 'target-org': Flags.requiredOrg(), }; - public async run(): Promise { + public async run(): Promise { const { flags } = await this.parse(LightningDevComponent); const logger = await Logger.child(this.ctor.name); const project = await SfProject.resolve(); @@ -63,6 +73,17 @@ export default class LightningDevComponent extends SfCommand { let componentName = flags['name']; const clientSelect = flags['client-select']; const targetOrg = flags['target-org']; + const apiVersion = flags['api-version']; + + // Auto enable local dev + if (process.env.AUTO_ENABLE_LOCAL_DEV === 'true') { + try { + await MetaUtils.ensureLightningPreviewEnabled(targetOrg.getConnection(undefined)); + await MetaUtils.ensureFirstPartyCookiesNotRequired(targetOrg.getConnection(undefined)); + } catch (error) { + this.log('Error autoenabling local dev', error); + } + } const { ldpServerId, ldpServerToken } = await PreviewUtils.initializePreviewConnection(targetOrg); @@ -71,44 +92,56 @@ export default class LightningDevComponent extends SfCommand { logger.debug(`Next available ports are http=${serverPorts.httpPort} , https=${serverPorts.httpsPort}`); logger.debug('Determining Local Dev Server url'); - const ldpServerUrl = PreviewUtils.generateWebSocketUrlForLocalDevServer(Platform.desktop, serverPorts, logger); + let ldpServerUrl; + + // In Code Builder, we cannot go to localhost - we need to use a proxy URI to get to the ldpServer + if (process.env.SF_CONTAINER_MODE && process.env.VSCODE_PROXY_URI) { + logger.debug('In Code Builder Mode - using proxy URI'); + ldpServerUrl = process.env.VSCODE_PROXY_URI.replace('https://', 'ws://').replace( + '{{port}}', + `${serverPorts.httpPort}` + ); + } else { + // Default behavior + ldpServerUrl = PreviewUtils.generateWebSocketUrlForLocalDevServer(Platform.desktop, serverPorts, logger); + } logger.debug(`Local Dev Server url is ${ldpServerUrl}`); - const namespacePaths = await ComponentUtils.getNamespacePaths(project); - const componentPaths = await ComponentUtils.getAllComponentPaths(namespacePaths); - if (!componentPaths) { - throw new Error(messages.getMessage('error.directory')); - } + if (!clientSelect) { + const namespacePaths = await ComponentUtils.getNamespacePaths(project); + const componentPaths = await ComponentUtils.getAllComponentPaths(namespacePaths); + if (!componentPaths) { + throw new Error(messages.getMessage('error.directory')); + } - const components = ( - await Promise.all( - componentPaths.map(async (componentPath) => { - let xml; - - try { - xml = await ComponentUtils.getComponentMetadata(componentPath); - } catch (err) { - this.warn(messages.getMessage('error.component-metadata', [componentPath])); - } - - // components must have meta xml to be previewed - if (!xml) { - return undefined; - } - - const name = path.basename(componentPath); - const label = ComponentUtils.componentNameToTitleCase(name); - - return { - name, - label: xml.LightningComponentBundle.masterLabel ?? label, - description: xml.LightningComponentBundle.description ?? '', - }; - }) - ) - ).filter((component) => !!component); + const components = ( + await Promise.all( + componentPaths.map(async (componentPath) => { + let xml; + + try { + xml = await ComponentUtils.getComponentMetadata(componentPath); + } catch (err) { + this.warn(messages.getMessage('error.component-metadata', [componentPath])); + } + + // components must have meta xml to be previewed + if (!xml) { + return undefined; + } + + const name = path.basename(componentPath); + const label = ComponentUtils.componentNameToTitleCase(name); + + return { + name, + label: xml.LightningComponentBundle.masterLabel ?? label, + description: xml.LightningComponentBundle.description ?? '', + }; + }) + ) + ).filter((component) => !!component); - if (!clientSelect) { if (componentName) { // validate that the component exists before launching the server const match = components.find( @@ -138,7 +171,28 @@ export default class LightningDevComponent extends SfCommand { targetOrgArg ); - // Open the browser and navigate to the right page - await this.config.runCommand('org:open', launchArguments); + // Construct and log the full URL that will be opened + const connection = targetOrg.getConnection(apiVersion); + + // strip trailing slashes + const instanceUrl = connection.instanceUrl.replace(/\/$/, ''); + + const previewUrl = PreviewUtils.generateComponentPreviewUrl(instanceUrl, ldpServerUrl, ldpServerId, componentName); + + // Prepare the result for JSON output + const result: ComponentPreviewResult = { + instanceUrl, + ldpServerUrl, + ldpServerId, + componentName: componentName ?? '', + previewUrl, + }; + + // Open the browser and navigate to the right page (unless OPEN_BROWSER is set to true) + if (process.env.OPEN_BROWSER !== 'false') { + await this.config.runCommand('org:open', launchArguments); + } + + return result; } } diff --git a/src/shared/metaUtils.ts b/src/shared/metaUtils.ts new file mode 100644 index 00000000..c5968047 --- /dev/null +++ b/src/shared/metaUtils.ts @@ -0,0 +1,239 @@ +/* + * Copyright 2025, Salesforce, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Connection, Logger } from '@salesforce/core'; + +type LightningExperienceSettingsMetadata = { + [key: string]: unknown; + fullName?: string; + enableLightningPreviewPref?: string | boolean; +}; + +type MyDomainSettingsMetadata = { + [key: string]: unknown; + fullName?: string; + isFirstPartyCookieUseRequired?: string | boolean; +}; + +type MetadataUpdateResult = { + success: boolean; + fullName: string; + errors?: Array<{ message: string }>; +}; + +/** + * Utility class for managing Salesforce metadata settings related to Lightning Development. + */ +export class MetaUtils { + private static logger = Logger.childFromRoot('metaUtils'); + + /** + * Retrieves the Lightning Experience Settings metadata from the org. + * + * @param connection the connection to the org + * @returns LightningExperienceSettingsMetadata object containing the settings + * @throws Error if unable to retrieve the metadata + */ + public static async getLightningExperienceSettings( + connection: Connection + ): Promise { + this.logger.debug('Retrieving Lightning Experience Settings metadata'); + + const metadata = await connection.metadata.read('LightningExperienceSettings', 'enableLightningPreviewPref'); + + if (!metadata) { + throw new Error('Unable to retrieve Lightning Experience Settings metadata.'); + } + + if (Array.isArray(metadata)) { + if (metadata.length === 0) { + throw new Error('Lightning Experience Settings metadata response was empty.'); + } + return metadata[0] as LightningExperienceSettingsMetadata; + } + + return metadata as LightningExperienceSettingsMetadata; + } + + /** + * Checks if Lightning Preview (Local Dev) is enabled for the org. + * + * @param connection the connection to the org + * @returns boolean indicating whether Lightning Preview is enabled + */ + public static async isLightningPreviewEnabled(connection: Connection): Promise { + try { + const settings = await this.getLightningExperienceSettings(connection); + const flagValue = settings.enableLightningPreviewPref ?? 'false'; + const enabled = String(flagValue).toLowerCase().trim() === 'true'; + this.logger.debug(`Lightning Preview enabled: ${enabled}`); + return enabled; + } catch (error) { + this.logger.warn('Error checking Lightning Preview status, assuming disabled:', error); + return false; + } + } + + /** + * Enables or disables Lightning Preview (Local Dev) for the org by updating the metadata. + * + * @param connection the connection to the org + * @param enable boolean indicating whether to enable (true) or disable (false) Lightning Preview + * @throws Error if the metadata update fails + */ + public static async setLightningPreviewEnabled(connection: Connection, enable: boolean): Promise { + this.logger.debug(`Setting Lightning Preview enabled to: ${enable}`); + + const updateResult = await connection.metadata.update('LightningExperienceSettings', { + fullName: 'enableLightningPreviewPref', + enableLightningPreviewPref: enable ? 'true' : 'false', + }); + + const results = Array.isArray(updateResult) ? updateResult : [updateResult]; + const typedResults = results as MetadataUpdateResult[]; + const errors = typedResults.filter((result) => !result.success); + + if (errors.length > 0) { + const message = errors + .flatMap((result) => (Array.isArray(result.errors) ? result.errors : result.errors ? [result.errors] : [])) + .filter((error): error is { message: string } => Boolean(error)) + .map((error) => error.message) + .join(' '); + + throw new Error(message || 'Failed to update Lightning Preview setting.'); + } + + this.logger.debug('Successfully updated Lightning Preview setting'); + } + + /** + * Retrieves the My Domain Settings metadata from the org. + * + * @param connection the connection to the org + * @returns MyDomainSettingsMetadata object containing the settings + * @throws Error if unable to retrieve the metadata + */ + public static async getMyDomainSettings(connection: Connection): Promise { + this.logger.debug('Retrieving My Domain Settings metadata'); + + const metadata = await connection.metadata.read('MyDomainSettings', 'MyDomain'); + + if (!metadata) { + throw new Error('Unable to retrieve My Domain settings metadata.'); + } + + if (Array.isArray(metadata)) { + if (metadata.length === 0) { + throw new Error('My Domain settings metadata response was empty.'); + } + return metadata[0] as MyDomainSettingsMetadata; + } + + return metadata as MyDomainSettingsMetadata; + } + + /** + * Checks if first-party cookies are required for the org. + * + * @param connection the connection to the org + * @returns boolean indicating whether first-party cookies are required + */ + public static async isFirstPartyCookieRequired(connection: Connection): Promise { + try { + const settings = await this.getMyDomainSettings(connection); + const flagValue = settings.isFirstPartyCookieUseRequired ?? 'false'; + const required = String(flagValue).toLowerCase().trim() === 'true'; + this.logger.debug(`First-party cookie required: ${required}`); + return required; + } catch (error) { + this.logger.warn('Error checking first-party cookie requirement, assuming not required:', error); + return false; + } + } + + /** + * Updates the My Domain setting that controls whether first-party cookies are required. + * + * @param connection the connection to the org + * @param requireFirstPartyCookies boolean indicating whether to require first-party cookies + * @throws Error if the metadata update fails + */ + public static async setMyDomainFirstPartyCookieRequirement( + connection: Connection, + requireFirstPartyCookies: boolean + ): Promise { + this.logger.debug(`Setting first-party cookie requirement to: ${requireFirstPartyCookies}`); + + const updateResult = await connection.metadata.update('MyDomainSettings', { + fullName: 'MyDomain', + isFirstPartyCookieUseRequired: requireFirstPartyCookies ? 'true' : 'false', + }); + + const results = Array.isArray(updateResult) ? updateResult : [updateResult]; + const typedResults = results as MetadataUpdateResult[]; + const errors = typedResults.filter((result) => !result.success); + + if (errors.length > 0) { + const message = errors + .flatMap((result) => (Array.isArray(result.errors) ? result.errors : result.errors ? [result.errors] : [])) + .filter((error): error is { message: string } => Boolean(error)) + .map((error) => error.message) + .join(' '); + + throw new Error(message || 'Failed to update My Domain first-party cookie requirement.'); + } + + this.logger.debug('Successfully updated first-party cookie requirement'); + } + + /** + * Ensures Lightning Preview is enabled for the org. If it's not enabled, this method will enable it. + * + * @param connection the connection to the org + * @returns boolean indicating whether Lightning Preview was already enabled (true) or had to be enabled (false) + */ + public static async ensureLightningPreviewEnabled(connection: Connection): Promise { + const isEnabled = await this.isLightningPreviewEnabled(connection); + + if (!isEnabled) { + this.logger.info('Lightning Preview is not enabled. Enabling it now...'); + await this.setLightningPreviewEnabled(connection, true); + return false; + } + + this.logger.debug('Lightning Preview is already enabled'); + return true; + } + + /** + * Ensures first-party cookies are not required for the org. If they are required, this method will disable the requirement. + * + * @param connection the connection to the org + * @returns boolean indicating whether first-party cookies were already not required (true) or had to be disabled (false) + */ + public static async ensureFirstPartyCookiesNotRequired(connection: Connection): Promise { + const isRequired = await this.isFirstPartyCookieRequired(connection); + + if (isRequired) { + this.logger.info('First-party cookies are required. Disabling requirement...'); + await this.setMyDomainFirstPartyCookieRequirement(connection, false); + return false; + } + + this.logger.debug('First-party cookies are not required'); + return true; + } +} diff --git a/src/shared/previewUtils.ts b/src/shared/previewUtils.ts index f5de5279..862b4d86 100644 --- a/src/shared/previewUtils.ts +++ b/src/shared/previewUtils.ts @@ -238,9 +238,7 @@ export class PreviewUtils { componentName?: string, targetOrg?: string ): string[] { - let appPath = `lwr/application/e/devpreview/ai/${encodeURIComponent( - 'localdev%2Fpreview' - )}?ldpServerUrl=${ldpServerUrl}&ldpServerId=${ldpServerId}`; + let appPath = `lwr/application/e/devpreview/ai/localdev-preview?ldpServerUrl=${ldpServerUrl}&ldpServerId=${ldpServerId}`; if (componentName) { // TODO: support other namespaces appPath += `&specifier=c/${componentName}`; @@ -255,6 +253,31 @@ export class PreviewUtils { return launchArguments; } + /** + * Generates the full URL for a component preview. + * + * @param instanceUrl The URL of the Salesforce instance + * @param ldpServerUrl The URL for the local dev server + * @param ldpServerId Record ID for the identity token + * @param componentName The name of the component to preview + * @param encodePath Whether to encode the path + * @returns The full URL for the component preview + */ + public static generateComponentPreviewUrl( + instanceUrl: string, + ldpServerUrl: string, + ldpServerId: string, + componentName?: string + ): string { + let url = `${instanceUrl}/lwr/application/e/devpreview/ai/localdev-preview?ldpServerUrl=${ldpServerUrl}&ldpServerId=${ldpServerId}`; + if (componentName) { + // TODO: support other namespaces + url += `&specifier=c/${componentName}`; + } + + return url; + } + /** * Generates the proper set of arguments to be used for launching a mobile app with custom launch arguments. * diff --git a/yarn.lock b/yarn.lock index b0469c53..d318b48b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -133,7 +133,7 @@ "@smithy/util-waiter" "^4.2.5" tslib "^2.6.2" -"@aws-sdk/client-s3@^3.940.0": +"@aws-sdk/client-s3@^3.946.0": version "3.946.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.946.0.tgz#462ca31b0ffdf9c77e990a794004ff5bcc6e0672" integrity sha512-Y3ww3yd1wzmS2r3qgH3jg4MxCTdeNrae2J1BmdV+IW/2R2gFWJva5U5GbS6KUSUxanJBRG7gd8uOIi1b0EMOng== @@ -650,9 +650,9 @@ tslib "^2.6.2" "@aws/lambda-invoke-store@^0.2.0": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.1.tgz#ceecff9ebe1f6199369e6911f38633fac3322811" - integrity sha512-sIyFcoPZkTtNu9xFeEoynMef3bPJIAbOfUh+ueYcfhVl6xm2VRtMcMclSxmZCMnHHd4hlYKJeq/aggmBEWynww== + version "0.2.2" + resolved "https://registry.yarnpkg.com/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.2.tgz#b00f7d6aedfe832ef6c84488f3a422cce6a47efa" + integrity sha512-C0NBLsIqzDIae8HFw9YIrIBsbc0xTiOtt7fAukGPnqQ/+zZNaq+4jhuccltK0QuWHBnNm/a6kLIRA6GFiM10eg== "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.26.2", "@babel/code-frame@^7.27.1": version "7.27.1" @@ -1504,13 +1504,20 @@ debug "^4.3.1" minimatch "^3.1.2" -"@eslint/config-helpers@^0.4.2": +"@eslint/config-helpers@^0.4.1": version "0.4.2" resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.4.2.tgz#1bd006ceeb7e2e55b2b773ab318d300e1a66aeda" integrity sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw== dependencies: "@eslint/core" "^0.17.0" +"@eslint/core@^0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.16.0.tgz#490254f275ba9667ddbab344f4f0a6b7a7bd7209" + integrity sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q== + dependencies: + "@types/json-schema" "^7.0.15" + "@eslint/core@^0.17.0": version "0.17.0" resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.17.0.tgz#77225820413d9617509da9342190a2019e78761c" @@ -1553,10 +1560,10 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== -"@eslint/js@9.39.1": - version "9.39.1" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.39.1.tgz#0dd59c3a9f40e3f1882975c321470969243e0164" - integrity sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw== +"@eslint/js@9.38.0": + version "9.38.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.38.0.tgz#f7aa9c7577577f53302c1d795643589d7709ebd1" + integrity sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A== "@eslint/js@^9.17.0": version "9.29.0" @@ -1568,7 +1575,7 @@ resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.7.tgz#6e2126a1347e86a4dedf8706ec67ff8e107ebbad" integrity sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA== -"@eslint/plugin-kit@^0.4.1": +"@eslint/plugin-kit@^0.4.0": version "0.4.1" resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz#9779e3fd9b7ee33571a57435cf4335a1794a6cb2" integrity sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA== @@ -2201,25 +2208,25 @@ dependencies: "@locker/shared" "0.24.6" -"@lwc/aria-reflection@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/aria-reflection/-/aria-reflection-8.26.1.tgz#f84c388c917e752670802451cfe8ad83a90be6c4" - integrity sha512-McFimbDfd15Gz07o27XBtGUfgMeZWtEpKhn9r0WeUqfgGdY534+fMJtwtsuPPHjHU4pm1PRtGTfC9bBOf2AYJA== +"@lwc/aria-reflection@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/aria-reflection/-/aria-reflection-8.25.1.tgz#15d8d94c6b396b4a75584e70b967e307bffa1093" + integrity sha512-UKfSvYu/QDfrwpQPdyfMmTGur/4IwT8ukBbq58k8k88sQEHCzvs14dkRriUKnOy8l/32nR4FMEi0ebwlkNLy/A== -"@lwc/babel-plugin-component@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/babel-plugin-component/-/babel-plugin-component-8.26.1.tgz#24536f43bff3a0d3b9e06efbe4468b9732797bab" - integrity sha512-smsmuHYtGkgG/9fL/VB1R1p5/WKOmuWfbno9Q7MQ0HkISmetlc/uUiJ/bGmHnHnnyPpTnbx7cW3CctHXeQElkA== +"@lwc/babel-plugin-component@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/babel-plugin-component/-/babel-plugin-component-8.25.1.tgz#34987ee945090e4a5a389ac6d364c73205e9d978" + integrity sha512-54gWw6FfA3hPYoMRXLqpIGpD4RWWM68rIReopMd5A+IAGJ21blTBBsvg/Ry7Ehl2SaMTUjmPSjVYB+HY0xg6Ug== dependencies: "@babel/helper-module-imports" "7.27.1" - "@lwc/errors" "8.26.1" - "@lwc/shared" "8.26.1" + "@lwc/errors" "8.25.1" + "@lwc/shared" "8.25.1" line-column "~1.0.2" -"@lwc/compiler@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/compiler/-/compiler-8.26.1.tgz#583be625f5dbb4b787352f3f8fb363120c15783e" - integrity sha512-KLQ85AKoUGkLRwFG/iRWbCahew/F/SeBgVBP/65DukUNHIPCWto+k28CO24s0maF0zk7eD84Z89O30Rvgx9gsw== +"@lwc/compiler@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/compiler/-/compiler-8.25.1.tgz#c7c50e29e6926fa73f5d1bec9c94ebc6cfb7099a" + integrity sha512-KjaXQH/sGUmJJSLSY9cljQzNMwLx5D1eebwqH05LdKbJDsaYCRAPsDqkx4Zopk9YIXDsJvRmSMw3rTh31JHimg== dependencies: "@babel/core" "7.28.5" "@babel/plugin-transform-async-generator-functions" "7.28.0" @@ -2227,43 +2234,43 @@ "@babel/plugin-transform-class-properties" "7.27.1" "@babel/plugin-transform-object-rest-spread" "7.28.4" "@locker/babel-plugin-transform-unforgeables" "0.22.0" - "@lwc/babel-plugin-component" "8.26.1" - "@lwc/errors" "8.26.1" - "@lwc/shared" "8.26.1" - "@lwc/ssr-compiler" "8.26.1" - "@lwc/style-compiler" "8.26.1" - "@lwc/template-compiler" "8.26.1" - -"@lwc/dev-server-plugin-lex@13.3.6": - version "13.3.6" - resolved "https://registry.yarnpkg.com/@lwc/dev-server-plugin-lex/-/dev-server-plugin-lex-13.3.6.tgz#06a69499cb68dc1a6480b42150f91ade9fc90fc7" - integrity sha512-N7r3iz6HWDlLYcH0mFfOplGnJ0Sc6wRsITpFpn2uyjxlrZ2UUCICZ/pjS55O8juM0z62AkpBrP7hrKx5jbQeLA== + "@lwc/babel-plugin-component" "8.25.1" + "@lwc/errors" "8.25.1" + "@lwc/shared" "8.25.1" + "@lwc/ssr-compiler" "8.25.1" + "@lwc/style-compiler" "8.25.1" + "@lwc/template-compiler" "8.25.1" + +"@lwc/dev-server-plugin-lex@13.2.20": + version "13.2.20" + resolved "https://registry.yarnpkg.com/@lwc/dev-server-plugin-lex/-/dev-server-plugin-lex-13.2.20.tgz#f48e0d43f42e4316f18eb1ed26fcbfb5cff1749a" + integrity sha512-+VvN5sLILmT2KIWRolx8S9aGFV3mPqn2u78Q0g7UAXVqT2ld/4ZSfEUDVXSrTGNu+4MZbBxU31WZzeuxc8vkmA== dependencies: magic-string "~0.30.21" -"@lwc/engine-core@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/engine-core/-/engine-core-8.26.1.tgz#40e5ccd3a829e4d85b16e11c4ed39fb35c96a9a4" - integrity sha512-/iwURgkOj3jy2jZ7NKIVqAs13K20LGY2TA2s4bxlgv1Y+3VBZS4DZz2lFid8DNjigBv4G9j7F7DlsLV21BTn5A== +"@lwc/engine-core@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/engine-core/-/engine-core-8.25.1.tgz#7d0540e3dece2d7b2cd982ec1f9dd235428b59b6" + integrity sha512-meTXiJ60l0/Dy1k4R3UkBLFRrEJm/lVRo+c2wKXE82DjK2dJ0noFXcVTiU52qjQPlRja71ybi2kaLIbF2+X95g== dependencies: - "@lwc/features" "8.26.1" - "@lwc/shared" "8.26.1" - "@lwc/signals" "8.26.1" + "@lwc/features" "8.25.1" + "@lwc/shared" "8.25.1" + "@lwc/signals" "8.25.1" -"@lwc/engine-dom@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/engine-dom/-/engine-dom-8.26.1.tgz#8fdcecec3d144e16e901f1b3cabb6dca7936a3c8" - integrity sha512-uFMcAqzNiD0KjUjyVSl9hzuvBwBauLQfWjA0CA2cFqCECEm+SnQlRBT7uwGA7SpbPmY5pOUEetrWLmzQeo+VgA== +"@lwc/engine-dom@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/engine-dom/-/engine-dom-8.25.1.tgz#f6cec52db72f21a641a365f57429a532a20474c7" + integrity sha512-mXfiJ1Xp/wOCrT8tQyW16AHGn7uJY6BwKaIpxZcFYudsNAN/JOB6MSrRVha7lJG2zyvSpsYPWf2Gqr22wci0+Q== -"@lwc/engine-server@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/engine-server/-/engine-server-8.26.1.tgz#94df672dadfc6f294b268bdf2d24e4c3a72b9091" - integrity sha512-Kla50nogCu1Nb+IXo1ARrsUP7sZv33BtcEqL6DUFm6AnElMT8brUaSJvjGov6gA7Ac8P5EDR27lq0EXt6DCMdw== +"@lwc/engine-server@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/engine-server/-/engine-server-8.25.1.tgz#8c89fa902a2172e39b875045b8dc197d3d1f6495" + integrity sha512-9ntYQoF9SfOu9AZpVHszs/9GasEN/lAsDdoh+6GYs2a89fKO+JduY8PorJGOYLQJPGkD8IHhpTUXhg806Tuf9w== -"@lwc/errors@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/errors/-/errors-8.26.1.tgz#4a4c08c817ea6dab26f4a526922899d0ea3ea642" - integrity sha512-N31GODfyzdnWNn9PU8PqbiATctJZoDowYdTispITVie3dGRINWrAr+OvrlSMeMF7bnM7d7V53ysrl6+yjhlnQw== +"@lwc/errors@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/errors/-/errors-8.25.1.tgz#a5dfe17adf5d9eaf969856f8fd36196010afa01c" + integrity sha512-ETJxtQeIFQ6/ZOjp7fjQva7UbpPU4CV6WyauqtEtGhs0cRXnYd5mEJdD1S8JfARn0bTYieivTtXNafg/YqwU5g== "@lwc/eslint-plugin-lwc-platform@6.3.0": version "6.3.0" @@ -2281,25 +2288,25 @@ globals "~15.14.0" minimatch "~9.0.4" -"@lwc/features@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/features/-/features-8.26.1.tgz#6d90d91d7d2615f2baf8930c8eb9cdbbd4174dd8" - integrity sha512-ovrBvsC5G49J5HpS8jizZ9N36/r0NneDB3SYUAb8XcUP40kywNoPEyWiHS0JobvlbujJKXX3tl+BZVAmWu+N1Q== +"@lwc/features@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/features/-/features-8.25.1.tgz#c27fce66ef687d5eb63293c31bc88050ab19a512" + integrity sha512-N0+1FPlcG1/tuNtuUAf/ASqtcOhI9IuhrRFSRmUe8GxxVDjr6et+x1AaDWl8BlneeUVF0+85UY7QNI98SGE1cA== dependencies: - "@lwc/shared" "8.26.1" + "@lwc/shared" "8.25.1" -"@lwc/lwc-dev-server-types@13.3.6": - version "13.3.6" - resolved "https://registry.yarnpkg.com/@lwc/lwc-dev-server-types/-/lwc-dev-server-types-13.3.6.tgz#7f5ea5fab7bbe35ae7fc9d8fa18e7720c9891b0c" - integrity sha512-+4VpVgK0+oSa2U8KqmTVo7OguRh4RlFgL+wV7uMwLUCiN2cXIpvn8PSHDv5FmXQWKuWBiCSRLPG0SehEwsyb9Q== +"@lwc/lwc-dev-server-types@13.2.20": + version "13.2.20" + resolved "https://registry.yarnpkg.com/@lwc/lwc-dev-server-types/-/lwc-dev-server-types-13.2.20.tgz#aedf477c6b451db452c109729e13de6662fb1585" + integrity sha512-6nMFOoNvusOEjFyQ1YoXzKTGJsTdj/IcneJ3W0ac4B4xxz2twcZybeG4jXZhy970sjdWcaWpqp3Vu5kGtJsnJA== -"@lwc/lwc-dev-server@~13.3.6": - version "13.3.6" - resolved "https://registry.yarnpkg.com/@lwc/lwc-dev-server/-/lwc-dev-server-13.3.6.tgz#76c135e2ba49cc3b8f2466926126e8697e606258" - integrity sha512-amoqzkW8U3f/oS7yXLWuaPNvaIEUvDr+Ho/X/iYCFNKWL8LajeWAvm80dUIwJVV/ExbzadvvbeLyyOFobUP6mQ== +"@lwc/lwc-dev-server@~13.2.20": + version "13.2.20" + resolved "https://registry.yarnpkg.com/@lwc/lwc-dev-server/-/lwc-dev-server-13.2.20.tgz#fef34e855aa947a76f4f80365be9b7e2a930229b" + integrity sha512-7I3u3pINBWFvhejEjvxhLGmaGko0y4Mw9ean0mf4F9d90jX+t4SIN9rtN2In9Fi+uhmZAG66/QqqldKVul8PFQ== dependencies: - "@lwc/lwc-dev-server-types" "13.3.6" - "@lwc/sfdc-lwc-compiler" "13.3.6" + "@lwc/lwc-dev-server-types" "13.2.20" + "@lwc/sfdc-lwc-compiler" "13.2.20" chalk "~5.6.2" chokidar "~3.6.0" commander "~14.0.2" @@ -2307,45 +2314,45 @@ glob "^11.0.3" ws "^8.18.3" -"@lwc/metadata@13.3.6": - version "13.3.6" - resolved "https://registry.yarnpkg.com/@lwc/metadata/-/metadata-13.3.6.tgz#66dc6b2c3d0b67ce328f5901fe1e339774440d5a" - integrity sha512-5+K2awgy6CUbkROwCRkLI6NyDhktm71nv/r1vT17K/lVa3F+aEjzbfclwrVcjXrGVnaEp8PlXhmfHLx56jgElQ== +"@lwc/metadata@13.2.20": + version "13.2.20" + resolved "https://registry.yarnpkg.com/@lwc/metadata/-/metadata-13.2.20.tgz#ff04e6ad34eb8d6f93178d57cc5e1df6a9eb7572" + integrity sha512-Y/SfQTseaO+EqHMFV9yBtaxyUYnAA8FRHrQBfJ/y8oeS7jRr+DSyiOFHJpx5NqsyAtmx2KTjggmWow6GgfjD+A== dependencies: "@babel/parser" "~7.28.5" "@babel/traverse" "~7.28.5" "@babel/types" "~7.28.5" - "@lwc/sfdc-compiler-utils" "13.3.6" + "@lwc/sfdc-compiler-utils" "13.2.20" postcss "~8.5.6" postcss-selector-parser "~7.1.0" postcss-value-parser "~4.2.0" -"@lwc/module-resolver@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/module-resolver/-/module-resolver-8.26.1.tgz#09109f01e190747a8f16a4e5d9c02bb9039115fa" - integrity sha512-lRBPaNJBZFNws6pA6l6xaLEybQ3pEmRhx0oo92b3iUrLzBirQuVHd3v8IkMzZ4Vkd/Qzi7iH/rB2F7Iv0qkl1w== +"@lwc/module-resolver@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/module-resolver/-/module-resolver-8.25.1.tgz#9c7d0c7f53e0648da45b9ae3982bcb5584082bce" + integrity sha512-pX1eXsjRpdLmomo3YTTZwAvP31EOvhEc4icQCUEu+dUsmY2/DDn+7lOWvzbA91z0vfkFCq1+eZQQ9oD1JdAtdg== dependencies: resolve "~1.22.11" -"@lwc/rollup-plugin@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/rollup-plugin/-/rollup-plugin-8.26.1.tgz#bc2b362f6bb5b625900c74107dbf1d6641aa3715" - integrity sha512-X6gaHhAYFeuEdLo4+GMT0VDDXFRR4aif7kzjGFFKgngxIyrIO6F8FPvLyuaWsfWltOHnA80UhGoj3hlCo/ZrxQ== +"@lwc/rollup-plugin@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/rollup-plugin/-/rollup-plugin-8.25.1.tgz#232289631933a993406ee55d6f00a82d5411d0ce" + integrity sha512-nwFe1k2Yy85EK9gCbkebdvnCI3tkFIwB7pGoYMHZD0RdzhLtQrpTady1yEr2D2wggOWFabyg2s+m/8zanjpLmQ== dependencies: - "@lwc/compiler" "8.26.1" - "@lwc/module-resolver" "8.26.1" - "@lwc/shared" "8.26.1" + "@lwc/compiler" "8.25.1" + "@lwc/module-resolver" "8.25.1" + "@lwc/shared" "8.25.1" "@rollup/pluginutils" "~5.3.0" -"@lwc/sfdc-compiler-utils@13.3.6": - version "13.3.6" - resolved "https://registry.yarnpkg.com/@lwc/sfdc-compiler-utils/-/sfdc-compiler-utils-13.3.6.tgz#2038bf1551229f30151d2aa071106ce3cde7dfe6" - integrity sha512-xYakZmn9miIIoEX1C45Bv6pkdtdpSUeBbFFh+20++N5K5cU93yKz80rbTUGaqNfxCtX/cRHxQosbbvWa/1dZaQ== +"@lwc/sfdc-compiler-utils@13.2.20": + version "13.2.20" + resolved "https://registry.yarnpkg.com/@lwc/sfdc-compiler-utils/-/sfdc-compiler-utils-13.2.20.tgz#1d5985a7169ce5f6192ede48405a3b53cfa3423f" + integrity sha512-IeorL44CtqnOQhqe8QHqaotOp5uWlraeRJHcRhb0Ssz32LAyIf/4rL+9nleVACfSSiKEyVnkBb7ZTo7TD1edkg== -"@lwc/sfdc-lwc-compiler@13.3.6", "@lwc/sfdc-lwc-compiler@~13.3.0": - version "13.3.6" - resolved "https://registry.yarnpkg.com/@lwc/sfdc-lwc-compiler/-/sfdc-lwc-compiler-13.3.6.tgz#767a3472b72ed4fe75d4bcc06824e7b2b1914fbe" - integrity sha512-eE6f0ihFH12BFAiOh+1WPcI2qCERpLdFiLzpdF/jscNqH3tyP7PyfQQ9uFYL1da+CNiSWS7yEWTxW+HXE0Yj/A== +"@lwc/sfdc-lwc-compiler@13.2.20", "@lwc/sfdc-lwc-compiler@~13.2.20": + version "13.2.20" + resolved "https://registry.yarnpkg.com/@lwc/sfdc-lwc-compiler/-/sfdc-lwc-compiler-13.2.20.tgz#a07a58d08098e752967a70102ff296cd700114a8" + integrity sha512-c1TNMX0lS4K8NdtfEdQSmj1gVYD3Bk+JTikWJK8VyWPN55La+2NZ1+Lf+f0bYUyFOYesJa1OTpiScGLnZzQTmQ== dependencies: "@babel/core" "7.28.5" "@babel/parser" "7.28.5" @@ -2354,11 +2361,11 @@ "@babel/traverse" "7.28.5" "@babel/types" "7.28.5" "@komaci/esm-generator" "260.31.0" - "@lwc/dev-server-plugin-lex" "13.3.6" + "@lwc/dev-server-plugin-lex" "13.2.20" "@lwc/eslint-plugin-lwc" "3.3.0" "@lwc/eslint-plugin-lwc-platform" "6.3.0" - "@lwc/metadata" "13.3.6" - "@lwc/sfdc-compiler-utils" "13.3.6" + "@lwc/metadata" "13.2.20" + "@lwc/sfdc-compiler-utils" "13.2.20" "@rollup/plugin-babel" "^6.1.0" "@rollup/plugin-replace" "^6.0.3" "@rollup/wasm-node" "4.52.5" @@ -2367,86 +2374,85 @@ "@swc/wasm" "1.14.0" astring "~1.9.0" doctrine "~3.0.0" - eslint "~9.39.1" + eslint "~9.38.0" eslint-plugin-import "~2.32.0" eslint-plugin-jest "~29.0.1" gray-matter "~4.0.3" line-column "~1.0.2" magic-string "~0.30.21" markdown-it "~14.1.0" - meriyah "^5.0.0" parse5-sax-parser "~8.0.0" postcss "~8.5.6" postcss-selector-parser "~7.1.0" terser "~5.44.0" -"@lwc/shared@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/shared/-/shared-8.26.1.tgz#f137942628fea06ad083709dc39e38dd2f516c80" - integrity sha512-i8OrdCg/2YADJ4qYRs3Zx7+ssSe4vT+Ucer1kayDvJaeS37qfJ7MOeFVtJejJgagFsqpTDMVQrwBIEutXvNrpg== +"@lwc/shared@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/shared/-/shared-8.25.1.tgz#b58de342c396a04352063a2e196bec780df69eee" + integrity sha512-+L1+ZDUTyTAfEgCo9dm14hCanzCWKJqg/FjITDj1kB4n2WAbwj4sa2u3PuoQB3J5v3uiV+8wGUV/rlS8Kc2EXQ== -"@lwc/signals@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/signals/-/signals-8.26.1.tgz#442359e3c7373b8981e857a34f4ca1a9ef803174" - integrity sha512-lDLFQLRoLp469AlrRTJvrgNSUGn5L8xlxNuFlwZNPAQNkWaMJLDMTJuZXeWYhsSo8yoFluzGJUMwTnxK4bAjXQ== +"@lwc/signals@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/signals/-/signals-8.25.1.tgz#e913b28c3dc161afe31e34faae4bb1092f07a41c" + integrity sha512-mpNj0wQyCAOio/+V26JAa5qRxUCeQq8W5zoiFZqUxybqHwCo8GHewOsCnO+opzHN3IFEF9L8R4R9ohCzgFXnew== -"@lwc/ssr-compiler@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/ssr-compiler/-/ssr-compiler-8.26.1.tgz#1e638339ca270754436da724c45aad417142247a" - integrity sha512-ghGyu46Y7uj878ctFi5bCKCgkx7U3/Nf1lWgIxqaH9b7KLIvzjVEdmidhlzzPcs4Q+Tzma369JOvqEUWAZiU/Q== +"@lwc/ssr-compiler@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/ssr-compiler/-/ssr-compiler-8.25.1.tgz#b2973535e7fae9a1b6b2a4db1e8360c814495489" + integrity sha512-qExYVLWm8kw7OrwQOpItrME3ILjvZfZGO1NiehFtAGRX6s0NG3z4aayg/lCwhNK0wAVAC+5VHykdw9lDRoN5tA== dependencies: "@babel/types" "7.28.5" - "@lwc/errors" "8.26.1" - "@lwc/shared" "8.26.1" - "@lwc/template-compiler" "8.26.1" + "@lwc/errors" "8.25.1" + "@lwc/shared" "8.25.1" + "@lwc/template-compiler" "8.25.1" acorn "8.15.0" astring "^1.9.0" estree-toolkit "^1.7.13" - immer "^11.0.1" + immer "^10.2.0" meriyah "^5.0.0" -"@lwc/ssr-runtime@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/ssr-runtime/-/ssr-runtime-8.26.1.tgz#2783de6f91024781f196b069b89826eb4a9f0047" - integrity sha512-PZB5AiVch0G9SbX/ql4CuNDUr093/jVmmC1mZhD2v0F7aGGkt+1y2ikdgaNS1KIPWs8mCXobz4+yhLlYPl5aiQ== +"@lwc/ssr-runtime@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/ssr-runtime/-/ssr-runtime-8.25.1.tgz#b0efde12457367330505ebe9a79458a182a5f642" + integrity sha512-v2JJDaBmkuYD5Bc0dywUAmHF4F9/uPH4kjsuU60Phuwiyu0ZaZBnCEseI6yxghqSYdyzvwaxU3vAq0kccDkReA== -"@lwc/style-compiler@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/style-compiler/-/style-compiler-8.26.1.tgz#c571835d6a974061d24094ecbd1ee53e3a1ab2e5" - integrity sha512-kwqH1DC1XLy6+VOv5aY0FU8Yl2PEbjNEvizyyQkBRUT0p2th9BQbnbbXj8jt7nO5x6+2T9j1rEPsM+jGm7e0eQ== +"@lwc/style-compiler@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/style-compiler/-/style-compiler-8.25.1.tgz#eff9ca80f046fcf8cc7395812d51c04fcfaaec53" + integrity sha512-CK+PDnpqRY0IG/qDdXFThciLc6ddUA4zcWZR2X2yh2LWWyITPzIcZgWEELhQh38tjo+vTBmHmpORJ9jaRk68hw== dependencies: - "@lwc/shared" "8.26.1" + "@lwc/shared" "8.25.1" postcss "~8.5.6" postcss-selector-parser "~7.1.0" postcss-value-parser "~4.2.0" -"@lwc/synthetic-shadow@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/synthetic-shadow/-/synthetic-shadow-8.26.1.tgz#1d6235fea262a9a32f888bad89dea2fc92a43fcd" - integrity sha512-YmO94H2s9Lyf1kaRTivlcJG6TeOLRtwNen+r6F6XkCdw/ixSqFRuqOlLSdC7SBAEDr6bsAO9TyPUwVtFX5GNPw== +"@lwc/synthetic-shadow@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/synthetic-shadow/-/synthetic-shadow-8.25.1.tgz#1354f83b78e9f72449734945b971130a8ccfe2b0" + integrity sha512-Iwh50gTw8pzR8R6kcZt9w1jwmo9W7Zu6m/He+w4x0NSqs8rBBafHYQ17djS+tQC+2kUXVsPbvA1vXgQpau7/SA== -"@lwc/template-compiler@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/template-compiler/-/template-compiler-8.26.1.tgz#e42655d3f95752bff9ddd73df2081ee8c5b1deff" - integrity sha512-jieubNk23MAZFSesbZFL6daQ014kCx+dPk9NnM/B+H4tAd93tCawhWn4kB7SckO+WP3ZP2l6OHWp+37bp9zXjg== +"@lwc/template-compiler@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/template-compiler/-/template-compiler-8.25.1.tgz#336e2b53e735bd2cf7eefc7c2a9a2ecfbb1c39c7" + integrity sha512-ZslFjm/vQFA+WkIIXs7JvHd1ilS2UTfzCsKBk5UUDhXGO7ivOvUOAIMteLfkD1szxsIe1/SgDV7Y3gHeJFd1qw== dependencies: - "@lwc/errors" "8.26.1" - "@lwc/shared" "8.26.1" + "@lwc/errors" "8.25.1" + "@lwc/shared" "8.25.1" acorn "~8.15.0" astring "~1.9.0" he "~1.2.0" -"@lwc/types@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/types/-/types-8.26.1.tgz#6004b2a311822c17b253ce68a9e256091edeb6b1" - integrity sha512-9iqDu3zbdb3aEYof8MNU7nbM8X0ZPV2ocNKP4//HuqRGzNiIUdq3EcRRekZQuHdaFZztZJXClh73Q/Th/xAdWA== +"@lwc/types@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/types/-/types-8.25.1.tgz#a2377c24b69d98da9d9ac5245cf2e7fb7140ab6a" + integrity sha512-V0vq4COz5et/iyY1zjOYJrs2TDkPNyFe50lHrOjZBzpZdXTcGwCqNiLHvh/trIKeZo4/5A5xPOCjJ3MOxhsTUw== dependencies: - "@lwc/engine-core" "8.26.1" + "@lwc/engine-core" "8.25.1" -"@lwc/wire-service@8.26.1": - version "8.26.1" - resolved "https://registry.yarnpkg.com/@lwc/wire-service/-/wire-service-8.26.1.tgz#127dbd55643e51afd1b9aee87e97abfe987d5d3a" - integrity sha512-zCnyMd9faQTRKCOJEyRjMOuWexiyLYD97b0y2MtxjAfoxnRf+qMZulnp0FHHyR9weEmiFFGPtvBkRY0szkvErQ== +"@lwc/wire-service@8.25.1": + version "8.25.1" + resolved "https://registry.yarnpkg.com/@lwc/wire-service/-/wire-service-8.25.1.tgz#4728abfecfa970c1b16786d096c9dc07213ccb7c" + integrity sha512-MHLwG1a7HNwF02OYaEquq7hrK9edXMLNkVHiP3gtx8EJfkefM1AQul/E+o3v6hIneI8tGlR013jF5Mm5C100YQ== "@lwrjs/api@0.18.3": version "0.18.3" @@ -5152,7 +5158,7 @@ browserslist@^4.23.0, browserslist@^4.24.0: node-releases "^2.0.18" update-browserslist-db "^1.1.0" -buffer-equal-constant-time@^1.0.1: +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" integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== @@ -6586,19 +6592,19 @@ eslint@^8.56.0, eslint@^8.57.0: strip-ansi "^6.0.1" text-table "^0.2.0" -eslint@~9.39.1: - version "9.39.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.39.1.tgz#be8bf7c6de77dcc4252b5a8dcb31c2efff74a6e5" - integrity sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g== +eslint@~9.38.0: + version "9.38.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.38.0.tgz#3957d2af804e5cf6cc503c618f60acc71acb2e7e" + integrity sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw== dependencies: "@eslint-community/eslint-utils" "^4.8.0" "@eslint-community/regexpp" "^4.12.1" "@eslint/config-array" "^0.21.1" - "@eslint/config-helpers" "^0.4.2" - "@eslint/core" "^0.17.0" + "@eslint/config-helpers" "^0.4.1" + "@eslint/core" "^0.16.0" "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.39.1" - "@eslint/plugin-kit" "^0.4.1" + "@eslint/js" "9.38.0" + "@eslint/plugin-kit" "^0.4.0" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.4.2" @@ -7293,7 +7299,19 @@ glob@^10.3.10: package-json-from-dist "^1.0.0" path-scurry "^1.11.1" -glob@^11.0.3, glob@^11.1.0: +glob@^11.0.3: + version "11.0.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-11.0.3.tgz#9d8087e6d72ddb3c4707b1d2778f80ea3eaefcd6" + integrity sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA== + dependencies: + foreground-child "^3.3.1" + jackspeak "^4.1.1" + minimatch "^10.0.3" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^2.0.0" + +glob@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/glob/-/glob-11.1.0.tgz#4f826576e4eb99c7dad383793d2f9f08f67e50a6" integrity sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw== @@ -7816,10 +7834,10 @@ immediate@~3.0.5: resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== -immer@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/immer/-/immer-11.0.1.tgz#2191adadc17afc94553bfb7a4c0ca95e55ec2489" - integrity sha512-naDCyggtcBWANtIrjQEajhhBEuL9b0Zg4zmlWK2CzS6xCWSE39/vvf4LqnMjUAWHBhot4m9MHCM/Z+mfWhUkiA== +immer@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/immer/-/immer-10.2.0.tgz#88a4ce06a1af64172d254b70f7cb04df51c871b1" + integrity sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw== import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" @@ -8555,21 +8573,21 @@ just-extend@^6.2.0: resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-6.2.0.tgz#b816abfb3d67ee860482e7401564672558163947" integrity sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw== -jwa@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.2.tgz#16011ac6db48de7b102777e57897901520eec7b9" - integrity sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw== +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== dependencies: - buffer-equal-constant-time "^1.0.1" + buffer-equal-constant-time "1.0.1" ecdsa-sig-formatter "1.0.11" safe-buffer "^5.0.1" jws@^3.2.2: - version "3.2.3" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.3.tgz#5ac0690b460900a27265de24520526853c0b8ca1" - integrity sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g== + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== dependencies: - jwa "^1.4.2" + jwa "^1.4.1" safe-buffer "^5.0.1" keygrip@~1.1.0: @@ -8904,29 +8922,29 @@ lunr@^2.3.9: resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== -lwc@~8.26.1: - version "8.26.1" - resolved "https://registry.yarnpkg.com/lwc/-/lwc-8.26.1.tgz#0e8b407b650c03716bdfbcdd4ecbc43173e6adae" - integrity sha512-ElxhfhWS47TBBfmbxk/d0HK96Z3kYLWSVpjpG0CHUCi1zhnmz2lH6DmQmgnOTBOTKBmj8f+Km7I+PNiExw7pOw== - dependencies: - "@lwc/aria-reflection" "8.26.1" - "@lwc/babel-plugin-component" "8.26.1" - "@lwc/compiler" "8.26.1" - "@lwc/engine-core" "8.26.1" - "@lwc/engine-dom" "8.26.1" - "@lwc/engine-server" "8.26.1" - "@lwc/errors" "8.26.1" - "@lwc/features" "8.26.1" - "@lwc/module-resolver" "8.26.1" - "@lwc/rollup-plugin" "8.26.1" - "@lwc/shared" "8.26.1" - "@lwc/ssr-compiler" "8.26.1" - "@lwc/ssr-runtime" "8.26.1" - "@lwc/style-compiler" "8.26.1" - "@lwc/synthetic-shadow" "8.26.1" - "@lwc/template-compiler" "8.26.1" - "@lwc/types" "8.26.1" - "@lwc/wire-service" "8.26.1" +lwc@~8.25.1: + version "8.25.1" + resolved "https://registry.yarnpkg.com/lwc/-/lwc-8.25.1.tgz#990bd4e9e7eb100af28be244f9be39889888612b" + integrity sha512-afHJ80wzoXflbZ32HUal05Wy0WO4zVdHb9HTLDivWzk0Podq0NqcKlZU72MiFDs0HtBnn+H6CMGhGMICQj/XYQ== + dependencies: + "@lwc/aria-reflection" "8.25.1" + "@lwc/babel-plugin-component" "8.25.1" + "@lwc/compiler" "8.25.1" + "@lwc/engine-core" "8.25.1" + "@lwc/engine-dom" "8.25.1" + "@lwc/engine-server" "8.25.1" + "@lwc/errors" "8.25.1" + "@lwc/features" "8.25.1" + "@lwc/module-resolver" "8.25.1" + "@lwc/rollup-plugin" "8.25.1" + "@lwc/shared" "8.25.1" + "@lwc/ssr-compiler" "8.25.1" + "@lwc/ssr-runtime" "8.25.1" + "@lwc/style-compiler" "8.25.1" + "@lwc/synthetic-shadow" "8.25.1" + "@lwc/template-compiler" "8.25.1" + "@lwc/types" "8.25.1" + "@lwc/wire-service" "8.25.1" magic-string@^0.25.3: version "0.25.9" @@ -9292,7 +9310,7 @@ minimatch@9.0.3: dependencies: brace-expansion "^2.0.1" -minimatch@^10.1.1: +minimatch@^10.0.3, minimatch@^10.1.1: version "10.1.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.1.1.tgz#e6e61b9b0c1dcab116b5a7d1458e8b6ae9e73a55" integrity sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ== @@ -9505,9 +9523,9 @@ node-fetch@^3.3.2: formdata-polyfill "^4.0.10" node-forge@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.2.tgz#d0d2659a26eef778bf84d73e7f55c08144ee7750" - integrity sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw== + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-preload@^0.2.1: version "0.2.1" @@ -9666,12 +9684,12 @@ object.values@^1.2.1: es-object-atoms "^1.0.0" oclif@^4.22.53: - version "4.22.53" - resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.22.53.tgz#19af7b82e5cc01f744a28a097fb7fc89cf282f73" - integrity sha512-FjAp54TrSjyGcpJINSY4e7/02bsGkx+Y8qCH4YjGWmXYzy3c7F7OLQQ9jqW2XYlWUdhfG+I0KTQK7t+JKmmvfg== + version "4.22.54" + resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.22.54.tgz#747947983f117687c052b22564056364e1950d32" + integrity sha512-+LWHTxh8Xi7BVp/eyrsOOutunwBOYpzq6HQ+vu3xEZgST/aqrvHqGFgLOwglEobf5oUqkbuH2LmVzweXCUBu8Q== dependencies: "@aws-sdk/client-cloudfront" "^3.946.0" - "@aws-sdk/client-s3" "^3.940.0" + "@aws-sdk/client-s3" "^3.946.0" "@inquirer/confirm" "^3.1.22" "@inquirer/input" "^2.2.4" "@inquirer/select" "^2.5.0"