@weapp-tailwindcss/postcss 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,10 @@
1
1
  import postcss from 'postcss';
2
2
  export declare const TAILWIND_V4_BANNER_RE: RegExp;
3
+ /**
4
+ * 严格移除文件末尾残留的 Tailwind source media 开始标记。
5
+ * 仅处理可确认属于 Tailwind 的尾部残片,其它非法 CSS 保持原样。
6
+ */
7
+ export declare function repairTrailingUnclosedTailwindSourceMedia(css: string): string;
3
8
  export declare function hasTailwindcssV4Signal(css: string): boolean;
4
9
  export declare function unwrapTailwindSourceMedia(root: postcss.Root): void;
5
10
  export declare function removeTailwindGenerationDirectives(root: postcss.Root): void;
@@ -1,5 +1,6 @@
1
1
  export { removeUnsupportedAtSupports, removeUnsupportedCascadeLayers, removeUnsupportedMiniProgramAtRules, unwrapUnsupportedCascadeLayers, } from './at-rules.js';
2
2
  export { consumeCascadeLayers } from './cascade-layers.js';
3
+ export { repairTrailingUnclosedTailwindSourceMedia } from './directives.js';
3
4
  export { finalizeMiniProgramCss, type FinalizeMiniProgramCssOptions, finalizeMiniProgramCssRoot, hoistTailwindPreflightBase, } from './finalize.js';
4
5
  export { normalizeMiniProgramGeneratedCssForPostcss, pruneMiniProgramGeneratedCss, type PruneMiniProgramGeneratedCssOptions, } from './prune-generated.js';
5
6
  export { hasMiniProgramCssSpecificityPlaceholders, removeEmptyAtRules, stripMiniProgramCssSpecificityPlaceholders, } from './root-cleanups.js';
package/dist/index.cjs CHANGED
@@ -2484,6 +2484,120 @@ function unwrapUnsupportedCascadeLayers(css) {
2484
2484
  }
2485
2485
  }
2486
2486
  //#endregion
