forked from resource-watch/resource-watch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnext.config.js
65 lines (56 loc) · 2.12 KB
/
next.config.js
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
61
62
63
64
65
require('dotenv').load();
const path = require('path');
const withSass = require('@zeit/next-sass');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const cssnano = require('cssnano');
const { BundleAnalyzerPlugin } = (process.env.RW_NODE_ENV === 'production' && process.env.BUNDLE_ANALYZER) ?
require('webpack-bundle-analyzer') : {};
module.exports = withSass({
useFileSystemPublicRoutes: false,
env: {
RW_NODE_ENV: process.env.RW_NODE_ENV || 'development',
APPLICATIONS: process.env.APPLICATIONS,
BASEMAP_TILE_URL: process.env.BASEMAP_TILE_URL,
CALLBACK_URL: process.env.CALLBACK_URL,
CONTROL_TOWER_URL: process.env.CONTROL_TOWER_URL,
WRI_API_URL: process.env.WRI_API_URL,
BLOG_API_URL: process.env.BLOG_API_URL,
STATIC_SERVER_URL: process.env.STATIC_SERVER_URL,
ADD_SEARCH_KEY: process.env.ADD_SEARCH_KEY,
TRANSIFEX_LIVE_API: process.env.TRANSIFEX_LIVE_API,
BING_MAPS_API_KEY: process.env.BING_MAPS_API_KEY,
API_ENV: process.env.API_ENV,
GOOGLE_ANALYTICS: process.env.GOOGLE_ANALYTICS,
RW_GOGGLE_API_TOKEN_SHORTENER: process.env.RW_GOGGLE_API_TOKEN_SHORTENER,
BITLY_TOKEN: process.env.BITLY_TOKEN,
PARDOT_NEWSLETTER_URL: process.env.PARDOT_NEWSLETTER_URL
},
webpack: (config) => {
const _config = Object.assign({}, config);
_config.node = {
console: true,
fs: 'empty',
net: 'empty',
tls: 'empty'
};
_config.plugins.push(
// optimizes any css file generated
new OptimizeCssAssetsPlugin({
cssProcessor: cssnano,
cssProcessorPluginOptions: { preset: ['default', { discardComments: { removeAll: true } }] }
})
);
// Copy the images of the widget-editor
_config.plugins.push(
new CopyWebpackPlugin([
{
from: path.join(__dirname, 'node_modules/widget-editor/dist/images'),
to: path.join(__dirname, 'public/static/images/widget-editor/')
}
])
);
if (process.env.BUNDLE_ANALYZER) _config.plugins.push(new BundleAnalyzerPlugin());
return _config;
}
});