weapp-vite 7.4.0 → 7.6.0

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 (126) hide show
  1. package/README.md +59 -3
  2. package/THIRD_PARTY_NOTICES.md +60 -0
  3. package/bin/bootstrap.js +14 -1
  4. package/dist/action-B3YZMA-h.mjs +255 -0
  5. package/dist/action-BELcDNNv.mjs +139 -0
  6. package/dist/action-BOk3vGI7.mjs +1110 -0
  7. package/dist/action-DlC6JYpt.mjs +95 -0
  8. package/dist/action-zEDY7oh_.mjs +247 -0
  9. package/dist/adapters-CcHrsYaj.mjs +1 -0
  10. package/dist/analyze-DN79YOAH.mjs +184 -0
  11. package/dist/artifacts-BOyC9Fy-.mjs +106 -0
  12. package/dist/assets-C5_YYXNk.mjs +637 -0
  13. package/dist/auto-import-components/resolvers.mjs +1 -2
  14. package/dist/auto-import-presets/wevu-router.mjs +1 -2
  15. package/dist/auto-import-presets/wevu.mjs +1 -2
  16. package/dist/auto-routes.mjs +2 -1
  17. package/dist/budget-CTLOHwgI.d.mts +177 -0
  18. package/dist/budget-EOeEycc_.mjs +65 -0
  19. package/dist/builtProject-C29udgXY.mjs +541 -0
  20. package/dist/chunkStrategy-DY_LZIIe.mjs +1448 -0
  21. package/dist/classifier-DBJY__kg.mjs +88 -0
  22. package/dist/cli-acceptance.d.mts +1 -0
  23. package/dist/cli-acceptance.mjs +21 -0
  24. package/dist/cli.mjs +519 -5049
  25. package/dist/compatibility.mjs +1 -2
  26. package/dist/{config-Dbvj5yK7.d.mts → config-Bf6DWhyb.d.mts} +220 -76
  27. package/dist/config.d.mts +3 -3
  28. package/dist/config.mjs +1 -1
  29. package/dist/{constants-WOsG3Eqd.mjs → constants-DEZdcsMn.mjs} +1 -1
  30. package/dist/{createContext-UOEgeYnA.mjs → createCompilerContextInstance-aYwi8wQt.mjs} +36862 -32020
  31. package/dist/createContext-tApLtII-.mjs +15 -0
  32. package/dist/dashboard/analyze.d.mts +48 -0
  33. package/dist/dashboard/analyze.mjs +3 -0
  34. package/dist/dashboard/vite.d.mts +1 -1
  35. package/dist/dashboard.d.mts +3 -2
  36. package/dist/dashboard.mjs +1748 -1
  37. package/dist/dashboardTransport-C_Y6jMp-.mjs +16 -0
  38. package/dist/dashboardViteBridge-DCGR43aM.mjs +302 -0
  39. package/dist/dev-C2fgr_Xd.mjs +67 -0
  40. package/dist/devProvider-D-hTfsEO.mjs +3027 -0
  41. package/dist/docs/README.md +59 -3
  42. package/dist/docs/ai-workflows.md +4 -0
  43. package/dist/docs/doctor.md +38 -0
  44. package/dist/docs/getting-started.md +3 -1
  45. package/dist/docs/index.md +3 -1
  46. package/dist/docs/mcp.md +104 -1
  47. package/dist/docs/testing.md +29 -2
  48. package/dist/docs/troubleshooting.md +16 -0
  49. package/dist/docs/uni-app-component-libraries.md +8 -7
  50. package/dist/docs/upload.md +40 -3
  51. package/dist/docs/vite-plugin.md +171 -0
  52. package/dist/docs/vue-sfc.md +42 -0
  53. package/dist/docs/weapp-config.md +54 -0
  54. package/dist/docs/wevu-authoring.md +10 -0
  55. package/dist/doctor-worker.d.mts +1 -0
  56. package/dist/doctor-worker.mjs +60 -0
  57. package/dist/doctor.d.mts +144 -0
  58. package/dist/doctor.mjs +850 -0
  59. package/dist/engine-C66J0HLz.mjs +54 -0
  60. package/dist/eslint.mjs +1 -2
  61. package/dist/{file-giE9UMZa.mjs → file-CcIOmqhC.mjs} +58 -24
  62. package/dist/file-DtcteQ4G.mjs +1 -0
  63. package/dist/files-BqxFIPRp.mjs +45 -0
  64. package/dist/forwardConsole-B0Reo8Lf.mjs +511 -0
  65. package/dist/getInstance-BAIaU2y9.mjs +1 -0
  66. package/dist/getInstance-Dt9IQDKr.mjs +28 -0
  67. package/dist/history-BIiRCzbq.mjs +784 -0
  68. package/dist/i18n.d.mts +1 -1
  69. package/dist/index-D5rgBzYZ.d.mts +740 -0
  70. package/dist/index.d.mts +12 -10
  71. package/dist/index.mjs +3 -2
  72. package/dist/json.d.mts +1 -1
  73. package/dist/json.mjs +1 -2
  74. package/dist/lib-DjccSI1B.mjs +143 -0
  75. package/dist/lifecycle-C36WSbQS.mjs +413 -0
  76. package/dist/loadConfig-BWIsDXR4.mjs +59 -0
  77. package/dist/loadConfig-D-BpBgsk.mjs +1 -0
  78. package/dist/logBuildAppFinish-ChjwATMv.mjs +57 -0
  79. package/dist/logger-DGn5iEVN.mjs +1 -0
  80. package/dist/mcp-CYgX9HpO.mjs +86 -0
  81. package/dist/{mcp-BG6TliEg.mjs → mcp-Cj8Maqo6.mjs} +16 -7
  82. package/dist/mcp.d.mts +6 -3
  83. package/dist/mcp.mjs +1 -2
  84. package/dist/mcpClient-DVLvFLZv.mjs +287 -0
  85. package/dist/metadata-hwF7QRcS.mjs +59 -0
  86. package/dist/nodeEnv-BmH8UZPR.mjs +7 -0
  87. package/dist/openIde-CroqOgk5.mjs +648 -0
  88. package/dist/options-jqFwfD1G.mjs +34 -0
  89. package/dist/package-Cmakyy3J.mjs +4 -0
  90. package/dist/path-CYYIQGS7.mjs +44 -0
  91. package/dist/{platform-DTWs5QRi.mjs → platform-CnkySBKz.mjs} +1 -1
  92. package/dist/processCleanup-BQn2kTcK.mjs +19 -0
  93. package/dist/protocol-Cg6Jdlvb.mjs +141 -0
  94. package/dist/reader-sh_POQ9-.mjs +93 -0
  95. package/dist/realpathScope-Tf9mz-fh.mjs +23 -0
  96. package/dist/report-hyonPGbZ.mjs +107 -0
  97. package/dist/resolvedId-CiDl7SC1.mjs +60 -0
  98. package/dist/{resolvers-icNxkpcy.mjs → resolvers-Dod-euqX.mjs} +4 -1
  99. package/dist/resolvers.mjs +1 -2
  100. package/dist/runtime-CLUhQsdA.mjs +43 -0
  101. package/dist/{runtime-Ee2HY6gR.d.mts → runtime-DpVf714f.d.mts} +1 -1
  102. package/dist/runtime.d.mts +1 -1
  103. package/dist/runtime.mjs +1 -2
  104. package/dist/schematics-kO26eQRT.mjs +91 -0
  105. package/dist/session-D3zsdzIy.mjs +452 -0
  106. package/dist/test.d.mts +1 -0
  107. package/dist/test.mjs +204 -45
  108. package/dist/{types-CgZn5X6j.d.mts → types-D-kfuyVa.d.mts} +1 -2
  109. package/dist/types-D0FFexRF.d.mts +39 -0
  110. package/dist/types.d.mts +3 -3
  111. package/dist/{upload-D0RcEWrq.mjs → upload-DozK8UdN.mjs} +278 -15
  112. package/dist/upload-worker.mjs +136 -3
  113. package/dist/utils-Dy51PYAC.mjs +1034 -0
  114. package/dist/vite.d.mts +9 -0
  115. package/dist/vite.mjs +309 -0
  116. package/dist/volar.d.mts +2 -2
  117. package/dist/web-apis.mjs +1 -2
  118. package/dist/wxs-BT8btflA.mjs +112 -0
  119. package/dist/wxs-Z4VQDeJ_.mjs +1 -0
  120. package/package.json +80 -48
  121. package/dist/adapters-BwnMMIZR.mjs +0 -2
  122. package/dist/dashboard-BzaVesmQ.mjs +0 -558
  123. package/dist/file-D19nbDoN.mjs +0 -2
  124. package/dist/getInstance-CYF1vl5l.mjs +0 -2
  125. package/dist/index-DbqVupg0.d.mts +0 -246
  126. package/dist/logger-mt4mSTqV.mjs +0 -2
