Update lit-ssr dependency (#6681)

* update lit-ssr dependency

* delete unnecessary lit shim checks

* delete another unused lit shim feature

* fix sass build

* bump lit and polyfill versions to match ssr req

* shim HTMLElement in test

* remove lit global shim workarounds

* re-shim Astro's ce.define

* remove fix window test and shim HTML Element

* Update .changeset/gold-windows-fly.md

Co-authored-by: Augustine Kim <ajk830@gmail.com>

* fix window check test

* implement suggestoins

---------

Co-authored-by: Augustine Kim <ajk830@gmail.com>
This commit is contained in:
Elliott Marquez 2023-03-29 09:43:40 -07:00 committed by GitHub
parent f0b732d326
commit 4b077318fb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 107 additions and 82 deletions

View file

@ -0,0 +1,8 @@
---
'@astrojs/lit': major
---
Update to use `@lit-labs/ssr@^3`
**[BREAKING]** DOM shim required for Lit SSR has been greatly reduced. `window`, `document`, and other objects are no longer available in global. Most SSR-ready component code should not be affected but, if so, they can be fixed with optional chaining or by using the `isServer` environment checker from the `lit` package. See [lit.dev docs on authoring components for SSR].(https://lit.dev/docs/ssr/authoring/#browser-only-code)
**[BREAKING]** Adds compatibility with `lit@2.7.0` hydration behavior. Do not update if you're using `lit@2.6.1` or lower.
Includes support for template[shadowrootmode] support.

View file

@ -12,8 +12,8 @@
}, },
"dependencies": { "dependencies": {
"astro": "^2.1.8", "astro": "^2.1.8",
"lit": "^2.2.5", "lit": "^2.7.0",
"@astrojs/lit": "^1.3.0", "@astrojs/lit": "^1.3.0",
"@webcomponents/template-shadowroot": "^0.1.0" "@webcomponents/template-shadowroot": "^0.2.1"
} }
} }

View file

@ -4,8 +4,8 @@
"private": true, "private": true,
"dependencies": { "dependencies": {
"@astrojs/lit": "workspace:*", "@astrojs/lit": "workspace:*",
"@webcomponents/template-shadowroot": "^0.1.0", "@webcomponents/template-shadowroot": "^0.2.1",
"astro": "workspace:*", "astro": "workspace:*",
"lit": "^2.2.5" "lit": "^2.7.0"
} }
} }

View file

