diff --git a/build/webpack.bundle.js b/build/webpack.bundle.js new file mode 100644 index 0000000..7388e5f --- /dev/null +++ b/build/webpack.bundle.js @@ -0,0 +1,52 @@ +import { merge } from 'webpack-merge'; +import common from './webpack.common.js'; +import TerserPlugin from 'terser-webpack-plugin'; + +export default merge(common, { + mode: 'production', + entry: './src/VideoEditor/index.js', + output: { + filename: 'VideoEditor.bundle.js', + library: { + name: 'VideoEditor', + type: 'umd', + export: 'default', + }, + globalObject: 'this', + clean: true, + }, + module: { + rules: [ + { + test: /\.m?js$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + options: { + presets: [ + ['@babel/preset-env', { + modules: 'auto', + targets: { + browsers: ['> 0.25%', 'not dead'] + } + }] + ] + } + } + } + ] + }, + optimization: { + minimize: true, + minimizer: [ + new TerserPlugin({ + terserOptions: { + format: { + comments: false, + }, + }, + extractComments: false, + }), + ], + }, +}); diff --git a/package.json b/package.json index a32f5ba..562b78d 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "scripts": { "test": "", "start": "webpack serve --config './build/webpack.dev.js'", - "build": "webpack --config './build/webpack.prod.js'" + "build": "webpack --config './build/webpack.prod.js'", + "build-bundle": "webpack --config './build/webpack.bundle.js'" }, "repository": { "type": "git", @@ -36,10 +37,13 @@ }, "type": "module", "devDependencies": { + "@babel/core": "^7.28.4", + "@babel/preset-env": "^7.28.3", + "autoprefixer": "^10.4.13", + "babel-loader": "^10.0.0", + "css-loader": "^6.7.3", "font-awesome": "^4.7.0", "html-webpack-plugin": "^5.5.0", - "css-loader": "^6.7.3", - "autoprefixer": "^10.4.13", "postcss-loader": "^7.0.2", "sass": "^1.58.0", "sass-loader": "^13.2.0",