astro 0.21.13 → 0.22.1

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.
Files changed (69) hide show
  1. package/astro.js +64 -64
  2. package/components/Code.astro +34 -34
  3. package/components/Debug.astro +44 -43
  4. package/components/Markdown.astro +20 -15
  5. package/components/Prism.astro +20 -23
  6. package/dist/cli/check.js +1 -1
  7. package/dist/cli/index.js +22 -19
  8. package/dist/core/build/index.js +37 -130
  9. package/dist/core/build/internal.js +18 -0
  10. package/dist/core/build/page-data.js +92 -0
  11. package/dist/core/build/scan-based-build.js +50 -0
  12. package/dist/core/build/static-build.js +136 -0
  13. package/dist/core/config.js +3 -2
  14. package/dist/core/create-vite.js +1 -1
  15. package/dist/core/dev/index.js +8 -6
  16. package/dist/core/dev/messages.js +1 -1
  17. package/dist/core/dev/template/4xx.js +1 -1
  18. package/dist/core/dev/template/5xx.js +1 -1
  19. package/dist/core/dev/util.js +1 -1
  20. package/dist/core/logger.js +1 -1
  21. package/dist/core/preview/index.js +2 -3
  22. package/dist/core/ssr/css.js +1 -1
  23. package/dist/core/ssr/html.js +1 -1
  24. package/dist/core/ssr/index.js +92 -2
  25. package/dist/core/ssr/paginate.js +1 -1
  26. package/dist/core/ssr/routing.js +1 -1
  27. package/dist/core/ssr/rss.js +1 -1
  28. package/dist/core/ssr/sitemap.js +1 -1
  29. package/dist/core/util.js +1 -1
  30. package/dist/runtime/client/hmr.js +1 -1
  31. package/dist/runtime/client/idle.js +1 -1
  32. package/dist/runtime/client/load.js +1 -1
  33. package/dist/runtime/client/media.js +1 -1
  34. package/dist/runtime/client/only.js +1 -1
  35. package/dist/runtime/client/visible.js +1 -1
  36. package/dist/runtime/server/hydration.js +1 -1
  37. package/dist/runtime/server/index.js +5 -4
  38. package/dist/runtime/server/metadata.js +1 -1
  39. package/dist/runtime/server/util.js +1 -1
  40. package/dist/types/@types/astro.d.ts +2 -0
  41. package/dist/types/cli/index.d.ts +1 -1
  42. package/dist/types/core/build/internal.d.ts +13 -0
  43. package/dist/types/core/build/page-data.d.ts +17 -0
  44. package/dist/types/core/build/scan-based-build.d.ts +16 -0
  45. package/dist/types/core/build/static-build.d.ts +15 -0
  46. package/dist/types/core/config.d.ts +5 -0
  47. package/dist/types/core/dev/index.d.ts +13 -12
  48. package/dist/types/core/ssr/index.d.ts +10 -1
  49. package/dist/types/vite-plugin-astro/compile.d.ts +5 -0
  50. package/dist/types/vite-plugin-astro/index.d.ts +1 -1
  51. package/dist/types/vite-plugin-astro/query.d.ts +12 -0
  52. package/dist/types/vite-plugin-build-css/index.d.ts +2 -5
  53. package/dist/types/vite-plugin-build-html/index.d.ts +2 -5
  54. package/dist/vite-plugin-astro/compile.js +90 -0
  55. package/dist/vite-plugin-astro/index.js +51 -65
  56. package/dist/vite-plugin-astro/query.js +24 -0
  57. package/dist/vite-plugin-astro/styles.js +1 -1
  58. package/dist/vite-plugin-astro-postprocess/index.js +1 -1
  59. package/dist/vite-plugin-build-css/index.js +26 -20
  60. package/dist/vite-plugin-build-css/resolve.js +1 -1
  61. package/dist/vite-plugin-build-html/add-rollup-input.js +1 -1
  62. package/dist/vite-plugin-build-html/extract-assets.js +1 -1
  63. package/dist/vite-plugin-build-html/index.js +12 -13
  64. package/dist/vite-plugin-build-html/util.js +1 -1
  65. package/dist/vite-plugin-config-alias/index.js +1 -1
  66. package/dist/vite-plugin-fetch/index.js +1 -1
  67. package/dist/vite-plugin-jsx/index.js +1 -1
  68. package/dist/vite-plugin-markdown/index.js +1 -1
  69. package/package.json +13 -13
