diff options
author | 2021-03-30 10:51:31 -0400 | |
---|---|---|
committer | 2021-03-30 10:51:31 -0400 | |
commit | 3b27eaac4384e82e7f08122f0797a9671470781a (patch) | |
tree | 8c4c1b653d7f947e1589a35046ef4f64b92d7c97 /src/runtime.ts | |
parent | dbd764bdeb2b514a426690cedb390edb9c2a75de (diff) | |
download | astro-3b27eaac4384e82e7f08122f0797a9671470781a.tar.gz astro-3b27eaac4384e82e7f08122f0797a9671470781a.tar.zst astro-3b27eaac4384e82e7f08122f0797a9671470781a.zip |
Add support for doctype (#37)
* Add support for doctype
* Automatically prepend doctype
Diffstat (limited to 'src/runtime.ts')
-rw-r--r-- | src/runtime.ts | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/src/runtime.ts b/src/runtime.ts index ac6d4664a..1b7261dfc 100644 --- a/src/runtime.ts +++ b/src/runtime.ts @@ -2,12 +2,14 @@ import type { SnowpackDevServer, ServerRuntime as SnowpackServerRuntime, LoadRes import type { AstroConfig } from './@types/astro'; import type { LogOptions } from './logger'; import type { CompileError } from './parser/utils/error.js'; -import { info, error, parseError } from './logger.js'; +import { info } from './logger.js'; -import { existsSync, promises as fsPromises } from 'fs'; -import { loadConfiguration, startServer as startSnowpackServer } from 'snowpack'; - -const { readFile } = fsPromises; +import { existsSync } from 'fs'; +import { + loadConfiguration, + logger as snowpackLogger, + startServer as startSnowpackServer +} from 'snowpack'; interface RuntimeConfig { astroConfig: AstroConfig; @@ -27,6 +29,9 @@ type LoadResultError = { statusCode: 500 } & ({ type: 'parse-error'; error: Comp export type LoadResult = LoadResultSuccess | LoadResultNotFound | LoadResultError; +// Disable snowpack from writing to stdout/err. +snowpackLogger.level = 'silent'; + async function load(config: RuntimeConfig, rawPathname: string | undefined): Promise<LoadResult> { const { logging, snowpack, snowpackRuntime } = config; const { astroRoot } = config.astroConfig; @@ -130,13 +135,18 @@ export async function createRuntime(astroConfig: AstroConfig, { logging }: Runti resolve: async (pkgName: string) => snowpack.getUrlForPackage(pkgName), }; + const mountOptions = { + [astroRoot.pathname]: '/_astro', + [internalPath.pathname]: '/_astro_internal' + } + + if(existsSync(astroConfig.public)) { + mountOptions[astroConfig.public.pathname] = '/'; + } + const snowpackConfig = await loadConfiguration({ root: projectRoot.pathname, - mount: { - [astroRoot.pathname]: '/_astro', - [internalPath.pathname]: '/_astro_internal', - public: '/', - }, + mount: mountOptions, plugins: [[new URL('../snowpack-plugin.cjs', import.meta.url).pathname, astroPlugOptions], '@snowpack/plugin-sass', '@snowpack/plugin-svelte', '@snowpack/plugin-vue'], devOptions: { open: 'none', |