mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
183866a96d
Depends on https://github.com/zeit/next-plugins/pull/228 Failing tests are expected as `@zeit/next-css` has to be updated/released first. This implements rendering of `.css` chunks. Effectively removing the custom document requirement when adding next-css/sass/less/stylus.
37 lines
1 KiB
JavaScript
37 lines
1 KiB
JavaScript
const withCSS = require('@zeit/next-css')
|
|
const withSass = require('@zeit/next-sass')
|
|
const webpack = require('webpack')
|
|
const path = require('path')
|
|
module.exports = withCSS(withSass({
|
|
onDemandEntries: {
|
|
// Make sure entries are not getting disposed.
|
|
maxInactiveAge: 1000 * 60 * 60
|
|
},
|
|
cssModules: true,
|
|
serverRuntimeConfig: {
|
|
mySecret: 'secret'
|
|
},
|
|
publicRuntimeConfig: {
|
|
staticFolder: '/static'
|
|
},
|
|
webpack (config, {buildId}) {
|
|
// When next-css is `npm link`ed we have to solve loaders from the project root
|
|
const nextLocation = path.join(require.resolve('next/package.json'), '../')
|
|
const nextCssNodeModulesLocation = path.join(
|
|
require.resolve('@zeit/next-css'),
|
|
'../../../node_modules'
|
|
)
|
|
|
|
if (nextCssNodeModulesLocation.indexOf(nextLocation) === -1) {
|
|
config.resolveLoader.modules.push(nextCssNodeModulesLocation)
|
|
}
|
|
config.plugins.push(
|
|
new webpack.DefinePlugin({
|
|
'process.env.CONFIG_BUILD_ID': JSON.stringify(buildId)
|
|
})
|
|
)
|
|
|
|
return config
|
|
}
|
|
}))
|