@@ -23,4 +23,4 @@ function serializeListValue(value) {
23
23
  export {
24
24
  serializeListValue
25
25
  };
26
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL3V0aWwudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBTyw0QkFBNEIsT0FBWTtBQUM3QyxRQUFNLE9BQTRCO0FBRWxDLE9BQUs7QUFFTCxTQUFPLE9BQU8sS0FBSyxNQUFNLEtBQUs7QUFFOUIsZ0JBQWMsTUFBVztBQUV2QixRQUFJLFFBQVEsT0FBTyxLQUFLLFlBQVk7QUFBWSxXQUFLLFFBQVE7QUFBQSxhQUVwRCxTQUFTLE9BQU87QUFDdkIsYUFBTyxLQUFLLE1BQU0sUUFBUSxDQUFDLFNBQVM7QUFDbEMsWUFBSSxLQUFLO0FBQU8sZUFBSztBQUFBO0FBQUEsU0FHcEI7QUFFSCxhQUFPLFFBQVEsT0FBTyxLQUFLLE9BQU8sTUFBTTtBQUd4QyxVQUFJLE1BQU07QUFDUixhQUFLLE1BQU0sT0FBTyxRQUFRLENBQUMsU0FBaUI7QUFDMUMsZUFBSyxRQUFRO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
26
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL3V0aWwudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBTyw0QkFBNEIsT0FBWTtBQUM5QyxRQUFNLE9BQTRCO0FBRWxDLE9BQUs7QUFFTCxTQUFPLE9BQU8sS0FBSyxNQUFNLEtBQUs7QUFFOUIsZ0JBQWMsTUFBVztBQUV4QixRQUFJLFFBQVEsT0FBTyxLQUFLLFlBQVk7QUFBWSxXQUFLLFFBQVE7QUFBQSxhQUVwRCxTQUFTLE9BQU87QUFDeEIsYUFBTyxLQUFLLE1BQU0sUUFBUSxDQUFDLFNBQVM7QUFDbkMsWUFBSSxLQUFLO0FBQU8sZUFBSztBQUFBO0FBQUEsU0FHbEI7QUFFSixhQUFPLFFBQVEsT0FBTyxLQUFLLE9BQU8sTUFBTTtBQUd4QyxVQUFJLE1BQU07QUFDVCxhQUFLLE1BQU0sT0FBTyxRQUFRLENBQUMsU0FBaUI7QUFDM0MsZUFBSyxRQUFRO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -334,10 +334,12 @@ export interface SSRElement {
334
334
  export interface SSRMetadata {
335
335
  renderers: Renderer[];
336
336
  pathname: string;
337
+ experimentalStaticBuild: boolean;
337
338
  }
338
339
  export interface SSRResult {
339
340
  styles: Set<SSRElement>;
340
341
  scripts: Set<SSRElement>;
342
+ links: Set<SSRElement>;
341
343
  createAstro(Astro: AstroGlobalPartial, props: Record<string, any>, slots: Record<string, any> | null): AstroGlobal;
342
344
  _metadata: SSRMetadata;
343
345
  }
@@ -1,2 +1,2 @@
1
1
  /** The primary CLI action */
2
- export declare function cli(args: string[]): Promise<void>;
2
+ export declare function cli(args: string[]): Promise<undefined>;
@@ -0,0 +1,13 @@
1
+ import type { RenderedChunk } from 'rollup';
2
+ export interface BuildInternals {
3
+ pureCSSChunks: Set<RenderedChunk>;
4
+ chunkToReferenceIdMap: Map<string, string>;
5
+ astroStyleMap: Map<string, string>;
6
+ astroPageStyleMap: Map<string, string>;
7
+ facadeIdToAssetsMap: Map<string, string[]>;
8
+ }
9
+ /**
10
+ * Creates internal maps used to coordinate the CSS and HTML plugins.
11
+ * @returns {BuildInternals}
12
+ */
13
+ export declare function createBuildInternals(): BuildInternals;
@@ -0,0 +1,17 @@
1
+ import type { AstroConfig, ManifestData, RouteCache } from '../../@types/astro';
2
+ import type { AllPagesData } from './types';
3
+ import type { LogOptions } from '../logger';
4
+ import type { ViteDevServer } from '../vite.js';
5
+ export interface CollectPagesDataOptions {
6
+ astroConfig: AstroConfig;
7
+ logging: LogOptions;
8
+ manifest: ManifestData;
9
+ origin: string;
10
+ routeCache: RouteCache;
11
+ viteServer: ViteDevServer;
12
+ }
13
+ export interface CollectPagesDataResult {
14
+ assets: Record<string, string>;
15
+ allPages: AllPagesData;
16
+ }
17
+ export declare function collectPagesData(opts: CollectPagesDataOptions): Promise<CollectPagesDataResult>;
@@ -0,0 +1,16 @@
1
+ import type { ViteDevServer } from '../vite.js';
2
+ import type { AstroConfig, RouteCache } from '../../@types/astro';
3
+ import type { AllPagesData } from './types';
4
+ import type { LogOptions } from '../logger';
5
+ import type { ViteConfigWithSSR } from '../create-vite.js';
6
+ export interface ScanBasedBuildOptions {
7
+ allPages: AllPagesData;
8
+ astroConfig: AstroConfig;
9
+ logging: LogOptions;
10
+ origin: string;
11
+ pageNames: string[];
12
+ routeCache: RouteCache;
13
+ viteConfig: ViteConfigWithSSR;
14
+ viteServer: ViteDevServer;
15
+ }
16
+ export declare function build(opts: ScanBasedBuildOptions): Promise<import("rollup").RollupOutput | import("rollup").RollupOutput[] | import("rollup").RollupWatcher>;
@@ -0,0 +1,15 @@
1
+ import type { Plugin as VitePlugin } from '../vite';
2
+ import type { AstroConfig, RouteCache } from '../../@types/astro';
3
+ import type { AllPagesData } from './types';
4
+ import type { LogOptions } from '../logger';
5
+ import type { ViteConfigWithSSR } from '../create-vite';
6
+ export interface StaticBuildOptions {
7
+ allPages: AllPagesData;
8
+ astroConfig: AstroConfig;
9
+ logging: LogOptions;
10
+ origin: string;
11
+ routeCache: RouteCache;
12
+ viteConfig: ViteConfigWithSSR;
13
+ }
14
+ export declare function staticBuild(opts: StaticBuildOptions): Promise<void>;
15
+ export declare function vitePluginNewBuild(): VitePlugin;
@@ -25,14 +25,17 @@ export declare const AstroConfigSchema: z.ZodObject<{
25
25
  site: z.ZodOptional<z.ZodString>;
26
26
  sitemap: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
27
27
  pageUrlFormat: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"file">, z.ZodLiteral<"directory">]>>>;
28
+ experimentalStaticBuild: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
28
29
  }, "strip", z.ZodTypeAny, {
29
30
  site?: string | undefined;
30
31
  sitemap: boolean;
31
32
  pageUrlFormat: "file" | "directory";
33
+ experimentalStaticBuild: boolean;
32
34
  }, {
33
35
  site?: string | undefined;
34
36
  sitemap?: boolean | undefined;
35
37
  pageUrlFormat?: "file" | "directory" | undefined;
38
+ experimentalStaticBuild?: boolean | undefined;
36
39
  }>>>;
37
40
  devOptions: z.ZodDefault<z.ZodOptional<z.ZodObject<{
38
41
  hostname: z.ZodDefault<z.ZodOptional<z.ZodString>>;
@@ -66,6 +69,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
66
69
  site?: string | undefined;
67
70
  sitemap: boolean;
68
71
  pageUrlFormat: "file" | "directory";
72
+ experimentalStaticBuild: boolean;
69
73
  };
70
74
  devOptions: {
71
75
  hostname: string;
@@ -89,6 +93,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
89
93
  site?: string | undefined;
90
94
  sitemap?: boolean | undefined;
91
95
  pageUrlFormat?: "file" | "directory" | undefined;
96
+ experimentalStaticBuild?: boolean | undefined;
92
97
  } | undefined;
93
98
  devOptions?: {
94
99
  hostname?: string | undefined;
@@ -1,9 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import type http from 'http';
3
- import type { AstroConfig } from '../../@types/astro';
3
+ import type { AstroConfig, ManifestData, RouteCache, RouteData } from '../../@types/astro';
4
4
  import type { LogOptions } from '../logger';
5
5
  import type { HmrContext, ModuleNode } from '../vite';
6
6
  import connect from 'connect';
7
+ import vite from '../vite.js';
7
8
  export interface DevOptions {
8
9
  logging: LogOptions;
9
10
  }
@@ -18,19 +19,19 @@ export default function dev(config: AstroConfig, options?: DevOptions): Promise<
18
19
  /** Dev server */
19
20
  export declare class AstroDevServer {
20
21
  app: connect.Server;
21
- httpServer: http.Server | undefined;
22
+ config: AstroConfig;
23
+ devRoot: string;
22
24
  hostname: string;
25
+ httpServer: http.Server | undefined;
26
+ logging: LogOptions;
27
+ manifest: ManifestData;
28
+ mostRecentRoute?: RouteData;
29
+ origin: string;
23
30
  port: number;
24
- private config;
25
- private logging;
26
- private manifest;
27
- private mostRecentRoute?;
28
- private site;
29
- private devRoot;
30
- private url;
31
- private origin;
32
- private routeCache;
33
- private viteServer;
31
+ routeCache: RouteCache;
32
+ site: URL | undefined;
33
+ url: URL;
34
+ viteServer: vite.ViteDevServer | undefined;
34
35
  constructor(config: AstroConfig, options: DevOptions);
35
36
  start(): Promise<void>;
36
37
  stop(): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import type vite from '../vite';
2
- import type { AstroConfig, ComponentInstance, Renderer, RouteCache, RouteData, RuntimeMode } from '../../@types/astro';
2
+ import type { AstroConfig, ComponentInstance, Params, Props, Renderer, RouteCache, RouteData, RuntimeMode } from '../../@types/astro';
3
3
  import type { LogOptions } from '../logger';
4
+ import type { AstroComponentFactory } from '../../runtime/server/index';
4
5
  interface SSROptions {
5
6
  /** an instance of the AstroConfig */
6
7
  astroConfig: AstroConfig;
@@ -23,6 +24,14 @@ interface SSROptions {
23
24
  }
24
25
  export declare type ComponentPreload = [Renderer[], ComponentInstance];
25
26
  export declare function preload({ astroConfig, filePath, viteServer }: SSROptions): Promise<ComponentPreload>;
27
+ export declare function renderComponent(renderers: Renderer[], Component: AstroComponentFactory, astroConfig: AstroConfig, pathname: string, origin: string, params: Params, pageProps: Props, links?: string[]): Promise<string>;
28
+ export declare function getParamsAndProps({ route, routeCache, logging, pathname, mod, }: {
29
+ route: RouteData | undefined;
30
+ routeCache: RouteCache;
31
+ pathname: string;
32
+ mod: ComponentInstance;
33
+ logging: LogOptions;
34
+ }): Promise<[Params, Props]>;
26
35
  /** use Vite to SSR */
27
36
  export declare function render(renderers: Renderer[], mod: ComponentInstance, ssrOpts: SSROptions): Promise<string>;
28
37
  export declare function ssr(ssrOpts: SSROptions): Promise<string>;
@@ -0,0 +1,5 @@
1
+ import type { AstroConfig } from '../@types/astro';
2
+ import type { TransformResult } from '@astrojs/compiler';
3
+ import type { TransformHook } from './styles';
4
+ export declare function invalidateCompilation(config: AstroConfig, filename: string): void;
5
+ export declare function cachedCompilation(config: AstroConfig, filename: string, source: string | null, viteTransform: TransformHook, opts: boolean | undefined): Promise<TransformResult>;
@@ -6,5 +6,5 @@ interface AstroPluginOptions {
6
6
  devServer?: AstroDevServer;
7
7
  }
8
8
  /** Transform .astro files for Vite */
9
- export default function astro({ config, devServer }: AstroPluginOptions): vite.Plugin;
9
+ export default function astro({ config }: AstroPluginOptions): vite.Plugin;
10
10
  export {};
@@ -0,0 +1,12 @@
1
+ export interface AstroQuery {
2
+ astro?: boolean;
3
+ src?: boolean;
4
+ type?: 'script' | 'template' | 'style' | 'custom';
5
+ index?: number;
6
+ lang?: string;
7
+ raw?: boolean;
8
+ }
9
+ export declare function parseAstroRequest(id: string): {
10
+ filename: string;
11
+ query: AstroQuery;
12
+ };
@@ -1,13 +1,10 @@
1
- import type { RenderedChunk } from 'rollup';
1
+ import type { BuildInternals } from '../core/build/internal';
2
2
  import { Plugin as VitePlugin } from '../core/vite';
3
3
  export declare function getAstroPageStyleId(pathname: string): string;
4
4
  export declare function getAstroStyleId(pathname: string): string;
5
5
  export declare function getAstroStylePathFromId(id: string): string;
6
6
  interface PluginOptions {
7
- astroStyleMap: Map<string, string>;
8
- astroPageStyleMap: Map<string, string>;
9
- chunkToReferenceIdMap: Map<string, string>;
10
- pureCSSChunks: Set<RenderedChunk>;
7
+ internals: BuildInternals;
11
8
  }
12
9
  export declare function rollupPluginAstroBuildCSS(options: PluginOptions): VitePlugin;
13
10
  export {};
@@ -1,17 +1,14 @@
1
1
  import type { AstroConfig, RouteCache } from '../@types/astro';
2
2
  import type { LogOptions } from '../core/logger';
3
3
  import type { ViteDevServer, Plugin as VitePlugin } from '../core/vite';
4
- import type { RenderedChunk } from 'rollup';
5
4
  import type { AllPagesData } from '../core/build/types';
5
+ import type { BuildInternals } from '../core/build/internal';
6
6
  interface PluginOptions {
7
7
  astroConfig: AstroConfig;
8
- astroStyleMap: Map<string, string>;
9
- astroPageStyleMap: Map<string, string>;
10
- chunkToReferenceIdMap: Map<string, string>;
8
+ internals: BuildInternals;
11
9
  logging: LogOptions;
12
10
  allPages: AllPagesData;
13
11
  pageNames: string[];
14
- pureCSSChunks: Set<RenderedChunk>;
15
12
  origin: string;
16
13
  routeCache: RouteCache;
17
14
  viteServer: ViteDevServer;
@@ -0,0 +1,90 @@
1
+ import fs from "fs";
2
+ import { fileURLToPath } from "url";
3
+ import { transform } from "@astrojs/compiler";
4
+ import { transformWithVite } from "./styles.js";
5
+ const configCache = new WeakMap();
6
+ function isSSR(options) {
7
+ if (options === void 0) {
8
+ return false;
9
+ }
10
+ if (typeof options === "boolean") {
11
+ return options;
12
+ }
13
+ if (typeof options == "object") {
14
+ return !!options.ssr;
15
+ }
16
+ return false;
17
+ }
18
+ async function compile(config, filename, source, viteTransform, opts) {
19
+ const normalizedID = fileURLToPath(new URL(`file://${filename}`));
20
+ const isPage = normalizedID.startsWith(fileURLToPath(config.pages)) || normalizedID.startsWith(fileURLToPath(config.layouts));
21
+ let cssTransformError;
22
+ const transformResult = await transform(source, {
23
+ as: isPage ? "document" : "fragment",
24
+ projectRoot: config.projectRoot.toString(),
25
+ site: config.buildOptions.site,
26
+ sourcefile: filename,
27
+ sourcemap: "both",
28
+ internalURL: "astro/internal",
29
+ experimentalStaticExtraction: config.buildOptions.experimentalStaticBuild,
30
+ preprocessStyle: async (value, attrs) => {
31
+ const lang = `.${(attrs == null ? void 0 : attrs.lang) || "css"}`.toLowerCase();
32
+ try {
33
+ const result = await transformWithVite({
34
+ value,
35
+ lang,
36
+ id: filename,
37
+ transformHook: viteTransform,
38
+ ssr: isSSR(opts)
39
+ });
40
+ let map;
41
+ if (!result)
42
+ return null;
43
+ if (result.map) {
44
+ if (typeof result.map === "string") {
45
+ map = result.map;
46
+ } else if (result.map.mappings) {
47
+ map = result.map.toString();
48
+ }
49
+ }
50
+ return { code: result.code, map };
51
+ } catch (err) {
52
+ cssTransformError = err;
53
+ return null;
54
+ }
55
+ }
56
+ });
57
+ if (cssTransformError)
58
+ throw cssTransformError;
59
+ return transformResult;
60
+ }
61
+ function invalidateCompilation(config, filename) {
62
+ if (configCache.has(config)) {
63
+ const cache = configCache.get(config);
64
+ cache.delete(filename);
65
+ }
66
+ }
67
+ async function cachedCompilation(config, filename, source, viteTransform, opts) {
68
+ let cache;
69
+ if (!configCache.has(config)) {
70
+ cache = new Map();
71
+ configCache.set(config, cache);
72
+ } else {
73
+ cache = configCache.get(config);
74
+ }
75
+ if (cache.has(filename)) {
76
+ return cache.get(filename);
77
+ }
78
+ if (source === null) {
79
+ const fileUrl = new URL(`file://${filename}`);
80
+ source = await fs.promises.readFile(fileUrl, "utf-8");
81
+ }
82
+ const transformResult = await compile(config, filename, source, viteTransform, opts);
83
+ cache.set(filename, transformResult);
84
+ return transformResult;
85
+ }
86
+ export {
87
+ cachedCompilation,
88
+ invalidateCompilation
89
+ };
90
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3ZpdGUtcGx1Z2luLWFzdHJvL2NvbXBpbGUudHMiXSwKICAibWFwcGluZ3MiOiAiQUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUlBLE1BQU0sY0FBYyxJQUFJO0FBR3hCLGVBQWUsU0FBMEQ7QUFDeEUsTUFBSSxZQUFZLFFBQVc7QUFDMUIsV0FBTztBQUFBO0FBRVIsTUFBSSxPQUFPLFlBQVksV0FBVztBQUNqQyxXQUFPO0FBQUE7QUFFUixNQUFJLE9BQU8sV0FBVyxVQUFVO0FBQy9CLFdBQU8sQ0FBQyxDQUFDLFFBQVE7QUFBQTtBQUVsQixTQUFPO0FBQUE7QUFHUix1QkFBdUIsUUFBcUIsVUFBa0IsUUFBZ0IsZUFBOEIsTUFBMkI7QUFHdEksUUFBTSxlQUFlLGNBQWMsSUFBSSxJQUFJLFVBQVU7QUFDckQsUUFBTSxTQUFTLGFBQWEsV0FBVyxjQUFjLE9BQU8sV0FBVyxhQUFhLFdBQVcsY0FBYyxPQUFPO0FBRXBILE1BQUk7QUFLSixRQUFNLGtCQUFrQixNQUFNLFVBQVUsUUFBUTtBQUFBLElBQy9DLElBQUksU0FBUyxhQUFhO0FBQUEsSUFDMUIsYUFBYSxPQUFPLFlBQVk7QUFBQSxJQUNoQyxNQUFNLE9BQU8sYUFBYTtBQUFBLElBQzFCLFlBQVk7QUFBQSxJQUNaLFdBQVc7QUFBQSxJQUNYLGFBQWE7QUFBQSxJQUNiLDhCQUE4QixPQUFPLGFBQWE7QUFBQSxJQUVsRCxpQkFBaUIsT0FBTyxPQUFlLFVBQWtDO0FBQ3hFLFlBQU0sT0FBTyxJQUFJLGdDQUFPLFNBQVEsUUFBUTtBQUN4QyxVQUFJO0FBQ0gsY0FBTSxTQUFTLE1BQU0sa0JBQWtCO0FBQUEsVUFDdEM7QUFBQSxVQUNBO0FBQUEsVUFDQSxJQUFJO0FBQUEsVUFDSixlQUFlO0FBQUEsVUFDZixLQUFLLE1BQU07QUFBQTtBQUdaLFlBQUk7QUFDSixZQUFJLENBQUM7QUFBUSxpQkFBTztBQUNwQixZQUFJLE9BQU8sS0FBSztBQUNmLGNBQUksT0FBTyxPQUFPLFFBQVEsVUFBVTtBQUNuQyxrQkFBTSxPQUFPO0FBQUEscUJBQ0gsT0FBTyxJQUFJLFVBQVU7QUFDL0Isa0JBQU0sT0FBTyxJQUFJO0FBQUE7QUFBQTtBQUduQixlQUFPLEVBQUUsTUFBTSxPQUFPLE1BQU07QUFBQSxlQUNwQixLQUFQO0FBRUQsNEJBQW9CO0FBQ3BCLGVBQU87QUFBQTtBQUFBO0FBQUE7QUFNVixNQUFJO0FBQW1CLFVBQU07QUFFN0IsU0FBTztBQUFBO0FBR0QsK0JBQStCLFFBQXFCLFVBQWtCO0FBQzVFLE1BQUksWUFBWSxJQUFJLFNBQVM7QUFDNUIsVUFBTSxRQUFRLFlBQVksSUFBSTtBQUM5QixVQUFNLE9BQU87QUFBQTtBQUFBO0FBSWYsaUNBQXdDLFFBQXFCLFVBQWtCLFFBQXVCLGVBQThCLE1BQTJCO0FBQzlKLE1BQUk7QUFDSixNQUFJLENBQUMsWUFBWSxJQUFJLFNBQVM7QUFDN0IsWUFBUSxJQUFJO0FBQ1osZ0JBQVksSUFBSSxRQUFRO0FBQUEsU0FDbEI7QUFDTixZQUFRLFlBQVksSUFBSTtBQUFBO0FBRXpCLE1BQUksTUFBTSxJQUFJLFdBQVc7QUFDeEIsV0FBTyxNQUFNLElBQUk7QUFBQTtBQUdsQixNQUFJLFdBQVcsTUFBTTtBQUNwQixVQUFNLFVBQVUsSUFBSSxJQUFJLFVBQVU7QUFDbEMsYUFBUyxNQUFNLEdBQUcsU0FBUyxTQUFTLFNBQVM7QUFBQTtBQUU5QyxRQUFNLGtCQUFrQixNQUFNLFFBQVEsUUFBUSxVQUFVLFFBQVEsZUFBZTtBQUMvRSxRQUFNLElBQUksVUFBVTtBQUNwQixTQUFPO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,22 +1,10 @@
1
1
  import esbuild from "esbuild";
2
- import fs from "fs";
3
2
  import { fileURLToPath } from "url";
4
- import { transform } from "@astrojs/compiler";
5
- import { getViteTransform, transformWithVite } from "./styles.js";
3
+ import { getViteTransform } from "./styles.js";
4
+ import { parseAstroRequest } from "./query.js";
5
+ import { cachedCompilation, invalidateCompilation } from "./compile.js";
6
6
  const FRONTMATTER_PARSE_REGEXP = /^\-\-\-(.*)^\-\-\-/ms;
7
- function isSSR(options) {
8
- if (options === void 0) {
9
- return false;
10
- }
11
- if (typeof options === "boolean") {
12
- return options;
13
- }
14
- if (typeof options == "object") {
15
- return !!options.ssr;
16
- }
17
- return false;
18
- }
19
- function astro({ config, devServer }) {
7
+ function astro({ config }) {
20
8
  let viteTransform;
21
9
  return {
22
10
  name: "@astrojs/vite-plugin-astro",
@@ -24,47 +12,42 @@ function astro({ config, devServer }) {
24
12
  configResolved(resolvedConfig) {
25
13
  viteTransform = getViteTransform(resolvedConfig);
26
14
  },
15
+ async resolveId(id) {
16
+ if (parseAstroRequest(id).query.astro) {
17
+ return id;
18
+ }
19
+ },
27
20
  async load(id, opts) {
21
+ let { filename, query } = parseAstroRequest(id);
22
+ if (query.astro) {
23
+ if (query.type === "style") {
24
+ if (filename.startsWith("/") && !filename.startsWith(config.projectRoot.pathname)) {
25
+ filename = new URL("." + filename, config.projectRoot).pathname;
26
+ }
27
+ const transformResult = await cachedCompilation(config, filename, null, viteTransform, opts);
28
+ if (typeof query.index === "undefined") {
29
+ throw new Error(`Requests for Astro CSS must include an index.`);
30
+ }
31
+ const csses = transformResult.css;
32
+ const code = csses[query.index];
33
+ return {
34
+ code
35
+ };
36
+ }
37
+ }
38
+ return null;
39
+ },
40
+ async transform(source, id, opts) {
28
41
  if (!id.endsWith(".astro")) {
29
- return null;
42
+ return;
30
43
  }
31
- const normalizedID = fileURLToPath(new URL(`file://${id}`));
32
- const isPage = normalizedID.startsWith(fileURLToPath(config.pages)) || normalizedID.startsWith(fileURLToPath(config.layouts));
33
- let source = await fs.promises.readFile(id, "utf8");
34
- let tsResult;
35
- let cssTransformError;
36
44
  try {
37
- tsResult = await transform(source, {
38
- as: isPage ? "document" : "fragment",
39
- projectRoot: config.projectRoot.toString(),
40
- site: config.buildOptions.site,
41
- sourcefile: id,
42
- sourcemap: "both",
43
- internalURL: "astro/internal",
44
- preprocessStyle: async (value, attrs) => {
45
- const lang = `.${(attrs == null ? void 0 : attrs.lang) || "css"}`.toLowerCase();
46
- try {
47
- const result = await transformWithVite({ value, lang, id, transformHook: viteTransform, ssr: isSSR(opts) });
48
- let map2;
49
- if (!result)
50
- return null;
51
- if (result.map) {
52
- if (typeof result.map === "string") {
53
- map2 = result.map;
54
- } else if (result.map.mappings) {
55
- map2 = result.map.toString();
56
- }
57
- }
58
- return { code: result.code, map: map2 };
59
- } catch (err) {
60
- cssTransformError = err;
61
- return null;
62
- }
63
- }
45
+ const transformResult = await cachedCompilation(config, id, source, viteTransform, opts);
46
+ const { code, map } = await esbuild.transform(transformResult.code, {
47
+ loader: "ts",
48
+ sourcemap: "external",
49
+ sourcefile: id
64
50
  });
65
- if (cssTransformError)
66
- throw cssTransformError;
67
- const { code, map } = await esbuild.transform(tsResult.code, { loader: "ts", sourcemap: "external", sourcefile: id });
68
51
  return {
69
52
  code,
70
53
  map
@@ -86,29 +69,32 @@ function astro({ config, devServer }) {
86
69
  labels: "compiler",
87
70
  title: "\u{1F41B} BUG: `@astrojs/compiler` panic",
88
71
  body: `### Describe the Bug
89
-
90
- \`@astrojs/compiler\` encountered an unrecoverable error when compiling the following file.
91
-
92
- **${id.replace(fileURLToPath(config.projectRoot), "")}**
93
- \`\`\`astro
94
- ${source}
95
- \`\`\`
96
- `
72
+
73
+ \`@astrojs/compiler\` encountered an unrecoverable error when compiling the following file.
74
+
75
+ **${id.replace(fileURLToPath(config.projectRoot), "")}**
76
+ \`\`\`astro
77
+ ${source}
78
+ \`\`\`
79
+ `
97
80
  });
98
81
  err.url = `https://github.com/withastro/astro/issues/new?${search.toString()}`;
99
82
  err.message = `Error: Uh oh, the Astro compiler encountered an unrecoverable error!
100
-
101
- Please open
102
- a GitHub issue using the link below:
103
- ${err.url}`;
83
+
84
+ Please open
85
+ a GitHub issue using the link below:
86
+ ${err.url}`;
104
87
  err.stack = ` at ${id}`;
105
88
  }
106
89
  throw err;
107
90
  }
91
+ },
92
+ async handleHotUpdate(context) {
93
+ invalidateCompilation(config, context.file);
108
94
  }
109
95
  };
110
96
  }
111
97
  export {
112
98
  astro as default
113
99
  };
114
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3ZpdGUtcGx1Z2luLWFzdHJvL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBS0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBLE1BQU0sMkJBQTJCO0FBT2pDLGVBQWUsU0FBMEQ7QUFDdkUsTUFBSSxZQUFZLFFBQVc7QUFDekIsV0FBTztBQUFBO0FBRVQsTUFBSSxPQUFPLFlBQVksV0FBVztBQUNoQyxXQUFPO0FBQUE7QUFFVCxNQUFJLE9BQU8sV0FBVyxVQUFVO0FBQzlCLFdBQU8sQ0FBQyxDQUFDLFFBQVE7QUFBQTtBQUVuQixTQUFPO0FBQUE7QUFJTSxlQUFlLEVBQUUsUUFBUSxhQUE4QztBQUNwRixNQUFJO0FBQ0osU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsZUFBZSxnQkFBZ0I7QUFDN0Isc0JBQWdCLGlCQUFpQjtBQUFBO0FBQUEsVUFHN0IsS0FBSyxJQUFJLE1BQU07QUFDbkIsVUFBSSxDQUFDLEdBQUcsU0FBUyxXQUFXO0FBQzFCLGVBQU87QUFBQTtBQUlULFlBQU0sZUFBZSxjQUFjLElBQUksSUFBSSxVQUFVO0FBQ3JELFlBQU0sU0FBUyxhQUFhLFdBQVcsY0FBYyxPQUFPLFdBQVcsYUFBYSxXQUFXLGNBQWMsT0FBTztBQUNwSCxVQUFJLFNBQVMsTUFBTSxHQUFHLFNBQVMsU0FBUyxJQUFJO0FBQzVDLFVBQUk7QUFDSixVQUFJO0FBRUosVUFBSTtBQUlGLG1CQUFXLE1BQU0sVUFBVSxRQUFRO0FBQUEsVUFDakMsSUFBSSxTQUFTLGFBQWE7QUFBQSxVQUMxQixhQUFhLE9BQU8sWUFBWTtBQUFBLFVBQ2hDLE1BQU0sT0FBTyxhQUFhO0FBQUEsVUFDMUIsWUFBWTtBQUFBLFVBQ1osV0FBVztBQUFBLFVBQ1gsYUFBYTtBQUFBLFVBQ2IsaUJBQWlCLE9BQU8sT0FBZSxVQUFrQztBQUN2RSxrQkFBTSxPQUFPLElBQUksZ0NBQU8sU0FBUSxRQUFRO0FBQ3hDLGdCQUFJO0FBQ0Ysb0JBQU0sU0FBUyxNQUFNLGtCQUFrQixFQUFFLE9BQU8sTUFBTSxJQUFJLGVBQWUsZUFBZSxLQUFLLE1BQU07QUFDbkcsa0JBQUk7QUFDSixrQkFBSSxDQUFDO0FBQVEsdUJBQU87QUFDcEIsa0JBQUksT0FBTyxLQUFLO0FBQ2Qsb0JBQUksT0FBTyxPQUFPLFFBQVEsVUFBVTtBQUNsQyx5QkFBTSxPQUFPO0FBQUEsMkJBQ0osT0FBTyxJQUFJLFVBQVU7QUFDOUIseUJBQU0sT0FBTyxJQUFJO0FBQUE7QUFBQTtBQUdyQixxQkFBTyxFQUFFLE1BQU0sT0FBTyxNQUFNO0FBQUEscUJBQ3JCLEtBQVA7QUFFQSxrQ0FBb0I7QUFDcEIscUJBQU87QUFBQTtBQUFBO0FBQUE7QUFNYixZQUFJO0FBQW1CLGdCQUFNO0FBSTdCLGNBQU0sRUFBRSxNQUFNLFFBQVEsTUFBTSxRQUFRLFVBQVUsU0FBUyxNQUFNLEVBQUUsUUFBUSxNQUFNLFdBQVcsWUFBWSxZQUFZO0FBRWhILGVBQU87QUFBQSxVQUNMO0FBQUEsVUFDQTtBQUFBO0FBQUEsZUFFSyxLQUFQO0FBU0EsY0FBTSxxQkFBcUIseUJBQXlCLEtBQUs7QUFDekQsWUFBSSxvQkFBb0I7QUFDdEIsY0FBSTtBQUNGLGtCQUFNLFFBQVEsVUFBVSxtQkFBbUIsSUFBSSxFQUFFLFFBQVEsTUFBTSxXQUFXLE9BQU8sWUFBWTtBQUFBLG1CQUN0RixnQkFBUDtBQUdBLGdCQUFJLGtCQUFrQixlQUFlLFNBQVM7QUFDNUMsNkJBQWUsVUFBVSxlQUFlLFFBQVEsUUFBUSxlQUFlO0FBQUE7QUFFekUsa0JBQU07QUFBQTtBQUFBO0FBS1YsWUFBSSxJQUFJLE1BQU0sU0FBUyxrQkFBa0I7QUFDdkMsZ0JBQU0sU0FBUyxJQUFJLGdCQUFnQjtBQUFBLFlBQ2pDLFFBQVE7QUFBQSxZQUNSLE9BQU87QUFBQSxZQUNQLE1BQU07QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUlkLEdBQUcsUUFBUSxjQUFjLE9BQU8sY0FBYztBQUFBO0FBQUEsRUFFaEQ7QUFBQTtBQUFBO0FBQUE7QUFJUSxjQUFJLE1BQU0saURBQWlELE9BQU87QUFDbEUsY0FBSSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJdEIsSUFBSTtBQUVJLGNBQUksUUFBUSxVQUFVO0FBQUE7QUFHeEIsY0FBTTtBQUFBO0FBQUE7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
100
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3ZpdGUtcGx1Z2luLWFzdHJvL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBR0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBLE1BQU0sMkJBQTJCO0FBT2xCLGVBQWUsRUFBRSxVQUEyQztBQUMxRSxNQUFJO0FBQ0osU0FBTztBQUFBLElBQ04sTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsZUFBZSxnQkFBZ0I7QUFDOUIsc0JBQWdCLGlCQUFpQjtBQUFBO0FBQUEsVUFHNUIsVUFBVSxJQUFJO0FBRW5CLFVBQUksa0JBQWtCLElBQUksTUFBTSxPQUFPO0FBQ3RDLGVBQU87QUFBQTtBQUFBO0FBQUEsVUFHSCxLQUFLLElBQUksTUFBTTtBQUNwQixVQUFJLEVBQUUsVUFBVSxVQUFVLGtCQUFrQjtBQUM1QyxVQUFJLE1BQU0sT0FBTztBQUNoQixZQUFJLE1BQU0sU0FBUyxTQUFTO0FBQzNCLGNBQUksU0FBUyxXQUFXLFFBQVEsQ0FBQyxTQUFTLFdBQVcsT0FBTyxZQUFZLFdBQVc7QUFDbEYsdUJBQVcsSUFBSSxJQUFJLE1BQU0sVUFBVSxPQUFPLGFBQWE7QUFBQTtBQUV4RCxnQkFBTSxrQkFBa0IsTUFBTSxrQkFBa0IsUUFBUSxVQUFVLE1BQU0sZUFBZTtBQUV2RixjQUFJLE9BQU8sTUFBTSxVQUFVLGFBQWE7QUFDdkMsa0JBQU0sSUFBSSxNQUFNO0FBQUE7QUFHakIsZ0JBQU0sUUFBUSxnQkFBZ0I7QUFDOUIsZ0JBQU0sT0FBTyxNQUFNLE1BQU07QUFFekIsaUJBQU87QUFBQSxZQUNOO0FBQUE7QUFBQTtBQUFBO0FBS0gsYUFBTztBQUFBO0FBQUEsVUFFRixVQUFVLFFBQVEsSUFBSSxNQUFNO0FBQ2pDLFVBQUksQ0FBQyxHQUFHLFNBQVMsV0FBVztBQUMzQjtBQUFBO0FBR0QsVUFBSTtBQUNILGNBQU0sa0JBQWtCLE1BQU0sa0JBQWtCLFFBQVEsSUFBSSxRQUFRLGVBQWU7QUFJbkYsY0FBTSxFQUFFLE1BQU0sUUFBUSxNQUFNLFFBQVEsVUFBVSxnQkFBZ0IsTUFBTTtBQUFBLFVBQ25FLFFBQVE7QUFBQSxVQUNSLFdBQVc7QUFBQSxVQUNYLFlBQVk7QUFBQTtBQUdiLGVBQU87QUFBQSxVQUNOO0FBQUEsVUFDQTtBQUFBO0FBQUEsZUFFTyxLQUFQO0FBU0QsY0FBTSxxQkFBcUIseUJBQXlCLEtBQUs7QUFDekQsWUFBSSxvQkFBb0I7QUFDdkIsY0FBSTtBQUNILGtCQUFNLFFBQVEsVUFBVSxtQkFBbUIsSUFBSSxFQUFFLFFBQVEsTUFBTSxXQUFXLE9BQU8sWUFBWTtBQUFBLG1CQUNyRixnQkFBUDtBQUdELGdCQUFJLGtCQUFrQixlQUFlLFNBQVM7QUFDN0MsNkJBQWUsVUFBVSxlQUFlLFFBQVEsUUFBUSxlQUFlO0FBQUE7QUFFeEUsa0JBQU07QUFBQTtBQUFBO0FBS1IsWUFBSSxJQUFJLE1BQU0sU0FBUyxrQkFBa0I7QUFDeEMsZ0JBQU0sU0FBUyxJQUFJLGdCQUFnQjtBQUFBLFlBQ2xDLFFBQVE7QUFBQSxZQUNSLE9BQU87QUFBQSxZQUNQLE1BQU07QUFBQTtBQUFBO0FBQUE7QUFBQSxRQUlKLEdBQUcsUUFBUSxjQUFjLE9BQU8sY0FBYztBQUFBO0FBQUEsTUFFaEQ7QUFBQTtBQUFBO0FBQUE7QUFJRCxjQUFJLE1BQU0saURBQWlELE9BQU87QUFDbEUsY0FBSSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFJYixJQUFJO0FBRUwsY0FBSSxRQUFRLFVBQVU7QUFBQTtBQUd2QixjQUFNO0FBQUE7QUFBQTtBQUFBLFVBR0YsZ0JBQWdCLFNBQVM7QUFFOUIsNEJBQXNCLFFBQVEsUUFBUTtBQUFBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,24 @@
1
+ function parseAstroRequest(id) {
2
+ const [filename, rawQuery] = id.split(`?`, 2);
3
+ const query = Object.fromEntries(new URLSearchParams(rawQuery).entries());
4
+ if (query.astro != null) {
5
+ query.astro = true;
6
+ }
7
+ if (query.src != null) {
8
+ query.src = true;
9
+ }
10
+ if (query.index != null) {
11
+ query.index = Number(query.index);
12
+ }
13
+ if (query.raw != null) {
14
+ query.raw = true;
15
+ }
16
+ return {
17
+ filename,
18
+ query
19
+ };
20
+ }
21
+ export {
22
+ parseAstroRequest
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3ZpdGUtcGx1Z2luLWFzdHJvL3F1ZXJ5LnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBWU8sMkJBQTJCLElBR2hDO0FBQ0QsUUFBTSxDQUFDLFVBQVUsWUFBWSxHQUFHLE1BQU0sS0FBSztBQUMzQyxRQUFNLFFBQVEsT0FBTyxZQUFZLElBQUksZ0JBQWdCLFVBQVU7QUFDL0QsTUFBSSxNQUFNLFNBQVMsTUFBTTtBQUN4QixVQUFNLFFBQVE7QUFBQTtBQUVmLE1BQUksTUFBTSxPQUFPLE1BQU07QUFDdEIsVUFBTSxNQUFNO0FBQUE7QUFFYixNQUFJLE1BQU0sU0FBUyxNQUFNO0FBQ3hCLFVBQU0sUUFBUSxPQUFPLE1BQU07QUFBQTtBQUU1QixNQUFJLE1BQU0sT0FBTyxNQUFNO0FBQ3RCLFVBQU0sTUFBTTtBQUFBO0FBRWIsU0FBTztBQUFBLElBQ047QUFBQSxJQUNBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -17,4 +17,4 @@ export {
17
17
  getViteTransform,
18
18
  transformWithVite
19
19
  };
20
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3ZpdGUtcGx1Z2luLWFzdHJvL3N0eWxlcy50cyJdLAogICJtYXBwaW5ncyI6ICJBQUVBO0FBS08sMEJBQTBCLFlBQWdEO0FBQy9FLFFBQU0sZ0JBQWdCLFdBQVcsUUFBUSxLQUFLLENBQUMsRUFBRSxXQUFXLFNBQVM7QUFDckUsTUFBSSxDQUFDO0FBQWUsVUFBTSxJQUFJLE1BQU07QUFDcEMsTUFBSSxDQUFDLGNBQWM7QUFBVyxVQUFNLElBQUksTUFBTTtBQUM5QyxTQUFPLGNBQWMsVUFBVSxLQUFLO0FBQUE7QUFZdEMsaUNBQXdDLEVBQUUsT0FBTyxNQUFNLGVBQWUsSUFBSSxPQUF1RTtBQUMvSSxNQUFJLENBQUMsaUJBQWlCLElBQUksT0FBTztBQUMvQixXQUFPO0FBQUE7QUFFVCxTQUFPLGNBQWMsT0FBTyxLQUFLLHlCQUF5QixRQUFRO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
20
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3ZpdGUtcGx1Z2luLWFzdHJvL3N0eWxlcy50cyJdLAogICJtYXBwaW5ncyI6ICJBQUVBO0FBS08sMEJBQTBCLFlBQWdEO0FBQ2hGLFFBQU0sZ0JBQWdCLFdBQVcsUUFBUSxLQUFLLENBQUMsRUFBRSxXQUFXLFNBQVM7QUFDckUsTUFBSSxDQUFDO0FBQWUsVUFBTSxJQUFJLE1BQU07QUFDcEMsTUFBSSxDQUFDLGNBQWM7QUFBVyxVQUFNLElBQUksTUFBTTtBQUM5QyxTQUFPLGNBQWMsVUFBVSxLQUFLO0FBQUE7QUFZckMsaUNBQXdDLEVBQUUsT0FBTyxNQUFNLGVBQWUsSUFBSSxPQUF1RTtBQUNoSixNQUFJLENBQUMsaUJBQWlCLElBQUksT0FBTztBQUNoQyxXQUFPO0FBQUE7QUFFUixTQUFPLGNBQWMsT0FBTyxLQUFLLHlCQUF5QixRQUFRO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -51,4 +51,4 @@ function astro({ config, devServer }) {
51
51
  export {
52
52
  astro as default
53
53
  };
54
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3ZpdGUtcGx1Z2luLWFzdHJvLXBvc3Rwcm9jZXNzL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBTUE7QUFRQSxNQUFNLHdCQUF3QixJQUFJLElBQUksQ0FBQyxTQUFTO0FBRWpDLGVBQWUsRUFBRSxRQUFRLGFBQXlDO0FBQy9FLFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxVQUNBLFVBQVUsTUFBTSxJQUFJO0FBRXhCLFVBQUksQ0FBQyxHQUFHLFNBQVMsYUFBYSxDQUFDLEdBQUcsU0FBUyxRQUFRO0FBQ2pELGVBQU87QUFBQTtBQUtULFVBQUksQ0FBQyxLQUFLLFNBQVMsaUJBQWlCO0FBQ2xDLGVBQU87QUFBQTtBQUlULFlBQU0sU0FBUyxNQUFNLE1BQU0sZUFBZSxNQUFNO0FBQUEsUUFDOUMsWUFBWTtBQUFBLFFBQ1osWUFBWTtBQUFBLFFBQ1osU0FBUztBQUFBLFVBQ1AsTUFBTTtBQUNKLG1CQUFPO0FBQUEsY0FDTCxTQUFTO0FBQUEsZ0JBQ1AsY0FBYyxNQUErQztBQUMzRCxzQkFDRSxLQUFLLE9BQU8sU0FBUyxvQkFDckIsS0FBSyxPQUFPLE9BQU8sU0FBUyxzQkFDNUIsQ0FBQyxzQkFBc0IsSUFBSyxLQUFLLE9BQU8sT0FBTyxPQUFlLFNBQzdELEtBQUssT0FBTyxPQUFPLFNBQWlCLFNBQVMsZ0JBQzlDO0FBQ0E7QUFBQTtBQUVGLHdCQUFNLEVBQUUsVUFBVSxLQUFLO0FBQ3ZCLHNCQUFJLGNBQWMsS0FBSyxRQUFRO0FBQzdCO0FBQUE7QUFFRix1QkFBSyxZQUFZO0FBQUEsb0JBQ2YsTUFBTTtBQUFBLG9CQUNOLFFBQVE7QUFBQSxzQkFDTixNQUFNO0FBQUEsc0JBQ04sUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLE1BQU0sRUFBRSxNQUFNLGNBQWMsTUFBTSxZQUFZLFVBQVUsRUFBRSxNQUFNLGNBQWMsTUFBTTtBQUFBLHNCQUNwSCxVQUFVLEVBQUUsTUFBTSxjQUFjLE1BQU07QUFBQSxzQkFDdEMsVUFBVTtBQUFBO0FBQUEsb0JBRVosV0FBVyxDQUFDLEtBQUs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVUvQixVQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sTUFBTTtBQUMzQixlQUFPO0FBQUE7QUFHVCxhQUFPLEVBQUUsTUFBTSxPQUFPLE1BQU0sS0FBSyxPQUFPO0FBQUE7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
54
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3ZpdGUtcGx1Z2luLWFzdHJvLXBvc3Rwcm9jZXNzL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBTUE7QUFRQSxNQUFNLHdCQUF3QixJQUFJLElBQUksQ0FBQyxTQUFTO0FBRWpDLGVBQWUsRUFBRSxRQUFRLGFBQXlDO0FBQ2hGLFNBQU87QUFBQSxJQUNOLE1BQU07QUFBQSxVQUNBLFVBQVUsTUFBTSxJQUFJO0FBRXpCLFVBQUksQ0FBQyxHQUFHLFNBQVMsYUFBYSxDQUFDLEdBQUcsU0FBUyxRQUFRO0FBQ2xELGVBQU87QUFBQTtBQUtSLFVBQUksQ0FBQyxLQUFLLFNBQVMsaUJBQWlCO0FBQ25DLGVBQU87QUFBQTtBQUlSLFlBQU0sU0FBUyxNQUFNLE1BQU0sZUFBZSxNQUFNO0FBQUEsUUFDL0MsWUFBWTtBQUFBLFFBQ1osWUFBWTtBQUFBLFFBQ1osU0FBUztBQUFBLFVBQ1IsTUFBTTtBQUNMLG1CQUFPO0FBQUEsY0FDTixTQUFTO0FBQUEsZ0JBQ1IsY0FBYyxNQUErQztBQUM1RCxzQkFDQyxLQUFLLE9BQU8sU0FBUyxvQkFDckIsS0FBSyxPQUFPLE9BQU8sU0FBUyxzQkFDNUIsQ0FBQyxzQkFBc0IsSUFBSyxLQUFLLE9BQU8sT0FBTyxPQUFlLFNBQzdELEtBQUssT0FBTyxPQUFPLFNBQWlCLFNBQVMsZ0JBQzdDO0FBQ0Q7QUFBQTtBQUVELHdCQUFNLEVBQUUsVUFBVSxLQUFLO0FBQ3ZCLHNCQUFJLGNBQWMsS0FBSyxRQUFRO0FBQzlCO0FBQUE7QUFFRCx1QkFBSyxZQUFZO0FBQUEsb0JBQ2hCLE1BQU07QUFBQSxvQkFDTixRQUFRO0FBQUEsc0JBQ1AsTUFBTTtBQUFBLHNCQUNOLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixNQUFNLEVBQUUsTUFBTSxjQUFjLE1BQU0sWUFBWSxVQUFVLEVBQUUsTUFBTSxjQUFjLE1BQU07QUFBQSxzQkFDcEgsVUFBVSxFQUFFLE1BQU0sY0FBYyxNQUFNO0FBQUEsc0JBQ3RDLFVBQVU7QUFBQTtBQUFBLG9CQUVYLFdBQVcsQ0FBQyxLQUFLO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVeEIsVUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLE1BQU07QUFDNUIsZUFBTztBQUFBO0FBR1IsYUFBTyxFQUFFLE1BQU0sT0FBTyxNQUFNLEtBQUssT0FBTztBQUFBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K