Update dependency lit-html to v3 #211
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.4.1->3.3.1Release Notes
lit/lit (lit-html)
v3.3.1Compare Source
Patch Changes
#4997
aea85e24- Update README#4988
6792b7efThanks @ADNolan! - Adjusted the comparison to use the name property of the _$resolve function and the resolveOverrideFn in private ssr support to prevent duplicated patching of the directive class.#4975
43a3f4dc- Remove some redundant code from removePart()v3.3.0Compare Source
Minor Changes
c9160405Thanks @maxpatiiuk! - Dev mode warnings are now emitted on the next microtask after package import, allowing for a wider opportunity to suppress the warnings by consumers.Patch Changes
0a9bc720Thanks @louis-bompart! - Import barrels explicitly for compatibility with modern Node resolution w/ ESMv3.2.1Compare Source
Patch Changes
99703a03- Revert the Terser plugin for Rollup torollup-plugin-terserfrom@rollup/plugin-terserdue to a bug that prevented our minified name prefixing from working.
v3.2.0Compare Source
Minor Changes
feccc1ba- Add MathML support with themathmltemplate tagv3.1.4Compare Source
Patch Changes
abf30b3e- The value provided by theref()directive will always beundefinedwhen the element is disconnected.v3.1.3Compare Source
Patch Changes
bd881370- Fix the lit-html marker length to be consistently 9 characters.v3.1.2Compare Source
Patch Changes
#4523
1a32b61e- Add a DEV_MODE error to catch duplicate attribute bindings that otherwise create silent errors.#4485
57b00630- Add "browser" export condition entrypoints to any package.json files with "node"export conditions. This fixes Node test runners emulating browser environments that were incorrectly loading the
"node" entrypoints instead of the browser code.
#4515
dca963f7- Fix a memory leak when patching directive constructors for SSR.v3.1.1Compare Source
Patch Changes
1af7991c- asyncReplace correctly re-renders when value is unchanged (#4408)v3.1.0Compare Source
Minor Changes
949a5467- Adds two new types: UncompiledTemplateResult and MaybeCompiledTemplateResult. Currently UncompiledTemplateResult is the same as TemplateResult, and MaybeCompiledTemplateResult is the union of the compiled and uncompiled types.v3.0.2Compare Source
Patch Changes
02b8d620- Add a dev mode warning if a static value such asliteralorunsafeStaticis detected within the non-statichtmltag function. These should only be used with the statichtmltag function imported fromlit-html/static.jsorlit/static-html.js.v3.0.1Compare Source
Patch Changes
#4240
edf998c9Thanks @remziatay! - Improved the type inferece of thechoose()directive to properly restrict the case type inferred from provided value. Note: If this change creates a type error in your code, there must have been an unreachable case that can be removed, or the type of yourvaluemight be missing a valid case in the union.#4310
8f674ab3Thanks @megheaiulian! - Thewhen()directive now calls the case functions with the provided condition value as an argument. This allows the narrowing of types for the condition value based on its truthiness when used as a parameter for the case function.v3.0.0Compare Source
Major Changes
#3756
f06f7972- Drop IE11 support#3759
1db01376- Use replaceWith() for SVG templates#3765
92cedaa2- Remove experimental hydrate modules. These are available from@lit-labs/ssr-client.#3751
dfd747cf- Simplify lit-html attribute handling for standards-compliant browsers that iterate attributes in source order#3750
c3e473b4- Use toggleAttribute() to simplify boolean attribute partsPatch Changes
#4141
6b515e43- Update TypeScript to ~5.2.0#3762
23c404fd- Remove Lit 1 -> Lit 2 migration warningsv2.8.0Compare Source
Minor Changes
e2c50569- Fix return type ofisTemplateResulthelper to include theCompiledTemplateResultand fix thecachedirective to work correctly withCompiledTemplateResults. Also add an explicitisCompiledTemplateResulthelper.v2.7.5Compare Source
Patch Changes
#3968
5bb40831- Allow undefined to be passed to the ref() directive#3969
7d8d4a15- Make RefOrCallback generic like Ref#3987
bb2560f1- Change thehfield ofCompiledTemplates to aTemplateStringsArraypreventing the spoofing ofCompiledTemplates by JSON injection attacks. This should not be a breaking change for most users unless you're using CompiledTemplates. This is a necessary security fix, similar to #2307.v2.7.4Compare Source
Patch Changes
0f30e6fb- Fix a memory leak cause by lit-html's shared TreeWalker holding a reference to the last tree it walked.v2.7.3Compare Source
Patch Changes
#3825
343187b1-static-htmlno longer adds an item toTemplateResult's value array for the last consumed static value. This fixes an error with server-side rendering of static html.#3766
4431cbb8- Fix styleMap initial render of mixed-case custom propsv2.7.2Compare Source
Patch Changes
88fe0390- Allow numbers to be used as values in styleMap()v2.7.1Compare Source
Patch Changes
#3768
7c1191da- Fix styleMap's handling of important flags#3720
575fb578-lit-html/experimental-hydrate.jsandlit-element/experimental-hydrate-support.jshave been moved to@lit-labs/ssr-client.The modules in the original location have been marked deprecated and will be removed in a future version.
v2.7.0Compare Source
Minor Changes
#3667
e00f6f52- [SSR only] Improved how nodes with attribute/property/event/element bindings are rendered in SSR, to avoid adding comments inside of "raw text elements" like<textarea>. Fixes #3663.Note:
@lit-labs/ssrandlit-htmlmust be updated together.Patch Changes
#3615
4d698430- Don't throw inChildPart.parentNodeif theparentNodeis null#3583
88a40177- [SSR only] Add more detail to some hydration errorsv2.6.1Compare Source
Patch Changes
65e56655- Disable ShadyDOM noPatch in Node dev build. This fixes the issue of throwing due to undefinedwindow.v2.6.0Compare Source
Minor Changes
#3522
72fcf0d7- When running in Node, Lit now automatically includes minimal DOM shims which aresufficient for most SSR (Server Side Rendering) use-cases, removing the need to
import the global DOM shim from
@lit-labs/ssr.The new
@lit-labs/ssr-dom-shimpackage has been introduced, which exports anHTMLElement,CustomElementRegistry, and defaultcustomElementssingleton.The existing
@lit-labs/ssrglobal DOM shim can still be used, and is compatible with the new package, because@lit-labs/ssrimports from@lit-labs/ssr-dom-shim. Importing the global DOM shim adds more APIs to the global object, such as a globalHTMLElement,TreeWalker,fetch, and other APIs. It is recommended that users try to remove usage of the@lit-labs/ssrDOM shim, and instead rely on the more minimal, automatic shimming that@lit/reactive-elementnow provides automatically.v2.5.0Compare Source
Minor Changes
b152db29-lit-htmlandreactive-elementnow include development Node builds with unminified code and dev warnings.v2.4.0Compare Source
Minor Changes
21313077- Adds anisServervariable export tolitandlit-html/is-server.jswhich will betruein Node andfalsein the browser. This can be used when authoring components to change behavior based on whether or not the component is executing in an SSR context.v2.3.1Compare Source
Patch Changes
5a65ca97- Use existingdocumentin Node buildv2.3.0Compare Source
Minor Changes
ae6f6808- Lit and its underlying libraries can now be imported directly from Node without crashing, without the need to load the @lit-labs/ssr dom-shim library. Note that actually rendering from a Node context still requires the @lit-labs/ssr dom-shim, and the appropriate integration between @lit-labs/ssr and your framework/tool.Patch Changes
#3003
daddeb34- Lit'sasync-directivenow re-exports everything from thedirectivemodule.#3199
0725fdb4- In DEV_MODE, render a warning instead of rendering a template's host in the template.Most commonly this would happen when rendering
${this}in a LitElement's template, which has the counterintuitive behavior of removing the element from the DOM, because when rendering the element's template we attach it into its own shadow root, which removes it from the DOM, causing it simply disappear. This is especially problematic with a fast HMR system.#3186
3766ae4c-StaticValueinterface type is now exported.v2.2.7Compare Source
Patch Changes
#3130
1f0567f1- Export the underlying type of thekeyeddirective.#3132
2fe2053f- Added "types" entry to package exports. This tells newer versions of TypeScript where to look for typings for each module.v2.2.6Compare Source
Patch Changes
b12e8d93- Expand documentation forrenderandTemplateResult.v2.2.5Compare Source
Patch Changes
a78cc3b7- Fix SSR hydration bug relating to and other void elements having attribute bindings.v2.2.4Compare Source
Patch Changes
#2847
79d82385- Fix typo in API docs for live() directive.#2828
b3b6bc33- Remove private Lit 2 migration helpers:INTERNALandclearContainerForLit2MigrationOnly. This logic is no longer depended on.v2.2.3Compare Source
Patch Changes
3e181bcb- Enforce use of file extensions in imports. Fixes an issue with older TypeScript compilers.v2.2.2Compare Source
Patch Changes
#2657
a6069c40- Remove readonly restriction fromStyleInfointerface as addition, deletion, and updating of styles is valid. ExpandedstyleMapdocumentation with links to lit.dev.#2642
badc532c- Add an additional security brand check to StaticValues; Similar to #2307#2691
171143bd- Fixesrefbug when auto-bound class method used as a callback could incorrectly receiveundefined.#2661
9a3a38cd- Give a clearer error message when rendering into null/undefined#2646
365cd09a- Clarify that hacking around the template strings array brand error can create security vulnerabilities.v2.2.1Compare Source
Patch Changes
ae358703- Make the event debug logger lazier, doing even less work (with no side effects) even in dev mode unless the page has opted in.v2.2.0Compare Source
Minor Changes
2c9d0008- Added a devlog events system that may be used for debugging and visualizing Lit's internals.v2.1.3Compare Source
Patch Changes
#2498
2a1dc7a1- Replace 'rare' with 'invalid' in svg tag function JSDocs.#2459
23df9d45- Fix bindings inside of <title> elements#2479
89560520- Expand JSDocs for thesvgtagged template literal (TTL). The new documentation makes it more clear that thesvgtag function should only be used for SVG fragments, and not for the<svg>HTML element.v2.1.2Compare Source
Patch Changes
#2399
5ac025bf- Correct typo inasync-directivemodule comment#2410
b9a6962b- Correct the link path of CONTRIBUTING.md in README.md filesv2.1.1Compare Source
Patch Changes
5860533f- Fix choose directive jsdoc code example.v2.1.0Compare Source
Minor Changes
fcc2b3d0- Add akeyed(key, value)directive that clears a part if the key changes.d319cf5f- Addwhen,map,join, andrangedirectives.1d563e83- Add choose() directivePatch Changes
221cb0a9- Added an additional check to prevent spoofing of internal lit types in data bindings.v2.0.2Compare Source
Patch Changes
8bb33c88- Work around a Chrome bug with trusted types: https://crbug.com/9932685fc3818a- PreventpolyfillSupport.noPatchSupportedfrom implicitly beingany.Deduplicate types for
DevMode-suffixed polyfill support functions.v2.0.1Compare Source
Patch Changes
ba5e1391- Replace dynamic name lookups for polyfill support functions with static names.v2.0.0Compare Source
Major Changes
The
templateFactoryoption ofRenderOptionshas been removed.TemplateProcessorhas been removed.Symbols are not converted to a string before mutating DOM, so passing a Symbol to an attribute or text binding will result in an exception.
The
shady-rendermodule has been removed and is now part ofplatform-support, and Lit's polyfill support now adds the following limitations: (1) Bindings in style elements are no longer supported. Previously these could not change and in the future they may be supported via static bindings. (2)ShadyCSS.styleElementis no longer called automatically. This must be called whenever dynamic changes that affect styling are made that involve css custom property shimming (older browsers) or changes to custom properties used via the deprecated@applyfeature. It was previously called only on first render, and it is now up to the user to decide when this should be called. See Polyfills for more details.render()no longer clears the container it's rendered to. It now appends to the container by default.Expressions in comments are no longer rendered or updated. See Valid expression locations for more details.
Template caching happens per callsite, not per template-tag/callsize pair. This means some rare forms of highly dynamic template tags are no longer supported.
Arrays and other iterables passed to attribute bindings are not specially handled. Arrays will be rendered with their default toString representation. This means that
html`<div class=${['a', 'b']}>will render<div class="a,b">instead of<div class="a b">. To get the old behavior, usearray.join(' ').Multiple bindings in a single attribute value don't require the attribute value is quoted, as long as there is no whitespace or other attribute-ending character in the attribute value.
html`<div id=${a}-${b}>`The directive and part APIs are significantly different. See Custom Directives and the Upgrade Guide for more details.
The
Directivebase class anddirective()factory function arenow exported from the
lit-html/directive.jsmodule.NodeParthas been renamed toChildPart,along with other methods and variables that use the "Node" naming, like
PartType.Nodewhich is nowPartType.CHILD.The part exports (
ChildPart,AttributePart, etc) have been change to interface-only exports. The constructors are no longer exported. Directive authors should use helpers indirective-helpers.jsto construct parts.The
eventContextrender option has been changed tohost.#2103
15a8356d- Updates theexportsfield ofpackage.jsonfiles to replace the subpathfolder
mapping
syntax with an explicit list of all exported files.
The
/-suffixed syntax for subpath folder mapping originally used in thesefiles is deprecated. Rather than update to the new syntax, this change replaces
these mappings with individual entries for all exported files so that (a) users
must import using extensions and (b) bundlers or other tools that don't resolve
subpath folder mapping exactly as Node.js does won't break these packages'
expectations around how they're imported.
#1764
0b4d6eda- Don't allow classMap to remove static classes. This keeps classMap consistent with building a string out of the classnames to be applied.Minor Changes
renderBeforeto render options. If specified, content is rendered before the node given via render options, e.g.{renderBefore: node}.developmentNode exports condition. See Development and production builds for more details.instanceofhas been removed, making rendering more likely towork when multiple instances of the library interact.
rendernow returns theChildPartthat was created/updated byrender.AsyncDirective, which is aDirectivesubclass whosedisconnectedcallback will be called when the part containing the directiveis cleared (or transitively cleared by a Part higher in the tree) or manually
disconnected using the
setConnectedAPI, and whosereconnectedcallbackwill be called when manually re-connected using
setConnected. Whenimplementing
disconnected, thereconnectedcallback should also beimplemented to return the directive to a usable state. Note that
LitElementwill disconnect directives upon element disconnection, and re-connect
directives upon element re-connection. See Async directives for more details.
setConnected(isConnected: boolean)toChildPart; when called withfalse, thedisconnectedcallback will be run on any directives contained withinthe part (directly or transitively), but without clearing or causing a
re-render to the tree. When called with
true, any such directives'reconnectedcallback will be called prior to its nextupdate/rendercallbacks. Note that
LitElementwill call this method by default on therendered part in its
connectedCallbackanddisconnectedCallback.static-htmlmodule, a statichtmltag function, aliteraltag function, andunsafeStatic(), which allows template authors to add strings to thestatic structure of the template, before it's parsed as HTML. See Static expressions for more details.
lit-html/directive-helpers.jsmodule with helpers for creating custom directives. See Custom directives for more details.null,undefined, or empty string in aChildPartnow has the same affect as renderingnothing: it does not produce an empty text node. When rendering into an element with Shadow DOM, this makes it harder to inadvertently prevent<slot>fallback content from rendering.noChangeare now unchanged. Thisallows the
guarddirective to guard directive values (#1519).creationScopetoRenderOptions, which controls the node from which the template is cloned from.Patch Changes
#1922
8189f094- BindingnoChangeinto an interpolated attribute expression now no longer removes the attribute on first render - instead it acts like an empty string. This is mostly noticable when usinguntil()without a fallback in interpolated attributes.#1964
f43b811- Don't publish src/ to npm.#2070
a48f39c8- Throw instead of rendering an innocuous value into a style or script when security hooks are enabled.#2044
662209c3- Improves disconnection handling for first-partyAsyncDirectives (until,asyncAppend,asyncReplace) so that the directive (and any DOM associated with it) can be garbage collected before any promises they are awaiting resolve.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.