UNPKG

astro

Version:

Astro is a modern site builder with web best practices, performance, and DX front-of-mind.

36 lines (35 loc) 1.34 kB
import { ASTRO_VERSION } from "../../core/constants.js"; import { AstroError, AstroErrorData } from "../../core/errors/index.js"; function createAstroGlobFn() { const globHandler = (importMetaGlobResult) => { console.warn(`Astro.glob is deprecated and will be removed in a future major version of Astro. Use import.meta.glob instead: https://vitejs.dev/guide/features.html#glob-import`); if (typeof importMetaGlobResult === "string") { throw new AstroError({ ...AstroErrorData.AstroGlobUsedOutside, message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult)) }); } let allEntries = [...Object.values(importMetaGlobResult)]; if (allEntries.length === 0) { throw new AstroError({ ...AstroErrorData.AstroGlobNoMatch, message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult)) }); } return Promise.all(allEntries.map((fn) => fn())); }; return globHandler; } function createAstro(site) { return { // TODO: this is no longer necessary for `Astro.site` // but it somehow allows working around caching issues in content collections for some tests site: site ? new URL(site) : void 0, generator: `Astro v${ASTRO_VERSION}`, glob: createAstroGlobFn() }; } export { createAstro };