UNPKG

weapp-tailwindcss

Version:

把 tailwindcss 原子化样式思想,带给小程序开发者们! bring tailwindcss to miniprogram developers!

161 lines (160 loc) 6.12 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_rolldown_runtime = require("./rolldown-runtime-CVvi-lCc.cjs"); const require_framework = require("./framework.cjs"); const require_object = require("./object-C_Vr6_S5.cjs"); const require_options = require("./options-hVsoTfwL.cjs"); require("./utils-CuKLf1Zv.cjs"); const require_tailwindcss = require("./tailwindcss-DcpiKvmJ.cjs"); require("./logger-TlKT3xmR.cjs"); let node_path = require("node:path"); node_path = require_rolldown_runtime.__toESM(node_path, 1); let node_process = require("node:process"); node_process = require_rolldown_runtime.__toESM(node_process, 1); let local_pkg = require("local-pkg"); let _weapp_tailwindcss_shared = require("@weapp-tailwindcss/shared"); let _weapp_tailwindcss_logger = require("@weapp-tailwindcss/logger"); //#region src/presets/shared.ts function normalizeCssEntries(entries) { if (!entries) return; const normalized = Array.isArray(entries) ? entries : [entries]; return normalized.length > 0 ? normalized : void 0; } function shouldEnableWebCompatFromEnv() { const { uniPlatform, uniUtsPlatform } = require_framework.resolveUniPlatformsFromEnv(); return uniPlatform.isWeb || uniUtsPlatform.isWeb || require_framework.resolveTaroPlatform().isWeb; } function withWebCompatGeneratorDefaults(options, enabled = shouldEnableWebCompatFromEnv()) { if (!enabled || options.generator === false) return options; const generatorOptions = options.generator ?? {}; return { ...options, generator: (0, _weapp_tailwindcss_shared.defuOverrideArray)(generatorOptions, { target: "web", webCompat: true }) }; } function createBasePreset(options = {}) { const { base, cssEntries, resolve, rawOptions, ...userOptions } = options; const baseDir = require_tailwindcss.resolveTailwindcssBasedir(base); const normalizedCssEntries = normalizeCssEntries(cssEntries); const tailwindConfig = { v4: require_object.omitUndefined({ base: baseDir, cssEntries: normalizedCssEntries }) }; if (normalizedCssEntries && normalizedCssEntries.length > 0) tailwindConfig.version = 4; const preset = { tailwindcssBasedir: baseDir, tailwindcss: tailwindConfig, tailwindcssRuntimeOptions: { projectRoot: baseDir, tailwindcss: resolve ? { ...tailwindConfig, resolve } : tailwindConfig } }; return (0, _weapp_tailwindcss_shared.defuOverrideArray)((0, _weapp_tailwindcss_shared.defuOverrideArray)(userOptions, rawOptions ?? {}), preset); } //#endregion //#region src/presets/hbuilderx.ts function hbuilderx(options = {}) { return createBasePreset(withWebCompatGeneratorDefaults({ appType: "uni-app-vite", ...options })); } //#endregion //#region src/presets/uni-app.ts function uniApp(options = {}) { const uniPlatform = node_process.default.env["UNI_PLATFORM"]; return createBasePreset(withWebCompatGeneratorDefaults({ disabled: uniPlatform === "app" || uniPlatform === "app-plus" ? true : void 0, ...options })); } //#endregion //#region src/tailwindcss/index.ts function getTailwindcssPackageInfo(options) { return (0, local_pkg.getPackageInfoSync)("tailwindcss", options); } //#endregion //#region src/presets/uni-app-x.ts function resolveTailwindResolveOptions(base, resolve) { const currentPaths = Array.isArray(resolve?.paths) ? resolve.paths : []; return { ...resolve ?? {}, paths: [.../* @__PURE__ */ new Set([ node_path.default.join(base, "node_modules"), base, ...currentPaths ])] }; } function resolveInstalledTailwindDefaults(resolve) { const version = getTailwindcssPackageInfo(resolve)?.version; if (!version) return; const major = Number.parseInt(version.split(".")[0] ?? "", 10); if (!Number.isFinite(major)) return; if (major === 4) return { version: 4, packageName: "tailwindcss", postcssPlugin: "@tailwindcss/postcss" }; } function uniAppX(options) { _weapp_tailwindcss_logger.logger.info(`UNI_PLATFORM: ${node_process.default.env["UNI_PLATFORM"]}`); const { uniPlatform, uniUtsPlatform } = require_framework.resolveUniPlatformsFromEnv(); _weapp_tailwindcss_logger.logger.info(`UNI_UTS_PLATFORM: ${uniUtsPlatform.raw ?? "undefined"}`); const isApp = uniUtsPlatform.isApp || uniPlatform.isApp; const cssEntries = normalizeCssEntries(options.cssEntries); const resolvedResolve = resolveTailwindResolveOptions(options.base, options.resolve); const installedTailwindDefaults = resolveInstalledTailwindDefaults(resolvedResolve); const resolvedUniAppX = require_options.resolveUniAppXOptions({ enabled: isApp, componentLocalStyles: options.componentLocalStyles ?? true, uvueUnsupported: options.uvueUnsupported, ...typeof options.uniAppX === "object" ? options.uniAppX : {} }); if (typeof options.uniAppX === "boolean") resolvedUniAppX.enabled = options.uniAppX; return (0, _weapp_tailwindcss_shared.defuOverrideArray)(options.rawOptions ?? {}, { uniAppX: resolvedUniAppX, ...withWebCompatGeneratorDefaults(options.generator !== void 0 ? { generator: options.generator } : {}), rem2rpx: options.rem2rpx, unitsToPx: options.unitsToPx, unitConversion: options.unitConversion, appType: "uni-app-x", tailwindcssBasedir: options.base, tailwindcssRuntimeOptions: { projectRoot: options.base, tailwindcss: { ...installedTailwindDefaults ?? {}, cwd: options.base, resolve: resolvedResolve, v4: require_object.omitUndefined({ base: options.base, cssEntries }) } }, tailwindcss: { ...installedTailwindDefaults ?? {}, resolve: resolvedResolve }, cssPreflight: { "border-width": "0", "border-style": false, "border": false }, cssPresetEnv: { features: { "custom-properties": { preserve: false } } }, ...options.customAttributes ? { customAttributes: options.customAttributes } : {} }); } //#endregion exports.createBasePreset = createBasePreset; exports.hbuilderx = hbuilderx; exports.normalizeCssEntries = normalizeCssEntries; exports.shouldEnableWebCompatFromEnv = shouldEnableWebCompatFromEnv; exports.uniApp = uniApp; exports.uniAppX = uniAppX; exports.withWebCompatGeneratorDefaults = withWebCompatGeneratorDefaults;