UNPKG

@textback/notification-widget

Version:

TODO: Give a short introduction of your project. Let this section explain the objectives or the motivation behind this project.

73 lines (65 loc) 1.57 kB
const webpack = require('webpack'); const CleanWebpackPlugin = require('clean-webpack-plugin'); const fs = require('fs'); function getPackageVersion() { const json = require('./package.json'); const buildNumber = process.env.BUILD_BUILDNUMBER; let version = json.version; if (typeof buildNumber !== 'undefined') { version = `${json.version}-${buildNumber}` json.version = version; fs.writeFileSync('package.json', JSON.stringify(json, null, 2)); } return version; } const webpackConfig = { entry: { sdk: './src/sdk/sdk.entry.js', index: './src/widget/widget.entry.js', }, output: { path: __dirname + '/build', filename: '[name].js', }, module: { rules: [{ test: /\.scss$/, use: [ {loader: 'style-loader'}, {loader: 'css-loader'}, {loader: 'sass-loader'} ] }, { test: /\.svg/, use: [{ loader: 'svg-inline-loader', options: { // classPrefix: 'tb-notification-widget', // idPrefix: 'tb-notification-widget', }, }] }, { test: /\.png/, use: 'base64-image-loader' }, { test: /\.html/, use: 'html-loader', }, { test: /\.js$/, exclude: [/node_modules/], use: [{ loader: 'babel-loader', options: { presets: ['env'], }, }], }], }, plugins: [ new CleanWebpackPlugin(['build']), new webpack.DefinePlugin({ VERSION: JSON.stringify(getPackageVersion()) }), ], }; module.exports = webpackConfig;