Skip to content

ImgProcUserOptions

Defined in: types.ts:28

Image Processor User Options

optional componentProps: Partial<Pick<ImgProcProcessorOptions, "placeholder" | "format" | "tagName" | "placeholderColor" | "blurProcessor" | "upscale" | "layout" | "objectFit" | "objectPosition" | "backgroundSize" | "backgroundPosition" | "enforceAspectRatio" | "preload" | "formats" | "minAge" | "maxAge" | "crossOrigin">>

Defined in: types.ts:32

Default component properties (user settings)


optional concurrency: number

Defined in: types.ts:175

Concurrency

Math.max(os.cpus().length, 1)

Partial.concurrency


optional dataAdapter: ImgProcDataAdapter

Defined in: types.ts:210

Data adapter for cache database

"astro-image-processor/extras/JsonFileDataAdapter"

Partial.dataAdapter


optional disableCopy: boolean

Defined in: types.ts:150

Disable copying from the cache to the output directory

  • Refer to the description of imageOutDirPattern
false

Partial.disableCopy


optional downloadDirPattern: string

Defined in: types.ts:96

Directory for downloading remote files (pattern)

  • Support the following placeholders:
    • [root]: Replace with root in Astro.
    • [cacheDir]: Replace with cacheDir in Astro.
    • [imageCacheDir]: Replace with imageCacheDir in this intergration.

[imageCacheDir]downloads/

Partial.downloadDirPattern


optional fileNamePattern: string

Defined in: types.ts:144

File name pattern when preserve directory structure option is enabled

  • Uses if preserveDirectories is true
  • Support the following placeholders:
    • [name]: Original file name (without extension)
    • [hash]: File hash (full)
    • [hash8]: File hash (first 8 characters)
    • [width]: Resolved width
    • [height]: Resolved height
    • [descriptor]: 1x 2x 1000w 2000w
    • [ext]: Extension (without period)
  • The file name must include all of [name], [width], [height], and [descriptor], or include [hash8] or [hash]
    • If this condition is not met, different images may be given the same name
  • Cache buster can be specified using the hash and query parameter

[name]_[width]x[height]@[descriptor].[ext]?[hash8]

Partial.fileNamePattern


optional formatOptions: ImgProcFormatOptions

Defined in: types.ts:57

Default format options (user settings)


optional globalClassNames: object

Defined in: types.ts:170

Class names used in global CSS

  • If change this, need to create and place the corresponding global CSS

cssVariables: object

blurredImage: string = "--aip-blurred-image"

placeholderAnimationState: string = "--aip-placeholder-animation-state"

element: object

asBackground: string = "aip-elm-as-background"

background: string = "aip-elm-background"

container: string = "aip-elm-container"

img: string = "aip-elm-img"

picture: string = "aip-elm-picture"

layout: object

constrained: string = "aip-layout-constrained"

fill: string = "aip-layout-fill"

fixed: string = "api-layout-fixed"

fullWidth: string = "aip-layout-fullWidth"

Configured for <GlobalStyles> component

Partial.globalClassNames


optional hasher: ImgProcHasher

Defined in: types.ts:205

Hash generator for buffer and string

  • Recommended to use astro-image-processor/extras/xxHash3Hasher with xxhash-addon.
  • If the hasher (or more specifically, the hash algorithm) is changed, caches and database must be cleared.
    • Changing the hasher will rename the image files.
"astro-image-processor/extras/cryptoHasher"

Partial.hasher


optional imageAssetsDirPattern: string

Defined in: types.ts:104

Image assets directory (pattern)

  • Support the following placeholders:
    • [assetsDirName]: Replaced with _astro by default Astro settings
  • Images placed in /_astro/[hash].[ext] by default.

/[assetsDirName]/

Partial.imageAssetsDirPattern


optional imageCacheDirPattern: string

Defined in: types.ts:87

Image cache directory (pattern)

  • Support the following placeholders:
    • [root]: Replace with root in Astro.
    • [cacheDir]: Replace with cacheDir in Astro.

[cacheDir]astro-image-processor/

Partial.imageCacheDirPattern


optional imageOutDirPattern: string

Defined in: types.ts:114

Image output directory (pattern)

  • Support the following placeholders:
    • [root]: Replace with root in Astro.
    • [outDir]: Replace with outDir in Astro.
  • If disableCopy is true, use this value as path prefix. (Placeholder is disabled)
    • e.g. Set this value to https://cdn.example.com/assets/ to generate src/srcset like src="https://cdn.example.com/assets/[hash].webp", and rsync --update --delete to synchronize imageCacheDir to CDN.

[outDir]

Partial.imageOutDirPattern


optional preserveDirectories: boolean

Defined in: types.ts:126

Preserve directory structure for image files

  • Place images by root relative paths with srcDir as the document root
  • Image filenames are resolved according to fileNamePattern
  • e.g.
    • Place the source file in /src/assets/images/foo/bar.png and set the src property in the component to the same value
    • Image output to /dist/assets/images/foo/[resolved fileNamePattern]
    • The src and srcset of the <img> element etc. will contain /assets/images/foo/[resolved fileNamePattern]
false
@experimental

Partial.preserveDirectories


optional retentionCount: null | number

Defined in: types.ts:197

Cache retention count

  • Delete the cache if not used consecutively in the last n builds.
  • If set to null, disables cache deletion by this policy.
  • If both period and count are enabled, they are processed under AND conditions.
10

Partial.retentionCount


optional retentionPeriod: null | number

Defined in: types.ts:189

Cache retention period (ms)

  • If not used within the set period, the cache will be subject to deletion
  • If set to null, disables cache deletion by this policy
  • If both period and count are enabled, they are processed under AND conditions
8640000 (100 days)

Partial.retentionPeriod


optional scopedStyleStrategy: "class" | "attribute" | "where"

Defined in: types.ts:164

Specify the strategy used for scoping styles

Astro Docs scopedStyleStrategy

Inherit Astro settings

Partial.scopedStyleStrategy


optional timeoutDuration: number

Defined in: types.ts:181

Download timeout duration (milliseconds)

  • Timeout duration for downloading remote files @default: 5000 (5 seconds)

Partial.timeoutDuration


optional useSrcForHash: boolean

Defined in: types.ts:158

Use the string from the component’s src property to generate a hash for identifying local image files

  • Fast since it doesn’t require reading the image file during hash generation
    • However, duplicate files cannot be detected
  • Note that files will be recognized as different if the file name or directory changes
false

Partial.useSrcForHash