@weapp-tailwindcss/postcss 3.3.5 → 3.3.7

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.
Files changed (107) hide show
  1. package/README.md +10 -0
  2. package/README.zh-CN.md +6 -0
  3. package/dist/compat/index.d.ts +57 -0
  4. package/dist/compat/legacy-css/source-cleanup.d.ts +2 -0
  5. package/dist/compat/mini-program-css/output-import-shell.d.ts +8 -0
  6. package/dist/compat/native/compile.d.ts +2 -0
  7. package/dist/compat/native/properties.d.ts +15 -0
  8. package/dist/compat/native/selectors.d.ts +8 -0
  9. package/dist/compat/native/types.d.ts +23 -0
  10. package/dist/compat/processed-css/cleanup.d.ts +4 -0
  11. package/dist/compat/processed-css/composition.d.ts +6 -0
  12. package/dist/compat/processed-css/entry-directives.d.ts +1 -0
  13. package/dist/compat/processed-css/imports.d.ts +8 -0
  14. package/dist/compat/scoped-css/cleanup.d.ts +4 -0
  15. package/dist/compat/scoped-css/coverage.d.ts +10 -0
  16. package/dist/compat/scoped-css/covered-rules.d.ts +4 -0
  17. package/dist/compat/scoped-css/predicates.d.ts +13 -0
  18. package/dist/compat/tailwind-directive-injection.d.ts +8 -0
  19. package/dist/compat/tailwindcss-v4/generated-output.d.ts +5 -0
  20. package/dist/compat/tailwindcss-v4/package-import-statements.d.ts +1 -0
  21. package/dist/compat/tailwindcss-v4/preflight-imports.d.ts +3 -0
  22. package/dist/compat/tailwindcss-v4/rpx-candidates.d.ts +6 -0
  23. package/dist/compat/tailwindcss-v4/theme-injection.d.ts +1 -0
  24. package/dist/compat/tailwindcss-v4/theme-source.d.ts +5 -0
  25. package/dist/compat/tailwindcss-v4/user-css/apply-only.d.ts +6 -0
  26. package/dist/compat/tailwindcss-v4/user-css/apply-reference.d.ts +4 -0
  27. package/dist/compat/tailwindcss-v4/user-css/at-rules.d.ts +3 -0
  28. package/dist/compat/tailwindcss-v4/user-css/class-selectors.d.ts +2 -0
  29. package/dist/compat/tailwindcss-v4/user-css/directives/entry-source.d.ts +9 -0
  30. package/dist/compat/tailwindcss-v4/user-css/directives/fallback.d.ts +11 -0
  31. package/dist/compat/tailwindcss-v4/user-css/directives/index.d.ts +2 -0
  32. package/dist/compat/tailwindcss-v4/user-css/directives/shared.d.ts +26 -0
  33. package/dist/compat/tailwindcss-v4/user-css/framework-composition.d.ts +2 -0
  34. package/dist/compat/tailwindcss-v4/user-css/framework-source.d.ts +1 -0
  35. package/dist/compat/tailwindcss-v4/user-css/generated-cleanup.d.ts +7 -0
  36. package/dist/compat/tailwindcss-v4/user-css/identity.d.ts +1 -0
  37. package/dist/compat/tailwindcss-v4/user-css/markers.d.ts +32 -0
  38. package/dist/compat/tailwindcss-v4/user-css/rule-deduplication.d.ts +1 -0
  39. package/dist/compat/tailwindcss-v4/user-css/scoped-rules.d.ts +4 -0
  40. package/dist/compat/tailwindcss-v4/user-css/source-fragments.d.ts +15 -0
  41. package/dist/compat/tailwindcss-v4/user-css/transform.d.ts +14 -0
  42. package/dist/compat/tailwindcss-v4/user-css/user-layer-order.d.ts +10 -0
  43. package/dist/compat/tailwindcss-v4/user-css/user-layers.d.ts +15 -0
  44. package/dist/compat/uni-app-x/apply-source.d.ts +2 -0
  45. package/dist/compat/uni-app-x/harmony-apply.d.ts +2 -0
  46. package/dist/compat/uni-app-x/reference-paths.d.ts +2 -0
  47. package/dist/compat/uni-app-x-style-value.d.ts +2 -0
  48. package/dist/compat/webpack-css/bare-selectors.d.ts +1 -0
  49. package/dist/compat/webpack-css/generated-cleanup.d.ts +4 -0
  50. package/dist/compat/webpack-css/identity.d.ts +5 -0
  51. package/dist/compat/webpack-css/preflight.d.ts +5 -0
  52. package/dist/compat/webpack-css/user-source.d.ts +6 -0
  53. package/dist/diagnostics/rpx-theme.d.ts +9 -0
  54. package/dist/directives-C7XTve1w.js +8263 -0
  55. package/dist/experimental/lightningcss/index.cjs +256 -0
  56. package/dist/experimental/lightningcss/index.d.ts +3 -0
  57. package/dist/experimental/lightningcss/index.js +245 -0
  58. package/dist/experimental/lightningcss/options.d.ts +3 -0
  59. package/dist/experimental/lightningcss/selector-transform.d.ts +10 -0
  60. package/dist/experimental/lightningcss/selector-utils.d.ts +10 -0
  61. package/dist/generator-plugin/config-directive.d.ts +5 -0
  62. package/dist/generator-plugin/source-files.d.ts +5 -5
  63. package/dist/generator-plugin/types.d.ts +5 -0
  64. package/dist/index.cjs +383 -9089
  65. package/dist/index.d.ts +2 -43
  66. package/dist/index.js +10 -8935
  67. package/dist/native.cjs +425 -0
  68. package/dist/native.d.ts +3 -0
  69. package/dist/native.js +419 -0
  70. package/dist/plugin-CRzZbcEf.js +185 -0
  71. package/dist/plugin-DwoAGHyN.cjs +194 -0
  72. package/dist/plugin.cjs +3 -0
  73. package/dist/plugin.d.ts +2 -0
  74. package/dist/plugin.js +2 -0
  75. package/dist/postcss-runtime-i5rHe_mj.js +2 -0
  76. package/dist/preflight-BTZL2nvC.cjs +21 -0
  77. package/dist/preflight-DVg4eehD.js +16 -0
  78. package/dist/resolve-BFphwPip.cjs +9987 -0
  79. package/dist/resolve-D-FbFBpF.js +1139 -0
  80. package/dist/rewrite-imports-Dk9TKKSF.js +145 -0
  81. package/dist/shared-CELzerNo.cjs +34 -0
  82. package/dist/shared-CfQUwapA.js +23 -0
  83. package/dist/source-scan/candidates.d.ts +4 -0
  84. package/dist/source-scan/description.d.ts +15 -0
  85. package/dist/source-scan/params.d.ts +5 -0
  86. package/dist/source-scan/resolve.d.ts +30 -0
  87. package/dist/source-scan/tailwind-v4/entry-source.d.ts +16 -0
  88. package/dist/source-scan/tailwind-v4/fingerprint.d.ts +5 -0
  89. package/dist/source-scan.d.ts +3 -24
  90. package/dist/syntax/index.d.ts +1 -0
  91. package/dist/syntax/location-dependencies.d.ts +2 -0
  92. package/dist/syntax/rewrite-imports.d.ts +5 -0
  93. package/dist/syntax/runtime-signature.d.ts +2 -0
  94. package/dist/syntax/source-style.d.ts +1 -0
  95. package/dist/syntax.cjs +1167 -0
  96. package/dist/syntax.d.ts +6 -0
  97. package/dist/syntax.js +3 -0
  98. package/dist/transform-BGYgGeQj.js +9239 -0
  99. package/dist/transform-DpFypcaN.cjs +10956 -0
  100. package/dist/transform.cjs +421 -0
  101. package/dist/transform.d.ts +40 -0
  102. package/dist/transform.js +10 -0
  103. package/dist/utils/apply-source.d.ts +11 -0
  104. package/dist/utils/css-source-trace.d.ts +6 -0
  105. package/dist/utils/custom-property-values.d.ts +4 -0
  106. package/dist/utils/generated-css-marker.d.ts +12 -0
  107. package/package.json +49 -9
