weapp-tailwindcss 5.0.0-next.8 → 5.0.0-next.9

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.
@@ -2,6 +2,7 @@ export declare function parseImportRequest(params: string): string | undefined;
2
2
  export declare function removeTailwindSourceDirectives(rawSource: string): string;
3
3
  export declare function hasTailwindSourceDirectives(rawSource: string): boolean;
4
4
  export declare function hasTailwindRootDirectives(rawSource: string): boolean;
5
+ export declare function hasTailwindApplyDirective(rawSource: string): boolean;
5
6
  export declare function resolveCssEntrySource(rawSource: string, base: string, options?: {
6
7
  removeConfig?: boolean;
7
8
  }): {
@@ -147,6 +147,20 @@ function hasTailwindRootDirectives(rawSource) {
147
147
  return true;
148
148
  }
149
149
  }
150
+ function hasTailwindApplyDirective(rawSource) {
151
+ if (!rawSource.includes("@apply")) return false;
152
+ try {
153
+ const root = postcss.default.parse(rawSource);
154
+ let found = false;
155
+ root.walkAtRules("apply", () => {
156
+ found = true;
157
+ return false;
158
+ });
159
+ return found;
160
+ } catch {
161
+ return false;
162
+ }
163
+ }
150
164
  function resolveCssEntrySource(rawSource, base, options = {}) {
151
165
  try {
152
166
  const root = postcss.default.parse(rawSource);
@@ -905,6 +919,10 @@ function tryResolveTailwindV4SourceOptions(runtimeState) {
905
919
  function hasConfiguredTailwindV4CssSource(sourceOptions) {
906
920
  return Boolean(sourceOptions?.css) || Boolean(sourceOptions?.cssSources?.length);
907
921
  }
922
+ function createTailwindV4ApplyReferenceSource(css, sourceOptions) {
923
+ if (!hasTailwindApplyDirective(css) || hasTailwindRootDirectives(css)) return css;
924
+ return `@reference "${sourceOptions.packageName ?? "tailwindcss"}";\n${css}`;
925
+ }
908
926
  async function resolveGeneratorSource(majorVersion, runtimeState, rawSource, file, cssHandlerOptions, generatorOptions) {
909
927
  const cssEntrySource = resolveCssEntrySource(rawSource, resolveCssSourceBase(file, cssHandlerOptions), { removeConfig: majorVersion === 3 });
910
928
  if (majorVersion === 3) {
@@ -953,10 +971,11 @@ async function resolveGeneratorSource(majorVersion, runtimeState, rawSource, fil
953
971
  }
954
972
  const resolvedSourceOptions = sourceOptions ?? {};
955
973
  const config = resolveExistingConfigPath(resolvedEntrySource.config, resolvedEntrySource.configRequest, file, resolvedSourceOptions);
974
+ const css = createTailwindV4ApplyReferenceSource(normalizeConfigDirective(prependConfigDirective(resolvedEntrySource.css, generatorOptions?.config), config), resolvedSourceOptions);
956
975
  return require_generator.resolveTailwindV4Source({
957
976
  ...resolvedSourceOptions,
958
977
  base: resolvedEntrySource.base,
959
- css: normalizeConfigDirective(prependConfigDirective(resolvedEntrySource.css, generatorOptions?.config), config)
978
+ css
960
979
  });
961
980
  }
962
981
  async function resolveGeneratorSources(majorVersion, runtimeState, rawSource, file, cssHandlerOptions, generatorOptions) {
@@ -143,6 +143,20 @@ function hasTailwindRootDirectives(rawSource) {
143
143
  return true;
144
144
  }
145
145
  }
146
+ function hasTailwindApplyDirective(rawSource) {
147
+ if (!rawSource.includes("@apply")) return false;
148
+ try {
149
+ const root = postcss.parse(rawSource);
150
+ let found = false;
151
+ root.walkAtRules("apply", () => {
152
+ found = true;
153
+ return false;
154
+ });
155
+ return found;
156
+ } catch {
157
+ return false;
158
+ }
159
+ }
146
160
  function resolveCssEntrySource(rawSource, base, options = {}) {
147
161
  try {
148
162
  const root = postcss.parse(rawSource);
@@ -901,6 +915,10 @@ function tryResolveTailwindV4SourceOptions(runtimeState) {
901
915
  function hasConfiguredTailwindV4CssSource(sourceOptions) {
902
916
  return Boolean(sourceOptions?.css) || Boolean(sourceOptions?.cssSources?.length);
903
917
  }
918
+ function createTailwindV4ApplyReferenceSource(css, sourceOptions) {
919
+ if (!hasTailwindApplyDirective(css) || hasTailwindRootDirectives(css)) return css;
920
+ return `@reference "${sourceOptions.packageName ?? "tailwindcss"}";\n${css}`;
921
+ }
904
922
  async function resolveGeneratorSource(majorVersion, runtimeState, rawSource, file, cssHandlerOptions, generatorOptions) {
905
923
  const cssEntrySource = resolveCssEntrySource(rawSource, resolveCssSourceBase(file, cssHandlerOptions), { removeConfig: majorVersion === 3 });
906
924
  if (majorVersion === 3) {
@@ -949,10 +967,11 @@ async function resolveGeneratorSource(majorVersion, runtimeState, rawSource, fil
949
967
  }
950
968
  const resolvedSourceOptions = sourceOptions ?? {};
951
969
  const config = resolveExistingConfigPath(resolvedEntrySource.config, resolvedEntrySource.configRequest, file, resolvedSourceOptions);
970
+ const css = createTailwindV4ApplyReferenceSource(normalizeConfigDirective(prependConfigDirective(resolvedEntrySource.css, generatorOptions?.config), config), resolvedSourceOptions);
952
971
  return resolveTailwindV4Source({
953
972
  ...resolvedSourceOptions,
954
973
  base: resolvedEntrySource.base,
955
- css: normalizeConfigDirective(prependConfigDirective(resolvedEntrySource.css, generatorOptions?.config), config)
974
+ css
956
975
  });
957
976
  }
958
977
  async function resolveGeneratorSources(majorVersion, runtimeState, rawSource, file, cssHandlerOptions, generatorOptions) {
package/dist/gulp.js CHANGED
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-8l464Juk.js");
3
3
  const require_cache = require("./cache-BVAiJV3J.js");
4
4
  const require_runtime_patch = require("./runtime-patch-D6mBo_KB.js");
5
- const require_generator_css = require("./generator-css-Mksw8PgB.js");
5
+ const require_generator_css = require("./generator-css-Bwp3nbrl.js");
6
6
  const require_precheck = require("./precheck-B32p-gLI.js");
7
7
  const require_tailwindcss = require("./tailwindcss-Bu-RWIHx.js");
8
8
  let node_path = require("node:path");
package/dist/gulp.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { n as getRuntimeClassSetSignature } from "./cache-CHs4DXui.mjs";
2
2
  import { n as createDebug } from "./runtime-patch-CwN5ya72.mjs";
3
- import { i as hasTailwindRootDirectives, r as processCachedTask, t as generateCssByGenerator } from "./generator-css-BIapP56i.mjs";
3
+ import { i as hasTailwindRootDirectives, r as processCachedTask, t as generateCssByGenerator } from "./generator-css-DeLLmp2N.mjs";
4
4
  import { _ as ensureRuntimeClassSet, g as createTailwindRuntimeReadyPromise, n as getCompilerContext, t as shouldSkipJsTransform } from "./precheck-B4RH6ZNN.mjs";
5
5
  import { c as upsertTailwindV4CssSource, s as hasConfiguredTailwindV4CssRoots } from "./tailwindcss-C5IgPlQ0.mjs";
6
6
  import path from "node:path";
package/dist/index.js CHANGED
@@ -2,8 +2,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_generator = require("./generator-DKkhJbOg.js");
3
3
  const require_gulp = require("./gulp.js");
4
4
  const require_postcss = require("./postcss-QIXwT40c.js");
5
- const require_vite = require("./vite-DyZuiyap.js");
6
- const require_webpack = require("./webpack-CNV2dx3Q.js");
5
+ const require_vite = require("./vite-By5KQi9s.js");
6
+ const require_webpack = require("./webpack-BzN2ly34.js");
7
7
  exports.UnifiedWebpackPluginV5 = require_webpack.UnifiedWebpackPluginV5;
8
8
  exports.WeappTailwindcss = require_vite.WeappTailwindcss;
9
9
  exports.createPlugins = require_gulp.createPlugins;
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { t as createWeappTailwindcssGenerator } from "./generator-UBmfduYg.mjs";
2
2
  import { WeappTailwindcss as createPlugins } from "./gulp.mjs";
3
3
  import { t as weappTailwindcssPostcssPlugin } from "./postcss-w48mGIhe.mjs";
4
- import { t as WeappTailwindcss } from "./vite-BwgRVgxH.mjs";
5
- import { n as weappTailwindcssPackageDir, t as UnifiedWebpackPluginV5 } from "./webpack-CT6EEENx.mjs";
4
+ import { t as WeappTailwindcss } from "./vite-Cyp42bBf.mjs";
5
+ import { n as weappTailwindcssPackageDir, t as UnifiedWebpackPluginV5 } from "./webpack-DJazm5sT.mjs";
6
6
  export { UnifiedWebpackPluginV5, WeappTailwindcss, createPlugins, createWeappTailwindcssGenerator, weappTailwindcssPackageDir, weappTailwindcssPostcssPlugin };
@@ -2,7 +2,7 @@ const require_chunk = require("./chunk-8l464Juk.js");
2
2
  const require_cache = require("./cache-BVAiJV3J.js");
3
3
  const require_runtime_patch = require("./runtime-patch-D6mBo_KB.js");
4
4
  const require_generator = require("./generator-DKkhJbOg.js");
5
- const require_generator_css = require("./generator-css-Mksw8PgB.js");
5
+ const require_generator_css = require("./generator-css-Bwp3nbrl.js");
6
6
  const require_precheck = require("./precheck-B32p-gLI.js");
7
7
  const require_utils = require("./utils-BiShvil9.js");
8
8
  const require_tailwindcss = require("./tailwindcss-Bu-RWIHx.js");
@@ -1232,7 +1232,7 @@ function createGenerateBundleHook(context) {
1232
1232
  let unresolvedDynamicCandidates = collectUnescapedDynamicCandidates(transformed);
1233
1233
  if (unresolvedDynamicCandidates.length > 0) {
1234
1234
  _weapp_tailwindcss_logger.logger.warn("检测到 WXML 动态类名未完成转译,已回退到完整 runtimeSet 重试: %s -> %O", file, unresolvedDynamicCandidates);
1235
- transformed = await templateHandler(rawSource, { runtimeSet: await context.ensureRuntimeClassSet(true) });
1235
+ transformed = await templateHandler(rawSource, { runtimeSet: new Set([...await context.ensureRuntimeClassSet(true), ...unresolvedDynamicCandidates]) });
1236
1236
  unresolvedDynamicCandidates = collectUnescapedDynamicCandidates(transformed);
1237
1237
  if (unresolvedDynamicCandidates.length > 0) _weapp_tailwindcss_logger.logger.warn("WXML 动态类名在完整 runtimeSet 重试后仍未完成转译: %s -> %O", file, unresolvedDynamicCandidates);
1238
1238
  }
@@ -1706,9 +1706,10 @@ function collectChangedRuntimeFiles(snapshot) {
1706
1706
  return new Set([...snapshot.runtimeAffectingChangedByType.html, ...snapshot.runtimeAffectingChangedByType.js]);
1707
1707
  }
1708
1708
  function resolveEntryExtension(entry) {
1709
+ if (entry.type === "html") return "html";
1709
1710
  const ext = entry.file.split(/[?#]/, 1)[0]?.split(".").pop()?.replace(EXTENSION_DOT_PREFIX_RE, "") ?? "";
1710
1711
  if (ext.length > 0) return ext;
1711
- return entry.type === "html" ? "html" : "js";
1712
+ return "js";
1712
1713
  }
1713
1714
  function createCandidateValidationSource(candidates) {
1714
1715
  return [...new Set(candidates)].sort().join("\n");
@@ -1,7 +1,7 @@
1
1
  import { c as resolveTailwindcssOptions, l as findNearestPackageRoot, n as getRuntimeClassSetSignature, s as findTailwindConfig } from "./cache-CHs4DXui.mjs";
2
2
  import { n as createDebug } from "./runtime-patch-CwN5ya72.mjs";
3
3
  import { d as filterUnsupportedMiniProgramTailwindV4Candidates, f as loadTailwindV4DesignSystem, i as normalizeWeappTailwindcssGeneratorOptions, s as resolveTailwindV4SourceFromPatcher } from "./generator-UBmfduYg.mjs";
4
- import { a as hasTailwindSourceDirectives, i as hasTailwindRootDirectives, n as validateCandidatesByGenerator, o as hasTailwindGeneratedCssMarkers, r as processCachedTask, t as generateCssByGenerator } from "./generator-css-BIapP56i.mjs";
4
+ import { a as hasTailwindSourceDirectives, i as hasTailwindRootDirectives, n as validateCandidatesByGenerator, o as hasTailwindGeneratedCssMarkers, r as processCachedTask, t as generateCssByGenerator } from "./generator-css-DeLLmp2N.mjs";
5
5
  import { a as analyzeSource, c as isClassContextLiteralPath, d as traverse$1, g as createTailwindRuntimeReadyPromise, h as collectRuntimeClassSet, i as createAttributeMatcher, l as replaceWxml, m as toCustomAttributesEntities, n as getCompilerContext, o as JsTokenUpdater, p as vitePluginName, r as generateCode, s as _defineProperty, t as shouldSkipJsTransform, u as babelParse, v as refreshTailwindRuntimeState } from "./precheck-B4RH6ZNN.mjs";
6
6
  import { o as resolveUniUtsPlatform } from "./utils-Btw1iOVV.mjs";
7
7
  import { c as upsertTailwindV4CssSource, i as resolveUniAppXOptions, r as isUniAppXEnabled, s as hasConfiguredTailwindV4CssRoots } from "./tailwindcss-C5IgPlQ0.mjs";
@@ -1224,7 +1224,7 @@ function createGenerateBundleHook(context) {
1224
1224
  let unresolvedDynamicCandidates = collectUnescapedDynamicCandidates(transformed);
1225
1225
  if (unresolvedDynamicCandidates.length > 0) {
1226
1226
  logger.warn("检测到 WXML 动态类名未完成转译,已回退到完整 runtimeSet 重试: %s -> %O", file, unresolvedDynamicCandidates);
1227
- transformed = await templateHandler(rawSource, { runtimeSet: await context.ensureRuntimeClassSet(true) });
1227
+ transformed = await templateHandler(rawSource, { runtimeSet: new Set([...await context.ensureRuntimeClassSet(true), ...unresolvedDynamicCandidates]) });
1228
1228
  unresolvedDynamicCandidates = collectUnescapedDynamicCandidates(transformed);
1229
1229
  if (unresolvedDynamicCandidates.length > 0) logger.warn("WXML 动态类名在完整 runtimeSet 重试后仍未完成转译: %s -> %O", file, unresolvedDynamicCandidates);
1230
1230
  }
@@ -1698,9 +1698,10 @@ function collectChangedRuntimeFiles(snapshot) {
1698
1698
  return new Set([...snapshot.runtimeAffectingChangedByType.html, ...snapshot.runtimeAffectingChangedByType.js]);
1699
1699
  }
1700
1700
  function resolveEntryExtension(entry) {
1701
+ if (entry.type === "html") return "html";
1701
1702
  const ext = entry.file.split(/[?#]/, 1)[0]?.split(".").pop()?.replace(EXTENSION_DOT_PREFIX_RE, "") ?? "";
1702
1703
  if (ext.length > 0) return ext;
1703
- return entry.type === "html" ? "html" : "js";
1704
+ return "js";
1704
1705
  }
1705
1706
  function createCandidateValidationSource(candidates) {
1706
1707
  return [...new Set(candidates)].sort().join("\n");
package/dist/vite.js CHANGED
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_vite = require("./vite-DyZuiyap.js");
2
+ const require_vite = require("./vite-By5KQi9s.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-BwgRVgxH.mjs";
1
+ import { t as WeappTailwindcss } from "./vite-Cyp42bBf.mjs";
2
2
  export { WeappTailwindcss, WeappTailwindcss as weappTailwindcss };
@@ -1,7 +1,7 @@
1
1
  const require_chunk = require("./chunk-8l464Juk.js");
2
2
  const require_cache = require("./cache-BVAiJV3J.js");
3
3
  const require_runtime_patch = require("./runtime-patch-D6mBo_KB.js");
4
- const require_generator_css = require("./generator-css-Mksw8PgB.js");
4
+ const require_generator_css = require("./generator-css-Bwp3nbrl.js");
5
5
  const require_precheck = require("./precheck-B32p-gLI.js");
6
6
  const require_utils = require("./utils-BiShvil9.js");
7
7
  const require_tailwindcss = require("./tailwindcss-Bu-RWIHx.js");
@@ -1,6 +1,6 @@
1
1
  import { c as resolveTailwindcssOptions, n as getRuntimeClassSetSignature } from "./cache-CHs4DXui.mjs";
2
2
  import { n as createDebug } from "./runtime-patch-CwN5ya72.mjs";
3
- import { r as processCachedTask, t as generateCssByGenerator } from "./generator-css-BIapP56i.mjs";
3
+ import { r as processCachedTask, t as generateCssByGenerator } from "./generator-css-DeLLmp2N.mjs";
4
4
  import { _ as ensureRuntimeClassSet, f as pluginName, g as createTailwindRuntimeReadyPromise, n as getCompilerContext, s as _defineProperty, t as shouldSkipJsTransform, v as refreshTailwindRuntimeState } from "./precheck-B4RH6ZNN.mjs";
5
5
  import { r as getGroupedEntries } from "./utils-Btw1iOVV.mjs";
6
6
  import { c as upsertTailwindV4CssSource, s as hasConfiguredTailwindV4CssRoots } from "./tailwindcss-C5IgPlQ0.mjs";
package/dist/webpack.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_webpack = require("./webpack-CNV2dx3Q.js");
2
+ const require_webpack = require("./webpack-BzN2ly34.js");
3
3
  exports.UnifiedWebpackPluginV5 = require_webpack.UnifiedWebpackPluginV5;
4
4
  exports.WeappTailwindcss = require_webpack.UnifiedWebpackPluginV5;
5
5
  exports.weappTailwindcss = require_webpack.UnifiedWebpackPluginV5;
package/dist/webpack.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { n as weappTailwindcssPackageDir, t as UnifiedWebpackPluginV5 } from "./webpack-CT6EEENx.mjs";
1
+ import { n as weappTailwindcssPackageDir, t as UnifiedWebpackPluginV5 } from "./webpack-DJazm5sT.mjs";
2
2
  export { UnifiedWebpackPluginV5, UnifiedWebpackPluginV5 as WeappTailwindcss, UnifiedWebpackPluginV5 as weappTailwindcss, weappTailwindcssPackageDir };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "weapp-tailwindcss",
3
- "version": "5.0.0-next.8",
3
+ "version": "5.0.0-next.9",
4
4
  "description": "把 tailwindcss 原子化样式思想,带给小程序开发者们! bring tailwindcss to miniprogram developers!",
5
5
  "author": "ice breaker <1324318532@qq.com>",
6
6
  "license": "MIT",
@@ -189,9 +189,9 @@
189
189
  "tailwindcss-patch": "9.3.3",
190
190
  "yaml": "^2.9.0",
191
191
  "@weapp-tailwindcss/logger": "1.1.0",
192
- "@weapp-tailwindcss/postcss": "2.2.1-next.1",
193
192
  "@weapp-tailwindcss/reset": "0.1.1-next.0",
194
193
  "@weapp-tailwindcss/shared": "1.1.3",
194
+ "@weapp-tailwindcss/postcss": "2.2.1-next.1",
195
195
  "tailwindcss-config": "1.1.6-next.1"
196
196
  },
197
197
  "scripts": {