feat: make Sharp the default image service (#7908)
* feat: make Sharp the default image service * chore: lockfile
This commit is contained in:
parent
fb5cd6b56d
commit
2f951cd403
4 changed files with 22 additions and 12 deletions
18
.changeset/four-houses-compete.md
Normal file
18
.changeset/four-houses-compete.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
'astro': major
|
||||||
|
---
|
||||||
|
|
||||||
|
Sharp is now the default image service used for `astro:assets`. If you would prefer to still use Squoosh, you can update your config with the following:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { defineConfig, squooshImageService } from "astro/config";
|
||||||
|
|
||||||
|
// https://astro.build/config
|
||||||
|
export default defineConfig({
|
||||||
|
image: {
|
||||||
|
service: squooshImageService(),
|
||||||
|
}
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
However, not only do we recommend using Sharp as it is faster and more reliable, it is also highly likely that the Squoosh service will be removed in a future release.
|
|
@ -153,6 +153,7 @@
|
||||||
"mime": "^3.0.0",
|
"mime": "^3.0.0",
|
||||||
"network-information-types": "^0.1.1",
|
"network-information-types": "^0.1.1",
|
||||||
"ora": "^6.3.1",
|
"ora": "^6.3.1",
|
||||||
|
"sharp": "^0.32.1",
|
||||||
"p-limit": "^4.0.0",
|
"p-limit": "^4.0.0",
|
||||||
"path-to-regexp": "^6.2.1",
|
"path-to-regexp": "^6.2.1",
|
||||||
"preferred-pm": "^3.0.3",
|
"preferred-pm": "^3.0.3",
|
||||||
|
@ -209,19 +210,10 @@
|
||||||
"remark-code-titles": "^0.1.2",
|
"remark-code-titles": "^0.1.2",
|
||||||
"rollup": "^3.25.1",
|
"rollup": "^3.25.1",
|
||||||
"sass": "^1.63.4",
|
"sass": "^1.63.4",
|
||||||
"sharp": "^0.32.1",
|
|
||||||
"srcset-parse": "^1.1.0",
|
"srcset-parse": "^1.1.0",
|
||||||
"undici": "^5.22.1",
|
"undici": "^5.22.1",
|
||||||
"unified": "^10.1.2"
|
"unified": "^10.1.2"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
|
||||||
"sharp": ">=0.31.0"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"sharp": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.14.1",
|
"node": ">=18.14.1",
|
||||||
"npm": ">=6.14.0"
|
"npm": ">=6.14.0"
|
||||||
|
|
|
@ -20,9 +20,9 @@ import type { AstroConfigSchema } from '../core/config';
|
||||||
import type { AstroTimer } from '../core/config/timer';
|
import type { AstroTimer } from '../core/config/timer';
|
||||||
import type { AstroCookies } from '../core/cookies';
|
import type { AstroCookies } from '../core/cookies';
|
||||||
import type { LogOptions, LoggerLevel } from '../core/logger/core';
|
import type { LogOptions, LoggerLevel } from '../core/logger/core';
|
||||||
|
import { AstroIntegrationLogger } from '../core/logger/core';
|
||||||
import type { AstroComponentFactory, AstroComponentInstance } from '../runtime/server';
|
import type { AstroComponentFactory, AstroComponentInstance } from '../runtime/server';
|
||||||
import type { SUPPORTED_MARKDOWN_FILE_EXTENSIONS } from './../core/constants.js';
|
import type { SUPPORTED_MARKDOWN_FILE_EXTENSIONS } from './../core/constants.js';
|
||||||
import { AstroIntegrationLogger } from '../core/logger/core';
|
|
||||||
export type {
|
export type {
|
||||||
MarkdownHeading,
|
MarkdownHeading,
|
||||||
MarkdownMetadata,
|
MarkdownMetadata,
|
||||||
|
@ -987,7 +987,7 @@ export interface AstroUserConfig {
|
||||||
* @docs
|
* @docs
|
||||||
* @name image.service (Experimental)
|
* @name image.service (Experimental)
|
||||||
* @type {{entrypoint: 'astro/assets/services/sharp' | 'astro/assets/services/squoosh' | string, config: Record<string, any>}}
|
* @type {{entrypoint: 'astro/assets/services/sharp' | 'astro/assets/services/squoosh' | string, config: Record<string, any>}}
|
||||||
* @default `{entrypoint: 'astro/assets/services/squoosh', config?: {}}`
|
* @default `{entrypoint: 'astro/assets/services/sharp', config?: {}}`
|
||||||
* @version 2.1.0
|
* @version 2.1.0
|
||||||
* @description
|
* @description
|
||||||
* Set which image service is used for Astro’s experimental assets support.
|
* Set which image service is used for Astro’s experimental assets support.
|
||||||
|
|
|
@ -191,7 +191,7 @@ export const AstroConfigSchema = z.object({
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
.default({
|
.default({
|
||||||
service: { entrypoint: 'astro/assets/services/squoosh', config: {} },
|
service: { entrypoint: 'astro/assets/services/sharp', config: {} },
|
||||||
}),
|
}),
|
||||||
markdown: z
|
markdown: z
|
||||||
.object({
|
.object({
|
||||||
|
|
Loading…
Reference in a new issue