weapp-vite 7.9.0 → 7.10.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 (61) hide show
  1. package/dist/{action-BXQ_635N.mjs → action-5b4_Id41.mjs} +5 -5
  2. package/dist/{action-tvgM91DU.mjs → action-BrYUOyNr.mjs} +2 -2
  3. package/dist/{action-D4aE_85H.mjs → action-C69IwqF6.mjs} +4 -4
  4. package/dist/{action-DPyPIu7h.mjs → action-D5YjMuNK.mjs} +6 -6
  5. package/dist/{action-BjqLMcEc.mjs → action-DeTIjVZi.mjs} +1 -1
  6. package/dist/{assets-BTDeDWL8.mjs → assets-DGjxkFom.mjs} +2 -2
  7. package/dist/auto-import-components/resolvers.mjs +1 -1
  8. package/dist/auto-routes.mjs +2 -2
  9. package/dist/{classifier-CLQfYmuy.mjs → classifier-CBLOs0e9.mjs} +2 -2
  10. package/dist/cli-acceptance.mjs +1 -1
  11. package/dist/cli.mjs +14 -14
  12. package/dist/{createCompilerContextInstance-3_LDm06J.mjs → createCompilerContextInstance-DLbj9x6v.mjs} +256 -44
  13. package/dist/{createContext-Bt5Xf3qS.mjs → createContext-CNX394Nq.mjs} +2 -2
  14. package/dist/dashboard/vite.d.mts +1 -1
  15. package/dist/dashboard.d.mts +1 -1
  16. package/dist/docs/ai-workflows.md +37 -0
  17. package/dist/doctor-worker.mjs +1 -1
  18. package/dist/doctor.mjs +2 -2
  19. package/dist/{file-BSnzOG71.mjs → file-BKX2bE_I.mjs} +1 -1
  20. package/dist/file-WUM9I-Hl.mjs +1 -0
  21. package/dist/{forwardConsole-5gsW38JU.mjs → forwardConsole-Bd9pQVs_.mjs} +1 -1
  22. package/dist/{getInstance-BVPJxJPq.mjs → getInstance-BFOSqiSf.mjs} +1 -1
  23. package/dist/getInstance-BkoPIV8s.mjs +1 -0
  24. package/dist/{history-DHf4bJcC.mjs → history-D3m367Ml.mjs} +2 -2
  25. package/dist/{index-BIjQ_ZIs.d.mts → index-DIZJRrvK.d.mts} +1 -1
  26. package/dist/index.mjs +2 -2
  27. package/dist/{lib-DFy0ICSb.mjs → lib-TVTxVvtt.mjs} +1 -1
  28. package/dist/{loadConfig-Cz0YvFKX.mjs → loadConfig-DBH8TMJu.mjs} +1 -1
  29. package/dist/loadConfig-DrcfCgLX.mjs +1 -0
  30. package/dist/{logBuildAppFinish-CEd6S2uv.mjs → logBuildAppFinish-CiwAAttq.mjs} +1 -1
  31. package/dist/{mcp-BIeIXYnH.mjs → mcp-CUJeEA1k.mjs} +1 -1
  32. package/dist/{openIde-DR1jRwRZ.mjs → openIde-MbhME5Lq.mjs} +2 -2
  33. package/dist/{package-BnYH0riT.mjs → package-DaAwtXIg.mjs} +1 -1
  34. package/dist/{resolvers-CKYqmRD_.mjs → resolvers-CwIPE-np.mjs} +1 -0
  35. package/dist/resolvers.mjs +1 -1
  36. package/dist/{runtime-C3FhJHMZ.mjs → runtime-CXXzD_vv.mjs} +1 -1
  37. package/dist/{session-DEB9vhVJ.mjs → session-OfpAb3Zc.mjs} +2 -2
  38. package/dist/test.mjs +11 -3
  39. package/dist/{utils-C6mLS1fl.mjs → utils-BiSQAI-e.mjs} +1 -1
  40. package/dist/vite.mjs +1 -1
  41. package/package.json +35 -34
  42. package/skills/weapp-vite-best-practices/SKILL.md +173 -0
  43. package/skills/weapp-vite-best-practices/agents/openai.yaml +7 -0
  44. package/skills/weapp-vite-best-practices/references/cli-dispatch-playbook.md +41 -0
  45. package/skills/weapp-vite-best-practices/references/config-playbook.md +51 -0
  46. package/skills/weapp-vite-best-practices/references/debug-playbook.md +47 -0
  47. package/skills/weapp-vite-best-practices/references/ide-command-playbook.md +26 -0
  48. package/skills/weapp-vite-best-practices/references/ide-i18n-config-playbook.md +29 -0
  49. package/skills/weapp-vite-best-practices/references/native-ast-performance-checklist.md +7 -0
  50. package/skills/weapp-vite-best-practices/references/plugin-build-playbook.md +11 -0
  51. package/skills/weapp-vite-best-practices/references/stateful-hmr-playbook.md +17 -0
  52. package/skills/weapp-vite-best-practices/references/web-runtime-compatibility.md +39 -0
  53. package/skills/weapp-vite-vue-sfc-best-practices/SKILL.md +107 -0
  54. package/skills/weapp-vite-vue-sfc-best-practices/agents/openai.yaml +7 -0
  55. package/skills/weapp-vite-vue-sfc-best-practices/references/macro-config-checklist.md +20 -0
  56. package/skills/weapp-vite-vue-sfc-best-practices/references/template-compat-matrix.md +24 -0
  57. package/skills/weapp-vite-vue-sfc-best-practices/references/tooling-and-hmr-matrix.md +13 -0
  58. package/skills/weapp-vite-vue-sfc-best-practices/references/troubleshooting-playbook.md +21 -0
  59. package/dist/file-BHca0tSX.mjs +0 -1
  60. package/dist/getInstance-KmwxLWE4.mjs +0 -1
  61. package/dist/loadConfig-CTPTKB6I.mjs +0 -1
