weapp-tailwindcss 5.0.12 → 5.0.13

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 (99) hide show
  1. package/dist/{bundle-state-DU2ATDhw.js → bundle-state-CKWeTEhv.js} +2 -2
  2. package/dist/{bundle-state-BxMNKjBV.mjs → bundle-state-zQ2MrDdi.mjs} +1 -1
  3. package/dist/bundlers/shared/generator-css/generation-helpers.d.ts +7 -2
  4. package/dist/bundlers/shared/generator-css/source-files.d.ts +1 -0
  5. package/dist/bundlers/shared/generator-css/source-resolver/apply-reference.d.ts +3 -0
  6. package/dist/bundlers/shared/generator-css/source-resolver/config.d.ts +7 -0
  7. package/dist/bundlers/shared/generator-css/source-resolver/matching.d.ts +4 -0
  8. package/dist/bundlers/shared/generator-css/source-resolver/metadata.d.ts +15 -0
  9. package/dist/bundlers/shared/generator-css/source-resolver/postcss-source.d.ts +12 -0
  10. package/dist/bundlers/shared/generator-css/source-resolver/types.d.ts +22 -0
  11. package/dist/bundlers/shared/generator-css/source-resolver.d.ts +5 -22
  12. package/dist/bundlers/shared/generator-css/types.d.ts +2 -0
  13. package/dist/bundlers/shared/generator-css/validate.d.ts +1 -0
  14. package/dist/bundlers/vite/css-memory.d.ts +27 -0
  15. package/dist/bundlers/vite/generate-bundle/bundle-file-names.d.ts +2 -0
  16. package/dist/bundlers/vite/generate-bundle/configured-css-sources.d.ts +8 -0
  17. package/dist/bundlers/vite/generate-bundle/css-assets.d.ts +4 -0
  18. package/dist/bundlers/vite/generate-bundle/css-handler-options.d.ts +5 -0
  19. package/dist/bundlers/vite/generate-bundle/css-output.d.ts +8 -7
  20. package/dist/bundlers/vite/generate-bundle/env-flags.d.ts +7 -0
  21. package/dist/bundlers/vite/generate-bundle/finalize.d.ts +58 -0
  22. package/dist/bundlers/vite/generate-bundle/js-processing.d.ts +31 -0
  23. package/dist/bundlers/vite/generate-bundle/memory-debug.d.ts +77 -0
  24. package/dist/bundlers/vite/generate-bundle/remembered-css-replay.d.ts +53 -0
  25. package/dist/bundlers/vite/generate-bundle/remembered-css.d.ts +1 -1
  26. package/dist/bundlers/vite/generate-bundle/runtime-linked-css.d.ts +4 -0
  27. package/dist/bundlers/vite/generate-bundle/scoped-generator.d.ts +21 -0
  28. package/dist/bundlers/vite/generate-bundle/sfc-style-source.d.ts +2 -1
  29. package/dist/bundlers/vite/generate-bundle/source-candidate-scope.d.ts +29 -0
  30. package/dist/bundlers/vite/generate-bundle/timing.d.ts +1 -0
  31. package/dist/bundlers/vite/generate-bundle/types.d.ts +2 -0
  32. package/dist/bundlers/vite/generate-bundle/uni-app-x-postprocess.d.ts +20 -0
  33. package/dist/bundlers/vite/generate-bundle/vite-css-cache.d.ts +6 -0
  34. package/dist/bundlers/vite/generate-bundle.d.ts +2 -1
  35. package/dist/bundlers/vite/hot-css-modules.d.ts +5 -0
  36. package/dist/bundlers/vite/map-cache.d.ts +2 -0
  37. package/dist/bundlers/vite/processed-css-assets.d.ts +16 -0
  38. package/dist/bundlers/vite/resolve-app-type.d.ts +1 -2
  39. package/dist/bundlers/vite/source-candidate-scan-signature.d.ts +13 -0
  40. package/dist/bundlers/vite/source-candidates.d.ts +3 -0
  41. package/dist/bundlers/vite/source-scan/css-entries.d.ts +1 -0
  42. package/dist/bundlers/vite/source-scan.d.ts +1 -1
  43. package/dist/bundlers/vite/weapp-vite-config.d.ts +3 -1
  44. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets/helpers.d.ts +1 -0
  45. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-loaders.d.ts +2 -0
  46. package/dist/bundlers/webpack/loaders/runtime-registry.d.ts +5 -0
  47. package/dist/cli.js +2 -2
  48. package/dist/cli.mjs +1 -1
  49. package/dist/core.js +1 -1
  50. package/dist/core.mjs +1 -1
  51. package/dist/css-macro.js +1 -1
  52. package/dist/css-macro.mjs +1 -1
  53. package/dist/{defaults-DH0ZQRhy.mjs → defaults-Bqx18S1f.mjs} +2 -35
  54. package/dist/{defaults-Boc26eel.js → defaults-C_J_kBpw.js} +2 -35
  55. package/dist/defaults.js +1 -1
  56. package/dist/defaults.mjs +1 -1
  57. package/dist/framework/index.d.ts +59 -0
  58. package/dist/framework.d.ts +1 -0
  59. package/dist/framework.js +198 -0
  60. package/dist/framework.mjs +180 -0
  61. package/dist/{generator-Cb1Zp3Al.js → generator-CzpArpCL.js} +1 -1
  62. package/dist/{generator-mvNFUvns.mjs → generator-ITLd7PTl.mjs} +1 -1
  63. package/dist/generator.js +2 -2
  64. package/dist/generator.mjs +2 -2
  65. package/dist/{gulp-BfZpaYSQ.mjs → gulp-DfOQERcV.mjs} +44 -16
  66. package/dist/{gulp-CxGZU0-v.js → gulp-XT8Jc7lH.js} +44 -16
  67. package/dist/gulp.js +1 -1
  68. package/dist/gulp.mjs +1 -1
  69. package/dist/{hmr-timing-DFR51wgo.js → hmr-timing-BMftW7Us.js} +298 -221
  70. package/dist/{hmr-timing-DNjF8bWA.mjs → hmr-timing-DQIP_8qP.mjs} +297 -220
  71. package/dist/index.d.ts +1 -0
  72. package/dist/index.js +20 -4
  73. package/dist/index.mjs +6 -5
  74. package/dist/postcss.js +2 -2
  75. package/dist/postcss.mjs +2 -2
  76. package/dist/{precheck-30zNPRlI.js → precheck-B0Z8yW7E.js} +98 -27
  77. package/dist/{precheck-CsFr1q2l.mjs → precheck-CRI90iL1.mjs} +97 -26
  78. package/dist/presets.js +3 -3
  79. package/dist/presets.mjs +3 -3
  80. package/dist/{tailwindcss-CK84uGBp.mjs → tailwindcss-DTq3uYBK.mjs} +2 -2
  81. package/dist/{tailwindcss-Clpkz1oR.js → tailwindcss-DZEwT3C_.js} +3 -3
  82. package/dist/{transform-Cju08-aJ.mjs → transform-DfcEjsZF.mjs} +29 -21
  83. package/dist/{transform-CaVEBOuR.js → transform-YmrmxuF3.js} +29 -21
  84. package/dist/types/user-defined-options/general.d.ts +3 -1
  85. package/dist/{utils-Dolmt8EO.js → utils-BCa37Wqj.js} +2 -17
  86. package/dist/{utils-DsaS975I.mjs → utils-DodxWHGz.mjs} +2 -17
  87. package/dist/{v3-engine-CQE5JJNZ.js → v3-engine-2rrgylhn.js} +53 -6
  88. package/dist/{v3-engine-DKBaKWGL.mjs → v3-engine-C6eJ0YzK.mjs} +46 -5
  89. package/dist/{vite-BBGOjh9e.js → vite-CXHVsHmX.js} +1945 -1280
  90. package/dist/{vite-CS5DE-HD.mjs → vite-DjI09vVN.mjs} +1944 -1279
  91. package/dist/vite.js +1 -1
  92. package/dist/vite.mjs +1 -1
  93. package/dist/weapp-tw-css-import-rewrite-loader.js +346 -186
  94. package/dist/weapp-tw-runtime-classset-loader.js +25 -0
  95. package/dist/{webpack-SPcri_D8.mjs → webpack-BcPpnT90.mjs} +165 -35
  96. package/dist/{webpack-DIWrcpRo.js → webpack-CfkUkMXG.js} +167 -37
  97. package/dist/webpack.js +1 -1
  98. package/dist/webpack.mjs +1 -1
  99. package/package.json +9 -4
