Skip to content

Commit

Permalink
refactor: merge app into runtimeConfig.nitro
Browse files Browse the repository at this point in the history
  • Loading branch information
pi0 committed Apr 6, 2022
1 parent 6ab67f9 commit 4178352
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 39 deletions.
11 changes: 2 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions src/dev/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand All @@ -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()
Expand Down
17 changes: 7 additions & 10 deletions src/options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -112,10 +110,9 @@ export async function loadOptions (userConfig: NitroConfig = {}): Promise<NitroO
options.scanDirs = [options.srcDir]
}

options.app.routes = options.routes
options.runtimeConfig = defu(options.runtimeConfig, {
public: {
app: options.app
app: {
routes: options.routes
}
})

Expand Down
2 changes: 1 addition & 1 deletion src/runtime/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ app.use(timingMiddleware)

const router = createRouter()

const routerOptions = createMatcher({ routes: config.app.routes })
const routerOptions = createMatcher({ routes: config.nitro.routes })

for (const h of handlers) {
let handler = h.lazy ? lazyEventHandler(h.handler as any) : h.handler
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/error.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ function renderHTMLError (error: ParsedError): string {
<ul>${'\n' + (error.stack || []).map(i => ` <li>${i}</li>`).join('\n')}
</ul>
<hr>
Generated by nitropack at ${new Date().toISOString()}
Generated by nitro at ${new Date().toISOString()}
</body>
</html>`
}
8 changes: 4 additions & 4 deletions src/runtime/paths.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
23 changes: 11 additions & 12 deletions src/types/nitro.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand All @@ -104,6 +102,7 @@ export interface NitroOptions {
}
serverAssets: ServerAssetDir[]
publicAssets: PublicAssetDir[]
autoImport: UnimportOptions

// Dev
dev: boolean
Expand All @@ -112,23 +111,23 @@ export interface NitroOptions {

// Routing
handlers: NitroEventHandler[]
routes: NitroRoutesOptions
devHandlers: NitroDevEventHandler[]
prerender: {
crawlLinks: boolean
routes: string[]
}

// Rollup
rollupConfig?: RollupConfig
entry: string
unenv: UnenvPreset
alias: Record<string, string>
minify: boolean
inlineDynamicImports: boolean
sourceMap: boolean
node: boolean
rollupConfig?: RollupConfig
moduleSideEffects: string[]
autoImport: UnimportOptions
esbuild?: {
options?: EsbuildOptions
}
Expand Down

0 comments on commit 4178352

Please sign in to comment.