1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/server/config.js
Arunoda Susiripala b62a0e8f55 Bundle all the modules inside the app (#414)
* Remove the use of CDN and bundle everything inside the app.
We still pre-build the prefetcher because it needs
different webpack config which only targets browsers
supports Service Workers.

* Remove cdn config item.
We no longer using it.

* Stop adding script tags when staticMarkup=true

* Remove babel-plugin-transform-remove-strict-mode NPM module.
2016-12-17 17:49:10 +09:00

34 lines
632 B
JavaScript

import { join } from 'path'
import { readFile } from 'mz/fs'
const cache = new Map()
const defaultConfig = {}
export default function getConfig (dir) {
if (!cache.has(dir)) {
cache.set(dir, loadConfig(dir))
}
return cache.get(dir)
}
async function loadConfig (dir) {
const path = join(dir, 'package.json')
let data
try {
data = await readFile(path, 'utf8')
} catch (err) {
if (err.code === 'ENOENT') {
data = '{}'
} else {
throw err
}
}
// no try-cache, it must be a valid json
const config = JSON.parse(data).next || {}
return Object.assign({}, defaultConfig, config)
}