From 6494795f81f0537ad7e95b0b68a32ecc71c84093 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 2 Jan 2020 21:23:29 +0800 Subject: [PATCH] feat(cli): use clean-css to minify css --- packages/vant-cli/package.json | 3 +- packages/vant-cli/src/compiler/compile-css.ts | 6 ++-- packages/vant-cli/yarn.lock | 34 +------------------ 3 files changed, 6 insertions(+), 37 deletions(-) diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index 1c821b0ea..057fbfa2b 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -27,7 +27,6 @@ "vue-template-compiler": "^2.6.11" }, "devDependencies": { - "@types/csso": "^3.5.1", "@types/eslint": "^6.1.3", "@types/fs-extra": "^8.0.1", "@types/html-webpack-plugin": "^3.2.1", @@ -66,12 +65,12 @@ "babel-loader": "^8.0.6", "babel-plugin-import": "^1.13.0", "chokidar": "^3.3.1", + "clean-css": "^4.2.1", "codecov": "^3.6.1", "commander": "^4.0.1", "conventional-changelog": "^3.1.18", "cross-env": "^6.0.3", "css-loader": "^3.4.0", - "csso": "^4.0.2", "eslint": "^6.7.2", "find-babel-config": "^1.2.0", "gh-pages": "2.0.1", diff --git a/packages/vant-cli/src/compiler/compile-css.ts b/packages/vant-cli/src/compiler/compile-css.ts index 8faadc51e..591af0f48 100644 --- a/packages/vant-cli/src/compiler/compile-css.ts +++ b/packages/vant-cli/src/compiler/compile-css.ts @@ -1,13 +1,15 @@ import postcss from 'postcss'; import postcssrc from 'postcss-load-config'; -import { minify } from 'csso'; +import CleanCss from 'clean-css'; import { POSTCSS_CONFIG_FILE } from '../common/constant'; +const cleanCss = new CleanCss(); + export async function compileCss(source: string | Buffer) { const config = await postcssrc({}, POSTCSS_CONFIG_FILE); const { css } = await postcss(config.plugins as any).process(source, { from: undefined }); - return minify(css).css; + return cleanCss.minify(css).styles; } diff --git a/packages/vant-cli/yarn.lock b/packages/vant-cli/yarn.lock index 71e4decbe..55d66fbc5 100644 --- a/packages/vant-cli/yarn.lock +++ b/packages/vant-cli/yarn.lock @@ -1276,18 +1276,6 @@ dependencies: "@types/node" "*" -"@types/css-tree@*": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/css-tree/-/css-tree-1.0.3.tgz#69112ebce09f582c9e0f32a46de2598930847cd7" - integrity sha512-ScS4V2j9vL6aMzCIPxJLGKqyslg8zEj+XkzUXCDMHbFftakwEl9WL6RBj3VBTH4O+EVwUM3umZTwu0ZedXyuaA== - -"@types/csso@^3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@types/csso/-/csso-3.5.1.tgz#f923bc919bfc89c1b5d149cff80d7bfb5e8e1e8d" - integrity sha512-NnALC1ZR5H4kg/9wUOa8/U2HOAwN4O71Av90HClgCteuwj6UHBEr37I0Cl10EY2gHd5p/JtsbY2r0WbOhYN+gw== - dependencies: - "@types/css-tree" "*" - "@types/eslint-visitor-keys@^1.0.0": version "1.0.0" resolved "https://registry.npm.taobao.org/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz?cache=0&sync_timestamp=1572470950582&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Feslint-visitor-keys%2Fdownload%2F%40types%2Feslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" @@ -3020,7 +3008,7 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -clean-css@4.2.x: +clean-css@4.2.x, clean-css@^4.2.1: version "4.2.1" resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" integrity sha1-LUEe92uFabbQyEBo2r6FsKpeXBc= @@ -3690,14 +3678,6 @@ css-select@^1.1.0: domutils "1.5.1" nth-check "~1.0.1" -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI= - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - css-what@2.1: version "2.1.3" resolved "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" @@ -3728,13 +3708,6 @@ cssfontparser@^1.2.1: resolved "https://registry.yarnpkg.com/cssfontparser/-/cssfontparser-1.2.1.tgz#f4022fc8f9700c68029d542084afbaf425a3f3e3" integrity sha1-9AIvyPlwDGgCnVQghK+69CWj8+M= -csso@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/csso/download/csso-4.0.2.tgz#e5f81ab3a56b8eefb7f0092ce7279329f454de3d" - integrity sha1-5fgas6Vrju+38Aks5yeTKfRU3j0= - dependencies: - css-tree "1.0.0-alpha.37" - cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.8" resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz?cache=0&sync_timestamp=1573719337707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssom%2Fdownload%2Fcssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" @@ -7484,11 +7457,6 @@ mdast-util-compact@^1.0.0: dependencies: unist-util-visit "^1.1.0" -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz?cache=0&sync_timestamp=1573816302294&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= - mdurl@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/mdurl/download/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"