A cache for @remark-embedder/core

Usage no npm install needed!

<script type="module">
  import remarkEmbedderCache from 'https://cdn.skypack.dev/@remark-embedder/cache';



A cache for @remark-embedder/core

Build Status Code Coverage version downloads MIT License All Contributors PRs Welcome Code of Conduct

The problem

You're using @remark-embedder/core and you want to cache the results of your transformers long-term so you don't have to make network requests for HTML every time.

This solution

This is a cache implementation specifically for @remark-embedder/core that saves the results of getHTML for a transformer to disk (in node_modules/.cache by default).

Table of Contents


This module is distributed via npm which is bundled with node and should be installed as one of your project's dependencies:

npm install @remark-embedder/cache


import Cache from '@remark-embedder/cache'

const cache = new Cache()

async function go() {
  const result = await remark()
    .use(remarkEmbedder, {
      transformers: [
        // transformers


// your transformers will only be called once even though we call process 4 times.

The default directory is pretty reasonable: path.join(process.cwd(), 'node_modules/.cache/@remark-embedder/cache'), but if you want to change it, that's the first argument of the Cache constructor: new Cache(directory).


Other Solutions

I'm not aware of any, if you are please make a pull request and add it here!


Looking to contribute? Look for the Good First Issue label.

🐛 Bugs

Please file an issue for bugs, missing documentation, or unexpected behavior.

See Bugs

💡 Feature Requests

Please file an issue to suggest new features. Vote on feature requests by adding a 👍. This helps maintainers prioritize what to work on.

See Feature Requests

Contributors ✨

Thanks goes to these people (emoji key):

Kent C. Dodds
Kent C. Dodds

💻 📖 🚇 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!