fix(deps): update dependency mustache to v4 #70
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:
~2.3.0
->~4.2.0
Release Notes
janl/mustache.js (mustache)
v4.2.0
Compare Source
Added
exports
field, by [@manzt].v4.1.0
Compare Source
Added
render()
now recognizes a config object argument, by [@pineapplemachine].Fixed
escape
functions to escape all types of values (includingnumber
s), by [@pineapplemachine].v4.0.1
Compare Source
Fixed
v4.0.0
Compare Source
Majority of using projects don't have to worry by this being a new major version.
TLDR; if your project manipulates
Writer.prototype.parse | Writer.cache
directly or uses.to_html()
, you probably have to change that code.This release allows the internal template cache to be customised, either by disabling it completely
or provide a custom strategy deciding how the cache should behave when mustache.js parses templates.
Projects that wanted to customise the caching behaviour in earlier versions of mustache.js were forced to
override internal method responsible for parsing templates;
Writer.prototype.parse
. In short, that was unfortunatebecause there is more than caching happening in that method.
We've improved that now by introducing a first class API that only affects template caching.
The default template cache behaves as before and is still compatible with older JavaScript environments.
For those who wants to provide a custom more sopisiticated caching strategy, one can do that with an object that adheres to the following requirements:
Added
Removed
.to_html()
, by [@phillipj].v3.2.1
Compare Source
Fixed
v3.2.0
Compare Source
Added
Using mustache.js as an ES module
To stay backwards compatible with already using projects, the default exposed module format is still UMD.
That means projects using mustache.js as an CommonJS, AMD or global scope module, from npm or directly from github.com
can keep on doing that for now.
For those projects who would rather want to use mustache.js as an ES module, the
mustache/mustache.mjs
file has tobe
import
ed directly.Below are some usage scenarios for different runtimes.
Modern browser with ES module support
Node.js (>= v13.2.0 or using --experimental-modules flag)
ES Module support for Node.js will be improved in the future when Conditional Exports
is enabled by default rather than being behind an experimental flag.
More info in Node.js ECMAScript Modules docs.
Deno
v3.1.0
Compare Source
Added
Fixed
v3.0.3
Compare Source
Added
Fixed
v3.0.2
Compare Source
Fixed
Dev
v3.0.1
Compare Source
v3.0.0
Compare Source
We are very happy to announce a new major version of mustache.js. We want to be very careful not to break projects
out in the wild, and adhering to Semantic Versioning we have therefore cut this new major version.
The changes introduced will likely not require any actions for most using projects. The things to look out for that
might cause unexpected rendering results are described in the migration guide below.
A big shout out and thanks to [@raymond-lam] for this release! Without his contributions with code and issue triaging,
this release would never have happened.
Major
Writer.prototype.parse
to cache by tags in addition to template string, by [@raymond-lam].Writer.prototype.parse
cache, by [@seminaoki].Minor
tags
parameter toMustache.render()
, by [@raymond-lam].Migrating from mustache.js v2.x to v3.x
Rendering properties of primitive types
We have ensured properties of primitive types can be rendered at all times. That means
Array.length
,String.length
and similar. A corner case where this could cause unexpected output follows:
View:
Template:
Output with v3.0:
Output with v2.x:
Caching for templates with custom delimiters
We have improved the templates cache to ensure custom delimiters are taken into consideration for the cache.
This improvement might cause unexpected rendering behaviour for using projects actively using the custom delimiters functionality.
Previously it was possible to use
Mustache.parse()
as a means to set global custom delimiters. If customdelimiters were provided as an argument, it would affect all following calls to
Mustache.render()
.Consider the following:
The above illustrates the fact that
Mustache.parse()
made mustache.js cache the template without consideringthe custom delimiters provided. This is no longer true.
We no longer encourage using
Mustache.parse()
for this purpose, but have rather added a fourth argument toMustache.render()
letting you provide custom delimiters when rendering.If you still need the pre-parse the template and use custom delimiters at the same time, ensure to provide
the custom delimiters as argument to
Mustache.render()
as well.Configuration
📅 Schedule: Branch creation - "before 07:00 on Thursday" in timezone Europe/Oslo, 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.