From 03fd833a399771041d1edb58e22158cf12888ff1 Mon Sep 17 00:00:00 2001 From: Nicolas Kruk Date: Mon, 13 Jan 2025 05:23:32 -0500 Subject: [PATCH] feat: [sites] add `get-latest` cli parameter / update lwr -> v0.16.2 (includes latest local-dev fixes) (#311) --- LICENSE.txt | 2 +- command-snapshot.json | 4 +- messages/lightning.dev.site.md | 10 +- messages/prompts.md | 2 +- package.json | 2 +- src/commands/lightning/dev/site.ts | 41 ++- src/shared/experience/expSite.ts | 149 ++++----- src/shared/promptUtils.ts | 2 +- test/spec/expSite.test.ts | 1 + yarn.lock | 473 +++++++++++++++-------------- 10 files changed, 339 insertions(+), 347 deletions(-) diff --git a/LICENSE.txt b/LICENSE.txt index 6cfd873..fa1e65c 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright (c) 2024, Salesforce.com, Inc. +Copyright (c) 2025, Salesforce.com, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/command-snapshot.json b/command-snapshot.json index 0eb510c..d94ed66 100644 --- a/command-snapshot.json +++ b/command-snapshot.json @@ -11,8 +11,8 @@ "alias": [], "command": "lightning:dev:site", "flagAliases": [], - "flagChars": ["n", "o"], - "flags": ["flags-dir", "name", "target-org"], + "flagChars": ["l", "n", "o"], + "flags": ["flags-dir", "get-latest", "name", "target-org"], "plugin": "@salesforce/plugin-lightning-dev" } ] diff --git a/messages/lightning.dev.site.md b/messages/lightning.dev.site.md index 8580894..325433e 100644 --- a/messages/lightning.dev.site.md +++ b/messages/lightning.dev.site.md @@ -1,6 +1,6 @@ # summary -Preview an Experience Builder site locally and in real-time, without deploying it. +[Beta] Preview an Experience Builder site locally and in real-time, without deploying it. # description @@ -21,7 +21,15 @@ For more considerations and limitations, see the Lightning Web Components Develo Name of the Experience Builder site to preview. It has to match a site name from the current org. +# flags.get-latest.summary + +Download the latest version of the specified site from your org, instead of using any local cache. + # examples +- Select a site to preview from the org "myOrg": + <%= config.bin %> <%= command.id %> --target-org myOrg - Preview the site "Partner Central" from the org "myOrg": <%= config.bin %> <%= command.id %> --name "Partner Central" --target-org myOrg +- Get and preview the latest version of the "Partner Central" site from the org "myOrg" + <%= config.bin %> <%= command.id %> --name "Partner Central" --target-org myOrg --get-latest diff --git a/messages/prompts.md b/messages/prompts.md index 2fd9392..b37f385 100644 --- a/messages/prompts.md +++ b/messages/prompts.md @@ -1,6 +1,6 @@ # site.select -Select a site +Which Experience Cloud Site would you like to preview (Use arrow keys) # site.confirm-update diff --git a/package.json b/package.json index 619bd56..7a11745 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "@inquirer/select": "^2.4.7", "@lwc/lwc-dev-server": "^11.1.0", "@lwc/sfdc-lwc-compiler": "^11.1.0", - "@lwrjs/api": "0.15.6", + "@lwrjs/api": "0.16.2", "@oclif/core": "^4.1.0", "@salesforce/core": "^8.6.2", "@salesforce/kit": "^3.1.6", diff --git a/src/commands/lightning/dev/site.ts b/src/commands/lightning/dev/site.ts index bd71e98..71a4fe2 100644 --- a/src/commands/lightning/dev/site.ts +++ b/src/commands/lightning/dev/site.ts @@ -28,6 +28,10 @@ export default class LightningDevSite extends SfCommand { char: 'n', }), 'target-org': Flags.requiredOrg(), + 'get-latest': Flags.boolean({ + summary: messages.getMessage('flags.get-latest.summary'), + char: 'l', + }), }; public async run(): Promise { @@ -35,6 +39,7 @@ export default class LightningDevSite extends SfCommand { try { const org = flags['target-org']; + const getLatest = flags['get-latest']; let siteName = flags.name; const connection = org.getConnection(undefined); @@ -55,26 +60,27 @@ export default class LightningDevSite extends SfCommand { const selectedSite = new ExperienceSite(org, siteName); let siteZip: string | undefined; - if (!selectedSite.isSiteSetup()) { - this.log(`[local-dev] initializing: ${siteName}`); + // If the site is not setup / is not based on the current release / or get-latest is requested -> + // generate and download a new site bundle from the org based on latest builder metadata + if (!selectedSite.isSiteSetup() || getLatest) { + const startTime = Date.now(); + this.log(`[local-dev] Initializing: ${siteName}`); + this.spinner.start('[local-dev] Downloading site (this may take a few minutes)'); siteZip = await selectedSite.downloadSite(); - } else { - // If local-dev is already setup, check if an updated site has been published to download - const updateAvailable = await selectedSite.isUpdateAvailable(); - if (updateAvailable) { - const shouldUpdate = await PromptUtils.promptUserToConfirmUpdate(siteName); - if (shouldUpdate) { - this.log(`[local-dev] updating: ${siteName}`); - siteZip = await selectedSite.downloadSite(); - // delete oldSitePath recursive - const oldSitePath = selectedSite.getExtractDirectory(); - if (fs.existsSync(oldSitePath)) { - fs.rmdirSync(oldSitePath, { recursive: true }); - } - } + + // delete oldSitePath recursive + const oldSitePath = selectedSite.getExtractDirectory(); + if (fs.existsSync(oldSitePath)) { + fs.rmSync(oldSitePath, { recursive: true }); } + const endTime = Date.now(); + const duration = (endTime - startTime) / 1000; // Convert to seconds + this.spinner.stop('done.'); + this.log(`[local-dev] Site setup completed in ${duration.toFixed(2)} seconds.`); } + this.log(`[local-dev] launching browser preview for: ${siteName}`); + // Establish a valid access token for this site const authToken = await selectedSite.setupAuth(); @@ -94,10 +100,13 @@ export default class LightningDevSite extends SfCommand { // Environment variable used to setup the site rather than setup & start server if (process.env.SETUP_ONLY === 'true') { await setupDev(startupParams); + this.log('[local-dev] setup complete!'); } else { await expDev(startupParams); + this.log('[local-dev] watching for file changes... (CTRL-C to stop)'); } } catch (e) { + this.spinner.stop('failed.'); this.log('Local Development setup failed', e); } } diff --git a/src/shared/experience/expSite.ts b/src/shared/experience/expSite.ts index f932133..f0ad1f7 100644 --- a/src/shared/experience/expSite.ts +++ b/src/shared/experience/expSite.ts @@ -12,6 +12,7 @@ import axios from 'axios'; export type SiteMetadata = { bundleName: string; bundleLastModified: string; + coreVersion: string; }; export type SiteMetadataCache = { @@ -41,44 +42,6 @@ export class ExperienceSite { this.siteName = this.siteName.replace(/[^a-zA-Z0-9]/g, '_'); } - /** - * Get an experience site bundle by site name. - * - * @param conn - Salesforce connection object. - * @param siteName - The name of the experience site. - * @returns - The experience site. - * - * @param siteName - * @returns - */ - public static getLocalExpSite(siteName: string): ExperienceSite { - const siteJsonPath = path.join('.localdev', siteName.trim().replace(' ', '_'), 'site.json'); - const siteJson = fs.readFileSync(siteJsonPath, 'utf8'); - const site = JSON.parse(siteJson) as ExperienceSite; - return site; - } - - /** - * Fetches all experience site bundles that are published to MRT. - * - * @param {Connection} conn - Salesforce connection object. - * @returns {Promise} - List of experience sites. - */ - public static async getAllPublishedExpSites(org: Org): Promise { - const result = await org - .getConnection() - .query<{ Id: string; Name: string; LastModifiedDate: string }>( - "SELECT Id, Name, LastModifiedDate FROM StaticResource WHERE Name LIKE 'MRT%_'" - ); - - // Example of creating ExperienceSite instances - const experienceSites: ExperienceSite[] = result.records.map( - (record) => new ExperienceSite(org, getSiteNameFromStaticResource(record.Name)) - ); - - return experienceSites; - } - /** * Fetches all current experience sites * @@ -135,7 +98,10 @@ export class ExperienceSite { // Is the site extracted locally public isSiteSetup(): boolean { - return fs.existsSync(path.join(this.getExtractDirectory(), 'ssr.js')); + if (fs.existsSync(path.join(this.getExtractDirectory(), 'ssr.js'))) { + return this.getLocalMetadata()?.coreVersion === '254'; + } + return false; } // Is the static resource available on the server @@ -193,6 +159,7 @@ export class ExperienceSite { this.metadataCache.remoteMetadata = { bundleName: staticResource.Name, bundleLastModified: staticResource.LastModifiedDate, + coreVersion: '254', }; return this.metadataCache.remoteMetadata; } @@ -226,34 +193,15 @@ export class ExperienceSite { * @returns path of downloaded site zip */ public async downloadSite(): Promise { + let retVal; if (process.env.STATIC_MODE !== 'true') { - const retVal = await this.downloadSiteV2(); - return retVal; + // Use sites API to download the site bundle on demand + retVal = await this.downloadSiteApi(); } else { - const remoteMetadata = await this.getRemoteMetadata(); - if (!remoteMetadata) { - throw new SfError(`No published site found for: ${this.siteDisplayName}`); - } - - // Download the site from static resources - // eslint-disable-next-line no-console - console.log('[local-dev] Downloading site...'); // TODO spinner - const resourcePath = this.getSiteZipPath(remoteMetadata); - const staticresource = await this.org.getConnection().metadata.read('StaticResource', remoteMetadata.bundleName); - if (staticresource?.content) { - // Save the static resource - fs.mkdirSync(this.getSiteDirectory(), { recursive: true }); - const buffer = Buffer.from(staticresource.content, 'base64'); - fs.writeFileSync(resourcePath, buffer); - - // Save the site's metadata - this.saveMetadata(remoteMetadata); - } else { - throw new SfError(`Error occurred downloading your site: ${this.siteDisplayName}`); - } - - return resourcePath; + // This is for testing purposes only now - not an officially supported external path + retVal = await this.downloadSiteStaticResources(); } + return retVal; } /** @@ -261,7 +209,7 @@ export class ExperienceSite { * * @returns path of downloaded site zip */ - public async downloadSiteV2(): Promise { + public async downloadSiteApi(): Promise { const remoteMetadata = await this.org .getConnection() .query<{ Id: string; Name: string; LastModifiedDate: string; MasterLabel: string }>( @@ -273,30 +221,31 @@ export class ExperienceSite { const theSite = remoteMetadata.records[0]; // Download the site via API - // eslint-disable-next-line no-console - console.log('[local-dev] Downloading site...'); // TODO spinner const conn = this.org.getConnection(); const metadata = { bundleName: theSite.Name, bundleLastModified: theSite.LastModifiedDate, + coreVersion: '254', }; const siteId = theSite.Id; const siteIdMinus3 = siteId.substring(0, siteId.length - 3); const accessToken = conn.accessToken; const instanceUrl = conn.instanceUrl; // Org URL if (!accessToken) { - throw new SfError(`Error occurred downloading your site: ${this.siteDisplayName}`); + throw new SfError(`Invalid access token, unable to download site: ${this.siteDisplayName}`); } const resourcePath = this.getSiteZipPath(metadata); try { - const apiUrl = `${instanceUrl}/services/data/v63.0/sites/${siteIdMinus3}/preview`; + // Limit API to published sites for now until we have a patch for the issues with unpublished sites + // TODO switch api back to preview mode after issues are addressed + const apiUrl = `${instanceUrl}/services/data/v63.0/sites/${siteIdMinus3}/preview?published`; const response = await axios.get(apiUrl, { headers: { Authorization: `Bearer ${accessToken}`, }, responseType: 'stream', }); - fs.mkdirSync(this.getSiteDirectory(), { recursive: true }); + if (response.statusText) fs.mkdirSync(this.getSiteDirectory(), { recursive: true }); const fileStream = fs.createWriteStream(resourcePath); // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access @@ -307,15 +256,51 @@ export class ExperienceSite { fileStream.on('error', reject); }); this.saveMetadata(metadata); - } catch (e) { - // eslint-disable-next-line no-console - console.error('failed to download site', e); + } catch (error) { + // Handle axios errors + if (axios.isAxiosError(error)) { + if (error.response) { + // Server responded with non-200 status + throw new SfError( + `Failed to download site: Server responded with status ${error.response.status} - ${error.response.statusText}` + ); + } else if (error.request) { + // Request was made but no response received + throw new SfError('Failed to download site: No response received from server'); + } + } + throw new SfError(`Failed to download site: ${this.siteDisplayName}`); } // Save the site's metadata return resourcePath; } + // Deprecated. Only used internally now for testing. Customer sites will no longer be stored in static resources + // and are only available via the API. + public async downloadSiteStaticResources(): Promise { + const remoteMetadata = await this.getRemoteMetadata(); + if (!remoteMetadata) { + throw new SfError(`No published site found for: ${this.siteDisplayName}`); + } + + // Download the site from static resources + const resourcePath = this.getSiteZipPath(remoteMetadata); + const staticresource = await this.org.getConnection().metadata.read('StaticResource', remoteMetadata.bundleName); + if (staticresource?.content) { + // Save the static resource + fs.mkdirSync(this.getSiteDirectory(), { recursive: true }); + const buffer = Buffer.from(staticresource.content, 'base64'); + fs.writeFileSync(resourcePath, buffer); + + // Save the site's metadata + this.saveMetadata(remoteMetadata); + } else { + throw new SfError(`Error occurred downloading your site: ${this.siteDisplayName}`); + } + return resourcePath; + } + private async getNetworkId(): Promise { const conn = this.org.getConnection(); // Query the Network object for the network with the given site name @@ -332,6 +317,7 @@ export class ExperienceSite { } } + // TODO need to get auth tokens for the builder preview also once API issues are addressed private async getNewSidToken(networkId: string): Promise { // Get the connection and access token from the org const conn = this.org.getConnection(); @@ -344,9 +330,6 @@ export class ExperienceSite { // Make the GET request without following redirects if (accessToken) { - // TODO should we try and refresh auth here? - // await conn.refreshAuth(); - // Call out to the switcher servlet to establish a session const switchUrl = `${instanceUrl}/servlet/networks/switch?networkId=${networkId}`; const cookies = [`sid=${accessToken}`, `oid=${orgIdMinus3}`].join('; ').trim(); @@ -409,17 +392,3 @@ export class ExperienceSite { return ''; } } - -/** - * Return the site name given the name of its static resource bundle - * - * @param staticResourceName the static resource bundle name - * @returns the name of the site - */ -function getSiteNameFromStaticResource(staticResourceName: string): string { - const parts = staticResourceName.split('_'); - if (parts.length < 5) { - throw new Error(`Unexpected static resource name: ${staticResourceName}`); - } - return parts.slice(4).join(' '); -} diff --git a/src/shared/promptUtils.ts b/src/shared/promptUtils.ts index 1b9c623..04093ad 100644 --- a/src/shared/promptUtils.ts +++ b/src/shared/promptUtils.ts @@ -21,7 +21,7 @@ const messages = Messages.loadMessages('@salesforce/plugin-lightning-dev', 'prom export class PromptUtils { public static async promptUserToSelectSite(sites: string[]): Promise { - const choices = sites.map((site) => ({ value: site })); + const choices = sites.sort((a, b) => a.localeCompare(b)).map((site) => ({ value: site })); const response = await select({ message: messages.getMessage('site.select'), choices, diff --git a/test/spec/expSite.test.ts b/test/spec/expSite.test.ts index f29d3aa..6c58c3e 100644 --- a/test/spec/expSite.test.ts +++ b/test/spec/expSite.test.ts @@ -44,6 +44,7 @@ describe('getRemoteMetadata', () => { expect(remoteMetadata).to.deep.equal({ bundleName: 'MRT_experience_00DSG00000ECBfZ_0DMSG000001CfA6_site_with_special_chars_10-30_12-47', bundleLastModified: '2024-11-12', + coreVersion: '254', }); }); }); diff --git a/yarn.lock b/yarn.lock index c93e162..4dac33f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2201,184 +2201,184 @@ resolved "https://registry.yarnpkg.com/@lwc/wire-service/-/wire-service-8.10.1.tgz#36811d4a209722c475eb887e7089599cebc49137" integrity sha512-JrfMz8Ou/DKLSLis/ws9VkDGnrBaplDpKp0RD5yx8+Vdc7oI2VQPzKkpw2AaSj/UaGKh9DEz6P7NDy2vr43IQA== -"@lwrjs/api@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/api/-/api-0.15.6.tgz#ec49373de71e0c2037c65ff9633a2226292fc9ff" - integrity sha512-QUVU7Hz/FUE/WET9IPRm5C8NLoQfIL0IvgcagN5OJIS/dSt+d7DWyqMafaaFNY0I8EHpWbARUHQmPRgEDLFU2A== - dependencies: - "@lwrjs/config" "0.15.6" - "@lwrjs/core" "0.15.6" - "@lwrjs/dev-proxy-server" "0.15.6" - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/lwc-module-provider" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" - "@lwrjs/static" "0.15.6" - "@lwrjs/tools" "0.15.6" +"@lwrjs/api@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/api/-/api-0.16.2.tgz#624ef22d820ab26679fd2f1f5fed547b91c54407" + integrity sha512-4OTCFxgvkquiyRRlK+Zq9zcamnIs6RfzU1TZchK2fS3zb2zWsLV6yOl0jXo7unmzlvhmud402A2t+wx9u9fXDw== + dependencies: + "@lwrjs/config" "0.16.2" + "@lwrjs/core" "0.16.2" + "@lwrjs/dev-proxy-server" "0.16.2" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/lwc-module-provider" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" + "@lwrjs/static" "0.16.2" + "@lwrjs/tools" "0.16.2" chalk "^5.3.0" fs-extra "^11.2.0" semver ">=7.6.3" tar "6.2.1" -"@lwrjs/app-service@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/app-service/-/app-service-0.15.6.tgz#6331ed79a598fdbbfbccdcc915ba21207879f3b2" - integrity sha512-vHUHK/B384pOT/lVcEYEXDt0k8LXWIRodWYr0VYtPXtBI0UDQLHrOa27nykR8ulecxkaldsbatbsTwFqmwxokw== +"@lwrjs/app-service@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/app-service/-/app-service-0.16.2.tgz#f8a2b65c076550fb0494fa23a382a679492917fa" + integrity sha512-xTGaBeLUV1fyQh6iWLsC0MpZZfrJifhrXfMJDfBLQzgHyDn1rPB4xpdBK9HNyPQJTLFWT/n2lLUmT9xud3QGIA== dependencies: - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" -"@lwrjs/asset-registry@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/asset-registry/-/asset-registry-0.15.6.tgz#471af5148a49c3f4e7100dbc04687909ef67c793" - integrity sha512-h0bXdF8URNW5Jtw/xU2pi5NpRJLI4eHkNpmdQHeUDlN4iGi2XCaA0ruVKzPsMw/OFqN4otv3rJitmb8o0C8KoA== +"@lwrjs/asset-registry@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/asset-registry/-/asset-registry-0.16.2.tgz#caf6a5e63041807e3c0243dc795102b96f884cb4" + integrity sha512-OZKACM0OwxbaHdH76cSY06j5cdRd6aye9OQ8S+3w5H51cswQMc2ydltY0D4FVxSD2rFYUwS3rtE5cbhRLfOX2Q== dependencies: - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" -"@lwrjs/asset-transformer@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/asset-transformer/-/asset-transformer-0.15.6.tgz#a2a65fb22393c3dbedb7c43585501568b7a4a441" - integrity sha512-9cg4+7UPsesjKF6TsS3nGUIHcfO1X70+DH9LPg40a2mOKuGmN+4MTNYCvhyUaazlzN/Xwt5EBT4LkvDcYUpJRQ== +"@lwrjs/asset-transformer@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/asset-transformer/-/asset-transformer-0.16.2.tgz#a743b5ef13cfca96c60990e9564ec35717488792" + integrity sha512-yPvgGini40BCFzShw5B1V/Vt/swNu3SZec+Ys8SrY8qCs9nmBm7ZUVt5k59nobMm+KO5H/On7MPHnyVmUwFsDw== dependencies: - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" fs-extra "^11.2.0" postcss "^8.4.40" postcss-value-parser "^4.2.0" -"@lwrjs/base-view-provider@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/base-view-provider/-/base-view-provider-0.15.6.tgz#e4d7fc47850e52419ed3d83155994204e6e64da4" - integrity sha512-gschSbOj8FhfUi4jJWrcJ/tzbnaFLTh7GggOEe2U8tv8kiTj5IBykdoeQqLQjjbG+fdVXsgAPGYUMcg7fpaKlw== +"@lwrjs/base-view-provider@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/base-view-provider/-/base-view-provider-0.16.2.tgz#774b2e638d49e8e15016423cefc8c91281647e9f" + integrity sha512-0Gx1ZYfX5enOx2VfH9dZ48zZmdJbkEvMyx2+YiS15SHdLjr+tURifGiSF78iaqcNjH+5zGUSsP5ZWjT+S07utA== dependencies: - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/shared-utils" "0.16.2" escape-goat "^3.0.0" -"@lwrjs/base-view-transformer@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/base-view-transformer/-/base-view-transformer-0.15.6.tgz#60b2fbb88396d75cefc5662c69cd44d242fa67f7" - integrity sha512-bHdxiPMedC42tBymgt+WpmUR1mtU2ToTcIjLqmhMI5zde5HwUk+5fBhausRG5SJe1owesF3lXohYDKhlg+dg7Q== +"@lwrjs/base-view-transformer@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/base-view-transformer/-/base-view-transformer-0.16.2.tgz#b8e061d6f3a0f374fcc9ef535ec5d9cbc0b3067a" + integrity sha512-a0Wh7KReZNn0+4JQthBX86tNfiS11bS0u6X50CWSdGBBYnQQ84Tw1roHk6s42+ZYiayGmVc3PLb5KpFqixnbMQ== dependencies: - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" -"@lwrjs/client-modules@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/client-modules/-/client-modules-0.15.6.tgz#f180f681a8e4c3d818de9a5f76ed63e0d7446797" - integrity sha512-AyyKHNS0GRp/75UG4eUsy3h31pvXQzcKutX5NYWyOvFGb+Q5dLyy4gvdasy1AA0qc2nePJrdQAVldTXhuCpdjA== +"@lwrjs/client-modules@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/client-modules/-/client-modules-0.16.2.tgz#eab4a580599edf6bc3dc665f66bf0779cbe2c581" + integrity sha512-T22PpgshWTKDKGT6LhzWGJjDkrEoJTJbc5Fh5IZUolgt1wlqdvR728HYeb5W7lQris5po526Vqk3xd5+SKNrxA== dependencies: "@locker/sandbox" "0.23.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/shared-utils" "0.16.2" -"@lwrjs/config@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/config/-/config-0.15.6.tgz#919f3c77db928f592497e1cd02b4a68f25fda533" - integrity sha512-GD5kr7MTG2GHFr9CwrRUlsxFNnS4C8axWaFEl4fRZIeftzkHG1Xk2zQMLZyC+1aOh++qnwV988u1f1Cj7pVuWQ== +"@lwrjs/config@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/config/-/config-0.16.2.tgz#c625e0be8fea8e4dd24d3ae7094e17216397f3f9" + integrity sha512-XmCavwNS57kEVb3F25nmrSM0HHTc8PpC2M3iFi1N1bjZI+7KLrrdvERcT74zWqvlF2qg0JYLZzCSzu2tWc1FTQ== dependencies: - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/instrumentation" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/instrumentation" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" fs-extra "^11.2.0" jsonc-parser "^3.3.1" -"@lwrjs/core@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/core/-/core-0.15.6.tgz#4b2e0aba34ad87d02f9fba757a6e2a4e5670e9ff" - integrity sha512-Uac/AXV/osKXXPmlsoY0IcNBTRV2JoV2Q4uf1Q5+5+Ru1RpPCcjFNnyw4d1ThyClk/RsJzKkKfoLAPIQifs/xA== - dependencies: - "@lwrjs/app-service" "0.15.6" - "@lwrjs/asset-registry" "0.15.6" - "@lwrjs/asset-transformer" "0.15.6" - "@lwrjs/base-view-provider" "0.15.6" - "@lwrjs/base-view-transformer" "0.15.6" - "@lwrjs/client-modules" "0.15.6" - "@lwrjs/config" "0.15.6" - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/esbuild" "0.15.6" - "@lwrjs/fs-asset-provider" "0.15.6" - "@lwrjs/fs-watch" "0.15.6" - "@lwrjs/html-view-provider" "0.15.6" - "@lwrjs/instrumentation" "0.15.6" - "@lwrjs/loader" "0.15.6" - "@lwrjs/lwc-module-provider" "0.15.6" - "@lwrjs/lwc-ssr" "0.15.6" - "@lwrjs/markdown-view-provider" "0.15.6" - "@lwrjs/module-bundler" "0.15.6" - "@lwrjs/module-registry" "0.15.6" - "@lwrjs/npm-module-provider" "0.15.6" - "@lwrjs/nunjucks-view-provider" "0.15.6" - "@lwrjs/o11y" "0.15.6" - "@lwrjs/resource-registry" "0.15.6" - "@lwrjs/router" "0.15.6" - "@lwrjs/server" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" - "@lwrjs/static" "0.15.6" - "@lwrjs/view-registry" "0.15.6" +"@lwrjs/core@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/core/-/core-0.16.2.tgz#c62cd436f85d6bce977577da908ab82164d79ab2" + integrity sha512-X8malqycC5Nle73BAlx0P7LzkbWdBxQM4FQOR/YAreV+o8e9k9ruUZLp1raGWMWTaOVvcKQzOom2Io3KJ+yscQ== + dependencies: + "@lwrjs/app-service" "0.16.2" + "@lwrjs/asset-registry" "0.16.2" + "@lwrjs/asset-transformer" "0.16.2" + "@lwrjs/base-view-provider" "0.16.2" + "@lwrjs/base-view-transformer" "0.16.2" + "@lwrjs/client-modules" "0.16.2" + "@lwrjs/config" "0.16.2" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/esbuild" "0.16.2" + "@lwrjs/fs-asset-provider" "0.16.2" + "@lwrjs/fs-watch" "0.16.2" + "@lwrjs/html-view-provider" "0.16.2" + "@lwrjs/instrumentation" "0.16.2" + "@lwrjs/loader" "0.16.2" + "@lwrjs/lwc-module-provider" "0.16.2" + "@lwrjs/lwc-ssr" "0.16.2" + "@lwrjs/markdown-view-provider" "0.16.2" + "@lwrjs/module-bundler" "0.16.2" + "@lwrjs/module-registry" "0.16.2" + "@lwrjs/npm-module-provider" "0.16.2" + "@lwrjs/nunjucks-view-provider" "0.16.2" + "@lwrjs/o11y" "0.16.2" + "@lwrjs/resource-registry" "0.16.2" + "@lwrjs/router" "0.16.2" + "@lwrjs/server" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" + "@lwrjs/static" "0.16.2" + "@lwrjs/view-registry" "0.16.2" chokidar "^3.6.0" esbuild "^0.9.7" fs-extra "^11.2.0" - path-to-regexp "^6.2.2" + path-to-regexp "^6.3.0" qs "^6.13.0" rollup "^2.79.2" ws "^8.18.0" -"@lwrjs/dev-proxy-server@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/dev-proxy-server/-/dev-proxy-server-0.15.6.tgz#23f18a468fe4dc575da953f66e76922218fef323" - integrity sha512-q+KpbS+2VgRBniEaSKKaf+4DvwbfpQOnBkSUNMmuJScftIihsQ+wojh6UzlETuLnLm8mK8g/Q96YUKzg1TorXQ== +"@lwrjs/dev-proxy-server@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/dev-proxy-server/-/dev-proxy-server-0.16.2.tgz#2e9d5fc0f9e3b3b058def93960ed17f1592d6535" + integrity sha512-HzaTOzS76Am1+TpJneTksWVzjSHiDBzOi3ZkOfEyXZHKPz87ENOabR/0BMZT8C/WnRkbLVfi1VLJHZzbSBMUQQ== dependencies: - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" express "^4.20.0" http-proxy-middleware "2.0.7" -"@lwrjs/diagnostics@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/diagnostics/-/diagnostics-0.15.6.tgz#3c59601b735e5f55f0e741a9fbd43a50ae0e1bc4" - integrity sha512-vP8FO89nsk6yU2IHpUPymxu1elieL3FkFFhzNL5lm1xQ6C3rD0W67rF7W/ge3QhvDDETCXl7oCPL6EvKJPdm2g== +"@lwrjs/diagnostics@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/diagnostics/-/diagnostics-0.16.2.tgz#a0c09be276e528919affe089e612f61bbaf4233f" + integrity sha512-CKZHRJ9K4dIK2lvasA3gJz8/kvQeH6A1j/3NgRTFlyDtVYrW4xOUJcSoHFG83ueaYBDfbEHla9EdN/ihwBdtUw== -"@lwrjs/esbuild@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/esbuild/-/esbuild-0.15.6.tgz#0add697a5f1818f5ddde363259b67af152ebf0d3" - integrity sha512-0XAsJYKZBvIfJ6Uvzd7qdJk5u5k4O+dF1YvhuFTPeFoBYC8FqotBVVn2niQOlGfWeXirfe61YbpGakvaqgkDcQ== +"@lwrjs/esbuild@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/esbuild/-/esbuild-0.16.2.tgz#065aef8c242c3776ed56a810de01bd1a153578d9" + integrity sha512-3NdXkS74cvLgWQglxsROqNAV8IUQhKmBE9H3vgCo+PpxuW+UMuvdFGdWY28Dsesv/bwKsaDK33f1Na0V/wbTyg== dependencies: - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" esbuild "^0.9.7" -"@lwrjs/fs-asset-provider@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/fs-asset-provider/-/fs-asset-provider-0.15.6.tgz#7217e0f287338fa92d42b226c110eb12e173e7d0" - integrity sha512-yFeAqaA1EMiIcE/UHiKr6sU3Fzj3jkoEn+DVfBrreF2hBZE13yv+AaSp5QvTbWJTLLLnQHlo/S4mh6hfjwZeUg== +"@lwrjs/fs-asset-provider@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/fs-asset-provider/-/fs-asset-provider-0.16.2.tgz#d03e31decbf81ad5de0b822d79b0b7a36aefa6ce" + integrity sha512-k72jfwxKgLvy98eylx6E9KwflVWZQClhc5h4UUud/yAtl0DZjjr222o2qyLFazoV1CAMT0FDEjkiOthWSk9Ulw== dependencies: - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" fs-extra "^11.2.0" -"@lwrjs/fs-watch@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/fs-watch/-/fs-watch-0.15.6.tgz#df727ab02d9d7668cfe38713d7fbcc5dccef3cad" - integrity sha512-8u5fwsv8n8NSarsNGkNxUkKCS3CTjWK1DsYjKFGpZ2ElGhl8kXl/alQJRvYvjPGasNoXpWwBOMQ9CLEsKZ1O3w== +"@lwrjs/fs-watch@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/fs-watch/-/fs-watch-0.16.2.tgz#e287b06dab1a65127e0b3df3e95a737931d26d0a" + integrity sha512-+st4U8QeFcziTQt3rZIInz/wH441sDNNPxWtXB/aRRDtzyj9FNJKV8GZZyHsc1AaTj6iEyA90MI3xsB63OlKHg== dependencies: - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" chokidar "^3.6.0" -"@lwrjs/html-view-provider@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/html-view-provider/-/html-view-provider-0.15.6.tgz#c370547f3afcf424b93e1b5662cb4f33d9820449" - integrity sha512-zCW9jMAEpKaNw3HEXNJmZOSXQWk0nstLbjgIQ+/6O2cFX/fAh3WmPGwv+t4+YdpqmU133Xd1joPkL2xapA2N7g== +"@lwrjs/html-view-provider@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/html-view-provider/-/html-view-provider-0.16.2.tgz#faa6b635a8e644517d2c77d387ab98e81f41ae99" + integrity sha512-8t8w7g6LBmRj2YsuiySMSZEePhRUH+63YFNNHv7dRgxwxxQPlbPr8LIXGuf/5+BOnh7hgD0CKL8zh8ttV+24Wg== dependencies: - "@lwrjs/base-view-provider" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/base-view-provider" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" gray-matter "^4.0.2" -"@lwrjs/instrumentation@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/instrumentation/-/instrumentation-0.15.6.tgz#817dcfa7f64c0c812b199e852f96811f22173490" - integrity sha512-pzPQS583f6wuMHbRy8fsUVoDsiZVkzJ8ppIjCSN1z7wF97nFEWd8Y6P7AFO3kIz3Hx35qaOR0xr35iDEoa/cAQ== +"@lwrjs/instrumentation@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/instrumentation/-/instrumentation-0.16.2.tgz#8054336c4345f610457e8de5494e5eed0b52020c" + integrity sha512-wsJ+tWXtl6BlrMKEmEEZ0Bt34qjKeu1gIHP7buxJjdAyZHJ+8CLTNDT3s30n4nOIG/7oSgJBlLLG+7isGb0d7Q== dependencies: - "@lwrjs/diagnostics" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" "@opentelemetry/api" "^1.9.0" "@opentelemetry/resources" "^1.28.0" "@opentelemetry/sdk-node" "^0.55.0" @@ -2386,45 +2386,45 @@ "@opentelemetry/semantic-conventions" "^1.28.0" semver ">=7.6.3" -"@lwrjs/loader@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/loader/-/loader-0.15.6.tgz#cf18a4f2b87921994321725f2a94e035fba3c668" - integrity sha512-wfypmY6nxUlWgIud31nndiWLj9a706/oF0QWgSa2X2ERupwMoy6iR5oGDVnyi3I3Ry0F5O+DhXujgnmNg4MCnA== +"@lwrjs/loader@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/loader/-/loader-0.16.2.tgz#c6bbfe3733b6f4bd1af63d545b8b92aa15c82b60" + integrity sha512-0VAsf9nJV9AKAmHI8fnsjeTUKUrBo4fzFE0XTjihS1ocG6XB7EJ+TIYVxrOdpACPwIIKqpbhY35S3yO6HaMx6w== dependencies: - "@lwrjs/client-modules" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/client-modules" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" -"@lwrjs/lwc-module-provider@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/lwc-module-provider/-/lwc-module-provider-0.15.6.tgz#72ffb9c04ad68dbd97e94f178021eaedda505616" - integrity sha512-ZXsNNAv5mnFioifuBzeKAKDDdegaXE3EKreiMUQWOEBAK35kkEX2LdgUB8tt/6KByxQYqU1nI5PELuVg92c3+g== +"@lwrjs/lwc-module-provider@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/lwc-module-provider/-/lwc-module-provider-0.16.2.tgz#5f3ec67eb8e3cdeaef02dd2bae636a02cec93caa" + integrity sha512-HmAev43KtgMLceR/BjysFYrFVA9M8p4ZeFtVtQxY5ld66lM6EmFfCiB+Sa0lBSrTUnhJsBh2hpfgjjMmGiIVmQ== dependencies: "@babel/preset-typescript" "^7.24.7" - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/fs-watch" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/fs-watch" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" fs-extra "^11.2.0" -"@lwrjs/lwc-ssr@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/lwc-ssr/-/lwc-ssr-0.15.6.tgz#c9d9b7755295525161f7e2b265093247efa15630" - integrity sha512-xICUAZ8mXT3sf/3Fo/xEvQNfrsKHfwsyLOYx3coyCkbm15+MamDl6UCKP+t/jY9xlT860oDCp0q3vpnqAUngWQ== +"@lwrjs/lwc-ssr@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/lwc-ssr/-/lwc-ssr-0.16.2.tgz#b06a9d8e0d3a2f44bcb09b641643c2684987c850" + integrity sha512-Vj6NZJlRXGOkOrNn1JyBqBBrpp7ptCG3+JlDOSRL4/fqHxBJpVk5aBQYp22+saB9cGCd5cWwn3+/N/HokXqF/Q== dependencies: - "@lwrjs/config" "0.15.6" - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/instrumentation" "0.15.6" - "@lwrjs/loader" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/config" "0.16.2" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/instrumentation" "0.16.2" + "@lwrjs/loader" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" fs-extra "^11.2.0" lru-cache "^10.4.3" undici "^6.19.8" -"@lwrjs/markdown-view-provider@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/markdown-view-provider/-/markdown-view-provider-0.15.6.tgz#c7645907617c6b47d0904539e02a1f02936ae147" - integrity sha512-rOiQmN1wrc3vOe6xwrAN36efQ+3kyoVWzIeP2K3KQ48gVOpp0EoYSPBXSEWMglwlNUEEeyRqJ5mA82BE009gfA== +"@lwrjs/markdown-view-provider@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/markdown-view-provider/-/markdown-view-provider-0.16.2.tgz#0a2ccd5754a8c296a608656217001e49ead78790" + integrity sha512-p2OpgwKKkrPoxR1bff0pB2buH+SLdZJ++/SlY0iMUVpUcLaluP8e5wLDzmlHn4/ZBKChwig+46PP7R6+zaDb3Q== dependencies: - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/shared-utils" "0.16.2" gray-matter "^4.0.2" hast-util-has-property "^1.0.4" hast-util-heading-rank "^1.0.1" @@ -2439,139 +2439,139 @@ unified "^9.2.0" vfile "^4.2.1" -"@lwrjs/module-bundler@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/module-bundler/-/module-bundler-0.15.6.tgz#141025e88ba74de6870702b1a0b3b4eb6ca4e8fc" - integrity sha512-8DJO7/ED4nmgkPpgWjJTJRS6YQFS9Rtm3SsoSMz0qeDf9Fg2dp+G+iWl0Lsx8XhpFkp34beGaiTf1iVPYtwZWg== +"@lwrjs/module-bundler@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/module-bundler/-/module-bundler-0.16.2.tgz#c1f374d8f32e2b6b1c40b7640f819e3104b19fd9" + integrity sha512-cFlHlCYzx/5/GWs6RiOJ0cIGJ5E6pREZumQeB+0FIB4Rjbe0HHfR38IOCZuU0F7L/hPYkwsUMBIWINYdBZUgkg== dependencies: - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/instrumentation" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/instrumentation" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" "@rollup/plugin-replace" "^5.0.7" lru-cache "^10.4.3" rollup "^2.79.2" optionalDependencies: esbuild "^0.9.7" -"@lwrjs/module-registry@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/module-registry/-/module-registry-0.15.6.tgz#ca3c220959ac8ae99dbd4f53af7eeec7b1eeee92" - integrity sha512-HMT7h8HEMgdPPbQtjFFPnezMiU12ROYNgZ0mnM8ew7wztU0G1/Sp3H+0BnNGfFICbs/r5PQmBYqE1YYo76LRHQ== +"@lwrjs/module-registry@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/module-registry/-/module-registry-0.16.2.tgz#0faea72f9742f056ec18a1ab0e5bdfa17a8aaa6a" + integrity sha512-5onAH39DaPl1jWkh5r7hmPrIo45kKwGbE44jgH9VOqjGghV/6gbEaEkgatASo+Wt4EdhHxeZfM/eZO+2MNSQVA== dependencies: - "@lwrjs/config" "0.15.6" - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/config" "0.16.2" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" fs-extra "^11.1.1" rollup "^2.79.2" -"@lwrjs/npm-module-provider@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/npm-module-provider/-/npm-module-provider-0.15.6.tgz#8356ce127d38087e886702a3801c8adf96508101" - integrity sha512-ciZKS512kQ/evhQOQIcw+Zf5TW+xZiXEhzdb7cJJvsVRd9fMdc3DHIVaTcIzOYHtL3dtL4epZw+2QCcj5N3slQ== +"@lwrjs/npm-module-provider@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/npm-module-provider/-/npm-module-provider-0.16.2.tgz#2e20f71a0aee0ded95543eaf73f16d61e0f7d92f" + integrity sha512-+55nVY5AMifK2SqOq0PsQ8lTuz9uWdPNnfaCMy5eOipEJnWmAOMRAxPMxuKSk9KdKN/4IskXVxEExBi0xgFOFg== dependencies: "@esbuild-plugins/node-modules-polyfill" "^0.2.2" - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" esbuild "^0.9.7" resolve "^1.22.8" -"@lwrjs/nunjucks-view-provider@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/nunjucks-view-provider/-/nunjucks-view-provider-0.15.6.tgz#423527de17ccc72fc9c7857738fe66643b8cddad" - integrity sha512-EiN8Vj+5XI3c7wYiy2dNIdEkIfdWYjJVd7th4ddhM6giURz05o6IqS6M3uKtDj6FIIKUa8b6Q6aBHJ1upfOpPg== +"@lwrjs/nunjucks-view-provider@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/nunjucks-view-provider/-/nunjucks-view-provider-0.16.2.tgz#d820dcd5af8c9356023cda2711aae1e67a8d34c2" + integrity sha512-Dr8p7f/5l7P8uz/unFVRCcG/dp0JjZgfFjAHjp2MIWg0MNirkFas00g9VmkyU4DX85FM1LbQgHUbvSWqScKVEQ== dependencies: - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/shared-utils" "0.16.2" gray-matter "^4.0.2" nunjucks "^3.2.4" -"@lwrjs/o11y@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/o11y/-/o11y-0.15.6.tgz#d2312199597a8a2b7c1ae257179ea828678a5aa1" - integrity sha512-ZTL/cb6fNBtNXj6FNFcWZll4sMDB5I545IABRAKhsY1clv8ZNENHRzoHNAVIGg5TcbdYAEggAaUKc9MasJBCjw== +"@lwrjs/o11y@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/o11y/-/o11y-0.16.2.tgz#135f801a0a5752ca57ecba5bab9e80215f5d492f" + integrity sha512-4eof8Y7kKqmUhHxlhhRE1+XY/OtY6ABrJ99gds3LYKoywNkmkzR6niGeJa1m5Q5L25yS+QRgJ4ScNQJ4DVwOJw== dependencies: - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/shared-utils" "0.16.2" -"@lwrjs/resource-registry@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/resource-registry/-/resource-registry-0.15.6.tgz#c0f756d46b3f26c6447a90cfb0d9ec81557d82ba" - integrity sha512-6yw0h7MJmXVxKubwWDdH55eIUflT0w5MURJgxWh7FXnO3YI/chrK2qRbIx1MZZVeEgBneZRUYk1z90EFVh34CA== +"@lwrjs/resource-registry@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/resource-registry/-/resource-registry-0.16.2.tgz#fa98cc59e4343e6f25500804ff1f44abf0f7f1e3" + integrity sha512-kY4oysvZZmsCId/H/er0xQ8COl/yMyJAg1nsba5v6CtmpQ1fPnotNJwpvnikTPB7W2Hy2Rzm5bBdXihVj0J0GA== dependencies: - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/shared-utils" "0.16.2" -"@lwrjs/router@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/router/-/router-0.15.6.tgz#c8916ef9be035abe0f82f113a482a6f263bec081" - integrity sha512-XSrg5yNvIcIeOyf2dDfxFeq0MEewQ6XXiwocKVWNVP6wEJ0Cgmn5x2oZjZ3fZxEXSjCCFhKjyICWaktKHn/lQA== +"@lwrjs/router@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/router/-/router-0.16.2.tgz#fd8bfbecd8b296cfbd0073c459e990d36ba3797c" + integrity sha512-a2u6Gbdwq4ShOF71uk0aimbFpeWpkiVQwaTf24NJq1Hn4PwuzPyV4KTieuSXiK/SPjY4bF0bHhcbjnoUOAlnaA== dependencies: - "@lwrjs/client-modules" "0.15.6" - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/client-modules" "0.16.2" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" ajv "6.12.6" -"@lwrjs/server@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/server/-/server-0.15.6.tgz#7f04535492d55d28b8801c88ea527c9e50582d15" - integrity sha512-prS+hMo9AjoqAh6sMv81m0uNO6h6+IGzXuKLQn1AGEBBGcCYKKpAylLK1rTYTgTGcmxWqsRWVLKzMlYqXEEZQA== +"@lwrjs/server@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/server/-/server-0.16.2.tgz#5731e471c502e2d645b83da38047fac8a89b63e4" + integrity sha512-Dqes6bNWBWSaCQcvJ7ckU6fsrvD3QcXnouD4SY7/C/y/GDUcpwqSIJQjjnsUiW3DHT4GEQhA5SVpdVu+4D/u0w== dependencies: "@koa/router" "^10.0.0" - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/instrumentation" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/instrumentation" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" "@types/express" "^4.17.21" "@types/koa" "^2.15.0" express "^4.20.0" koa "^2.15.3" koa-compose "^4.1.0" -"@lwrjs/shared-utils@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/shared-utils/-/shared-utils-0.15.6.tgz#5525b64ec1f030ab20007507edea503a865440ec" - integrity sha512-wZVjvGAvag4wphYblv8aUOsHuy4A9kG72tO9Gb0ExHro62vPt5kmQwgqCWARmaS3cNeWVxOxB+g04oGxRLVLCQ== +"@lwrjs/shared-utils@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/shared-utils/-/shared-utils-0.16.2.tgz#d5dadf8a82a16f1c3a3a5f6f280fcc681c4a236c" + integrity sha512-Hnv+4qRmeRStfxw5TbL4GIkWeRFliDR9wcJWUqRVGr6AHvTP5gzmNwjl1g+iSPk3rSShGnsej+Ads7jUfD649A== dependencies: - "@lwrjs/diagnostics" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" es-module-lexer "^1.5.4" fast-json-stable-stringify "^2.1.0" magic-string "^0.30.9" mime-types "^2.1.33" ms "^2.1.3" parse5 "^7.2.1" - path-to-regexp "^6.2.2" + path-to-regexp "^6.3.0" resolve "^1.22.8" rollup "^2.79.2" slugify "^1.4.5" -"@lwrjs/static@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/static/-/static-0.15.6.tgz#4475212323cfc7adf1937c439120d70539791de3" - integrity sha512-MTSn7HsTEi+6kcD/Tn+ZMXaA0BmKveF4vR85NEK4UAoyLqqGm8us5OCa528dlbN9jGD7qNkTRQcIzEOs2LRGCw== +"@lwrjs/static@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/static/-/static-0.16.2.tgz#d627b4ee465cdf37b128c95c39804ce1d92acf7f" + integrity sha512-rXctmmgs91H8w7qnKigMmyLTW/Dldk8k5GFq5nWss1iPaiTSFc6lQMTfkh05wGaNeAQf3/wE5dIuNqANnr+DWA== dependencies: - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/instrumentation" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/instrumentation" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" lru-cache "^10.4.3" -"@lwrjs/tools@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/tools/-/tools-0.15.6.tgz#eb5d592b1251b3cf1efae4cfa70aad975f0b4c3c" - integrity sha512-uXnUJhzuvJlwY2bLEJkTsj1aGugNz4b8Q6lWZ4oNnJmelqwp5xO3JXMtBfQ50qsZrMI1Cgi5coL8h/ZHNN9Sjg== +"@lwrjs/tools@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/tools/-/tools-0.16.2.tgz#a78c1ec78b1771b66076dd05e04b22a295d673a2" + integrity sha512-8wtMpWibsYujk+3nvuZ2tZS2k/r3YMkgw6HX4OKXe8e+veCbaQNkkSB0jVdvF27cHb3PbK2oO0Ud40YU9AD3Bw== dependencies: - "@lwrjs/config" "0.15.6" - "@lwrjs/core" "0.15.6" - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" - "@lwrjs/static" "0.15.6" + "@lwrjs/config" "0.16.2" + "@lwrjs/core" "0.16.2" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" + "@lwrjs/static" "0.16.2" esbuild "^0.17.4" fs-extra "^11.2.0" -"@lwrjs/view-registry@0.15.6": - version "0.15.6" - resolved "https://registry.yarnpkg.com/@lwrjs/view-registry/-/view-registry-0.15.6.tgz#3d5e870e6368940343414b0fdc2b3a0a1f5ff845" - integrity sha512-+cMOEHXupUvDqHM47aDNbAwewFBUOdsgrFWJ0jwwQtWafjDby4l/o6nZeo89mMOFTGlUN2O/kzexaDOLA430qw== +"@lwrjs/view-registry@0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@lwrjs/view-registry/-/view-registry-0.16.2.tgz#8a209abd7d25d84adc4d64f1fbf8a44da0b95024" + integrity sha512-+2/Uw5TEzNx00U3hiZHxqQP/Dckywa8R5kWVYZnlbmYDsfxVsvld1GOBpths408AMOQuLxtm/rsWskxnZUGjww== dependencies: - "@lwrjs/app-service" "0.15.6" - "@lwrjs/diagnostics" "0.15.6" - "@lwrjs/instrumentation" "0.15.6" - "@lwrjs/shared-utils" "0.15.6" + "@lwrjs/app-service" "0.16.2" + "@lwrjs/diagnostics" "0.16.2" + "@lwrjs/instrumentation" "0.16.2" + "@lwrjs/shared-utils" "0.16.2" lru-cache "^10.4.3" "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": @@ -9000,11 +9000,16 @@ path-to-regexp@^1.7.0: dependencies: isarray "0.0.1" -path-to-regexp@^6.1.0, path-to-regexp@^6.2.1, path-to-regexp@^6.2.2: +path-to-regexp@^6.1.0, path-to-regexp@^6.2.1: version "6.2.2" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.2.tgz#324377a83e5049cbecadc5554d6a63a9a4866b36" integrity sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw== +path-to-regexp@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.3.0.tgz#2b6a26a337737a8e1416f9272ed0766b1c0389f4" + integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ== + path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"