diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:38:48 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 21:53:09 +0800 |
| commit | 26105034da4fcce7ac883c899d781f016559310d (patch) | |
| tree | c459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/cssnano/dist/lib/core.js | |
| parent | 2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff) | |
| download | xmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip | |
switch to vuepress
Diffstat (limited to 'node_modules/cssnano/dist/lib/core.js')
| -rw-r--r-- | node_modules/cssnano/dist/lib/core.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/node_modules/cssnano/dist/lib/core.js b/node_modules/cssnano/dist/lib/core.js new file mode 100644 index 00000000..bbf393d4 --- /dev/null +++ b/node_modules/cssnano/dist/lib/core.js @@ -0,0 +1,46 @@ +'use strict'; + +exports.__esModule = true; + +var _postcss = require('postcss'); + +var atrule = 'atrule'; +var decl = 'decl'; +var rule = 'rule'; + +function minimiseWhitespace(node) { + var type = node.type; + + if (~[decl, rule, atrule].indexOf(type) && node.raws.before) { + node.raws.before = node.raws.before.replace(/\s/g, ''); + } + if (type === decl) { + // Ensure that !important values do not have any excess whitespace + if (node.important) { + node.raws.important = '!important'; + } + // Remove whitespaces around ie 9 hack + node.value = node.value.replace(/\s*(\\9)\s*/, '$1'); + // Remove extra semicolons and whitespace before the declaration + if (node.raws.before) { + var prev = node.prev(); + if (prev && prev.type !== rule) { + node.raws.before = node.raws.before.replace(/;/g, ''); + } + } + node.raws.between = ':'; + node.raws.semicolon = false; + } else if (type === rule || type === atrule) { + node.raws.between = node.raws.after = ''; + node.raws.semicolon = false; + } +} + +exports.default = (0, _postcss.plugin)('cssnano-core', function () { + return function (css) { + css.walk(minimiseWhitespace); + // Remove final newline + css.raws.after = ''; + }; +}); +module.exports = exports['default'];
\ No newline at end of file |
