This repository has been archived by the owner on Apr 7, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathwebpack.config.js
66 lines (65 loc) · 1.75 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
var path = require('path')
module.exports = {
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.txt$/,
use: ['raw-loader']
},
{
test: /\.jsx?$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
babelrc: true
}
}
},
{
/*
ASP-63: some dependencies use the 'const' keyword, which
causes Safari to barf in strict mode. This loader transforms
them to ES5.
*/
test: /\.jsx?$/,
include: [
path.resolve(__dirname, 'node_modules/sketch-module-user-preferences'),
path.resolve(__dirname, 'node_modules/sketch-polyfill-fetch-babel-safe'),
path.resolve(__dirname, 'node_modules/cocoascript-class-babel-safe')
],
use: {
loader: 'babel-loader',
options: {
babelrc: false,
presets: ['es2015']
}
}
},
{
/*
Several sketch modules clear the coscript shouldKeepAround flag, which
can cause the Mocha context to be prematurely destroyed, which crashes
Sketch. This loader removes those statements, allowing our plugin to
explicitly handle its own coscript lifecycle.
*/
test: /node_modules\/sketch-.*\/.*\.js/,
loader: 'regexp-replace-loader',
options: {
match: {
pattern: '(coscript\\.setShouldKeepAround\\(false\\)|coscript\\.shouldKeepAround = false)',
flags: 'ig'
},
replaceWith: '/* REMOVED coscript shouldKeepAround false */'
}
}
]
},
node: {
setImmediate: false
}
}