feat: docker compose maybe
This commit is contained in:
		
							
								
								
									
										10
									
								
								node_modules/vite-plugin-tailwind-purgecss/dist/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								node_modules/vite-plugin-tailwind-purgecss/dist/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
import { Plugin } from 'vite';
 | 
			
		||||
import { UserDefinedOptions, ComplexSafelist } from 'purgecss';
 | 
			
		||||
 | 
			
		||||
type Options = Partial<UserDefinedOptions> & {
 | 
			
		||||
    safelist?: ComplexSafelist;
 | 
			
		||||
};
 | 
			
		||||
type PurgeOptions = Omit<Options, 'css'>;
 | 
			
		||||
declare function purgeCss(purgeOptions?: PurgeOptions): Plugin;
 | 
			
		||||
 | 
			
		||||
export { purgeCss as default, purgeCss };
 | 
			
		||||
							
								
								
									
										228
									
								
								node_modules/vite-plugin-tailwind-purgecss/dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								node_modules/vite-plugin-tailwind-purgecss/dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,228 @@
 | 
			
		||||
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/index.ts
 | 
			
		||||
var _purgecss = require('purgecss');
 | 
			
		||||
 | 
			
		||||
// src/extractors/regex.ts
 | 
			
		||||
var REGEX_SPECIAL = /[\\^$.*+?()[\]{}|]/g;
 | 
			
		||||
var REGEX_HAS_SPECIAL = RegExp(REGEX_SPECIAL.source);
 | 
			
		||||
function toSource(source) {
 | 
			
		||||
  source = Array.isArray(source) ? source : [source];
 | 
			
		||||
  source = source.map((item) => item instanceof RegExp ? item.source : item);
 | 
			
		||||
  return source.join("");
 | 
			
		||||
}
 | 
			
		||||
function pattern(source) {
 | 
			
		||||
  return new RegExp(toSource(source), "g");
 | 
			
		||||
}
 | 
			
		||||
function any(sources) {
 | 
			
		||||
  return `(?:${sources.map(toSource).join("|")})`;
 | 
			
		||||
}
 | 
			
		||||
