rollup-plugin-modulepreload icon indicating copy to clipboard operation
rollup-plugin-modulepreload copied to clipboard

Expose the modulepreload entry graphs rather than modifying HTML

Open philipwalton opened this issue 4 years ago • 1 comments

For my modulepreload use case, I don't have a static HTML file that I want to modify, I have a template file that I want to pass data to (e.g. the list of files that need preloading). It looks something like this:

{% for module in modulepreload %}
    <link rel="modulepreload" href="/public/{{ module }}"></script>
{%- endfor %}

At the most basic level, what I need from a modulepreload plugin for Rollup is something that inspects my bundle and gives me back a list files that need preloading. Then I (myself) can chose what I want to do with that list of files, and how I want to get it into my HTML.

There are also cases where the list of files to preload depends on what URL the user navigates to, and that can only be determined at run time, not at build time. In such cases a template would need more than just a single list, it would need a mapping of entry points to their static graphs (I've filed #3 to address that issue).

This issue is more about answering the question of how a developer gets the list of files to preload from this plugin to the HTML. I think letting them pass a function to the plugin that gets invoked with the entry graphs should be sufficient.

philipwalton avatar Aug 09 '19 03:08 philipwalton