@fortawesome/vue-fontawesome 2.0.6 → 2.0.7

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.
Files changed (49) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +6 -6
  3. package/index.es.js +288 -229
  4. package/index.js +636 -577
  5. package/package.json +40 -23
  6. package/src/components/FontAwesomeIcon.js +15 -3
  7. package/src/utils.js +5 -1
  8. package/.babelrc +0 -3
  9. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -24
  10. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  11. package/.github/workflows/ci.yml +0 -31
  12. package/.npmrc.proregistry +0 -2
  13. package/.tool-versions +0 -2
  14. package/CODE_OF_CONDUCT.md +0 -74
  15. package/CONTRIBUTING.md +0 -57
  16. package/DEVELOPMENT.md +0 -44
  17. package/bin/dev +0 -3
  18. package/bin/setup +0 -8
  19. package/examples/vue-cli-webpack/.babelrc +0 -12
  20. package/examples/vue-cli-webpack/.editorconfig +0 -9
  21. package/examples/vue-cli-webpack/.eslintignore +0 -4
  22. package/examples/vue-cli-webpack/.eslintrc.js +0 -29
  23. package/examples/vue-cli-webpack/.postcssrc.js +0 -10
  24. package/examples/vue-cli-webpack/README.md +0 -21
  25. package/examples/vue-cli-webpack/build/build.js +0 -41
  26. package/examples/vue-cli-webpack/build/check-versions.js +0 -54
  27. package/examples/vue-cli-webpack/build/logo.png +0 -0
  28. package/examples/vue-cli-webpack/build/utils.js +0 -101
  29. package/examples/vue-cli-webpack/build/vue-loader.conf.js +0 -22
  30. package/examples/vue-cli-webpack/build/webpack.base.conf.js +0 -91
  31. package/examples/vue-cli-webpack/build/webpack.dev.conf.js +0 -95
  32. package/examples/vue-cli-webpack/build/webpack.prod.conf.js +0 -145
  33. package/examples/vue-cli-webpack/config/dev.env.js +0 -7
  34. package/examples/vue-cli-webpack/config/index.js +0 -76
  35. package/examples/vue-cli-webpack/config/prod.env.js +0 -4
  36. package/examples/vue-cli-webpack/index.html +0 -13
  37. package/examples/vue-cli-webpack/package-lock.json +0 -11632
  38. package/examples/vue-cli-webpack/package.json +0 -77
  39. package/examples/vue-cli-webpack/src/App.vue +0 -66
  40. package/examples/vue-cli-webpack/src/assets/logo.png +0 -0
  41. package/examples/vue-cli-webpack/src/components/HelloWorld.vue +0 -113
  42. package/examples/vue-cli-webpack/src/main.js +0 -28
  43. package/examples/vue-cli-webpack/static/.gitkeep +0 -0
  44. package/rollup.config.js +0 -54
  45. package/src/components/__fixtures__/helpers.js +0 -40
  46. package/src/components/__fixtures__/icons.js +0 -35
  47. package/src/components/__tests__/FontAwesomeIcon.test.js +0 -337
  48. package/src/components/__tests__/FontAwesomeLayers.test.js +0 -55
  49. 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,7 +0,0 @@
1
- 'use strict'
2
- const merge = require('webpack-merge')
3
- const prodEnv = require('./prod.env')
4
-
5
- module.exports = merge(prodEnv, {
6
- NODE_ENV: '"development"'
7
- })
@@ -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,4 +0,0 @@
1
- 'use strict'
2
- module.exports = {
3
- NODE_ENV: '"production"'
4
- }
@@ -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>