@ -12,8 +12,8 @@
"astro": "workspace:*" "astro": "workspace:*"
}, },
"dependencies": { "dependencies": {
"@webcomponents/template-shadowroot": "^0.1.0", "@webcomponents/template-shadowroot": "^0.2.1",
"lit": "^2.2.5", "lit": "^2.7.0",
"preact": "^10.7.3", "preact": "^10.7.3",
"react": "^18.1.0", "react": "^18.1.0",
"react-dom": "^18.1.0", "react-dom": "^18.1.0",

View file

@ -8,10 +8,6 @@ const test = testFactory({
// TODO: configure playwright to handle web component APIs // TODO: configure playwright to handle web component APIs
// https://github.com/microsoft/playwright/issues/14241 // https://github.com/microsoft/playwright/issues/14241
test.describe('Lit components', () => { test.describe('Lit components', () => {
test.beforeAll(() => {
delete globalThis.window;
});
test.describe('Development', () => { test.describe('Development', () => {
let devServer; let devServer;
const t = test.extend({}); const t = test.extend({});
@ -158,7 +154,6 @@ test.describe('Lit components', () => {
const t = test.extend({}); const t = test.extend({});
t.beforeAll(async ({ astro }) => { t.beforeAll(async ({ astro }) => {
delete globalThis.window;
// Playwright's Node version doesn't have these functions, so stub them. // Playwright's Node version doesn't have these functions, so stub them.
process.stdout.clearLine = () => {}; process.stdout.clearLine = () => {};
process.stdout.cursorTo = () => {}; process.stdout.cursorTo = () => {};

View file

@ -4,8 +4,8 @@
"private": true, "private": true,
"dependencies": { "dependencies": {
"@astrojs/lit": "workspace:*", "@astrojs/lit": "workspace:*",
"@webcomponents/template-shadowroot": "^0.1.0", "@webcomponents/template-shadowroot": "^0.2.1",
"astro": "workspace:*", "astro": "workspace:*",
"lit": "^2.2.5" "lit": "^2.7.0"
} }
} }

View file

@ -26,13 +26,11 @@ export class MyElement extends LitElement {
this.reflectedStr = 'default reflected string'; this.reflectedStr = 'default reflected string';
} }
render() { render() {
let typeofwindow = typeof window.Window;
return html` return html`
<div>Testing...</div> <div>Testing...</div>
<div id="bool">${this.bool ? 'A' : 'B'}</div> <div id="bool">${this.bool ? 'A' : 'B'}</div>
<div id="str">${this.str}</div> <div id="str">${this.str}</div>
<div id="data">data: ${this.obj.data}</div> <div id="data">data: ${this.obj.data}</div>
<div id="win">${typeofwindow}</div>
<!-- Slots --> <!-- Slots -->
<div id="default"><slot /></div> <div id="default"><slot /></div>

View file

@ -25,9 +25,8 @@ describe('Lit integration in SSR', () => {
} }
it('Is able to load', async () => { it('Is able to load', async () => {
delete globalThis.window; // On Windows this results in `ReferenceError: window is not defined`
const html = await fetchHTML('/'); const html = await fetchHTML('/');
const $ = cheerioLoad(html); const $ = cheerioLoad(html);
expect($('#win').text()).to.equal('function'); expect($('#str').text()).to.equal('initialized');
}); });
}); });

View file

@ -34,7 +34,8 @@
"test": "mocha" "test": "mocha"
}, },
"dependencies": { "dependencies": {
"@lit-labs/ssr": "^2.2.0", "@lit-labs/ssr": "^3.1.0",
"@lit-labs/ssr-dom-shim": "^1.1.0",
"parse5": "^7.1.2" "parse5": "^7.1.2"
}, },
"devDependencies": { "devDependencies": {
@ -42,12 +43,12 @@
"astro-scripts": "workspace:*", "astro-scripts": "workspace:*",
"chai": "^4.3.6", "chai": "^4.3.6",
"cheerio": "^1.0.0-rc.11", "cheerio": "^1.0.0-rc.11",
"lit": "^2.2.5", "lit": "^2.7.0",
"mocha": "^9.2.2", "mocha": "^9.2.2",
"sass": "^1.52.2" "sass": "^1.52.2"
}, },
"peerDependencies": { "peerDependencies": {
"@webcomponents/template-shadowroot": "^0.1.0", "@webcomponents/template-shadowroot": "^0.2.1",
"lit": "^2.1.3" "lit": "^2.7.0"
} }
} }

View file

@ -1,20 +1,35 @@
import { installWindowOnGlobal } from '@lit-labs/ssr/lib/dom-shim.js'; import { customElements as litCE, HTMLElement as litShimHTMLElement } from '@lit-labs/ssr-dom-shim';
if (typeof fetch === 'function') { // Something at build time injects document.currentScript = undefined instead of
const _fetch = fetch; // document.currentScript = null. This causes Sass build to fail because it
installWindowOnGlobal(); // seems to be expecting `=== null`. This set to `undefined` doesn't seem to be
globalThis.fetch = window.fetch = _fetch; // caused by Lit and only happens at build / test time, but not in dev or
} else { // preview time.
installWindowOnGlobal(); if (globalThis.document) {
document.currentScript = null;
} }
window.global = window; if (globalThis.HTMLElement) {
document.getElementsByTagName = () => []; // Seems Astro's Element shim does nothing when `.setAttribute` is called
// See https://github.com/lit/lit/issues/2393 // and subsequently `.getAttribute` is called. Causes Lit to not SSR attrs
document.currentScript = null; globalThis.HTMLElement = litShimHTMLElement;
}
const ceDefine = customElements.define; // Astro seems to have a DOM shim and the only real difference that we need out
// of the Lit DOM shim is that the Lit DOM shim reads
// `HTMLElement.observedAttributes` which is meant to trigger
// `ReactiveElement.finalize()`. So this is the only thing we will re-shim since
// Lit will try to respect other global DOM shims.
globalThis.customElements = litCE;
const litCeDefine = customElements.define;
// We need to patch customElements.define to keep track of the tagName on the
// class itself so that we can transform JSX custom element class definintion to
// a DSD string on the server, because there is no way to get the tagName from a
// CE class otherwise. Not an issue on client:only because the browser supports
// appending a class instance directly to the DOM.
customElements.define = function (tagName, Ctr) { customElements.define = function (tagName, Ctr) {
Ctr[Symbol.for('tagName')] = tagName; Ctr[Symbol.for('tagName')] = tagName;
return ceDefine.call(this, tagName, Ctr); return litCeDefine.call(this, tagName, Ctr);
}; };

View file

@ -1,5 +1,4 @@
import './server-shim.js'; import './server-shim.js';
import '@lit-labs/ssr/lib/render-lit-html.js';
import { LitElementRenderer } from '@lit-labs/ssr/lib/lit-element-renderer.js'; import { LitElementRenderer } from '@lit-labs/ssr/lib/lit-element-renderer.js';
import * as parse5 from 'parse5'; import * as parse5 from 'parse5';

View file

@ -1,6 +1,8 @@
import { expect } from 'chai'; import { expect } from 'chai';
import server from '../server.js';
import { LitElement, html } from 'lit'; import { LitElement, html } from 'lit';
// Must come after lit import because @lit/reactive-element defines
// globalThis.customElements which the server shim expects to be defined.
import server from '../server.js';
import * as cheerio from 'cheerio'; import * as cheerio from 'cheerio';
const { check, renderToStaticMarkup } = server; const { check, renderToStaticMarkup } = server;
@ -12,6 +14,10 @@ describe('check', () => {
it('should be false with a registered non-lit component', async () => { it('should be false with a registered non-lit component', async () => {
const tagName = 'non-lit-component'; const tagName = 'non-lit-component';
// Lit no longer shims HTMLElement globally, so we need to do it ourselves.
if (!globalThis.HTMLElement) {
globalThis.HTMLElement = class {};
}
customElements.define(tagName, class TestComponent extends HTMLElement {}); customElements.define(tagName, class TestComponent extends HTMLElement {});
expect(await check(tagName)).to.equal(false); expect(await check(tagName)).to.equal(false);
}); });
@ -85,7 +91,7 @@ describe('renderToStaticMarkup', () => {
}); });
it('should render DSD attributes based on shadowRootOptions', async () => { it('should render DSD attributes based on shadowRootOptions', async () => {
const tagName = 'lit-component'; const tagName = 'shadow-root-options-component';
customElements.define( customElements.define(
tagName, tagName,
class extends LitElement { class extends LitElement {

View file

@ -181,14 +181,14 @@ importers:
examples/framework-lit: examples/framework-lit:
specifiers: specifiers:
'@astrojs/lit': ^1.3.0 '@astrojs/lit': ^1.3.0
'@webcomponents/template-shadowroot': ^0.1.0 '@webcomponents/template-shadowroot': ^0.2.1
astro: ^2.1.8 astro: ^2.1.8
lit: ^2.2.5 lit: ^2.7.0
dependencies: dependencies:
'@astrojs/lit': link:../../packages/integrations/lit '@astrojs/lit': link:../../packages/integrations/lit
'@webcomponents/template-shadowroot': 0.1.0 '@webcomponents/template-shadowroot': 0.2.1
astro: link:../../packages/astro astro: link:../../packages/astro
lit: 2.6.1 lit: 2.7.0
examples/framework-multiple: examples/framework-multiple:
specifiers: specifiers:
@ -785,14 +785,14 @@ importers:
packages/astro/e2e/fixtures/lit-component: packages/astro/e2e/fixtures/lit-component:
specifiers: specifiers:
'@astrojs/lit': workspace:* '@astrojs/lit': workspace:*
'@webcomponents/template-shadowroot': ^0.1.0 '@webcomponents/template-shadowroot': ^0.2.1
astro: workspace:* astro: workspace:*
lit: ^2.2.5 lit: ^2.7.0
dependencies: dependencies:
'@astrojs/lit': link:../../../../integrations/lit '@astrojs/lit': link:../../../../integrations/lit
'@webcomponents/template-shadowroot': 0.1.0 '@webcomponents/template-shadowroot': 0.2.1
astro: link:../../.. astro: link:../../..
lit: 2.6.1 lit: 2.7.0
packages/astro/e2e/fixtures/multiple-frameworks: packages/astro/e2e/fixtures/multiple-frameworks:
specifiers: specifiers:
@ -802,9 +802,9 @@ importers:
'@astrojs/solid-js': workspace:* '@astrojs/solid-js': workspace:*
'@astrojs/svelte': workspace:* '@astrojs/svelte': workspace:*
'@astrojs/vue': workspace:* '@astrojs/vue': workspace:*
'@webcomponents/template-shadowroot': ^0.1.0 '@webcomponents/template-shadowroot': ^0.2.1
astro: workspace:* astro: workspace:*
lit: ^2.2.5 lit: ^2.7.0
preact: ^10.7.3 preact: ^10.7.3
react: ^18.1.0 react: ^18.1.0
react-dom: ^18.1.0 react-dom: ^18.1.0
@ -812,8 +812,8 @@ importers:
svelte: ^3.48.0 svelte: ^3.48.0
vue: ^3.2.37 vue: ^3.2.37
dependencies: dependencies:
'@webcomponents/template-shadowroot': 0.1.0 '@webcomponents/template-shadowroot': 0.2.1
lit: 2.6.1 lit: 2.7.0
preact: 10.12.0 preact: 10.12.0
react: 18.2.0 react: 18.2.0
react-dom: 18.2.0_react@18.2.0 react-dom: 18.2.0_react@18.2.0
@ -2175,14 +2175,14 @@ importers:
packages/astro/test/fixtures/lit-element: packages/astro/test/fixtures/lit-element:
specifiers: specifiers:
'@astrojs/lit': workspace:* '@astrojs/lit': workspace:*
'@webcomponents/template-shadowroot': ^0.1.0 '@webcomponents/template-shadowroot': ^0.2.1
astro: workspace:* astro: workspace:*
lit: ^2.2.5 lit: ^2.7.0
dependencies: dependencies:
'@astrojs/lit': link:../../../../integrations/lit '@astrojs/lit': link:../../../../integrations/lit
'@webcomponents/template-shadowroot': 0.1.0 '@webcomponents/template-shadowroot': 0.2.1
astro: link:../../.. astro: link:../../..
lit: 2.6.1 lit: 2.7.0
packages/astro/test/fixtures/markdown: packages/astro/test/fixtures/markdown:
specifiers: specifiers:
@ -3066,24 +3066,26 @@ importers:
packages/integrations/lit: packages/integrations/lit:
specifiers: specifiers:
'@lit-labs/ssr': ^2.2.0 '@lit-labs/ssr': ^3.1.0
'@lit-labs/ssr-dom-shim': ^1.1.0
astro: workspace:* astro: workspace:*
astro-scripts: workspace:* astro-scripts: workspace:*
chai: ^4.3.6 chai: ^4.3.6
cheerio: ^1.0.0-rc.11 cheerio: ^1.0.0-rc.11
lit: ^2.2.5 lit: ^2.7.0
mocha: ^9.2.2 mocha: ^9.2.2
parse5: ^7.1.2 parse5: ^7.1.2
sass: ^1.52.2 sass: ^1.52.2
dependencies: dependencies:
'@lit-labs/ssr': 2.3.0 '@lit-labs/ssr': 3.1.0
'@lit-labs/ssr-dom-shim': 1.1.0
parse5: 7.1.2 parse5: 7.1.2
devDependencies: devDependencies:
astro: link:../../astro astro: link:../../astro
astro-scripts: link:../../../scripts astro-scripts: link:../../../scripts
chai: 4.3.7 chai: 4.3.7
cheerio: 1.0.0-rc.12 cheerio: 1.0.0-rc.12
lit: 2.6.1 lit: 2.7.0
mocha: 9.2.2 mocha: 9.2.2
sass: 1.58.0 sass: 1.58.0
@ -4266,15 +4268,14 @@ packages:
- react - react
dev: false dev: false
/@astrojs/markdown-remark/2.1.0_astro@packages+astro: /@astrojs/markdown-remark/2.1.2_astro@packages+astro:
resolution: {integrity: sha512-w9T5o3UWQIfMcCkM2nLWrlfVQazh/7mw+2N/85QGcSUkZy6oNJoyy8Xz/ZkDhHLx8HPO0RT9fABR0B/H+aDaEw==} resolution: {integrity: sha512-rYkmFEv2w7oEk6ZPgxHkhWzwcxSUGc1vJU0cbCu5sHF8iFNnc1cmMsjXWa5DrU5sCEf8VVYE1iFlbbnFzvHQJw==}
peerDependencies: peerDependencies:
astro: '*' astro: '*'
dependencies: dependencies:
'@astrojs/prism': 2.1.1 '@astrojs/prism': 2.1.1
astro: link:packages/astro astro: link:packages/astro
github-slugger: 1.5.0 github-slugger: 1.5.0
image-size: 1.0.2
import-meta-resolve: 2.2.1 import-meta-resolve: 2.2.1
rehype-raw: 6.1.1 rehype-raw: 6.1.1
rehype-stringify: 9.0.3 rehype-stringify: 9.0.3
@ -4294,7 +4295,7 @@ packages:
resolution: {integrity: sha512-mol57cw1jJMcQgKMRGn7p6cewajq6JTNtqj5aAZgROWam/phVDSOCbXj/WU3O9+3qFnyKtpczoufQKwJTQltAw==} resolution: {integrity: sha512-mol57cw1jJMcQgKMRGn7p6cewajq6JTNtqj5aAZgROWam/phVDSOCbXj/WU3O9+3qFnyKtpczoufQKwJTQltAw==}
engines: {node: '>=16.12.0'} engines: {node: '>=16.12.0'}
dependencies: dependencies:
'@astrojs/markdown-remark': 2.1.0_astro@packages+astro '@astrojs/markdown-remark': 2.1.2_astro@packages+astro
'@astrojs/prism': 2.1.1 '@astrojs/prism': 2.1.1
'@mdx-js/mdx': 2.3.0 '@mdx-js/mdx': 2.3.0
'@mdx-js/rollup': 2.3.0 '@mdx-js/rollup': 2.3.0
@ -6928,25 +6929,26 @@ packages:
resolution: {integrity: sha512-rr/UVhxbKWNUr+3qRyvZk+glC7v7ph8Gk/W0z96YG64COJKf9ilnWY6JGW77TRqhrRMmS2nsvAXOyQgcF+4jrA==} resolution: {integrity: sha512-rr/UVhxbKWNUr+3qRyvZk+glC7v7ph8Gk/W0z96YG64COJKf9ilnWY6JGW77TRqhrRMmS2nsvAXOyQgcF+4jrA==}
dependencies: dependencies:
'@lit/reactive-element': 1.6.1 '@lit/reactive-element': 1.6.1
lit: 2.6.1 lit: 2.7.0
lit-html: 2.6.1 lit-html: 2.7.0
dev: false dev: false
/@lit-labs/ssr-dom-shim/1.0.0: /@lit-labs/ssr-dom-shim/1.1.0:
resolution: {integrity: sha512-ic93MBXfApIFTrup4a70M/+ddD8xdt2zxxj9sRwHQzhS9ag/syqkD8JPdTXsc1gUy2K8TTirhlCqyTEM/sifNw==} resolution: {integrity: sha512-92uQ5ARf7UXYrzaFcAX3T2rTvaS9Z1//ukV+DqjACM4c8s0ZBQd7ayJU5Dh2AFLD/Ayuyz4uMmxQec8q3U4Ong==}
/@lit-labs/ssr/2.3.0: /@lit-labs/ssr/3.1.0:
resolution: {integrity: sha512-uPaJoNf5w3t8DOVDpuI4WR6wo552mZwiiE9n9TpIvinh75lDgvl1ki07wvfrFI6VEbDVPRj4jHiCduBr1dVJ7A==} resolution: {integrity: sha512-D4Ut27bmmj5AV9iQaEOxdjPHSZGp11ww0DI3zAniyFf2KBOH7y/X2U163oOdmKh6KQNFLQDOkVx+A6NlmxcY4Q==}
engines: {node: '>=13.9.0'} engines: {node: '>=13.9.0'}
dependencies: dependencies:
'@lit-labs/ssr-client': 1.0.1 '@lit-labs/ssr-client': 1.0.1
'@lit-labs/ssr-dom-shim': 1.1.0
'@lit/reactive-element': 1.6.1 '@lit/reactive-element': 1.6.1
'@parse5/tools': 0.1.0 '@parse5/tools': 0.1.0
'@types/node': 16.18.12 '@types/node': 16.18.12
enhanced-resolve: 5.12.0 enhanced-resolve: 5.12.0
lit: 2.6.1 lit: 2.7.0
lit-element: 3.2.2 lit-element: 3.3.0
lit-html: 2.6.1 lit-html: 2.7.0
node-fetch: 3.3.0 node-fetch: 3.3.0
parse5: 7.1.2 parse5: 7.1.2
dev: false dev: false
@ -6954,7 +6956,7 @@ packages:
/@lit/reactive-element/1.6.1: /@lit/reactive-element/1.6.1:
resolution: {integrity: sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==} resolution: {integrity: sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==}
dependencies: dependencies:
'@lit-labs/ssr-dom-shim': 1.0.0 '@lit-labs/ssr-dom-shim': 1.1.0
/@ljharb/has-package-exports-patterns/0.0.2: /@ljharb/has-package-exports-patterns/0.0.2:
resolution: {integrity: sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==} resolution: {integrity: sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==}
@ -8524,8 +8526,8 @@ packages:
/@vue/shared/3.2.47: /@vue/shared/3.2.47:
resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==}
/@webcomponents/template-shadowroot/0.1.0: /@webcomponents/template-shadowroot/0.2.1:
resolution: {integrity: sha512-ry84Vft6xtRBbd4M/ptRodbOLodV5AD15TYhyRghCRgIcJJKmYmJ2v2BaaWxygENwh6Uq3zTfGPmlckKT/GXsQ==} resolution: {integrity: sha512-fXL/vIUakyZL62hyvUh+EMwbVoTc0hksublmRz6ai6et8znHkJa6gtqMUZo1oc7dIz46exHSIImml9QTdknMHg==}
dev: false dev: false
/abab/2.0.6: /abab/2.0.6:
@ -12209,23 +12211,24 @@ packages:
uhyphen: 0.1.0 uhyphen: 0.1.0
dev: true dev: true
/lit-element/3.2.2: /lit-element/3.3.0:
resolution: {integrity: sha512-6ZgxBR9KNroqKb6+htkyBwD90XGRiqKDHVrW/Eh0EZ+l+iC+u+v+w3/BA5NGi4nizAVHGYvQBHUDuSmLjPp7NQ==} resolution: {integrity: sha512-M3OIoblNS7LZdRxOIk8g0wyLEA/lRw/UGJ1TX+767OpkuDsRdSoxBIvewpWqCo7sMd9xt1XedUNZIr9jUO1X3g==}
dependencies: dependencies:
'@lit-labs/ssr-dom-shim': 1.1.0
'@lit/reactive-element': 1.6.1 '@lit/reactive-element': 1.6.1
lit-html: 2.6.1 lit-html: 2.7.0
/lit-html/2.6.1: /lit-html/2.7.0:
resolution: {integrity: sha512-Z3iw+E+3KKFn9t2YKNjsXNEu/LRLI98mtH/C6lnFg7kvaqPIzPn124Yd4eT/43lyqrejpc5Wb6BHq3fdv4S8Rw==} resolution: {integrity: sha512-/zPOl8EfeB3HHpTzINSpnWgvgQ8N07g/j272EOAIyB0Ys2RzBqTVT23i+JZuUlNbB2WHHeSsTCFi92NtWrtpqQ==}
dependencies: dependencies:
'@types/trusted-types': 2.0.2 '@types/trusted-types': 2.0.2
/lit/2.6.1: /lit/2.7.0:
resolution: {integrity: sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw==} resolution: {integrity: sha512-qSy2BAVA+OiWtNptP404egcC/izDdNRw6iHGIbUmkZtbMJvPKfNsaoKrNs8Zmsbjmv5ZX2tur1l9TfzkSWWT4g==}
dependencies: dependencies:
'@lit/reactive-element': 1.6.1 '@lit/reactive-element': 1.6.1
lit-element: 3.2.2 lit-element: 3.3.0
lit-html: 2.6.1 lit-html: 2.7.0
/lite-vimeo-embed/0.1.0: /lite-vimeo-embed/0.1.0:
resolution: {integrity: sha512-XFzPdv4NaWlyaM9WpBaS5CIUkf+laIRZEXQGsBb2ZdDWkuMmnzfAZ5nriYv3a3MVx5tEEetGN0sNaUhAVRXr1g==} resolution: {integrity: sha512-XFzPdv4NaWlyaM9WpBaS5CIUkf+laIRZEXQGsBb2ZdDWkuMmnzfAZ5nriYv3a3MVx5tEEetGN0sNaUhAVRXr1g==}
@ -15331,6 +15334,7 @@ packages:
/source-map/0.6.1: /source-map/0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
requiresBuild: true
/source-map/0.7.4: /source-map/0.7.4:
resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}