@@ -0,0 +1,6 @@
1
+ export declare function resolveViteCssTaskConcurrency(useIncrementalMode: boolean): number;
2
+ export declare function normalizeViteCssCacheKey(file: string): string;
3
+ export declare function rememberLastCssResult(resultByFile: Map<string, string>, sourceHashByFile: Map<string, string>, file: string, css: string, sourceHash: string): void;
4
+ export declare function getLastCssResult(resultByFile: Map<string, string>, ...files: Array<string | undefined>): string | undefined;
5
+ export declare function getLastCssSourceHash(sourceHashByFile: Map<string, string>, file: string): string | undefined;
6
+ export declare function pruneLastCssResults(resultByFile: Map<string, string>, sourceHashByFile: Map<string, string>, activeFiles: Set<string>): void;
@@ -1,6 +1,7 @@
1
1
  import type { OutputAsset, OutputChunk } from 'rollup';
2
2
  import type { GenerateBundleContext, GenerateBundleThis } from './generate-bundle/types';
3
- export { resolveReplayCssOutputFile, resolveReplayCssOutputFileFromSourceRoot, resolveViteCssPipelineOutputFile } from './generate-bundle/css-output';
3
+ export { normalizeBundleFileNameKeysForTest } from './generate-bundle/bundle-file-names';
4
+ export { resolveMiniProgramStyleOutputExtension, resolveReplayCssOutputFile, resolveReplayCssOutputFileFromSourceRoot, resolveViteCssPipelineOutputFile } from './generate-bundle/css-output';
4
5
  export { resolveRememberedCssSourceForTest } from './generate-bundle/remembered-css';
5
6
  export type { GenerateBundleContext, GenerateBundleThis, RememberedCssSource } from './generate-bundle/types';
6
7
  export declare function createGenerateBundleHook(context: GenerateBundleContext): (this: GenerateBundleThis, _opt: unknown, bundle: Record<string, OutputAsset | OutputChunk>) => Promise<void>;
@@ -0,0 +1,5 @@
1
+ import type { HmrContext, ModuleNode } from 'vite';
2
+ export declare function resolveHotTailwindCssModules(ctx: HmrContext, tailwindRootCssModuleIds: Set<string>): ModuleNode[];
3
+ export declare function hasSelfAcceptingNonStyleHotModule(modules: ModuleNode[]): boolean;
4
+ export declare function sendSupplementalCssHotUpdates(ctx: HmrContext, cssModules: ModuleNode[]): void;
5
+ export declare function sendFullReloadForUnresolvedHotUpdate(ctx: HmrContext): void;
@@ -0,0 +1,2 @@
1
+ export declare function touchMapEntry<Key, Value>(map: Map<Key, Value>, key: Key, value: Value): void;
2
+ export declare function pruneMapToMaxSize<Key, Value>(map: Map<Key, Value>, maxSize: number, onDelete?: (key: Key) => void): void;
@@ -27,6 +27,7 @@ interface CollectViteProcessedCssAssetOptions {
27
27
  recordCssAssetResult?: CssAssetResultRecorder | undefined;
28
28
  recordViteProcessedCssAssetResult?: CssAssetResultRecorder | undefined;
29
29
  resolveViteProcessedCssOutputFile?: ((file: string) => string | undefined) | undefined;
30
+ subpackageRoots?: Set<string> | undefined;
30
31
  debug?: ((format: string, ...args: unknown[]) => void) | undefined;
31
32
  }
