Created
April 14, 2020 16:54
-
-
Save studentIvan/509db912940d9cef3045f73f3540cf36 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* eslint-disable */ | |
var loaderUtils = require('loader-utils'); | |
/** | |
* getLocalIdent function for preact-css-modules | |
* do (null, null, className) for manual use | |
*/ | |
var getLocalIdent = (context, localIdentName, localName, options) => { | |
var result = localName; | |
/** exclude some classNames */ | |
var cnstClasses = ['animated', 'fadeIn', 'fadeInDown', 'fadeInLeft', 'fadeInRight', 'fadeInUp', | |
'fadeOut', 'fadeOutDown', 'fadeOutLeft', 'slideInDown', 'slideInLeft', 'slideInRight', 'flash', | |
'slideInUp', 'slideOutDown', 'slideOutLeft', 'slideOutRight', 'slideOutUp', | |
'heading', 'time', 'date', 'icon', 'content', 'comment', 'text', 'hashtags', 'actions', 'sizes', | |
'fitanalytics__button-text', 'button', 'image', 'author', 'username', 'bold', 'icon-comment', | |
'ellipsis', 'no-js', 'lazy', 'montec' | |
]; | |
var countriesClasses = ['at','ca','de','eu','fi','fr','it','no','se','uk','us','ch','nl','es','da','dk','pl','be','be-fr', 'rs-flag']; | |
var exludedClasses = cnstClasses.concat(countriesClasses); | |
var isLegal = exludedClasses.indexOf(result) !== -1; | |
var isUserCommunication = result.indexOf('lc-') !== -1; | |
var isRSFont = result.indexOf('clothes-') !== -1; | |
var isVirtualized = result.indexOf('ReactVirtualized__') !== -1; | |
var isDropdown = result.indexOf('Dropdown-') !== -1; | |
if (!isDropdown && !isUserCommunication && !isRSFont && !isVirtualized && !isLegal) { | |
var digestString = loaderUtils.getHashDigest(Buffer.from(localName, 'utf8'), 'sha512', 'base64', 4); | |
if (/[0-9]/.test(digestString[0])) { | |
var fixedChar = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k'][+digestString[0]]; | |
digestString = fixedChar + digestString.substr(1); | |
} | |
var PRODUCTION_MODE = process.env.NODE_ENV !== 'development' && process.env.NODE_ENV !== 'test'; | |
result = !PRODUCTION_MODE ? localName : `${ digestString }`; | |
} | |
return result; | |
}; | |
module.exports = getLocalIdent; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment