UNPKG

2.67 kBJavaScriptView Raw
1/* eslint-env node */
2const {resolve} = require('path');
3const webpack = require('webpack');
4const {icons} = require('./build/util');
5const {version} = require('./package.json');
6const circular = require('circular-dependency-plugin');
7
8const rules = {
9 rules: [
10 {
11 test: /\.svg$/,
12 use: 'raw-loader'
13 }
14 ]
15};
16
17module.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];