function optional(source) {
 | 
			
		||||
  return `(?:${toSource(source)})?`;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// src/extractors/default-extractor.ts
 | 
			
		||||
function defaultExtractor() {
 | 
			
		||||
  let patterns = Array.from(buildRegExps());
 | 
			
		||||
  return (content) => {
 | 
			
		||||
    let results = [];
 | 
			
		||||
    for (let pattern2 of patterns) {
 | 
			
		||||
      results = [...results, ..._nullishCoalesce(content.match(pattern2), () => ( []))];
 | 
			
		||||
    }
 | 
			
		||||
    return results.filter((v) => v !== void 0).map(clipAtBalancedParens);
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
function* buildRegExps() {
 | 
			
		||||
  let separator = ":";
 | 
			
		||||
  let prefix = "";
 | 
			
		||||
  let utility = any([
 | 
			
		||||
    /\[[^\s:'"`]+:[^\s\[\]]+\]/,
 | 
			
		||||
    /\[[^\s:'"`]+:[^\s]+?\[[^\s]+\][^\s]+?\]/,
 | 
			
		||||
    pattern([
 | 
			
		||||
      /-?(?:\w+)/,
 | 
			
		||||
      optional(
 | 
			
		||||
        any([
 | 
			
		||||
          pattern([
 | 
			
		||||
            /-(?:\w+-)*\[[^\s:]+\]/,
 | 
			
		||||
            /(?![{([]])/,
 | 
			
		||||
            /(?:\/[^\s'"`\\><$]*)?/
 | 
			
		||||
          ]),
 | 
			
		||||
          pattern([
 | 
			
		||||
            /-(?:\w+-)*\[[^\s]+\]/,
 | 
			
		||||
            /(?![{([]])/,
 | 
			
		||||
            /(?:\/[^\s'"`\\$]*)?/
 | 
			
		||||
          ]),
 | 
			
		||||
          /[-\/][^\s'"`\\$={><]*/
 | 
			
		||||
        ])
 | 
			
		||||
      )
 | 
			
		||||
    ])
 | 
			
		||||
  ]);
 | 
			
		||||
  let variantPatterns = [
 | 
			
		||||
    any([
 | 
			
		||||
      pattern([/@\[[^\s"'`]+\](\/[^\s"'`]+)?/, separator]),
 | 
			
		||||
      pattern([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]/, separator]),
 | 
			
		||||
      pattern([/[^\s"'`\[\\]+/, separator])
 | 
			
		||||
    ]),
 | 
			
		||||
    any([
 | 
			
		||||
      pattern([/([^\s"'`\[\\]+-)?\[[^\s`]+\]/, separator]),
 | 
			
		||||
      pattern([/[^\s`\[\\]+/, separator])
 | 
			
		||||
    ])
 | 
			
		||||
  ];
 | 
			
		||||
  for (const variantPattern of variantPatterns) {
 | 
			
		||||
    yield pattern([
 | 
			
		||||
      "((?=((",
 | 
			
		||||
      variantPattern,
 | 
			
		||||
      ")+))\\2)?",
 | 
			
		||||
      /!?/,
 | 
			
		||||
      prefix,
 | 
			
		||||
      utility
 | 
			
		||||
    ]);
 | 
			
		||||
  }
 | 
			
		||||
  yield /[^<>"'`\s.(){}[\]#=%$]*[^<>"'`\s.(){}[\]#=%:$]/g;
 | 
			
		||||
}
 | 
			
		||||
var SPECIALS = /([\[\]'"`])([^\[\]'"`])?/g;
 | 
			
		||||
var ALLOWED_CLASS_CHARACTERS = /[^"'`\s<>\]]+/;
 | 
			
		||||
function clipAtBalancedParens(input) {
 | 
			
		||||
  if (!input.includes("-[")) {
 | 
			
		||||
    return input;
 | 
			
		||||
  }
 | 
			
		||||
  let depth = 0;
 | 
			
		||||
  let openStringTypes = [];
 | 
			
		||||
  let matches = input.matchAll(SPECIALS);
 | 
			
		||||
  const matched = Array.from(matches).flatMap((match) => {
 | 
			
		||||
    const [, ...groups] = match;
 | 
			
		||||
    return groups.map(
 | 
			
		||||
      (group, idx) => Object.assign([], match, {
 | 
			
		||||
        index: match.index + idx,
 | 
			
		||||
        0: group
 | 
			
		||||
      })
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
  for (let match of matched) {
 | 
			
		||||
    let char = match[0];
 | 
			
		||||
    let inStringType = openStringTypes.at(-1);
 | 
			
		||||
    if (char === inStringType) {
 | 
			
		||||
      openStringTypes.pop();
 | 
			
		||||
    } else if (char === "'" || char === '"' || char === "`") {
 | 
			
		||||
      openStringTypes.push(char);
 | 
			
		||||
    }
 | 
			
		||||
    if (inStringType) {
 | 
			
		||||
      continue;
 | 
			
		||||
    } else if (char === "[") {
 | 
			
		||||
      depth++;
 | 
			
		||||
      continue;
 | 
			
		||||
    } else if (char === "]") {
 | 
			
		||||
      depth--;
 | 
			
		||||
      continue;
 | 
			
		||||
    }
 | 
			
		||||
    if (depth < 0) {
 | 
			
		||||
      return input.substring(0, match.index - 1);
 | 
			
		||||
    }
 | 
			
		||||
    if (depth === 0 && !ALLOWED_CLASS_CHARACTERS.test(char)) {
 | 
			
		||||
      return input.substring(0, match.index);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return input;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// src/index.ts
 | 
			
		||||
var _estreewalker = require('estree-walker');
 | 
			
		||||
var _path = require('path');
 | 
			
		||||
var EXT_CSS = /\.(css)$/;
 | 
			
		||||
var MAX_STRING_LITERAL_LENGTH = 5e4;
 | 
			
		||||
function purgeCss(purgeOptions) {
 | 
			
		||||
  var _a;
 | 
			
		||||
  let viteConfig;
 | 
			
		||||
  const selectors = /* @__PURE__ */ new Set();
 | 
			
		||||
  const standard = [
 | 
			
		||||
    "*",
 | 
			
		||||
    "html",
 | 
			
		||||
    "body",
 | 
			
		||||
    /aria-current/,
 | 
			
		||||
    /^\:[-a-z]+$/,
 | 
			
		||||
    ..._nullishCoalesce(((_a = purgeOptions == null ? void 0 : purgeOptions.safelist) == null ? void 0 : _a.standard), () => ( []))
 | 
			
		||||
  ];
 | 
			
		||||
  const extractor = _nullishCoalesce((purgeOptions == null ? void 0 : purgeOptions.defaultExtractor), () => ( defaultExtractor()));
 | 
			
		||||
  const moduleIds = /* @__PURE__ */ new Set();
 | 
			
		||||
  return {
 | 
			
		||||
    name: "vite-plugin-tailwind-purgecss",
 | 
			
		||||
    apply: "build",
 | 
			
		||||
    enforce: "post",
 | 
			
		||||
    load(id) {
 | 
			
		||||
      if (EXT_CSS.test(id))
 | 
			
		||||
        return;
 | 
			
		||||
      moduleIds.add(id);
 | 
			
		||||
    },
 | 
			
		||||
    configResolved(config) {
 | 
			
		||||
      viteConfig = config;
 | 
			
		||||
    },
 | 
			
		||||
    async generateBundle(options, bundle) {
 | 
			
		||||
      var _a2;
 | 
			
		||||
      const assets = {};
 | 
			
		||||
      for (const id of moduleIds) {
 | 
			
		||||
        const info = this.getModuleInfo(id);
 | 
			
		||||
        if ((info == null ? void 0 : info.isIncluded) !== true || info.code === null)
 | 
			
		||||
          continue;
 | 
			
		||||
        const ast = this.parse(info.code);
 | 
			
		||||
        _estreewalker.walk.call(void 0, ast, {
 | 
			
		||||
          enter(node, parent, key, index) {
 | 
			
		||||
            if (node.type === "Literal" && typeof node.value === "string") {
 | 
			
		||||
              node.value.split(/\s+/).forEach((word) => {
 | 
			
		||||
                if (word.length < MAX_STRING_LITERAL_LENGTH) {
 | 
			
		||||
                  extractor(word).forEach((selector) => selectors.add(selector));
 | 
			
		||||
                } else
 | 
			
		||||
                  selectors.add(word);
 | 
			
		||||
              });
 | 
			
		||||
            }
 | 
			
		||||
            if (node.type === "Identifier") {
 | 
			
		||||
              selectors.add(node.name);
 | 
			
		||||
            }
 | 
			
		||||
            if (node.type === "TemplateElement") {
 | 
			
		||||
              const value = _nullishCoalesce(node.value.cooked, () => ( node.value.raw));
 | 
			
		||||
              value.split(/\s+/).forEach((word) => {
 | 
			
		||||
                if (word.length < MAX_STRING_LITERAL_LENGTH) {
 | 
			
		||||
                  extractor(word).forEach((selector) => selectors.add(selector));
 | 
			
		||||
                } else
 | 
			
		||||
                  selectors.add(word);
 | 
			
		||||
              });
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
      for (const [fileName, chunkOrAsset] of Object.entries(bundle)) {
 | 
			
		||||
        if (chunkOrAsset.type === "asset" && EXT_CSS.test(fileName)) {
 | 
			
		||||
          assets[fileName] = chunkOrAsset;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      for (const selector of selectors) {
 | 
			
		||||
        standard.push(selector);
 | 
			
		||||
      }
 | 
			
		||||
      for (const [fileName, asset] of Object.entries(assets)) {
 | 
			
		||||
        const purgeCSSResult = await new (0, _purgecss.PurgeCSS)().purge({
 | 
			
		||||
          ...purgeOptions,
 | 
			
		||||
          content: [_path.join.call(void 0, viteConfig.root, "**/*.html"), ..._nullishCoalesce((purgeOptions == null ? void 0 : purgeOptions.content), () => ( []))],
 | 
			
		||||
          css: [{ raw: asset.source.trim(), name: fileName }],
 | 
			
		||||
          rejected: true,
 | 
			
		||||
          rejectedCss: true,
 | 
			
		||||
          safelist: {
 | 
			
		||||
            ...purgeOptions == null ? void 0 : purgeOptions.safelist,
 | 
			
		||||
            standard,
 | 
			
		||||
            greedy: [/svelte-/, /data-theme/, ..._nullishCoalesce(((_a2 = purgeOptions == null ? void 0 : purgeOptions.safelist) == null ? void 0 : _a2.greedy), () => ( []))]
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
        if (purgeCSSResult[0]) {
 | 
			
		||||
          delete bundle[asset.fileName];
 | 
			
		||||
          this.emitFile({
 | 
			
		||||
            ...asset,
 | 
			
		||||
            type: "asset",
 | 
			
		||||
            source: purgeCSSResult[0].css
 | 
			
		||||
          });
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
var src_default = purgeCss;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
exports.default = src_default; exports.purgeCss = purgeCss;
 | 
			
		||||
//# sourceMappingURL=index.js.map
 | 
			
		||||
							
								
								
									
										1
									
								
								node_modules/vite-plugin-tailwind-purgecss/dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								node_modules/vite-plugin-tailwind-purgecss/dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										228
									
								
								node_modules/vite-plugin-tailwind-purgecss/dist/index.mjs
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								node_modules/vite-plugin-tailwind-purgecss/dist/index.mjs
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,228 @@
 | 
			
		||||
// src/index.ts
 | 
			
		||||
import { PurgeCSS } from "purgecss";
 | 
			
		||||
 | 
			
		||||
// src/extractors/regex.ts
 | 
			
		||||
var REGEX_SPECIAL = /[\\^$.*+?()[\]{}|]/g;
 | 
			
		||||
var REGEX_HAS_SPECIAL = RegExp(REGEX_SPECIAL.source);
 | 
			
		||||
function toSource(source) {
 | 
			
		||||
  source = Array.isArray(source) ? source : [source];
 | 
			
		||||
  source = source.map((item) => item instanceof RegExp ? item.source : item);
 | 
			
		||||
  return source.join("");
 | 
			
		||||
}
 | 
			
		||||
function pattern(source) {
 | 
			
		||||
  return new RegExp(toSource(source), "g");
 | 
			
		||||
}
 | 
			
		||||
function any(sources) {
 | 
			
		||||
  return `(?:${sources.map(toSource).join("|")})`;
 | 
			
		||||
}
 | 
			
		||||
function optional(source) {
 | 
			
		||||
  return `(?:${toSource(source)})?`;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// src/extractors/default-extractor.ts
 | 
			
		||||
function defaultExtractor() {
 | 
			
		||||
  let patterns = Array.from(buildRegExps());
 | 
			
		||||
  return (content) => {
 | 
			
		||||
    let results = [];
 | 
			
		||||
    for (let pattern2 of patterns) {
 | 
			
		||||
      results = [...results, ...content.match(pattern2) ?? []];
 | 
			
		||||
    }
 | 
			
		||||
    return results.filter((v) => v !== void 0).map(clipAtBalancedParens);
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
function* buildRegExps() {
 | 
			
		||||
  let separator = ":";
 | 
			
		||||
  let prefix = "";
 | 
			
		||||
  let utility = any([
 | 
			
		||||
    /\[[^\s:'"`]+:[^\s\[\]]+\]/,
 | 
			
		||||
    /\[[^\s:'"`]+:[^\s]+?\[[^\s]+\][^\s]+?\]/,
 | 
			
		||||
    pattern([
 | 
			
		||||
      /-?(?:\w+)/,
 | 
			
		||||
      optional(
 | 
			
		||||
        any([
 | 
			
		||||
          pattern([
 | 
			
		||||
            /-(?:\w+-)*\[[^\s:]+\]/,
 | 
			
		||||
            /(?![{([]])/,
 | 
			
		||||
            /(?:\/[^\s'"`\\><$]*)?/
 | 
			
		||||
          ]),
 | 
			
		||||
          pattern([
 | 
			
		||||
            /-(?:\w+-)*\[[^\s]+\]/,
 | 
			
		||||
            /(?![{([]])/,
 | 
			
		||||
            /(?:\/[^\s'"`\\$]*)?/
 | 
			
		||||
          ]),
 | 
			
		||||
          /[-\/][^\s'"`\\$={><]*/
 | 
			
		||||
        ])
 | 
			
		||||
      )
 | 
			
		||||
    ])
 | 
			
		||||
  ]);
 | 
			
		||||
  let variantPatterns = [
 | 
			
		||||
    any([
 | 
			
		||||
      pattern([/@\[[^\s"'`]+\](\/[^\s"'`]+)?/, separator]),
 | 
			
		||||
      pattern([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]/, separator]),
 | 
			
		||||
      pattern([/[^\s"'`\[\\]+/, separator])
 | 
			
		||||
    ]),
 | 
			
		||||
    any([
 | 
			
		||||
      pattern([/([^\s"'`\[\\]+-)?\[[^\s`]+\]/, separator]),
 | 
			
		||||
      pattern([/[^\s`\[\\]+/, separator])
 | 
			
		||||
    ])
 | 
			
		||||
  ];
 | 
			
		||||
  for (const variantPattern of variantPatterns) {
 | 
			
		||||
    yield pattern([
 | 
			
		||||
      "((?=((",
 | 
			
		||||
      variantPattern,
 | 
			
		||||
      ")+))\\2)?",
 | 
			
		||||
      /!?/,
 | 
			
		||||
      prefix,
 | 
			
		||||
      utility
 | 
			
		||||
    ]);
 | 
			
		||||
  }
 | 
			
		||||
  yield /[^<>"'`\s.(){}[\]#=%$]*[^<>"'`\s.(){}[\]#=%:$]/g;
 | 
			
		||||
}
 | 
			
		||||
var SPECIALS = /([\[\]'"`])([^\[\]'"`])?/g;
 | 
			
		||||
var ALLOWED_CLASS_CHARACTERS = /[^"'`\s<>\]]+/;
 | 
			
		||||
function clipAtBalancedParens(input) {
 | 
			
		||||
  if (!input.includes("-[")) {
 | 
			
		||||
    return input;
 | 
			
		||||
  }
 | 
			
		||||
  let depth = 0;
 | 
			
		||||
  let openStringTypes = [];
 | 
			
		||||
  let matches = input.matchAll(SPECIALS);
 | 
			
		||||
  const matched = Array.from(matches).flatMap((match) => {
 | 
			
		||||
    const [, ...groups] = match;
 | 
			
		||||
    return groups.map(
 | 
			
		||||
      (group, idx) => Object.assign([], match, {
 | 
			
		||||
        index: match.index + idx,
 | 
			
		||||
        0: group
 | 
			
		||||
      })
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
  for (let match of matched) {
 | 
			
		||||
    let char = match[0];
 | 
			
		||||
    let inStringType = openStringTypes.at(-1);
 | 
			
		||||
    if (char === inStringType) {
 | 
			
		||||
      openStringTypes.pop();
 | 
			
		||||
    } else if (char === "'" || char === '"' || char === "`") {
 | 
			
		||||
      openStringTypes.push(char);
 | 
			
		||||
    }
 | 
			
		||||
    if (inStringType) {
 | 
			
		||||
      continue;
 | 
			
		||||
    } else if (char === "[") {
 | 
			
		||||
      depth++;
 | 
			
		||||
      continue;
 | 
			
		||||
    } else if (char === "]") {
 | 
			
		||||
      depth--;
 | 
			
		||||
      continue;
 | 
			
		||||
    }
 | 
			
		||||
    if (depth < 0) {
 | 
			
		||||
      return input.substring(0, match.index - 1);
 | 
			
		||||
    }
 | 
			
		||||
    if (depth === 0 && !ALLOWED_CLASS_CHARACTERS.test(char)) {
 | 
			
		||||
      return input.substring(0, match.index);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return input;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// src/index.ts
 | 
			
		||||
import { walk } from "estree-walker";
 | 
			
		||||
import { join } from "path";
 | 
			
		||||
var EXT_CSS = /\.(css)$/;
 | 
			
		||||
var MAX_STRING_LITERAL_LENGTH = 5e4;
 | 
			
		||||
function purgeCss(purgeOptions) {
 | 
			
		||||
  var _a;
 | 
			
		||||
  let viteConfig;
 | 
			
		||||
  const selectors = /* @__PURE__ */ new Set();
 | 
			
		||||
  const standard = [
 | 
			
		||||
    "*",
 | 
			
		||||
    "html",
 | 
			
		||||
    "body",
 | 
			
		||||
    /aria-current/,
 | 
			
		||||
    /^\:[-a-z]+$/,
 | 
			
		||||
    ...((_a = purgeOptions == null ? void 0 : purgeOptions.safelist) == null ? void 0 : _a.standard) ?? []
 | 
			
		||||
  ];
 | 
			
		||||
  const extractor = (purgeOptions == null ? void 0 : purgeOptions.defaultExtractor) ?? defaultExtractor();
 | 
			
		||||
  const moduleIds = /* @__PURE__ */ new Set();
 | 
			
		||||
  return {
 | 
			
		||||
    name: "vite-plugin-tailwind-purgecss",
 | 
			
		||||
    apply: "build",
 | 
			
		||||
    enforce: "post",
 | 
			
		||||
    load(id) {
 | 
			
		||||
      if (EXT_CSS.test(id))
 | 
			
		||||
        return;
 | 
			
		||||
      moduleIds.add(id);
 | 
			
		||||
    },
 | 
			
		||||
    configResolved(config) {
 | 
			
		||||
      viteConfig = config;
 | 
			
		||||
    },
 | 
			
		||||
    async generateBundle(options, bundle) {
 | 
			
		||||
      var _a2;
 | 
			
		||||
      const assets = {};
 | 
			
		||||
      for (const id of moduleIds) {
 | 
			
		||||
        const info = this.getModuleInfo(id);
 | 
			
		||||
        if ((info == null ? void 0 : info.isIncluded) !== true || info.code === null)
 | 
			
		||||
          continue;
 | 
			
		||||
        const ast = this.parse(info.code);
 | 
			
		||||
        walk(ast, {
 | 
			
		||||
          enter(node, parent, key, index) {
 | 
			
		||||
            if (node.type === "Literal" && typeof node.value === "string") {
 | 
			
		||||
              node.value.split(/\s+/).forEach((word) => {
 | 
			
		||||
                if (word.length < MAX_STRING_LITERAL_LENGTH) {
 | 
			
		||||
                  extractor(word).forEach((selector) => selectors.add(selector));
 | 
			
		||||
                } else
 | 
			
		||||
                  selectors.add(word);
 | 
			
		||||
              });
 | 
			
		||||
            }
 | 
			
		||||
            if (node.type === "Identifier") {
 | 
			
		||||
              selectors.add(node.name);
 | 
			
		||||
            }
 | 
			
		||||
            if (node.type === "TemplateElement") {
 | 
			
		||||
              const value = node.value.cooked ?? node.value.raw;
 | 
			
		||||
              value.split(/\s+/).forEach((word) => {
 | 
			
		||||
                if (word.length < MAX_STRING_LITERAL_LENGTH) {
 | 
			
		||||
                  extractor(word).forEach((selector) => selectors.add(selector));
 | 
			
		||||
                } else
 | 
			
		||||
                  selectors.add(word);
 | 
			
		||||
              });
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
      for (const [fileName, chunkOrAsset] of Object.entries(bundle)) {
 | 
			
		||||
        if (chunkOrAsset.type === "asset" && EXT_CSS.test(fileName)) {
 | 
			
		||||
          assets[fileName] = chunkOrAsset;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      for (const selector of selectors) {
 | 
			
		||||
        standard.push(selector);
 | 
			
		||||
      }
 | 
			
		||||
      for (const [fileName, asset] of Object.entries(assets)) {
 | 
			
		||||
        const purgeCSSResult = await new PurgeCSS().purge({
 | 
			
		||||
          ...purgeOptions,
 | 
			
		||||
          content: [join(viteConfig.root, "**/*.html"), ...(purgeOptions == null ? void 0 : purgeOptions.content) ?? []],
 | 
			
		||||
          css: [{ raw: asset.source.trim(), name: fileName }],
 | 
			
		||||
          rejected: true,
 | 
			
		||||
          rejectedCss: true,
 | 
			
		||||
          safelist: {
 | 
			
		||||
            ...purgeOptions == null ? void 0 : purgeOptions.safelist,
 | 
			
		||||
            standard,
 | 
			
		||||
            greedy: [/svelte-/, /data-theme/, ...((_a2 = purgeOptions == null ? void 0 : purgeOptions.safelist) == null ? void 0 : _a2.greedy) ?? []]
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
        if (purgeCSSResult[0]) {
 | 
			
		||||
          delete bundle[asset.fileName];
 | 
			
		||||
          this.emitFile({
 | 
			
		||||
            ...asset,
 | 
			
		||||
            type: "asset",
 | 
			
		||||
            source: purgeCSSResult[0].css
 | 
			
		||||
          });
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
var src_default = purgeCss;
 | 
			
		||||
export {
 | 
			
		||||
  src_default as default,
 | 
			
		||||
  purgeCss
 | 
			
		||||
};
 | 
			
		||||
//# sourceMappingURL=index.mjs.map
 | 
			
		||||
							
								
								
									
										1
									
								
								node_modules/vite-plugin-tailwind-purgecss/dist/index.mjs.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								node_modules/vite-plugin-tailwind-purgecss/dist/index.mjs.map
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user