Update dependency lit-html to v2
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| lit-html (source) | 0.10.2 -> 2.7.5 |
Release Notes
lit/lit (lit-html)
v2.7.5
Patch Changes
-
#3968
5bb40831- Allow undefined to be passed to the ref() directive -
#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.4
Patch Changes
-
#3888
0f30e6fb- Fix a memory leak cause by lit-html's shared TreeWalker holding a reference to the last tree it walked.
v2.7.3
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 props
v2.7.2
Patch Changes
v2.7.1
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.0
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 errors
v2.6.1
Patch Changes
-
#3526
65e56655- Disable ShadyDOM noPatch in Node dev build. This fixes the issue of throwing due to undefinedwindow.
v2.6.0
Minor Changes
-
#3522
72fcf0d7- When running in Node, Lit now automatically includes minimal DOM shims which are sufficient 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.0
Minor Changes
-
#3507
b152db29-lit-htmlandreactive-elementnow include development Node builds with unminified code and dev warnings.
v2.4.0
Minor Changes
-
#3318
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.1
Patch Changes
v2.3.0
Minor Changes
-
#3156
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.7
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.6
Patch Changes
v2.2.5
Patch Changes
-
#2952
a78cc3b7- Fix SSR hydration bug relating to and other void elements having attribute bindings.
v2.2.4
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.3
Patch Changes
-
#2732
3e181bcb- Enforce use of file extensions in imports. Fixes an issue with older TypeScript compilers.
v2.2.2
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.1
Patch Changes
-
#2635
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.0
Minor Changes
-
#2401
2c9d0008- Added a devlog events system that may be used for debugging and visualizing Lit's internals.
v2.1.3
Patch Changes
-
#2498
2a1dc7a1- Replace 'rare' with 'invalid' in svg tag function JSDocs. -
#2459
23df9d45- Fix bindings inside ofelements -
#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.2
Patch Changes
-
#2399
5ac025bf- Correct typo inasync-directivemodule comment -
#2410
b9a6962b- Correct the link path of CONTRIBUTING.md in README.md files
v2.1.1
Patch Changes
v2.1.0
Minor Changes
Patch Changes
-
#2307
221cb0a9- Added an additional check to prevent spoofing of internal lit types in data bindings.
v2.0.2
Patch Changes
-
#2236
5fc3818a- PreventpolyfillSupport.noPatchSupportedfrom implicitly beingany. Deduplicate types forDevMode-suffixed polyfill support functions.
v2.0.1
Patch Changes
v2.0.0
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 are now exported from thelit-html/directive.jsmodule. -
NodeParthas been renamed toChildPart, along with other methods and variables that use the "Node" naming, likePartType.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 subpath folder mapping syntax with an explicit list of all exported files.The
/-suffixed syntax for subpath folder mapping originally used in these files 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
- Added
renderBeforeto render options. If specified, content is rendered before the node given via render options, e.g.{renderBefore: node}. - Added development mode, which can be enabled by setting the
developmentNode exports condition. See Development and production builds for more details. - All usage of
instanceofhas been removed, making rendering more likely to work when multiple instances of the library interact. - Template processing is more robust to expressions in places other than text and attribute values.
-
rendernow returns theChildPartthat was created/updated byrender. - Added
AsyncDirective, which is aDirectivesubclass whosedisconnectedcallback will be called when the part containing the directive is cleared (or transitively cleared by a Part higher in the tree) or manually disconnected using thesetConnectedAPI, and whosereconnectedcallback will be called when manually re-connected usingsetConnected. When implementingdisconnected, thereconnectedcallback should also be implemented to return the directive to a usable state. Note thatLitElementwill disconnect directives upon element disconnection, and re-connect directives upon element re-connection. See Async directives for more details. - Added
setConnected(isConnected: boolean)toChildPart; when called withfalse, thedisconnectedcallback will be run on any directives contained within the part (directly or transitively), but without clearing or causing a re-render to the tree. When called withtrue, any such directives'reconnectedcallback will be called prior to its nextupdate/rendercallbacks. Note thatLitElementwill call this method by default on the rendered part in itsconnectedCallbackanddisconnectedCallback. - Added the
static-htmlmodule, a statichtmltag function, aliteraltag function, andunsafeStatic(), which allows template authors to add strings to the static structure of the template, before it's parsed as HTML. See Static expressions for more details. - Added
lit-html/directive-helpers.jsmodule with helpers for creating custom directives. See Custom directives for more details. - Rendering
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. - Nested directives whose parent returns
noChangeare now unchanged. This allows theguarddirective to guard directive values (#1519). - Added optional
creationScopetoRenderOptions, which controls the node from which the template is cloned from. - Added support for running with Trusted Types enforced.
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.
-
#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.
v1.4.1
v1.4.0
v1.3.0
Changed
- Set the "type" field in package.json to "module. (#1146)
Added
- Added support for Trusted Types. This support uses a policy named 'lit-html' for parsing the static parts of html literals, and ensures that we pass trusted type values through to the DOM when used in bindings. (#1153)
- Export the
shadyTemplateFactoryfromlib/shady-render.js(#1135)
v1.2.1
Fixed
- Added TypeScript type declarations for older versions of TypeScript. We're currently testing back to TS 3.4. We can't commit to never breaking TypeScript builds, but we'll be supporting older versions as best we can.
v1.2.0
Added
- Added
unsafeSVGdirective to bind SVG source inside SVGs. (#304) - Added
templateContent()directive for stamping out the contents of an HTML template into a text binding. (#1058) - Added the
live()directive. (#877)
Fixed
- Fixed a bug where
classMapandstyleMapdirectives wouldn't render mutated objects. (#972) - Fixed a bug where ifDefined() would set an attribute even when the value didn't change. (#890)
- Change
classMapdirective to set classes correctly on SVGs (#1070).
v1.1.2
Fixed
- Fixed a bug where bindings in comments could be written as text in some cases. (#926)
v1.1.1
Changed
-
renderandshady-rendernow both accept any value that is renderable byNodePart. (#910)
v1.1.0
Changed
- Many small performance enhancements.
- Private names are now named with a
__prefix (#859).
Added
- Setup continuous benchmarking with Tachometer (#887).
Fixed
- Prevent empty styles from causing exceptions or breaking rendering when using
shady-render(#760). - Primitive values in attributes are now always simply stringified, regardless of whether they are iterable. (#830)
- Adopt and upgrade template fragments after processing for parts (#831).
- Fixed bindings with attribute-like expressions preceeding them (#855).
- Fixed errors with bindings in HTML comments (#882).
v1.0.0
Changed
- Tons of docs updates (#746), (#675), (#724), (#753), (#764), (#763), (#765), (#767), (#768), (#734), (#771), (#766), (#773), (#770), (#769), (#777), (#776), (#754), (#779)
Added
- Global version of
lit-htmlon window (#790).
Fixed
- Removed use of
anyoutside of test code (#741).
v0.14.0
Changed
-
until()can now take any number of sync or async arguments. (#555) -
guard()supports multiple dependencies. If the first argument toguard()is an array, the array items are checked for equality to previous values. (#666) - Renamed
classMap.jsandstyleMap.jsfiles to kebab-case. (#644)
Added
- Added
cache()directive. (#646) - Removed Promise as a supposed node-position value type. (#555)
- Added a minimal
<template>polyfill.
Removed
- Removed the
when()directive. Users may achieve similar behavior by wrapping a ternary with thecache()directive.
Fixed
- Bound attribute names are rewritten to avoid IE/Edge removing SVG and style attributes. (#640)
- Ensure shady-render prepares styling for a scope before attaching child elements. (#664)
- Handle CSS Custom Variables in the styleMap directive. #642)
v0.13.0
Changed
- Directives are now defined by passing the entire directive factory function to
directive(). (#562)
Fixed
- Fix issue on obscure browsers that do not accept event listener objects by using callback as event part listener (#581)
- Fix KeyFn and ItemTemplate types (#570)
- Don't use export * to workaround rollup bug (#556)
-
eventContextis no longer used as thethisvalue for event listener objects (object with ahandleEventmethod), as the object itself is supposed to be thethisvalue. (#576)
v0.12.0
Changed
- Re-implemented repeat directive for better performance (#501)
- Updated TypeScript dependency to 3.1
-
render()now takes an options object as the third argument. (#523)
Added
- Event listeners are called with a configurable
thisreference, which is set via theeventContextoption torender(). (#523) - Support for event listener options, by passing the listener itself as both the second and third arguments to add/removeEventListener().
v0.11.4
Fixed
v0.11.3
Changed
- Moved upgrading of custom elements in template fragments to a common location in TemplateInstance (#489)
- Rewrite render() to reuse the logic in NodePart. render() now supports all the data types that NodeParts do. (#491)
Fixed
- Fixed bug when using the ShadyCSS @apply` shim. (#502)
v0.11.2
Added
- Added
classMapandstyleMapdirectives (#486)
Fixed
- Fixed bug in asyncReplace when rerendering the same iterable (#485)
- Update properties before upgrading custom elements (#455)
- Cache the ShadyCSS version lookup (#477)
v0.11.1
Changed
- Eliminated a cycle in the module import graph (#472)
- Remove the default value for the templateProcessor parameter in TemplateResult#constuctor, making it a required parameter (#472)
v0.11.0
Added
- Added support for property, event, and boolean bindings to default syntax (#398)
- Added guard directive (#438)
- Added when directive (#439)
Changed
- Split implementation into multiple small modules and merged lit-html.js and core.js (#436)
- Moved directives into top-level
directives/directory (#436) - Replaced
PartCallbackwithTemplateProcessor(#405) - Unified
NodePartandAttributePartinterfaces (#400)- AttributePart#setValue() takes a single value
-
Parthas separatesetValue()andcommit()phases - Added
AttributeCommitterto commit attribute values once for multipleAttributeParts
Removed
- Removed lit-extended.js (#436)
Fixed
- Render initial undefined values in attributes (#377)
- Handle case-sensitive attributes like
viewBoxcorrectly (#376) - Support bindings in
<template>elements (#343) - Don’t break templates when HTML comments have bindings in them (#446)
- IE: Don't use Set() constructor arguments (#401)
- Handle forms as Node instead of iterable (#404)
- Update values after upgrading custom elements (#385)
- Dirty check primitive values passed to unsafeHTML() (#384)
- Handle forms as Node instead of iterable (#404)
- Upgrade disconnected custom elements before setting properties on them. (#442)
- Fix style attribute bindings in IE (#448)
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.
- [ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.