forked from codesandbox/codesandbox-client
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnext.config.js
More file actions
60 lines (54 loc) · 1.32 KB
/
next.config.js
File metadata and controls
60 lines (54 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// next.config.js
const withCSS = require('@zeit/next-css');
const withTM = require('next-transpile-modules');
const env = require('@codesandbox/common/lib/config/env');
const dotEnvResult = require('dotenv').config();
const parsedVariables = dotEnvResult.parsed || {};
const dotEnvVariables = {};
// eslint-disable-next-line
for (const key of Object.keys(parsedVariables)) {
dotEnvVariables[key] = process.env[key];
}
// eslint-disable-next-line
for (const key of Object.keys(env)) {
dotEnvVariables[key] = env[key];
}
module.exports = withCSS(
withTM({
exportPathMap() {
return {
'/profile': { page: '/profile' },
};
},
transpileModules: ['common'],
webpack(config) {
// Further custom configuration here
config.module.rules.unshift({
test: /\.(svg|png|jpg)$/,
use: [
{
loader: 'file-loader',
options: {
publicPath: '/static/',
},
},
],
});
config.module.rules.unshift({
test: /common\/.*\.(js)$/,
use: [
{
loader: 'babel-loader',
options: {
plugins: ['@babel/transform-modules-commonjs'],
},
},
],
});
return config;
},
env: {
...dotEnvVariables,
},
})
);