Skip to content

Instantly share code, notes, and snippets.

@lukepolo
Created November 19, 2018 22:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lukepolo/19d1a36f24d66584173826582526479d to your computer and use it in GitHub Desktop.
Save lukepolo/19d1a36f24d66584173826582526479d to your computer and use it in GitHub Desktop.
{
mode: 'development',
context: '/Users/luke/Code/opensource/varie/varie',
devtool: 'eval-source-map',
stats: {
hash: false,
chunks: false,
modules: false,
source: false,
reasons: false,
version: false,
timings: true,
children: false,
publicPath: false,
errorDetails: false
},
node: {
setImmediate: false
},
output: {
publicPath: '/',
path: '/Users/luke/Code/opensource/varie/varie/public',
filename: 'js/[name]-[contenthash].js',
chunkFilename: 'js/[name]-[contenthash].js'
},
resolve: {
symlinks: false,
alias: {
vue$: 'vue/dist/vue.esm.js',
'@app': '/Users/luke/Code/opensource/varie/varie/app',
'@views': '/Users/luke/Code/opensource/varie/varie/views',
'@store': '/Users/luke/Code/opensource/varie/varie/store',
'@config': '/Users/luke/Code/opensource/varie/varie/config',
'@routes': '/Users/luke/Code/opensource/varie/varie/routes',
'@models': '/Users/luke/Code/opensource/varie/varie/app/models',
'@resources': '/Users/luke/Code/opensource/varie/varie/resources',
'@components': '/Users/luke/Code/opensource/varie/varie/app/components'
},
extensions: [
'.js',
'.jsx',
'.ts',
'.tsx',
'.vue',
'.json'
]
},
devServer: {
quiet: true,
noInfo: true,
overlay: true,
compress: true,
host: 'varie.test',
historyApiFallback: true,
contentBase: '/Users/luke/Code/opensource/varie/varie',
headers: {
'Access-Control-Allow-Origin': '*'
}
},
module: {
noParse: /^(vue|vue-router|vuex)$/,
rules: [
/* config.module.rule('html') */
{
test: /\.html$/,
use: [
/* config.module.rule('html').use('html') */
{
loader: 'html-loader',
options: {
limit: 4096,
name: 'fonts/[name].[ext]?[hash:8]'
}
}
]
},
/* config.module.rule('js') */
{
test: /\.jsx?$/,
exclude: [
function () { /* omitted long function */ }
],
use: [
/* config.module.rule('js').use('thread-loader') */
{
loader: 'thread-loader'
},
/* config.module.rule('js').use('cache') */
{
loader: 'cache-loader',
options: {
cacheIdentifier: 'def1c378',
cacheDirectory: '/Users/luke/Code/opensource/varie/varie/node_modules/.cache/js'
}
},
/* config.module.rule('js').use('babel-loader') */
{
loader: 'babel-loader'
}
]
},
/* config.module.rule('typescript') */
{
test: /\.tsx?$/,
use: [
/* config.module.rule('typescript').use('cache') */
{
loader: 'cache-loader',
options: {
cacheIdentifier: '588c7bf8',
cacheDirectory: '/Users/luke/Code/opensource/varie/varie/node_modules/.cache/ts-loader'
}
},
/* config.module.rule('typescript').use('thread-loader') */
{
loader: 'thread-loader'
},
/* config.module.rule('typescript').use('babel-loader') */
{
loader: 'babel-loader'
},
/* config.module.rule('typescript').use('typescript-loader') */
{
loader: 'ts-loader',
options: {
happyPackMode: true,
appendTsSuffixTo: [
/\.vue$/
],
transpileOnly: false
}
}
]
},
/* config.module.rule('vue') */
{
test: /\.vue$/,
use: [
/* config.module.rule('vue').use('cache') */
{
loader: 'cache-loader',
options: {
cacheIdentifier: 'a8e8776e',
cacheDirectory: '/Users/luke/Code/opensource/varie/varie/node_modules/.cache/vue-loader'
}
},
/* config.module.rule('vue').use('vue-loader') */
{
loader: 'vue-loader'
}
]
},
/* config.module.rule('sass') */
{
test: /\.s[ac]ss|\.css/,
use: [
/* config.module.rule('sass').use('cache') */
{
loader: 'cache-loader',
options: {
cacheIdentifier: '244aca41',
cacheDirectory: '/Users/luke/Code/opensource/varie/varie/node_modules/.cache/sass-loader'
}
},
/* config.module.rule('sass').use('style') */
{
loader: 'style-loader'
},
/* config.module.rule('sass').use('extract') */
{
loader: '/Users/luke/Code/opensource/varie/varie/node_modules/mini-css-extract-plugin/dist/loader.js'
},
/* config.module.rule('sass').use('css-loader') */
{
loader: 'css-loader',
options: {
sourceMap: true,
importLoaders: 4
}
},
/* config.module.rule('sass').use('postcss-loader') */
{
loader: 'postcss-loader',
options: {
sourceMap: true,
ident: 'postcss',
plugins: [
function () { /* omitted long function */ }
]
}
},
/* config.module.rule('sass').use('resolve-urls') */
{
loader: 'resolve-url-loader',
options: {
sourceMap: true
}
},
/* config.module.rule('sass').use('sass-loader') */
{
loader: 'sass-loader',
options: {
sourceMap: true,
implementation: {
render: function () { /* omitted long function */ },
renderSync: function () { /* omitted long function */ },
info: 'node-sass\t4.10.0\t(Wrapper)\t[JavaScript]\nlibsass \t3.5.4\t(Sass Compiler)\t[C/C++]',
types: {
Number: function SassNumber() { [native code] },
String: function SassString() { [native code] },
Color: function SassColor() { [native code] },
Boolean: function SassBoolean() { [native code] },
List: function SassList() { [native code] },
Map: function SassMap() { [native code] },
Null: function SassNull() { [native code] },
Error: function SassError() { [native code] }
}
}
}
}
]
},
/* config.module.rule('fonts') */
{
test: /\.(woff|woff2|ttf|eot|svg|otf)$/,
use: [
/* config.module.rule('fonts').use('file') */
{
loader: 'file-loader',
options: {
limit: 4096,
name: 'fonts/[name].[ext]?[hash:8]'
}
}
]
},
/* config.module.rule('images') */
{
test: /\.(png|jpe?g|gif)$/,
use: [
/* config.module.rule('images').use('file') */
{
loader: 'file-loader',
options: {
name: 'img/[name].[ext]?[hash:8]'
}
},
/* config.module.rule('images').use('img') */
{
loader: 'img-loader',
options: {
svgo: {
plugins: [
{
convertPathData: false
}
]
},
mozjpeg: {
progressive: true,
arithmetic: false
},
optipng: {
optimizationLevel: 5
},
gifsicle: {
interlaced: true
},
enabled: false
}
}
]
}
]
},
optimization: {
splitChunks: {
cacheGroups: {
vendors: {
test: /[\\\/]node_modules[\\\/]/,
priority: -10,
name: 'vendor',
chunks: 'initial'
},
'default': {
minChunks: 2,
priority: -20,
chunks: 'initial',
reuseExistingChunk: true
}
}
},
runtimeChunk: true,
noEmitOnErrors: false,
minimizer: [
/* config.optimization.minimizer('minify') */
new TerserPlugin(
{
cache: true,
parallel: true,
sourceMap: true,
terserOptions: {
keep_fnames: true,
mangle: {
safari10: 'true'
}
}
}
)
]
},
plugins: [
/* config.plugin('html') */
new HtmlWebpackPlugin(
{
inject: true,
template: './index.html'
}
),
/* config.plugin('vue') */
new VueLoaderPlugin(),
/* config.plugin('optimize-assets') */
new MiniCssExtractPlugin(
{
filename: 'css/[name]-[contenthash].css',
chunkFilename: 'css/[name]-[contenthash].css'
}
),
/* config.plugin('clean') */
new CleanWebpackPlugin(
[
'/Users/luke/Code/opensource/varie/varie/public'
],
{
root: '/Users/luke/Code/opensource/varie/varie',
verbose: true,
allowExternal: false,
dry: false
}
),
/* config.plugin('named-chunks') */
new NamedChunksPlugin(
function () { /* omitted long function */ }
),
/* config.plugin('case-sensitive-paths') */
new CaseSensitivePathsPlugin(),
/* config.plugin('errors') */
new FriendlyErrorsWebpackPlugin(
{
clearConsole: true
}
),
/* config.plugin('browser-sync') */
new BrowserSyncPlugin(
{
host: 'varie.test',
open: 'external',
proxy: 'varie.test',
files: [
'/Users/luke/Code/opensource/varie/varie/public/**/*.js',
'/Users/luke/Code/opensource/varie/varie/public**/*.css'
]
},
{
reload: false
}
),
/* config.plugin('variables') */
new DefinePlugin(
{
__ENV_VARIABLES__: {
app: {
env: '"development"'
}
}
}
)
],
entry: {
app: [
'/Users/luke/Code/opensource/varie/varie/app/app.ts',
'/Users/luke/Code/opensource/varie/varie/resources/sass/app.scss'
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment