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.
- package/dist/{action-BXQ_635N.mjs → action-5b4_Id41.mjs} +5 -5
- package/dist/{action-tvgM91DU.mjs → action-BrYUOyNr.mjs} +2 -2
- package/dist/{action-D4aE_85H.mjs → action-C69IwqF6.mjs} +4 -4
- package/dist/{action-DPyPIu7h.mjs → action-D5YjMuNK.mjs} +6 -6
- package/dist/{action-BjqLMcEc.mjs → action-DeTIjVZi.mjs} +1 -1
- package/dist/{assets-BTDeDWL8.mjs → assets-DGjxkFom.mjs} +2 -2
- package/dist/auto-import-components/resolvers.mjs +1 -1
- package/dist/auto-routes.mjs +2 -2
- package/dist/{classifier-CLQfYmuy.mjs → classifier-CBLOs0e9.mjs} +2 -2
- package/dist/cli-acceptance.mjs +1 -1
- package/dist/cli.mjs +14 -14
- package/dist/{createCompilerContextInstance-3_LDm06J.mjs → createCompilerContextInstance-DLbj9x6v.mjs} +256 -44
- package/dist/{createContext-Bt5Xf3qS.mjs → createContext-CNX394Nq.mjs} +2 -2
- package/dist/dashboard/vite.d.mts +1 -1
- package/dist/dashboard.d.mts +1 -1
- package/dist/docs/ai-workflows.md +37 -0
- package/dist/doctor-worker.mjs +1 -1
- package/dist/doctor.mjs +2 -2
- package/dist/{file-BSnzOG71.mjs → file-BKX2bE_I.mjs} +1 -1
- package/dist/file-WUM9I-Hl.mjs +1 -0
- package/dist/{forwardConsole-5gsW38JU.mjs → forwardConsole-Bd9pQVs_.mjs} +1 -1
- package/dist/{getInstance-BVPJxJPq.mjs → getInstance-BFOSqiSf.mjs} +1 -1
- package/dist/getInstance-BkoPIV8s.mjs +1 -0
- package/dist/{history-DHf4bJcC.mjs → history-D3m367Ml.mjs} +2 -2
- package/dist/{index-BIjQ_ZIs.d.mts → index-DIZJRrvK.d.mts} +1 -1
- package/dist/index.mjs +2 -2
- package/dist/{lib-DFy0ICSb.mjs → lib-TVTxVvtt.mjs} +1 -1
- package/dist/{loadConfig-Cz0YvFKX.mjs → loadConfig-DBH8TMJu.mjs} +1 -1
- package/dist/loadConfig-DrcfCgLX.mjs +1 -0
- package/dist/{logBuildAppFinish-CEd6S2uv.mjs → logBuildAppFinish-CiwAAttq.mjs} +1 -1
- package/dist/{mcp-BIeIXYnH.mjs → mcp-CUJeEA1k.mjs} +1 -1
- package/dist/{openIde-DR1jRwRZ.mjs → openIde-MbhME5Lq.mjs} +2 -2
- package/dist/{package-BnYH0riT.mjs → package-DaAwtXIg.mjs} +1 -1
- package/dist/{resolvers-CKYqmRD_.mjs → resolvers-CwIPE-np.mjs} +1 -0
- package/dist/resolvers.mjs +1 -1
- package/dist/{runtime-C3FhJHMZ.mjs → runtime-CXXzD_vv.mjs} +1 -1
- package/dist/{session-DEB9vhVJ.mjs → session-OfpAb3Zc.mjs} +2 -2
- package/dist/test.mjs +11 -3
- package/dist/{utils-C6mLS1fl.mjs → utils-BiSQAI-e.mjs} +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +35 -34
- package/skills/weapp-vite-best-practices/SKILL.md +173 -0
- package/skills/weapp-vite-best-practices/agents/openai.yaml +7 -0
- package/skills/weapp-vite-best-practices/references/cli-dispatch-playbook.md +41 -0
- package/skills/weapp-vite-best-practices/references/config-playbook.md +51 -0
- package/skills/weapp-vite-best-practices/references/debug-playbook.md +47 -0
- package/skills/weapp-vite-best-practices/references/ide-command-playbook.md +26 -0
- package/skills/weapp-vite-best-practices/references/ide-i18n-config-playbook.md +29 -0
- package/skills/weapp-vite-best-practices/references/native-ast-performance-checklist.md +7 -0
- package/skills/weapp-vite-best-practices/references/plugin-build-playbook.md +11 -0
- package/skills/weapp-vite-best-practices/references/stateful-hmr-playbook.md +17 -0
- package/skills/weapp-vite-best-practices/references/web-runtime-compatibility.md +39 -0
- package/skills/weapp-vite-vue-sfc-best-practices/SKILL.md +107 -0
- package/skills/weapp-vite-vue-sfc-best-practices/agents/openai.yaml +7 -0
- package/skills/weapp-vite-vue-sfc-best-practices/references/macro-config-checklist.md +20 -0
- package/skills/weapp-vite-vue-sfc-best-practices/references/template-compat-matrix.md +24 -0
- package/skills/weapp-vite-vue-sfc-best-practices/references/tooling-and-hmr-matrix.md +13 -0
- package/skills/weapp-vite-vue-sfc-best-practices/references/troubleshooting-playbook.md +21 -0
- package/dist/file-BHca0tSX.mjs +0 -1
- package/dist/getInstance-KmwxLWE4.mjs +0 -1
- 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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: ["
|
|
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"
|
|
37459
|
-
|
|
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)) ||
|
|
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 =
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
38757
|
-
|
|
38758
|
-
|
|
38759
|
-
|
|
38760
|
-
|
|
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 =
|
|
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-
|
|
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: "
|
|
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
|
|
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-
|
|
2
|
-
import { j as initializeCompilerContext } from "./createCompilerContextInstance-
|
|
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) {
|
package/dist/dashboard.d.mts
CHANGED
|
@@ -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-
|
|
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 中验证存在性及最小调用语义。
|
package/dist/doctor-worker.mjs
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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";
|