Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expected one of: av1, hevc for compression but received undefined of type undefined #40

Open
mufteev opened this issue Apr 13, 2024 · 2 comments

Comments

@mufteev
Copy link

mufteev commented Apr 13, 2024

Hi

In version 2.2.1 i get an error when loading an image:

[2024-04-11 23:30:20.440] error: Expected one of: av1, hevc for compression but received undefined of type undefined
Error: Expected one of: av1, hevc for compression but received undefined of type undefined
    at Object.invalidParameterError (/home/l/dev/landing/service/cms/node_modules/.pnpm/sharp@0.33.3/node_modules/sharp/lib/is.js:135:10)
    at Sharp.heif (/home/l/dev/landing/service/cms/node_modules/.pnpm/sharp@0.33.3/node_modules/sharp/lib/output.js:1069:16)
    at sharpAddFormatSettings (/home/l/dev/landing/service/cms/node_modules/.pnpm/strapi-plugin-image-optimizer@2.2.1_@strapi+core@0.0.0_@strapi+strapi@4.22.1_@strapi+utils@4.22.1_yup@1.4.0/node_modules/strapi-plugin-image-optimizer/dist/server/services/image-optimizer-service.js:82:10)
    at resizeFileTo (/home/l/dev/landing/service/cms/node_modules/.pnpm/strapi-plugin-image-optimizer@2.2.1_@strapi+core@0.0.0_@strapi+strapi@4.22.1_@strapi+utils@4.22.1_yup@1.4.0/node_modules/strapi-plugin-image-optimizer/dist/server/services/image-optimizer-service.js:52:21)
    at generateImage (/home/l/dev/landing/service/cms/node_modules/.pnpm/strapi-plugin-image-optimizer@2.2.1_@strapi+core@0.0.0_@strapi+strapi@4.22.1_@strapi+utils@4.22.1_yup@1.4.0/node_modules/strapi-plugin-image-optimizer/dist/server/services/image-optimizer-service.js:44:21)
    at /home/l/dev/landing/service/cms/node_modules/.pnpm/strapi-plugin-image-optimizer@2.2.1_@strapi+core@0.0.0_@strapi+strapi@4.22.1_@strapi+utils@4.22.1_yup@1.4.0/node_modules/strapi-plugin-image-optimizer/dist/server/services/image-optimizer-service.js:28:38
    at Array.forEach (<anonymous>)
    at /home/l/dev/landing/service/cms/node_modules/.pnpm/strapi-plugin-image-optimizer@2.2.1_@strapi+core@0.0.0_@strapi+strapi@4.22.1_@strapi+utils@4.22.1_yup@1.4.0/node_modules/strapi-plugin-image-optimizer/dist/server/services/image-optimizer-service.js:27:15
    at Array.forEach (<anonymous>)
    at optimizeImage (/home/l/dev/landing/service/cms/node_modules/.pnpm/strapi-plugin-image-optimizer@2.2.1_@strapi+core@0.0.0_@strapi+strapi@4.22.1_@strapi+utils@4.22.1_yup@1.4.0/node_modules/strapi-plugin-image-optimizer/dist/server/services/image-optimizer-service.js:26:13)

I think this is due to the fact that when sharpInstance is initialized, the compression parameter is not passed for heif option:

return sharpInstance
.jpeg({ quality, progressive: true, force: false })
.png({
compressionLevel: Math.floor(((quality ?? 100) / 100) * 9),
progressive: true,
force: false,
})
.webp({ quality, force: false })
.avif({ quality, force: false })
.heif({ quality, force: false })
.tiff({ quality, force: false });

Sharp documentation: https://sharp.pixelplumbing.com/api-output#heif

I use the following plugin configuration:

'image-optimizer': {
  enabled: true,
  config: {
    include: ["jpeg", "jpg", "png"],
    exclude: ["gif"],
    formats: ["original", "webp"],
    sizes: [
      {
        name: "xs",
        width: 300,
      },
      {
        name: "sm",
        width: 768,
      },
      {
        name: "md",
        width: 1280,
      },
      {
        name: "lg",
        width: 1920,
      },
      {
        name: "xl",
        width: 2840,
        withoutEnlargement: true,
      },
      {
        name: "original",
      },
    ],
    additionalResolutions: [1.5, 3],
    quality: 70,
  } satisfies ImageOptimizerConfig
}
@wendelsantosd
Copy link

Same issue here.

@impcyber
Copy link

impcyber commented Apr 27, 2024

After this commit lovell/sharp@3043e01 compress option in heic becomes mandatory.
lovell/sharp#3740
So try to downgrade to sharp to 0.32.6 version

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants