@fortawesome/vue-fontawesome 2.0.5 → 2.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/README.md +8 -803
- package/index.es.js +288 -229
- package/index.js +636 -577
- package/package.json +41 -24
- package/src/components/FontAwesomeIcon.js +15 -3
- package/src/utils.js +5 -1
- package/.babelrc +0 -3
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -24
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/workflows/ci.yml +0 -31
- package/.npmrc.proregistry +0 -2
- package/.tool-versions +0 -2
- package/CODE_OF_CONDUCT.md +0 -74
- package/CONTRIBUTING.md +0 -57
- package/DEVELOPMENT.md +0 -44
- package/bin/dev +0 -3
- package/bin/setup +0 -8
- package/examples/vue-cli-webpack/.babelrc +0 -12
- package/examples/vue-cli-webpack/.editorconfig +0 -9
- package/examples/vue-cli-webpack/.eslintignore +0 -4
- package/examples/vue-cli-webpack/.eslintrc.js +0 -29
- package/examples/vue-cli-webpack/.postcssrc.js +0 -10
- package/examples/vue-cli-webpack/README.md +0 -21
- package/examples/vue-cli-webpack/build/build.js +0 -41
- package/examples/vue-cli-webpack/build/check-versions.js +0 -54
- package/examples/vue-cli-webpack/build/logo.png +0 -0
- package/examples/vue-cli-webpack/build/utils.js +0 -101
- package/examples/vue-cli-webpack/build/vue-loader.conf.js +0 -22
- package/examples/vue-cli-webpack/build/webpack.base.conf.js +0 -91
- package/examples/vue-cli-webpack/build/webpack.dev.conf.js +0 -95
- package/examples/vue-cli-webpack/build/webpack.prod.conf.js +0 -145
- package/examples/vue-cli-webpack/config/dev.env.js +0 -7
- package/examples/vue-cli-webpack/config/index.js +0 -76
- package/examples/vue-cli-webpack/config/prod.env.js +0 -4
- package/examples/vue-cli-webpack/index.html +0 -13
- package/examples/vue-cli-webpack/package-lock.json +0 -11632
- package/examples/vue-cli-webpack/package.json +0 -77
- package/examples/vue-cli-webpack/src/App.vue +0 -66
- package/examples/vue-cli-webpack/src/assets/logo.png +0 -0
- package/examples/vue-cli-webpack/src/components/HelloWorld.vue +0 -113
- package/examples/vue-cli-webpack/src/main.js +0 -28
- package/examples/vue-cli-webpack/static/.gitkeep +0 -0
- package/rollup.config.js +0 -54
- package/src/components/__fixtures__/helpers.js +0 -40
- package/src/components/__fixtures__/icons.js +0 -35
- package/src/components/__tests__/FontAwesomeIcon.test.js +0 -337
- package/src/components/__tests__/FontAwesomeLayers.test.js +0 -55
- package/src/components/__tests__/FontAwesomeLayersText.test.js +0 -52
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
const path = require('path')
|
|
3
|
-
const config = require('../config')
|
|
4
|
-
const ExtractTextPlugin = require('extract-text-webpack-plugin')
|
|
5
|
-
const packageConfig = require('../package.json')
|
|
6
|
-
|
|
7
|
-
exports.assetsPath = function (_path) {
|
|
8
|
-
const assetsSubDirectory = process.env.NODE_ENV === 'production'
|
|
9
|
-
? config.build.assetsSubDirectory
|
|
10
|
-
: config.dev.assetsSubDirectory
|
|
11
|
-
|
|
12
|
-
return path.posix.join(assetsSubDirectory, _path)
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
exports.cssLoaders = function (options) {
|
|
16
|
-
options = options || {}
|
|
17
|
-
|
|
18
|
-
const cssLoader = {
|
|
19
|
-
loader: 'css-loader',
|
|
20
|
-
options: {
|
|
21
|
-
sourceMap: options.sourceMap
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const postcssLoader = {
|
|
26
|
-
loader: 'postcss-loader',
|
|
27
|
-
options: {
|
|
28
|
-
sourceMap: options.sourceMap
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// generate loader string to be used with extract text plugin
|
|
33
|
-
function generateLoaders (loader, loaderOptions) {
|
|
34
|
-
const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
|
|
35
|
-
|
|
36
|
-
if (loader) {
|
|
37
|
-
loaders.push({
|
|
38
|
-
loader: loader + '-loader',
|
|
39
|
-
options: Object.assign({}, loaderOptions, {
|
|
40
|
-
sourceMap: options.sourceMap
|
|
41
|
-
})
|
|
42
|
-
})
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Extract CSS when that option is specified
|
|
46
|
-
// (which is the case during production build)
|
|
47
|
-
if (options.extract) {
|
|
48
|
-
return ExtractTextPlugin.extract({
|
|
49
|
-
use: loaders,
|
|
50
|
-
fallback: 'vue-style-loader'
|
|
51
|
-
})
|
|
52
|
-
} else {
|
|
53
|
-
return ['vue-style-loader'].concat(loaders)
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
|
|
58
|
-
return {
|
|
59
|
-
css: generateLoaders(),
|
|
60
|
-
postcss: generateLoaders(),
|
|
61
|
-
less: generateLoaders('less'),
|
|
62
|
-
sass: generateLoaders('sass', { indentedSyntax: true }),
|
|
63
|
-
scss: generateLoaders('sass'),
|
|
64
|
-
stylus: generateLoaders('stylus'),
|
|
65
|
-
styl: generateLoaders('stylus')
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Generate loaders for standalone style files (outside of .vue)
|
|
70
|
-
exports.styleLoaders = function (options) {
|
|
71
|
-
const output = []
|
|
72
|
-
const loaders = exports.cssLoaders(options)
|
|
73
|
-
|
|
74
|
-
for (const extension in loaders) {
|
|
75
|
-
const loader = loaders[extension]
|
|
76
|
-
output.push({
|
|
77
|
-
test: new RegExp('\\.' + extension + '$'),
|
|
78
|
-
use: loader
|
|
79
|
-
})
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return output
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
exports.createNotifierCallback = () => {
|
|
86
|
-
const notifier = require('node-notifier')
|
|
87
|
-
|
|
88
|
-
return (severity, errors) => {
|
|
89
|
-
if (severity !== 'error') return
|
|
90
|
-
|
|
91
|
-
const error = errors[0]
|
|
92
|
-
const filename = error.file && error.file.split('!').pop()
|
|
93
|
-
|
|
94
|
-
notifier.notify({
|
|
95
|
-
title: packageConfig.name,
|
|
96
|
-
message: severity + ': ' + error.name,
|
|
97
|
-
subtitle: filename || '',
|
|
98
|
-
icon: path.join(__dirname, 'logo.png')
|
|
99
|
-
})
|
|
100
|
-
}
|
|
101
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
const utils = require('./utils')
|
|
3
|
-
const config = require('../config')
|
|
4
|
-
const isProduction = process.env.NODE_ENV === 'production'
|
|
5
|
-
const sourceMapEnabled = isProduction
|
|
6
|
-
? config.build.productionSourceMap
|
|
7
|
-
: config.dev.cssSourceMap
|
|
8
|
-
|
|
9
|
-
module.exports = {
|
|
10
|
-
loaders: utils.cssLoaders({
|
|
11
|
-
sourceMap: sourceMapEnabled,
|
|
12
|
-
extract: isProduction
|
|
13
|
-
}),
|
|
14
|
-
cssSourceMap: sourceMapEnabled,
|
|
15
|
-
cacheBusting: config.dev.cacheBusting,
|
|
16
|
-
transformToRequire: {
|
|
17
|
-
video: ['src', 'poster'],
|
|
18
|
-
source: 'src',
|
|
19
|
-
img: 'src',
|
|
20
|
-
image: 'xlink:href'
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
const path = require('path')
|
|
3
|
-
const utils = require('./utils')
|
|
4
|
-
const config = require('../config')
|
|
5
|
-
const vueLoaderConfig = require('./vue-loader.conf')
|
|
6
|
-
|
|
7
|
-
function resolve (dir) {
|
|
8
|
-
return path.join(__dirname, '..', dir)
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const createLintingRule = () => ({
|
|
12
|
-
test: /\.(js|vue)$/,
|
|
13
|
-
loader: 'eslint-loader',
|
|
14
|
-
enforce: 'pre',
|
|
15
|
-
include: [resolve('src'), resolve('test')],
|
|
16
|
-
options: {
|
|
17
|
-
formatter: require('eslint-friendly-formatter'),
|
|
18
|
-
emitWarning: !config.dev.showEslintErrorsInOverlay
|
|
19
|
-
}
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
module.exports = {
|
|
23
|
-
context: path.resolve(__dirname, '../'),
|
|
24
|
-
entry: {
|
|
25
|
-
app: './src/main.js'
|
|
26
|
-
},
|
|
27
|
-
output: {
|
|
28
|
-
path: config.build.assetsRoot,
|
|
29
|
-
filename: '[name].js',
|
|
30
|
-
publicPath: process.env.NODE_ENV === 'production'
|
|
31
|
-
? config.build.assetsPublicPath
|
|
32
|
-
: config.dev.assetsPublicPath
|
|
33
|
-
},
|
|
34
|
-
resolve: {
|
|
35
|
-
extensions: ['.js', '.vue', '.json'],
|
|
36
|
-
alias: {
|
|
37
|
-
'@': resolve('src'),
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
module: {
|
|
41
|
-
rules: [
|
|
42
|
-
...(config.dev.useEslint ? [createLintingRule()] : []),
|
|
43
|
-
{
|
|
44
|
-
test: /\.vue$/,
|
|
45
|
-
loader: 'vue-loader',
|
|
46
|
-
options: vueLoaderConfig
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
test: /\.js$/,
|
|
50
|
-
loader: 'babel-loader',
|
|
51
|
-
include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
|
|
55
|
-
loader: 'url-loader',
|
|
56
|
-
options: {
|
|
57
|
-
limit: 10000,
|
|
58
|
-
name: utils.assetsPath('img/[name].[hash:7].[ext]')
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
|
|
63
|
-
loader: 'url-loader',
|
|
64
|
-
options: {
|
|
65
|
-
limit: 10000,
|
|
66
|
-
name: utils.assetsPath('media/[name].[hash:7].[ext]')
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
|
|
71
|
-
loader: 'url-loader',
|
|
72
|
-
options: {
|
|
73
|
-
limit: 10000,
|
|
74
|
-
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
]
|
|
78
|
-
},
|
|
79
|
-
node: {
|
|
80
|
-
// prevent webpack from injecting useless setImmediate polyfill because Vue
|
|
81
|
-
// source contains it (although only uses it if it's native).
|
|
82
|
-
setImmediate: false,
|
|
83
|
-
// prevent webpack from injecting mocks to Node native modules
|
|
84
|
-
// that does not make sense for the client
|
|
85
|
-
dgram: 'empty',
|
|
86
|
-
fs: 'empty',
|
|
87
|
-
net: 'empty',
|
|
88
|
-
tls: 'empty',
|
|
89
|
-
child_process: 'empty'
|
|
90
|
-
}
|
|
91
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
const utils = require('./utils')
|
|
3
|
-
const webpack = require('webpack')
|
|
4
|
-
const config = require('../config')
|
|
5
|
-
const merge = require('webpack-merge')
|
|
6
|
-
const path = require('path')
|
|
7
|
-
const baseWebpackConfig = require('./webpack.base.conf')
|
|
8
|
-
const CopyWebpackPlugin = require('copy-webpack-plugin')
|
|
9
|
-
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
|
10
|
-
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
|
|
11
|
-
const portfinder = require('portfinder')
|
|
12
|
-
|
|
13
|
-
const HOST = process.env.HOST
|
|
14
|
-
const PORT = process.env.PORT && Number(process.env.PORT)
|
|
15
|
-
|
|
16
|
-
const devWebpackConfig = merge(baseWebpackConfig, {
|
|
17
|
-
module: {
|
|
18
|
-
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
|
|
19
|
-
},
|
|
20
|
-
// cheap-module-eval-source-map is faster for development
|
|
21
|
-
devtool: config.dev.devtool,
|
|
22
|
-
|
|
23
|
-
// these devServer options should be customized in /config/index.js
|
|
24
|
-
devServer: {
|
|
25
|
-
clientLogLevel: 'warning',
|
|
26
|
-
historyApiFallback: {
|
|
27
|
-
rewrites: [
|
|
28
|
-
{ from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
|
|
29
|
-
],
|
|
30
|
-
},
|
|
31
|
-
hot: true,
|
|
32
|
-
contentBase: false, // since we use CopyWebpackPlugin.
|
|
33
|
-
compress: true,
|
|
34
|
-
host: HOST || config.dev.host,
|
|
35
|
-
port: PORT || config.dev.port,
|
|
36
|
-
open: config.dev.autoOpenBrowser,
|
|
37
|
-
overlay: config.dev.errorOverlay
|
|
38
|
-
? { warnings: false, errors: true }
|
|
39
|
-
: false,
|
|
40
|
-
publicPath: config.dev.assetsPublicPath,
|
|
41
|
-
proxy: config.dev.proxyTable,
|
|
42
|
-
quiet: true, // necessary for FriendlyErrorsPlugin
|
|
43
|
-
watchOptions: {
|
|
44
|
-
poll: config.dev.poll,
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
plugins: [
|
|
48
|
-
new webpack.DefinePlugin({
|
|
49
|
-
'process.env': require('../config/dev.env')
|
|
50
|
-
}),
|
|
51
|
-
new webpack.HotModuleReplacementPlugin(),
|
|
52
|
-
new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
|
|
53
|
-
new webpack.NoEmitOnErrorsPlugin(),
|
|
54
|
-
// https://github.com/ampedandwired/html-webpack-plugin
|
|
55
|
-
new HtmlWebpackPlugin({
|
|
56
|
-
filename: 'index.html',
|
|
57
|
-
template: 'index.html',
|
|
58
|
-
inject: true
|
|
59
|
-
}),
|
|
60
|
-
// copy custom static assets
|
|
61
|
-
new CopyWebpackPlugin([
|
|
62
|
-
{
|
|
63
|
-
from: path.resolve(__dirname, '../static'),
|
|
64
|
-
to: config.dev.assetsSubDirectory,
|
|
65
|
-
ignore: ['.*']
|
|
66
|
-
}
|
|
67
|
-
])
|
|
68
|
-
]
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
module.exports = new Promise((resolve, reject) => {
|
|
72
|
-
portfinder.basePort = process.env.PORT || config.dev.port
|
|
73
|
-
portfinder.getPort((err, port) => {
|
|
74
|
-
if (err) {
|
|
75
|
-
reject(err)
|
|
76
|
-
} else {
|
|
77
|
-
// publish the new Port, necessary for e2e tests
|
|
78
|
-
process.env.PORT = port
|
|
79
|
-
// add port to devServer config
|
|
80
|
-
devWebpackConfig.devServer.port = port
|
|
81
|
-
|
|
82
|
-
// Add FriendlyErrorsPlugin
|
|
83
|
-
devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
|
|
84
|
-
compilationSuccessInfo: {
|
|
85
|
-
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
|
|
86
|
-
},
|
|
87
|
-
onErrors: config.dev.notifyOnErrors
|
|
88
|
-
? utils.createNotifierCallback()
|
|
89
|
-
: undefined
|
|
90
|
-
}))
|
|
91
|
-
|
|
92
|
-
resolve(devWebpackConfig)
|
|
93
|
-
}
|
|
94
|
-
})
|
|
95
|
-
})
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
const path = require('path')
|
|
3
|
-
const utils = require('./utils')
|
|
4
|
-
const webpack = require('webpack')
|
|
5
|
-
const config = require('../config')
|
|
6
|
-
const merge = require('webpack-merge')
|
|
7
|
-
const baseWebpackConfig = require('./webpack.base.conf')
|
|
8
|
-
const CopyWebpackPlugin = require('copy-webpack-plugin')
|
|
9
|
-
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
|
10
|
-
const ExtractTextPlugin = require('extract-text-webpack-plugin')
|
|
11
|
-
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
|
|
12
|
-
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
|
|
13
|
-
|
|
14
|
-
const env = require('../config/prod.env')
|
|
15
|
-
|
|
16
|
-
const webpackConfig = merge(baseWebpackConfig, {
|
|
17
|
-
module: {
|
|
18
|
-
rules: utils.styleLoaders({
|
|
19
|
-
sourceMap: config.build.productionSourceMap,
|
|
20
|
-
extract: true,
|
|
21
|
-
usePostCSS: true
|
|
22
|
-
})
|
|
23
|
-
},
|
|
24
|
-
devtool: config.build.productionSourceMap ? config.build.devtool : false,
|
|
25
|
-
output: {
|
|
26
|
-
path: config.build.assetsRoot,
|
|
27
|
-
filename: utils.assetsPath('js/[name].[chunkhash].js'),
|
|
28
|
-
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
|
|
29
|
-
},
|
|
30
|
-
plugins: [
|
|
31
|
-
// http://vuejs.github.io/vue-loader/en/workflow/production.html
|
|
32
|
-
new webpack.DefinePlugin({
|
|
33
|
-
'process.env': env
|
|
34
|
-
}),
|
|
35
|
-
new UglifyJsPlugin({
|
|
36
|
-
uglifyOptions: {
|
|
37
|
-
compress: {
|
|
38
|
-
warnings: false
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
sourceMap: config.build.productionSourceMap,
|
|
42
|
-
parallel: true
|
|
43
|
-
}),
|
|
44
|
-
// extract css into its own file
|
|
45
|
-
new ExtractTextPlugin({
|
|
46
|
-
filename: utils.assetsPath('css/[name].[contenthash].css'),
|
|
47
|
-
// Setting the following option to `false` will not extract CSS from codesplit chunks.
|
|
48
|
-
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
|
|
49
|
-
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
|
|
50
|
-
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
|
|
51
|
-
allChunks: true,
|
|
52
|
-
}),
|
|
53
|
-
// Compress extracted CSS. We are using this plugin so that possible
|
|
54
|
-
// duplicated CSS from different components can be deduped.
|
|
55
|
-
new OptimizeCSSPlugin({
|
|
56
|
-
cssProcessorOptions: config.build.productionSourceMap
|
|
57
|
-
? { safe: true, map: { inline: false } }
|
|
58
|
-
: { safe: true }
|
|
59
|
-
}),
|
|
60
|
-
// generate dist index.html with correct asset hash for caching.
|
|
61
|
-
// you can customize output by editing /index.html
|
|
62
|
-
// see https://github.com/ampedandwired/html-webpack-plugin
|
|
63
|
-
new HtmlWebpackPlugin({
|
|
64
|
-
filename: config.build.index,
|
|
65
|
-
template: 'index.html',
|
|
66
|
-
inject: true,
|
|
67
|
-
minify: {
|
|
68
|
-
removeComments: true,
|
|
69
|
-
collapseWhitespace: true,
|
|
70
|
-
removeAttributeQuotes: true
|
|
71
|
-
// more options:
|
|
72
|
-
// https://github.com/kangax/html-minifier#options-quick-reference
|
|
73
|
-
},
|
|
74
|
-
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
|
|
75
|
-
chunksSortMode: 'dependency'
|
|
76
|
-
}),
|
|
77
|
-
// keep module.id stable when vendor modules does not change
|
|
78
|
-
new webpack.HashedModuleIdsPlugin(),
|
|
79
|
-
// enable scope hoisting
|
|
80
|
-
new webpack.optimize.ModuleConcatenationPlugin(),
|
|
81
|
-
// split vendor js into its own file
|
|
82
|
-
new webpack.optimize.CommonsChunkPlugin({
|
|
83
|
-
name: 'vendor',
|
|
84
|
-
minChunks (module) {
|
|
85
|
-
// any required modules inside node_modules are extracted to vendor
|
|
86
|
-
return (
|
|
87
|
-
module.resource &&
|
|
88
|
-
/\.js$/.test(module.resource) &&
|
|
89
|
-
module.resource.indexOf(
|
|
90
|
-
path.join(__dirname, '../node_modules')
|
|
91
|
-
) === 0
|
|
92
|
-
)
|
|
93
|
-
}
|
|
94
|
-
}),
|
|
95
|
-
// extract webpack runtime and module manifest to its own file in order to
|
|
96
|
-
// prevent vendor hash from being updated whenever app bundle is updated
|
|
97
|
-
new webpack.optimize.CommonsChunkPlugin({
|
|
98
|
-
name: 'manifest',
|
|
99
|
-
minChunks: Infinity
|
|
100
|
-
}),
|
|
101
|
-
// This instance extracts shared chunks from code splitted chunks and bundles them
|
|
102
|
-
// in a separate chunk, similar to the vendor chunk
|
|
103
|
-
// see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
|
|
104
|
-
new webpack.optimize.CommonsChunkPlugin({
|
|
105
|
-
name: 'app',
|
|
106
|
-
async: 'vendor-async',
|
|
107
|
-
children: true,
|
|
108
|
-
minChunks: 3
|
|
109
|
-
}),
|
|
110
|
-
|
|
111
|
-
// copy custom static assets
|
|
112
|
-
new CopyWebpackPlugin([
|
|
113
|
-
{
|
|
114
|
-
from: path.resolve(__dirname, '../static'),
|
|
115
|
-
to: config.build.assetsSubDirectory,
|
|
116
|
-
ignore: ['.*']
|
|
117
|
-
}
|
|
118
|
-
])
|
|
119
|
-
]
|
|
120
|
-
})
|
|
121
|
-
|
|
122
|
-
if (config.build.productionGzip) {
|
|
123
|
-
const CompressionWebpackPlugin = require('compression-webpack-plugin')
|
|
124
|
-
|
|
125
|
-
webpackConfig.plugins.push(
|
|
126
|
-
new CompressionWebpackPlugin({
|
|
127
|
-
asset: '[path].gz[query]',
|
|
128
|
-
algorithm: 'gzip',
|
|
129
|
-
test: new RegExp(
|
|
130
|
-
'\\.(' +
|
|
131
|
-
config.build.productionGzipExtensions.join('|') +
|
|
132
|
-
')$'
|
|
133
|
-
),
|
|
134
|
-
threshold: 10240,
|
|
135
|
-
minRatio: 0.8
|
|
136
|
-
})
|
|
137
|
-
)
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
if (config.build.bundleAnalyzerReport) {
|
|
141
|
-
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
|
|
142
|
-
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
module.exports = webpackConfig
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
// Template version: 1.3.1
|
|
3
|
-
// see http://vuejs-templates.github.io/webpack for documentation.
|
|
4
|
-
|
|
5
|
-
const path = require('path')
|
|
6
|
-
|
|
7
|
-
module.exports = {
|
|
8
|
-
dev: {
|
|
9
|
-
|
|
10
|
-
// Paths
|
|
11
|
-
assetsSubDirectory: 'static',
|
|
12
|
-
assetsPublicPath: '/',
|
|
13
|
-
proxyTable: {},
|
|
14
|
-
|
|
15
|
-
// Various Dev Server settings
|
|
16
|
-
host: 'localhost', // can be overwritten by process.env.HOST
|
|
17
|
-
port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
|
|
18
|
-
autoOpenBrowser: false,
|
|
19
|
-
errorOverlay: true,
|
|
20
|
-
notifyOnErrors: true,
|
|
21
|
-
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
|
|
22
|
-
|
|
23
|
-
// Use Eslint Loader?
|
|
24
|
-
// If true, your code will be linted during bundling and
|
|
25
|
-
// linting errors and warnings will be shown in the console.
|
|
26
|
-
useEslint: true,
|
|
27
|
-
// If true, eslint errors and warnings will also be shown in the error overlay
|
|
28
|
-
// in the browser.
|
|
29
|
-
showEslintErrorsInOverlay: false,
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Source Maps
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
// https://webpack.js.org/configuration/devtool/#development
|
|
36
|
-
devtool: 'cheap-module-eval-source-map',
|
|
37
|
-
|
|
38
|
-
// If you have problems debugging vue-files in devtools,
|
|
39
|
-
// set this to false - it *may* help
|
|
40
|
-
// https://vue-loader.vuejs.org/en/options.html#cachebusting
|
|
41
|
-
cacheBusting: true,
|
|
42
|
-
|
|
43
|
-
cssSourceMap: true
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
build: {
|
|
47
|
-
// Template for index.html
|
|
48
|
-
index: path.resolve(__dirname, '../dist/index.html'),
|
|
49
|
-
|
|
50
|
-
// Paths
|
|
51
|
-
assetsRoot: path.resolve(__dirname, '../dist'),
|
|
52
|
-
assetsSubDirectory: 'static',
|
|
53
|
-
assetsPublicPath: '/',
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Source Maps
|
|
57
|
-
*/
|
|
58
|
-
|
|
59
|
-
productionSourceMap: true,
|
|
60
|
-
// https://webpack.js.org/configuration/devtool/#production
|
|
61
|
-
devtool: '#source-map',
|
|
62
|
-
|
|
63
|
-
// Gzip off by default as many popular static hosts such as
|
|
64
|
-
// Surge or Netlify already gzip all static assets for you.
|
|
65
|
-
// Before setting to `true`, make sure to:
|
|
66
|
-
// npm install --save-dev compression-webpack-plugin
|
|
67
|
-
productionGzip: false,
|
|
68
|
-
productionGzipExtensions: ['js', 'css'],
|
|
69
|
-
|
|
70
|
-
// Run the build command with an extra argument to
|
|
71
|
-
// View the bundle analyzer report after build finishes:
|
|
72
|
-
// `npm run build --report`
|
|
73
|
-
// Set to `true` or `false` to always turn it on or off
|
|
74
|
-
bundleAnalyzerReport: process.env.npm_config_report
|
|
75
|
-
}
|
|
76
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
|
6
|
-
<title>vue-cli-webpack</title>
|
|
7
|
-
<link href="https://static.fontawesome.com/css/fontawesome-app.css" rel="stylesheet">
|
|
8
|
-
</head>
|
|
9
|
-
<body>
|
|
10
|
-
<div id="app"></div>
|
|
11
|
-
<!-- built files will be auto injected -->
|
|
12
|
-
</body>
|
|
13
|
-
</html>
|