From 282af45d3888bd4885f5a4eaaa1f6b05e5e64cb4 Mon Sep 17 00:00:00 2001 From: alari Date: Tue, 30 Jan 2018 11:16:03 +0300 Subject: [PATCH] favicon --- .gitignore | 2 + assets/templates/helpers/favicon.pug | 2 +- config/webpack.dev.config.js | 6 ++ config/webpack.prod.config.js | 6 ++ package-lock.json | 94 ++++++++++++++++++++++++++++ package.json | 1 + 6 files changed, 110 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 7e85778..c511fb1 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,5 @@ typings/ app/ app.zip .DS_Store +.idea +*.iml \ No newline at end of file diff --git a/assets/templates/helpers/favicon.pug b/assets/templates/helpers/favicon.pug index 5486fad..a591f07 100644 --- a/assets/templates/helpers/favicon.pug +++ b/assets/templates/helpers/favicon.pug @@ -1 +1 @@ -//- favicons \ No newline at end of file +link(rel="icon" type="image/png" href="/static/favicon.png") diff --git a/config/webpack.dev.config.js b/config/webpack.dev.config.js index 55906cb..3466349 100644 --- a/config/webpack.dev.config.js +++ b/config/webpack.dev.config.js @@ -4,6 +4,7 @@ const path = require('path'); const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const ExtractTextPlugin = require("extract-text-webpack-plugin"); +const CopyWebpackPlugin = require('copy-webpack-plugin'); const extractSass = new ExtractTextPlugin({ filename: "[name].css", @@ -87,6 +88,11 @@ module.exports = { template: path.resolve(__dirname, '../assets/templates/about.pug') }), + new CopyWebpackPlugin([{ + from: path.resolve(__dirname, '../assets/img/favicon.png'), + to: "static/favicon.png" + }]), + extractSass ], diff --git a/config/webpack.prod.config.js b/config/webpack.prod.config.js index f353ac6..69beb3d 100644 --- a/config/webpack.prod.config.js +++ b/config/webpack.prod.config.js @@ -4,6 +4,7 @@ const path = require('path'); const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const ExtractTextPlugin = require("extract-text-webpack-plugin"); +const CopyWebpackPlugin = require('copy-webpack-plugin'); const extractSass = new ExtractTextPlugin({ filename: "[name].[hash:10].css", @@ -87,6 +88,11 @@ module.exports = { template: path.resolve(__dirname, '../assets/templates/about.pug') }), + new CopyWebpackPlugin([{ + from: path.resolve(__dirname, '../assets/img/favicon.png'), + to: "static/favicon.png" + }]), + new UglifyJSPlugin({ sourceMap: false }), extractSass, diff --git a/package-lock.json b/package-lock.json index 4738b97..2df4923 100644 --- a/package-lock.json +++ b/package-lock.json @@ -253,6 +253,12 @@ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", "dev": true }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -1847,6 +1853,67 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, + "copy-webpack-plugin": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.3.1.tgz", + "integrity": "sha512-xlcFiW/U7KrpS6dFuWq3r8Wb7koJx7QVc7LDFCosqkikaVSxkaYOnwDLwilbjrszZ0LYZXThDAJKcQCSrvdShQ==", + "dev": true, + "requires": { + "cacache": "10.0.2", + "find-cache-dir": "1.0.0", + "globby": "7.1.1", + "is-glob": "4.0.0", + "loader-utils": "0.2.17", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "p-limit": "1.2.0", + "pify": "3.0.0", + "serialize-javascript": "1.4.0" + }, + "dependencies": { + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.2", + "ignore": "3.3.7", + "pify": "3.0.0", + "slash": "1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, "core-js": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", @@ -2422,6 +2489,27 @@ "randombytes": "2.0.6" } }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "path-type": "3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + } + } + }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -4808,6 +4896,12 @@ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true }, + "ignore": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "dev": true + }, "import-local": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", diff --git a/package.json b/package.json index c98dea1..e00223b 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "babel-core": "^6.26.0", "babel-loader": "^7.1.2", "babel-preset-es2015": "^6.24.1", + "copy-webpack-plugin": "^4.3.1", "cross-env": "^5.1.3", "css-loader": "^0.28.9", "extract-text-webpack-plugin": "^3.0.2",