2487
+ //#region src/compat/mini-program-css/directives.ts
2488
+ const TAILWIND_V4_BANNER_RE = /\/\*!\s*tailwindcss v4\./;
2489
+ const GENERATOR_PLACEHOLDER_COMMENT_RE = /^\s*(?:!\s*)?weapp-tailwindcss generator-placeholder\s*$/i;
2490
+ function isCssWhitespace(code) {
2491
+ return code === 9 || code === 10 || code === 12 || code === 13 || code === 32;
2492
+ }
2493
+ function skipCssWhitespace(css, start) {
2494
+ let index = start;
2495
+ while (index < css.length && isCssWhitespace(css.charCodeAt(index))) index++;
2496
+ return index;
2497
+ }
2498
+ function findClosingParenthesis(css, openingIndex) {
2499
+ let depth = 0;
2500
+ let quote = 0;
2501
+ for (let index = openingIndex; index < css.length; index++) {
2502
+ const code = css.charCodeAt(index);
2503
+ if (quote !== 0) {
2504
+ if (code === 92) index++;
2505
+ else if (code === quote) quote = 0;
2506
+ continue;
2507
+ }
2508
+ if (code === 34 || code === 39) {
2509
+ quote = code;
2510
+ continue;
2511
+ }
2512
+ if (code === 92) {
2513
+ index++;
2514
+ continue;
2515
+ }
2516
+ if (code === 47 && css.charCodeAt(index + 1) === 42) {
2517
+ const commentEnd = css.indexOf("*/", index + 2);
2518
+ if (commentEnd < 0) return -1;
2519
+ index = commentEnd + 1;
2520
+ continue;
2521
+ }
2522
+ if (code === 40) {
2523
+ depth++;
2524
+ continue;
2525
+ }
2526
+ if (code === 41) {
2527
+ depth--;
2528
+ if (depth === 0) return index;
2529
+ }
2530
+ }
2531
+ return -1;
2532
+ }
2533
+ function isCssCodePosition(css, position) {
2534
+ let quote = 0;
2535
+ for (let index = 0; index < position; index++) {
2536
+ const code = css.charCodeAt(index);
2537
+ if (quote !== 0) {
2538
+ if (code === 92) index++;
2539
+ else if (code === quote) quote = 0;
2540
+ continue;
2541
+ }
2542
+ if (code === 34 || code === 39) {
2543
+ quote = code;
2544
+ continue;
2545
+ }
2546
+ if (code === 47 && css.charCodeAt(index + 1) === 42) {
2547
+ const commentEnd = css.indexOf("*/", index + 2);
2548
+ if (commentEnd < 0 || commentEnd >= position) return false;
2549
+ index = commentEnd + 1;
2550
+ }
2551
+ }
2552
+ return quote === 0;
2553
+ }
2554
+ /**
2555
+ * 严格移除文件末尾残留的 Tailwind source media 开始标记。
2556
+ * 仅处理可确认属于 Tailwind 的尾部残片,其它非法 CSS 保持原样。
2557
+ */
2558
+ function repairTrailingUnclosedTailwindSourceMedia(css) {
2559
+ const sourceMediaPattern = /(?:^|\r?\n)[\t\f ]*@media\s+source\(/g;
2560
+ for (let match = sourceMediaPattern.exec(css); match !== null; match = sourceMediaPattern.exec(css)) {
2561
+ const prefixLength = match[0].startsWith("\n") ? 1 : match[0].startsWith("\r\n") ? 2 : 0;
2562
+ const start = match.index + prefixLength;
2563
+ if (!isCssCodePosition(css, start)) continue;
2564
+ const closingIndex = findClosingParenthesis(css, start + match[0].length - prefixLength - 1);
2565
+ if (closingIndex < 0) continue;
2566
+ const blockStart = skipCssWhitespace(css, closingIndex + 1);
2567
+ if (css.charCodeAt(blockStart) !== 123) continue;
2568
+ if (skipCssWhitespace(css, blockStart + 1) !== css.length) continue;
2569
+ return css.slice(0, match.index);
2570
+ }
2571
+ return css;
2572
+ }
2573
+ function hasTailwindcssV4Signal(css) {
2574
+ if (TAILWIND_V4_BANNER_RE.test(css)) return true;
2575
+ const root = postcss.default.parse(css);
2576
+ let hasProperty = false;
2577
+ root.walkAtRules("property", (atRule) => {
2578
+ if (atRule.params.trim().startsWith("--tw-")) {
2579
+ hasProperty = true;
2580
+ return false;
2581
+ }
2582
+ });
2583
+ return hasProperty;
2584
+ }
2585
+ function unwrapTailwindSourceMedia(root) {
2586
+ root.walkAtRules("media", (atRule) => {
2587
+ if (!atRule.params.startsWith("source(")) return;
2588
+ if (atRule.nodes && atRule.nodes.length > 0) atRule.replaceWith(...atRule.nodes);
2589
+ else atRule.remove();
2590
+ });
2591
+ }
2592
+ function removeTailwindGenerationDirectives(root) {
2593
+ root.walkComments((comment) => {
2594
+ if (GENERATOR_PLACEHOLDER_COMMENT_RE.test(comment.text)) comment.remove();
2595
+ });
2596
+ root.walkAtRules((atRule) => {
2597
+ if (atRule.name === "config" || atRule.name === "source" || atRule.name === "tailwind" || atRule.name === "reference" || atRule.name === "plugin") atRule.remove();
2598
+ });
2599
+ }
2600
+ //#endregion
2487
2601
  //#region src/compat/mini-program-prefixes.ts
2488
2602
  const PRESERVED_WEBKIT_DECLARATION_PROPS = /* @__PURE__ */ new Set([
2489
2603
  "-webkit-box-orient",
@@ -2574,37 +2688,6 @@ function removeUnsupportedMiniProgramPrefixedAtRule(atRule) {
2574
2688
  if (atRule.name.toLowerCase() === "-webkit-keyframes") atRule.remove();
2575
2689
  }
2576
2690
  //#endregion
2577
- //#region src/compat/mini-program-css/directives.ts
2578
- const TAILWIND_V4_BANNER_RE = /\/\*!\s*tailwindcss v4\./;
2579
- const GENERATOR_PLACEHOLDER_COMMENT_RE = /^\s*(?:!\s*)?weapp-tailwindcss generator-placeholder\s*$/i;
2580
- function hasTailwindcssV4Signal(css) {
2581
- if (TAILWIND_V4_BANNER_RE.test(css)) return true;
2582
- const root = postcss.default.parse(css);
2583
- let hasProperty = false;
2584
- root.walkAtRules("property", (atRule) => {
2585
- if (atRule.params.trim().startsWith("--tw-")) {
2586
- hasProperty = true;
2587
- return false;
2588
- }
2589
- });
2590
- return hasProperty;
2591
- }
2592
- function unwrapTailwindSourceMedia(root) {
2593
- root.walkAtRules("media", (atRule) => {
2594
- if (!atRule.params.startsWith("source(")) return;
2595
- if (atRule.nodes && atRule.nodes.length > 0) atRule.replaceWith(...atRule.nodes);
2596
- else atRule.remove();
2597
- });
2598
- }
2599
- function removeTailwindGenerationDirectives(root) {
2600
- root.walkComments((comment) => {
2601
- if (GENERATOR_PLACEHOLDER_COMMENT_RE.test(comment.text)) comment.remove();
2602
- });
2603
- root.walkAtRules((atRule) => {
2604
- if (atRule.name === "config" || atRule.name === "source" || atRule.name === "tailwind" || atRule.name === "reference" || atRule.name === "plugin") atRule.remove();
2605
- });
2606
- }
2607
- //#endregion
2608
2691
  //#region src/compat/mini-program-css/hoist.ts
2609
2692
  const HOIST_ANCHOR_COMMENT = "__weapp_tailwindcss_base_anchor__";
2610
2693
  function getTopDirectiveTail(root) {
@@ -2838,13 +2921,14 @@ function hoistTailwindPreflightBase(css) {
2838
2921
  }
2839
2922
  }
2840
2923
  function finalizeMiniProgramCss(css, options = {}) {
2924
+ const repairedCss = repairTrailingUnclosedTailwindSourceMedia(css);
2841
2925
  let isTailwindcssV4 = options.isTailwindcssV4;
2842
2926
  if (isTailwindcssV4 === void 0) try {
2843
- isTailwindcssV4 = hasTailwindcssV4Signal(css);
2927
+ isTailwindcssV4 = hasTailwindcssV4Signal(repairedCss);
2844
2928
  } catch {
2845
- isTailwindcssV4 = TAILWIND_V4_BANNER_RE.test(css);
2929
+ isTailwindcssV4 = TAILWIND_V4_BANNER_RE.test(repairedCss);
2846
2930
  }
2847
- const cleanedCss = removeUnsupportedMiniProgramAtRules(css);
2931
+ const cleanedCss = removeUnsupportedMiniProgramAtRules(repairedCss);
2848
2932
  try {
2849
2933
  const root = postcss.default.parse(cleanedCss);
2850
2934
  finalizeMiniProgramCssRoot(root, {
@@ -7764,6 +7848,7 @@ exports.removeUnsupportedCascadeLayers = removeUnsupportedCascadeLayers;
7764
7848
  exports.removeUnsupportedMiniProgramAtRules = removeUnsupportedMiniProgramAtRules;
7765
7849
  exports.removeUnsupportedMiniProgramCssImportsRoot = removeUnsupportedMiniProgramCssImportsRoot;
7766
7850
  exports.removeUnsupportedMiniProgramPrefixedAtRule = removeUnsupportedMiniProgramPrefixedAtRule;
7851
+ exports.repairTrailingUnclosedTailwindSourceMedia = repairTrailingUnclosedTailwindSourceMedia;
7767
7852
  exports.resolveCssSourceEntries = resolveCssSourceEntries;
7768
7853
  exports.resolveFilteredPostcssConfig = resolveFilteredPostcssConfig;
7769
7854
  exports.resolvePostcssConfig = resolvePostcssConfig;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { type PostcssAppType, type PostcssStyleBranch, type PostcssStyleBranchProfile, resolvePostcssStyleBranch, type ResolvePostcssStyleBranchOptions, resolvePostcssStyleBranchProfile, } from './branches/index.js';
2
2
  export { type DynamicColorMixAlphaProtection, type DynamicColorMixAlphaProtectionOptions, type ModernColorValueNormalization, normalizeModernColorValue, protectDynamicColorMixAlpha, protectDynamicVarFallbacks, } from './compat/color-mix.js';
3
3
  export { transformLynxCssCompat } from './compat/lynx-css.js';
4
- export { consumeCascadeLayers, finalizeMiniProgramCss, type FinalizeMiniProgramCssOptions, finalizeMiniProgramCssRoot, hasMiniProgramCssSpecificityPlaceholders, hoistTailwindPreflightBase, normalizeMiniProgramGeneratedCssForPostcss, pruneMiniProgramGeneratedCss, removeEmptyAtRules, removeUnsupportedAtSupports, removeUnsupportedCascadeLayers, removeUnsupportedMiniProgramAtRules, stripMiniProgramCssSpecificityPlaceholders, unwrapUnsupportedCascadeLayers, } from './compat/mini-program-css/index.js';
4
+ export { consumeCascadeLayers, finalizeMiniProgramCss, type FinalizeMiniProgramCssOptions, finalizeMiniProgramCssRoot, hasMiniProgramCssSpecificityPlaceholders, hoistTailwindPreflightBase, normalizeMiniProgramGeneratedCssForPostcss, pruneMiniProgramGeneratedCss, removeEmptyAtRules, removeUnsupportedAtSupports, removeUnsupportedCascadeLayers, removeUnsupportedMiniProgramAtRules, repairTrailingUnclosedTailwindSourceMedia, stripMiniProgramCssSpecificityPlaceholders, unwrapUnsupportedCascadeLayers, } from './compat/mini-program-css/index.js';
5
5
  export { normalizeMiniProgramPrefixedDeclaration, removeUnsupportedMiniProgramPrefixedAtRule, } from './compat/mini-program-prefixes.js';
6
6
  export { convertTailwindcssRpxDeclarationsToRem, convertTailwindcssRpxDeclarationToRem, convertTailwindcssRpxValueToRem, normalizeTailwindcssRpxDeclaration, normalizeTailwindcssRpxDeclarations, normalizeTailwindcssWebRpxDeclarations, type TailwindcssRpxToRemOptions, } from './compat/tailwindcss-rpx.js';
7
7
  export { normalizeTailwindcssV4InfinityCalcCss } from './compat/tailwindcss-v4.js';
package/dist/index.js CHANGED
@@ -2468,6 +2468,120 @@ function unwrapUnsupportedCascadeLayers(css) {
2468
2468
  }
2469
2469
  }
2470
2470
  //#endregion
2471
+ //#region src/compat/mini-program-css/directives.ts
2472
+ const TAILWIND_V4_BANNER_RE = /\/\*!\s*tailwindcss v4\./;
2473
+ const GENERATOR_PLACEHOLDER_COMMENT_RE = /^\s*(?:!\s*)?weapp-tailwindcss generator-placeholder\s*$/i;
2474
+ function isCssWhitespace(code) {
2475
+ return code === 9 || code === 10 || code === 12 || code === 13 || code === 32;
2476
+ }
2477
+ function skipCssWhitespace(css, start) {
2478
+ let index = start;
2479
+ while (index < css.length && isCssWhitespace(css.charCodeAt(index))) index++;
2480
+ return index;
2481
+ }
2482
+ function findClosingParenthesis(css, openingIndex) {
2483
+ let depth = 0;
2484
+ let quote = 0;
2485
+ for (let index = openingIndex; index < css.length; index++) {
2486
+ const code = css.charCodeAt(index);
2487
+ if (quote !== 0) {
2488
+ if (code === 92) index++;
2489
+ else if (code === quote) quote = 0;
2490
+ continue;
2491
+ }
2492
+ if (code === 34 || code === 39) {
2493
+ quote = code;
2494
+ continue;
2495
+ }
2496
+ if (code === 92) {
2497
+ index++;
2498
+ continue;
2499
+ }
2500
+ if (code === 47 && css.charCodeAt(index + 1) === 42) {
2501
+ const commentEnd = css.indexOf("*/", index + 2);
2502
+ if (commentEnd < 0) return -1;
2503
+ index = commentEnd + 1;
2504
+ continue;
2505
+ }
2506
+ if (code === 40) {
2507
+ depth++;
2508
+ continue;
2509
+ }
2510
+ if (code === 41) {
2511
+ depth--;
2512
+ if (depth === 0) return index;
2513
+ }
2514
+ }
2515
+ return -1;
2516
+ }
2517
+ function isCssCodePosition(css, position) {
2518
+ let quote = 0;
2519
+ for (let index = 0; index < position; index++) {
2520
+ const code = css.charCodeAt(index);
2521
+ if (quote !== 0) {
2522
+ if (code === 92) index++;
2523
+ else if (code === quote) quote = 0;
2524
+ continue;
2525
+ }
2526
+ if (code === 34 || code === 39) {
2527
+ quote = code;
2528
+ continue;
2529
+ }
2530
+ if (code === 47 && css.charCodeAt(index + 1) === 42) {
2531
+ const commentEnd = css.indexOf("*/", index + 2);
2532
+ if (commentEnd < 0 || commentEnd >= position) return false;
2533
+ index = commentEnd + 1;
2534
+ }
2535
+ }
2536
+ return quote === 0;
2537
+ }
2538
+ /**
2539
+ * 严格移除文件末尾残留的 Tailwind source media 开始标记。
2540
+ * 仅处理可确认属于 Tailwind 的尾部残片,其它非法 CSS 保持原样。
2541
+ */
2542
+ function repairTrailingUnclosedTailwindSourceMedia(css) {
2543
+ const sourceMediaPattern = /(?:^|\r?\n)[\t\f ]*@media\s+source\(/g;
2544
+ for (let match = sourceMediaPattern.exec(css); match !== null; match = sourceMediaPattern.exec(css)) {
2545
+ const prefixLength = match[0].startsWith("\n") ? 1 : match[0].startsWith("\r\n") ? 2 : 0;
2546
+ const start = match.index + prefixLength;
2547
+ if (!isCssCodePosition(css, start)) continue;
2548
+ const closingIndex = findClosingParenthesis(css, start + match[0].length - prefixLength - 1);
2549
+ if (closingIndex < 0) continue;
2550
+ const blockStart = skipCssWhitespace(css, closingIndex + 1);
2551
+ if (css.charCodeAt(blockStart) !== 123) continue;
2552
+ if (skipCssWhitespace(css, blockStart + 1) !== css.length) continue;
2553
+ return css.slice(0, match.index);
2554
+ }
2555
+ return css;
2556
+ }
2557
+ function hasTailwindcssV4Signal(css) {
2558
+ if (TAILWIND_V4_BANNER_RE.test(css)) return true;
2559
+ const root = postcss$1.parse(css);
2560
+ let hasProperty = false;
2561
+ root.walkAtRules("property", (atRule) => {
2562
+ if (atRule.params.trim().startsWith("--tw-")) {
2563
+ hasProperty = true;
2564
+ return false;
2565
+ }
2566
+ });
2567
+ return hasProperty;
2568
+ }
2569
+ function unwrapTailwindSourceMedia(root) {
2570
+ root.walkAtRules("media", (atRule) => {
2571
+ if (!atRule.params.startsWith("source(")) return;
2572
+ if (atRule.nodes && atRule.nodes.length > 0) atRule.replaceWith(...atRule.nodes);
2573
+ else atRule.remove();
2574
+ });
2575
+ }
2576
+ function removeTailwindGenerationDirectives(root) {
2577
+ root.walkComments((comment) => {
2578
+ if (GENERATOR_PLACEHOLDER_COMMENT_RE.test(comment.text)) comment.remove();
2579
+ });
2580
+ root.walkAtRules((atRule) => {
2581
+ if (atRule.name === "config" || atRule.name === "source" || atRule.name === "tailwind" || atRule.name === "reference" || atRule.name === "plugin") atRule.remove();
2582
+ });
2583
+ }
2584
+ //#endregion
2471
2585
  //#region src/compat/mini-program-prefixes.ts
2472
2586
  const PRESERVED_WEBKIT_DECLARATION_PROPS = /* @__PURE__ */ new Set([
2473
2587
  "-webkit-box-orient",
@@ -2558,37 +2672,6 @@ function removeUnsupportedMiniProgramPrefixedAtRule(atRule) {
2558
2672
  if (atRule.name.toLowerCase() === "-webkit-keyframes") atRule.remove();
2559
2673
  }
2560
2674
  //#endregion
2561
- //#region src/compat/mini-program-css/directives.ts
2562
- const TAILWIND_V4_BANNER_RE = /\/\*!\s*tailwindcss v4\./;
2563
- const GENERATOR_PLACEHOLDER_COMMENT_RE = /^\s*(?:!\s*)?weapp-tailwindcss generator-placeholder\s*$/i;
2564
- function hasTailwindcssV4Signal(css) {
2565
- if (TAILWIND_V4_BANNER_RE.test(css)) return true;
2566
- const root = postcss$1.parse(css);
2567
- let hasProperty = false;
2568
- root.walkAtRules("property", (atRule) => {
2569
- if (atRule.params.trim().startsWith("--tw-")) {
2570
- hasProperty = true;
2571
- return false;
2572
- }
2573
- });
2574
- return hasProperty;
2575
- }
2576
- function unwrapTailwindSourceMedia(root) {
2577
- root.walkAtRules("media", (atRule) => {
2578
- if (!atRule.params.startsWith("source(")) return;
2579
- if (atRule.nodes && atRule.nodes.length > 0) atRule.replaceWith(...atRule.nodes);
2580
- else atRule.remove();
2581
- });
2582
- }
2583
- function removeTailwindGenerationDirectives(root) {
2584
- root.walkComments((comment) => {
2585
- if (GENERATOR_PLACEHOLDER_COMMENT_RE.test(comment.text)) comment.remove();
2586
- });
2587
- root.walkAtRules((atRule) => {
2588
- if (atRule.name === "config" || atRule.name === "source" || atRule.name === "tailwind" || atRule.name === "reference" || atRule.name === "plugin") atRule.remove();
2589
- });
2590
- }
2591
- //#endregion
2592
2675
  //#region src/compat/mini-program-css/hoist.ts
2593
2676
  const HOIST_ANCHOR_COMMENT = "__weapp_tailwindcss_base_anchor__";
2594
2677
  function getTopDirectiveTail(root) {
@@ -2822,13 +2905,14 @@ function hoistTailwindPreflightBase(css) {
2822
2905
  }
2823
2906
  }
2824
2907
  function finalizeMiniProgramCss(css, options = {}) {
2908
+ const repairedCss = repairTrailingUnclosedTailwindSourceMedia(css);
2825
2909
  let isTailwindcssV4 = options.isTailwindcssV4;
2826
2910
  if (isTailwindcssV4 === void 0) try {
2827
- isTailwindcssV4 = hasTailwindcssV4Signal(css);
2911
+ isTailwindcssV4 = hasTailwindcssV4Signal(repairedCss);
2828
2912
  } catch {
2829
- isTailwindcssV4 = TAILWIND_V4_BANNER_RE.test(css);
2913
+ isTailwindcssV4 = TAILWIND_V4_BANNER_RE.test(repairedCss);
2830
2914
  }
2831
- const cleanedCss = removeUnsupportedMiniProgramAtRules(css);
2915
+ const cleanedCss = removeUnsupportedMiniProgramAtRules(repairedCss);
2832
2916
  try {
2833
2917
  const root = postcss$1.parse(cleanedCss);
2834
2918
  finalizeMiniProgramCssRoot(root, {
@@ -7651,4 +7735,4 @@ function mergeMiniProgramThemeScopeRuleDeclarations(baseCss, css) {
7651
7735
  }
7652
7736
  }
7653
7737
  //#endregion
7654
- export { CSS_MACRO_POSTCSS_PLUGIN_NAME, CSS_MACRO_STYLE_OPTIONS_MARKER, FULL_SOURCE_SCAN_EXTENSIONS, FULL_SOURCE_SCAN_EXTENSION_RE, FULL_SOURCE_SCAN_PATTERN, UNI_APP_X_IMPORTANT_APPLY_MARKER, analyzeTailwindCssDirectives, cleanLocalCssImportWrapperTailwindDirectives, cleanLocalCssImportWrapperTailwindDirectivesRoot, collectApplyOnlyCssSelectors, collectApplyOnlyCssSelectorsRoot, collectCssImportRequestsRoot, collectCssInlineSourceCandidates, compileCssMacroConditionalComments, consumeCascadeLayers, containsCssAfterMinify, convertTailwindcssRpxDeclarationToRem, convertTailwindcssRpxDeclarationsToRem, convertTailwindcssRpxValueToRem, createCssSourceOrderAppend, createFallbackPlaceholderReplacer, createInjectPreflight, createPostcssStyleTargetProfile, createSourceScanPattern, createStyleHandler, createStylePipeline, createTailwindSourceEntryMatcher, createWeappTailwindcssPostcssPlugin, creator as cssMacroPostcssPlugin, dedupeCoveredCssRules, expandInlineSourceCandidatePattern, expandTailwindSourceEntries, filterApplyOnlyGeneratedCss, filterApplyOnlyGeneratedCssRoot, filterExistingCssRules, finalizeMiniProgramCss, finalizeMiniProgramCssRoot, getPostcssPluginName, hasCssMacroStyleOptions, hasCssMacroTailwindV4CustomVariantConditionalComments, hasCssMacroTailwindV4Directive, hasCssMacroTailwindV4InternalAtRules, hasCssMacroTailwindV4Source, hasMiniProgramCssSpecificityPlaceholders, hoistTailwindPreflightBase, internalCssSelectorReplacer, isFileExcludedByTailwindSourceEntries, isFileMatchedByTailwindSourceEntries, isLocalCssImportRequest, isMiniProgramLocalCssImportRequest, isPureLocalCssImportWrapper, isPureLocalCssImportWrapperRoot, isTailwindCssGenerationDirective, isTailwindCssImportAtRule, isTailwindCssImportRequest, isTailwindCssPackageJsonImportRequest, isWeappTailwindcssImportRequest, mergeCoveredCssRuleDeclarations, mergeMiniProgramPreflightRuleDeclarations, mergeMiniProgramThemeScopeRuleDeclarations, normalizeLegacyContentEntries, normalizeMiniProgramGeneratedCssForPostcss, normalizeMiniProgramPrefixedDeclaration, normalizeModernColorValue, normalizeOutputImportRequest, normalizeTailwindCssImportRequest, normalizeTailwindcssRpxDeclaration, normalizeTailwindcssRpxDeclarations, normalizeTailwindcssV4InfinityCalcCss, normalizeTailwindcssWebRpxDeclarations, normalizeUniAppXImportantApplyForSass, normalizeWebCssCompatOptions, parseConfigParam, parseSourceFileParam, parseTailwindCssConfigRequest, parseTailwindCssDirectiveRequest, postcss, postcssHtmlTransform, prefixLocalCssImportsWithWebpackIgnoreRoot, protectDynamicColorMixAlpha, protectDynamicVarFallbacks, pruneMiniProgramGeneratedCss, removeEmptyAtRules, removeMatchingLocalCssImports, removeMatchingLocalCssImportsRoot, removeTailwindPostcssPlugins, removeTailwindSourceDirectivesRoot, removeUnsupportedAtSupports, removeUnsupportedCascadeLayers, removeUnsupportedMiniProgramAtRules, removeUnsupportedMiniProgramCssImportsRoot, removeUnsupportedMiniProgramPrefixedAtRule, resolveCssSourceEntries, resolveFilteredPostcssConfig, resolvePostcssConfig, resolvePostcssFrameworkProfile, resolvePostcssFrameworkStrategy, resolvePostcssStyleBranch, resolvePostcssStyleBranchProfile, resolvePostcssStyleTarget, resolveSourceScanPath, resolveTailwindSourceEntry, restoreLocalCssImports, restoreUniAppXImportantApplyMarker, rewriteLocalCssImportRequestsForOutput, rewriteLocalCssImportRequestsForOutputRoot, selectorContainsPseudoClass, splitLocalCssImports, splitLocalCssImportsRoot, stripMiniProgramCssSpecificityPlaceholders, toPosixPath, transformCssMacroCss, transformCssMacroTailwindV4Source, transformLynxCssCompat, transformWebCssCompat, transformWebCssSafeSelectors, unitConversionComposeRules, unitConversionPresets, unwrapUnsupportedCascadeLayers, withCssMacroStyleOptions };
7738
+ export { CSS_MACRO_POSTCSS_PLUGIN_NAME, CSS_MACRO_STYLE_OPTIONS_MARKER, FULL_SOURCE_SCAN_EXTENSIONS, FULL_SOURCE_SCAN_EXTENSION_RE, FULL_SOURCE_SCAN_PATTERN, UNI_APP_X_IMPORTANT_APPLY_MARKER, analyzeTailwindCssDirectives, cleanLocalCssImportWrapperTailwindDirectives, cleanLocalCssImportWrapperTailwindDirectivesRoot, collectApplyOnlyCssSelectors, collectApplyOnlyCssSelectorsRoot, collectCssImportRequestsRoot, collectCssInlineSourceCandidates, compileCssMacroConditionalComments, consumeCascadeLayers, containsCssAfterMinify, convertTailwindcssRpxDeclarationToRem, convertTailwindcssRpxDeclarationsToRem, convertTailwindcssRpxValueToRem, createCssSourceOrderAppend, createFallbackPlaceholderReplacer, createInjectPreflight, createPostcssStyleTargetProfile, createSourceScanPattern, createStyleHandler, createStylePipeline, createTailwindSourceEntryMatcher, createWeappTailwindcssPostcssPlugin, creator as cssMacroPostcssPlugin, dedupeCoveredCssRules, expandInlineSourceCandidatePattern, expandTailwindSourceEntries, filterApplyOnlyGeneratedCss, filterApplyOnlyGeneratedCssRoot, filterExistingCssRules, finalizeMiniProgramCss, finalizeMiniProgramCssRoot, getPostcssPluginName, hasCssMacroStyleOptions, hasCssMacroTailwindV4CustomVariantConditionalComments, hasCssMacroTailwindV4Directive, hasCssMacroTailwindV4InternalAtRules, hasCssMacroTailwindV4Source, hasMiniProgramCssSpecificityPlaceholders, hoistTailwindPreflightBase, internalCssSelectorReplacer, isFileExcludedByTailwindSourceEntries, isFileMatchedByTailwindSourceEntries, isLocalCssImportRequest, isMiniProgramLocalCssImportRequest, isPureLocalCssImportWrapper, isPureLocalCssImportWrapperRoot, isTailwindCssGenerationDirective, isTailwindCssImportAtRule, isTailwindCssImportRequest, isTailwindCssPackageJsonImportRequest, isWeappTailwindcssImportRequest, mergeCoveredCssRuleDeclarations, mergeMiniProgramPreflightRuleDeclarations, mergeMiniProgramThemeScopeRuleDeclarations, normalizeLegacyContentEntries, normalizeMiniProgramGeneratedCssForPostcss, normalizeMiniProgramPrefixedDeclaration, normalizeModernColorValue, normalizeOutputImportRequest, normalizeTailwindCssImportRequest, normalizeTailwindcssRpxDeclaration, normalizeTailwindcssRpxDeclarations, normalizeTailwindcssV4InfinityCalcCss, normalizeTailwindcssWebRpxDeclarations, normalizeUniAppXImportantApplyForSass, normalizeWebCssCompatOptions, parseConfigParam, parseSourceFileParam, parseTailwindCssConfigRequest, parseTailwindCssDirectiveRequest, postcss, postcssHtmlTransform, prefixLocalCssImportsWithWebpackIgnoreRoot, protectDynamicColorMixAlpha, protectDynamicVarFallbacks, pruneMiniProgramGeneratedCss, removeEmptyAtRules, removeMatchingLocalCssImports, removeMatchingLocalCssImportsRoot, removeTailwindPostcssPlugins, removeTailwindSourceDirectivesRoot, removeUnsupportedAtSupports, removeUnsupportedCascadeLayers, removeUnsupportedMiniProgramAtRules, removeUnsupportedMiniProgramCssImportsRoot, removeUnsupportedMiniProgramPrefixedAtRule, repairTrailingUnclosedTailwindSourceMedia, resolveCssSourceEntries, resolveFilteredPostcssConfig, resolvePostcssConfig, resolvePostcssFrameworkProfile, resolvePostcssFrameworkStrategy, resolvePostcssStyleBranch, resolvePostcssStyleBranchProfile, resolvePostcssStyleTarget, resolveSourceScanPath, resolveTailwindSourceEntry, restoreLocalCssImports, restoreUniAppXImportantApplyMarker, rewriteLocalCssImportRequestsForOutput, rewriteLocalCssImportRequestsForOutputRoot, selectorContainsPseudoClass, splitLocalCssImports, splitLocalCssImportsRoot, stripMiniProgramCssSpecificityPlaceholders, toPosixPath, transformCssMacroCss, transformCssMacroTailwindV4Source, transformLynxCssCompat, transformWebCssCompat, transformWebCssSafeSelectors, unitConversionComposeRules, unitConversionPresets, unwrapUnsupportedCascadeLayers, withCssMacroStyleOptions };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@weapp-tailwindcss/postcss",
3
3
  "type": "module",
4
- "version": "3.3.0",
4
+ "version": "3.3.1",
5
5
  "description": "PostCSS transforms that bring Tailwind CSS compatibility to every platform. 将 Tailwind CSS 兼容能力带到全端的 PostCSS 转换工具。",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -66,7 +66,7 @@
66
66
  "node": "^20.19.0 || >=22.12.0"
67
67
  },
68
68
  "dependencies": {
69
- "@csstools/css-color-parser": "^4.2.1",
69
+ "@csstools/css-color-parser": "^4.2.2",
70
70
  "@csstools/css-parser-algorithms": "^4.0.0",
71
71
  "@csstools/css-tokenizer": "^4.0.0",
72
72
  "@tailwindcss-mangle/engine": "0.2.0",
@@ -74,7 +74,7 @@
74
74
  "@weapp-tailwindcss/postcss-calc": "1.0.5",
75
75
  "@weapp-tailwindcss/shared": "2.0.3",
76
76
  "autoprefixer": "^10.5.4",
77
- "es-toolkit": "^1.51.0",
77
+ "es-toolkit": "^1.52.0",
78
78
  "lru-cache": "11.5.2",
79
79
  "micromatch": "^4.0.8",
80
80
  "postcss": "^8.5.26",
@@ -91,7 +91,7 @@
91
91
  "devDependencies": {
92
92
  "@csstools/postcss-is-pseudo-class": "^6.0.0",
93
93
  "fast-check": "^4.9.0",
94
- "postcss-calc": "link:packages/postcss-calc",
94
+ "postcss-calc": "link:../postcss-calc",
95
95
  "postcss-custom-properties": "^15.0.1"
96
96
  },
97
97
  "scripts": {