From 4178352e2d2d02d17c8088b139ae1609792cf93f Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Wed, 6 Apr 2022 13:54:36 +0200 Subject: [PATCH] refactor: merge app into runtimeConfig.nitro --- README.md | 11 ++--------- src/dev/server.ts | 4 ++-- src/options.ts | 17 +++++++---------- src/runtime/app.ts | 2 +- src/runtime/error.ts | 2 +- src/runtime/paths.ts | 8 ++++---- src/types/nitro.ts | 23 +++++++++++------------ 7 files changed, 28 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 58da767ae5..160aa7ccf7 100644 --- a/README.md +++ b/README.md @@ -139,20 +139,13 @@ Built-in presets: `azure_functions`, `azure`, `browser`, `cli`, `cloudflare`, `f Log verbosity level. See [unjs/consola#level](https://github.com/unjs/consola/#level) for more information. -### App - #### `runtimeConfig` -- Default: `{}` +- Default: `{ nitro: { ... }, ...yourOptions }` Server runtime configuration. -#### `app` - -- Default: `{ baseURL: '/', cdnURL: undefined, buildAssetsDir: 'dist' }` - -Runtime app configuration. - +**Note:**: `nitro` namespace is reserved. ### Directories diff --git a/src/dev/server.ts b/src/dev/server.ts index 644ad0822c..b056e2055c 100644 --- a/src/dev/server.ts +++ b/src/dev/server.ts @@ -107,7 +107,7 @@ export function createDevServer (nitro: Nitro): NitroDevServer { // Serve asset dirs for (const asset of nitro.options.publicAssets) { - const url = joinURL(nitro.options.app.baseURL, asset.baseURL) + const url = joinURL(nitro.options.runtimeConfig.nitro.baseURL, asset.baseURL) app.use(url, serveStatic(asset.dir)) if (!asset.fallthrough) { app.use(url, servePlaceholder()) @@ -116,7 +116,7 @@ export function createDevServer (nitro: Nitro): NitroDevServer { // Serve placeholder 404 assets instead of hitting SSR // TODO: Option to opt-out - app.use(nitro.options.app.baseURL, servePlaceholder({ skipUnknown: true })) + app.use(nitro.options.runtimeConfig.nitro.baseURL, servePlaceholder({ skipUnknown: true })) // Worker proxy const proxy = httpProxy.createProxy() diff --git a/src/options.ts b/src/options.ts index 5080d51682..a99aaa3219 100644 --- a/src/options.ts +++ b/src/options.ts @@ -13,13 +13,11 @@ const NitroDefaults: NitroConfig = { preset: undefined, logLevel: 3, runtimeConfig: { - public: {}, - private: {} - }, - app: { - baseURL: '/', - cdnURL: undefined, - buildAssetsDir: 'dist' + nitro: { + baseURL: '/', + cdnURL: undefined, + buildAssetsDir: 'dist' + } }, // Dirs @@ -112,10 +110,9 @@ export async function loadOptions (userConfig: NitroConfig = {}): Promise${'\n' + (error.stack || []).map(i => `
  • ${i}
  • `).join('\n')}
    - Generated by nitropack at ${new Date().toISOString()} + Generated by nitro at ${new Date().toISOString()} ` } diff --git a/src/runtime/paths.ts b/src/runtime/paths.ts index a05919b694..9563162561 100644 --- a/src/runtime/paths.ts +++ b/src/runtime/paths.ts @@ -2,18 +2,18 @@ import { joinURL } from 'ufo' import config from '#nitro/config' export function baseURL (): string { - return config.app.baseURL + return config.nitro.baseURL } export function buildAssetsDir (): string { - return config.app.buildAssetsDir + return config.nitro.buildAssetsDir } export function buildAssetsURL (...path: string[]): string { - return joinURL(publicAssetsURL(), config.app.buildAssetsDir, ...path) + return joinURL(publicAssetsURL(), config.nitro.buildAssetsDir, ...path) } export function publicAssetsURL (...path: string[]): string { - const publicBase = config.app.cdnURL || config.app.baseURL + const publicBase = config.nitro.cdnURL || config.nitro.baseURL return path.length ? joinURL(publicBase, ...path) : publicBase } diff --git a/src/types/nitro.ts b/src/types/nitro.ts index a254d0394a..d48742a013 100644 --- a/src/types/nitro.ts +++ b/src/types/nitro.ts @@ -70,16 +70,14 @@ export interface NitroOptions { // General preset: string logLevel: LogLevel - - // App - runtimeConfig: { public: any, private: any } - routes: NitroRoutesOptions - app: { - /** @deprecated Use top-level routes option! */ - routes: NitroRoutesOptions - baseURL: string, - cdnURL: string, - buildAssetsDir: string + runtimeConfig: { + nitro: { + /** @deprecated Use top-level routes option! */ + routes: NitroRoutesOptions + baseURL: string, + cdnURL: string, + buildAssetsDir: string + } [key: string]: any } @@ -104,6 +102,7 @@ export interface NitroOptions { } serverAssets: ServerAssetDir[] publicAssets: PublicAssetDir[] + autoImport: UnimportOptions // Dev dev: boolean @@ -112,6 +111,7 @@ export interface NitroOptions { // Routing handlers: NitroEventHandler[] + routes: NitroRoutesOptions devHandlers: NitroDevEventHandler[] prerender: { crawlLinks: boolean @@ -119,6 +119,7 @@ export interface NitroOptions { } // Rollup + rollupConfig?: RollupConfig entry: string unenv: UnenvPreset alias: Record @@ -126,9 +127,7 @@ export interface NitroOptions { inlineDynamicImports: boolean sourceMap: boolean node: boolean - rollupConfig?: RollupConfig moduleSideEffects: string[] - autoImport: UnimportOptions esbuild?: { options?: EsbuildOptions }