1 |
|
2 | const {resolve} = require('path');
|
3 | const webpack = require('webpack');
|
4 | const {icons} = require('./build/util');
|
5 | const {version} = require('./package.json');
|
6 | const circular = require('circular-dependency-plugin');
|
7 |
|
8 | const rules = {
|
9 | rules: [
|
10 | {
|
11 | test: /\.svg$/,
|
12 | use: 'raw-loader'
|
13 | }
|
14 | ]
|
15 | };
|
16 |
|
17 | module.exports = [
|
18 |
|
19 | {
|
20 | entry: './src/js/uikit',
|
21 | output: {
|
22 | path: __dirname,
|
23 | filename: 'dist/js/uikit.js',
|
24 | library: 'UIkit',
|
25 | libraryExport: 'default',
|
26 | libraryTarget: 'umd'
|
27 | },
|
28 | mode: 'development',
|
29 | module: rules,
|
30 | plugins: [
|
31 | new circular(),
|
32 | new webpack.DefinePlugin({
|
33 | BUNDLED: true,
|
34 | VERSION: `'${version}'`
|
35 | }),
|
36 | new webpack.optimize.ModuleConcatenationPlugin()
|
37 | ],
|
38 | resolve: {
|
39 | alias: {
|
40 | 'uikit-util': resolve(__dirname, 'src/js/util')
|
41 | }
|
42 | }
|
43 | },
|
44 |
|
45 | {
|
46 | entry: './src/js/uikit',
|
47 | output: {
|
48 | path: __dirname,
|
49 | filename: 'dist/js/uikit.min.js',
|
50 | library: 'UIkit',
|
51 | libraryExport: 'default',
|
52 | libraryTarget: 'umd'
|
53 | },
|
54 | mode: 'production',
|
55 | module: rules,
|
56 | plugins: [
|
57 | new circular(),
|
58 | new webpack.DefinePlugin({
|
59 | BUNDLED: true,
|
60 | VERSION: `'${version}'`
|
61 | }),
|
62 | new webpack.optimize.ModuleConcatenationPlugin()
|
63 | ],
|
64 | resolve: {
|
65 | alias: {
|
66 | 'uikit-util': resolve(__dirname, 'src/js/util')
|
67 | }
|
68 | }
|
69 | },
|
70 |
|
71 | {
|
72 | entry: './src/js/icons',
|
73 | output: {
|
74 | path: __dirname,
|
75 | filename: 'dist/js/uikit-icons.js',
|
76 | library: 'UIkitIcons',
|
77 | libraryExport: 'default',
|
78 | libraryTarget: 'umd'
|
79 | },
|
80 | mode: 'development',
|
81 | module: rules,
|
82 | plugins: [
|
83 | new webpack.DefinePlugin({
|
84 | ICONS: icons('src/images/icons/*.svg')
|
85 | })
|
86 | ],
|
87 | resolve: {
|
88 | alias: {
|
89 | 'icons$': resolve(__dirname, 'dist/icons.json')
|
90 | }
|
91 | }
|
92 | },
|
93 |
|
94 | {
|
95 | entry: {
|
96 | index: './tests/js/index'
|
97 | },
|
98 | output: {
|
99 | path: __dirname,
|
100 | filename: 'tests/js/test.js'
|
101 | },
|
102 | mode: 'development',
|
103 | externals: {uikit: 'UIkit'},
|
104 | resolve: {
|
105 | alias: {
|
106 | 'uikit-util': resolve(__dirname, 'src/js/util')
|
107 | }
|
108 | }
|
109 | }
|
110 |
|
111 | ];
|