-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathwebpack.config.js
72 lines (69 loc) · 1.68 KB
/
webpack.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
66
67
68
69
70
71
72
/**
* Webpack configuration for front end code related to paper land.
*
* @author Jesse Greenberg (PhET Interactive Simulations)
*/
const path = require( 'path' );
module.exports = {
mode: 'development',
entry: {
camera: [ './client/camera/entry.js' ],
projector: [ './client/projector/entry.js' ],
editor: [ './client/editor/entry.js' ],
paper: [ './client/paper/entry.js' ],
display: [ './client/display/entry.js' ],
tests: [ './client/tests/entry.js' ],
creator: [ './client/creator/entry.js' ]
},
output: {
path: path.join( __dirname, 'www' ),
filename: '[name].js'
},
module: {
rules: [
{
test: /\.js$/,
exclude: [ /node_modules/ ],
loader: 'babel-loader',
options: {
cacheDirectory: '.babel-cache',
sourceMap: false
}
},
{
test: /\.css$/,
use: [
{ loader: 'style-loader' },
{
loader: 'css-loader',
options: {
localIdentName: '[path][name]--[local]--[hash:base64:10]'
}
}
]
},
// Per https://github.com/devongovett/pdfkit/issues/659#issuecomment-321452649
{
test: /node_modules\/(pdfkit|fontkit|png-js|linebreak|unicode-properties|brotli)\//,
use: [
{
loader: 'transform-loader?brfs'
}
]
},
{
test: /node_modules\/unicode-properties.*\.json$/,
use: 'json-loader'
}
]
},
plugins: [
// eslint-disable-next-line new-cap
new require( 'copy-webpack-plugin' )( [
{
from: 'node_modules/monaco-editor/min/vs',
to: 'vs'
}
] )
]
};