-
Notifications
You must be signed in to change notification settings - Fork 371
/
webpack.config.workers.js
56 lines (54 loc) · 1.92 KB
/
webpack.config.workers.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
// Licensed to Cloudera, Inc. under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. Cloudera, Inc. licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const {
BUNDLES,
getPluginConfig,
splitChunksName
} = require('./desktop/core/src/desktop/js/webpack/configUtils');
const shared = require('./webpack.config');
module.exports = {
devtool: shared.devtool,
mode: shared.mode,
target: 'webworker',
performance: shared.performance,
resolve: shared.resolve,
entry: {
sqlLocationWebWorker: ['./desktop/core/src/desktop/js/sql/workers/sqlLocationWebWorker.ts'],
sqlSyntaxWebWorker: ['./desktop/core/src/desktop/js/sql/workers/sqlSyntaxWebWorker.ts']
},
optimization: {
minimize: false,
splitChunks: {
name: splitChunksName
}
},
output: {
hashFunction: 'xxhash64',
path: __dirname + '/desktop/core/src/desktop/static/desktop/js/bundles/workers',
filename: shared.output.filename,
chunkFilename: shared.output.chunkFilename,
globalObject: 'this'
},
module: shared.module,
plugins: getPluginConfig(BUNDLES.WORKERS).concat([
new CleanWebpackPlugin({
cleanOnceBeforeBuildPatterns: [
`${__dirname}/desktop/core/src/desktop/static/desktop/js/bundles/workers`
]
})
])
};