astro 5.16.0 → 5.16.2
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/astro-jsx.d.ts +11 -0
- package/dist/assets/fonts/definitions.d.ts +0 -18
- package/dist/assets/fonts/infra/build-remote-font-provider-mod-resolver.d.ts +2 -0
- package/dist/assets/fonts/infra/build-remote-font-provider-mod-resolver.js +10 -0
- package/dist/assets/fonts/infra/{url-proxy-hash-resolver.d.ts → build-url-proxy-hash-resolver.d.ts} +0 -3
- package/dist/assets/fonts/infra/build-url-proxy-hash-resolver.js +13 -0
- package/dist/assets/fonts/infra/{url-resolver.d.ts → build-url-resolver.d.ts} +0 -4
- package/dist/assets/fonts/infra/{url-resolver.js → build-url-resolver.js} +1 -22
- package/dist/assets/fonts/infra/{font-fetcher.d.ts → cached-font-fetcher.d.ts} +2 -3
- package/dist/assets/fonts/infra/{font-fetcher.js → cached-font-fetcher.js} +8 -6
- package/dist/assets/fonts/infra/{remote-font-provider-mod-resolver.d.ts → dev-remote-font-provider-mod-resolver.d.ts} +0 -1
- package/dist/assets/fonts/infra/{remote-font-provider-mod-resolver.js → dev-remote-font-provider-mod-resolver.js} +0 -8
- package/dist/assets/fonts/infra/dev-url-proxy-hash-resolver.d.ts +5 -0
- package/dist/assets/fonts/infra/{url-proxy-hash-resolver.js → dev-url-proxy-hash-resolver.js} +3 -14
- package/dist/assets/fonts/infra/dev-url-resolver.d.ts +5 -0
- package/dist/assets/fonts/infra/dev-url-resolver.js +25 -0
- package/dist/assets/fonts/infra/font-type-extractor.d.ts +2 -4
- package/dist/assets/fonts/infra/font-type-extractor.js +9 -8
- package/dist/assets/fonts/infra/fontace-font-file-reader.d.ts +2 -0
- package/dist/assets/fonts/infra/fontace-font-file-reader.js +27 -0
- package/dist/assets/fonts/infra/remote-font-provider-resolver.d.ts +2 -3
- package/dist/assets/fonts/infra/remote-font-provider-resolver.js +10 -12
- package/dist/assets/fonts/infra/url-proxy-content-resolver.d.ts +2 -4
- package/dist/assets/fonts/infra/url-proxy-content-resolver.js +3 -8
- package/dist/assets/fonts/infra/xxhash-hasher.d.ts +2 -0
- package/dist/assets/fonts/infra/{hasher.js → xxhash-hasher.js} +2 -2
- package/dist/assets/fonts/vite-plugin-fonts.js +23 -31
- package/dist/assets/utils/remotePattern.d.ts +1 -3
- package/dist/cli/create-key/infra/crypto-key-generator.d.ts +3 -1
- package/dist/cli/create-key/infra/crypto-key-generator.js +7 -9
- package/dist/cli/definitions.d.ts +9 -8
- package/dist/cli/docs/infra/process-cloud-ide-provider.d.ts +4 -1
- package/dist/cli/docs/infra/process-cloud-ide-provider.js +3 -7
- package/dist/cli/index.js +35 -36
- package/dist/cli/info/core/get-package-manager.js +14 -15
- package/dist/cli/info/definitions.d.ts +3 -3
- package/dist/cli/info/infra/bun-package-manager.d.ts +4 -1
- package/dist/cli/info/infra/bun-package-manager.js +6 -10
- package/dist/cli/info/infra/cli-astro-config-resolver.d.ts +7 -4
- package/dist/cli/info/infra/cli-astro-config-resolver.js +32 -29
- package/dist/cli/info/infra/cli-clipboard.d.ts +9 -7
- package/dist/cli/info/infra/cli-clipboard.js +48 -37
- package/dist/cli/info/infra/cli-debug-info-provider.d.ts +11 -8
- package/dist/cli/info/infra/cli-debug-info-provider.js +46 -36
- package/dist/cli/info/infra/dev-debug-info-provider.d.ts +12 -9
- package/dist/cli/info/infra/dev-debug-info-provider.js +33 -23
- package/dist/cli/info/infra/noop-package-manager.d.ts +4 -1
- package/dist/cli/info/infra/noop-package-manager.js +6 -10
- package/dist/cli/info/infra/npm-package-manager.d.ts +7 -4
- package/dist/cli/info/infra/npm-package-manager.js +25 -25
- package/dist/cli/info/infra/pnpm-package-manager.d.ts +7 -4
- package/dist/cli/info/infra/pnpm-package-manager.js +24 -24
- package/dist/cli/info/infra/process-node-version-provider.d.ts +3 -1
- package/dist/cli/info/infra/process-node-version-provider.js +3 -7
- package/dist/cli/info/infra/process-package-manager-user-agent-provider.d.ts +3 -1
- package/dist/cli/info/infra/process-package-manager-user-agent-provider.js +4 -7
- package/dist/cli/info/infra/prompts-prompt.d.ts +9 -4
- package/dist/cli/info/infra/prompts-prompt.js +20 -15
- package/dist/cli/info/infra/styled-debug-info-formatter.d.ts +7 -4
- package/dist/cli/info/infra/styled-debug-info-formatter.js +23 -19
- package/dist/cli/info/infra/yarn-package-manager.d.ts +7 -4
- package/dist/cli/info/infra/yarn-package-manager.js +21 -21
- package/dist/cli/infra/build-time-astro-version-provider.d.ts +3 -1
- package/dist/cli/infra/build-time-astro-version-provider.js +4 -8
- package/dist/cli/infra/cli-command-runner.d.ts +7 -4
- package/dist/cli/infra/cli-command-runner.js +14 -10
- package/dist/cli/infra/logger-help-display.d.ts +11 -7
- package/dist/cli/infra/logger-help-display.js +62 -50
- package/dist/cli/infra/passthrough-text-styler.d.ts +8 -1
- package/dist/cli/infra/passthrough-text-styler.js +20 -10
- package/dist/cli/infra/piccolore-text-styler.d.ts +1 -1
- package/dist/cli/infra/piccolore-text-styler.js +2 -4
- package/dist/cli/infra/process-operating-system-provider.d.ts +5 -1
- package/dist/cli/infra/process-operating-system-provider.js +8 -16
- package/dist/cli/infra/tinyexec-command-executor.d.ts +6 -2
- package/dist/cli/infra/tinyexec-command-executor.js +28 -30
- package/dist/content/content-layer.js +3 -3
- package/dist/content/utils.d.ts +10 -10
- package/dist/core/app/index.js +3 -1
- package/dist/core/config/schemas/base.d.ts +72 -72
- package/dist/core/config/schemas/relative.d.ts +98 -98
- package/dist/core/constants.js +1 -1
- package/dist/core/csp/config.d.ts +1 -1
- package/dist/core/dev/dev.js +1 -1
- package/dist/core/errors/errors.js +7 -7
- package/dist/core/messages.js +2 -2
- package/dist/core/sync/index.js +20 -1
- package/dist/env/schema.d.ts +44 -44
- package/dist/types/public/context.d.ts +10 -1
- package/dist/vite-plugin-astro/index.js +5 -1
- package/dist/vite-plugin-astro-server/plugin.js +16 -16
- package/package.json +7 -7
- package/dist/assets/fonts/infra/error-handler.d.ts +0 -2
- package/dist/assets/fonts/infra/error-handler.js +0 -41
- package/dist/assets/fonts/infra/font-file-reader.d.ts +0 -4
- package/dist/assets/fonts/infra/font-file-reader.js +0 -26
- package/dist/assets/fonts/infra/hasher.d.ts +0 -2
- /package/dist/assets/fonts/infra/{font-metrics-resolver.d.ts → capsize-font-metrics-resolver.d.ts} +0 -0
- /package/dist/assets/fonts/infra/{font-metrics-resolver.js → capsize-font-metrics-resolver.js} +0 -0
- /package/dist/assets/fonts/infra/{storage.d.ts → fs-storage.d.ts} +0 -0
- /package/dist/assets/fonts/infra/{storage.js → fs-storage.js} +0 -0
- /package/dist/assets/fonts/infra/{css-renderer.d.ts → minifiable-css-renderer.d.ts} +0 -0
- /package/dist/assets/fonts/infra/{css-renderer.js → minifiable-css-renderer.js} +0 -0
- /package/dist/assets/fonts/infra/{local-provider-url-resolver.d.ts → require-local-provider-url-resolver.d.ts} +0 -0
- /package/dist/assets/fonts/infra/{local-provider-url-resolver.js → require-local-provider-url-resolver.js} +0 -0
package/astro-jsx.d.ts
CHANGED
|
@@ -672,6 +672,17 @@ declare namespace astroHTML.JSX {
|
|
|
672
672
|
value?: string | string[] | number | undefined | null;
|
|
673
673
|
popovertarget?: string | undefined | null;
|
|
674
674
|
popovertargetaction?: 'hide' | 'show' | 'toggle' | undefined | null;
|
|
675
|
+
command?:
|
|
676
|
+
| 'show-modal'
|
|
677
|
+
| 'close'
|
|
678
|
+
| 'request-close'
|
|
679
|
+
| 'show-popover'
|
|
680
|
+
| 'hide-popover'
|
|
681
|
+
| 'toggle-popover'
|
|
682
|
+
| (string & {})
|
|
683
|
+
| undefined
|
|
684
|
+
| null;
|
|
685
|
+
commandfor?: string | undefined | null;
|
|
675
686
|
}
|
|
676
687
|
|
|
677
688
|
interface CanvasHTMLAttributes extends HTMLAttributes {
|
|
@@ -14,24 +14,6 @@ export interface RemoteFontProviderResolver {
|
|
|
14
14
|
export interface LocalProviderUrlResolver {
|
|
15
15
|
resolve: (input: string) => string;
|
|
16
16
|
}
|
|
17
|
-
type SingleErrorInput<TType extends string, TData extends Record<string, any>> = {
|
|
18
|
-
type: TType;
|
|
19
|
-
data: TData;
|
|
20
|
-
cause: unknown;
|
|
21
|
-
};
|
|
22
|
-
export type ErrorHandlerInput = SingleErrorInput<'cannot-load-font-provider', {
|
|
23
|
-
entrypoint: string;
|
|
24
|
-
}> | SingleErrorInput<'unknown-fs-error', {}> | SingleErrorInput<'cannot-fetch-font-file', {
|
|
25
|
-
url: string;
|
|
26
|
-
}> | SingleErrorInput<'cannot-extract-font-type', {
|
|
27
|
-
url: string;
|
|
28
|
-
}> | SingleErrorInput<'cannot-extract-data', {
|
|
29
|
-
family: string;
|
|
30
|
-
url: string;
|
|
31
|
-
}>;
|
|
32
|
-
export interface ErrorHandler {
|
|
33
|
-
handle: (input: ErrorHandlerInput) => Error;
|
|
34
|
-
}
|
|
35
17
|
interface ProxyData {
|
|
36
18
|
weight: unifont.FontFaceData['weight'];
|
|
37
19
|
style: unifont.FontFaceData['style'];
|
package/dist/assets/fonts/infra/{url-proxy-hash-resolver.d.ts → build-url-proxy-hash-resolver.d.ts}
RENAMED
|
@@ -3,6 +3,3 @@ export declare function createBuildUrlProxyHashResolver({ hasher, contentResolve
|
|
|
3
3
|
hasher: Hasher;
|
|
4
4
|
contentResolver: UrlProxyContentResolver;
|
|
5
5
|
}): UrlProxyHashResolver;
|
|
6
|
-
export declare function createDevUrlProxyHashResolver({ baseHashResolver, }: {
|
|
7
|
-
baseHashResolver: UrlProxyHashResolver;
|
|
8
|
-
}): UrlProxyHashResolver;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
function createBuildUrlProxyHashResolver({
|
|
2
|
+
hasher,
|
|
3
|
+
contentResolver
|
|
4
|
+
}) {
|
|
5
|
+
return {
|
|
6
|
+
resolve({ originalUrl, type }) {
|
|
7
|
+
return `${hasher.hashString(contentResolver.resolve(originalUrl))}.${type}`;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
createBuildUrlProxyHashResolver
|
|
13
|
+
};
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import type { AssetsPrefix } from '../../../types/public/index.js';
|
|
2
2
|
import type { UrlResolver } from '../definitions.js';
|
|
3
|
-
export declare function createDevUrlResolver({ base, searchParams, }: {
|
|
4
|
-
base: string;
|
|
5
|
-
searchParams: URLSearchParams;
|
|
6
|
-
}): UrlResolver;
|
|
7
3
|
export declare function createBuildUrlResolver({ base, assetsPrefix, searchParams, }: {
|
|
8
4
|
base: string;
|
|
9
5
|
assetsPrefix: AssetsPrefix;
|
|
@@ -1,26 +1,6 @@
|
|
|
1
1
|
import { fileExtension, joinPaths, prependForwardSlash } from "../../../core/path.js";
|
|
2
2
|
import { getAssetsPrefix } from "../../utils/getAssetsPrefix.js";
|
|
3
3
|
import { createPlaceholderURL, stringifyPlaceholderURL } from "../../utils/url.js";
|
|
4
|
-
function createDevUrlResolver({
|
|
5
|
-
base,
|
|
6
|
-
searchParams
|
|
7
|
-
}) {
|
|
8
|
-
let resolved = false;
|
|
9
|
-
return {
|
|
10
|
-
resolve(hash) {
|
|
11
|
-
resolved ||= true;
|
|
12
|
-
const urlPath = prependForwardSlash(joinPaths(base, hash));
|
|
13
|
-
const url = createPlaceholderURL(urlPath);
|
|
14
|
-
searchParams.forEach((value, key) => {
|
|
15
|
-
url.searchParams.set(key, value);
|
|
16
|
-
});
|
|
17
|
-
return stringifyPlaceholderURL(url);
|
|
18
|
-
},
|
|
19
|
-
getCspResources() {
|
|
20
|
-
return resolved ? ["'self'"] : [];
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
4
|
function createBuildUrlResolver({
|
|
25
5
|
base,
|
|
26
6
|
assetsPrefix,
|
|
@@ -50,6 +30,5 @@ function createBuildUrlResolver({
|
|
|
50
30
|
};
|
|
51
31
|
}
|
|
52
32
|
export {
|
|
53
|
-
createBuildUrlResolver
|
|
54
|
-
createDevUrlResolver
|
|
33
|
+
createBuildUrlResolver
|
|
55
34
|
};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { Storage } from 'unstorage';
|
|
2
|
-
import type {
|
|
3
|
-
export declare function createCachedFontFetcher({ storage,
|
|
2
|
+
import type { FontFetcher } from '../definitions.js';
|
|
3
|
+
export declare function createCachedFontFetcher({ storage, fetch, readFile, }: {
|
|
4
4
|
storage: Storage;
|
|
5
|
-
errorHandler: ErrorHandler;
|
|
6
5
|
fetch: (url: string, init?: RequestInit) => Promise<Response>;
|
|
7
6
|
readFile: (url: string) => Promise<Buffer>;
|
|
8
7
|
}): FontFetcher;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { isAbsolute } from "node:path";
|
|
2
|
+
import { AstroError, AstroErrorData } from "../../../core/errors/index.js";
|
|
2
3
|
import { cache } from "../utils.js";
|
|
3
4
|
function createCachedFontFetcher({
|
|
4
5
|
storage,
|
|
5
|
-
errorHandler,
|
|
6
6
|
fetch,
|
|
7
7
|
readFile
|
|
8
8
|
}) {
|
|
@@ -19,11 +19,13 @@ function createCachedFontFetcher({
|
|
|
19
19
|
}
|
|
20
20
|
return Buffer.from(await response.arrayBuffer());
|
|
21
21
|
} catch (cause) {
|
|
22
|
-
throw
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
throw new AstroError(
|
|
23
|
+
{
|
|
24
|
+
...AstroErrorData.CannotFetchFontFile,
|
|
25
|
+
message: AstroErrorData.CannotFetchFontFile.message(url)
|
|
26
|
+
},
|
|
27
|
+
{ cause }
|
|
28
|
+
);
|
|
27
29
|
}
|
|
28
30
|
});
|
|
29
31
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { ViteDevServer } from 'vite';
|
|
2
2
|
import type { RemoteFontProviderModResolver } from '../definitions.js';
|
|
3
|
-
export declare function createBuildRemoteFontProviderModResolver(): RemoteFontProviderModResolver;
|
|
4
3
|
export declare function createDevServerRemoteFontProviderModResolver({ server, }: {
|
|
5
4
|
server: ViteDevServer;
|
|
6
5
|
}): RemoteFontProviderModResolver;
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
function createBuildRemoteFontProviderModResolver() {
|
|
2
|
-
return {
|
|
3
|
-
resolve(id) {
|
|
4
|
-
return import(id);
|
|
5
|
-
}
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
1
|
function createDevServerRemoteFontProviderModResolver({
|
|
9
2
|
server
|
|
10
3
|
}) {
|
|
@@ -15,6 +8,5 @@ function createDevServerRemoteFontProviderModResolver({
|
|
|
15
8
|
};
|
|
16
9
|
}
|
|
17
10
|
export {
|
|
18
|
-
createBuildRemoteFontProviderModResolver,
|
|
19
11
|
createDevServerRemoteFontProviderModResolver
|
|
20
12
|
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Hasher, UrlProxyContentResolver, UrlProxyHashResolver } from '../definitions.js';
|
|
2
|
+
export declare function createDevUrlProxyHashResolver({ hasher, contentResolver, }: {
|
|
3
|
+
hasher: Hasher;
|
|
4
|
+
contentResolver: UrlProxyContentResolver;
|
|
5
|
+
}): UrlProxyHashResolver;
|
package/dist/assets/fonts/infra/{url-proxy-hash-resolver.js → dev-url-proxy-hash-resolver.js}
RENAMED
|
@@ -1,25 +1,15 @@
|
|
|
1
|
-
function
|
|
1
|
+
function createDevUrlProxyHashResolver({
|
|
2
2
|
hasher,
|
|
3
3
|
contentResolver
|
|
4
4
|
}) {
|
|
5
5
|
return {
|
|
6
|
-
resolve({ originalUrl, type }) {
|
|
7
|
-
return `${hasher.hashString(contentResolver.resolve(originalUrl))}.${type}`;
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
function createDevUrlProxyHashResolver({
|
|
12
|
-
baseHashResolver
|
|
13
|
-
}) {
|
|
14
|
-
return {
|
|
15
|
-
resolve(input) {
|
|
16
|
-
const { cssVariable, data } = input;
|
|
6
|
+
resolve({ cssVariable, data, originalUrl, type }) {
|
|
17
7
|
return [
|
|
18
8
|
cssVariable.slice(2),
|
|
19
9
|
formatWeight(data.weight),
|
|
20
10
|
data.style,
|
|
21
11
|
data.subset,
|
|
22
|
-
|
|
12
|
+
`${hasher.hashString(contentResolver.resolve(originalUrl))}.${type}`
|
|
23
13
|
].filter(Boolean).join("-");
|
|
24
14
|
}
|
|
25
15
|
};
|
|
@@ -34,6 +24,5 @@ function formatWeight(weight) {
|
|
|
34
24
|
return weight?.replace(/\s+/g, "-");
|
|
35
25
|
}
|
|
36
26
|
export {
|
|
37
|
-
createBuildUrlProxyHashResolver,
|
|
38
27
|
createDevUrlProxyHashResolver
|
|
39
28
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { joinPaths, prependForwardSlash } from "../../../core/path.js";
|
|
2
|
+
import { createPlaceholderURL, stringifyPlaceholderURL } from "../../utils/url.js";
|
|
3
|
+
function createDevUrlResolver({
|
|
4
|
+
base,
|
|
5
|
+
searchParams
|
|
6
|
+
}) {
|
|
7
|
+
let resolved = false;
|
|
8
|
+
return {
|
|
9
|
+
resolve(hash) {
|
|
10
|
+
resolved ||= true;
|
|
11
|
+
const urlPath = prependForwardSlash(joinPaths(base, hash));
|
|
12
|
+
const url = createPlaceholderURL(urlPath);
|
|
13
|
+
searchParams.forEach((value, key) => {
|
|
14
|
+
url.searchParams.set(key, value);
|
|
15
|
+
});
|
|
16
|
+
return stringifyPlaceholderURL(url);
|
|
17
|
+
},
|
|
18
|
+
getCspResources() {
|
|
19
|
+
return resolved ? ["'self'"] : [];
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
createDevUrlResolver
|
|
25
|
+
};
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function createFontTypeExtractor(
|
|
3
|
-
errorHandler: ErrorHandler;
|
|
4
|
-
}): FontTypeExtractor;
|
|
1
|
+
import type { FontTypeExtractor } from '../definitions.js';
|
|
2
|
+
export declare function createFontTypeExtractor(): FontTypeExtractor;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { extname } from "node:path";
|
|
2
|
+
import { AstroError, AstroErrorData } from "../../../core/errors/index.js";
|
|
2
3
|
import { isFontType } from "../utils.js";
|
|
3
|
-
function createFontTypeExtractor({
|
|
4
|
-
errorHandler
|
|
5
|
-
}) {
|
|
4
|
+
function createFontTypeExtractor() {
|
|
6
5
|
return {
|
|
7
6
|
extract(url) {
|
|
8
7
|
const extension = extname(url).slice(1);
|
|
9
8
|
if (!isFontType(extension)) {
|
|
10
|
-
throw
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
throw new AstroError(
|
|
10
|
+
{
|
|
11
|
+
...AstroErrorData.CannotExtractFontType,
|
|
12
|
+
message: AstroErrorData.CannotExtractFontType.message(url)
|
|
13
|
+
},
|
|
14
|
+
{ cause: `Unexpected extension, got "${extension}"` }
|
|
15
|
+
);
|
|
15
16
|
}
|
|
16
17
|
return extension;
|
|
17
18
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { fontace } from "fontace";
|
|
3
|
+
import { AstroError, AstroErrorData } from "../../../core/errors/index.js";
|
|
4
|
+
function createFontaceFontFileReader() {
|
|
5
|
+
return {
|
|
6
|
+
extract({ family, url }) {
|
|
7
|
+
try {
|
|
8
|
+
const data = fontace(readFileSync(url));
|
|
9
|
+
return {
|
|
10
|
+
weight: data.weight,
|
|
11
|
+
style: data.style
|
|
12
|
+
};
|
|
13
|
+
} catch (cause) {
|
|
14
|
+
throw new AstroError(
|
|
15
|
+
{
|
|
16
|
+
...AstroErrorData.CannotDetermineWeightAndStyleFromFontFile,
|
|
17
|
+
message: AstroErrorData.CannotDetermineWeightAndStyleFromFontFile.message(family, url)
|
|
18
|
+
},
|
|
19
|
+
{ cause }
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
createFontaceFontFileReader
|
|
27
|
+
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function createRemoteFontProviderResolver({ root, modResolver,
|
|
1
|
+
import type { RemoteFontProviderModResolver, RemoteFontProviderResolver } from '../definitions.js';
|
|
2
|
+
export declare function createRemoteFontProviderResolver({ root, modResolver, }: {
|
|
3
3
|
root: URL;
|
|
4
4
|
modResolver: RemoteFontProviderModResolver;
|
|
5
|
-
errorHandler: ErrorHandler;
|
|
6
5
|
}): RemoteFontProviderResolver;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { AstroError, AstroErrorData } from "../../../core/errors/index.js";
|
|
1
2
|
import { resolveEntrypoint } from "../utils.js";
|
|
2
3
|
function validateMod({
|
|
3
4
|
mod,
|
|
4
|
-
entrypoint
|
|
5
|
-
errorHandler
|
|
5
|
+
entrypoint
|
|
6
6
|
}) {
|
|
7
7
|
try {
|
|
8
8
|
if (typeof mod !== "object" || mod === null) {
|
|
@@ -15,19 +15,18 @@ function validateMod({
|
|
|
15
15
|
provider: mod.provider
|
|
16
16
|
};
|
|
17
17
|
} catch (cause) {
|
|
18
|
-
throw
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
entrypoint
|
|
18
|
+
throw new AstroError(
|
|
19
|
+
{
|
|
20
|
+
...AstroErrorData.CannotLoadFontProvider,
|
|
21
|
+
message: AstroErrorData.CannotLoadFontProvider.message(entrypoint)
|
|
22
22
|
},
|
|
23
|
-
cause
|
|
24
|
-
|
|
23
|
+
{ cause }
|
|
24
|
+
);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
function createRemoteFontProviderResolver({
|
|
28
28
|
root,
|
|
29
|
-
modResolver
|
|
30
|
-
errorHandler
|
|
29
|
+
modResolver
|
|
31
30
|
}) {
|
|
32
31
|
return {
|
|
33
32
|
async resolve({ entrypoint, config }) {
|
|
@@ -35,8 +34,7 @@ function createRemoteFontProviderResolver({
|
|
|
35
34
|
const mod = await modResolver.resolve(id);
|
|
36
35
|
const { provider } = validateMod({
|
|
37
36
|
mod,
|
|
38
|
-
entrypoint: id
|
|
39
|
-
errorHandler
|
|
37
|
+
entrypoint: id
|
|
40
38
|
});
|
|
41
39
|
return { config, provider };
|
|
42
40
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function createLocalUrlProxyContentResolver(
|
|
3
|
-
errorHandler: ErrorHandler;
|
|
4
|
-
}): UrlProxyContentResolver;
|
|
1
|
+
import type { UrlProxyContentResolver } from '../definitions.js';
|
|
2
|
+
export declare function createLocalUrlProxyContentResolver(): UrlProxyContentResolver;
|
|
5
3
|
export declare function createRemoteUrlProxyContentResolver(): UrlProxyContentResolver;
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}) {
|
|
2
|
+
import { AstroError, AstroErrorData } from "../../../core/errors/index.js";
|
|
3
|
+
function createLocalUrlProxyContentResolver() {
|
|
5
4
|
return {
|
|
6
5
|
resolve(url) {
|
|
7
6
|
try {
|
|
8
7
|
return url + readFileSync(url, "utf-8");
|
|
9
8
|
} catch (cause) {
|
|
10
|
-
throw
|
|
11
|
-
type: "unknown-fs-error",
|
|
12
|
-
data: {},
|
|
13
|
-
cause
|
|
14
|
-
});
|
|
9
|
+
throw new AstroError(AstroErrorData.UnknownFilesystemError, { cause });
|
|
15
10
|
}
|
|
16
11
|
}
|
|
17
12
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import xxhash from "xxhash-wasm";
|
|
2
2
|
import { sortObjectByKey } from "../utils.js";
|
|
3
|
-
async function
|
|
3
|
+
async function createXxhashHasher() {
|
|
4
4
|
const { h64ToString: hashString } = await xxhash();
|
|
5
5
|
return {
|
|
6
6
|
hashString,
|
|
@@ -10,5 +10,5 @@ async function createXxHasher() {
|
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
export {
|
|
13
|
-
|
|
13
|
+
createXxhashHasher
|
|
14
14
|
};
|
|
@@ -17,36 +17,32 @@ import {
|
|
|
17
17
|
RESOLVED_VIRTUAL_MODULE_ID,
|
|
18
18
|
VIRTUAL_MODULE_ID
|
|
19
19
|
} from "./constants.js";
|
|
20
|
-
import {
|
|
20
|
+
import { createBuildRemoteFontProviderModResolver } from "./infra/build-remote-font-provider-mod-resolver.js";
|
|
21
|
+
import { createBuildUrlProxyHashResolver } from "./infra/build-url-proxy-hash-resolver.js";
|
|
22
|
+
import { createBuildUrlResolver } from "./infra/build-url-resolver.js";
|
|
23
|
+
import { createCachedFontFetcher } from "./infra/cached-font-fetcher.js";
|
|
24
|
+
import { createCapsizeFontMetricsResolver } from "./infra/capsize-font-metrics-resolver.js";
|
|
21
25
|
import { createDataCollector } from "./infra/data-collector.js";
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import { createCapsizeFontMetricsResolver } from "./infra/font-metrics-resolver.js";
|
|
26
|
+
import { createDevServerRemoteFontProviderModResolver } from "./infra/dev-remote-font-provider-mod-resolver.js";
|
|
27
|
+
import { createDevUrlProxyHashResolver } from "./infra/dev-url-proxy-hash-resolver.js";
|
|
28
|
+
import { createDevUrlResolver } from "./infra/dev-url-resolver.js";
|
|
26
29
|
import { createFontTypeExtractor } from "./infra/font-type-extractor.js";
|
|
27
|
-
import {
|
|
30
|
+
import { createFontaceFontFileReader } from "./infra/fontace-font-file-reader.js";
|
|
31
|
+
import { createFsStorage } from "./infra/fs-storage.js";
|
|
28
32
|
import { createLevenshteinStringMatcher } from "./infra/levenshtein-string-matcher.js";
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
createBuildRemoteFontProviderModResolver,
|
|
32
|
-
createDevServerRemoteFontProviderModResolver
|
|
33
|
-
} from "./infra/remote-font-provider-mod-resolver.js";
|
|
33
|
+
import { createMinifiableCssRenderer } from "./infra/minifiable-css-renderer.js";
|
|
34
34
|
import { createRemoteFontProviderResolver } from "./infra/remote-font-provider-resolver.js";
|
|
35
|
-
import {
|
|
35
|
+
import { createRequireLocalProviderUrlResolver } from "./infra/require-local-provider-url-resolver.js";
|
|
36
36
|
import { createSystemFallbacksProvider } from "./infra/system-fallbacks-provider.js";
|
|
37
37
|
import { createUrlProxy } from "./infra/url-proxy.js";
|
|
38
38
|
import {
|
|
39
39
|
createLocalUrlProxyContentResolver,
|
|
40
40
|
createRemoteUrlProxyContentResolver
|
|
41
41
|
} from "./infra/url-proxy-content-resolver.js";
|
|
42
|
-
import {
|
|
43
|
-
createBuildUrlProxyHashResolver,
|
|
44
|
-
createDevUrlProxyHashResolver
|
|
45
|
-
} from "./infra/url-proxy-hash-resolver.js";
|
|
46
|
-
import { createBuildUrlResolver, createDevUrlResolver } from "./infra/url-resolver.js";
|
|
42
|
+
import { createXxhashHasher } from "./infra/xxhash-hasher.js";
|
|
47
43
|
import { orchestrate } from "./orchestrate.js";
|
|
48
44
|
function fontsPlugin({ settings, sync, logger }) {
|
|
49
|
-
if (
|
|
45
|
+
if (!settings.config.experimental.fonts) {
|
|
50
46
|
return {
|
|
51
47
|
name: "astro:fonts:fallback",
|
|
52
48
|
resolveId(id) {
|
|
@@ -87,12 +83,10 @@ function fontsPlugin({ settings, sync, logger }) {
|
|
|
87
83
|
createHashResolver
|
|
88
84
|
}) {
|
|
89
85
|
const { root } = settings.config;
|
|
90
|
-
const hasher = await
|
|
91
|
-
const errorHandler = createAstroErrorHandler();
|
|
86
|
+
const hasher = await createXxhashHasher();
|
|
92
87
|
const remoteFontProviderResolver = createRemoteFontProviderResolver({
|
|
93
88
|
root,
|
|
94
|
-
modResolver
|
|
95
|
-
errorHandler
|
|
89
|
+
modResolver
|
|
96
90
|
});
|
|
97
91
|
const pathsToWarn = /* @__PURE__ */ new Set();
|
|
98
92
|
const localProviderUrlResolver = createRequireLocalProviderUrlResolver({
|
|
@@ -112,10 +106,10 @@ function fontsPlugin({ settings, sync, logger }) {
|
|
|
112
106
|
});
|
|
113
107
|
const storage = createFsStorage({ base: cacheDir });
|
|
114
108
|
const systemFallbacksProvider = createSystemFallbacksProvider();
|
|
115
|
-
fontFetcher = createCachedFontFetcher({ storage,
|
|
109
|
+
fontFetcher = createCachedFontFetcher({ storage, fetch, readFile });
|
|
116
110
|
const fontMetricsResolver = createCapsizeFontMetricsResolver({ fontFetcher, cssRenderer });
|
|
117
|
-
fontTypeExtractor = createFontTypeExtractor(
|
|
118
|
-
const fontFileReader = createFontaceFontFileReader(
|
|
111
|
+
fontTypeExtractor = createFontTypeExtractor();
|
|
112
|
+
const fontFileReader = createFontaceFontFileReader();
|
|
119
113
|
const stringMatcher = createLevenshteinStringMatcher();
|
|
120
114
|
const res = await orchestrate({
|
|
121
115
|
families: settings.config.experimental.fonts,
|
|
@@ -131,7 +125,7 @@ function fontsPlugin({ settings, sync, logger }) {
|
|
|
131
125
|
logger,
|
|
132
126
|
createUrlProxy: ({ local, cssVariable, ...params }) => {
|
|
133
127
|
const dataCollector = createDataCollector(params);
|
|
134
|
-
const contentResolver = local ? createLocalUrlProxyContentResolver(
|
|
128
|
+
const contentResolver = local ? createLocalUrlProxyContentResolver() : createRemoteUrlProxyContentResolver();
|
|
135
129
|
return createUrlProxy({
|
|
136
130
|
urlResolver,
|
|
137
131
|
hashResolver: createHashResolver({ hasher, contentResolver }),
|
|
@@ -173,7 +167,7 @@ function fontsPlugin({ settings, sync, logger }) {
|
|
|
173
167
|
assetsPrefix: settings.config.build.assetsPrefix,
|
|
174
168
|
searchParams: settings.adapter?.client?.assetQueryParams ?? new URLSearchParams()
|
|
175
169
|
}),
|
|
176
|
-
createHashResolver:
|
|
170
|
+
createHashResolver: createBuildUrlProxyHashResolver
|
|
177
171
|
});
|
|
178
172
|
}
|
|
179
173
|
},
|
|
@@ -187,9 +181,7 @@ function fontsPlugin({ settings, sync, logger }) {
|
|
|
187
181
|
base: baseUrl,
|
|
188
182
|
searchParams: settings.adapter?.client?.assetQueryParams ?? new URLSearchParams()
|
|
189
183
|
}),
|
|
190
|
-
createHashResolver:
|
|
191
|
-
baseHashResolver: createBuildUrlProxyHashResolver(dependencies)
|
|
192
|
-
})
|
|
184
|
+
createHashResolver: createDevUrlProxyHashResolver
|
|
193
185
|
});
|
|
194
186
|
const localPaths = [...fontFileDataMap.values()].filter(({ url }) => isAbsolute(url)).map((v) => v.url);
|
|
195
187
|
server.watcher.on("change", (path) => {
|
|
@@ -252,7 +244,7 @@ function fontsPlugin({ settings, sync, logger }) {
|
|
|
252
244
|
}
|
|
253
245
|
},
|
|
254
246
|
async buildEnd() {
|
|
255
|
-
if (settings.config.experimental.fonts.length === 0) {
|
|
247
|
+
if (sync || settings.config.experimental.fonts.length === 0) {
|
|
256
248
|
cleanup();
|
|
257
249
|
return;
|
|
258
250
|
}
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { isRemoteAllowed, matchHostname, matchPort, matchPathname, matchProtocol, matchPattern };
|
|
3
|
-
export type { RemotePattern };
|
|
1
|
+
export { isRemoteAllowed, matchHostname, matchPathname, matchPattern, matchPort, matchProtocol, type RemotePattern, } from '@astrojs/internal-helpers/remote';
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { createKey, encodeKey } from "../../../core/encryption.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
};
|
|
2
|
+
class CryptoKeyGenerator {
|
|
3
|
+
async generate() {
|
|
4
|
+
const key = await createKey();
|
|
5
|
+
const encoded = await encodeKey(key);
|
|
6
|
+
return encoded;
|
|
7
|
+
}
|
|
10
8
|
}
|
|
11
9
|
export {
|
|
12
|
-
|
|
10
|
+
CryptoKeyGenerator
|
|
13
11
|
};
|
|
@@ -17,16 +17,17 @@ export interface AstroVersionProvider {
|
|
|
17
17
|
readonly version: string;
|
|
18
18
|
}
|
|
19
19
|
export interface CommandRunner {
|
|
20
|
-
run: <T extends AnyCommand>(command: T, ...args: Parameters<T['run']>) => ReturnType<T['run']
|
|
20
|
+
run: <T extends AnyCommand>(command: T, ...args: Parameters<T['run']>) => ReturnType<T['run']> | undefined;
|
|
21
|
+
}
|
|
22
|
+
export interface CommandExecutorOptions {
|
|
23
|
+
cwd?: string;
|
|
24
|
+
env?: Record<string, string | undefined>;
|
|
25
|
+
shell?: boolean;
|
|
26
|
+
input?: string;
|
|
27
|
+
stdio?: StdioOptions;
|
|
21
28
|
}
|
|
22
29
|
export interface CommandExecutor {
|
|
23
|
-
execute: (command: string, args?: Array<string>, options?: {
|
|
24
|
-
cwd?: string;
|
|
25
|
-
env?: Record<string, string | undefined>;
|
|
26
|
-
shell?: boolean;
|
|
27
|
-
input?: string;
|
|
28
|
-
stdio?: StdioOptions;
|
|
29
|
-
}) => Promise<{
|
|
30
|
+
execute: (command: string, args?: Array<string>, options?: CommandExecutorOptions) => Promise<{
|
|
30
31
|
stdout: string;
|
|
31
32
|
}>;
|
|
32
33
|
}
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import type { CloudIdeProvider } from '../definitions.js';
|
|
2
|
-
|
|
2
|
+
import type { CloudIde } from '../domain/cloud-ide.js';
|
|
3
|
+
export declare class ProcessCloudIdeProvider implements CloudIdeProvider {
|
|
4
|
+
readonly name: CloudIde | null;
|
|
5
|
+
}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
get name() {
|
|
4
|
-
return Boolean(process.env.GITPOD_REPO_ROOT) ? "gitpod" : null;
|
|
5
|
-
}
|
|
6
|
-
};
|
|
1
|
+
class ProcessCloudIdeProvider {
|
|
2
|
+
name = Boolean(process.env.GITPOD_REPO_ROOT) ? "gitpod" : null;
|
|
7
3
|
}
|
|
8
4
|
export {
|
|
9
|
-
|
|
5
|
+
ProcessCloudIdeProvider
|
|
10
6
|
};
|