0.1.10 • Published 11 months ago

@jcayzac/astro-build-cache v0.1.10

Weekly downloads
-
License
MIT
Repository
github
Last release
11 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

11 months ago

0.1.10-dev.0

11 months ago

0.1.8

12 months ago

0.1.7

1 year ago

0.1.9

12 months ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago