| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- module.exports = function postcssPrefixSelector(options) {
 
-   const prefix = options.prefix;
 
-   const prefixWithSpace = /\s+$/.test(prefix) ? prefix : `${prefix} `;
 
-   const ignoreFiles = options.ignoreFiles ? [].concat(options.ignoreFiles) : [];
 
-   const includeFiles = options.includeFiles
 
-     ? [].concat(options.includeFiles)
 
-     : [];
 
-   return function (root) {
 
-     if (
 
-       ignoreFiles.length &&
 
-       root.source.input.file &&
 
-       isFileInArray(root.source.input.file, ignoreFiles)
 
-     ) {
 
-       return;
 
-     }
 
-     if (
 
-       includeFiles.length &&
 
-       root.source.input.file &&
 
-       !isFileInArray(root.source.input.file, includeFiles)
 
-     ) {
 
-       return;
 
-     }
 
-     root.walkRules((rule) => {
 
-       const keyframeRules = [
 
-         'keyframes',
 
-         '-webkit-keyframes',
 
-         '-moz-keyframes',
 
-         '-o-keyframes',
 
-         '-ms-keyframes',
 
-       ];
 
-       if (rule.parent && keyframeRules.includes(rule.parent.name)) {
 
-         return;
 
-       }
 
-       rule.selectors = rule.selectors.map((selector) => {
 
-         if (options.exclude && excludeSelector(selector, options.exclude)) {
 
-           return selector;
 
-         }
 
-         if (options.transform) {
 
-           return options.transform(
 
-             prefix,
 
-             selector,
 
-             prefixWithSpace + selector,
 
-             root.source.input.file,
 
-             rule
 
-           );
 
-         }
 
-         return prefixWithSpace + selector;
 
-       });
 
-     });
 
-   };
 
- };
 
- function isFileInArray(file, arr) {
 
-   return arr.some((ruleOrString) => {
 
-     if (ruleOrString instanceof RegExp) {
 
-       return ruleOrString.test(file);
 
-     }
 
-     return file.includes(ruleOrString);
 
-   });
 
- }
 
- function excludeSelector(selector, excludeArr) {
 
-   return excludeArr.some((excludeRule) => {
 
-     if (excludeRule instanceof RegExp) {
 
-       return excludeRule.test(selector);
 
-     }
 
-     return selector === excludeRule;
 
-   });
 
- }
 
 
  |