1 |
|
2 | let fs = require('fs');
|
3 | let path = require('path');
|
4 | let webpack = require('webpack');
|
5 | let CopyWebpackPlugin = require('copy-webpack-plugin');
|
6 |
|
7 |
|
8 | let version = require('./package.json').version;
|
9 | let readme = fs.readFileSync('./README.md', 'utf-8').replace(
|
10 | /cdn\/(.*)\/carrot.js/, `cdn/${version}/carrot.js`
|
11 | );
|
12 | fs.writeFileSync('./README.md', readme);
|
13 |
|
14 | let license = fs.readFileSync('./LICENSE', 'utf-8');
|
15 |
|
16 |
|
17 | module.exports = {
|
18 | mode: "production",
|
19 | context: __dirname,
|
20 | entry: {
|
21 | 'dist/carrot': './src/carrot.js',
|
22 | [`./theme/static/cdn/${version}/carrot`]: './src/carrot.js'
|
23 | },
|
24 | resolve: {
|
25 | modules: [
|
26 | path.join(__dirname, 'node_modules')
|
27 | ]
|
28 | },
|
29 | output: {
|
30 | path: __dirname,
|
31 | filename: '[name].js',
|
32 | library: 'carrot',
|
33 | libraryTarget: 'umd'
|
34 | },
|
35 | plugins: [
|
36 | new webpack.NoEmitOnErrorsPlugin(),
|
37 | new webpack.BannerPlugin(license),
|
38 | new webpack.optimize.ModuleConcatenationPlugin(),
|
39 | new CopyWebpackPlugin([
|
40 | { from: 'src/multithreading/workers/node/worker.js', to: 'dist' }
|
41 | ])
|
42 | ],
|
43 | externals: [
|
44 | 'child_process',
|
45 | 'os'
|
46 | ],
|
47 | node: {
|
48 | __dirname: false
|
49 | }
|
50 | } |
\ | No newline at end of file |