1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-typings-for-css-modules/next.config.js
AJ Livingston cb312eb18b Examples: with-typings-for-css-modules (#5446)
* added example for using typings-for-css-modules-loader

* Update examples/with-typings-for-css-modules/README.md

* Update examples/with-typings-for-css-modules/README.md

* Update examples/with-typings-for-css-modules/next.config.js
2018-11-02 23:21:59 +01:00

55 lines
1.3 KiB
JavaScript

const withCSS = require('@zeit/next-css')
const withTypescript = require('@zeit/next-typescript')
/* With additional configuration on top of CSS Modules */
module.exports = withTypescript(withCSS({
cssModules: true,
cssLoaderOptions: {
camelCase: true,
namedExport: true
},
webpack (config, options) {
if (!options.isServer) {
/* Using next-css */
for (let entry of options.defaultLoaders.css) {
if (entry.loader === 'css-loader') {
entry.loader = 'typings-for-css-modules-loader'
break
}
}
/* Using next-less */
/*
for (let entry of options.defaultLoaders.less) {
if (entry.loader === 'css-loader') {
entry.loader = 'typings-for-css-modules-loader';
break;
}
}
*/
/* Using next-sass */
/*
for (let entry of options.defaultLoaders.sass) {
if (entry.loader === 'css-loader') {
entry.loader = 'typings-for-css-modules-loader';
break;
}
}
*/
/* Using next-stylus */
/*
for (let entry of options.defaultLoaders.stylus) {
if (entry.loader === 'css-loader') {
entry.loader = 'typings-for-css-modules-loader';
break;
}
}
*/
}
return config
}
}))