@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.
- package/CHANGELOG.md +14 -0
- package/README.md +3 -3
- package/dist/cli-chunks/{build-8dIKgG1v.cjs → build-BRLdyZ76.cjs} +5 -5
- package/dist/cli-chunks/{context-DSNBFwsG.cjs → context-CbiL9O6w.cjs} +2 -2
- package/dist/cli-chunks/{create-DmNfBoq7.cjs → create-B7kL5QkJ.cjs} +1 -1
- package/dist/cli-chunks/{dev-C15G1TxE.cjs → dev-DvH2_I1Y.cjs} +9 -9
- package/dist/cli-chunks/{doctor-r6m7pK1R.cjs → doctor-DMqILTR4.cjs} +1 -1
- package/dist/cli-chunks/{index-B6lVqj5W.cjs → index-BVylxPGU.cjs} +15 -15
- package/dist/cli-chunks/{index-CsQ1g-cL.cjs → index-D8AT5s4x.cjs} +2 -2
- package/dist/cli-chunks/{index.esm-DG1EUOV-.cjs → index.esm-Cwh5ei9-.cjs} +7 -7
- package/dist/cli-chunks/{login-DOUitUrc.cjs → login-BHAg3-HY.cjs} +2 -2
- package/dist/cli-chunks/{project-vite-C-YGhyHJ.cjs → project-vite-AGDPqVSX.cjs} +1 -1
- package/dist/cli-chunks/{remote-i3QX7A-u.cjs → remote-jgmCl_OP.cjs} +7 -7
- package/dist/cli-chunks/{runtime-gate-hlz0xgg8.cjs → runtime-gate-DjTZ46xz.cjs} +1 -1
- package/dist/cli-chunks/{runtime-permission-env-DNXaBBHz.cjs → runtime-permission-env-Bjlpv6zh.cjs} +1 -1
- package/dist/cli-chunks/{session-u4BpZqwE.cjs → session-DnS1mH8i.cjs} +1 -1
- package/dist/cli-chunks/{skill-DAOCq0eg.cjs → skill-CUnigEtN.cjs} +2 -2
- package/dist/cli-chunks/{version-MrIy1W5p.cjs → version-CNl684Yw.cjs} +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/devtools/browser-dev-host/assets/{browser-dev-host-CJDZz8aw.js → browser-dev-host-D2fH-vdb.js} +1 -1
- package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-BbRQb08Y.js → desktop-app-launch-38leCDIj.js} +1 -1
- package/dist/devtools/browser-dev-host/assets/{index-8N4og21f.js → index-Dui3LdcO.js} +3 -3
- package/dist/devtools/browser-dev-host/index.html +2 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/miniapp-publish.cjs.js +21 -6
- package/dist/miniapp-publish.esm.js +21 -7
- package/dist/templates/vanilla-vite-js/README.md.ejs +1 -1
- package/dist/templates/vanilla-vite-js/package.json.ejs +1 -1
- package/dist/vite.cjs.js +46 -2
- package/dist/vite.esm.js +46 -2
- package/package.json +6 -6
- package/skill/skill.json +4 -4
- package/types/miniapp-manifest/schema.d.ts +34 -9
- package/types/miniapp-publish/index.d.ts +1 -1
- 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-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/desktop-app-launch-
|
|
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.
|
|
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.
|
|
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 =
|
|
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
|
|
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
|
|
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:
|
|
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 =
|
|
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
|
|
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
|
|
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:
|
|
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`
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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/
|
|
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.
|
|
3
|
+
"skillVersion": "0.8.3-alpha.6+skill.aa24d6656331",
|
|
4
4
|
"sdk": {
|
|
5
5
|
"package": "@heybox/hb-sdk",
|
|
6
|
-
"version": "0.8.3-alpha.
|
|
7
|
-
"compatibility": "0.8.3-alpha.
|
|
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.
|
|
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`;最终按
|
|
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` 时固定为
|
|
188
|
+
* `legacy_mobile_default` 时固定为 {@link MINIAPP_LEGACY_DEFAULT_PLATFORM_VALUES}。
|
|
164
189
|
*/
|
|
165
190
|
readonly effective: readonly MiniappPlatform[];
|
|
166
191
|
/**
|
|
167
|
-
* Manifest 是否拥有经过校验的显式 `platforms`
|
|
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
|
|
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
|
|
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
|
* 将扫描到的相对路径转换为统一的 `/` 分隔形式。
|
package/types/vite/index.d.ts
CHANGED
|
@@ -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` 声明;省略时不写该字段;
|