123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- var theme = 'MetroMumbleLight'
- var path = require('path')
- module.exports = {
- entry: {
- index: [
- './app/index.js',
- './app/index.html'
- ],
- theme: './app/theme.js',
- matrix: './app/matrix.js'
- },
- output: {
- filename: '[name].js',
- path: './dist'
- },
- module: {
- postLoaders: [
- {
- include: /mumble-streams\/lib\/data.js/,
- loader: 'transform-loader?brfs'
- }
- ],
- loaders: [
- {
- test: /\.js$/,
- exclude: /node_modules/,
- loader: 'babel-loader',
- query: {
- presets: ['es2015'],
- plugins: ['transform-runtime']
- }
- },
- {
- test: /\.html$/,
- loaders: [
- 'file-loader?name=[name].[ext]',
- 'extract-loader',
- 'html-loader?' + JSON.stringify({
- attrs: ['img:src', 'link:href'],
- interpolate: 'require',
- root: theme
- })
- ]
- },
- {
- test: /\.css$/,
- loaders: [
- 'file-loader',
- 'extract-loader',
- 'css-loader'
- ]
- },
- {
- test: /\.scss$/,
- loaders: [
- 'file-loader?name=[hash].css',
- 'extract-loader',
- 'css-loader',
- 'sass-loader'
- ]
- },
- {
- test: /manifest\.json$|\.xml$/,
- loaders: [
- 'file-loader',
- 'extract-loader',
- 'regexp-replace-loader?' + JSON.stringify({
- match: {
- pattern: "#require\\('([^']*)'\\)",
- flags: 'g'
- },
- replaceWith: '"+require("$1")+"'
- }),
- 'raw-loader'
- ]
- },
- {
- test: /\.json$/,
- exclude: /manifest\.json$/,
- loader: 'json-loader'
- },
- {
- test: /\.(svg|png|ico)$/,
- loader: 'file-loader'
- }
- ]
- },
- resolve: {
- alias: {
- webworkify: 'webworkify-webpack'
- },
- root: [
- path.resolve('./themes/')
- ]
- },
- includes: {
- pattern: function (filepath) {
- return {
- re: /#require\((.+)\)/,
- index: 1
- }
- }
- }
- }
|