Skip to content

GoogleChromeLabs/template-for-polyfill

Repository files navigation

Templates for polyfill

This is a partial polyfill for the Declarative partial updates API.

The polyfill includes a implementation of declarative patching using template elements as described in the Patching explainer.

Other implementations of the Declarative partial updates API are not yet implemented

Requirements

A browser that supports ES6/ES2015 is required for this polyfill.

Limitations

  • HTML inserted via setHTML is pre-processed for <template for> instructions, but other APIs such as innerHTML cannot be monkey-patched for performance reasons. The polyfill we rescan the document on subsequent DOM manipulations so templates may be processed then.
  • New <template for> instructions after the polyfill is loaded are processed via a mutation observer so will not happen during HTML parsing like they would for a browser that supports this natively. This may cause empty content of placeholder content in <?start>/<?end> processing instruction to show initially, where this would not happen when the API is supported natively.

Usage

Include via npm and a bundler

npm install template-for-polyfill
<script type="module" src="./template-for-polyfill/dist/template-for-polyfill.js">

Include via unpkg

<script src="https://unpkg.com/template-for-polyfill"></script>

Building from source

git clone https://github.com/GoogleChromeLabs/template-for-polyfill
cd template-for-polyfill
npm i
npm test        # Tests should pass
npm run build   # Outputs minified polyfill to dist/
<script src="/path_to_polyfill/template-for-polyfill.js"></script>

License

Apache 2.0

Contributing

We'd love to accept your patches and contributions to this project. See the enclosed CONTRIBUTING.md for details.

Disclaimer

This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors