mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 13:37:30 +00:00
Almost two years ago, we began referring to the project as Fleet, but there are many occurences of the term "Kolide" throughout the UI and documentation. This PR attempts to clear up those uses where it is easily achievable. The term "Kolide" is used throughout the code as well, but modifying this would be more likely to introduce bugs.
102 lines
2.9 KiB
JavaScript
102 lines
2.9 KiB
JavaScript
require('es6-promise').polyfill();
|
|
|
|
var path = require('path');
|
|
var webpack = require('webpack');
|
|
var ExtractTextPlugin = require("extract-text-webpack-plugin");
|
|
var bourbon = require('node-bourbon').includePaths;
|
|
var HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
var WebpackNotifierPlugin = require('webpack-notifier');
|
|
|
|
var plugins = [
|
|
new webpack.NoEmitOnErrorsPlugin(),
|
|
new HtmlWebpackPlugin({
|
|
filename: '../frontend/templates/react.tmpl',
|
|
inject: false,
|
|
template: 'frontend/templates/react.ejs'
|
|
}),
|
|
new WebpackNotifierPlugin({
|
|
title: "Fleet",
|
|
contentImage: path.resolve("./assets/images/kolide-logo.svg"),
|
|
excludeWarnings: true
|
|
})
|
|
];
|
|
|
|
if (process.env.NODE_ENV === 'production') {
|
|
plugins = plugins.concat([
|
|
new webpack.optimize.UglifyJsPlugin({
|
|
compress: {warnings: false},
|
|
output: {comments: false}
|
|
}),
|
|
new webpack.DefinePlugin({
|
|
'process.env': {NODE_ENV: JSON.stringify('production')}
|
|
}),
|
|
new ExtractTextPlugin({ filename: 'bundle-[contenthash].css', allChunks: false })
|
|
]);
|
|
} else {
|
|
plugins = plugins.concat([
|
|
new ExtractTextPlugin({ filename: 'bundle.css', allChunks: false })
|
|
]);
|
|
}
|
|
|
|
var repo = __dirname
|
|
|
|
var config = {
|
|
entry: {
|
|
bundle: path.join(repo, 'frontend/index.jsx')
|
|
},
|
|
output: {
|
|
path: path.join(repo, 'assets/'),
|
|
publicPath: "/assets/",
|
|
filename: '[name].js'
|
|
},
|
|
plugins: plugins,
|
|
module: {
|
|
// The following noParse suppresses the warning about sqlite-parser being a
|
|
// pre-compiled JS file. See https://goo.gl/N4s6bB.
|
|
noParse: /node_modules\/sqlite-parser\/dist\/sqlite-parser-min.js/,
|
|
rules: [
|
|
{ test: /\.(png|gif)$/, use: { loader: 'url-loader?name=[name]@[hash].[ext]&limit=6000' } },
|
|
{ test: /\.(pdf|ico|jpg|svg|eot|otf|woff|ttf|mp4|webm)$/, use: { loader: 'file-loader?name=[name]@[hash].[ext]' } },
|
|
{ test: /\.json$/, use: { loader: 'raw-loader' } },
|
|
{ test: /\.tsx?$/, exclude: /node_modules/, use: { loader: 'ts-loader' } },
|
|
{
|
|
test: /\.scss$/,
|
|
exclude: /node_modules/,
|
|
use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: [
|
|
{ loader: 'css-loader' },
|
|
{ loader: 'postcss-loader' },
|
|
{
|
|
loader: 'sass-loader',
|
|
options: {
|
|
sourceMap: true,
|
|
includePaths: [ bourbon ]
|
|
}
|
|
},
|
|
{ loader: 'import-glob-loader' }
|
|
]})
|
|
},
|
|
{
|
|
test: /\.css$/,
|
|
use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: ['css-loader', 'postcss-loader'] })
|
|
},
|
|
{
|
|
test: /\.jsx?$/,
|
|
include: path.join(repo, 'frontend'),
|
|
use: [ 'babel-loader' ]
|
|
}
|
|
]
|
|
},
|
|
resolve: {
|
|
extensions: ['.js', '.jsx', '.json'],
|
|
modules: [
|
|
path.resolve(path.join(repo, './frontend')),
|
|
"node_modules"
|
|
]
|
|
}
|
|
};
|
|
|
|
if (process.env.NODE_ENV === 'production') {
|
|
config.output.filename = "[name]-[hash].js"
|
|
}
|
|
|
|
module.exports = config;
|