@heybox/hb-sdk 0.8.3-alpha.5 → 0.8.3-alpha.6

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 (36) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +3 -3
  3. package/dist/cli-chunks/{build-8dIKgG1v.cjs → build-BRLdyZ76.cjs} +5 -5
  4. package/dist/cli-chunks/{context-DSNBFwsG.cjs → context-CbiL9O6w.cjs} +2 -2
  5. package/dist/cli-chunks/{create-DmNfBoq7.cjs → create-B7kL5QkJ.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-C15G1TxE.cjs → dev-DvH2_I1Y.cjs} +9 -9
  7. package/dist/cli-chunks/{doctor-r6m7pK1R.cjs → doctor-DMqILTR4.cjs} +1 -1
  8. package/dist/cli-chunks/{index-B6lVqj5W.cjs → index-BVylxPGU.cjs} +15 -15
  9. package/dist/cli-chunks/{index-CsQ1g-cL.cjs → index-D8AT5s4x.cjs} +2 -2
  10. package/dist/cli-chunks/{index.esm-DG1EUOV-.cjs → index.esm-Cwh5ei9-.cjs} +7 -7
  11. package/dist/cli-chunks/{login-DOUitUrc.cjs → login-BHAg3-HY.cjs} +2 -2
  12. package/dist/cli-chunks/{project-vite-C-YGhyHJ.cjs → project-vite-AGDPqVSX.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-i3QX7A-u.cjs → remote-jgmCl_OP.cjs} +7 -7
  14. package/dist/cli-chunks/{runtime-gate-hlz0xgg8.cjs → runtime-gate-DjTZ46xz.cjs} +1 -1
  15. package/dist/cli-chunks/{runtime-permission-env-DNXaBBHz.cjs → runtime-permission-env-Bjlpv6zh.cjs} +1 -1
  16. package/dist/cli-chunks/{session-u4BpZqwE.cjs → session-DnS1mH8i.cjs} +1 -1
  17. package/dist/cli-chunks/{skill-DAOCq0eg.cjs → skill-CUnigEtN.cjs} +2 -2
  18. package/dist/cli-chunks/{version-MrIy1W5p.cjs → version-CNl684Yw.cjs} +1 -1
  19. package/dist/cli.cjs +1 -1
  20. package/dist/devtools/browser-dev-host/assets/{browser-dev-host-CJDZz8aw.js → browser-dev-host-D2fH-vdb.js} +1 -1
  21. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-BbRQb08Y.js → desktop-app-launch-38leCDIj.js} +1 -1
  22. package/dist/devtools/browser-dev-host/assets/{index-8N4og21f.js → index-Dui3LdcO.js} +3 -3
  23. package/dist/devtools/browser-dev-host/index.html +2 -2
  24. package/dist/index.cjs.js +1 -1
  25. package/dist/index.esm.js +1 -1
  26. package/dist/miniapp-publish.cjs.js +21 -6
  27. package/dist/miniapp-publish.esm.js +21 -7
  28. package/dist/templates/vanilla-vite-js/README.md.ejs +1 -1
  29. package/dist/templates/vanilla-vite-js/package.json.ejs +1 -1
  30. package/dist/vite.cjs.js +46 -2
  31. package/dist/vite.esm.js +46 -2
  32. package/package.json +6 -6
  33. package/skill/skill.json +4 -4
  34. package/types/miniapp-manifest/schema.d.ts +34 -9
  35. package/types/miniapp-publish/index.d.ts +1 -1
  36. package/types/vite/index.d.ts +4 -2
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="theme-color" content="#f4f5f7" />
7
7
  <title>小程序工坊调试台</title>
8
- <script type="module" crossorigin src="/assets/index-8N4og21f.js"></script>
9
- <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-BbRQb08Y.js">
8
+ <script type="module" crossorigin src="/assets/index-Dui3LdcO.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-38leCDIj.js">
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-BrXEMo2-.css">
11
11
  </head>
12
12
  <body>
package/dist/index.cjs.js CHANGED
@@ -1342,7 +1342,7 @@ function createMessageId() {
1342
1342
  /** 构建时替换为当前发布包的实际版本。 */
1343
1343
  const HB_SDK_VERSION = typeof undefined === 'string'
1344
1344
  ? undefined
1345
- : '0.8.3-alpha.5';
1345
+ : '0.8.3-alpha.6';
1346
1346
 
1347
1347
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
1348
1348
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
package/dist/index.esm.js CHANGED
@@ -1338,7 +1338,7 @@ function createMessageId() {
1338
1338
  /** 构建时替换为当前发布包的实际版本。 */
1339
1339
  const HB_SDK_VERSION = typeof undefined === 'string'
1340
1340
  ? undefined
1341
- : '0.8.3-alpha.5';
1341
+ : '0.8.3-alpha.6';
1342
1342
 
1343
1343
  const RUNTIME_MODES = new Set(['production', 'preview', 'development', 'unknown']);
1344
1344
  const OPERATING_SYSTEM_NAMES = new Set(['android', 'ios', 'ohos', 'windows', 'macos', 'linux', 'unknown']);
@@ -3142,13 +3142,27 @@ const MINIAPP_PLATFORM_VALUES = ['android', 'ios', 'ohos', 'windows', 'macos', '
3142
3142
  /** 平台声明硬切点:产物 hb-sdk 版本达到该值时,必须显式声明非空 `platforms`。 */
3143
3143
  const MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION = '0.9.0';
3144
3144
  /**
3145
- * 历史移动端兼容平台集合。
3145
+ * 历史兜底平台集合。
3146
3146
  *
3147
3147
  * @remarks
3148
3148
  * 仅在 `sdkVersion` 缺失或 SemVer precedence 低于 `MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION`,
3149
3149
  * 且 Manifest 完全没有 `platforms` 字段时生效,不是任何非法声明的兜底。
3150
+ *
3151
+ * 不含 `linux`:客户端暂无 linux 基线,后端 `x_os_type` 也不映射该平台,声明了也进不了运行门禁。
3152
+ */
3153
+ const MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES = [
3154
+ 'android',
3155
+ 'ios',
3156
+ 'ohos',
3157
+ 'windows',
3158
+ 'macos',
3159
+ ];
3160
+ /**
3161
+ * 历史兜底平台集合的旧名称。
3162
+ *
3163
+ * @deprecated Since 0.8.3. 请改用 {@link MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES},本别名取值与之一致,仅为不破坏既有 import 保留。
3150
3164
  */
3151
- const MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES = ['android', 'ios', 'ohos'];
3165
+ const MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES = MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES;
3152
3166
  /** 窗口尺寸字段的脏值兜底上限;真正的上限是宿主侧显示器 workArea。 */
3153
3167
  const MINIAPP_WINDOW_SIZE_MAX = 16_384;
3154
3168
  const MINIAPP_WINDOW_NUMBER_FIELDS = ['defaultWidth', 'defaultHeight', 'minWidth', 'minHeight'];
@@ -3314,7 +3328,7 @@ const NO_MINIAPP_PLATFORMS = Object.freeze([]);
3314
3328
  * @param manifest - 待解析的不可信 Manifest。必须是非 `null`、非数组的对象;函数只读取其
3315
3329
  * 自有 `platforms` 字段,其他字段不参与平台解析。
3316
3330
  * @returns 冻结的 {@link MiniappPlatformResolution}。显式声明返回规范排序后的 declared /
3317
- * effective;历史兼容返回空 declared 与 Android/iOS/OHOS effective。
3331
+ * effective;历史兼容返回空 declared 与历史兜底平台集合 effective。
3318
3332
  * @throws `manifest` 不是对象时抛出;非空 sdkVersion 不完整、含 `v` 前缀或 build metadata、
3319
3333
  * 不是 canonical SemVer 时抛出;sdkVersion precedence 达到 `0.9.0` 但缺少 platforms 时抛出;
3320
3334
  * 显式 platforms 不是非空数组、包含未知/非字符串/重复平台时抛出。
@@ -3362,11 +3376,11 @@ const NO_MINIAPP_PLATFORMS = Object.freeze([]);
3362
3376
  * // }
3363
3377
  *
3364
3378
  * const legacy = resolveMiniappManifestPlatforms('0.9.0-alpha.1', {})
3365
- * console.log(legacy.effective) // ['android', 'ios', 'ohos']
3379
+ * console.log(legacy.effective) // ['android', 'ios', 'ohos', 'windows', 'macos']
3366
3380
  * ```
3367
3381
  *
3368
3382
  * @see {@link MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION}
3369
- * @see {@link MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES}
3383
+ * @see {@link MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES}
3370
3384
  * @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/miniapp-publish/functions/isValidVersion | isValidVersion}
3371
3385
  * @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/vite/functions/miniappManifest | miniappManifest}
3372
3386
  */
@@ -3389,7 +3403,7 @@ function resolveMiniappManifestPlatforms(sdkVersion, manifest) {
3389
3403
  if (normalizedSdkVersion === undefined || semverExports.lt(normalizedSdkVersion, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION)) {
3390
3404
  return Object.freeze({
3391
3405
  declared: NO_MINIAPP_PLATFORMS,
3392
- effective: MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES,
3406
+ effective: MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES,
3393
3407
  platformsDeclared: false,
3394
3408
  policy: 'legacy_mobile_default',
3395
3409
  });
@@ -12613,6 +12627,7 @@ exports.LIST_USER_MINIPROGRAM_API_PATH = LIST_USER_MINIPROGRAM_API_PATH;
12613
12627
  exports.LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH = LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH;
12614
12628
  exports.LIST_USER_MINIPROGRAM_VERSION_API_PATH = LIST_USER_MINIPROGRAM_VERSION_API_PATH;
12615
12629
  exports.MINIAPP_COMPANION_UPLOAD_TEMPORARY_SIZE_LIMIT_BYTES = MINIAPP_COMPANION_UPLOAD_TEMPORARY_SIZE_LIMIT_BYTES;
12630
+ exports.MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES = MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES;
12616
12631
  exports.MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES = MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES;
12617
12632
  exports.MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION = MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION;
12618
12633
  exports.MINIAPP_UPLOAD_BATCH_SIZE = MINIAPP_UPLOAD_BATCH_SIZE;
@@ -3140,13 +3140,27 @@ const MINIAPP_PLATFORM_VALUES = ['android', 'ios', 'ohos', 'windows', 'macos', '
3140
3140
  /** 平台声明硬切点:产物 hb-sdk 版本达到该值时,必须显式声明非空 `platforms`。 */
3141
3141
  const MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION = '0.9.0';
3142
3142
  /**
3143
- * 历史移动端兼容平台集合。
3143
+ * 历史兜底平台集合。
3144
3144
  *
3145
3145
  * @remarks
3146
3146
  * 仅在 `sdkVersion` 缺失或 SemVer precedence 低于 `MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION`,
3147
3147
  * 且 Manifest 完全没有 `platforms` 字段时生效,不是任何非法声明的兜底。
3148
+ *
3149
+ * 不含 `linux`:客户端暂无 linux 基线,后端 `x_os_type` 也不映射该平台,声明了也进不了运行门禁。
3150
+ */
3151
+ const MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES = [
3152
+ 'android',
3153
+ 'ios',
3154
+ 'ohos',
3155
+ 'windows',
3156
+ 'macos',
3157
+ ];
3158
+ /**
3159
+ * 历史兜底平台集合的旧名称。
3160
+ *
3161
+ * @deprecated Since 0.8.3. 请改用 {@link MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES},本别名取值与之一致,仅为不破坏既有 import 保留。
3148
3162
  */
3149
- const MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES = ['android', 'ios', 'ohos'];
3163
+ const MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES = MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES;
3150
3164
  /** 窗口尺寸字段的脏值兜底上限;真正的上限是宿主侧显示器 workArea。 */
3151
3165
  const MINIAPP_WINDOW_SIZE_MAX = 16_384;
3152
3166
  const MINIAPP_WINDOW_NUMBER_FIELDS = ['defaultWidth', 'defaultHeight', 'minWidth', 'minHeight'];
@@ -3312,7 +3326,7 @@ const NO_MINIAPP_PLATFORMS = Object.freeze([]);
3312
3326
  * @param manifest - 待解析的不可信 Manifest。必须是非 `null`、非数组的对象;函数只读取其
3313
3327
  * 自有 `platforms` 字段,其他字段不参与平台解析。
3314
3328
  * @returns 冻结的 {@link MiniappPlatformResolution}。显式声明返回规范排序后的 declared /
3315
- * effective;历史兼容返回空 declared 与 Android/iOS/OHOS effective。
3329
+ * effective;历史兼容返回空 declared 与历史兜底平台集合 effective。
3316
3330
  * @throws `manifest` 不是对象时抛出;非空 sdkVersion 不完整、含 `v` 前缀或 build metadata、
3317
3331
  * 不是 canonical SemVer 时抛出;sdkVersion precedence 达到 `0.9.0` 但缺少 platforms 时抛出;
3318
3332
  * 显式 platforms 不是非空数组、包含未知/非字符串/重复平台时抛出。
@@ -3360,11 +3374,11 @@ const NO_MINIAPP_PLATFORMS = Object.freeze([]);
3360
3374
  * // }
3361
3375
  *
3362
3376
  * const legacy = resolveMiniappManifestPlatforms('0.9.0-alpha.1', {})
3363
- * console.log(legacy.effective) // ['android', 'ios', 'ohos']
3377
+ * console.log(legacy.effective) // ['android', 'ios', 'ohos', 'windows', 'macos']
3364
3378
  * ```
3365
3379
  *
3366
3380
  * @see {@link MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION}
3367
- * @see {@link MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES}
3381
+ * @see {@link MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES}
3368
3382
  * @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/miniapp-publish/functions/isValidVersion | isValidVersion}
3369
3383
  * @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/vite/functions/miniappManifest | miniappManifest}
3370
3384
  */
@@ -3387,7 +3401,7 @@ function resolveMiniappManifestPlatforms(sdkVersion, manifest) {
3387
3401
  if (normalizedSdkVersion === undefined || semverExports.lt(normalizedSdkVersion, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION)) {
3388
3402
  return Object.freeze({
3389
3403
  declared: NO_MINIAPP_PLATFORMS,
3390
- effective: MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES,
3404
+ effective: MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES,
3391
3405
  platformsDeclared: false,
3392
3406
  policy: 'legacy_mobile_default',
3393
3407
  });
@@ -12598,4 +12612,4 @@ function compareBytes(left, right) {
12598
12612
  return left.length - right.length;
12599
12613
  }
12600
12614
 
12601
- export { ACTIVITY_UPLOAD_KEY_MAX_LENGTH, CREATE_USER_MINIPROGRAM_API_PATH, CREATE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, CREATE_USER_MINIPROGRAM_LOCAL_DEV_LAUNCH_TOKEN_API_PATH, DELETE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DETAIL_USER_MINIPROGRAM_API_PATH, DETAIL_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DEVELOPER_ENTITY_LIST_API_PATH, DEVELOPER_ENTITY_SWITCH_API_PATH, LIST_USER_MINIPROGRAM_API_PATH, LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH, LIST_USER_MINIPROGRAM_VERSION_API_PATH, MINIAPP_COMPANION_UPLOAD_TEMPORARY_SIZE_LIMIT_BYTES, MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION, MINIAPP_UPLOAD_BATCH_SIZE, MINIAPP_UPLOAD_SCOPE, MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES, PRECHECK_USER_MINIPROGRAM_VERSION_API_PATH, RELEASE_USER_MINIPROGRAM_VERSION_API_PATH, REOPEN_USER_MINIPROGRAM_API_PATH, SUBMIT_USER_MINIPROGRAM_AUDIT_API_PATH, TAKE_DOWN_USER_MINIPROGRAM_API_PATH, UPDATE_SQUARE_DISPLAY_API_PATH, UPDATE_USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_ACCESS_STATUS_API_PATH, USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_VERSION_PREVIEW_INFO_API_PATH, WITHDRAW_USER_MINIPROGRAM_VERSION_API_PATH, createMiniappArtifactFileHeader, createMiniappArtifactSignatureHeader, getMiniProgramUploadAlias, getMiniappUploadKey, hasMiniappRuntimeGate, isValidMiniappManifestVersion as isValidVersion, normalizeBasicInfoName, normalizeRelativePath, parseMiniappBasicInfo, parseMiniappBindAppIds, parseMiniappCategory, prepareMiniappArtifactFiles, previewMiniappBasicInfo, relativePathContainsNodeModulesSegment, resolveMiniappManifestPlatforms, resolveMiniappUploadSessionFiles, shouldUploadDistFile, validateMiniappCompanionFileReceipts, validateMiniappManifestForDeploy, validateMiniappUploadPathLengths, validateMiniappUploadSizeBudgets, validateUploadPaths, validateUploadTotalSize };
12615
+ export { ACTIVITY_UPLOAD_KEY_MAX_LENGTH, CREATE_USER_MINIPROGRAM_API_PATH, CREATE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, CREATE_USER_MINIPROGRAM_LOCAL_DEV_LAUNCH_TOKEN_API_PATH, DELETE_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DETAIL_USER_MINIPROGRAM_API_PATH, DETAIL_USER_MINIPROGRAM_LEADERBOARD_API_PATH, DEVELOPER_ENTITY_LIST_API_PATH, DEVELOPER_ENTITY_SWITCH_API_PATH, LIST_USER_MINIPROGRAM_API_PATH, LIST_USER_MINIPROGRAM_LEADERBOARD_API_PATH, LIST_USER_MINIPROGRAM_VERSION_API_PATH, MINIAPP_COMPANION_UPLOAD_TEMPORARY_SIZE_LIMIT_BYTES, MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES, MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION, MINIAPP_UPLOAD_BATCH_SIZE, MINIAPP_UPLOAD_SCOPE, MINIAPP_UPLOAD_TOTAL_SIZE_LIMIT_BYTES, PRECHECK_USER_MINIPROGRAM_VERSION_API_PATH, RELEASE_USER_MINIPROGRAM_VERSION_API_PATH, REOPEN_USER_MINIPROGRAM_API_PATH, SUBMIT_USER_MINIPROGRAM_AUDIT_API_PATH, TAKE_DOWN_USER_MINIPROGRAM_API_PATH, UPDATE_SQUARE_DISPLAY_API_PATH, UPDATE_USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_ACCESS_STATUS_API_PATH, USER_MINIPROGRAM_PREVIEW_ALLOWLIST_API_PATH, USER_MINIPROGRAM_VERSION_PREVIEW_INFO_API_PATH, WITHDRAW_USER_MINIPROGRAM_VERSION_API_PATH, createMiniappArtifactFileHeader, createMiniappArtifactSignatureHeader, getMiniProgramUploadAlias, getMiniappUploadKey, hasMiniappRuntimeGate, isValidMiniappManifestVersion as isValidVersion, normalizeBasicInfoName, normalizeRelativePath, parseMiniappBasicInfo, parseMiniappBindAppIds, parseMiniappCategory, prepareMiniappArtifactFiles, previewMiniappBasicInfo, relativePathContainsNodeModulesSegment, resolveMiniappManifestPlatforms, resolveMiniappUploadSessionFiles, shouldUploadDistFile, validateMiniappCompanionFileReceipts, validateMiniappManifestForDeploy, validateMiniappUploadPathLengths, validateMiniappUploadSizeBudgets, validateUploadPaths, validateUploadTotalSize };
@@ -14,6 +14,6 @@ npm run deploy -- --release-note "更新说明"
14
14
 
15
15
  `package.json#heybox.category` 初始声明为 `other`(其他)。发布前请按实际用途选择 `tool`(工具)、`game`(游戏)或 `other`(其他);该字段为必填,修改后需重新构建。
16
16
 
17
- `package.json#heybox.platforms` 默认声明 `android`、`ios`、`ohos`。发布前请在每个声明的平台完成真机验收;需要支持桌面平台时,由项目自行加入并验收。
17
+ `package.json#heybox.platforms` 默认声明全平台 `android`、`ios`、`ohos`、`windows`、`macos`,请按项目实际完成适配并验收的平台保留,未适配的平台务必删除。`linux` 目前没有客户端基线与 API 兼容声明,暂不建议声明。
18
18
 
19
19
  更多内容见 [CLI 指南](https://docs.xiaoheihe.cn/hb_sdk/guide/cli) 和 [SDK 文档](https://docs.xiaoheihe.cn/hb_sdk/)。
@@ -9,7 +9,7 @@
9
9
  "category": "other",
10
10
  "icon": "assets/heybox-placeholder.png",
11
11
  "coverImages": ["assets/heybox-placeholder.png"],
12
- "platforms": ["android", "ios", "ohos"],
12
+ "platforms": ["android", "ios", "ohos", "windows", "macos"],
13
13
  "permissions": {}
14
14
  },
15
15
  "scripts": {
package/dist/vite.cjs.js CHANGED
@@ -2948,7 +2948,7 @@ async function ensureBasicInfoDirectory(rootPath, relative) {
2948
2948
  /** 构建时替换为当前发布包的实际版本。 */
2949
2949
  const HB_SDK_VERSION = typeof undefined === 'string'
2950
2950
  ? undefined
2951
- : '0.8.3-alpha.5';
2951
+ : '0.8.3-alpha.6';
2952
2952
 
2953
2953
  /**
2954
2954
  * iframe 与调试台页面的开发期 console 捕获转发。
@@ -3601,6 +3601,34 @@ const MINIAPP_PLATFORM_VALUES = ['android', 'ios', 'ohos', 'windows', 'macos', '
3601
3601
  const MINIAPP_WINDOW_SIZE_MAX = 16_384;
3602
3602
  const MINIAPP_WINDOW_NUMBER_FIELDS = ['defaultWidth', 'defaultHeight', 'minWidth', 'minHeight'];
3603
3603
  const MINIAPP_WINDOW_ALLOWED_FIELDS = [...MINIAPP_WINDOW_NUMBER_FIELDS, 'resizable'];
3604
+ /**
3605
+ * 旧版模板的移动端默认声明。
3606
+ *
3607
+ * @remarks
3608
+ * 这不是平台词表的子集定义,也不参与平台解析;它只用于识别「从旧模板创建后从未调整过
3609
+ * `platforms`」的项目,以便在其构建/调试时给出非阻断提醒。刻意只做移动端的项目只要不恰好
3610
+ * 等于这组声明就不会被提醒。
3611
+ */
3612
+ const MINIAPP_LEGACY_MOBILE_TEMPLATE_PLATFORM_VALUES = ['android', 'ios', 'ohos'];
3613
+ /**
3614
+ * 判断平台声明是否仍是旧版模板的移动端默认值。
3615
+ *
3616
+ * @param platforms - 待判断的平台数组;不要求预先规范化顺序,重复项会被长度校验挡下。
3617
+ * @returns 恰好包含 `android`、`ios`、`ohos` 三个平台时返回 `true`,其余组合返回 `false`。
3618
+ */
3619
+ function isLegacyMobileTemplatePlatforms(platforms) {
3620
+ return (platforms.length === MINIAPP_LEGACY_MOBILE_TEMPLATE_PLATFORM_VALUES.length &&
3621
+ MINIAPP_LEGACY_MOBILE_TEMPLATE_PLATFORM_VALUES.every((platform) => platforms.includes(platform)));
3622
+ }
3623
+ /**
3624
+ * 生成「平台声明仍是旧模板移动端默认」的非阻断提示。
3625
+ *
3626
+ * @param sourceLabel - 提示前缀,默认指向开发者声明路径。
3627
+ * @returns 面向开发者的单行提示;调用方负责经 Vite 插件 `warn` 或等价日志通道输出,不得据此阻断构建。
3628
+ */
3629
+ function getLegacyMobileTemplatePlatformsNotice(sourceLabel = 'package.json#heybox.platforms') {
3630
+ return `${sourceLabel} 仍是旧模板的移动端默认声明(android / ios / ohos)。hb-sdk 现已支持桌面端 windows / macos,如项目已完成适配请补充声明;只做移动端可忽略本提示。`;
3631
+ }
3604
3632
  function validateMiniappPackageVersionForBuild(version) {
3605
3633
  return validateMiniappManifestVersion(version, 'package.json.version');
3606
3634
  }
@@ -13313,7 +13341,9 @@ const devSnapshotStores = devSnapshotRegistry[devSnapshotStoreKey];
13313
13341
  *
13314
13342
  * - `version`:发布版本;trim 后必须是完整 SemVer,可含 prerelease,不允许 build metadata 或模板值
13315
13343
  * `0.0.0`;
13316
- * - `heybox.platforms`:项目实际承诺适配的非空、无重复平台 allowlist;输出按平台词表规范排序;
13344
+ * - `heybox.platforms`:项目实际承诺适配的非空、无重复平台 allowlist;输出按平台词表规范排序。
13345
+ * 声明仍停留在旧模板移动端默认(`android`、`ios`、`ohos`)时,`serve` 与 `build` 都只输出
13346
+ * 一条非阻断提示,不影响构建结果;
13317
13347
  * - `heybox.permissions`:严格权限对象;未知权限/字段或错误类型会失败,`enabled: false` 项不写入
13318
13348
  * Manifest。旧版本缺失声明时可能警告,新硬切版本会失败;
13319
13349
  * - `heybox.window`:可选的新 PC 开窗初值、最小尺寸和 `resizable` 声明;省略时不写该字段;
@@ -13429,6 +13459,18 @@ function miniappManifest() {
13429
13459
  hmrWebSocketUrl = resolveHmrWebSocketUrl(resolved);
13430
13460
  },
13431
13461
  configureServer(server) {
13462
+ // 开发期只对「仍是旧模板移动端默认」的声明做非阻断提示。声明缺失或非法一律交由
13463
+ // build / remote deploy 链路拒绝,因此这里只容忍读取阶段的异常,保持 hb-sdk dev
13464
+ // 既有的启动语义;warn 调用留在 try 之外,避免把插件上下文错误一起吞掉。
13465
+ let legacyMobileTemplate = false;
13466
+ try {
13467
+ legacyMobileTemplate = isLegacyMobileTemplatePlatforms(readMiniappPlatformsFromPackageJson(root));
13468
+ }
13469
+ catch {
13470
+ /* package.json#heybox.platforms 缺失或非法时不提示。 */
13471
+ }
13472
+ if (legacyMobileTemplate)
13473
+ this.warn(getLegacyMobileTemplatePlatformsNotice());
13432
13474
  let unregisterLogs;
13433
13475
  const registerLogs = () => {
13434
13476
  const address = server.httpServer?.address();
@@ -13683,6 +13725,8 @@ function miniappManifest() {
13683
13725
  const version = validateMiniappPackageVersionForBuild(readMiniappVersionFromPackageJson(root));
13684
13726
  const sdkVersion = resolveSdkVersion();
13685
13727
  const platforms = readMiniappPlatformsFromPackageJson(root);
13728
+ if (isLegacyMobileTemplatePlatforms(platforms))
13729
+ this.warn(getLegacyMobileTemplatePlatformsNotice());
13686
13730
  const parsedPermissions = readMiniappPermissionsFromPackageJson(root, sdkVersion);
13687
13731
  const windowDeclaration = readMiniappWindowFromPackageJson(root);
13688
13732
  const companionConfig = readMiniappCompanionsFromPackageJson(root);
package/dist/vite.esm.js CHANGED
@@ -2945,7 +2945,7 @@ async function ensureBasicInfoDirectory(rootPath, relative) {
2945
2945
  /** 构建时替换为当前发布包的实际版本。 */
2946
2946
  const HB_SDK_VERSION = typeof undefined === 'string'
2947
2947
  ? undefined
2948
- : '0.8.3-alpha.5';
2948
+ : '0.8.3-alpha.6';
2949
2949
 
2950
2950
  /**
2951
2951
  * iframe 与调试台页面的开发期 console 捕获转发。
@@ -3598,6 +3598,34 @@ const MINIAPP_PLATFORM_VALUES = ['android', 'ios', 'ohos', 'windows', 'macos', '
3598
3598
  const MINIAPP_WINDOW_SIZE_MAX = 16_384;
3599
3599
  const MINIAPP_WINDOW_NUMBER_FIELDS = ['defaultWidth', 'defaultHeight', 'minWidth', 'minHeight'];
3600
3600
  const MINIAPP_WINDOW_ALLOWED_FIELDS = [...MINIAPP_WINDOW_NUMBER_FIELDS, 'resizable'];
3601
+ /**
3602
+ * 旧版模板的移动端默认声明。
3603
+ *
3604
+ * @remarks
3605
+ * 这不是平台词表的子集定义,也不参与平台解析;它只用于识别「从旧模板创建后从未调整过
3606
+ * `platforms`」的项目,以便在其构建/调试时给出非阻断提醒。刻意只做移动端的项目只要不恰好
3607
+ * 等于这组声明就不会被提醒。
3608
+ */
3609
+ const MINIAPP_LEGACY_MOBILE_TEMPLATE_PLATFORM_VALUES = ['android', 'ios', 'ohos'];
3610
+ /**
3611
+ * 判断平台声明是否仍是旧版模板的移动端默认值。
3612
+ *
3613
+ * @param platforms - 待判断的平台数组;不要求预先规范化顺序,重复项会被长度校验挡下。
3614
+ * @returns 恰好包含 `android`、`ios`、`ohos` 三个平台时返回 `true`,其余组合返回 `false`。
3615
+ */
3616
+ function isLegacyMobileTemplatePlatforms(platforms) {
3617
+ return (platforms.length === MINIAPP_LEGACY_MOBILE_TEMPLATE_PLATFORM_VALUES.length &&
3618
+ MINIAPP_LEGACY_MOBILE_TEMPLATE_PLATFORM_VALUES.every((platform) => platforms.includes(platform)));
3619
+ }
3620
+ /**
3621
+ * 生成「平台声明仍是旧模板移动端默认」的非阻断提示。
3622
+ *
3623
+ * @param sourceLabel - 提示前缀,默认指向开发者声明路径。
3624
+ * @returns 面向开发者的单行提示;调用方负责经 Vite 插件 `warn` 或等价日志通道输出,不得据此阻断构建。
3625
+ */
3626
+ function getLegacyMobileTemplatePlatformsNotice(sourceLabel = 'package.json#heybox.platforms') {
3627
+ return `${sourceLabel} 仍是旧模板的移动端默认声明(android / ios / ohos)。hb-sdk 现已支持桌面端 windows / macos,如项目已完成适配请补充声明;只做移动端可忽略本提示。`;
3628
+ }
3601
3629
  function validateMiniappPackageVersionForBuild(version) {
3602
3630
  return validateMiniappManifestVersion(version, 'package.json.version');
3603
3631
  }
@@ -13310,7 +13338,9 @@ const devSnapshotStores = devSnapshotRegistry[devSnapshotStoreKey];
13310
13338
  *
13311
13339
  * - `version`:发布版本;trim 后必须是完整 SemVer,可含 prerelease,不允许 build metadata 或模板值
13312
13340
  * `0.0.0`;
13313
- * - `heybox.platforms`:项目实际承诺适配的非空、无重复平台 allowlist;输出按平台词表规范排序;
13341
+ * - `heybox.platforms`:项目实际承诺适配的非空、无重复平台 allowlist;输出按平台词表规范排序。
13342
+ * 声明仍停留在旧模板移动端默认(`android`、`ios`、`ohos`)时,`serve` 与 `build` 都只输出
13343
+ * 一条非阻断提示,不影响构建结果;
13314
13344
  * - `heybox.permissions`:严格权限对象;未知权限/字段或错误类型会失败,`enabled: false` 项不写入
13315
13345
  * Manifest。旧版本缺失声明时可能警告,新硬切版本会失败;
13316
13346
  * - `heybox.window`:可选的新 PC 开窗初值、最小尺寸和 `resizable` 声明;省略时不写该字段;
@@ -13426,6 +13456,18 @@ function miniappManifest() {
13426
13456
  hmrWebSocketUrl = resolveHmrWebSocketUrl(resolved);
13427
13457
  },
13428
13458
  configureServer(server) {
13459
+ // 开发期只对「仍是旧模板移动端默认」的声明做非阻断提示。声明缺失或非法一律交由
13460
+ // build / remote deploy 链路拒绝,因此这里只容忍读取阶段的异常,保持 hb-sdk dev
13461
+ // 既有的启动语义;warn 调用留在 try 之外,避免把插件上下文错误一起吞掉。
13462
+ let legacyMobileTemplate = false;
13463
+ try {
13464
+ legacyMobileTemplate = isLegacyMobileTemplatePlatforms(readMiniappPlatformsFromPackageJson(root));
13465
+ }
13466
+ catch {
13467
+ /* package.json#heybox.platforms 缺失或非法时不提示。 */
13468
+ }
13469
+ if (legacyMobileTemplate)
13470
+ this.warn(getLegacyMobileTemplatePlatformsNotice());
13429
13471
  let unregisterLogs;
13430
13472
  const registerLogs = () => {
13431
13473
  const address = server.httpServer?.address();
@@ -13680,6 +13722,8 @@ function miniappManifest() {
13680
13722
  const version = validateMiniappPackageVersionForBuild(readMiniappVersionFromPackageJson(root));
13681
13723
  const sdkVersion = resolveSdkVersion();
13682
13724
  const platforms = readMiniappPlatformsFromPackageJson(root);
13725
+ if (isLegacyMobileTemplatePlatforms(platforms))
13726
+ this.warn(getLegacyMobileTemplatePlatformsNotice());
13683
13727
  const parsedPermissions = readMiniappPermissionsFromPackageJson(root, sdkVersion);
13684
13728
  const windowDeclaration = readMiniappWindowFromPackageJson(root);
13685
13729
  const companionConfig = readMiniappCompanionsFromPackageJson(root);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heybox/hb-sdk",
3
- "version": "0.8.3-alpha.5",
3
+ "version": "0.8.3-alpha.6",
4
4
  "sideEffects": [
5
5
  "./src/index.ts",
6
6
  "./src/core/singleton.ts",
@@ -65,7 +65,7 @@
65
65
  "undici": "^7.28.0",
66
66
  "ws": "^8.18.0",
67
67
  "sharp": "^0.34.5",
68
- "@heybox/hb-sdk-protocol": "0.8.3-alpha.5"
68
+ "@heybox/hb-sdk-protocol": "0.8.3-alpha.6"
69
69
  },
70
70
  "peerDependencies": {
71
71
  "vite": ">=5"
@@ -116,13 +116,13 @@
116
116
  "vue-tsc": "^3.3.7",
117
117
  "vite": "^8.0.12",
118
118
  "vitest": "^3.2.4",
119
- "@heybox-domain/heybox-theme": "~0.1.0",
120
119
  "@heybox-domain/heybox-vue3-ui": "~0.1.0",
120
+ "@heybox-domain/heybox-theme": "~0.1.0",
121
121
  "@heybox/hb-api": "~1.28.9",
122
- "@heybox/runtime": "~0.2.0",
123
- "@heybox/runtime-transport-fetch": "~0.2.0",
122
+ "@heybox/hb-sdk-runtime": "~0.8.3-alpha.6",
124
123
  "@heybox/runtime-policy": "~0.2.0",
125
- "@heybox/hb-sdk-runtime": "~0.8.3-alpha.5"
124
+ "@heybox/runtime-transport-fetch": "~0.2.0",
125
+ "@heybox/runtime": "~0.2.0"
126
126
  },
127
127
  "publishConfig": {
128
128
  "registry": "https://registry.npmjs.org/",
package/skill/skill.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "hb-sdk",
3
- "skillVersion": "0.8.3-alpha.5+skill.aa24d6656331",
3
+ "skillVersion": "0.8.3-alpha.6+skill.aa24d6656331",
4
4
  "sdk": {
5
5
  "package": "@heybox/hb-sdk",
6
- "version": "0.8.3-alpha.5",
7
- "compatibility": "0.8.3-alpha.5"
6
+ "version": "0.8.3-alpha.6",
7
+ "compatibility": "0.8.3-alpha.6"
8
8
  },
9
9
  "distribution": {
10
10
  "type": "npm",
11
11
  "package": "@heybox/hb-sdk",
12
- "version": "0.8.3-alpha.5",
12
+ "version": "0.8.3-alpha.6",
13
13
  "path": "skill"
14
14
  },
15
15
  "integrity": "sha256-aa24d6656331cbad8f6aae7735258a49d7f1a82f6e900415de53a1b93a30ddb8"
@@ -13,13 +13,21 @@ export type MiniappPlatform = (typeof MINIAPP_PLATFORM_VALUES)[number];
13
13
  /** 平台声明硬切点:产物 hb-sdk 版本达到该值时,必须显式声明非空 `platforms`。 */
14
14
  export declare const MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION = "0.9.0";
15
15
  /**
16
- * 历史移动端兼容平台集合。
16
+ * 历史兜底平台集合。
17
17
  *
18
18
  * @remarks
19
19
  * 仅在 `sdkVersion` 缺失或 SemVer precedence 低于 `MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION`,
20
20
  * 且 Manifest 完全没有 `platforms` 字段时生效,不是任何非法声明的兜底。
21
+ *
22
+ * 不含 `linux`:客户端暂无 linux 基线,后端 `x_os_type` 也不映射该平台,声明了也进不了运行门禁。
23
+ */
24
+ export declare const MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES: readonly ["android", "ios", "ohos", "windows", "macos"];
25
+ /**
26
+ * 历史兜底平台集合的旧名称。
27
+ *
28
+ * @deprecated Since 0.8.3. 请改用 {@link MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES},本别名取值与之一致,仅为不破坏既有 import 保留。
21
29
  */
22
- export declare const MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES: readonly ["android", "ios", "ohos"];
30
+ export declare const MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES: readonly ["android", "ios", "ohos", "windows", "macos"];
23
31
  /** 窗口尺寸字段的脏值兜底上限;真正的上限是宿主侧显示器 workArea。 */
24
32
  export declare const MINIAPP_WINDOW_SIZE_MAX = 16384;
25
33
  /**
@@ -50,6 +58,20 @@ export interface MiniappWindowDeclaration {
50
58
  */
51
59
  export declare const MINIAPP_DESKTOP_PLATFORM_VALUES: readonly ["windows", "macos", "linux"];
52
60
  export declare function hasMiniappDesktopPlatform(platforms: readonly MiniappPlatform[] | undefined): boolean;
61
+ /**
62
+ * 判断平台声明是否仍是旧版模板的移动端默认值。
63
+ *
64
+ * @param platforms - 待判断的平台数组;不要求预先规范化顺序,重复项会被长度校验挡下。
65
+ * @returns 恰好包含 `android`、`ios`、`ohos` 三个平台时返回 `true`,其余组合返回 `false`。
66
+ */
67
+ export declare function isLegacyMobileTemplatePlatforms(platforms: readonly MiniappPlatform[]): boolean;
68
+ /**
69
+ * 生成「平台声明仍是旧模板移动端默认」的非阻断提示。
70
+ *
71
+ * @param sourceLabel - 提示前缀,默认指向开发者声明路径。
72
+ * @returns 面向开发者的单行提示;调用方负责经 Vite 插件 `warn` 或等价日志通道输出,不得据此阻断构建。
73
+ */
74
+ export declare function getLegacyMobileTemplatePlatformsNotice(sourceLabel?: string): string;
53
75
  export interface MiniappManifest {
54
76
  [key: string]: unknown;
55
77
  name?: string;
@@ -140,7 +162,10 @@ export declare function areMiniappPlatformsEqual(left: readonly MiniappPlatform[
140
162
  * - `explicit`:Manifest 自身拥有合法、非空的 `platforms` 字段;无论 sdkVersion 是否低于
141
163
  * `0.9.0`,显式声明都优先且不会被兼容默认值覆盖。
142
164
  * - `legacy_mobile_default`:Manifest 完全没有 `platforms` 字段,且 sdkVersion 缺失/空白或
143
- * SemVer precedence 低于 `0.9.0`;最终按 `android`、`ios`、`ohos` 历史集合兼容。
165
+ * SemVer precedence 低于 `0.9.0`;最终按 {@link MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES} 兜底。
166
+ *
167
+ * 字面量 `legacy_mobile_default` 已作为详情接口 wire 值下发、并持久化进后端平台快照;
168
+ * 兜底集合虽已由移动端三件套扩为五平台,这里仍保持原字符串不变,避免存储与协议迁移。
144
169
  */
145
170
  export type MiniappPlatformPolicy = 'explicit' | 'legacy_mobile_default';
146
171
  /**
@@ -149,7 +174,7 @@ export type MiniappPlatformPolicy = 'explicit' | 'legacy_mobile_default';
149
174
  * @remarks
150
175
  * 返回对象通过 `Object.freeze()` 冻结,字段和数组在类型层也都是只读值。调用方应把其中
151
176
  * 的数组视为不可变集合,不要修改、重新排序或自行合并 fallback。`platformsDeclared` 与
152
- * `policy` 用于保留“显式三移动端”与“历史默认三移动端”的来源差异。
177
+ * `policy` 用于保留“显式声明”与“历史缺声明默认”的来源差异。
153
178
  */
154
179
  export interface MiniappPlatformResolution {
155
180
  /**
@@ -160,11 +185,11 @@ export interface MiniappPlatformResolution {
160
185
  readonly declared: readonly MiniappPlatform[];
161
186
  /**
162
187
  * 最终用于展示、校验和运行判断的平台集合。`explicit` 时与规范化后的 `declared` 相同;
163
- * `legacy_mobile_default` 时固定为 `android`、`ios`、`ohos`。
188
+ * `legacy_mobile_default` 时固定为 {@link MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES}。
164
189
  */
165
190
  readonly effective: readonly MiniappPlatform[];
166
191
  /**
167
- * Manifest 是否拥有经过校验的显式 `platforms` 字段。显式声明三移动端时为 `true`,
192
+ * Manifest 是否拥有经过校验的显式 `platforms` 字段。显式声明时为 `true`,
168
193
  * 历史 fallback 得到相同 effective 集合时仍为 `false`。
169
194
  */
170
195
  readonly platformsDeclared: boolean;
@@ -180,7 +205,7 @@ export interface MiniappPlatformResolution {
180
205
  * @param manifest - 待解析的不可信 Manifest。必须是非 `null`、非数组的对象;函数只读取其
181
206
  * 自有 `platforms` 字段,其他字段不参与平台解析。
182
207
  * @returns 冻结的 {@link MiniappPlatformResolution}。显式声明返回规范排序后的 declared /
183
- * effective;历史兼容返回空 declared 与 Android/iOS/OHOS effective。
208
+ * effective;历史兼容返回空 declared 与历史兜底平台集合 effective。
184
209
  * @throws `manifest` 不是对象时抛出;非空 sdkVersion 不完整、含 `v` 前缀或 build metadata、
185
210
  * 不是 canonical SemVer 时抛出;sdkVersion precedence 达到 `0.9.0` 但缺少 platforms 时抛出;
186
211
  * 显式 platforms 不是非空数组、包含未知/非字符串/重复平台时抛出。
@@ -228,11 +253,11 @@ export interface MiniappPlatformResolution {
228
253
  * // }
229
254
  *
230
255
  * const legacy = resolveMiniappManifestPlatforms('0.9.0-alpha.1', {})
231
- * console.log(legacy.effective) // ['android', 'ios', 'ohos']
256
+ * console.log(legacy.effective) // ['android', 'ios', 'ohos', 'windows', 'macos']
232
257
  * ```
233
258
  *
234
259
  * @see {@link MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION}
235
- * @see {@link MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES}
260
+ * @see {@link MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES}
236
261
  * @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/miniapp-publish/functions/isValidVersion | isValidVersion}
237
262
  * @see {@link https://docs.xiaoheihe.cn/hb_sdk/reference/symbols/vite/functions/miniappManifest | miniappManifest}
238
263
  */
@@ -54,7 +54,7 @@ export declare const UPDATE_SQUARE_DISPLAY_API_PATH = "/mall/developer/user_mini
54
54
  export declare const LIST_USER_MINIPROGRAM_VERSION_API_PATH = "/mall/developer/user_miniprogram/version/list";
55
55
  export { parseMiniappCategory, type MiniappCategory } from '../miniapp-manifest/category';
56
56
  export { isValidMiniappManifestVersion as isValidVersion } from '../miniapp-manifest/schema';
57
- export { MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION, resolveMiniappManifestPlatforms, type MiniappPlatformPolicy, type MiniappPlatformResolution, } from '../miniapp-manifest/schema';
57
+ export { MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES, MINIAPP_LEGACY_MOBILE_PLATFORM_VALUES, MINIAPP_PLATFORM_HARD_CUT_SDK_VERSION, resolveMiniappManifestPlatforms, type MiniappPlatformPolicy, type MiniappPlatformResolution, } from '../miniapp-manifest/schema';
58
58
  export { parseMiniappBindAppIds, type ParseMiniappBindAppIdsOptions } from '../miniapp-manifest/bindings';
59
59
  /**
60
60
  * 将扫描到的相对路径转换为统一的 `/` 分隔形式。
@@ -18,7 +18,7 @@ export interface MiniappManifestPlugin {
18
18
  /** 记录 Vite 根目录、输出目录、运行命令和开发期 HMR 地址。 */
19
19
  configResolved: (resolved: MiniappManifestResolvedConfig) => void;
20
20
  /** 为 `hb-sdk dev` 注册本机调试能力;生产构建不会创建开发服务。 */
21
- configureServer: (server: MiniappManifestDevServer) => void;
21
+ configureServer: (this: MiniappManifestPluginContext, server: MiniappManifestDevServer) => void;
22
22
  /** 保留 Rollup/Vite 已报告的构建错误,避免产物校验用二次错误掩盖原始原因。 */
23
23
  buildEnd: (error?: Error) => void;
24
24
  /** 向入口 HTML 注入 Runtime Gate 和平台 CSP;serve 时还会加入受限的 HMR 与日志调试支持。 */
@@ -134,7 +134,9 @@ export declare const HB_SDK_MINI_PROGRAM_MANIFEST_ACCESS_TOKEN_ENV = "HB_SDK_MIN
134
134
  *
135
135
  * - `version`:发布版本;trim 后必须是完整 SemVer,可含 prerelease,不允许 build metadata 或模板值
136
136
  * `0.0.0`;
137
- * - `heybox.platforms`:项目实际承诺适配的非空、无重复平台 allowlist;输出按平台词表规范排序;
137
+ * - `heybox.platforms`:项目实际承诺适配的非空、无重复平台 allowlist;输出按平台词表规范排序。
138
+ * 声明仍停留在旧模板移动端默认(`android`、`ios`、`ohos`)时,`serve` 与 `build` 都只输出
139
+ * 一条非阻断提示,不影响构建结果;
138
140
  * - `heybox.permissions`:严格权限对象;未知权限/字段或错误类型会失败,`enabled: false` 项不写入
139
141
  * Manifest。旧版本缺失声明时可能警告,新硬切版本会失败;
140
142
  * - `heybox.window`:可选的新 PC 开窗初值、最小尺寸和 `resizable` 声明;省略时不写该字段;