32
33
  interface InjectViteProcessedCssAssetOptions {
@@ -34,9 +35,24 @@ interface InjectViteProcessedCssAssetOptions {
34
35
  getViteProcessedCssAssetResults?: CssAssetResultsGetter | undefined;
35
36
  markCssAssetProcessed?: CssAssetProcessedMarker | undefined;
36
37
  recordCssAssetResult?: CssAssetResultRecorder | undefined;
38
+ shouldRemoveInjectedSourceAsset?: ((file: string, record: {
39
+ file: string;
40
+ css: string;
41
+ injectIntoMain?: boolean | undefined;
42
+ outputFile?: string | undefined;
43
+ }) => boolean) | undefined;
37
44
  debug?: ((format: string, ...args: unknown[]) => void) | undefined;
38
45
  onUpdate?: ((file: string, original: string, generated: string) => void) | undefined;
39
46
  }
47
+ export declare function removeCssCoveredByRootStyleAssets(bundle: OutputBundle, options: {
48
+ cssMatcher: (file: string) => boolean;
49
+ debug?: ((format: string, ...args: unknown[]) => void) | undefined;
50
+ isViteProcessedCssAsset?: CssAssetMarkerMatcher | undefined;
51
+ onUpdate?: ((file: string, original: string, generated: string) => void) | undefined;
52
+ recordCssAssetResult?: CssAssetResultRecorder | undefined;
53
+ subpackageRoots?: Set<string> | undefined;
54
+ }): number;
55
+ export declare function isCssImportOnlyBundleAsset(bundle: OutputBundle, file: string, css: string): boolean;
40
56
  export declare function collectViteProcessedCssAssetResults(bundle: OutputBundle, options: CollectViteProcessedCssAssetOptions): number;
41
57
  export declare function injectViteProcessedCssIntoMainCssAssets(bundle: OutputBundle, options: InjectViteProcessedCssAssetOptions): number;
42
58
  export {};
@@ -1,2 +1 @@
1
- import type { AppType } from '../../types';
2
- export declare function resolveImplicitAppTypeFromViteRoot(root: string): AppType | undefined;
1
+ export { resolveImplicitAppTypeFromViteRoot } from '../../framework';
@@ -0,0 +1,13 @@
1
+ import type { TailwindInlineSourceCandidates, TailwindSourceEntry } from '../../tailwindcss/source-scan';
2
+ export interface SourceCandidateScanRoot {
3
+ root: string;
4
+ entries?: TailwindSourceEntry[] | undefined;
5
+ explicit?: boolean | undefined;
6
+ }
7
+ export interface SourceCandidateScanSignatureInput {
8
+ inlineCandidates?: TailwindInlineSourceCandidates | undefined;
9
+ outDir?: string | undefined;
10
+ roots: SourceCandidateScanRoot[];
11
+ scanAllSources?: boolean | undefined;
12
+ }
13
+ export declare function createSourceCandidateScanSignature(input: SourceCandidateScanSignatureInput): string;
@@ -11,11 +11,14 @@ export interface SourceCandidateCollector {
11
11
  syncInline: (inlineCandidates: TailwindInlineSourceCandidates | undefined) => void;
12
12
  remove: (id: string) => void;
13
13
  source: (id: string) => string | undefined;
14
+ sources: () => IterableIterator<[string, string]>;
14
15
  values: () => Set<string>;
15
16
  valuesForEntries: (entries: TailwindSourceEntry[] | undefined, options?: SourceCandidateFilterOptions) => Set<string>;
16
17
  sourcesForEntries: (entries: TailwindSourceEntry[] | undefined, options?: SourceCandidateFilterOptions) => Map<string, Set<string>>;
17
18
  snapshot: () => SourceCandidateCollectorSnapshot;
18
19
  restore: (snapshot: SourceCandidateCollectorSnapshot) => void;
20
+ clearScan: () => void;
21
+ resetScan: () => void;
19
22
  clear: () => void;
20
23
  }
21
24
  export interface SourceCandidateCollectorSnapshot {
@@ -16,5 +16,6 @@ export declare function resolveTailwindV3CssEntryScan(options: UserDefinedOption
16
16
  dependencies: Set<string>;
17
17
  }>;
18
18
  export declare function resolveTailwindV4EntriesFromCssCached(css: string, base: string): Promise<ResolvedTailwindV4CssEntries | undefined>;
19
+ export declare function resolveTailwindConfigEntriesFromCssCached(css: string, base: string): Promise<ResolvedTailwindV4CssEntries | undefined>;
19
20
  export declare function discoverTailwindV4CssEntries(root: string, outDir: string | undefined): Promise<string[]>;
20
21
  export declare function collectConfiguredCssSources(options: UserDefinedOptions): TailwindV4CssSource[];
@@ -1,6 +1,6 @@
1
1
  import type { TailwindInlineSourceCandidates, TailwindSourceEntry } from '../../tailwindcss/source-scan';
2
2
  import type { TailwindcssPatcherLike, UserDefinedOptions } from '../../types';
3
- export { discoverTailwindV4CssEntries, resolveTailwindV4EntriesFromCss, resolveTailwindV4EntriesFromCssCached, resolveViteTailwindV4CssDependencies, } from './source-scan/css-entries';
3
+ export { discoverTailwindV4CssEntries, resolveTailwindConfigEntriesFromCssCached, resolveTailwindV4EntriesFromCss, resolveTailwindV4EntriesFromCssCached, resolveViteTailwindV4CssDependencies, } from './source-scan/css-entries';
4
4
  export type { ResolvedTailwindV4CssEntries } from './source-scan/css-entries';
5
5
  export interface ResolvedViteSourceScan {
6
6
  dependencies?: string[] | undefined;
@@ -1 +1,3 @@
1
- export declare function resolveWeappViteSourceRoot(config: unknown): string | undefined;
1
+ import type { OutputBundle } from 'rollup';
2
+ export declare function resolveWeappViteSourceRoot(config: unknown, _appType?: unknown): string | undefined;
3
+ export declare function resolveSourceRootFromBundleGraph(config: unknown, bundle: OutputBundle): string | undefined;
@@ -15,6 +15,7 @@ export interface SetupWebpackV5ProcessAssetsHookOptions {
15
15
  consumeRuntimeRefreshRequirement: () => void;
16
16
  isWatchMode?: (() => boolean) | undefined;
17
17
  runtimeClassSetManager?: BundleRuntimeClassSetManager | undefined;
18
+ getWebpackCssSources?: (() => Iterable<[string, string | undefined]>) | undefined;
18
19
  debug: (format: string, ...args: unknown[]) => void;
19
20
  }
20
21
  export type WebpackSourceLike = string | WebpackSources.Source;
@@ -1,5 +1,6 @@
1
1
  import type { TailwindV4CssSource } from 'tailwindcss-patch';
2
2
  import type { Compiler } from 'webpack';
3
+ import type { WebpackCssSourceRegistration } from '../loaders/runtime-registry';
3
4
  import type { TailwindRuntimeState } from '../../../tailwindcss/runtime';
4
5
  import type { AppType, InternalUserDefinedOptions } from '../../../types';
5
6
  interface SetupWebpackV5LoadersOptions {
@@ -14,6 +15,7 @@ interface SetupWebpackV5LoadersOptions {
14
15
  getClassSetInLoader: () => Promise<void>;
15
16
  getRuntimeSetInLoader: () => Promise<Set<string>>;
16
17
  markWebpackProcessedCssSource?: ((file: string) => void) | undefined;
18
+ registerWebpackCssSourceFile?: ((source: WebpackCssSourceRegistration) => void) | undefined;
17
19
  getRuntimeWatchDependencies: () => {
18
20
  files: ReadonlySet<string>;
19
21
  contexts: ReadonlySet<string>;
@@ -4,11 +4,16 @@ import type { AppType, InternalUserDefinedOptions } from '../../../types';
4
4
  export interface WebpackRuntimeClassSetLoaderOptions {
5
5
  getClassSet?: () => void | Promise<void>;
6
6
  getWatchDependencies?: () => RuntimeLoaderWatchDependencies | Promise<RuntimeLoaderWatchDependencies | void> | void;
7
+ registerCssSourceFile?: (source: WebpackCssSourceRegistration) => void;
7
8
  }
8
9
  export interface RuntimeLoaderWatchDependencies {
9
10
  files?: Iterable<string>;
10
11
  contexts?: Iterable<string>;
11
12
  }
13
+ export interface WebpackCssSourceRegistration {
14
+ css?: string | undefined;
15
+ file: string;
16
+ }
12
17
  export interface WebpackCssImportRewriteRuntimeOptions {
13
18
  pkgDir: string;
14
19
  appType?: AppType;
package/dist/cli.js CHANGED
@@ -34,10 +34,10 @@ let lru_cache = require("lru-cache");
34
34
  let _weapp_tailwindcss_shared_node = require("@weapp-tailwindcss/shared/node");
35
35
  let _weapp_core_escape = require("@weapp-core/escape");
36
36
  require("@weapp-tailwindcss/shared");
37
- let debug = require("debug");
38
- debug = __toESM(debug);
39
37
  let node_fs = require("node:fs");
40
38
  node_fs = __toESM(node_fs);
39
+ let debug = require("debug");
40
+ debug = __toESM(debug);
41
41
  let _weapp_tailwindcss_postcss = require("@weapp-tailwindcss/postcss");
42
42
  require("micromatch");
43
43
  let node_module = require("node:module");
package/dist/cli.mjs CHANGED
@@ -10,8 +10,8 @@ import { LRUCache } from "lru-cache";
10
10
  import { md5 as md5Hash } from "@weapp-tailwindcss/shared/node";
11
11
  import { MappingChars2String, escape } from "@weapp-core/escape";
12
12
  import "@weapp-tailwindcss/shared";
13
- import _createDebug from "debug";
14
13
  import { constants, existsSync, readFileSync } from "node:fs";
14
+ import _createDebug from "debug";
15
15
  import { createStyleHandler } from "@weapp-tailwindcss/postcss";
16
16
  import "micromatch";
17
17
  import "tailwindcss-config";
package/dist/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_precheck = require("./precheck-30zNPRlI.js");
2
+ const require_precheck = require("./precheck-B0Z8yW7E.js");
3
3
  let _weapp_tailwindcss_shared = require("@weapp-tailwindcss/shared");
4
4
  //#region src/core.ts
5
5
  const DEFAULT_MAIN_CHUNK_STYLE_OPTIONS = Object.freeze({ isMainChunk: true });
package/dist/core.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { n as getCompilerContext, t as shouldSkipJsTransform, v as createTailwindRuntimeReadyPromise, y as ensureRuntimeClassSet } from "./precheck-CsFr1q2l.mjs";
1
+ import { n as getCompilerContext, t as shouldSkipJsTransform, v as createTailwindRuntimeReadyPromise, y as ensureRuntimeClassSet } from "./precheck-CRI90iL1.mjs";
2
2
  import { defuOverrideArray } from "@weapp-tailwindcss/shared";
3
3
  //#region src/core.ts
4
4
  const DEFAULT_MAIN_CHUNK_STYLE_OPTIONS = Object.freeze({ isMainChunk: true });
package/dist/css-macro.js CHANGED
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require("./chunk-emK7D4bc.js");
2
2
  const require_auto = require("./auto-CTp6wE5a.js");
3
- require("./utils-Dolmt8EO.js");
3
+ require("./utils-BCa37Wqj.js");
4
4
  let tailwindcss_plugin = require("tailwindcss/plugin");
5
5
  tailwindcss_plugin = require_chunk.__toESM(tailwindcss_plugin);
6
6
  let _weapp_tailwindcss_shared = require("@weapp-tailwindcss/shared");
@@ -1,5 +1,5 @@
1
1
  import { i as markCssMacroPlugin } from "./auto-Cl8_hsG6.mjs";
2
- import { t as defu } from "./utils-DsaS975I.mjs";
2
+ import { t as defu } from "./utils-DodxWHGz.mjs";
3
3
  import plugin from "tailwindcss/plugin";
4
4
  //#region src/css-macro/constants.ts
5
5
  const queryKey = "weapp-tw-platform";
@@ -1,4 +1,4 @@
1
- import { a as noop } from "./utils-DsaS975I.mjs";
1
+ import { a as noop } from "./utils-DodxWHGz.mjs";
2
2
  import { MappingChars2String, isAllowedClassName } from "@weapp-core/escape";
3
3
  //#region src/js/babel/cache-options.ts
4
4
  const DEFAULT_PARSE_CACHE_MAX_SOURCE_LENGTH = 5e4;
@@ -8,29 +8,6 @@ const HARD_PARSE_CACHE_MAX_ENTRIES = 1024;
8
8
  const CSS_FILE_PATTERN = /.+\.(?:wx|ac|jx|tt|q|c|ty)ss$/;
9
9
  const HTML_FILE_PATTERN = /.+\.(?:(?:wx|ax|jx|ks|tt|q|ty|xhs)ml|swan)$/;
10
10
  const JS_FILE_PATTERN = /.+\.[cm]?js?$/;
11
- const BACKSLASH_RE = /\\/g;
12
- function normalizePath(p) {
13
- return p.replace(BACKSLASH_RE, "/");
14
- }
15
- const MPX_STYLES_DIR_PATTERN = /(?:^|\/)styles\/.*\.(?:wx|ac|jx|tt|q|c|ty)ss$/i;
16
- const KBONE_MAIN_CSS_RE = /^(?:common\/)?miniprogram-app/;
17
- const IMPLICIT_MAIN_CSS_RE = /^(?:app|common\/main|bundle)(?:\.|\/|$)/;
18
- const MAIN_CSS_CHUNK_MATCHERS = {
19
- "uni-app": (file) => file.startsWith("common/main") || file.startsWith("app"),
20
- "uni-app-vite": (file) => file.startsWith("app") || file.startsWith("common/main"),
21
- "uni-app-x": (file) => file.startsWith("app") || file.startsWith("common/main"),
22
- "mpx": (file) => {
23
- const normalized = normalizePath(file);
24
- if (normalized.startsWith("app")) return true;
25
- return MPX_STYLES_DIR_PATTERN.test(normalized);
26
- },
27
- "taro": (file) => file.startsWith("app"),
28
- "remax": (file) => file.startsWith("app"),
29
- "rax": (file) => file.startsWith("bundle"),
30
- "native": (file) => file.startsWith("app"),
31
- "weapp-vite": (file) => file.startsWith("app"),
32
- "kbone": (file) => KBONE_MAIN_CSS_RE.test(file)
33
- };
34
11
  const alwaysFalse = () => false;
35
12
  const TAILWIND_V3_CSS_PREFLIGHT = {
36
13
  "box-sizing": "border-box",
@@ -54,16 +31,6 @@ function resolveDefaultCssPreflight(cssPreflight, tailwindcssMajorVersion) {
54
31
  ...cssPreflight ?? {}
55
32
  };
56
33
  }
57
- function createMainCssChunkMatcher() {
58
- return (file, appType) => {
59
- if (!appType) {
60
- const normalized = normalizePath(file);
61
- return IMPLICIT_MAIN_CSS_RE.test(normalized) || MPX_STYLES_DIR_PATTERN.test(normalized) || KBONE_MAIN_CSS_RE.test(normalized);
62
- }
63
- const matcher = MAIN_CSS_CHUNK_MATCHERS[appType];
64
- return matcher ? matcher(file) : true;
65
- };
66
- }
67
34
  function getDefaultOptions() {
68
35
  return {
69
36
  /**
@@ -92,7 +59,7 @@ function getDefaultOptions() {
92
59
  if (file.includes("node_modules")) return false;
93
60
  return JS_FILE_PATTERN.test(file);
94
61
  },
95
- mainCssChunkMatcher: createMainCssChunkMatcher(),
62
+ mainCssChunkMatcher: alwaysFalse,
96
63
  wxsMatcher: alwaysFalse,
97
64
  cssPreflight: getDefaultCssPreflight(3),
98
65
  disabled: false,
@@ -1,4 +1,4 @@
1
- require("./utils-Dolmt8EO.js");
1
+ require("./utils-BCa37Wqj.js");
2
2
  let _weapp_core_escape = require("@weapp-core/escape");
3
3
  let _weapp_tailwindcss_shared = require("@weapp-tailwindcss/shared");
4
4
  //#region src/js/babel/cache-options.ts
@@ -9,29 +9,6 @@ const HARD_PARSE_CACHE_MAX_ENTRIES = 1024;
9
9
  const CSS_FILE_PATTERN = /.+\.(?:wx|ac|jx|tt|q|c|ty)ss$/;
10
10
  const HTML_FILE_PATTERN = /.+\.(?:(?:wx|ax|jx|ks|tt|q|ty|xhs)ml|swan)$/;
11
11
  const JS_FILE_PATTERN = /.+\.[cm]?js?$/;
12
- const BACKSLASH_RE = /\\/g;
13
- function normalizePath(p) {
14
- return p.replace(BACKSLASH_RE, "/");
15
- }
16
- const MPX_STYLES_DIR_PATTERN = /(?:^|\/)styles\/.*\.(?:wx|ac|jx|tt|q|c|ty)ss$/i;
17
- const KBONE_MAIN_CSS_RE = /^(?:common\/)?miniprogram-app/;
18
- const IMPLICIT_MAIN_CSS_RE = /^(?:app|common\/main|bundle)(?:\.|\/|$)/;
19
- const MAIN_CSS_CHUNK_MATCHERS = {
20
- "uni-app": (file) => file.startsWith("common/main") || file.startsWith("app"),
21
- "uni-app-vite": (file) => file.startsWith("app") || file.startsWith("common/main"),
22
- "uni-app-x": (file) => file.startsWith("app") || file.startsWith("common/main"),
23
- "mpx": (file) => {
24
- const normalized = normalizePath(file);
25
- if (normalized.startsWith("app")) return true;
26
- return MPX_STYLES_DIR_PATTERN.test(normalized);
27
- },
28
- "taro": (file) => file.startsWith("app"),
29
- "remax": (file) => file.startsWith("app"),
30
- "rax": (file) => file.startsWith("bundle"),
31
- "native": (file) => file.startsWith("app"),
32
- "weapp-vite": (file) => file.startsWith("app"),
33
- "kbone": (file) => KBONE_MAIN_CSS_RE.test(file)
34
- };
35
12
  const alwaysFalse = () => false;
36
13
  const TAILWIND_V3_CSS_PREFLIGHT = {
37
14
  "box-sizing": "border-box",
@@ -55,16 +32,6 @@ function resolveDefaultCssPreflight(cssPreflight, tailwindcssMajorVersion) {
55
32
  ...cssPreflight ?? {}
56
33
  };
57
34
  }
58
- function createMainCssChunkMatcher() {
59
- return (file, appType) => {
60
- if (!appType) {
61
- const normalized = normalizePath(file);
62
- return IMPLICIT_MAIN_CSS_RE.test(normalized) || MPX_STYLES_DIR_PATTERN.test(normalized) || KBONE_MAIN_CSS_RE.test(normalized);
63
- }
64
- const matcher = MAIN_CSS_CHUNK_MATCHERS[appType];
65
- return matcher ? matcher(file) : true;
66
- };
67
- }
68
35
  function getDefaultOptions() {
69
36
  return {
70
37
  /**
@@ -93,7 +60,7 @@ function getDefaultOptions() {
93
60
  if (file.includes("node_modules")) return false;
94
61
  return JS_FILE_PATTERN.test(file);
95
62
  },
96
- mainCssChunkMatcher: createMainCssChunkMatcher(),
63
+ mainCssChunkMatcher: alwaysFalse,
97
64
  wxsMatcher: alwaysFalse,
98
65
  cssPreflight: getDefaultCssPreflight(3),
99
66
  disabled: false,
package/dist/defaults.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_defaults = require("./defaults-Boc26eel.js");
2
+ const require_defaults = require("./defaults-C_J_kBpw.js");
3
3
  exports.TAILWIND_V3_CSS_PREFLIGHT = require_defaults.TAILWIND_V3_CSS_PREFLIGHT;
4
4
  exports.TAILWIND_V4_CSS_PREFLIGHT = require_defaults.TAILWIND_V4_CSS_PREFLIGHT;
5
5
  exports.getDefaultCssPreflight = require_defaults.getDefaultCssPreflight;
package/dist/defaults.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { a as resolveDefaultCssPreflight, i as getDefaultOptions, n as TAILWIND_V4_CSS_PREFLIGHT, r as getDefaultCssPreflight, t as TAILWIND_V3_CSS_PREFLIGHT } from "./defaults-DH0ZQRhy.mjs";
1
+ import { a as resolveDefaultCssPreflight, i as getDefaultOptions, n as TAILWIND_V4_CSS_PREFLIGHT, r as getDefaultCssPreflight, t as TAILWIND_V3_CSS_PREFLIGHT } from "./defaults-Bqx18S1f.mjs";
2
2
  export { TAILWIND_V3_CSS_PREFLIGHT, TAILWIND_V4_CSS_PREFLIGHT, getDefaultCssPreflight, getDefaultOptions, resolveDefaultCssPreflight };
@@ -0,0 +1,59 @@
1
+ export type DetectableAppType = 'mpx' | 'taro' | 'uni-app' | 'uni-app-vite' | 'uni-app-x' | 'weapp-vite';
2
+ export type FrameworkEnv = Partial<Record<'MPX_CLI_MODE' | 'MPX_CURRENT_TARGET_MODE' | 'NODE_PATH' | 'TARO_ENV' | 'UNI_PLATFORM' | 'UNI_UTS_PLATFORM' | 'WEAPP_TAILWINDCSS_TARGET' | 'WEAPP_TW_TARGET', string | undefined>>;
3
+ export interface UniPlatformInfo {
4
+ raw: string | undefined;
5
+ normalized: string | undefined;
6
+ isApp: boolean;
7
+ isAppAndroid: boolean;
8
+ isAppHarmony: boolean;
9
+ isAppIos: boolean;
10
+ isMp: boolean;
11
+ isWeb: boolean;
12
+ }
13
+ export interface HBuilderXRuntimeHints {
14
+ cwd?: string | undefined;
15
+ env?: FrameworkEnv | undefined;
16
+ nodePath?: string | null | undefined;
17
+ }
18
+ export interface PackageJsonLike {
19
+ 'dependencies'?: Record<string, string> | undefined;
20
+ 'devDependencies'?: Record<string, string> | undefined;
21
+ 'peerDependencies'?: Record<string, string> | undefined;
22
+ 'optionalDependencies'?: Record<string, string> | undefined;
23
+ 'scripts'?: Record<string, string> | undefined;
24
+ 'uni-app'?: unknown;
25
+ }
26
+ export interface UniAppManifestLike {
27
+ 'uni-app-x'?: unknown;
28
+ }
29
+ export interface DetectAppTypeOptions {
30
+ root?: string | undefined;
31
+ packageJson?: PackageJsonLike | undefined;
32
+ manifest?: UniAppManifestLike | undefined;
33
+ searchUp?: boolean | undefined;
34
+ env?: FrameworkEnv | undefined;
35
+ detectEnv?: boolean | undefined;
36
+ cwd?: string | undefined;
37
+ hbuilderxVite?: boolean | undefined;
38
+ }
39
+ export declare function isRunningInHBuilderX(options?: HBuilderXRuntimeHints): boolean;
40
+ export declare function resolveUniPlatform(value: string | undefined): UniPlatformInfo;
41
+ export declare function resolveUniUtsPlatform(value: string | undefined): UniPlatformInfo;
42
+ export declare function resolveUniPlatformsFromEnv(env?: FrameworkEnv): {
43
+ uniPlatform: UniPlatformInfo;
44
+ uniUtsPlatform: UniPlatformInfo;
45
+ };
46
+ export declare function detectAppTypeFromEnv(env?: FrameworkEnv, options?: {
47
+ cwd?: string | undefined;
48
+ hbuilderxVite?: boolean | undefined;
49
+ }): DetectableAppType | undefined;
50
+ export declare function isWeappVitePackage(pkg: PackageJsonLike): boolean;
51
+ export declare function isMpxPackage(pkg: PackageJsonLike): boolean;
52
+ export declare function isTaroPackage(pkg: PackageJsonLike): boolean;
53
+ export declare function isUniAppVitePackage(pkg: PackageJsonLike): boolean;
54
+ export declare function isUniAppXPackage(pkg: PackageJsonLike): boolean;
55
+ export declare function isUniAppPackage(pkg: PackageJsonLike): boolean;
56
+ export declare function isUniAppXManifest(manifest: UniAppManifestLike | undefined): boolean;
57
+ export declare function detectAppTypeFromPackageJson(pkg: PackageJsonLike): DetectableAppType | undefined;
58
+ export declare function detectAppType(options?: DetectAppTypeOptions): DetectableAppType | undefined;
59
+ export declare const resolveImplicitAppTypeFromViteRoot: (root: string) => DetectableAppType | undefined;
@@ -0,0 +1 @@
1
+ export * from './framework/index'
@@ -0,0 +1,198 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("./chunk-emK7D4bc.js");
3
+ let node_fs = require("node:fs");
4
+ let node_path = require("node:path");
5
+ node_path = require_chunk.__toESM(node_path);
6
+ let node_process = require("node:process");
7
+ node_process = require_chunk.__toESM(node_process);
8
+ //#region src/framework/index.ts
9
+ const KNOWN_MAC_HBUILDERX_PLUGIN_DIRS = ["/Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli-vite", "/Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli"];
10
+ const HBUILDERX_PLUGIN_CWD_RE = /[\\/]HBuilderX(?:\.[^\\/]*)?(?:[\\/]Contents[\\/]HBuilderX)?[\\/]plugins[\\/]uniapp-cli(?:-vite)?(?:[\\/]|$)/i;
11
+ const PACKAGE_JSON_FILE = "package.json";
12
+ const MANIFEST_JSON_FILE = "manifest.json";
13
+ const MPX_SCRIPT_RE = /\bmpx(?:-cli-service)?\b/u;
14
+ const TARO_SCRIPT_RE = /\btaro\b/u;
15
+ const WEAPP_VITE_SCRIPT_RE = /\bweapp-vite\b/u;
16
+ const UNI_APP_SCRIPT_RE = /\buni(?:\s|$)/u;
17
+ const UNI_APP_VITE_SCRIPT_RE = /\buni(?:\s|$)/u;
18
+ const MPX_MARKERS = [["src/app.mpx", "mpx"], ["app.mpx", "mpx"]];
19
+ function getProcessEnv() {
20
+ return {
21
+ MPX_CLI_MODE: node_process.default.env["MPX_CLI_MODE"],
22
+ MPX_CURRENT_TARGET_MODE: node_process.default.env["MPX_CURRENT_TARGET_MODE"],
23
+ NODE_PATH: node_process.default.env["NODE_PATH"],
24
+ TARO_ENV: node_process.default.env["TARO_ENV"],
25
+ UNI_PLATFORM: node_process.default.env["UNI_PLATFORM"],
26
+ UNI_UTS_PLATFORM: node_process.default.env["UNI_UTS_PLATFORM"],
27
+ WEAPP_TAILWINDCSS_TARGET: node_process.default.env["WEAPP_TAILWINDCSS_TARGET"],
28
+ WEAPP_TW_TARGET: node_process.default.env["WEAPP_TW_TARGET"]
29
+ };
30
+ }
31
+ function resolveDependencyNames(pkg) {
32
+ return new Set([
33
+ ...Object.keys(pkg.dependencies ?? {}),
34
+ ...Object.keys(pkg.devDependencies ?? {}),
35
+ ...Object.keys(pkg.peerDependencies ?? {}),
36
+ ...Object.keys(pkg.optionalDependencies ?? {})
37
+ ]);
38
+ }
39
+ function hasDependencyPrefix(dependencyNames, prefix) {
40
+ return [...dependencyNames].some((name) => name.startsWith(prefix));
41
+ }
42
+ function hasScriptMatch(pkg, pattern) {
43
+ return Object.values(pkg.scripts ?? {}).some((script) => pattern.test(script));
44
+ }
45
+ function normalizePlatform(value) {
46
+ return value?.trim().toLowerCase() || void 0;
47
+ }
48
+ function resolvePlatformInfo(value) {
49
+ const normalized = normalizePlatform(value);
50
+ const isAppAndroid = normalized === "app-android";
51
+ const isAppIos = normalized === "app-ios";
52
+ const isAppHarmony = normalized === "app-harmony";
53
+ return {
54
+ raw: value,
55
+ normalized,
56
+ isApp: normalized?.startsWith("app-") === true || normalized === "app" || normalized === "app-plus",
57
+ isAppAndroid,
58
+ isAppHarmony,
59
+ isAppIos,
60
+ isMp: normalized?.startsWith("mp-") === true,
61
+ isWeb: normalized?.startsWith("web") === true || normalized === "h5"
62
+ };
63
+ }
64
+ function hasKnownHBuilderXPluginPrefix(normalizedCwd) {
65
+ for (const dir of KNOWN_MAC_HBUILDERX_PLUGIN_DIRS) {
66
+ const normalizedDir = node_path.default.normalize(dir);
67
+ if (normalizedCwd === normalizedDir || normalizedCwd.startsWith(`${normalizedDir}${node_path.default.sep}`)) return true;
68
+ }
69
+ return false;
70
+ }
71
+ function matchesHBuilderXPluginCwd(cwd) {
72
+ const normalized = node_path.default.normalize(cwd);
73
+ if (hasKnownHBuilderXPluginPrefix(normalized)) return true;
74
+ return HBUILDERX_PLUGIN_CWD_RE.test(normalized);
75
+ }
76
+ function isRunningInHBuilderX(options = {}) {
77
+ const env = options.env ?? getProcessEnv();
78
+ const nodePath = "nodePath" in options ? options.nodePath : env.NODE_PATH;
79
+ if (!(nodePath == null || nodePath.trim().length === 0)) return false;
80
+ return matchesHBuilderXPluginCwd(options.cwd ?? node_process.default.cwd());
81
+ }
82
+ function resolveUniPlatform(value) {
83
+ return resolvePlatformInfo(value);
84
+ }
85
+ function resolveUniUtsPlatform(value) {
86
+ return resolvePlatformInfo(value);
87
+ }
88
+ function resolveUniPlatformsFromEnv(env = getProcessEnv()) {
89
+ return {
90
+ uniPlatform: resolveUniPlatform(env.UNI_PLATFORM),
91
+ uniUtsPlatform: resolveUniUtsPlatform(env.UNI_UTS_PLATFORM)
92
+ };
93
+ }
94
+ function detectAppTypeFromEnv(env = getProcessEnv(), options = {}) {
95
+ if (env.WEAPP_TW_TARGET === "weapp-vite" || env.WEAPP_TAILWINDCSS_TARGET === "weapp-vite") return "weapp-vite";
96
+ if (env.TARO_ENV) return "taro";
97
+ if (env.MPX_CLI_MODE || env.MPX_CURRENT_TARGET_MODE) return "mpx";
98
+ const { uniPlatform, uniUtsPlatform } = resolveUniPlatformsFromEnv(env);
99
+ if (uniUtsPlatform.normalized) return "uni-app-x";
100
+ if (uniPlatform.normalized) return "uni-app-vite";
101
+ if (isRunningInHBuilderX({
102
+ cwd: options.cwd,
103
+ env
104
+ })) return options.hbuilderxVite === false ? "uni-app" : "uni-app-vite";
105
+ }
106
+ function isWeappVitePackage(pkg) {
107
+ const dependencyNames = resolveDependencyNames(pkg);
108
+ return dependencyNames.has("weapp-vite") || hasDependencyPrefix(dependencyNames, "@weapp-vite/") || hasScriptMatch(pkg, WEAPP_VITE_SCRIPT_RE);
109
+ }
110
+ function isMpxPackage(pkg) {
111
+ return hasDependencyPrefix(resolveDependencyNames(pkg), "@mpxjs/") || hasScriptMatch(pkg, MPX_SCRIPT_RE);
112
+ }
113
+ function isTaroPackage(pkg) {
114
+ return hasDependencyPrefix(resolveDependencyNames(pkg), "@tarojs/") || hasScriptMatch(pkg, TARO_SCRIPT_RE);
115
+ }
116
+ function isUniAppVitePackage(pkg) {
117
+ return resolveDependencyNames(pkg).has("@dcloudio/vite-plugin-uni") || hasScriptMatch(pkg, UNI_APP_VITE_SCRIPT_RE);
118
+ }
119
+ function isUniAppXPackage(pkg) {
120
+ const dependencyNames = resolveDependencyNames(pkg);
121
+ return dependencyNames.has("@dcloudio/uni-uts-v1") || dependencyNames.has("@weapp-tailwindcss/debug-uni-app-x");
122
+ }
123
+ function isUniAppPackage(pkg) {
124
+ const dependencyNames = resolveDependencyNames(pkg);
125
+ return dependencyNames.has("@dcloudio/vue-cli-plugin-uni") || dependencyNames.has("@dcloudio/uni-app") || Object.hasOwn(pkg, "uni-app") || hasScriptMatch(pkg, UNI_APP_SCRIPT_RE);
126
+ }
127
+ function isUniAppXManifest(manifest) {
128
+ return Boolean(manifest && Object.hasOwn(manifest, "uni-app-x"));
129
+ }
130
+ function detectAppTypeFromPackageJson(pkg) {
131
+ if (isWeappVitePackage(pkg)) return "weapp-vite";
132
+ if (isMpxPackage(pkg)) return "mpx";
133
+ if (isTaroPackage(pkg)) return "taro";
134
+ if (isUniAppXPackage(pkg)) return "uni-app-x";
135
+ if (isUniAppVitePackage(pkg)) return "uni-app-vite";
136
+ if (isUniAppPackage(pkg)) return "uni-app";
137
+ }
138
+ function tryReadJson(file) {
139
+ if (!(0, node_fs.existsSync)(file)) return;
140
+ try {
141
+ return JSON.parse((0, node_fs.readFileSync)(file, "utf8"));
142
+ } catch {}
143
+ }
144
+ function detectAppTypeFromMarkers(root) {
145
+ for (const [relativePath, appType] of MPX_MARKERS) if ((0, node_fs.existsSync)(node_path.default.join(root, relativePath))) return appType;
146
+ }
147
+ function detectAppTypeFromRoot(root, searchUp = true) {
148
+ const resolvedRoot = node_path.default.resolve(root);
149
+ if (!(0, node_fs.existsSync)(resolvedRoot)) return;
150
+ const markerDetected = detectAppTypeFromMarkers(resolvedRoot);
151
+ if (markerDetected) return markerDetected;
152
+ let current = resolvedRoot;
153
+ while (true) {
154
+ if (isUniAppXManifest(tryReadJson(node_path.default.join(current, MANIFEST_JSON_FILE)))) return "uni-app-x";
155
+ const pkg = tryReadJson(node_path.default.join(current, PACKAGE_JSON_FILE));
156
+ if (pkg) {
157
+ const detected = detectAppTypeFromPackageJson(pkg);
158
+ if (detected) return detected;
159
+ }
160
+ if (!searchUp) break;
161
+ const parent = node_path.default.dirname(current);
162
+ if (parent === current) break;
163
+ current = parent;
164
+ }
165
+ }
166
+ function detectAppType(options = {}) {
167
+ if (isUniAppXManifest(options.manifest)) return "uni-app-x";
168
+ if (options.packageJson) {
169
+ const detected = detectAppTypeFromPackageJson(options.packageJson);
170
+ if (detected) return detected;
171
+ }
172
+ if (options.root) {
173
+ const detected = detectAppTypeFromRoot(options.root, options.searchUp ?? true);
174
+ if (detected) return detected;
175
+ }
176
+ const env = options.env ?? (options.detectEnv ? getProcessEnv() : void 0);
177
+ if (env) return detectAppTypeFromEnv(env, {
178
+ cwd: options.cwd ?? options.root ?? (options.detectEnv ? node_process.default.cwd() : void 0),
179
+ hbuilderxVite: options.hbuilderxVite
180
+ });
181
+ }
182
+ const resolveImplicitAppTypeFromViteRoot = (root) => detectAppType({ root });
183
+ //#endregion
184
+ exports.detectAppType = detectAppType;
185
+ exports.detectAppTypeFromEnv = detectAppTypeFromEnv;
186
+ exports.detectAppTypeFromPackageJson = detectAppTypeFromPackageJson;
187
+ exports.isMpxPackage = isMpxPackage;
188
+ exports.isRunningInHBuilderX = isRunningInHBuilderX;
189
+ exports.isTaroPackage = isTaroPackage;
190
+ exports.isUniAppPackage = isUniAppPackage;
191
+ exports.isUniAppVitePackage = isUniAppVitePackage;
192
+ exports.isUniAppXManifest = isUniAppXManifest;
193
+ exports.isUniAppXPackage = isUniAppXPackage;
194
+ exports.isWeappVitePackage = isWeappVitePackage;
195
+ exports.resolveImplicitAppTypeFromViteRoot = resolveImplicitAppTypeFromViteRoot;
196
+ exports.resolveUniPlatform = resolveUniPlatform;
197
+ exports.resolveUniPlatformsFromEnv = resolveUniPlatformsFromEnv;
198
+ exports.resolveUniUtsPlatform = resolveUniUtsPlatform;