1
+ import webpack from 'webpack'
2
+ import path from 'path'
3
+ import HtmlWebpackPlugin from 'html-webpack-plugin'
4
+ import LiveReloadPlugin from 'webpack-livereload-plugin'
5
+
6
+ const ENV = process . env . NODE_ENV || 'development'
7
+ const DEV = ENV === 'development'
8
+ const PROD = ENV === 'production'
9
+ const SOURCE_DIR = 'src'
10
+ const DEST_DIR = 'dist'
11
+ const PUBLIC_PATH = '/'
12
+
13
+ export default {
14
+ mode : ENV ,
15
+ entry : path . join ( __dirname , "index.js" ) ,
16
+ output : {
17
+ path : path . join ( __dirname , DEST_DIR ) ,
18
+ filename : '[name].js'
19
+ } ,
20
+ module : {
21
+ rules : [
22
+ {
23
+ use : [
24
+ { loader : 'babel-loader' } ,
25
+ {
26
+ loader : '@linaria/webpack-loader' ,
27
+ options : {
28
+ sourceMap : process . env . NODE_ENV !== 'production' ,
29
+ cacheDirectory : '.linaria-cache' ,
30
+ } ,
31
+ }
32
+ ] ,
33
+ test : / \. j s $ / ,
34
+ exclude : / n o d e _ m o d u l e s /
35
+ } ,
36
+ {
37
+ use : [ 'style-loader' , 'css-loader' ] ,
38
+ test : / \. c s s $ /
39
+ } ,
40
+ {
41
+ test : / \. s c s s $ / ,
42
+ use : [
43
+ {
44
+ loader : "style-loader"
45
+ } , {
46
+ loader : "css-loader" , options : {
47
+ sourceMap : true
48
+ }
49
+ } , {
50
+ loader : "sass-loader" , options : {
51
+ sourceMap : true
52
+ }
53
+ }
54
+ ]
55
+ } ,
56
+ {
57
+ test : / \. ( p n g | j p g | g i f | s w f ) $ / ,
58
+ use : 'file-loader'
59
+ } ,
60
+ {
61
+ test : / \. ( t t f | e o t | s v g | w o f f ( 2 ) ? ) ( \S + ) ? $ / ,
62
+ use : 'file-loader'
63
+ }
64
+ ]
65
+ } ,
66
+ plugins : [
67
+ new HtmlWebpackPlugin ( {
68
+ template : './example/components/index.html'
69
+ } ) ,
70
+ new LiveReloadPlugin ( )
71
+ ]
72
+ } ;
0 commit comments