postcss-reduce-idents
Advanced tools
Comparing version 2.4.0 to 4.0.0-nightly.2020.7.24
@@ -1,62 +0,43 @@ | ||
'use strict'; | ||
"use strict"; | ||
exports.__esModule = true; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = void 0; | ||
var _postcss = require('postcss'); | ||
var _postcss = _interopRequireDefault(require("postcss")); | ||
var _postcss2 = _interopRequireDefault(_postcss); | ||
var _encode = _interopRequireDefault(require("./lib/encode")); | ||
var _encode = require('./lib/encode'); | ||
var _counter = _interopRequireDefault(require("./lib/counter")); | ||
var _encode2 = _interopRequireDefault(_encode); | ||
var _counterStyle = _interopRequireDefault(require("./lib/counter-style")); | ||
var _counter = require('./lib/counter'); | ||
var _keyframes = _interopRequireDefault(require("./lib/keyframes")); | ||
var _counter2 = _interopRequireDefault(_counter); | ||
var _gridTemplate = _interopRequireDefault(require("./lib/grid-template")); | ||
var _counterStyle = require('./lib/counter-style'); | ||
var _counterStyle2 = _interopRequireDefault(_counterStyle); | ||
var _keyframes = require('./lib/keyframes'); | ||
var _keyframes2 = _interopRequireDefault(_keyframes); | ||
var _gridTemplate = require('./lib/grid-template'); | ||
var _gridTemplate2 = _interopRequireDefault(_gridTemplate); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
exports.default = _postcss2.default.plugin('postcss-reduce-idents', function () { | ||
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, | ||
_ref$counter = _ref.counter, | ||
counter = _ref$counter === undefined ? true : _ref$counter, | ||
_ref$counterStyle = _ref.counterStyle, | ||
counterStyle = _ref$counterStyle === undefined ? true : _ref$counterStyle, | ||
_ref$keyframes = _ref.keyframes, | ||
keyframes = _ref$keyframes === undefined ? true : _ref$keyframes, | ||
_ref$gridTemplate = _ref.gridTemplate, | ||
gridTemplate = _ref$gridTemplate === undefined ? true : _ref$gridTemplate, | ||
_ref$encoder = _ref.encoder, | ||
encoder = _ref$encoder === undefined ? _encode2.default : _ref$encoder; | ||
var _default = _postcss.default.plugin('postcss-reduce-idents', ({ | ||
counter = true, | ||
counterStyle = true, | ||
keyframes = true, | ||
gridTemplate = true, | ||
encoder = _encode.default | ||
} = {}) => { | ||
const reducers = []; | ||
counter && reducers.push((0, _counter.default)()); | ||
counterStyle && reducers.push((0, _counterStyle.default)()); | ||
keyframes && reducers.push((0, _keyframes.default)()); | ||
gridTemplate && reducers.push((0, _gridTemplate.default)()); | ||
return css => { | ||
css.walk(node => { | ||
reducers.forEach(reducer => reducer.collect(node, encoder)); | ||
}); | ||
reducers.forEach(reducer => reducer.transform()); | ||
}; | ||
}); | ||
var reducers = []; | ||
counter && reducers.push(_counter2.default); | ||
counterStyle && reducers.push(_counterStyle2.default); | ||
keyframes && reducers.push(_keyframes2.default); | ||
gridTemplate && reducers.push(_gridTemplate2.default); | ||
return function (css) { | ||
css.walk(function (node) { | ||
reducers.forEach(function (reducer) { | ||
return reducer.collect(node, encoder); | ||
}); | ||
}); | ||
reducers.forEach(function (reducer) { | ||
return reducer.transform(); | ||
}); | ||
}; | ||
}); | ||
module.exports = exports['default']; | ||
exports.default = _default; | ||
module.exports = exports.default; |
"use strict"; | ||
exports.__esModule = true; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = _default; | ||
exports.default = function (value, encoder, cache) { | ||
if (cache[value]) { | ||
return; | ||
} | ||
cache[value] = { | ||
ident: encoder(value, Object.keys(cache).length), | ||
count: 0 | ||
}; | ||
}; | ||
function _default(value, encoder, cache) { | ||
if (cache[value]) { | ||
return; | ||
} | ||
module.exports = exports["default"]; | ||
cache[value] = { | ||
ident: encoder(value, Object.keys(cache).length), | ||
count: 0 | ||
}; | ||
} | ||
module.exports = exports.default; |
"use strict"; | ||
exports.__esModule = true; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = _default; | ||
var _postcssValueParser = require("postcss-value-parser"); | ||
var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser")); | ||
var _postcssValueParser2 = _interopRequireDefault(_postcssValueParser); | ||
var _cache = _interopRequireDefault(require("./cache")); | ||
var _cache = require("./cache"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var _cache2 = _interopRequireDefault(_cache); | ||
const RESERVED_KEYWORDS = ['unset', 'initial', 'inherit', 'none', 'inline', 'outside', 'disc', 'circle', 'square', 'decimal', 'cjk-decimal', 'decimal-leading-zero', 'lower-roman', 'upper-roman', 'lower-greek', 'lower-alpha', 'lower-latin', 'upper-alpha', 'upper-latin', 'arabic-indic', 'armenian', 'bengali', 'cambodian', 'cjk-earthly-branch', 'cjk-heavenly-stem', 'cjk-ideographic', 'devanagari', 'ethiopic-numeric', 'georgian', 'gujarati', 'gurmukhi', 'hebrew', 'hiragana', 'hiragana-iroha', 'japanese-formal', 'japanese-informal', 'kannada', 'katakana', 'katakana-iroha', 'khmer', 'korean-hangul-formal', 'korean-hanja-formal', 'korean-hanja-informal', 'lao', 'lower-armenian', 'malayalam', 'mongolian', 'myanmar', 'oriya', 'persian', 'simp-chinese-formal', 'simp-chinese-informal', 'tamil', 'telugu', 'thai', 'tibetan', 'trad-chinese-formal', 'trad-chinese-informal', 'upper-armenian', 'disclosure-open', 'disclosure-close']; | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _default() { | ||
let cache = {}; | ||
let atRules = []; | ||
let decls = []; | ||
return { | ||
collect(node, encoder) { | ||
const { | ||
name, | ||
prop, | ||
type | ||
} = node; | ||
var RESERVED_KEYWORDS = ["unset", "initial", "inherit", "none", "inline", "outside", "disc", "circle", "square", "decimal", "cjk-decimal", "decimal-leading-zero", "lower-roman", "upper-roman", "lower-greek", "lower-alpha", "lower-latin", "upper-alpha", "upper-latin", "arabic-indic", "armenian", "bengali", "cambodian", "cjk-earthly-branch", "cjk-heavenly-stem", "cjk-ideographic", "devanagari", "ethiopic-numeric", "georgian", "gujarati", "gurmukhi", "hebrew", "hiragana", "hiragana-iroha", "japanese-formal", "japanese-informal", "kannada", "katakana", "katakana-iroha", "khmer", "korean-hangul-formal", "korean-hanja-formal", "korean-hanja-informal", "lao", "lower-armenian", "malayalam", "mongolian", "myanmar", "oriya", "persian", "simp-chinese-formal", "simp-chinese-informal", "tamil", "telugu", "thai", "tibetan", "trad-chinese-formal", "trad-chinese-informal", "upper-armenian", "disclosure-open", "disclosure-close"]; | ||
if (type === 'atrule' && /counter-style/i.test(name) && RESERVED_KEYWORDS.indexOf(node.params.toLowerCase()) === -1) { | ||
(0, _cache.default)(node.params, encoder, cache); | ||
atRules.push(node); | ||
} | ||
var cache = {}; | ||
var atRules = []; | ||
var decls = []; | ||
if (type === 'decl' && /(list-style|system)/i.test(prop)) { | ||
decls.push(node); | ||
} | ||
}, | ||
exports.default = { | ||
collect: function collect(node, encoder) { | ||
var name = node.name, | ||
prop = node.prop, | ||
type = node.type; | ||
transform() { | ||
// Iterate each property and change their names | ||
decls.forEach(decl => { | ||
decl.value = (0, _postcssValueParser.default)(decl.value).walk(node => { | ||
if (node.type === 'word' && node.value in cache) { | ||
cache[node.value].count++; | ||
node.value = cache[node.value].ident; | ||
} | ||
}).toString(); | ||
}); // Iterate each at rule and change their name if references to them have been found | ||
atRules.forEach(rule => { | ||
const cached = cache[rule.params]; | ||
if (type === 'atrule' && /counter-style/.test(name) && RESERVED_KEYWORDS.indexOf(node.params) === -1) { | ||
(0, _cache2.default)(node.params, encoder, cache); | ||
atRules.push(node); | ||
if (cached && cached.count > 0) { | ||
rule.params = cached.ident; | ||
} | ||
}); // reset cache after transform | ||
if (type === 'decl' && /(list-style|system)/.test(prop)) { | ||
decls.push(node); | ||
} | ||
}, | ||
transform: function transform() { | ||
// Iterate each property and change their names | ||
decls.forEach(function (decl) { | ||
decl.value = (0, _postcssValueParser2.default)(decl.value).walk(function (node) { | ||
if (node.type === 'word' && node.value in cache) { | ||
cache[node.value].count++; | ||
node.value = cache[node.value].ident; | ||
} else if (node.type === 'space') { | ||
node.value = ' '; | ||
} else if (node.type === 'div') { | ||
node.before = node.after = ''; | ||
} | ||
}).toString(); | ||
}); | ||
// Iterate each at rule and change their name if references to them have been found | ||
atRules.forEach(function (rule) { | ||
var cached = cache[rule.params]; | ||
if (cached && cached.count > 0) { | ||
rule.params = cached.ident; | ||
} | ||
}); | ||
atRules = []; | ||
decls = []; | ||
} | ||
// reset cache after transform | ||
cache = {}; | ||
atRules = []; | ||
decls = []; | ||
} | ||
}; | ||
module.exports = exports["default"]; | ||
}; | ||
} | ||
module.exports = exports.default; |
"use strict"; | ||
exports.__esModule = true; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = _default; | ||
var _postcssValueParser = require("postcss-value-parser"); | ||
var _postcssValueParser = _interopRequireWildcard(require("postcss-value-parser")); | ||
var _postcssValueParser2 = _interopRequireDefault(_postcssValueParser); | ||
var _cache = _interopRequireDefault(require("./cache")); | ||
var _cache = require("./cache"); | ||
var _isNum = _interopRequireDefault(require("./isNum")); | ||
var _cache2 = _interopRequireDefault(_cache); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var _isNum = require("./isNum"); | ||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } | ||
var _isNum2 = _interopRequireDefault(_isNum); | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const RESERVED_KEYWORDS = ['unset', 'initial', 'inherit', 'none']; | ||
var RESERVED_KEYWORDS = ["unset", "initial", "inherit", "none"]; | ||
function _default() { | ||
let cache = {}; | ||
let declOneCache = []; | ||
let declTwoCache = []; | ||
return { | ||
collect(node, encoder) { | ||
const { | ||
prop, | ||
type | ||
} = node; | ||
var cache = {}; | ||
var declOneCache = []; | ||
var declTwoCache = []; | ||
if (type !== 'decl') { | ||
return; | ||
} | ||
exports.default = { | ||
collect: function collect(node, encoder) { | ||
var prop = node.prop, | ||
type = node.type; | ||
if (/counter-(reset|increment)/i.test(prop)) { | ||
node.value = (0, _postcssValueParser.default)(node.value).walk(child => { | ||
if (child.type === 'word' && !(0, _isNum.default)(child) && RESERVED_KEYWORDS.indexOf(child.value.toLowerCase()) === -1) { | ||
(0, _cache.default)(child.value, encoder, cache); | ||
child.value = cache[child.value].ident; | ||
} | ||
}); | ||
declOneCache.push(node); | ||
} else if (/content/i.test(prop)) { | ||
declTwoCache.push(node); | ||
} | ||
}, | ||
transform() { | ||
declTwoCache.forEach(decl => { | ||
decl.value = (0, _postcssValueParser.default)(decl.value).walk(node => { | ||
const { | ||
type | ||
} = node; | ||
const value = node.value.toLowerCase(); | ||
if (type !== 'decl') { | ||
return; | ||
} | ||
if (type === 'function' && (value === 'counter' || value === 'counters')) { | ||
(0, _postcssValueParser.walk)(node.nodes, child => { | ||
if (child.type === 'word' && child.value in cache) { | ||
cache[child.value].count++; | ||
child.value = cache[child.value].ident; | ||
} | ||
}); | ||
} | ||
if (/counter-(reset|increment)/.test(prop)) { | ||
node.value = (0, _postcssValueParser2.default)(node.value).walk(function (child) { | ||
if (child.type === 'word' && !(0, _isNum2.default)(child) && RESERVED_KEYWORDS.indexOf(child.value) === -1) { | ||
(0, _cache2.default)(child.value, encoder, cache); | ||
child.value = cache[child.value].ident; | ||
} | ||
if (type === 'space') { | ||
node.value = ' '; | ||
} | ||
if (child.type === 'space') { | ||
child.value = ' '; | ||
} | ||
return false; | ||
}).toString(); | ||
}); | ||
declOneCache.forEach(decl => { | ||
decl.value = decl.value.walk(node => { | ||
if (node.type === 'word' && !(0, _isNum.default)(node)) { | ||
Object.keys(cache).forEach(key => { | ||
const cached = cache[key]; | ||
if (cached.ident === node.value && !cached.count) { | ||
node.value = key; | ||
} | ||
}); | ||
declOneCache.push(node); | ||
} else if (/content/.test(prop)) { | ||
declTwoCache.push(node); | ||
} | ||
}, | ||
transform: function transform() { | ||
declTwoCache.forEach(function (decl) { | ||
decl.value = (0, _postcssValueParser2.default)(decl.value).walk(function (node) { | ||
var type = node.type, | ||
value = node.value; | ||
} | ||
}).toString(); | ||
}); // reset cache after transform | ||
if (type === 'function' && (value === 'counter' || value === 'counters')) { | ||
(0, _postcssValueParser.walk)(node.nodes, function (child) { | ||
if (child.type === 'word' && child.value in cache) { | ||
cache[child.value].count++; | ||
child.value = cache[child.value].ident; | ||
} else if (child.type === 'div') { | ||
child.before = child.after = ''; | ||
} | ||
}); | ||
} | ||
if (type === 'space') { | ||
node.value = ' '; | ||
} | ||
return false; | ||
}).toString(); | ||
}); | ||
declOneCache.forEach(function (decl) { | ||
decl.value = decl.value.walk(function (node) { | ||
if (node.type === 'word' && !(0, _isNum2.default)(node)) { | ||
Object.keys(cache).forEach(function (key) { | ||
var cached = cache[key]; | ||
if (cached.ident === node.value && !cached.count) { | ||
node.value = key; | ||
} | ||
}); | ||
} | ||
}).toString(); | ||
}); | ||
declOneCache = []; | ||
declTwoCache = []; | ||
} | ||
// reset cache after transform | ||
cache = {}; | ||
declOneCache = []; | ||
declTwoCache = []; | ||
} | ||
}; | ||
module.exports = exports["default"]; | ||
}; | ||
} | ||
module.exports = exports.default; |
@@ -1,22 +0,30 @@ | ||
'use strict'; | ||
"use strict"; | ||
exports.__esModule = true; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = encode; | ||
function encode(val, num) { | ||
var base = 52; | ||
var characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; | ||
var character = num % base; | ||
var result = characters[character]; | ||
var remainder = Math.floor(num / base); | ||
if (remainder) { | ||
base = 64; | ||
characters = characters + '0123456789-_'; | ||
while (remainder) { | ||
character = remainder % base; | ||
remainder = Math.floor(remainder / base); | ||
result = result + characters[character]; | ||
} | ||
let base = 52; | ||
let characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; | ||
let character = num % base; | ||
let result = characters[character]; | ||
let remainder = Math.floor(num / base); | ||
if (remainder) { | ||
base = 64; | ||
characters = characters + '0123456789-_'; | ||
while (remainder) { | ||
remainder--; | ||
character = remainder % base; | ||
remainder = Math.floor(remainder / base); | ||
result = result + characters[character]; | ||
} | ||
return result; | ||
}; | ||
module.exports = exports['default']; | ||
} | ||
return result; | ||
} | ||
module.exports = exports.default; |
"use strict"; | ||
exports.__esModule = true; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = _default; | ||
var _postcssValueParser = require("postcss-value-parser"); | ||
var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser")); | ||
var _postcssValueParser2 = _interopRequireDefault(_postcssValueParser); | ||
var _cache = _interopRequireDefault(require("./cache")); | ||
var _cache = require("./cache"); | ||
var _isNum = _interopRequireDefault(require("./isNum")); | ||
var _cache2 = _interopRequireDefault(_cache); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var _isNum = require("./isNum"); | ||
const RESERVED_KEYWORDS = ['auto', 'span', 'inherit', 'initial', 'unset']; | ||
var _isNum2 = _interopRequireDefault(_isNum); | ||
function _default() { | ||
let cache = {}; | ||
let declCache = []; | ||
return { | ||
collect(node, encoder) { | ||
if (node.type !== 'decl') { | ||
return; | ||
} | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
if (/(grid-template|grid-template-areas)/i.test(node.prop)) { | ||
(0, _postcssValueParser.default)(node.value).walk(child => { | ||
if (child.type === 'string') { | ||
child.value.split(/\s+/).forEach(word => { | ||
if (/\.+/.test(word)) { | ||
// reduce empty zones to a single `.` | ||
node.value = node.value.replace(word, '.'); | ||
} else if (word && RESERVED_KEYWORDS.indexOf(word.toLowerCase()) === -1) { | ||
(0, _cache.default)(word, encoder, cache); | ||
} | ||
}); | ||
} | ||
}); | ||
declCache.push(node); | ||
} else if (node.prop.toLowerCase() === 'grid-area') { | ||
(0, _postcssValueParser.default)(node.value).walk(child => { | ||
if (child.type === 'word' && RESERVED_KEYWORDS.indexOf(child.value) === -1) { | ||
(0, _cache.default)(child.value, encoder, cache); | ||
} | ||
}); | ||
declCache.push(node); | ||
} | ||
}, | ||
var RESERVED_KEYWORDS = ["auto", "span", "inherit", "initial", "unset"]; | ||
transform() { | ||
declCache.forEach(decl => { | ||
decl.value = (0, _postcssValueParser.default)(decl.value).walk(node => { | ||
if (/(grid-template|grid-template-areas)/i.test(decl.prop)) { | ||
node.value.split(/\s+/).forEach(word => { | ||
if (word in cache) { | ||
node.value = node.value.replace(word, cache[word].ident); | ||
} | ||
}); | ||
node.value = node.value.replace(/\s+/g, ' '); // merge white-spaces | ||
} | ||
var cache = {}; | ||
var declCache = []; | ||
if (decl.prop.toLowerCase() === 'grid-area' && !(0, _isNum.default)(node)) { | ||
if (node.value in cache) { | ||
node.value = cache[node.value].ident; | ||
} | ||
} | ||
exports.default = { | ||
collect: function collect(node, encoder) { | ||
if (node.type !== 'decl') { | ||
return; | ||
} | ||
return false; | ||
}).toString(); | ||
}); // reset cache after transform | ||
if (/(grid-template|grid-template-areas)/.test(node.prop)) { | ||
(0, _postcssValueParser2.default)(node.value).walk(function (child) { | ||
if (child.type === 'string') { | ||
child.value.split(/\s+/).forEach(function (word) { | ||
if (/\.+/.test(word)) { | ||
// reduce empty zones to a single `.` | ||
node.value = node.value.replace(word, "."); | ||
} else if (word && RESERVED_KEYWORDS.indexOf(word) === -1) { | ||
(0, _cache2.default)(word, encoder, cache); | ||
} | ||
}); | ||
} | ||
}); | ||
declCache.push(node); | ||
} else if (node.prop === 'grid-area') { | ||
(0, _postcssValueParser2.default)(node.value).walk(function (child) { | ||
if (child.type === 'word' && RESERVED_KEYWORDS.indexOf(child.value) === -1) { | ||
(0, _cache2.default)(child.value, encoder, cache); | ||
} | ||
}); | ||
declCache.push(node); | ||
} | ||
}, | ||
transform: function transform() { | ||
declCache.forEach(function (decl) { | ||
decl.value = (0, _postcssValueParser2.default)(decl.value).walk(function (node) { | ||
if (/(grid-template|grid-template-areas)/.test(decl.prop)) { | ||
node.value.split(/\s+/).forEach(function (word) { | ||
if (word in cache) { | ||
node.value = node.value.replace(word, cache[word].ident); | ||
} | ||
}); | ||
node.value = node.value.replace(/\s+/g, " "); // merge white-spaces | ||
} | ||
if (decl.prop === 'grid-area' && !(0, _isNum2.default)(node)) { | ||
if (node.value in cache) { | ||
node.value = cache[node.value].ident; | ||
} | ||
} | ||
return false; | ||
}).toString(); | ||
}); | ||
declCache = []; | ||
} | ||
// reset cache after transform | ||
cache = {}; | ||
declCache = []; | ||
} | ||
}; | ||
module.exports = exports["default"]; | ||
}; | ||
} | ||
module.exports = exports.default; |
"use strict"; | ||
exports.__esModule = true; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = isNum; | ||
@@ -9,4 +11,5 @@ | ||
function isNum(node) { | ||
return (0, _postcssValueParser.unit)(node.value); | ||
return (0, _postcssValueParser.unit)(node.value); | ||
} | ||
module.exports = exports["default"]; | ||
module.exports = exports.default; |
"use strict"; | ||
exports.__esModule = true; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = _default; | ||
var _postcssValueParser = require("postcss-value-parser"); | ||
var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser")); | ||
var _postcssValueParser2 = _interopRequireDefault(_postcssValueParser); | ||
var _cache = _interopRequireDefault(require("./cache")); | ||
var _cache = require("./cache"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var _cache2 = _interopRequireDefault(_cache); | ||
const RESERVED_KEYWORDS = ['none', 'inherit', 'initial', 'unset']; | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _default() { | ||
let cache = {}; | ||
let atRules = []; | ||
let decls = []; | ||
return { | ||
collect(node, encoder) { | ||
const { | ||
name, | ||
prop, | ||
type | ||
} = node; | ||
var RESERVED_KEYWORDS = ["none", "inherit", "initial", "unset"]; | ||
if (type === 'atrule' && /keyframes/i.test(name) && RESERVED_KEYWORDS.indexOf(node.params.toLowerCase()) === -1) { | ||
(0, _cache.default)(node.params, encoder, cache); | ||
atRules.push(node); | ||
} | ||
var cache = {}; | ||
var atRules = []; | ||
var decls = []; | ||
if (type === 'decl' && /animation/i.test(prop)) { | ||
decls.push(node); | ||
} | ||
}, | ||
exports.default = { | ||
collect: function collect(node, encoder) { | ||
var name = node.name, | ||
prop = node.prop, | ||
type = node.type; | ||
transform() { | ||
let referenced = []; // Iterate each property and change their names | ||
decls.forEach(decl => { | ||
decl.value = (0, _postcssValueParser.default)(decl.value).walk(node => { | ||
if (node.type === 'word' && node.value in cache) { | ||
if (!~referenced.indexOf(node.value)) { | ||
referenced.push(node.value); | ||
} | ||
if (type === 'atrule' && /keyframes/.test(name) && RESERVED_KEYWORDS.indexOf(node.params) === -1) { | ||
(0, _cache2.default)(node.params, encoder, cache); | ||
atRules.push(node); | ||
} | ||
cache[node.value].count++; | ||
node.value = cache[node.value].ident; | ||
} | ||
}).toString(); | ||
}); // Iterate each at rule and change their name if references to them have been found | ||
if (type === 'decl' && /animation/.test(prop)) { | ||
decls.push(node); | ||
atRules.forEach(rule => { | ||
const cached = cache[rule.params]; | ||
if (cached && cached.count > 0 && !!~referenced.indexOf(rule.params)) { | ||
rule.params = cached.ident; | ||
} | ||
}, | ||
transform: function transform() { | ||
// Iterate each property and change their names | ||
decls.forEach(function (decl) { | ||
decl.value = (0, _postcssValueParser2.default)(decl.value).walk(function (node) { | ||
if (node.type === 'word' && node.value in cache) { | ||
cache[node.value].count++; | ||
node.value = cache[node.value].ident; | ||
} else if (node.type === 'space') { | ||
node.value = ' '; | ||
} else if (node.type === 'div') { | ||
node.before = node.after = ''; | ||
} | ||
}).toString(); | ||
}); | ||
// Iterate each at rule and change their name if references to them have been found | ||
atRules.forEach(function (rule) { | ||
var cached = cache[rule.params]; | ||
if (cached && cached.count > 0) { | ||
rule.params = cached.ident; | ||
} | ||
}); | ||
}); // reset cache after transform | ||
// reset cache after transform | ||
cache = {}; | ||
atRules = []; | ||
decls = []; | ||
atRules = []; | ||
decls = []; | ||
} | ||
}; | ||
module.exports = exports["default"]; | ||
}; | ||
} | ||
module.exports = exports.default; |
{ | ||
"name": "postcss-reduce-idents", | ||
"version": "2.4.0", | ||
"version": "4.0.0-nightly.2020.7.24", | ||
"description": "Reduce custom identifiers with PostCSS.", | ||
@@ -11,8 +11,5 @@ "main": "dist/index.js", | ||
"scripts": { | ||
"contributorAdd": "all-contributors add", | ||
"contributorGenerate": "all-contributors generate", | ||
"pretest": "eslint src --fix", | ||
"prepublish": "del-cli dist && BABEL_ENV=publish babel src --out-dir dist --ignore /__tests__/", | ||
"test": "ava src/__tests__/*.js", | ||
"test-012": "ava src/__tests__/*.js" | ||
"prebuild": "", | ||
"build": "cross-env BABEL_ENV=publish babel src --config-file ../../babel.config.js --out-dir dist --ignore \"**/__tests__/\"", | ||
"prepublish": "" | ||
}, | ||
@@ -25,19 +22,3 @@ "keywords": [ | ||
"license": "MIT", | ||
"devDependencies": { | ||
"all-contributors-cli": "^3.0.7", | ||
"ava": "^0.17.0", | ||
"babel-cli": "^6.3.17", | ||
"babel-core": "^6.3.26", | ||
"babel-plugin-add-module-exports": "^0.2.1", | ||
"babel-preset-es2015": "^6.3.13", | ||
"babel-preset-es2015-loose": "^7.0.0", | ||
"babel-preset-stage-0": "^6.3.13", | ||
"babel-register": "^6.9.0", | ||
"del-cli": "^0.2.0", | ||
"eslint": "^3.0.0", | ||
"eslint-config-cssnano": "^3.0.0", | ||
"eslint-plugin-babel": "^3.3.0", | ||
"eslint-plugin-import": "^2.0.1" | ||
}, | ||
"homepage": "https://github.com/ben-eb/postcss-reduce-idents", | ||
"homepage": "https://github.com/cssnano/cssnano", | ||
"author": { | ||
@@ -48,13 +29,13 @@ "name": "Ben Briggs", | ||
}, | ||
"repository": "ben-eb/postcss-reduce-idents", | ||
"repository": "cssnano/cssnano", | ||
"dependencies": { | ||
"postcss": "^5.0.4", | ||
"postcss-value-parser": "^3.0.2" | ||
"postcss": "^7.0.16", | ||
"postcss-value-parser": "^3.3.1" | ||
}, | ||
"ava": { | ||
"require": "babel-register" | ||
"bugs": { | ||
"url": "https://github.com/cssnano/cssnano/issues" | ||
}, | ||
"eslintConfig": { | ||
"extends": "cssnano" | ||
"engines": { | ||
"node": ">=6.9.0" | ||
} | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
# [postcss][postcss]-reduce-idents [![Build Status](https://travis-ci.org/ben-eb/postcss-reduce-idents.svg?branch=master)][ci] [![NPM version](https://badge.fury.io/js/postcss-reduce-idents.svg)][npm] [![Dependency Status](https://gemnasium.com/ben-eb/postcss-reduce-idents.svg)][deps] | ||
# [postcss][postcss]-reduce-idents | ||
@@ -73,3 +73,3 @@ > Reduce [custom identifiers][idents] with PostCSS. | ||
It works for `@keyframes`, `@counter-style`, custom `counter` values and grid area definitions. See the | ||
[documentation][idents] for more information, or the [tests](test.js) for more | ||
[documentation][idents] for more information, or the [tests](src/__tests__) for more | ||
examples. | ||
@@ -121,3 +121,3 @@ | ||
Type: `function` | ||
Default: [`lib/encode.js`](https://github.com/ben-eb/postcss-reduce-idents/blob/master/src/lib/encode.js) | ||
Default: [`lib/encode.js`](https://github.com/cssnano/postcss-reduce-idents/blob/master/src/lib/encode.js) | ||
@@ -132,12 +132,5 @@ Pass a custom function to encode the identifier with (e.g.: as a way of prefixing them automatically). | ||
Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)): | ||
See [CONTRIBUTORS.md](https://github.com/cssnano/cssnano/blob/master/CONTRIBUTORS.md). | ||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> | ||
| [<img src="https://avatars.githubusercontent.com/u/1282980?v=3" width="100px;"/><br /><sub>Ben Briggs</sub>](http://beneb.info)<br />[💻](https://github.com/ben-eb/postcss-reduce-idents/commits?author=ben-eb) [📖](https://github.com/ben-eb/postcss-reduce-idents/commits?author=ben-eb) 👀 [⚠️](https://github.com/ben-eb/postcss-reduce-idents/commits?author=ben-eb) | [<img src="https://avatars.githubusercontent.com/u/5635476?v=3" width="100px;"/><br /><sub>Bogdan Chadkin</sub>](https://github.com/TrySound)<br />[⚠️](https://github.com/ben-eb/postcss-reduce-idents/commits?author=TrySound) [💻](https://github.com/ben-eb/postcss-reduce-idents/commits?author=TrySound) | [<img src="https://avatars.githubusercontent.com/u/13041?v=3" width="100px;"/><br /><sub>Guillermo Rauch</sub>](http://twitter.com/rauchg)<br />[💻](https://github.com/ben-eb/postcss-reduce-idents/commits?author=rauchg) [📖](https://github.com/ben-eb/postcss-reduce-idents/commits?author=rauchg) [⚠️](https://github.com/ben-eb/postcss-reduce-idents/commits?author=rauchg) | [<img src="https://avatars.githubusercontent.com/u/566536?v=3" width="100px;"/><br /><sub>Sylvain Pollet-Villard</sub>](https://github.com/sylvainpolletvillard)<br />[💻](https://github.com/ben-eb/postcss-reduce-idents/commits?author=sylvainpolletvillard) [📖](https://github.com/ben-eb/postcss-reduce-idents/commits?author=sylvainpolletvillard) [⚠️](https://github.com/ben-eb/postcss-reduce-idents/commits?author=sylvainpolletvillard) | | ||
| :---: | :---: | :---: | :---: | | ||
<!-- ALL-CONTRIBUTORS-LIST:END --> | ||
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! | ||
## License | ||
@@ -147,7 +140,4 @@ | ||
[idents]: https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident | ||
[ci]: https://travis-ci.org/ben-eb/postcss-reduce-idents | ||
[deps]: https://gemnasium.com/ben-eb/postcss-reduce-idents | ||
[idents]: https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident | ||
[npm]: http://badge.fury.io/js/postcss-reduce-idents | ||
[postcss]: https://github.com/postcss/postcss |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
0
0
17709
11
323
140
2
+ Addedpicocolors@0.2.1(transitive)
+ Addedpostcss@7.0.39(transitive)
+ Addedsource-map@0.6.1(transitive)
- Removedansi-regex@2.1.1(transitive)
- Removedansi-styles@2.2.1(transitive)
- Removedchalk@1.1.3(transitive)
- Removedescape-string-regexp@1.0.5(transitive)
- Removedhas-ansi@2.0.0(transitive)
- Removedhas-flag@1.0.0(transitive)
- Removedjs-base64@2.6.4(transitive)
- Removedpostcss@5.2.18(transitive)
- Removedsource-map@0.5.7(transitive)
- Removedstrip-ansi@3.0.1(transitive)
- Removedsupports-color@2.0.03.2.3(transitive)
Updatedpostcss@^7.0.16
Updatedpostcss-value-parser@^3.3.1