You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					58 lines
				
				1.7 KiB
			
		
		
			
		
	
	
					58 lines
				
				1.7 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", {
							 | 
						||
| 
								 | 
							
								    value: true
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _postcss = require('postcss');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _has = require('has');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _has2 = _interopRequireDefault(_has);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _browserslist = require('browserslist');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _browserslist2 = _interopRequireDefault(_browserslist);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _caniuseApi = require('caniuse-api');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _fromInitial = require('../data/fromInitial.json');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _fromInitial2 = _interopRequireDefault(_fromInitial);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _toInitial = require('../data/toInitial.json');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _toInitial2 = _interopRequireDefault(_toInitial);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const initial = 'initial';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.default = (0, _postcss.plugin)('postcss-reduce-initial', () => {
							 | 
						||
| 
								 | 
							
								    return (css, result) => {
							 | 
						||
| 
								 | 
							
								        const resultOpts = result.opts || {};
							 | 
						||
| 
								 | 
							
								        const browsers = (0, _browserslist2.default)(null, {
							 | 
						||
| 
								 | 
							
								            stats: resultOpts.stats,
							 | 
						||
| 
								 | 
							
								            path: __dirname,
							 | 
						||
| 
								 | 
							
								            env: resultOpts.env
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        const initialSupport = (0, _caniuseApi.isSupported)('css-initial-value', browsers);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        css.walkDecls(decl => {
							 | 
						||
| 
								 | 
							
								            const lowerCasedProp = decl.prop.toLowerCase();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (initialSupport && (0, _has2.default)(_toInitial2.default, lowerCasedProp) && decl.value.toLowerCase() === _toInitial2.default[lowerCasedProp]) {
							 | 
						||
| 
								 | 
							
								                decl.value = initial;
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (decl.value.toLowerCase() !== initial || !_fromInitial2.default[lowerCasedProp]) {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            decl.value = _fromInitial2.default[lowerCasedProp];
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								module.exports = exports['default'];
							 |