| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /**
- * @Author: Caven
- * @Date: 2021-03-14 00:41:29
- */
-
- 'use strict'
-
- const path = require('path')
- const webpack = require('webpack')
- const JavaScriptObfuscator = require('webpack-obfuscator')
- const common = require('./common')
-
- module.exports = env => {
- const IS_PROD = (env && env.production) || false
- const publicPath = IS_PROD ? '/' : '/'
- let plugins = [...common.plugins]
- if (IS_PROD) {
- plugins.push(new webpack.NoEmitOnErrorsPlugin())
- plugins.push(
- new JavaScriptObfuscator(
- {
- rotateStringArray: true
- },
- []
- )
- )
- }
- return {
- entry: {
- 'dc.mapv': ['entry']
- },
- devtool: IS_PROD ? false : 'cheap-module-eval-source-map',
- output: {
- filename: IS_PROD ? '[name].min.js' : '[name].js',
- path: path.resolve(__dirname, '..', 'packages/mapv/dist'),
- publicPath: publicPath,
- library: 'DcMapv',
- libraryExport: 'default',
- libraryTarget: 'umd',
- umdNamedDefine: true
- },
- module: {
- unknownContextCritical: false,
- rules: [
- {
- test: /\.js$/,
- exclude: /node_modules/,
- loader: 'babel-loader',
- options: {
- presets: ['@babel/preset-env'],
- compact: false,
- ignore: ['checkTree']
- }
- }
- ]
- },
- resolve: {
- extensions: ['.js', '.json', '.css'],
- alias: {
- '@dc-modules': path.resolve(__dirname, '..', 'modules'),
- 'mapv-lib': path.resolve(__dirname, '..', 'libs/mapv'),
- entry: path.resolve(__dirname, '..', 'packages/mapv/index.js')
- }
- },
- performance: common.performance,
- plugins
- }
- }
|