0.1.10 • Published 9 months ago

@jcayzac/astro-build-cache v0.1.10

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

@jcayzac/astro-build-cache

This module provides a simple build cache for artifacts you may be generating during an Astro build.

As with Astro's own build artifacts, the cache is stored under node_modules/.astro where it can be easily ignored by version control systems and cached by cloud providers.

$ ls -1 node_modules/.astro/
assets
build-cache.development     # dev cache
build-cache.development-shm
build-cache.development-wal
build-cache.production      # prod cache
build-cache.production-shm
build-cache.production-wal
bundle
chunks
content
data-store.json

To clear the cache, simply delete node_modules/.astro/build-cache.*.

Installation

# pnpm
pnpm add @jcayzac/astro-build-cache

# bun
bunx add @jcayzac/astro-build-cache

# npm
npx add @jcayzac/astro-build-cache

# yarn
yarn add @jcayzac/astro-build-cache

# deno
deno add npm:@jcayzac/astro-build-cache

Usage

import { Cache } from '@jcayzac/astro-build-cache'

// Create a cache instance. Name is optional. Values are scoped by name.
const { cached } = new Cache('name')

// Now you can get values, with cache support, from anywhere.
const value = cached<Uint8Array>(
  // keyable material
  {
    format: 'png',
    options,
    fonts,
    element: serializeJsx(node),
  },
  // generator
  async () =>
  new Resvg(
    (await satori(node, options)),
    {
      fitTo: {
          mode: 'width',
          value: options.width,
      },
    },
  )
    .render()
    .asPng(),
)

!TIP To avoid any build error when using this module, you should add it to the list of externalized packages:

// astro.config.mjs
export default defineConfig({
  /* ...other options... */
  vite: {
    build: {
      rollupOptions: {
        external: [
          '@jcayzac/astro-build-cache',
        ],
      },
    }
  },
})

Like it? Buy me a coffee!

If you like anything here, consider buying me a coffee using one of the following platforms:

GitHub Sponsors Revolut Wise Ko-Fi PayPal

0.1.10

9 months ago

0.1.10-dev.0

9 months ago

0.1.8

10 months ago

0.1.7

10 months ago

0.1.9

10 months ago

0.1.6

10 months ago

0.1.5

11 months ago

0.1.4

11 months ago

0.1.3

11 months ago

0.1.2

11 months ago