diff --git a/vuejs/package.json b/vuejs/package.json index 66a7ea3..e6e0e8d 100644 --- a/vuejs/package.json +++ b/vuejs/package.json @@ -9,6 +9,7 @@ "test:unit": "vue-cli-service test:unit" }, "dependencies": { + "@fullhuman/postcss-purgecss": "^1.2.0", "axios": "^0.18.0", "core-js": "^2.6.5", "postcss-import": "^12.0.1", diff --git a/vuejs/postcss.config.js b/vuejs/postcss.config.js index 62550eb..89d06ea 100644 --- a/vuejs/postcss.config.js +++ b/vuejs/postcss.config.js @@ -3,6 +3,13 @@ module.exports = { require('postcss-import'), require('tailwindcss'), require('postcss-nested'), - require('autoprefixer') + require('autoprefixer'), + process.env.NODE_ENV === 'production' && require('@fullhuman/postcss-purgecss')({ + content: [ + './src/**/*.vue', + './public/index.html', + ], + defaultExtractor: content => content.match(/[A-Za-z0-9-_:/]+/g) || [] + }) ] } diff --git a/vuejs/yarn.lock b/vuejs/yarn.lock index b8ad1f2..582a644 100644 --- a/vuejs/yarn.lock +++ b/vuejs/yarn.lock @@ -667,6 +667,14 @@ lodash "^4.17.11" to-fast-properties "^2.0.0" +"@fullhuman/postcss-purgecss@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-1.2.0.tgz#a3207a0e1812f8b56fa49fba5796a1020f2756a8" + integrity sha512-An05jbnZVUrX+VVNniaNQtOuo/S7tyQu5x86itXTF+7kfMaGxglFGykFX2KCt2hcbJijbvfCval9IkPO19V1KA== + dependencies: + postcss "^7.0.14" + purgecss "^1.3.0" + "@intervolga/optimize-cssnano-plugin@^1.0.5": version "1.0.6" resolved "https://registry.yarnpkg.com/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8" @@ -7782,6 +7790,16 @@ punycode@^1.2.4, punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= +purgecss@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-1.3.0.tgz#fc3c303df9a74a75547545b2c0da28a9ec63da00" + integrity sha512-0UMnr8aUsPO7RbzAT72UELRvwMHhadtuunDm7rcgRS6b8pCVO8yglIqikiYFwQk2XP606mk+GpjI1G74Auxgtg== + dependencies: + glob "^7.1.3" + postcss "^7.0.14" + postcss-selector-parser "^6.0.0" + yargs "^13.2.2" + q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -9994,6 +10012,14 @@ yargs-parser@^13.1.0: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" @@ -10054,6 +10080,22 @@ yargs@^13.0.0: y18n "^4.0.0" yargs-parser "^13.1.0" +yargs@^13.2.2: + version "13.3.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" + integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.1" + yorkie@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yorkie/-/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9"