@@ -0,0 +1,177 @@
1
+ import { n as GlassEaselAnalyzeResult } from "./types-D0FFexRF.mjs";
2
+ //#region src/analyze/components/types.d.ts
3
+ type AnalyzeComponentSuggestionKind = 'move-to-subpackage' | 'split-or-async' | 'shared-subpackage-or-placeholder';
4
+ interface AnalyzeComponentSuggestion {
5
+ kind: AnalyzeComponentSuggestionKind;
6
+ message: string;
7
+ component: string;
8
+ componentPackage: string;
9
+ targetPackage?: string;
10
+ pagePackages: string[];
11
+ }
12
+ interface AnalyzeComponentPageUsage {
13
+ page: string;
14
+ packageId: string;
15
+ usageCount: number;
16
+ }
17
+ interface AnalyzeComponentUsage {
18
+ component: string;
19
+ componentPackage: string;
20
+ totalUsageCount: number;
21
+ pageUsageCount: number;
22
+ pages: AnalyzeComponentPageUsage[];
23
+ suggestions: AnalyzeComponentSuggestion[];
24
+ }
25
+ //#endregion
26
+ //#region src/analyze/subpackages/artifacts/types.d.ts
27
+ interface AnalyzeModuleOwner {
28
+ name: string;
29
+ version?: string;
30
+ }
31
+ type AnalyzeModuleCategory = 'runtime' | 'reactivity' | 'host' | 'helper' | 'application' | 'dependency' | 'unknown';
32
+ interface AnalyzeArtifactModule {
33
+ source: string;
34
+ package?: AnalyzeModuleOwner;
35
+ category: AnalyzeModuleCategory;
36
+ /** 打包器提供的模块长度,不保证等于最终 UTF-8 字节。 */
37
+ renderedLength?: number;
38
+ /** 按模块长度占比分摊的最终字节估算,不是独立压缩结果。 */
39
+ estimatedBytes: number;
40
+ }
41
+ interface AnalyzeArtifact {
42
+ file: string;
43
+ packageId: string;
44
+ origin: 'main' | 'independent';
45
+ type: 'chunk' | 'asset';
46
+ bytes: number;
47
+ sha256?: string;
48
+ role: 'runtime' | 'application' | 'dependency' | 'mixed' | 'unknown' | 'asset';
49
+ classification: 'module-ownership' | 'asset' | 'unavailable';
50
+ estimation: 'rendered-length-proportional';
51
+ modules: AnalyzeArtifactModule[];
52
+ runtimeEstimatedBytes: number;
53
+ unattributedBytes: number;
54
+ }
55
+ interface AnalyzeArtifactAnalysis {
56
+ files: AnalyzeArtifact[];
57
+ /** 各物理文件只计一次;不能再加上 runtime 或重复模块估算。 */
58
+ totalBytes: number;
59
+ /** 同一模块在多个物理文件中的估算总量减去最大单份,不是可保证节省量。 */
60
+ duplicateEstimatedBytes: number;
61
+ runtime: {
62
+ estimatedBytes: number;
63
+ /** 包含 runtime 模块的所有文件实际字节,包括混合 chunk 中的业务代码。 */
64
+ upperBoundBytes: number;
65
+ unknownFiles: string[];
66
+ };
67
+ }
68
+ //#endregion
69
+ //#region src/analyze/subpackages/types.d.ts
70
+ type PackageType = 'main' | 'subPackage' | 'independent' | 'virtual';
71
+ type ModuleSourceType = 'src' | 'plugin' | 'node_modules' | 'workspace';
72
+ type BuildOrigin = 'main' | 'independent';
73
+ interface AnalyzeBudgetConfig {
74
+ totalBytes: number;
75
+ mainBytes: number;
76
+ subPackageBytes: number;
77
+ independentBytes: number;
78
+ runtimeBytes?: number;
79
+ packageBytes?: Record<string, number>;
80
+ warningRatio: number;
81
+ source: 'config' | 'default';
82
+ }
83
+ interface AnalyzeHistoryMetadata {
84
+ enabled: boolean;
85
+ dir: string;
86
+ limit: number;
87
+ latestSnapshot?: string;
88
+ }
89
+ interface AnalyzeSubpackagesMetadata {
90
+ projectName?: string;
91
+ generatedAt: string;
92
+ budgets: AnalyzeBudgetConfig;
93
+ history: AnalyzeHistoryMetadata;
94
+ }
95
+ interface ModuleInFile {
96
+ id: string;
97
+ source: string;
98
+ sourceType: ModuleSourceType;
99
+ bytes?: number;
100
+ originalBytes?: number;
101
+ }
102
+ interface PackageFileEntry {
103
+ file: string;
104
+ type: 'chunk' | 'asset';
105
+ from: BuildOrigin;
106
+ size?: number;
107
+ sha256?: string;
108
+ /** 包含虚拟模块在内的打包器长度总和,用于保留无法归因的份额。 */
109
+ moduleRenderedLength?: number;
110
+ gzipSize?: number;
111
+ brotliSize?: number;
112
+ isEntry?: boolean;
113
+ imports?: string[];
114
+ dynamicImports?: string[];
115
+ modules?: ModuleInFile[];
116
+ source?: string;
117
+ sourceType?: ModuleSourceType;
118
+ }
119
+ interface PackageReport {
120
+ id: string;
121
+ label: string;
122
+ type: PackageType;
123
+ files: PackageFileEntry[];
124
+ }
125
+ interface ModuleUsage {
126
+ id: string;
127
+ source: string;
128
+ sourceType: ModuleSourceType;
129
+ packages: Array<{
130
+ packageId: string;
131
+ files: string[];
132
+ }>;
133
+ }
134
+ interface SubPackageDescriptor {
135
+ root: string;
136
+ independent: boolean;
137
+ name?: string;
138
+ }
139
+ interface AnalyzeSubpackagesResult {
140
+ schemaVersion?: 2;
141
+ build?: {
142
+ id: string;
143
+ platform: string;
144
+ mode: string;
145
+ };
146
+ artifacts?: AnalyzeArtifactAnalysis;
147
+ budgetChecks?: AnalyzeBudgetCheckItem[];
148
+ metadata?: AnalyzeSubpackagesMetadata;
149
+ packages: PackageReport[];
150
+ modules: ModuleUsage[];
151
+ subPackages: SubPackageDescriptor[];
152
+ components?: AnalyzeComponentUsage[];
153
+ glassEasel: GlassEaselAnalyzeResult;
154
+ }
155
+ //#endregion
156
+ //#region src/analyze/subpackages/budget.d.ts
157
+ interface AnalyzeBudgetCheckItem {
158
+ id: string;
159
+ label: string;
160
+ scope: 'total' | 'runtime' | PackageType;
161
+ currentBytes: number;
162
+ limitBytes: number;
163
+ ratio: number;
164
+ status: 'ok' | 'warning' | 'exceeded' | 'unknown';
165
+ measurement: 'file-bytes' | 'upper-bound' | 'unavailable';
166
+ files: string[];
167
+ }
168
+ interface AnalyzeBudgetCheckInput {
169
+ packages: AnalyzeSubpackagesResult['packages'];
170
+ artifacts?: AnalyzeSubpackagesResult['artifacts'];
171
+ metadata?: Partial<AnalyzeSubpackagesMetadata> & {
172
+ budgets: AnalyzeBudgetConfig;
173
+ };
174
+ }
175
+ declare function createAnalyzeBudgetCheck(result: AnalyzeBudgetCheckInput): AnalyzeBudgetCheckItem[];
176
+ //#endregion
177
+ export { AnalyzeSubpackagesResult as a, AnalyzeBudgetConfig as i, AnalyzeBudgetCheckItem as n, ModuleSourceType as o, createAnalyzeBudgetCheck as r, AnalyzeBudgetCheckInput as t };
@@ -0,0 +1,65 @@
1
+ //#region src/analyze/subpackages/artifacts/category.ts
2
+ function isRuntimeCategory(category) {
3
+ return category === "runtime" || category === "reactivity" || category === "host" || category === "helper";
4
+ }
5
+ //#endregion
6
+ //#region src/analyze/subpackages/budget.ts
7
+ const defaultBudgets = {
8
+ totalBytes: 20971520,
9
+ mainBytes: 2097152,
10
+ subPackageBytes: 2097152,
11
+ independentBytes: 2097152,
12
+ warningRatio: .85,
13
+ source: "default"
14
+ };
15
+ function createAnalyzeBudgetCheck(result) {
16
+ const budgets = result.metadata?.budgets ?? defaultBudgets;
17
+ const createItem = (options, unknown = false) => {
18
+ const ratio = options.limitBytes > 0 ? options.currentBytes / options.limitBytes : options.currentBytes > 0 ? 1 : 0;
19
+ return {
20
+ ...options,
21
+ ratio,
22
+ status: unknown ? "unknown" : ratio >= 1 ? "exceeded" : ratio >= budgets.warningRatio ? "warning" : "ok"
23
+ };
24
+ };
25
+ const files = result.packages.flatMap((pkg) => pkg.files);
26
+ const unique = new Map(files.map((file) => [file.file, file]));
27
+ const sizeUnknown = (items) => items.some((file) => typeof file.size !== "number" || !Number.isFinite(file.size) || file.size < 0);
28
+ const items = [createItem({
29
+ id: "__total__",
30
+ label: "总包",
31
+ scope: "total",
32
+ currentBytes: [...unique.values()].reduce((sum, file) => sum + (file.size ?? 0), 0),
33
+ limitBytes: budgets.totalBytes,
34
+ measurement: "file-bytes",
35
+ files: [...unique.keys()].sort()
36
+ }, sizeUnknown(files))];
37
+ for (const pkg of result.packages) {
38
+ const limitBytes = budgets.packageBytes?.[pkg.id] ?? (pkg.type === "main" ? budgets.mainBytes : pkg.type === "subPackage" ? budgets.subPackageBytes : pkg.type === "independent" ? budgets.independentBytes : void 0);
39
+ if (limitBytes === void 0) continue;
40
+ items.push(createItem({
41
+ id: pkg.id,
42
+ label: pkg.label,
43
+ scope: pkg.type,
44
+ currentBytes: pkg.files.reduce((sum, file) => sum + (file.size ?? 0), 0),
45
+ limitBytes,
46
+ measurement: "file-bytes",
47
+ files: pkg.files.map((file) => file.file).sort()
48
+ }, sizeUnknown(pkg.files)));
49
+ }
50
+ if (budgets.runtimeBytes !== void 0) {
51
+ const artifacts = result.artifacts;
52
+ items.push(createItem({
53
+ id: "__runtime__",
54
+ label: "Runtime(含混合 chunk 的文件上界)",
55
+ scope: "runtime",
56
+ currentBytes: artifacts?.runtime.upperBoundBytes ?? 0,
57
+ limitBytes: budgets.runtimeBytes,
58
+ measurement: artifacts ? "upper-bound" : "unavailable",
59
+ files: artifacts?.files.filter((file) => artifacts.runtime.unknownFiles.includes(file.file) || file.modules.some((module) => isRuntimeCategory(module.category))).map((file) => file.file) ?? files.filter((file) => file.type === "chunk" || /\.[cm]?js$/i.test(file.file)).map((file) => file.file)
60
+ }, !artifacts || artifacts.runtime.unknownFiles.length > 0));
61
+ }
62
+ return items.sort((a, b) => b.ratio - a.ratio || a.label.localeCompare(b.label));
63
+ }
64
+ //#endregion
65
+ export { isRuntimeCategory as n, createAnalyzeBudgetCheck as t };