@@ -6,14 +6,14 @@ import { a as parseSidecarModuleId, c as resolveVirtualModuleId, i as parseLogic
6
6
  import { $ as invalidateAutoRoutesVirtualModules, A as chokidar_default, At as isLogicalEntrySource, B as resolveNpmBuildCandidateDependenciesSync, C as deferWxmlDependencyCommit, Ct as platformApiIdentifiers, D as shareWxmlDependencies, Dt as collectDevStartNodes, E as isWxmlDependency, Et as collectBuildStartIds, F as dedupeNpmDependencies, G as packageSearchOptions, H as resolveNpmDistDirName, I as hasLocalSubPackageNpmConfig, J as WEVU_AUTO_ROUTES_RESOLVED_MODULE_ID$1, K as createPackageImportsQueryPlugin, L as resolveConfiguredNpmDependencyPatterns, N as createViteWatchIgnored, O as createFileWatcher, Ot as hasBuildModule, P as resolvePollingWatchOptions, Q as createAutoRoutesSidecarWatcher, R as resolveDeclaredNpmDependencies, S as commitWxmlDependencies, St as mayContainPlatformApiIdentifierByText, T as getWxmlWatchFiles, Tt as collectComponentPropsFromCode, U as resolveNpmStrategyMode, V as resolveNpmBuildCandidateDependencyRecordSync, W as resolveTargetDependencies, X as collectAutoRoutesReloadModules, Y as addAutoRoutesWatchTargets, Z as collectAutoRoutesWatchDirs, _ as notifyDevModuleGraphHost, _t as isPlatformApiIdentifier, a as markOwnedPlugins, at as shouldStartAutoRoutesWatcher, b as beginWxmlDependencies, bt as collectRequireTokens, c as recordHmrProfileDuration, ct as isAutoRoutesGeneratedRelativePath, d as resolveHmrProfileJsonEnvOption, dt as createAutoRoutesMatcher, et as isAutoRoutesWatchFile, f as resolveHmrProfileJsonPath, ft as isCSSRequest, g as hasDevModuleGraphHost, gt as analyzeScripts, ht as analyzeScript$1, i as markOwnedPlugin, it as resolveAutoRoutesWatchChangeEvent, j as deduplicateCleanupErrors, jt as normalizeSourceId$1, k as createSidecarWatcherReadiness, kt as hasDevModule, l as recordHmrProfileOperation, lt as resolveAutoRoutesManagedOutputPaths, m as createSidecarModuleCode, mt as analyzeNpmChunksWithNative, n as createDevModuleGraphProvider, nt as resolveAutoRoutesHotUpdateAction, o as createHmrProfileCheckpoint, ot as isAutoRoutesGeneratedDirectoryName, p as createLogicalEntryModuleCode, pt as isRegexp, q as RESOLVED_VIRTUAL_ID, r as createOwnedPluginGeneration, rt as resolveAutoRoutesVirtualId, s as createHmrProfileEventId, st as isAutoRoutesGeneratedPath, tt as isAutoRoutesWatchMode, u as resolveActiveHmrProfileJsonPath, ut as resolveWeappAutoRoutesConfig, v as reportDevModuleGraphBuild, vt as resolveAstEngine, w as failWxmlDependencies, wt as collectOnPageScrollPerformanceWarnings, x as clearWxmlDependencies, xt as mayContainStaticRequireLiteral, y as bindWxmlDependencyWatch, yt as analyzeScriptSetupImportsFromCode, z as resolveMainBuildDependencyPatterns } from "./devProvider-Ci2il72x.mjs";
7
7
  import { a as normalizeWatchPath, i as normalizeRoot, n as normalizePath$1, r as normalizeRelativePath$1, s as toPosixPath, t as isPathInside } from "./path-E1OjBJAl.mjs";
8
8
  import { C as shouldNormalizeVueTemplateForPlatform, D as shouldUseProjectRootNpmDir, E as shouldRewriteBundleNpmImports, T as shouldRebuildCachedMiniprogramPackage, _ as shouldEmitGenericPlaceholderAsset, a as getPlatformNpmDistDirName, b as shouldNormalizeMiniprogramPackage, c as getPreservedNpmDirNames, d as getWxmlDirectivePrefix, f as getWxmlPlatformTransformOptions, g as shouldCopyEsModuleDirectory, h as resolveMiniPlatformWithDefault, i as getPlatformAppTypesPackage, l as getProjectPlatformOptions, m as resolveMiniPlatform, o as getPlatformOutputExtensions, r as getJsonPlatformOptions, t as DEFAULT_MP_PLATFORM, u as getSupportedMiniProgramPlatforms$1, y as shouldHoistNestedMiniprogramDependencies } from "./platform-BiMpsZIb.mjs";
9
- import { a as replaceCompilerSourceSnapshotView, c as findJsEntry, d as findVueEntry, f as isJsOrTs, h as touch, i as getCompilerSourceSnapshotView, l as findJsonEntry, n as getCompilerSourceResolutions, o as changeFileExtension, p as isTemplate, r as getCompilerSourceSnapshot, s as findCssEntry, t as extractConfigFromVue, u as findTemplateEntry, v as inlineAutoRoutesImports } from "./file-BSnzOG71.mjs";
9
+ import { a as replaceCompilerSourceSnapshotView, c as findJsEntry, d as findVueEntry, f as isJsOrTs, h as touch, i as getCompilerSourceSnapshotView, l as findJsonEntry, n as getCompilerSourceResolutions, o as changeFileExtension, p as isTemplate, r as getCompilerSourceSnapshot, s as findCssEntry, t as extractConfigFromVue, u as findTemplateEntry, v as inlineAutoRoutesImports } from "./file-BKX2bE_I.mjs";
10
10
  import { a as supportedCssLangs, c as ALL_NATIVE_STYLE_RESOLVER_EXTENSIONS, d as isNativeTemplateSource, f as isSourceStyleExtension, i as scriptExtensions, n as configExtensions, o as templateExtensions, r as jsExtensions, s as vueExtensions } from "./constants-BOe8mgqL.mjs";
11
- import { $ as parseNpmPackageSpecifier, A as createCjsConfigLoadError, B as ALIPAY_GENERIC_COMPONENT_PLACEHOLDER, C as loadViteConfigFile, D as invalidateFileCache, E as resolveEntryPath, F as generate$1, G as normalizeAppJson, H as getAliasEntries, I as getVisitorKeys, J as resolveJson, K as parseCommentJson, L as parse$3, M as getReadFileCheckMtime, N as BABEL_TS_MODULE_PARSER_OPTIONS$1, O as pathExists, P as BABEL_TS_MODULE_PLUGINS, Q as normalizeNpmImportPathByPlatform, R as parseJsLike, S as TYPELESS_PACKAGE_JSON_WARNING_CODE, T as resolveEntryExtensions, U as jsonFileRemoveJsExtension, V as WEAPP_SCOPED_SLOT_GENERIC_COMPONENT_PLACEHOLDER, W as matches$1, X as hasNpmDependencyPrefix, Y as toKebabCaseComponentName, Z as normalizeNpmImportLookupPath, _ as applyPreloadRulesToAppJson, a as resolveReExportedName, c as getProjectConfigRootKeys, d as resolveProjectConfigRoot, et as resolveNpmDependencyId, f as resolveProjectConfigSyncDirs, g as pruneOwnedAssetFiles, h as publishProjectConfigAssets, i as toAbsoluteId, j as getPathExistsTtlMs, k as readFile$2, l as getProjectPrivateConfig, m as collectProjectConfigAssets, n as shouldResolveUsingComponentFrom, o as getProjectConfig, p as syncProjectConfigToOutput, q as resolveImportee$1, r as usingComponentFromResolvedFile, s as getProjectConfigFileName, t as resolveWeappConfigFile, u as getProjectPrivateConfigFileName, w as createCachedEntryResolveOptions, z as traverse } from "./utils-C6mLS1fl.mjs";
11
+ import { $ as parseNpmPackageSpecifier, A as createCjsConfigLoadError, B as ALIPAY_GENERIC_COMPONENT_PLACEHOLDER, C as loadViteConfigFile, D as invalidateFileCache, E as resolveEntryPath, F as generate$1, G as normalizeAppJson, H as getAliasEntries, I as getVisitorKeys, J as resolveJson, K as parseCommentJson, L as parse$3, M as getReadFileCheckMtime, N as BABEL_TS_MODULE_PARSER_OPTIONS$1, O as pathExists, P as BABEL_TS_MODULE_PLUGINS, Q as normalizeNpmImportPathByPlatform, R as parseJsLike, S as TYPELESS_PACKAGE_JSON_WARNING_CODE, T as resolveEntryExtensions, U as jsonFileRemoveJsExtension, V as WEAPP_SCOPED_SLOT_GENERIC_COMPONENT_PLACEHOLDER, W as matches$1, X as hasNpmDependencyPrefix, Y as toKebabCaseComponentName, Z as normalizeNpmImportLookupPath, _ as applyPreloadRulesToAppJson, a as resolveReExportedName, c as getProjectConfigRootKeys, d as resolveProjectConfigRoot, et as resolveNpmDependencyId, f as resolveProjectConfigSyncDirs, g as pruneOwnedAssetFiles, h as publishProjectConfigAssets, i as toAbsoluteId, j as getPathExistsTtlMs, k as readFile$2, l as getProjectPrivateConfig, m as collectProjectConfigAssets, n as shouldResolveUsingComponentFrom, o as getProjectConfig, p as syncProjectConfigToOutput, q as resolveImportee$1, r as usingComponentFromResolvedFile, s as getProjectConfigFileName, t as resolveWeappConfigFile, u as getProjectPrivateConfigFileName, w as createCachedEntryResolveOptions, z as traverse } from "./utils-BiSQAI-e.mjs";
12
12
  import { n as configureLogger, r as logger_default } from "./logger-DGn5iEVN.mjs";
13
13
  import { n as loadHostRolldownBuild, t as loadHostRolldown } from "./engine-Mnnm_ALP.mjs";
14
- import { A as isTemplateImportTag, B as shouldNormalizeScriptModuleAttributes, C as normalizeEncodedSourceMapLike, D as platformTemplateParser, E as outputTemplateParser, F as isScriptModuleImportAttr, I as isScriptModuleTagName, L as normalizeImportSjsAttributes, M as getNativeScriptModuleByTag, N as getScriptModuleImportAttrs, O as getTemplateImportAttrs, P as getScriptModuleTagNames, R as resolveScriptModuleTagByPlatform, S as labelSourceMapInput, T as configuredTemplateParser, _ as replaceOutputChunkCode, b as syncOutputChunkSourceMapAssets, c as applyRuntimeChunkLocalization, d as appendOutputChunkCode, f as applyAtomicMagicStringChunkRewrite, g as prependOutputChunkCode, h as editOutputChunkCode, i as applySharedChunkStrategy, j as shouldNormalizeTemplateImportSource, k as isTemplateImportAttr, l as assertModuleScopedToRoot, m as applyOutputChunkTransform, p as applyMagicStringChunkRewrite, r as resolveSharedChunkName, s as SUB_PACKAGE_SHARED_DIR, t as engines, u as resolveSubPackagePrefix, v as replaceOutputChunkCodeRanges, w as resetTakeImportRegistry, x as composeSourceMaps, y as resolveOutputChunkTransformCode, z as resolveScriptModuleTagName } from "./package-BnYH0riT.mjs";
14
+ import { A as isTemplateImportTag, B as shouldNormalizeScriptModuleAttributes, C as normalizeEncodedSourceMapLike, D as platformTemplateParser, E as outputTemplateParser, F as isScriptModuleImportAttr, I as isScriptModuleTagName, L as normalizeImportSjsAttributes, M as getNativeScriptModuleByTag, N as getScriptModuleImportAttrs, O as getTemplateImportAttrs, P as getScriptModuleTagNames, R as resolveScriptModuleTagByPlatform, S as labelSourceMapInput, T as configuredTemplateParser, _ as replaceOutputChunkCode, b as syncOutputChunkSourceMapAssets, c as applyRuntimeChunkLocalization, d as appendOutputChunkCode, f as applyAtomicMagicStringChunkRewrite, g as prependOutputChunkCode, h as editOutputChunkCode, i as applySharedChunkStrategy, j as shouldNormalizeTemplateImportSource, k as isTemplateImportAttr, l as assertModuleScopedToRoot, m as applyOutputChunkTransform, p as applyMagicStringChunkRewrite, r as resolveSharedChunkName, s as SUB_PACKAGE_SHARED_DIR, t as engines, u as resolveSubPackagePrefix, v as replaceOutputChunkCodeRanges, w as resetTakeImportRegistry, x as composeSourceMaps, y as resolveOutputChunkTransformCode, z as resolveScriptModuleTagName } from "./package-DaAwtXIg.mjs";
15
15
  import { n as transformWxsCode, r as normalizeWxsFilename, t as transformFilterCode } from "./filter-BEsBsZE9.mjs";
16
- import { a as hasOwn$6, i as resolveWeappLibEntries, n as hasLibEntry, o as waitForBuildTasks, r as resolveWeappLibConfig, t as createLibEntryFileNameResolver } from "./lib-DFy0ICSb.mjs";
16
+ import { a as hasOwn$6, i as resolveWeappLibEntries, n as hasLibEntry, o as waitForBuildTasks, r as resolveWeappLibConfig, t as createLibEntryFileNameResolver } from "./lib-TVTxVvtt.mjs";
17
17
  import { createRequire, isBuiltin } from "node:module";
18
18
  import process from "node:process";
19
19
  import { APP_PRELUDE_CHUNK_MARKER, APP_PRELUDE_GUARD_KEY, APP_PRELUDE_REQUIRE_MARKER, REQUEST_GLOBAL_ACTUALS_KEY, REQUEST_GLOBAL_BUNDLE_HOST_REF, REQUEST_GLOBAL_BUNDLE_MARKER, REQUEST_GLOBAL_BUNDLE_MARKER as REQUEST_GLOBAL_BUNDLE_MARKER$1, REQUEST_GLOBAL_CHUNK_HOST_REF, REQUEST_GLOBAL_CHUNK_MODULE_REF, REQUEST_GLOBAL_EXPOSE_HELPER, REQUEST_GLOBAL_INSTALLER_HOST_REF, REQUEST_GLOBAL_INSTALLER_MARKER, REQUEST_GLOBAL_LAZY_CONSTRUCTOR_HELPER, REQUEST_GLOBAL_LAZY_FUNCTION_HELPER, REQUEST_GLOBAL_LOCAL_BINDINGS_MARKER, REQUEST_GLOBAL_LOCAL_BINDINGS_MARKER as REQUEST_GLOBAL_LOCAL_BINDINGS_MARKER$1, REQUEST_GLOBAL_MARK_PLACEHOLDER_HELPER, REQUEST_GLOBAL_PASSIVE_BINDINGS_MARKER, REQUEST_GLOBAL_PASSIVE_BINDINGS_MARKER as REQUEST_GLOBAL_PASSIVE_BINDINGS_MARKER$1, REQUEST_GLOBAL_PLACEHOLDER_KEY, REQUEST_GLOBAL_PRELUDE_GUARD_KEY, REQUEST_GLOBAL_PRELUDE_MARKER, REQUEST_GLOBAL_SYNTHETIC_EXPORT_NAME, REQUEST_GLOBAL_USABLE_CONSTRUCTOR_HELPER, WEAPP_I18N_JS_FILE, WEAPP_I18N_LOCALE_DATA_KEY, WEAPP_I18N_PUBLIC_MODULE_ID, WEAPP_I18N_RUNTIME_MARKER, WEAPP_I18N_VIRTUAL_MODULE_ID, WEAPP_I18N_WXS_FILE, WEAPP_REACT_EVENT_METHOD_NAME, WEAPP_VITE_CLASSIC_GENERATION_MARKER, WEAPP_VITE_CLASSIC_SETTLEMENT_KEY, WEAPP_VITE_EXTERNAL_OUTPUT_DIRECTORY, WEAPP_VITE_IMPORT_META_ENV_KEY, WEAPP_VITE_INJECTED_API_IDENTIFIER, WEAPP_VITE_LOGICAL_ENTRY_RESOLVED_PREFIX, WEAPP_VITE_OUTPUT_PUBLICATION_PLUGIN_NAME, WEAPP_VITE_RUNTIME_CONTRACT_VERSION, WEAPP_VITE_RUNTIME_REACTIVITY_VIRTUAL_ID, WEAPP_VITE_RUNTIME_TEMPLATE_VIRTUAL_ID, WEAPP_VITE_RUNTIME_VIRTUAL_ID, WEAPP_VITE_RUNTIME_VIRTUAL_IDS, WEAPP_VITE_SIDECAR_RESOLVED_PREFIX, WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY, WEAPP_VITE_STATEFUL_HMR_CLIENT_KEY, WEAPP_VITE_STATEFUL_HMR_CONTROL_FILE, WEAPP_VITE_STATEFUL_HMR_CONTROL_KEY, WEAPP_VITE_STATEFUL_HMR_GLOBAL_STYLE_BASENAME, WEAPP_VITE_STATEFUL_HMR_PRELOAD_FILE, WEAPP_VITE_STATEFUL_HMR_REGISTRATION_CONTRACT_VERSION, WEAPP_VITE_STATEFUL_HMR_RUNTIME_CONTRACT_METHOD, WEAPP_VITE_STATEFUL_HMR_UNSUPPORTED_REGISTRATION_CODE, WEAPP_VITE_STATEFUL_HMR_UPDATE_FILE, WEAPP_VITE_WASM_INIT_QUERY_MARKER, WEAPP_VITE_WEB_AUTO_ROUTES_RESOLVED_MODULE_ID, WEAPP_VITE_WEB_ENTRY_RESOLVED_MODULE_ID, WEB_RUNTIME_GLOBAL_TARGETS, WEB_RUNTIME_STREAM_TARGETS, WEVU_APP_SHELL_COMPONENT_BASE, WEVU_APP_SHELL_TAG_NAME, WEVU_APP_SHELL_VIRTUAL_PREFIX, WEVU_AUTO_ROUTES_MODULE_ID, WEVU_AUTO_ROUTES_RESOLVED_MODULE_ID, WEVU_AUTO_ROUTES_VIRTUAL_MODULE_ID, WEVU_CLASS_STYLE_RUNTIME_MODULE, WEVU_DEFINE_PAGE_META_MACRO, WEVU_INTERNAL_KEY_IDENTIFIER, WEVU_LAYOUT_BIND_PREFIX, WEVU_NATIVE_DECLARATION_METHOD, WEVU_PAGE_LAYOUT_CURRENT_NAME_IDENTIFIER, WEVU_PAGE_LAYOUT_CURRENT_PROPS_IDENTIFIER, WEVU_PAGE_LAYOUT_NAME_KEY, WEVU_PAGE_LAYOUT_NEXT_NAME_IDENTIFIER, WEVU_PAGE_LAYOUT_NEXT_PROPS_IDENTIFIER, WEVU_PAGE_LAYOUT_NONE, WEVU_PAGE_LAYOUT_PROPS_KEY, WEVU_PAGE_LAYOUT_SETTER_KEY, WEVU_ROUTER_MODULE_ID, WEVU_SLOT_FALLBACK_VIRTUAL_HOST_BASE, WEVU_SLOT_FALLBACK_VIRTUAL_HOST_GLOBAL_PATH, WEVU_SLOT_FALLBACK_VIRTUAL_HOST_TAG_NAME, WEVU_SLOT_NAMES_ATTR, WEVU_SLOT_NAMES_PROP, WEVU_SLOT_OWNER_ATTR, WEVU_SLOT_OWNER_ID_ATTR, WEVU_SLOT_OWNER_ID_KEY, WEVU_SLOT_OWNER_ID_PROP, WEVU_SLOT_PROPS_ATTR, WEVU_SLOT_SCOPE_ATTR, WEVU_SLOT_SCOPE_KEY, WEVU_TEMPLATE_REF_CLASS_PREFIX, WX_WEBASSEMBLY_MIN_BASE_LIB_VERSION, WX_WEBASSEMBLY_WORKER_MIN_BASE_LIB_VERSION, resolveWebRuntimeGlobalTargetDependencies as resolveRequestGlobalsTargetDependencies } from "@weapp-core/constants";
@@ -24815,7 +24815,7 @@ async function loadAppEntry(ctx, scanState) {
24815
24815
  const { path: appEntryPath } = appEntry;
24816
24816
  let configFromVue;
24817
24817
  if (!appConfigFile && vueAppPath) {
24818
- const { extractConfigFromVue } = await import("./file-BHca0tSX.mjs");
24818
+ const { extractConfigFromVue } = await import("./file-WUM9I-Hl.mjs");
24819
24819
  configFromVue = await extractConfigFromVue(vueAppPath, { compilerContext: ctx });
24820
24820
  if (configFromVue) appConfigFile = vueAppPath;
24821
24821
  }
@@ -37231,6 +37231,144 @@ function captureNativeEntryAssetOwners(ctx, environment, output, bundle) {
37231
37231
  function readNativeEntryAssetOwners(ctx, environment, output) {
37232
37232
  return generations$1.get(ctx)?.get(environment ?? ctx)?.get(outputScopeKey(output)) ?? noOwners;
37233
37233
  }
37234
+ // src/runtime/config/internal/injectRequestGlobals/base64.ts
37235
+ /** chunk 作用域内联的 base64 实现持有者,避免与产物自身的顶层绑定重名。 */
37236
+ const REQUEST_GLOBAL_BASE64_HELPER = "__wvB64";
37237
+ /**
37238
+ * @description 生成自包含的 atob / btoa 实现源码。
37239
+ * @description 小程序运行时不提供动态代码执行能力,因此只能以静态源码注入。
37240
+ * @description 行为必须与 @wevu/web-apis 的 atobPolyfill / btoaPolyfill 保持一致,由对齐测试锁定。
37241
+ */
37242
+ function createBase64PolyfillHelperCode() {
37243
+ return `const ${REQUEST_GLOBAL_BASE64_HELPER} = (() => {
37244
+ const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
37245
+ const lookup = new Uint8Array(256);
37246
+ for (let i = 0; i < lookup.length; i++) lookup[i] = 255;
37247
+ for (let i = 0; i < chars.length; i++) lookup[chars.charCodeAt(i)] = i;
37248
+ const toLatin1Byte = (value, index) => {
37249
+ const codePoint = value.charCodeAt(index);
37250
+ if (codePoint > 255) throw new TypeError("Failed to execute 'btoa': character outside Latin1 range at index " + index);
37251
+ return codePoint;
37252
+ };
37253
+ const btoa = function (input) {
37254
+ const source = String(input === undefined ? "" : input);
37255
+ let output = "";
37256
+ for (let index = 0; index < source.length; index += 3) {
37257
+ const byte0 = toLatin1Byte(source, index);
37258
+ const byte1 = index + 1 < source.length ? toLatin1Byte(source, index + 1) : Number.NaN;
37259
+ const byte2 = index + 2 < source.length ? toLatin1Byte(source, index + 2) : Number.NaN;
37260
+ const triplet = (byte0 << 16) | ((Number.isNaN(byte1) ? 0 : byte1) << 8) | (Number.isNaN(byte2) ? 0 : byte2);
37261
+ output += chars[(triplet >> 18) & 63];
37262
+ output += chars[(triplet >> 12) & 63];
37263
+ output += Number.isNaN(byte1) ? "=" : chars[(triplet >> 6) & 63];
37264
+ output += Number.isNaN(byte2) ? "=" : chars[triplet & 63];
37265
+ }
37266
+ return output;
37267
+ };
37268
+ const atob = function (input) {
37269
+ const source = String(input === undefined ? "" : input).replace(/[\\t\\n\\f\\r ]+/g, "");
37270
+ if (source.length % 4 === 1 || /[^A-Za-z\\d+/=]/u.test(source)) throw new TypeError("Failed to execute 'atob': the input is not correctly encoded");
37271
+ let output = "";
37272
+ for (let index = 0; index < source.length; index += 4) {
37273
+ const char0 = source.charCodeAt(index);
37274
+ const char1 = source.charCodeAt(index + 1);
37275
+ const char2 = source.charAt(index + 2);
37276
+ const char3 = source.charAt(index + 3);
37277
+ const sextet0 = lookup[char0];
37278
+ const sextet1 = lookup[char1];
37279
+ const sextet2 = !char2 || char2 === "=" ? 64 : lookup[source.charCodeAt(index + 2)];
37280
+ const sextet3 = !char3 || char3 === "=" ? 64 : lookup[source.charCodeAt(index + 3)];
37281
+ if (sextet0 > 63 || sextet1 > 63 || sextet2 > 64 || sextet3 > 64) throw new TypeError("Failed to execute 'atob': the input is not correctly encoded");
37282
+ const triplet = (sextet0 << 18) | (sextet1 << 12) | ((sextet2 & 63) << 6) | (sextet3 & 63);
37283
+ output += String.fromCharCode((triplet >> 16) & 255);
37284
+ if (char2 && char2 !== "=") output += String.fromCharCode((triplet >> 8) & 255);
37285
+ if (char3 && char3 !== "=") output += String.fromCharCode(triplet & 255);
37286
+ }
37287
+ return output;
37288
+ };
37289
+ return { atob, btoa };
37290
+ })()`;
37291
+ }
37292
+ // src/runtime/config/internal/injectRequestGlobals/earlyCapabilities.ts
37293
+ /**
37294
+ * @description 模块初始化期就会被构造的能力型 global。
37295
+ * @description ky 等库会在顶层用 `new Request(...)` / `new ReadableStream()` 完成能力探测并缓存结果。
37296
+ */
37297
+ const EARLY_CAPABILITY_REQUEST_GLOBAL_TARGETS = [
37298
+ "Request",
37299
+ "ReadableStream",
37300
+ "AbortController"
37301
+ ];
37302
+ const REQUEST_GLOBAL_EARLY_CAPABILITY_HELPER = "__wvECH";
37303
+ const REQUEST_GLOBAL_EARLY_CAPABILITY_FALLBACKS = "__wvECF";
37304
+ const FALLBACK_SOURCE = `(() => {
37305
+ const noop = () => {}
37306
+ const emptyHeaders = () => ({
37307
+ has: () => false,
37308
+ get: () => null,
37309
+ set: noop,
37310
+ append: noop,
37311
+ delete: noop,
37312
+ forEach: noop,
37313
+ })
37314
+ return {
37315
+ Request(args) {
37316
+ const init = args[1] || {}
37317
+ // 与 RequestPolyfill 保持一致:不读取 duplex,避免误报请求流能力。
37318
+ return {
37319
+ url: String(args[0] ?? ''),
37320
+ method: String(init.method ?? 'GET').toUpperCase(),
37321
+ headers: emptyHeaders(),
37322
+ body: init.body ?? null,
37323
+ signal: init.signal ?? null,
37324
+ }
37325
+ },
37326
+ ReadableStream() {
37327
+ const stream = {
37328
+ locked: false,
37329
+ getReader: () => ({
37330
+ read: () => Promise.resolve({ done: true, value: undefined }),
37331
+ releaseLock: noop,
37332
+ cancel: () => Promise.resolve(),
37333
+ }),
37334
+ tee: () => [stream, stream],
37335
+ cancel: () => Promise.resolve(),
37336
+ pipeThrough: value => value,
37337
+ pipeTo: () => Promise.resolve(),
37338
+ }
37339
+ return stream
37340
+ },
37341
+ AbortController() {
37342
+ const signal = {
37343
+ aborted: false,
37344
+ reason: undefined,
37345
+ onabort: null,
37346
+ addEventListener: noop,
37347
+ removeEventListener: noop,
37348
+ dispatchEvent: () => true,
37349
+ throwIfAborted: noop,
37350
+ }
37351
+ return {
37352
+ signal,
37353
+ abort(reason) {
37354
+ signal.aborted = true
37355
+ signal.reason = reason
37356
+ },
37357
+ }
37358
+ },
37359
+ }
37360
+ })()`;
37361
+ /**
37362
+ * @description 生成"早期能力探测兜底 + installer 后转发真实实现"的 helper 源码。
37363
+ * @description Request / ReadableStream / AbortController 与 fetch、Response、Headers 属于同一对象图,
37364
+ * @description 不能在 chunk 顶部内联一份独立实现,否则会与 installer 安装后的真实类不一致。
37365
+ * @description 因此 installer 之前只提供可构造且不抛错的最小对象,让依赖的顶层能力探测正常完成;
37366
+ * @description installer 写入 actuals 后,同一个绑定会通过 Reflect.construct 转发到真实实现。
37367
+ * @description 兜底构造器带 placeholder 标记,installWebRuntimeGlobals 会用它替换 globalThis 上的值。
37368
+ */
37369
+ function createEarlyCapabilityHelperCode() {
37370
+ return [`const ${REQUEST_GLOBAL_EARLY_CAPABILITY_FALLBACKS} = ${FALLBACK_SOURCE}`, `function ${REQUEST_GLOBAL_EARLY_CAPABILITY_HELPER}(name,makeFallback){let placeholder;const getActual=()=>{const actual=${REQUEST_GLOBAL_ACTUALS_KEY}[name];return typeof actual==="function"&&actual!==placeholder&&actual?.[${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)}]!==true?actual:undefined};const target=function(...args){return makeFallback(args)};placeholder=new Proxy(target,{apply(target,thisArg,args){const actual=getActual();return actual?Reflect.apply(actual,thisArg,args):makeFallback(args)},construct(target,args,newTarget){const actual=getActual();if(actual)return Reflect.construct(actual,args,newTarget===placeholder?actual:newTarget);const fallback=makeFallback(args);const prototype=newTarget?.prototype;if(fallback!==null&&(typeof fallback==="object"||typeof fallback==="function")&&prototype&&Object.getPrototypeOf(fallback)!==prototype)Object.setPrototypeOf(fallback,prototype);return fallback},get(target,key,receiver){if(key==="prototype"){const actual=getActual();if(actual?.prototype)return actual.prototype}return Reflect.get(target,key,receiver)}});return ${REQUEST_GLOBAL_MARK_PLACEHOLDER_HELPER}(placeholder)}`].join(";");
37371
+ }
37234
37372
  // src/runtime/config/internal/injectRequestGlobals/targets.ts
37235
37373
  const STREAM_REQUEST_GLOBAL_TARGETS = [...WEB_RUNTIME_STREAM_TARGETS];
37236
37374
  const FULL_REQUEST_GLOBAL_TARGETS = [...WEB_RUNTIME_GLOBAL_TARGETS];
@@ -37259,11 +37397,14 @@ const DEFAULT_REQUEST_GLOBAL_DEPENDENCIES = [
37259
37397
  "axios",
37260
37398
  "graphql-request",
37261
37399
  "socket.io-client",
37262
- "engine.io-client"
37400
+ "engine.io-client",
37401
+ "ky",
37402
+ "stream-markdown-parser"
37263
37403
  ];
37264
37404
  const DEFAULT_STREAM_GLOBAL_DEPENDENCIES = ["eventsource-parser"];
37265
37405
  const DEFAULT_ABORT_GLOBAL_DEPENDENCIES = ["@tanstack/query-core", "@tanstack/vue-query"];
37266
37406
  const WEBSOCKET_USAGE_HINT_RE = /\bwebsocket\b/iu;
37407
+ const REQUEST_GLOBAL_KNOWN_DEPENDENCY_SPECIFIER_RE = /['"](?:ky|stream-markdown-parser)(?:\/[^'"]*)?['"]/u;
37267
37408
  const REQUEST_GLOBAL_FREE_BINDING_TARGETS = /* @__PURE__ */ new Set([
37268
37409
  ...FULL_REQUEST_GLOBAL_TARGETS,
37269
37410
  "URL",
@@ -37278,7 +37419,15 @@ const CODE_USAGE_AUTO_RULES = [
37278
37419
  targets: [...STREAM_REQUEST_GLOBAL_TARGETS]
37279
37420
  },
37280
37421
  {
37281
- dependencyPatterns: ["axios", "graphql-request"],
37422
+ dependencyPatterns: ["stream-markdown-parser"],
37423
+ targets: [...FULL_REQUEST_GLOBAL_TARGETS]
37424
+ },
37425
+ {
37426
+ dependencyPatterns: [
37427
+ "axios",
37428
+ "graphql-request",
37429
+ "ky"
37430
+ ],
37282
37431
  targets: [...REQUEST_RUNTIME_REQUEST_TARGETS]
37283
37432
  },
37284
37433
  {
@@ -37441,13 +37590,18 @@ function createRequestGlobalsInstallerOptionsCode(targets, networkDefaults) {
37441
37590
  * @description 2. 在各自 chunk 作用域里执行 `typeof XMLHttpRequest` / `typeof fetch` / `new URL()`;
37442
37591
  * @description 3. 在全局对象完成安装前就完成环境探测并缓存结果。
37443
37592
  * @description 因此这里必须把 fetch / XMLHttpRequest / WebSocket / URL 等名字绑定到实际使用它们的产物作用域内。
37593
+ * @description atob / btoa 是无宿主状态的纯函数,installer 可能晚于依赖的模块初始化,必须在 chunk 顶部就落地真实实现。
37444
37594
  */
37445
37595
  function createRequestGlobalsPassiveBindingsCode(targets, explicitBindingTargets) {
37446
37596
  const bindingTargets = explicitBindingTargets ?? resolveRequestGlobalsBindingTargets(targets);
37447
37597
  if (bindingTargets.length === 0) return "";
37598
+ const needsBase64Polyfill = bindingTargets.includes("atob") || bindingTargets.includes("btoa");
37599
+ const needsEarlyCapabilities = bindingTargets.some((target) => EARLY_CAPABILITY_REQUEST_GLOBAL_TARGETS.includes(target));
37448
37600
  return `${[
37449
37601
  `const ${REQUEST_GLOBAL_ACTUALS_KEY} = globalThis[${JSON.stringify(REQUEST_GLOBAL_ACTUALS_KEY)}] || (globalThis[${JSON.stringify(REQUEST_GLOBAL_ACTUALS_KEY)}] = Object.create(null))`,
37602
+ ...needsBase64Polyfill ? [createBase64PolyfillHelperCode()] : [],
37450
37603
  `function ${REQUEST_GLOBAL_MARK_PLACEHOLDER_HELPER}(value){try{Object.defineProperty(value,${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)},{value:true,configurable:true})}catch{value[${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)}]=true}return value}`,
37604
+ ...needsEarlyCapabilities ? [createEarlyCapabilityHelperCode()] : [],
37451
37605
  `function ${REQUEST_GLOBAL_LAZY_FUNCTION_HELPER}(name){const placeholder=function(...args){const actual=${REQUEST_GLOBAL_ACTUALS_KEY}[name];if(typeof actual!=="function"){throw new Error(name+" is not initialized")}return actual.apply(this,args)};return ${REQUEST_GLOBAL_MARK_PLACEHOLDER_HELPER}(placeholder)}`,
37452
37606
  `function ${REQUEST_GLOBAL_LAZY_CONSTRUCTOR_HELPER}(name){const placeholder=function(...args){const actual=${REQUEST_GLOBAL_ACTUALS_KEY}[name];if(typeof actual!=="function"){throw new Error(name+" is not initialized")}return Reflect.construct(actual,args)};return ${REQUEST_GLOBAL_MARK_PLACEHOLDER_HELPER}(placeholder)}`,
37453
37607
  `function __weappViteRequestGlobalsLazyObject(name,keys){const placeholder=Object.create(null);for(const key of keys){placeholder[key]=function(...args){const actual=${REQUEST_GLOBAL_ACTUALS_KEY}[name];const actualValue=actual?.[key];if(typeof actualValue!=="function"){throw new Error(name+"."+key+" is not initialized")}return actualValue.apply(actual,args)}}return ${REQUEST_GLOBAL_MARK_PLACEHOLDER_HELPER}(placeholder)}`,
@@ -37455,8 +37609,18 @@ function createRequestGlobalsPassiveBindingsCode(targets, explicitBindingTargets
37455
37609
  `function ${REQUEST_GLOBAL_EXPOSE_HELPER}(name,value){if(value==null){return value}const current=globalThis[name];if(current===value){return value}if((typeof current!=="function"&&typeof current!=="object")||current?.[${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)}]===true){try{globalThis[name]=value}catch{}}return value}`
37456
37610
  ].join(";")};${bindingTargets.map((target) => {
37457
37611
  if (target === "fetch") return `var fetch = ${REQUEST_GLOBAL_EXPOSE_HELPER}("fetch",typeof ${REQUEST_GLOBAL_ACTUALS_KEY}["fetch"]==="function"&&${REQUEST_GLOBAL_ACTUALS_KEY}["fetch"]?.[${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)}]!==true?${REQUEST_GLOBAL_ACTUALS_KEY}["fetch"]:typeof globalThis.fetch==="function"&&globalThis.fetch?.[${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)}]!==true?globalThis.fetch:${REQUEST_GLOBAL_LAZY_FUNCTION_HELPER}("fetch"))`;
37458
- if (target === "atob") return `var atob = ${REQUEST_GLOBAL_EXPOSE_HELPER}("atob",typeof ${REQUEST_GLOBAL_ACTUALS_KEY}["atob"]==="function"&&${REQUEST_GLOBAL_ACTUALS_KEY}["atob"]?.[${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)}]!==true?${REQUEST_GLOBAL_ACTUALS_KEY}["atob"]:typeof globalThis.atob==="function"&&globalThis.atob?.[${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)}]!==true?globalThis.atob:${REQUEST_GLOBAL_LAZY_FUNCTION_HELPER}("atob"))`;
37459
- if (target === "btoa") return `var btoa = ${REQUEST_GLOBAL_EXPOSE_HELPER}("btoa",typeof ${REQUEST_GLOBAL_ACTUALS_KEY}["btoa"]==="function"&&${REQUEST_GLOBAL_ACTUALS_KEY}["btoa"]?.[${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)}]!==true?${REQUEST_GLOBAL_ACTUALS_KEY}["btoa"]:typeof globalThis.btoa==="function"&&globalThis.btoa?.[${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)}]!==true?globalThis.btoa:${REQUEST_GLOBAL_LAZY_FUNCTION_HELPER}("btoa"))`;
37612
+ if (target === "atob" || target === "btoa") {
37613
+ const key = JSON.stringify(target);
37614
+ const actualRef = `${REQUEST_GLOBAL_ACTUALS_KEY}[${key}]`;
37615
+ const placeholderKey = JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY);
37616
+ return `var ${target} = ${REQUEST_GLOBAL_EXPOSE_HELPER}(${key},typeof ${actualRef}==="function"&&${actualRef}?.[${placeholderKey}]!==true?${actualRef}:typeof globalThis.${target}==="function"&&globalThis.${target}?.[${placeholderKey}]!==true?globalThis.${target}:${REQUEST_GLOBAL_BASE64_HELPER}.${target})`;
37617
+ }
37618
+ if (EARLY_CAPABILITY_REQUEST_GLOBAL_TARGETS.includes(target)) {
37619
+ const key = JSON.stringify(target);
37620
+ const actualRef = `${REQUEST_GLOBAL_ACTUALS_KEY}[${key}]`;
37621
+ const placeholderKey = JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY);
37622
+ return `var ${target} = ${REQUEST_GLOBAL_EXPOSE_HELPER}(${key},typeof ${actualRef}==="function"&&${actualRef}?.[${placeholderKey}]!==true?${actualRef}:typeof globalThis.${target}==="function"&&globalThis.${target}?.[${placeholderKey}]!==true?globalThis.${target}:${REQUEST_GLOBAL_EARLY_CAPABILITY_HELPER}(${key},${REQUEST_GLOBAL_EARLY_CAPABILITY_FALLBACKS}.${target}))`;
37623
+ }
37460
37624
  if (target === "queueMicrotask") return `var queueMicrotask = ${REQUEST_GLOBAL_EXPOSE_HELPER}("queueMicrotask",typeof ${REQUEST_GLOBAL_ACTUALS_KEY}["queueMicrotask"]==="function"&&${REQUEST_GLOBAL_ACTUALS_KEY}["queueMicrotask"]?.[${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)}]!==true?${REQUEST_GLOBAL_ACTUALS_KEY}["queueMicrotask"]:typeof globalThis.queueMicrotask==="function"&&globalThis.queueMicrotask?.[${JSON.stringify(REQUEST_GLOBAL_PLACEHOLDER_KEY)}]!==true?globalThis.queueMicrotask:${REQUEST_GLOBAL_LAZY_FUNCTION_HELPER}("queueMicrotask"))`;
37461
37625
  const placeholderFactory = `${REQUEST_GLOBAL_LAZY_CONSTRUCTOR_HELPER}(${JSON.stringify(target)})`;
37462
37626
  const actualRef = `${REQUEST_GLOBAL_ACTUALS_KEY}[${JSON.stringify(target)}]`;
@@ -37477,8 +37641,13 @@ const REQUEST_GLOBAL_KNOWN_DEPENDENCY_LITERALS = [
37477
37641
  "@tanstack/query-core",
37478
37642
  "@tanstack/vue-query",
37479
37643
  "eventsource-parser/stream",
37480
- "eventsource-parser"
37644
+ "eventsource-parser",
37645
+ "stream-markdown-parser"
37481
37646
  ];
37647
+ /** 短包名只接受被字符串字面量包裹的 specifier,避免裸 includes 误命中。 */
37648
+ function mayContainKnownRequestGlobalDependencyByText(code) {
37649
+ return REQUEST_GLOBAL_KNOWN_DEPENDENCY_LITERALS.some((specifier) => code.includes(specifier)) || REQUEST_GLOBAL_KNOWN_DEPENDENCY_SPECIFIER_RE.test(code);
37650
+ }
37482
37651
  function isIdentifierBoundary(char) {
37483
37652
  if (char === void 0) return true;
37484
37653
  const code = char.charCodeAt(0);
@@ -37497,7 +37666,7 @@ function normalizeResolvedRequestGlobalTargets(targets, allowedTargets) {
37497
37666
  return allowedTargets.filter((target) => resolvedSet.has(target));
37498
37667
  }
37499
37668
  function mayContainRequestGlobalsUsageByText(code, allowedTargets) {
37500
- return allowedTargets.some((target) => containsIdentifierByText(code, target)) || REQUEST_GLOBAL_KNOWN_DEPENDENCY_LITERALS.some((specifier) => code.includes(specifier)) || allowedTargets.includes("WebSocket") && WEBSOCKET_USAGE_HINT_RE.test(code);
37669
+ return allowedTargets.some((target) => containsIdentifierByText(code, target)) || mayContainKnownRequestGlobalDependencyByText(code) || allowedTargets.includes("WebSocket") && WEBSOCKET_USAGE_HINT_RE.test(code);
37501
37670
  }
37502
37671
  function extractRequestGlobalsUsageSource(code) {
37503
37672
  if (!code.includes("<script")) return code;
@@ -37527,6 +37696,10 @@ function resolveImportedRequestGlobalsTargetsFromSpecifiers(specifiers, allowedT
37527
37696
  function resolveFallbackImportedRequestGlobalsSpecifiers(code) {
37528
37697
  const matchedSpecifiers = /* @__PURE__ */ new Set();
37529
37698
  for (const specifier of REQUEST_GLOBAL_KNOWN_DEPENDENCY_LITERALS) if (code.includes(specifier)) matchedSpecifiers.add(specifier);
37699
+ for (const match of code.matchAll(new RegExp(REQUEST_GLOBAL_KNOWN_DEPENDENCY_SPECIFIER_RE.source, "gu"))) {
37700
+ const specifier = match[0]?.slice(1, -1).split("/")[0];
37701
+ if (specifier) matchedSpecifiers.add(specifier);
37702
+ }
37530
37703
  return matchedSpecifiers;
37531
37704
  }
37532
37705
  /** 共享作用域遍历只收集内容事实,允许调用方复用解析结果。 */
@@ -37574,6 +37747,21 @@ function createRequestGlobalsUsageCollector(code, allowedTargets, collectAllRefe
37574
37747
  if (path.scope?.hasBinding?.(identifierName)) return;
37575
37748
  referencedIdentifiers.add(identifierName);
37576
37749
  if (allowedTargetSet.has(identifierName)) referencedTargets.add(identifierName);
37750
+ },
37751
+ MemberExpression(path) {
37752
+ const node = path.node;
37753
+ if (node?.computed || node?.property?.type !== "Identifier") return;
37754
+ const objectName = node.object?.type === "Identifier" ? node.object.name : void 0;
37755
+ if (!objectName || ![
37756
+ "globalThis",
37757
+ "global",
37758
+ "self",
37759
+ "window"
37760
+ ].includes(objectName) || path.scope?.getBinding?.(objectName)) return;
37761
+ const identifierName = node.property.name;
37762
+ if (!allowedTargetSet.has(identifierName)) return;
37763
+ referencedIdentifiers.add(identifierName);
37764
+ referencedTargets.add(identifierName);
37577
37765
  }
37578
37766
  }
37579
37767
  };
@@ -37592,7 +37780,7 @@ function analyzeRequestGlobalsUsage(code, allowedTargets) {
37592
37780
  hasWebSocketUsageHint
37593
37781
  };
37594
37782
  const mayHaveReferencedTargets = allowedTargets.some((target) => new RegExp(`\\b${target}\\b`, "u").test(usageSource));
37595
- const mayHaveImportedTargets = REQUEST_GLOBAL_KNOWN_DEPENDENCY_LITERALS.some((specifier) => code.includes(specifier));
37783
+ const mayHaveImportedTargets = mayContainKnownRequestGlobalDependencyByText(code);
37596
37784
  if (!mayHaveReferencedTargets && !mayHaveImportedTargets) return {
37597
37785
  ...emptyAnalysis,
37598
37786
  hasWebSocketUsageHint
@@ -38291,6 +38479,31 @@ function replaceSharedStyleDependencies(graph, styles) {
38291
38479
  for (const owner of previous ?? []) if (!next.has(owner)) graph.replaceEntryDependencies(owner, "style", []);
38292
38480
  owners.set(graph, new Set(next.keys()));
38293
38481
  }
38482
+ // src/plugins/css/sidecarGrouping.ts
38483
+ /** 按本轮输出归属一次性解析 sidecar,索引不跨构建或输出配置复用。 */
38484
+ function groupStyleSidecars(paths, resolveOutput) {
38485
+ return withRealpathScope(() => {
38486
+ const groups = /* @__PURE__ */ new Map();
38487
+ for (const path of paths) {
38488
+ const fileName = resolveOutput(path);
38489
+ if (!fileName) continue;
38490
+ const owner = toPosixPath(fileName);
38491
+ let group = groups.get(owner);
38492
+ if (!group) {
38493
+ group = {
38494
+ fileName,
38495
+ sidecars: []
38496
+ };
38497
+ groups.set(owner, group);
38498
+ }
38499
+ group.sidecars.push({
38500
+ path,
38501
+ sourceId: compilerSourceId(path)
38502
+ });
38503
+ }
38504
+ return groups;
38505
+ });
38506
+ }
38294
38507
  // src/plugins/css/styleOwnership.ts
38295
38508
  /** 在样式模块上保存实际消费的源文件,避免把仅用于失效的图边当作产物所有权。 */
38296
38509
  function createStyleSourceMeta(sources) {
@@ -38743,26 +38956,17 @@ function collectUpdatingSidecarOwners(ctx, pluginCtx, bundle, resolvedConfig) {
38743
38956
  }
38744
38957
  return updatingOwners;
38745
38958
  }
38746
- async function emitCollectedStyleSidecars(ctx, bundle, emittedOwners, updatingOwners, resolvedConfig) {
38747
- const sidecarImports = ctx.runtimeState?.css?.sidecarImports;
38748
- if (!sidecarImports?.size) return;
38959
+ async function emitCollectedStyleSidecars(ctx, bundle, emittedOwners, updatingOwners, sidecarGroups, resolvedConfig) {
38960
+ if (!sidecarGroups.size) return;
38749
38961
  const ownerSidecars = /* @__PURE__ */ new Map();
38750
- for (const stylePath of sidecarImports) {
38751
- const fileName = resolveOutputStyleFileName(ctx.configService, stylePath);
38752
- if (!fileName) continue;
38753
- const owner = toPosixPath(fileName);
38962
+ for (const [owner, sidecars] of sidecarGroups) {
38754
38963
  if (emittedOwners.has(owner)) continue;
38755
38964
  if (updatingOwners && !updatingOwners.has(owner)) continue;
38756
- let group = ownerSidecars.get(owner);
38757
- if (!group) {
38758
- group = {
38759
- fileName,
38760
- originalFileName: stylePath,
38761
- sources: /* @__PURE__ */ new Map()
38762
- };
38763
- ownerSidecars.set(owner, group);
38764
- }
38765
- group.sources.set(compilerSourceId(stylePath), stylePath);
38965
+ ownerSidecars.set(owner, {
38966
+ fileName: sidecars.fileName,
38967
+ originalFileName: sidecars.sidecars[0].path,
38968
+ sources: new Map(sidecars.sidecars.map((sidecar) => [sidecar.sourceId, sidecar.path]))
38969
+ });
38766
38970
  }
38767
38971
  await Promise.all(Array.from(ownerSidecars.values(), async (group) => {
38768
38972
  const fragments = (await Promise.all(Array.from(group.sources.values(), (stylePath) => prepareStyleSidecarAsset(ctx, this, stylePath, bundle, resolvedConfig)))).flatMap((sidecar) => sidecar ? [sidecar.css] : []);
@@ -38797,12 +39001,10 @@ async function generateBundleSharedCss(ctx, configService, bundle, analysis, upd
38797
39001
  group.fragments.push(prepared.processedCss);
38798
39002
  for (const source of collectRenderedStyleSources(this, prepared.modulePath)) group.sources.add(compilerSourceId(source));
38799
39003
  }
39004
+ const sidecarGroups = groupStyleSidecars(ctx.runtimeState?.css?.sidecarImports ?? [], (file) => resolveOutputStyleFileName(configService, file));
38800
39005
  for (const [normalizedFileName, group] of ownerStyleGroups) {
38801
39006
  let cssWithImports = injectSharedStyleImportsCached(group.fragments.join("\n"), group.modulePath, group.fileName, sharedStyles, configService, sharedStyleImportCache);
38802
- const independentSidecars = Array.from(ctx.runtimeState?.css?.sidecarImports ?? []).filter((stylePath) => {
38803
- const output = resolveOutputStyleFileName(configService, stylePath);
38804
- return output && toPosixPath(output) === normalizedFileName && !group.sources.has(compilerSourceId(stylePath));
38805
- });
39007
+ const independentSidecars = (sidecarGroups.get(normalizedFileName)?.sidecars ?? []).filter((sidecar) => !group.sources.has(sidecar.sourceId)).map((sidecar) => sidecar.path);
38806
39008
  const sidecarCss = (await Promise.all(independentSidecars.map((stylePath) => prepareStyleSidecarAsset(ctx, this, stylePath, bundle, resolvedConfig)))).flatMap((style) => style ? [style.css] : []);
38807
39009
  if (sidecarCss.length) cssWithImports = [...sidecarCss, cssWithImports].join("\n");
38808
39010
  if (group.fragments.some((fragment) => findGeneratorBoundary(fragment) >= 0)) {
@@ -38812,7 +39014,7 @@ async function generateBundleSharedCss(ctx, configService, bundle, analysis, upd
38812
39014
  emitPreparedCssAsset(ctx, this, bundle, group.fileName, cssWithImports);
38813
39015
  emitted.add(normalizedFileName);
38814
39016
  }
38815
- await emitCollectedStyleSidecars.call(this, ctx, bundle, emitted, updatingSidecarOwners, resolvedConfig);
39017
+ await emitCollectedStyleSidecars.call(this, ctx, bundle, emitted, updatingSidecarOwners, sidecarGroups, resolvedConfig);
38816
39018
  await emitSharedStyleEntries.call(this, ctx, sharedStyles, emitted, configService, bundle, resolvedConfig);
38817
39019
  await emitSharedStyleImportsForChunks.call(this, ctx, sharedStyles, emitted, configService, bundle, facadeChunks, sharedStyleImportCache);
38818
39020
  }
@@ -44459,7 +44661,7 @@ function createLibDtsPlugin(ctx) {
44459
44661
  if (root) addNormalizedWatchFile(this, root);
44460
44662
  }
44461
44663
  if (ctx.configService.isDev || ctx.configService.weappLibConfig?.dts?.enabled === false) return;
44462
- const { prepareLibDtsAssets } = await import("./assets-BTDeDWL8.mjs");
44664
+ const { prepareLibDtsAssets } = await import("./assets-DGjxkFom.mjs");
44463
44665
  for (const asset of await prepareLibDtsAssets(ctx.configService, (file) => this.addWatchFile(file))) this.emitFile(asset);
44464
44666
  }
44465
44667
  }
@@ -49399,7 +49601,7 @@ function normalizeRuntimePath(options, fileName) {
49399
49601
  if (!root) throw new Error("[weapp-vite] Independent WASM initialization requires a subpackage root.");
49400
49602
  if (posixFileName !== root && !posixFileName.startsWith(`${root}/`)) throw new Error(`[weapp-vite] Independent WASM asset escaped its package root: ${posixFileName}`);
49401
49603
  }
49402
- if (scope === "app") for (const reservedRoot of options.reservedRoots ?? []) {
49604
+ if (scope === "app") for (const reservedRoot of [...options.reservedRoots ?? [], ...workerRoot ? [workerRoot] : []]) {
49403
49605
  const root = reservedRoot.replaceAll("\\", "/").replace(/^\/+|\/+$/g, "");
49404
49606
  if (root && (posixFileName === root || posixFileName.startsWith(`${root}/`))) throw new Error(`[weapp-vite] Main package WASM assets cannot be emitted inside package or Worker root: ${posixFileName}`);
49405
49607
  }
@@ -49440,10 +49642,6 @@ function constrainAssetFileName(options, fileName) {
49440
49642
  if (normalized === root || normalized.startsWith(`${root}/`)) return normalized;
49441
49643
  return `${root}/${normalized}`;
49442
49644
  }
49443
- if (options.scope === "app") for (const reservedRoot of options.reservedRoots ?? []) {
49444
- const root = reservedRoot.replaceAll("\\", "/").replace(/^\/+|\/+$/g, "");
49445
- if (root && (normalized === root || normalized.startsWith(`${root}/`))) throw new Error(`[weapp-vite] Main package WASM assets cannot be emitted inside package or Worker root: ${normalized}`);
49446
- }
49447
49645
  if (options.scope === "worker") {
49448
49646
  const workerRoot = options.workerRoot?.replaceAll("\\", "/").replace(/^\/+|\/+$/g, "");
49449
49647
  if (workerRoot && (normalized === workerRoot || normalized.startsWith(`${workerRoot}/`))) return `assets/${normalized.slice(workerRoot.length).replace(/^\/+/, "")}`;
@@ -49506,7 +49704,7 @@ function createWasmPlugin(ctx, options) {
49506
49704
  if (installedRenderBuiltUrl && config.experimental?.renderBuiltUrl !== installedRenderBuiltUrl) throw new Error("[weapp-vite] The WASM asset URL adapter was replaced after plugin configuration; preserve the weapp-vite renderBuiltUrl callback.");
49507
49705
  },
49508
49706
  outputOptions(outputOptions) {
49509
- if (ctx.configService.platform !== "weapp" || command !== "build") return null;
49707
+ if (ctx.configService.platform !== "weapp" || command !== "build" || options.scope === "app") return null;
49510
49708
  const original = outputOptions.assetFileNames;
49511
49709
  outputOptions.assetFileNames = function(assetInfo) {
49512
49710
  const fileName = typeof original === "function" ? original.call(this, assetInfo) : resolveAssetFileName(original, assetInfo);
@@ -49532,6 +49730,20 @@ function resolveWasmScope(_ctx, subPackageRoot, worker = false) {
49532
49730
  };
49533
49731
  }
49534
49732
  // src/plugins/workerOutput.ts
49733
+ function sameAssetSource(left, right) {
49734
+ if (typeof left === "string" || typeof right === "string") return left === right;
49735
+ if (left.byteLength !== right.byteLength) return false;
49736
+ return left.every((value, index) => value === right[index]);
49737
+ }
49738
+ function emitWorkerAsset(context, bundle, asset) {
49739
+ const existing = bundle[asset.fileName];
49740
+ if (!existing) {
49741
+ context.emitFile(asset);
49742
+ return;
49743
+ }
49744
+ if (existing.type === "asset" && sameAssetSource(existing.source, asset.source)) return;
49745
+ context.error(`[weapp-vite] Worker asset conflicts with an existing output: ${asset.fileName}`);
49746
+ }
49535
49747
  /** 主应用和 worker 共用发布事务;子目标自身不持有 watcher 或输出目录。 */
49536
49748
  function createWorkerOutputPlugin(ctx) {
49537
49749
  let buildMode = false;
@@ -49568,12 +49780,12 @@ function createWorkerOutputPlugin(ctx) {
49568
49780
  }
49569
49781
  },
49570
49782
  generateBundle: {
49571
- order: "pre",
49572
- handler() {
49783
+ order: "post",
49784
+ handler(_options, bundle) {
49573
49785
  if (!prepared) return;
49574
49786
  if ("error" in prepared) throw prepared.error;
49575
49787
  pendingWorkerFiles = new Set(prepared.assets.map((asset) => asset.fileName));
49576
- for (const asset of prepared.assets) this.emitFile(asset);
49788
+ for (const asset of prepared.assets) emitWorkerAsset(this, bundle, asset);
49577
49789
  }
49578
49790
  },
49579
49791
  async writeBundle() {
@@ -1,5 +1,5 @@
1
- import { n as resetCompilerContext, r as setActiveCompilerContextKey, t as getCompilerContext } from "./getInstance-BVPJxJPq.mjs";
2
- import { j as initializeCompilerContext } from "./createCompilerContextInstance-3_LDm06J.mjs";
1
+ import { n as resetCompilerContext, r as setActiveCompilerContextKey, t as getCompilerContext } from "./getInstance-BFOSqiSf.mjs";
2
+ import { j as initializeCompilerContext } from "./createCompilerContextInstance-DLbj9x6v.mjs";
3
3
  // src/createContext.ts
4
4
  /** 保留历史活动上下文适配;新宿主通过 CompilerSession 创建独立会话。 */
5
5
  async function createCompilerContext(options) {
@@ -1,4 +1,4 @@
1
- import { t as AnalyzeDashboardDevframeController } from "../index-BIjQ_ZIs.mjs";
1
+ import { t as AnalyzeDashboardDevframeController } from "../index-DIZJRrvK.mjs";
2
2
  import { Plugin } from "vite";
3
3
  export interface AnalyzeDashboardPluginOptions {
4
4
  base?: string;
@@ -1,3 +1,3 @@
1
1
  import { a as AnalyzeSubpackagesResult } from "./budget-DTPngJU0.mjs";
2
- import { A as DashboardInvestigationReceiptInput, B as DashboardRuntimeEventInput, C as DashboardClaimInvestigationRequest, D as DashboardInvestigationClaim, E as DashboardInvestigation, F as DashboardObjectMeasurements, G as DashboardFileReadRequest, H as DashboardRuntimeEventsPage, I as DashboardProposeInvestigationRequest, J as DashboardArtifactFiles, K as DashboardContentRoots, L as DashboardReportIdentity, M as DashboardInvestigationStatus, N as DashboardInvestigationTarget, O as DashboardInvestigationProposal, P as DashboardInvestigationsState, R as DashboardVerifyInvestigationRequest, S as DashboardAuthorizeInvestigationRequest, T as DashboardCreateInvestigationRequest, U as DashboardRuntimeEventsQueryRequest, V as DashboardRuntimeEventProfile, W as DashboardFileContent, Y as createDashboardArtifactSnapshot, _ as DashboardAnalyzePage, a as createAnalyzeDashboardDevframe, b as DashboardAnalyzePayloadsDescriptor, c as DashboardAnalyzeSummary, d as DashboardComparisonPage, f as DashboardComparisonQuery, g as DashboardPackagesQuery, h as DashboardPackagesPage, i as DashboardDevframeState, j as DashboardInvestigationRequest, k as DashboardInvestigationProposalInput, l as DashboardArtifactsPage, m as DashboardModulesQuery, n as CreateAnalyzeDashboardDevframeOptions, o as resolveDashboardClientAssets, p as DashboardModulesPage, q as DashboardArtifactFile, r as DashboardAnalyzeSnapshot, s as DashboardAnalyzeQuery, t as AnalyzeDashboardDevframeController, u as DashboardArtifactsQuery, v as DashboardAnalyzePageRequest, w as DashboardCompleteInvestigationRequest, x as DashboardAgentInvestigationRequest, y as DashboardAnalyzePayloadDescriptor, z as DashboardRuntimeEvent } from "./index-BIjQ_ZIs.mjs";
2
+ import { A as DashboardInvestigationReceiptInput, B as DashboardRuntimeEventInput, C as DashboardClaimInvestigationRequest, D as DashboardInvestigationClaim, E as DashboardInvestigation, F as DashboardObjectMeasurements, G as DashboardFileReadRequest, H as DashboardRuntimeEventsPage, I as DashboardProposeInvestigationRequest, J as DashboardArtifactFiles, K as DashboardContentRoots, L as DashboardReportIdentity, M as DashboardInvestigationStatus, N as DashboardInvestigationTarget, O as DashboardInvestigationProposal, P as DashboardInvestigationsState, R as DashboardVerifyInvestigationRequest, S as DashboardAuthorizeInvestigationRequest, T as DashboardCreateInvestigationRequest, U as DashboardRuntimeEventsQueryRequest, V as DashboardRuntimeEventProfile, W as DashboardFileContent, Y as createDashboardArtifactSnapshot, _ as DashboardAnalyzePage, a as createAnalyzeDashboardDevframe, b as DashboardAnalyzePayloadsDescriptor, c as DashboardAnalyzeSummary, d as DashboardComparisonPage, f as DashboardComparisonQuery, g as DashboardPackagesQuery, h as DashboardPackagesPage, i as DashboardDevframeState, j as DashboardInvestigationRequest, k as DashboardInvestigationProposalInput, l as DashboardArtifactsPage, m as DashboardModulesQuery, n as CreateAnalyzeDashboardDevframeOptions, o as resolveDashboardClientAssets, p as DashboardModulesPage, q as DashboardArtifactFile, r as DashboardAnalyzeSnapshot, s as DashboardAnalyzeQuery, t as AnalyzeDashboardDevframeController, u as DashboardArtifactsQuery, v as DashboardAnalyzePageRequest, w as DashboardCompleteInvestigationRequest, x as DashboardAgentInvestigationRequest, y as DashboardAnalyzePayloadDescriptor, z as DashboardRuntimeEvent } from "./index-DIZJRrvK.mjs";
3
3
  export { AnalyzeDashboardDevframeController, type AnalyzeSubpackagesResult, CreateAnalyzeDashboardDevframeOptions, type DashboardAgentInvestigationRequest, type DashboardAnalyzePage, type DashboardAnalyzePageRequest, type DashboardAnalyzePayloadDescriptor, type DashboardAnalyzePayloadsDescriptor, type DashboardAnalyzeQuery, DashboardAnalyzeSnapshot, type DashboardAnalyzeSummary, type DashboardArtifactFile, type DashboardArtifactFiles, type DashboardArtifactsPage, type DashboardArtifactsQuery, type DashboardAuthorizeInvestigationRequest, type DashboardClaimInvestigationRequest, type DashboardComparisonPage, type DashboardComparisonQuery, type DashboardCompleteInvestigationRequest, type DashboardContentRoots, type DashboardCreateInvestigationRequest, DashboardDevframeState, type DashboardFileContent, type DashboardFileReadRequest, type DashboardInvestigation, type DashboardInvestigationClaim, type DashboardInvestigationProposal, type DashboardInvestigationProposalInput, type DashboardInvestigationReceiptInput, type DashboardInvestigationRequest, type DashboardInvestigationStatus, type DashboardInvestigationTarget, type DashboardInvestigationsState, type DashboardModulesPage, type DashboardModulesQuery, type DashboardObjectMeasurements, type DashboardPackagesPage, type DashboardPackagesQuery, type DashboardProposeInvestigationRequest, type DashboardReportIdentity, type DashboardRuntimeEvent, type DashboardRuntimeEventInput, type DashboardRuntimeEventProfile, type DashboardRuntimeEventsPage, type DashboardRuntimeEventsQueryRequest, type DashboardVerifyInvestigationRequest, createAnalyzeDashboardDevframe, createDashboardArtifactSnapshot, resolveDashboardClientAssets };
@@ -22,6 +22,43 @@
22
22
  2. `node_modules/weapp-vite/dist/docs/*.md`
23
23
  3. 当前仓库实际代码与 `vite.config.ts`
24
24
 
25
+ ## Skills
26
+
27
+ ### 手动安装
28
+
29
+ 在项目根运行对应命令,适用于 npm、Yarn 和各版本 pnpm:
30
+
31
+ ```sh
32
+ # 原生
33
+ npx skills add sonofmagic/skills --skill weapp-vite-best-practices
34
+ # Wevu / Vue SFC(含多平台 SFC)
35
+ npx skills add sonofmagic/skills --skill weapp-vite-best-practices weapp-vite-vue-sfc-best-practices wevu-best-practices
36
+ # React
37
+ npx skills add sonofmagic/skills --skill weapp-vite-best-practices weapp-vite-react-best-practices
38
+ ```
39
+
40
+ 迁移时可额外安装:
41
+
42
+ ```sh
43
+ npx skills add sonofmagic/skills --skill native-to-weapp-vite-wevu-migration
44
+ ```
45
+
46
+ 文档、发布和 E2E 维护技能用于贡献本仓库,不是消费项目的默认项。
47
+
48
+ ### 随依赖安装
49
+
50
+ pnpm >=12.11.0 可从项目依赖安装 skills。在 `pnpm-workspace.yaml` 合并以下设置,保留团队已有配置:
51
+
52
+ ```yaml
53
+ skills:
54
+ dirs:
55
+ - .agents/skills
56
+ ```
57
+
58
+ 依次运行 `pnpm install`、交互式 `pnpm approve`,手动选择需要的能力。由 pnpm 管理链接,无需 consumer postinstall。
59
+
60
+ 各包提供的 skills、版本差异、workspace 选择和手工内容保护见 [AI Skills 指南](https://vite.weapp.dev/guide/skills)。
61
+
25
62
  ## 小程序宿主能力验证
26
63
 
27
64
  不要根据浏览器、Node.js、类型声明或 headless simulator 推断 AppService 能力。新增 `queueMicrotask`、Web API、DOM/Node 全局或现代内建前,先在目标平台真实 IDE、目标基础库和 renderer 中验证存在性及最小调用语义。
@@ -1,6 +1,6 @@
1
1
  import { n as resolveAnalyzeBudgets } from "./metadata-HlDKtlsu.mjs";
2
2
  import { t as terminateStaleSassEmbeddedProcess } from "./processCleanup-DzB64WI8.mjs";
3
- import { t as createCompilerContext } from "./createContext-Bt5Xf3qS.mjs";
3
+ import { t as createCompilerContext } from "./createContext-CNX394Nq.mjs";
4
4
  import { r as readDoctorFiles } from "./files-Cy9jURJu.mjs";
5
5
  import process from "node:process";
6
6
  import path from "node:path";
package/dist/doctor.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import { l as getProjectPlatformOptions, m as resolveMiniPlatform, o as getPlatformOutputExtensions } from "./platform-BiMpsZIb.mjs";
2
- import { t as classifyPackage } from "./classifier-CLQfYmuy.mjs";
2
+ import { t as classifyPackage } from "./classifier-CBLOs0e9.mjs";
3
3
  import { t as createAnalyzeBudgetCheck } from "./budget-_Mu-4GKn.mjs";
4
4
  import { n as parseObject, r as readDoctorFiles, t as objectValue } from "./files-Cy9jURJu.mjs";
5
- import { E as outputTemplateParser, N as getScriptModuleImportAttrs, O as getTemplateImportAttrs, n as version } from "./package-BnYH0riT.mjs";
5
+ import { E as outputTemplateParser, N as getScriptModuleImportAttrs, O as getTemplateImportAttrs, n as version } from "./package-DaAwtXIg.mjs";
6
6
  import process from "node:process";
7
7
  import { constants } from "node:fs";
8
8
  import { fileURLToPath } from "node:url";
@@ -55,7 +55,7 @@ function resolveAutoRoutesMacroImportPath() {
55
55
  }
56
56
  async function resolveAutoRoutesInlineSnapshot(context) {
57
57
  try {
58
- const compilerContext = context ?? (await import("./getInstance-KmwxLWE4.mjs")).getCompilerContext();
58
+ const compilerContext = context ?? (await import("./getInstance-BkoPIV8s.mjs")).getCompilerContext();
59
59
  const service = compilerContext.autoRoutesService;
60
60
  const reference = service?.getReference?.();
61
61
  if (!compilerContext.runtimeState.autoRoutes.loadingAppConfig) await service?.ensureFresh?.();
@@ -0,0 +1 @@
1
+ export { t as extractConfigFromVue } from "./file-BKX2bE_I.mjs";
@@ -1,6 +1,6 @@
1
1
  import { f as resolveHmrProfileJsonPath } from "./devProvider-Ci2il72x.mjs";
2
2
  import { r as logger_default, t as colors } from "./logger-DGn5iEVN.mjs";
3
- import { a as resolveIdeProjectRoot, o as shouldUseAutomatorProjectWrapper } from "./openIde-DR1jRwRZ.mjs";
3
+ import { a as resolveIdeProjectRoot, o as shouldUseAutomatorProjectWrapper } from "./openIde-MbhME5Lq.mjs";
4
4
  import { t as readHmrProfileLines } from "./reader-wzPH_W8A.mjs";
5
5
  import process from "node:process";
6
6
  import { fs } from "@weapp-core/shared/fs";
@@ -1,4 +1,4 @@
1
- import { t as createCompilerContextInstance } from "./createCompilerContextInstance-3_LDm06J.mjs";
1
+ import { t as createCompilerContextInstance } from "./createCompilerContextInstance-DLbj9x6v.mjs";
2
2
  // src/context/getInstance.ts
3
3
  const compilerContextMap = /* @__PURE__ */ new Map();
4
4
  const DEFAULT_KEY = "default";
@@ -0,0 +1 @@
1
+ export { t as getCompilerContext } from "./getInstance-BFOSqiSf.mjs";