astro 2.0.18 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/client-base.d.ts +27 -0
- package/client-image.d.ts +48 -0
- package/components/Image.astro +28 -0
- package/dist/@types/astro.d.ts +101 -1
- package/dist/assets/consts.d.ts +4 -0
- package/dist/assets/consts.js +20 -0
- package/dist/assets/image-endpoint.d.ts +5 -0
- package/dist/assets/image-endpoint.js +50 -0
- package/dist/assets/index.d.ts +4 -0
- package/dist/assets/index.js +10 -0
- package/dist/assets/internal.d.ts +36 -0
- package/dist/assets/internal.js +70 -0
- package/dist/assets/services/service.d.ts +71 -0
- package/dist/assets/services/service.js +88 -0
- package/dist/assets/services/sharp.d.ts +3 -0
- package/dist/assets/services/sharp.js +57 -0
- package/dist/assets/services/squoosh.d.ts +3 -0
- package/dist/assets/services/squoosh.js +56 -0
- package/dist/assets/services/vendor/squoosh/avif/avif_enc.d.js +11 -0
- package/dist/assets/services/vendor/squoosh/avif/avif_node_dec.d.ts +2 -0
- package/dist/assets/services/vendor/squoosh/avif/avif_node_dec.js +1628 -0
- package/dist/assets/services/vendor/squoosh/avif/avif_node_dec.wasm +0 -0
- package/dist/assets/services/vendor/squoosh/avif/avif_node_enc.d.ts +2 -0
- package/dist/assets/services/vendor/squoosh/avif/avif_node_enc.js +1850 -0
- package/dist/assets/services/vendor/squoosh/avif/avif_node_enc.wasm +0 -0
- package/dist/assets/services/vendor/squoosh/codecs.d.ts +158 -0
- package/dist/assets/services/vendor/squoosh/codecs.js +284 -0
- package/dist/assets/services/vendor/squoosh/copy-wasm.d.ts +1 -0
- package/dist/assets/services/vendor/squoosh/copy-wasm.js +24 -0
- package/dist/assets/services/vendor/squoosh/emscripten-types.d.js +0 -0
- package/dist/assets/services/vendor/squoosh/emscripten-utils.d.ts +9 -0
- package/dist/assets/services/vendor/squoosh/emscripten-utils.js +33 -0
- package/dist/assets/services/vendor/squoosh/image-pool.d.ts +4 -0
- package/dist/assets/services/vendor/squoosh/image-pool.js +94 -0
- package/dist/assets/services/vendor/squoosh/image.d.ts +14 -0
- package/dist/assets/services/vendor/squoosh/image.js +27 -0
- package/dist/assets/services/vendor/squoosh/image_data.d.ts +9 -0
- package/dist/assets/services/vendor/squoosh/image_data.js +22 -0
- package/dist/assets/services/vendor/squoosh/impl.d.ts +22 -0
- package/dist/assets/services/vendor/squoosh/impl.js +110 -0
- package/dist/assets/services/vendor/squoosh/mozjpeg/mozjpeg_enc.d.js +11 -0
- package/dist/assets/services/vendor/squoosh/mozjpeg/mozjpeg_node_dec.d.ts +2 -0
- package/dist/assets/services/vendor/squoosh/mozjpeg/mozjpeg_node_dec.js +1631 -0
- package/dist/assets/services/vendor/squoosh/mozjpeg/mozjpeg_node_dec.wasm +0 -0
- package/dist/assets/services/vendor/squoosh/mozjpeg/mozjpeg_node_enc.d.ts +2 -0
- package/dist/assets/services/vendor/squoosh/mozjpeg/mozjpeg_node_enc.js +1737 -0
- package/dist/assets/services/vendor/squoosh/mozjpeg/mozjpeg_node_enc.wasm +0 -0
- package/dist/assets/services/vendor/squoosh/png/squoosh_oxipng.d.ts +10 -0
- package/dist/assets/services/vendor/squoosh/png/squoosh_oxipng.js +89 -0
- package/dist/assets/services/vendor/squoosh/png/squoosh_oxipng_bg.wasm +0 -0
- package/dist/assets/services/vendor/squoosh/png/squoosh_png.d.ts +15 -0
- package/dist/assets/services/vendor/squoosh/png/squoosh_png.js +138 -0
- package/dist/assets/services/vendor/squoosh/png/squoosh_png_bg.wasm +0 -0
- package/dist/assets/services/vendor/squoosh/resize/squoosh_resize.d.ts +15 -0
- package/dist/assets/services/vendor/squoosh/resize/squoosh_resize.js +95 -0
- package/dist/assets/services/vendor/squoosh/resize/squoosh_resize_bg.wasm +0 -0
- package/dist/assets/services/vendor/squoosh/rotate/rotate.wasm +0 -0
- package/dist/assets/services/vendor/squoosh/utils/execOnce.d.ts +1 -0
- package/dist/assets/services/vendor/squoosh/utils/execOnce.js +14 -0
- package/dist/assets/services/vendor/squoosh/utils/workerPool.d.ts +22 -0
- package/dist/assets/services/vendor/squoosh/utils/workerPool.js +95 -0
- package/dist/assets/services/vendor/squoosh/webp/webp_enc.d.js +4 -0
- package/dist/assets/services/vendor/squoosh/webp/webp_node_dec.d.ts +2 -0
- package/dist/assets/services/vendor/squoosh/webp/webp_node_dec.js +1473 -0
- package/dist/assets/services/vendor/squoosh/webp/webp_node_dec.wasm +0 -0
- package/dist/assets/services/vendor/squoosh/webp/webp_node_enc.d.ts +2 -0
- package/dist/assets/services/vendor/squoosh/webp/webp_node_enc.js +1640 -0
- package/dist/assets/services/vendor/squoosh/webp/webp_node_enc.wasm +0 -0
- package/dist/assets/types.d.ts +119 -0
- package/dist/assets/types.js +0 -0
- package/dist/assets/utils/etag.d.ts +12 -0
- package/dist/assets/utils/etag.js +28 -0
- package/dist/assets/utils/metadata.d.ts +6 -0
- package/dist/assets/utils/metadata.js +30 -0
- package/dist/assets/utils/queryParams.d.ts +2 -0
- package/dist/assets/utils/queryParams.js +16 -0
- package/dist/assets/utils/transformToPath.d.ts +2 -0
- package/dist/assets/utils/transformToPath.js +17 -0
- package/dist/assets/vite-plugin-assets.d.ts +5 -0
- package/dist/assets/vite-plugin-assets.js +187 -0
- package/dist/cli/check/index.d.ts +81 -2
- package/dist/cli/check/index.js +190 -44
- package/dist/cli/index.js +39 -16
- package/dist/cli/telemetry.js +1 -1
- package/dist/content/consts.d.ts +0 -1
- package/dist/content/consts.js +1 -3
- package/dist/content/internal.d.ts +7 -0
- package/dist/content/internal.js +27 -5
- package/dist/content/template/virtual-mod.d.mts +1 -0
- package/dist/content/types-generator.js +25 -10
- package/dist/content/utils.d.ts +16 -13
- package/dist/content/utils.js +29 -6
- package/dist/content/vite-plugin-content-assets.d.ts +3 -1
- package/dist/content/vite-plugin-content-assets.js +10 -6
- package/dist/content/vite-plugin-content-imports.js +54 -27
- package/dist/content/vite-plugin-content-virtual-mod.js +7 -4
- package/dist/core/app/index.js +104 -134
- package/dist/core/build/generate.js +30 -5
- package/dist/core/build/index.d.ts +2 -0
- package/dist/core/build/index.js +16 -0
- package/dist/core/build/plugins/plugin-ssr.js +3 -5
- package/dist/core/config/config.js +2 -1
- package/dist/core/config/schema.d.ts +64 -8
- package/dist/core/config/schema.js +17 -3
- package/dist/core/config/settings.js +3 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/cookies/cookies.js +36 -68
- package/dist/core/create-vite.js +5 -1
- package/dist/core/dev/dev.d.ts +2 -2
- package/dist/core/dev/dev.js +24 -4
- package/dist/core/errors/dev/vite.js +6 -1
- package/dist/core/errors/errors-data.d.ts +17 -1
- package/dist/core/errors/errors-data.js +16 -0
- package/dist/core/messages.js +2 -2
- package/dist/core/path.d.ts +1 -0
- package/dist/core/path.js +4 -0
- package/dist/core/preview/index.d.ts +3 -1
- package/dist/core/preview/index.js +16 -1
- package/dist/core/render/dev/environment.js +1 -5
- package/dist/core/render/environment.js +1 -2
- package/dist/core/render/result.js +13 -35
- package/dist/core/sync/index.d.ts +18 -5
- package/dist/core/sync/index.js +13 -1
- package/dist/integrations/index.js +12 -1
- package/dist/runtime/server/render/component.js +1 -1
- package/dist/runtime/server/response.js +11 -30
- package/dist/vite-plugin-astro-postprocess/index.js +1 -1
- package/dist/vite-plugin-astro-server/plugin.js +1 -1
- package/dist/vite-plugin-env/index.js +4 -4
- package/dist/vite-plugin-inject-env-ts/index.js +17 -2
- package/dist/vite-plugin-markdown/content-entry-type.d.ts +7 -0
- package/dist/vite-plugin-markdown/content-entry-type.js +39 -0
- package/dist/vite-plugin-markdown/index.js +70 -4
- package/dist/vite-plugin-ssr-manifest/index.d.ts +2 -0
- package/dist/vite-plugin-ssr-manifest/index.js +25 -0
- package/package.json +26 -8
- package/src/content/template/types.d.ts +18 -9
- package/src/content/template/virtual-mod.mjs +6 -0
- package/tsconfigs/base.json +6 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import ImageData from './image_data.js';
|
|
3
|
+
export declare function decodeBuffer(_buffer: Buffer | Uint8Array): Promise<ImageData>;
|
|
4
|
+
export declare function rotate(image: ImageData, numRotations: number): Promise<ImageData>;
|
|
5
|
+
type ResizeOpts = {
|
|
6
|
+
image: ImageData;
|
|
7
|
+
} & {
|
|
8
|
+
width?: number;
|
|
9
|
+
height?: number;
|
|
10
|
+
};
|
|
11
|
+
export declare function resize({ image, width, height }: ResizeOpts): Promise<ImageData>;
|
|
12
|
+
export declare function encodeJpeg(image: ImageData, opts: {
|
|
13
|
+
quality?: number;
|
|
14
|
+
}): Promise<Uint8Array>;
|
|
15
|
+
export declare function encodeWebp(image: ImageData, opts: {
|
|
16
|
+
quality?: number;
|
|
17
|
+
}): Promise<Uint8Array>;
|
|
18
|
+
export declare function encodeAvif(image: ImageData, opts: {
|
|
19
|
+
quality?: number;
|
|
20
|
+
}): Promise<Uint8Array>;
|
|
21
|
+
export declare function encodePng(image: ImageData): Promise<Uint8Array>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { codecs as supportedFormats, preprocessors } from "./codecs.js";
|
|
2
|
+
import ImageData from "./image_data.js";
|
|
3
|
+
const DELAY_MS = 1e3;
|
|
4
|
+
let _promise;
|
|
5
|
+
function delayOnce(ms) {
|
|
6
|
+
if (!_promise) {
|
|
7
|
+
_promise = new Promise((resolve) => {
|
|
8
|
+
setTimeout(resolve, ms);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
return _promise;
|
|
12
|
+
}
|
|
13
|
+
function maybeDelay() {
|
|
14
|
+
const isAppleM1 = process.arch === "arm64" && process.platform === "darwin";
|
|
15
|
+
if (isAppleM1) {
|
|
16
|
+
return delayOnce(DELAY_MS);
|
|
17
|
+
}
|
|
18
|
+
return Promise.resolve();
|
|
19
|
+
}
|
|
20
|
+
async function decodeBuffer(_buffer) {
|
|
21
|
+
var _a;
|
|
22
|
+
const buffer = Buffer.from(_buffer);
|
|
23
|
+
const firstChunk = buffer.slice(0, 16);
|
|
24
|
+
const firstChunkString = Array.from(firstChunk).map((v) => String.fromCodePoint(v)).join("");
|
|
25
|
+
if (firstChunkString.includes("GIF")) {
|
|
26
|
+
throw Error(`GIF images are not supported, please install the @astrojs/image/sharp plugin`);
|
|
27
|
+
}
|
|
28
|
+
const key = (_a = Object.entries(supportedFormats).find(
|
|
29
|
+
([, { detectors }]) => detectors.some((detector) => detector.exec(firstChunkString))
|
|
30
|
+
)) == null ? void 0 : _a[0];
|
|
31
|
+
if (!key) {
|
|
32
|
+
throw Error(`Buffer has an unsupported format`);
|
|
33
|
+
}
|
|
34
|
+
const encoder = supportedFormats[key];
|
|
35
|
+
const mod = await encoder.dec();
|
|
36
|
+
const rgba = mod.decode(new Uint8Array(buffer));
|
|
37
|
+
return rgba;
|
|
38
|
+
}
|
|
39
|
+
async function rotate(image, numRotations) {
|
|
40
|
+
image = ImageData.from(image);
|
|
41
|
+
const m = await preprocessors["rotate"].instantiate();
|
|
42
|
+
return await m(image.data, image.width, image.height, { numRotations });
|
|
43
|
+
}
|
|
44
|
+
async function resize({ image, width, height }) {
|
|
45
|
+
image = ImageData.from(image);
|
|
46
|
+
const p = preprocessors["resize"];
|
|
47
|
+
const m = await p.instantiate();
|
|
48
|
+
await maybeDelay();
|
|
49
|
+
return await m(image.data, image.width, image.height, {
|
|
50
|
+
...p.defaultOptions,
|
|
51
|
+
width,
|
|
52
|
+
height
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
async function encodeJpeg(image, opts) {
|
|
56
|
+
image = ImageData.from(image);
|
|
57
|
+
const e = supportedFormats["mozjpeg"];
|
|
58
|
+
const m = await e.enc();
|
|
59
|
+
await maybeDelay();
|
|
60
|
+
const quality = opts.quality || e.defaultEncoderOptions.quality;
|
|
61
|
+
const r = await m.encode(image.data, image.width, image.height, {
|
|
62
|
+
...e.defaultEncoderOptions,
|
|
63
|
+
quality
|
|
64
|
+
});
|
|
65
|
+
return r;
|
|
66
|
+
}
|
|
67
|
+
async function encodeWebp(image, opts) {
|
|
68
|
+
image = ImageData.from(image);
|
|
69
|
+
const e = supportedFormats["webp"];
|
|
70
|
+
const m = await e.enc();
|
|
71
|
+
await maybeDelay();
|
|
72
|
+
const quality = opts.quality || e.defaultEncoderOptions.quality;
|
|
73
|
+
const r = await m.encode(image.data, image.width, image.height, {
|
|
74
|
+
...e.defaultEncoderOptions,
|
|
75
|
+
quality
|
|
76
|
+
});
|
|
77
|
+
return r;
|
|
78
|
+
}
|
|
79
|
+
async function encodeAvif(image, opts) {
|
|
80
|
+
image = ImageData.from(image);
|
|
81
|
+
const e = supportedFormats["avif"];
|
|
82
|
+
const m = await e.enc();
|
|
83
|
+
await maybeDelay();
|
|
84
|
+
const val = e.autoOptimize.min;
|
|
85
|
+
const quality = opts.quality || 75;
|
|
86
|
+
const r = await m.encode(image.data, image.width, image.height, {
|
|
87
|
+
...e.defaultEncoderOptions,
|
|
88
|
+
cqLevel: quality === 0 ? val : Math.round(val - quality / 100 * val)
|
|
89
|
+
});
|
|
90
|
+
return r;
|
|
91
|
+
}
|
|
92
|
+
async function encodePng(image) {
|
|
93
|
+
image = ImageData.from(image);
|
|
94
|
+
const e = supportedFormats["oxipng"];
|
|
95
|
+
const m = await e.enc();
|
|
96
|
+
await maybeDelay();
|
|
97
|
+
const r = await m.encode(image.data, image.width, image.height, {
|
|
98
|
+
...e.defaultEncoderOptions
|
|
99
|
+
});
|
|
100
|
+
return r;
|
|
101
|
+
}
|
|
102
|
+
export {
|
|
103
|
+
decodeBuffer,
|
|
104
|
+
encodeAvif,
|
|
105
|
+
encodeJpeg,
|
|
106
|
+
encodePng,
|
|
107
|
+
encodeWebp,
|
|
108
|
+
resize,
|
|
109
|
+
rotate
|
|
110
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var MozJpegColorSpace = /* @__PURE__ */ ((MozJpegColorSpace2) => {
|
|
2
|
+
MozJpegColorSpace2[MozJpegColorSpace2["GRAYSCALE"] = 1] = "GRAYSCALE";
|
|
3
|
+
MozJpegColorSpace2[MozJpegColorSpace2["RGB"] = 2] = "RGB";
|
|
4
|
+
MozJpegColorSpace2[MozJpegColorSpace2["YCbCr"] = 3] = "YCbCr";
|
|
5
|
+
return MozJpegColorSpace2;
|
|
6
|
+
})(MozJpegColorSpace || {});
|
|
7
|
+
var mozjpeg_enc_d_default = moduleFactory;
|
|
8
|
+
export {
|
|
9
|
+
MozJpegColorSpace,
|
|
10
|
+
mozjpeg_enc_d_default as default
|
|
11
|
+
};
|