@@ -0,0 +1,194 @@
1
+ const require_rolldown_runtime = require("./rolldown-runtime-VH7oDXx4.cjs");
2
+ const require_resolve = require("./resolve-BFphwPip.cjs");
3
+ let postcss = require("postcss");
4
+ postcss = require_rolldown_runtime.__toESM(postcss, 1);
5
+ let node_path = require("node:path");
6
+ node_path = require_rolldown_runtime.__toESM(node_path, 1);
7
+ let _weapp_tailwindcss_engine = require("@weapp-tailwindcss/engine");
8
+ let node_process = require("node:process");
9
+ node_process = require_rolldown_runtime.__toESM(node_process, 1);
10
+ let node_fs_promises = require("node:fs/promises");
11
+ let _weapp_tailwindcss_source_scan = require("@weapp-tailwindcss/source-scan");
12
+ //#region src/generator-plugin/context.ts
13
+ const PLUGIN_NAME$1 = "weapp-tailwindcss";
14
+ function resolveInputFile(result) {
15
+ const from = result.opts.from;
16
+ if (typeof from !== "string" || from.length === 0) return;
17
+ return node_path.default.isAbsolute(from) ? from : node_path.default.resolve(node_process.default.cwd(), from);
18
+ }
19
+ function resolvePostcssBase(result, options) {
20
+ if (options.base) return options.base;
21
+ const inputFile = resolveInputFile(result);
22
+ return inputFile ? node_path.default.dirname(inputFile) : node_process.default.cwd();
23
+ }
24
+ function resolvePostcssProjectRoot(result, options) {
25
+ if (options.projectRoot) return options.projectRoot;
26
+ const inputFile = resolveInputFile(result);
27
+ return inputFile ? node_path.default.dirname(inputFile) : node_process.default.cwd();
28
+ }
29
+ function replaceRootCss(root, css, result) {
30
+ root.removeAll();
31
+ try {
32
+ const nextRoot = postcss.default.parse(css, { from: resolveInputFile(result) });
33
+ root.append(nextRoot.nodes);
34
+ } catch {
35
+ root.raws = { after: css };
36
+ }
37
+ }
38
+ function addDependencyMessages(result, generated) {
39
+ for (const file of generated.dependencies) result.messages.push({
40
+ type: "dependency",
41
+ plugin: PLUGIN_NAME$1,
42
+ file
43
+ });
44
+ }
45
+ function addSourceDependencyMessages(result, files) {
46
+ for (const file of files) result.messages.push({
47
+ type: "dependency",
48
+ plugin: PLUGIN_NAME$1,
49
+ file
50
+ });
51
+ }
52
+ //#endregion
53
+ //#region src/generator-plugin/source-files.ts
54
+ const POSTCSS_SOURCE_PATTERN$1 = (0, _weapp_tailwindcss_source_scan.createSourceScanPattern)(_weapp_tailwindcss_source_scan.DEFAULT_SOURCE_SCAN_EXTENSIONS);
55
+ function resolveCompatibilityScan(root, result, options, context, local) {
56
+ const css = context.css ?? root.toString();
57
+ const applyOnly = require_resolve.hasTailwindApplyDirective(css) && !require_resolve.hasTailwindRootDirectives(root, { importFallback: true });
58
+ const base = resolvePostcssBase(result, options);
59
+ return require_resolve.resolveCssScanSources([{
60
+ root,
61
+ base
62
+ }], {
63
+ base,
64
+ automatic: local || applyOnly || options.scanSources === false ? "disabled" : "auto",
65
+ pattern: POSTCSS_SOURCE_PATTERN$1,
66
+ config: options.config,
67
+ configResolution: "path",
68
+ sourceEntries: context.sourceEntries,
69
+ loadConfigContent: local
70
+ });
71
+ }
72
+ async function collectAutoTailwindCandidates(root, result, options, context = {}) {
73
+ if (options.scanSources === false) return /* @__PURE__ */ new Set();
74
+ const scan = await resolveCompatibilityScan(root, result, options, context, false);
75
+ const candidates = !scan.entries.some((entry) => !entry.negated) ? [] : await (0, _weapp_tailwindcss_engine.extractValidCandidates)({
76
+ base: resolvePostcssBase(result, options),
77
+ css: context.css ?? root.toString(),
78
+ cwd: resolvePostcssProjectRoot(result, options),
79
+ sources: scan.entries
80
+ });
81
+ return /* @__PURE__ */ new Set([...[...candidates].filter((candidate) => !scan.inlineCandidates.excluded.has(candidate)), ...scan.inlineCandidates.included]);
82
+ }
83
+ async function collectPostcssLocalSources(root, result, options, context = {}) {
84
+ const scan = await resolveCompatibilityScan(root, result, options, context, true);
85
+ const files = [.../* @__PURE__ */ new Set([...await require_resolve.expandTailwindSourceEntries(scan.explicitEntries), ...(await Promise.all(scan.configGroups.map((entries) => require_resolve.expandTailwindSourceEntries(entries)))).flat()])];
86
+ const sources = await Promise.all(files.map(async (file) => {
87
+ const extension = node_path.default.extname(file).slice(1);
88
+ return {
89
+ content: await (0, node_fs_promises.readFile)(file, "utf8"),
90
+ ...extension ? { extension } : {}
91
+ };
92
+ }));
93
+ return {
94
+ files: [...files, ...scan.configPaths],
95
+ sources
96
+ };
97
+ }
98
+ //#endregion
99
+ //#region src/generator-plugin/index.ts
100
+ const PLUGIN_NAME = "weapp-tailwindcss";
101
+ const POSTCSS_SOURCE_PATTERN = (0, _weapp_tailwindcss_source_scan.createSourceScanPattern)(_weapp_tailwindcss_source_scan.DEFAULT_SOURCE_SCAN_EXTENSIONS);
102
+ function isTailwindV4ApplyOnlyCss(css, root) {
103
+ return require_resolve.hasTailwindApplyDirective(css) && !require_resolve.hasTailwindRootDirectives(root, { importFallback: true });
104
+ }
105
+ function resolveTailwindV4PostcssSourceCss(css, sourceOptions, root) {
106
+ const packageName = sourceOptions.packageName ?? "tailwindcss";
107
+ return isTailwindV4ApplyOnlyCss(css, root) ? `@import "${packageName}" source(none);\n@reference "${packageName}";\n${css}` : css;
108
+ }
109
+ function isMiniProgramGeneratorTarget(target) {
110
+ return target !== "web";
111
+ }
112
+ function finalizeGeneratedCss(css, target, styleOptions, webCompat) {
113
+ if (target === "web") {
114
+ const webCss = require_resolve.transformWebCssCompat(css, webCompat);
115
+ return (styleOptions?.cssOptions?.platform ?? styleOptions?.platform) === "lynx" ? require_resolve.transformLynxCssCompat(webCss) : webCss;
116
+ }
117
+ if (!isMiniProgramGeneratorTarget(target)) return css;
118
+ return require_resolve.finalizeMiniProgramCss(css, {
119
+ cssSelectorReplacement: styleOptions?.cssOptions?.cssSelectorReplacement ?? styleOptions?.cssSelectorReplacement,
120
+ isTailwindcssV4: true,
121
+ tailwindcssV4GradientFallback: styleOptions?.cssOptions?.tailwindcssV4GradientFallback ?? styleOptions?.tailwindcssV4GradientFallback
122
+ });
123
+ }
124
+ function createWeappTailwindcssPostcssPlugin(adapters) {
125
+ const plugin = (options = {}) => {
126
+ return {
127
+ postcssPlugin: PLUGIN_NAME,
128
+ async Once(root, { result }) {
129
+ const { candidates, generator: userGeneratorOptions, scanSources, sources, styleOptions, ...sourceOptions } = options;
130
+ const generatorOptions = adapters.normalizeGeneratorOptions(userGeneratorOptions);
131
+ const rawCss = sourceOptions.css ?? root.toString();
132
+ const base = resolvePostcssBase(result, options);
133
+ const projectRoot = resolvePostcssProjectRoot(result, options);
134
+ const compiledScan = adapters.compiledSourceScan && scanSources !== false;
135
+ const sourceEntries = compiledScan ? [] : await require_resolve.resolveCssSourceEntries(root, base, POSTCSS_SOURCE_PATTERN);
136
+ const [collectedSources, autoCandidates] = await Promise.all([compiledScan ? {
137
+ files: [],
138
+ sources: []
139
+ } : collectPostcssLocalSources(root, result, options, { sourceEntries }), compiledScan ? /* @__PURE__ */ new Set() : collectAutoTailwindCandidates(root, result, options, {
140
+ css: rawCss,
141
+ sourceEntries
142
+ })]);
143
+ const generatorConfig = generatorOptions.config ?? options.config;
144
+ const isApplyOnlyTailwindV4Css = isTailwindV4ApplyOnlyCss(rawCss, root);
145
+ const applyOnlyCssSelectors = isApplyOnlyTailwindV4Css ? require_resolve.collectApplyOnlyCssSelectorsRoot(root) : void 0;
146
+ const source = await adapters.resolveTailwindV4Source({
147
+ ...sourceOptions,
148
+ css: require_resolve.prependConfigDirective(resolveTailwindV4PostcssSourceCss(rawCss, sourceOptions, root), generatorConfig),
149
+ base,
150
+ projectRoot
151
+ });
152
+ const generator = adapters.createGenerator(source);
153
+ const generatorStyleOptions = {
154
+ ...generatorOptions.styleOptions,
155
+ ...styleOptions
156
+ };
157
+ try {
158
+ const generated = await generator.generate({
159
+ candidates: /* @__PURE__ */ new Set([...autoCandidates, ...candidates ?? []]),
160
+ scanSources: compiledScan ? true : scanSources ?? false,
161
+ ...compiledScan ? {
162
+ scanMode: "compiled",
163
+ excludeFiles: result.opts.to ? [result.opts.to] : []
164
+ } : {},
165
+ sources: [...collectedSources.sources, ...sources ?? []],
166
+ styleOptions: generatorStyleOptions,
167
+ target: generatorOptions.target
168
+ });
169
+ replaceRootCss(root, finalizeGeneratedCss(isApplyOnlyTailwindV4Css ? require_resolve.filterApplyOnlyGeneratedCss(generated.css, applyOnlyCssSelectors ?? /* @__PURE__ */ new Set()) : generated.css, generated.target, generatorStyleOptions, generatorOptions.webCompat), result);
170
+ addDependencyMessages(result, generated);
171
+ addSourceDependencyMessages(result, collectedSources.files);
172
+ result.messages.push({
173
+ type: "weapp-tailwindcss:generated",
174
+ plugin: PLUGIN_NAME,
175
+ target: generated.target,
176
+ classSet: generated.classSet,
177
+ rawCss: generated.rawCss
178
+ });
179
+ } finally {
180
+ generator.dispose?.();
181
+ }
182
+ }
183
+ };
184
+ };
185
+ plugin.postcss = true;
186
+ return plugin;
187
+ }
188
+ //#endregion
189
+ Object.defineProperty(exports, "createWeappTailwindcssPostcssPlugin", {
190
+ enumerable: true,
191
+ get: function() {
192
+ return createWeappTailwindcssPostcssPlugin;
193
+ }
194
+ });
@@ -0,0 +1,3 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_plugin = require("./plugin-DwoAGHyN.cjs");
3
+ exports.createWeappTailwindcssPostcssPlugin = require_plugin.createWeappTailwindcssPostcssPlugin;
@@ -0,0 +1,2 @@
1
+ export * from './generator-plugin/index.js';
2
+ export type { PluginCreator } from './postcss-runtime.js';
package/dist/plugin.js ADDED
@@ -0,0 +1,2 @@
1
+ import { createWeappTailwindcssPostcssPlugin } from "./plugin-CRzZbcEf.js";
2
+ export { createWeappTailwindcssPostcssPlugin };
@@ -0,0 +1,2 @@
1
+ import postcss$1 from "postcss";
2
+ export { postcss$1 as postcss };
@@ -0,0 +1,21 @@
1
+ //#region src/preflight.ts
2
+ function createInjectPreflight(options) {
3
+ const result = [];
4
+ if (options && typeof options === "object") {
5
+ const entries = Object.entries(options);
6
+ for (const [prop, value] of entries) if (value !== false) result.push({
7
+ prop,
8
+ value: value.toString()
9
+ });
10
+ }
11
+ return () => {
12
+ return result;
13
+ };
14
+ }
15
+ //#endregion
16
+ Object.defineProperty(exports, "createInjectPreflight", {
17
+ enumerable: true,
18
+ get: function() {
19
+ return createInjectPreflight;
20
+ }
21
+ });
@@ -0,0 +1,16 @@
1
+ //#region src/preflight.ts
2
+ function createInjectPreflight(options) {
3
+ const result = [];
4
+ if (options && typeof options === "object") {
5
+ const entries = Object.entries(options);
6
+ for (const [prop, value] of entries) if (value !== false) result.push({
7
+ prop,
8
+ value: value.toString()
9
+ });
10
+ }
11
+ return () => {
12
+ return result;
13
+ };
14
+ }
15
+ //#endregion
16
+ export { createInjectPreflight };