weapp-tailwindcss 5.0.0-next.29 → 5.0.0-next.30

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.
package/dist/gulp.js CHANGED
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-C5U5_Hdc.js");
3
3
  const require_v3_engine = require("./v3-engine-CHItlVq5.js");
4
- const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-fEzwIzRB.js");
4
+ const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-BxvZONkv.js");
5
5
  const require_precheck = require("./precheck-D7gJSmJz.js");
6
6
  const require_tailwindcss = require("./tailwindcss-B-e2RiXr.js");
7
7
  const require_source_candidates = require("./source-candidates-DNM8iwXW.js");
package/dist/gulp.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { b as ensureRuntimeClassSet, n as getCompilerContext, t as shouldSkipJsTransform, y as createTailwindRuntimeReadyPromise } from "./precheck-D7K12zeX.mjs";
2
2
  import { B as createDebug, _ as resolveViteSourceScanEntries, l as getRuntimeClassSetSignature } from "./v3-engine-DcvCCHfs.mjs";
3
- import { i as generateCssByGenerator, l as normalizeTailwindSourceForGenerator, o as processCachedTask, r as emitHmrTiming, s as hasTailwindRootDirectives, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-DLv96b8z.mjs";
3
+ import { i as generateCssByGenerator, l as normalizeTailwindSourceForGenerator, o as processCachedTask, r as emitHmrTiming, s as hasTailwindRootDirectives, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-BdZHkoTs.mjs";
4
4
  import { c as upsertTailwindV4CssSource, s as hasConfiguredTailwindV4CssRoots } from "./tailwindcss-C7dJHZ0G.mjs";
5
5
  import { t as createSourceCandidateCollector } from "./source-candidates-CX2ozpKM.mjs";
6
6
  import fs from "node:fs";
@@ -102,8 +102,8 @@ const TAILWIND_ROOT_DIRECTIVE_NAMES = new Set([
102
102
  ]);
103
103
  const TAILWIND_ROOT_DIRECTIVE_RE = /@(?:import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|(?:use|forward)\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|tailwind|config|custom-variant|plugin|source|theme|utility|variant)\b/;
104
104
  const TAILWIND_EXTRACTABLE_DIRECTIVE_RE = /^\s*@(?:import|use|forward|tailwind|config|source|reference|plugin)\b[\s\S]*?(?:;|$)/;
105
- const TAILWIND_EXTRACTABLE_BLOCK_DIRECTIVE_RE = /^\s*@(?:theme|utility|variant|custom-variant)\b[\s\S]*$/;
106
105
  const TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE = /^\s*@layer\s[^;{]+;\s*$/;
106
+ const TAILWIND_EXTRACTABLE_BLOCK_START_RE = /^\s*@(?:layer|theme|utility|variant|custom-variant)\b[\s\S]*\{/;
107
107
  function parseImportRequest(params) {
108
108
  return /^(?:url\(\s*)?(["']?)([^"')\s]+)\1\s*\)?/.exec(params.trim())?.[2];
109
109
  }
@@ -169,7 +169,7 @@ function extractTailwindDirectiveLines(rawSource, options = {}) {
169
169
  for (const line of stripGeneratorPlaceholderMarkers(rawSource).split(/\r?\n/)) {
170
170
  const trimmed = line.trim();
171
171
  if (!trimmed || trimmed.startsWith("//")) continue;
172
- const directive = TAILWIND_EXTRACTABLE_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_BLOCK_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE.exec(line)?.[0];
172
+ const directive = TAILWIND_EXTRACTABLE_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE.exec(line)?.[0];
173
173
  if (!directive) continue;
174
174
  const normalized = normalizeTailwindDirectiveLine(directive.trimEnd(), options);
175
175
  const normalizedTrimmed = normalized.trim();
@@ -186,8 +186,88 @@ function extractTailwindDirectiveLines(rawSource, options = {}) {
186
186
  }
187
187
  return directives;
188
188
  }
189
+ function stripPreprocessorLineComment(line) {
190
+ let quote;
191
+ let escaped = false;
192
+ for (let index = 0; index < line.length; index++) {
193
+ const char = line[index];
194
+ if (escaped) {
195
+ escaped = false;
196
+ continue;
197
+ }
198
+ if (char === "\\") {
199
+ escaped = true;
200
+ continue;
201
+ }
202
+ if (quote) {
203
+ if (char === quote) quote = void 0;
204
+ continue;
205
+ }
206
+ if (char === "\"" || char === "'") {
207
+ quote = char;
208
+ continue;
209
+ }
210
+ if (char === "/" && line[index + 1] === "/" && (index === 0 || /\s/.test(line[index - 1]))) return line.slice(0, index).trimEnd();
211
+ }
212
+ return line;
213
+ }
214
+ function countBlockBraceDelta(line) {
215
+ let quote;
216
+ let escaped = false;
217
+ let delta = 0;
218
+ for (let index = 0; index < line.length; index++) {
219
+ const char = line[index];
220
+ if (escaped) {
221
+ escaped = false;
222
+ continue;
223
+ }
224
+ if (char === "\\") {
225
+ escaped = true;
226
+ continue;
227
+ }
228
+ if (quote) {
229
+ if (char === quote) quote = void 0;
230
+ continue;
231
+ }
232
+ if (char === "\"" || char === "'") {
233
+ quote = char;
234
+ continue;
235
+ }
236
+ if (char === "{") delta++;
237
+ else if (char === "}") delta--;
238
+ }
239
+ return delta;
240
+ }
241
+ function extractTailwindFallbackBlocks(rawSource) {
242
+ const blocks = [];
243
+ let current;
244
+ let depth = 0;
245
+ for (const rawLine of stripGeneratorPlaceholderMarkers(rawSource).split(/\r?\n/)) {
246
+ const line = stripPreprocessorLineComment(rawLine);
247
+ if (!line.trim()) continue;
248
+ if (!current) {
249
+ if (!TAILWIND_EXTRACTABLE_BLOCK_START_RE.test(line)) continue;
250
+ current = [line];
251
+ depth = countBlockBraceDelta(line);
252
+ if (depth <= 0) {
253
+ blocks.push(current.join("\n"));
254
+ current = void 0;
255
+ depth = 0;
256
+ }
257
+ continue;
258
+ }
259
+ current.push(line);
260
+ depth += countBlockBraceDelta(line);
261
+ if (depth <= 0) {
262
+ blocks.push(current.join("\n"));
263
+ current = void 0;
264
+ depth = 0;
265
+ }
266
+ }
267
+ return blocks;
268
+ }
189
269
  function extractTailwindSourceForPostcssFallback(rawSource, options = {}) {
190
- const directives = extractTailwindDirectiveLines(rawSource, options);
270
+ const directives = [...extractTailwindDirectiveLines(rawSource, options), ...extractTailwindFallbackBlocks(rawSource)];
191
271
  return directives.length > 0 ? directives.join("\n") : void 0;
192
272
  }
193
273
  function extractConfigRequestFromSource(rawSource) {
@@ -239,8 +319,8 @@ function isTailwindGenerationDirective(node, options = {}) {
239
319
  }
240
320
  function removeTailwindSourceDirectives(rawSource, options = {}) {
241
321
  try {
242
- if (hasPreprocessorOnlySyntax(rawSource)) return "";
243
- const source = stripGeneratorPlaceholderMarkers(rawSource);
322
+ const source = hasPreprocessorOnlySyntax(rawSource) ? extractTailwindSourceForPostcssFallback(rawSource, options) : stripGeneratorPlaceholderMarkers(rawSource);
323
+ if (!source) return "";
244
324
  const root = postcss.parse(source);
245
325
  let removed = false;
246
326
  root.walk((node) => {
@@ -106,8 +106,8 @@ const TAILWIND_ROOT_DIRECTIVE_NAMES = new Set([
106
106
  ]);
107
107
  const TAILWIND_ROOT_DIRECTIVE_RE = /@(?:import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|(?:use|forward)\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|tailwind|config|custom-variant|plugin|source|theme|utility|variant)\b/;
108
108
  const TAILWIND_EXTRACTABLE_DIRECTIVE_RE = /^\s*@(?:import|use|forward|tailwind|config|source|reference|plugin)\b[\s\S]*?(?:;|$)/;
109
- const TAILWIND_EXTRACTABLE_BLOCK_DIRECTIVE_RE = /^\s*@(?:theme|utility|variant|custom-variant)\b[\s\S]*$/;
110
109
  const TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE = /^\s*@layer\s[^;{]+;\s*$/;
110
+ const TAILWIND_EXTRACTABLE_BLOCK_START_RE = /^\s*@(?:layer|theme|utility|variant|custom-variant)\b[\s\S]*\{/;
111
111
  function parseImportRequest(params) {
112
112
  return /^(?:url\(\s*)?(["']?)([^"')\s]+)\1\s*\)?/.exec(params.trim())?.[2];
113
113
  }
@@ -173,7 +173,7 @@ function extractTailwindDirectiveLines(rawSource, options = {}) {
173
173
  for (const line of stripGeneratorPlaceholderMarkers(rawSource).split(/\r?\n/)) {
174
174
  const trimmed = line.trim();
175
175
  if (!trimmed || trimmed.startsWith("//")) continue;
176
- const directive = TAILWIND_EXTRACTABLE_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_BLOCK_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE.exec(line)?.[0];
176
+ const directive = TAILWIND_EXTRACTABLE_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE.exec(line)?.[0];
177
177
  if (!directive) continue;
178
178
  const normalized = normalizeTailwindDirectiveLine(directive.trimEnd(), options);
179
179
  const normalizedTrimmed = normalized.trim();
@@ -190,8 +190,88 @@ function extractTailwindDirectiveLines(rawSource, options = {}) {
190
190
  }
191
191
  return directives;
192
192
  }
193
+ function stripPreprocessorLineComment(line) {
194
+ let quote;
195
+ let escaped = false;
196
+ for (let index = 0; index < line.length; index++) {
197
+ const char = line[index];
198
+ if (escaped) {
199
+ escaped = false;
200
+ continue;
201
+ }
202
+ if (char === "\\") {
203
+ escaped = true;
204
+ continue;
205
+ }
206
+ if (quote) {
207
+ if (char === quote) quote = void 0;
208
+ continue;
209
+ }
210
+ if (char === "\"" || char === "'") {
211
+ quote = char;
212
+ continue;
213
+ }
214
+ if (char === "/" && line[index + 1] === "/" && (index === 0 || /\s/.test(line[index - 1]))) return line.slice(0, index).trimEnd();
215
+ }
216
+ return line;
217
+ }
218
+ function countBlockBraceDelta(line) {
219
+ let quote;
220
+ let escaped = false;
221
+ let delta = 0;
222
+ for (let index = 0; index < line.length; index++) {
223
+ const char = line[index];
224
+ if (escaped) {
225
+ escaped = false;
226
+ continue;
227
+ }
228
+ if (char === "\\") {
229
+ escaped = true;
230
+ continue;
231
+ }
232
+ if (quote) {
233
+ if (char === quote) quote = void 0;
234
+ continue;
235
+ }
236
+ if (char === "\"" || char === "'") {
237
+ quote = char;
238
+ continue;
239
+ }
240
+ if (char === "{") delta++;
241
+ else if (char === "}") delta--;
242
+ }
243
+ return delta;
244
+ }
245
+ function extractTailwindFallbackBlocks(rawSource) {
246
+ const blocks = [];
247
+ let current;
248
+ let depth = 0;
249
+ for (const rawLine of stripGeneratorPlaceholderMarkers(rawSource).split(/\r?\n/)) {
250
+ const line = stripPreprocessorLineComment(rawLine);
251
+ if (!line.trim()) continue;
252
+ if (!current) {
253
+ if (!TAILWIND_EXTRACTABLE_BLOCK_START_RE.test(line)) continue;
254
+ current = [line];
255
+ depth = countBlockBraceDelta(line);
256
+ if (depth <= 0) {
257
+ blocks.push(current.join("\n"));
258
+ current = void 0;
259
+ depth = 0;
260
+ }
261
+ continue;
262
+ }
263
+ current.push(line);
264
+ depth += countBlockBraceDelta(line);
265
+ if (depth <= 0) {
266
+ blocks.push(current.join("\n"));
267
+ current = void 0;
268
+ depth = 0;
269
+ }
270
+ }
271
+ return blocks;
272
+ }
193
273
  function extractTailwindSourceForPostcssFallback(rawSource, options = {}) {
194
- const directives = extractTailwindDirectiveLines(rawSource, options);
274
+ const directives = [...extractTailwindDirectiveLines(rawSource, options), ...extractTailwindFallbackBlocks(rawSource)];
195
275
  return directives.length > 0 ? directives.join("\n") : void 0;
196
276
  }
197
277
  function extractConfigRequestFromSource(rawSource) {
@@ -243,8 +323,8 @@ function isTailwindGenerationDirective(node, options = {}) {
243
323
  }
244
324
  function removeTailwindSourceDirectives(rawSource, options = {}) {
245
325
  try {
246
- if (hasPreprocessorOnlySyntax(rawSource)) return "";
247
- const source = stripGeneratorPlaceholderMarkers(rawSource);
326
+ const source = hasPreprocessorOnlySyntax(rawSource) ? extractTailwindSourceForPostcssFallback(rawSource, options) : stripGeneratorPlaceholderMarkers(rawSource);
327
+ if (!source) return "";
248
328
  const root = postcss.default.parse(source);
249
329
  let removed = false;
250
330
  root.walk((node) => {
package/dist/index.js CHANGED
@@ -2,8 +2,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_generator = require("./generator-CrU-Ghc1.js");
3
3
  const require_gulp = require("./gulp.js");
4
4
  const require_postcss = require("./postcss-DAWf9D3C.js");
5
- const require_vite = require("./vite-D_EMLjvP.js");
6
- const require_webpack = require("./webpack-B5k05Upp.js");
5
+ const require_vite = require("./vite-C65DdWEj.js");
6
+ const require_webpack = require("./webpack-CqGvjvSQ.js");
7
7
  let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
8
8
  exports.WeappTailwindcss = require_vite.WeappTailwindcss;
9
9
  exports.createPlugins = require_gulp.createPlugins;
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { t as createWeappTailwindcssGenerator } from "./generator-Qw-tZ0Z2.mjs";
2
2
  import { WeappTailwindcss as createPlugins } from "./gulp.mjs";
3
3
  import { t as weappTailwindcssPostcssPlugin } from "./postcss-C6zOQqlL.mjs";
4
- import { t as WeappTailwindcss } from "./vite-7MqNbLiG.mjs";
5
- import { n as weappTailwindcssPackageDir } from "./webpack-B3u9FGLJ.mjs";
4
+ import { t as WeappTailwindcss } from "./vite-rmL1rsA_.mjs";
5
+ import { n as weappTailwindcssPackageDir } from "./webpack-BU2Er4qg.mjs";
6
6
  import { unitConversionComposeRules, unitConversionPresets } from "@weapp-tailwindcss/postcss";
7
7
  export { WeappTailwindcss, createPlugins, createWeappTailwindcssGenerator, unitConversionComposeRules, unitConversionPresets, weappTailwindcssPackageDir, weappTailwindcssPostcssPlugin };
@@ -1,7 +1,7 @@
1
1
  const require_chunk = require("./chunk-C5U5_Hdc.js");
2
2
  const require_v3_engine = require("./v3-engine-CHItlVq5.js");
3
3
  const require_generator = require("./generator-CrU-Ghc1.js");
4
- const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-fEzwIzRB.js");
4
+ const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-BxvZONkv.js");
5
5
  const require_precheck = require("./precheck-D7gJSmJz.js");
6
6
  const require_utils = require("./utils-D7Ygohep.js");
7
7
  const require_tailwindcss = require("./tailwindcss-B-e2RiXr.js");
@@ -1,7 +1,7 @@
1
1
  import { C as __esmMin, S as __commonJSMin, _ as toCustomAttributesEntities, a as vitePluginName, c as createAttributeMatcher, d as _defineProperty, f as init_defineProperty, h as babelParse, l as analyzeSource, m as replaceWxml, n as getCompilerContext, p as isClassContextLiteralPath, s as generateCode, t as shouldSkipJsTransform, u as JsTokenUpdater, v as collectRuntimeClassSet, w as __require, x as refreshTailwindRuntimeState, y as createTailwindRuntimeReadyPromise } from "./precheck-D7K12zeX.mjs";
2
2
  import { B as createDebug, E as filterUnsupportedMiniProgramTailwindV4Candidates, J as findNearestPackageRoot, U as findTailwindConfig, W as resolveTailwindcssOptions, _ as resolveViteSourceScanEntries, g as resolveTailwindV4EntriesFromCssCached, l as getRuntimeClassSetSignature, m as discoverTailwindV4CssEntries, p as createViteSourceScanMatcher, q as omitUndefined, v as resolveViteTailwindV4CssDependencies } from "./v3-engine-DcvCCHfs.mjs";
3
3
  import { i as normalizeWeappTailwindcssGeneratorOptions } from "./generator-Qw-tZ0Z2.mjs";
4
- import { a as validateCandidatesByGenerator, c as hasTailwindSourceDirectives, i as generateCssByGenerator, l as normalizeTailwindSourceForGenerator, n as createHmrTimingRecorder, o as processCachedTask, s as hasTailwindRootDirectives, t as createBundleRuntimeClassSetManager, u as hasTailwindGeneratedCssMarkers } from "./incremental-runtime-class-set-DLv96b8z.mjs";
4
+ import { a as validateCandidatesByGenerator, c as hasTailwindSourceDirectives, i as generateCssByGenerator, l as normalizeTailwindSourceForGenerator, n as createHmrTimingRecorder, o as processCachedTask, s as hasTailwindRootDirectives, t as createBundleRuntimeClassSetManager, u as hasTailwindGeneratedCssMarkers } from "./incremental-runtime-class-set-BdZHkoTs.mjs";
5
5
  import { o as resolveUniUtsPlatform } from "./utils-DsaS975I.mjs";
6
6
  import { c as upsertTailwindV4CssSource, i as resolveUniAppXOptions, r as isUniAppXEnabled, s as hasConfiguredTailwindV4CssRoots } from "./tailwindcss-C7dJHZ0G.mjs";
7
7
  import { n as isSourceCandidateRequest, t as createSourceCandidateCollector } from "./source-candidates-CX2ozpKM.mjs";
package/dist/vite.js CHANGED
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_vite = require("./vite-D_EMLjvP.js");
2
+ const require_vite = require("./vite-C65DdWEj.js");
3
3
  exports.WeappTailwindcss = require_vite.WeappTailwindcss;
4
4
  exports.weappTailwindcss = require_vite.WeappTailwindcss;
package/dist/vite.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as WeappTailwindcss } from "./vite-7MqNbLiG.mjs";
1
+ import { t as WeappTailwindcss } from "./vite-rmL1rsA_.mjs";
2
2
  export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss };
@@ -3270,8 +3270,8 @@ const TAILWIND_ROOT_DIRECTIVE_NAMES = new Set([
3270
3270
  ]);
3271
3271
  const TAILWIND_ROOT_DIRECTIVE_RE = /@(?:import\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|(?:use|forward)\s+(?:url\(\s*)?["']?tailwindcss4?(?:\/[^"')\s]*)?|tailwind|config|custom-variant|plugin|source|theme|utility|variant)\b/;
3272
3272
  const TAILWIND_EXTRACTABLE_DIRECTIVE_RE = /^\s*@(?:import|use|forward|tailwind|config|source|reference|plugin)\b[\s\S]*?(?:;|$)/;
3273
- const TAILWIND_EXTRACTABLE_BLOCK_DIRECTIVE_RE = /^\s*@(?:theme|utility|variant|custom-variant)\b[\s\S]*$/;
3274
3273
  const TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE = /^\s*@layer\s[^;{]+;\s*$/;
3274
+ const TAILWIND_EXTRACTABLE_BLOCK_START_RE = /^\s*@(?:layer|theme|utility|variant|custom-variant)\b[\s\S]*\{/;
3275
3275
  function parseImportRequest(params) {
3276
3276
  return /^(?:url\(\s*)?(["']?)([^"')\s]+)\1\s*\)?/.exec(params.trim())?.[2];
3277
3277
  }
@@ -3337,7 +3337,7 @@ function extractTailwindDirectiveLines(rawSource, options = {}) {
3337
3337
  for (const line of stripGeneratorPlaceholderMarkers(rawSource).split(/\r?\n/)) {
3338
3338
  const trimmed = line.trim();
3339
3339
  if (!trimmed || trimmed.startsWith("//")) continue;
3340
- const directive = TAILWIND_EXTRACTABLE_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_BLOCK_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE.exec(line)?.[0];
3340
+ const directive = TAILWIND_EXTRACTABLE_DIRECTIVE_RE.exec(line)?.[0] ?? TAILWIND_EXTRACTABLE_LAYER_STATEMENT_RE.exec(line)?.[0];
3341
3341
  if (!directive) continue;
3342
3342
  const normalized = normalizeTailwindDirectiveLine(directive.trimEnd(), options);
3343
3343
  const normalizedTrimmed = normalized.trim();
@@ -3354,8 +3354,88 @@ function extractTailwindDirectiveLines(rawSource, options = {}) {
3354
3354
  }
3355
3355
  return directives;
3356
3356
  }
3357
+ function stripPreprocessorLineComment(line) {
3358
+ let quote;
3359
+ let escaped = false;
3360
+ for (let index = 0; index < line.length; index++) {
3361
+ const char = line[index];
3362
+ if (escaped) {
3363
+ escaped = false;
3364
+ continue;
3365
+ }
3366
+ if (char === "\\") {
3367
+ escaped = true;
3368
+ continue;
3369
+ }
3370
+ if (quote) {
3371
+ if (char === quote) quote = void 0;
3372
+ continue;
3373
+ }
3374
+ if (char === "\"" || char === "'") {
3375
+ quote = char;
3376
+ continue;
3377
+ }
3378
+ if (char === "/" && line[index + 1] === "/" && (index === 0 || /\s/.test(line[index - 1]))) return line.slice(0, index).trimEnd();
3379
+ }
3380
+ return line;
3381
+ }
3382
+ function countBlockBraceDelta(line) {
3383
+ let quote;
3384
+ let escaped = false;
3385
+ let delta = 0;
3386
+ for (let index = 0; index < line.length; index++) {
3387
+ const char = line[index];
3388
+ if (escaped) {
3389
+ escaped = false;
3390
+ continue;
3391
+ }
3392
+ if (char === "\\") {
3393
+ escaped = true;
3394
+ continue;
3395
+ }
3396
+ if (quote) {
3397
+ if (char === quote) quote = void 0;
3398
+ continue;
3399
+ }
3400
+ if (char === "\"" || char === "'") {
3401
+ quote = char;
3402
+ continue;
3403
+ }
3404
+ if (char === "{") delta++;
3405
+ else if (char === "}") delta--;
3406
+ }
3407
+ return delta;
3408
+ }
3409
+ function extractTailwindFallbackBlocks(rawSource) {
3410
+ const blocks = [];
3411
+ let current;
3412
+ let depth = 0;
3413
+ for (const rawLine of stripGeneratorPlaceholderMarkers(rawSource).split(/\r?\n/)) {
3414
+ const line = stripPreprocessorLineComment(rawLine);
3415
+ if (!line.trim()) continue;
3416
+ if (!current) {
3417
+ if (!TAILWIND_EXTRACTABLE_BLOCK_START_RE.test(line)) continue;
3418
+ current = [line];
3419
+ depth = countBlockBraceDelta(line);
3420
+ if (depth <= 0) {
3421
+ blocks.push(current.join("\n"));
3422
+ current = void 0;
3423
+ depth = 0;
3424
+ }
3425
+ continue;
3426
+ }
3427
+ current.push(line);
3428
+ depth += countBlockBraceDelta(line);
3429
+ if (depth <= 0) {
3430
+ blocks.push(current.join("\n"));
3431
+ current = void 0;
3432
+ depth = 0;
3433
+ }
3434
+ }
3435
+ return blocks;
3436
+ }
3357
3437
  function extractTailwindSourceForPostcssFallback(rawSource, options = {}) {
3358
- const directives = extractTailwindDirectiveLines(rawSource, options);
3438
+ const directives = [...extractTailwindDirectiveLines(rawSource, options), ...extractTailwindFallbackBlocks(rawSource)];
3359
3439
  return directives.length > 0 ? directives.join("\n") : void 0;
3360
3440
  }
3361
3441
  function extractConfigRequestFromSource(rawSource) {
@@ -3407,8 +3487,8 @@ function isTailwindGenerationDirective(node, options = {}) {
3407
3487
  }
3408
3488
  function removeTailwindSourceDirectives(rawSource, options = {}) {
3409
3489
  try {
3410
- if (hasPreprocessorOnlySyntax(rawSource)) return "";
3411
- const source = stripGeneratorPlaceholderMarkers(rawSource);
3490
+ const source = hasPreprocessorOnlySyntax(rawSource) ? extractTailwindSourceForPostcssFallback(rawSource, options) : stripGeneratorPlaceholderMarkers(rawSource);
3491
+ if (!source) return "";
3412
3492
  const root = require_runtime_registry.postcss_default.parse(source);
3413
3493
  let removed = false;
3414
3494
  root.walk((node) => {
@@ -1,7 +1,7 @@
1
1
  import { b as ensureRuntimeClassSet, d as _defineProperty, f as init_defineProperty, i as pluginName, n as getCompilerContext, t as shouldSkipJsTransform, x as refreshTailwindRuntimeState, y as createTailwindRuntimeReadyPromise } from "./precheck-D7K12zeX.mjs";
2
2
  import { B as createDebug, W as resolveTailwindcssOptions, l as getRuntimeClassSetSignature } from "./v3-engine-DcvCCHfs.mjs";
3
3
  import { i as normalizeWeappTailwindcssGeneratorOptions } from "./generator-Qw-tZ0Z2.mjs";
4
- import { i as generateCssByGenerator, o as processCachedTask, r as emitHmrTiming, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-DLv96b8z.mjs";
4
+ import { i as generateCssByGenerator, o as processCachedTask, r as emitHmrTiming, t as createBundleRuntimeClassSetManager } from "./incremental-runtime-class-set-BdZHkoTs.mjs";
5
5
  import { r as getGroupedEntries } from "./utils-DsaS975I.mjs";
6
6
  import { c as upsertTailwindV4CssSource, s as hasConfiguredTailwindV4CssRoots } from "./tailwindcss-C7dJHZ0G.mjs";
7
7
  import { _ as stripRequestQuery, b as toAbsoluteOutputPath, d as resolvePluginDisabledState, g as isSourceStyleRequest, l as stripBundlerGeneratedCssMarkers, n as createBundleBuildState, o as pushConcurrentTaskFactories, r as updateBundleBuildState, t as buildBundleSnapshot, u as resolvePackageDir, y as resolveOutputSpecifier } from "./bundle-state-Bi-cQua6.mjs";
@@ -1,7 +1,7 @@
1
1
  const require_chunk = require("./chunk-C5U5_Hdc.js");
2
2
  const require_v3_engine = require("./v3-engine-CHItlVq5.js");
3
3
  const require_generator = require("./generator-CrU-Ghc1.js");
4
- const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-fEzwIzRB.js");
4
+ const require_incremental_runtime_class_set = require("./incremental-runtime-class-set-BxvZONkv.js");
5
5
  const require_precheck = require("./precheck-D7gJSmJz.js");
6
6
  const require_utils = require("./utils-D7Ygohep.js");
7
7
  const require_tailwindcss = require("./tailwindcss-B-e2RiXr.js");
package/dist/webpack.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_webpack = require("./webpack-B5k05Upp.js");
2
+ const require_webpack = require("./webpack-CqGvjvSQ.js");
3
3
  exports.WeappTailwindcss = require_webpack.WeappTailwindcss;
4
4
  exports.weappTailwindcss = require_webpack.WeappTailwindcss;
5
5
  exports.weappTailwindcssPackageDir = require_webpack.weappTailwindcssPackageDir;
package/dist/webpack.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { n as weappTailwindcssPackageDir, t as WeappTailwindcss } from "./webpack-B3u9FGLJ.mjs";
1
+ import { n as weappTailwindcssPackageDir, t as WeappTailwindcss } from "./webpack-BU2Er4qg.mjs";
2
2
  export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss, weappTailwindcssPackageDir };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "weapp-tailwindcss",
3
- "version": "5.0.0-next.29",
3
+ "version": "5.0.0-next.30",
4
4
  "description": "把 tailwindcss 原子化样式思想,带给小程序开发者们! bring tailwindcss to miniprogram developers!",
5
5
  "author": "ice breaker <1324318532@qq.com>",
6
6
  "license": "MIT",
@@ -185,10 +185,10 @@
185
185
  "tailwindcss-patch": "9.3.7",
186
186
  "yaml": "^2.9.0",
187
187
  "@weapp-tailwindcss/logger": "2.0.0-next.0",
188
- "@weapp-tailwindcss/reset": "0.1.1-next.1",
189
188
  "@weapp-tailwindcss/postcss": "3.0.0-next.8",
190
- "tailwindcss-config": "2.0.0-next.2",
191
- "@weapp-tailwindcss/shared": "2.0.0-next.0"
189
+ "@weapp-tailwindcss/reset": "0.1.1-next.1",
190
+ "@weapp-tailwindcss/shared": "2.0.0-next.0",
191
+ "tailwindcss-config": "2.0.0-next.2"
192
192
  },
193
193
  "devDependencies": {
194
194
  "@vue/compiler-dom": "^3.5.35",