@heybox/hb-sdk 0.8.3-alpha.1 → 0.8.3-alpha.2

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 (38) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +2 -0
  3. package/dist/cli-chunks/{build-DUtuGfHf.cjs → build-lnIkF-rf.cjs} +11 -7
  4. package/dist/cli-chunks/{context-DebQqIXh.cjs → context-DAdousk7.cjs} +2 -2
  5. package/dist/cli-chunks/{create-BYQb0ptI.cjs → create-BrH3TKd9.cjs} +1 -1
  6. package/dist/cli-chunks/{dev-ILhZhsHN.cjs → dev-Dazm6mjQ.cjs} +9 -9
  7. package/dist/cli-chunks/{doctor-KSe4lGEv.cjs → doctor-Dqju9vZQ.cjs} +1 -1
  8. package/dist/cli-chunks/{index-PKu0Zv8R.cjs → index-Cscd6hCr.cjs} +15 -15
  9. package/dist/cli-chunks/{index-IBIMsIDt.cjs → index-ZxzVU017.cjs} +2 -2
  10. package/dist/cli-chunks/{index.esm-Sczt7W37.cjs → index.esm-BPF3ML9J.cjs} +7 -7
  11. package/dist/cli-chunks/{login-i8NtyI10.cjs → login-CR8vCqdL.cjs} +2 -2
  12. package/dist/cli-chunks/{project-vite-BU2-_Krd.cjs → project-vite-C0fvgvWp.cjs} +1 -1
  13. package/dist/cli-chunks/{remote-B-f9D0yj.cjs → remote-CZBw05sT.cjs} +11 -7
  14. package/dist/cli-chunks/{runtime-gate-xuikbF7W.cjs → runtime-gate-CCyvzllG.cjs} +1 -1
  15. package/dist/cli-chunks/{runtime-permission-env-Bl2jhPQm.cjs → runtime-permission-env-v9THnMre.cjs} +20 -1
  16. package/dist/cli-chunks/{session-CySUtnTY.cjs → session-UhAizNH0.cjs} +1 -1
  17. package/dist/cli-chunks/{skill-BN_mjQ_T.cjs → skill-BxL6KOYN.cjs} +2 -2
  18. package/dist/cli-chunks/{version-BTkX3iYg.cjs → version-B-iUWMkU.cjs} +1 -1
  19. package/dist/cli.cjs +1 -1
  20. package/dist/devtools/browser-dev-host/assets/{browser-dev-host-BhsV0yKM.js → browser-dev-host-BKVURp-m.js} +1 -1
  21. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-DulYZqY1.js → desktop-app-launch-B1QBmFTk.js} +1 -1
  22. package/dist/devtools/browser-dev-host/assets/{index-BOHssdFQ.js → index-DWFHHorU.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 +15 -0
  27. package/dist/miniapp-publish.esm.js +15 -1
  28. package/dist/templates/vanilla-vite-js/README.md.ejs +2 -0
  29. package/dist/templates/vanilla-vite-js/package.json.ejs +1 -0
  30. package/dist/vite.cjs.js +20 -1
  31. package/dist/vite.esm.js +20 -1
  32. package/package.json +5 -5
  33. package/skill/skill.json +4 -4
  34. package/types/miniapp-manifest/category.d.ts +4 -0
  35. package/types/miniapp-manifest/index.d.ts +1 -0
  36. package/types/miniapp-manifest/node.d.ts +1 -0
  37. package/types/miniapp-manifest/schema.d.ts +3 -0
  38. package/types/miniapp-publish/index.d.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,17 @@
2
2
 
3
3
  本文件随 `@heybox/hb-sdk` npm 包公开分发,只记录外部小程序开发者可观察到的变化。
4
4
 
5
+ ## 0.8.3-alpha.2
6
+
7
+ ### 新增能力
8
+
9
+ - 支持在 `package.json#heybox.category` 声明小程序类别(`tool`、`game`、`other`);构建写入 Manifest,CLI 与 Open 提审自动采用,类别随版本审核、发布生效。
10
+
11
+ ### 必须操作
12
+
13
+ - 新上传版本(含已有小程序更新)必须声明类别;缺少类别的项目需补配置后重新构建上传。开发者提审页不展示或提供手动选择类别,也不发送独立的 `category` 参数。
14
+ - `manifest.category` 是本版本发布合同的硬切字段。早于本版本构建、且缺少类别的历史产物不能直接重新上传或提审;旧项目必须在 `package.json#heybox.category` 补齐类别并使用当前 SDK 重新构建。已发布版本不受影响,COA 运营维护存量分类的入口继续保留。
15
+
5
16
  ## 0.8.3-alpha.1
6
17
 
7
18
  ### 问题修复
package/README.md CHANGED
@@ -120,6 +120,8 @@ async function revokeAuthorizationFromUserAction() {
120
120
  }
121
121
  ```
122
122
 
123
+ 小程序类别需在 `package.json#heybox.category` 声明为 `tool`、`game` 或 `other`,构建后写入 Manifest,CLI/Open 提审自动采用,发布后生效。开发者提审页不展示或提供手动选择类别;新上传版本(含已有小程序更新)必须声明,缺少类别的项目须补配置后重新构建上传,详见 [小程序类别](https://docs.xiaoheihe.cn/hb_sdk/guide/cli#小程序类别)。
124
+
123
125
  `bindAppIds` 只接受规范十进制字符串(形如 `/^[1-9]\d*$/`,拒绝前导零、空串与非数字),每项必须是正 int32(最大 `2147483647`),数组内不允许重复,最多 20 项,并按数值升序写入 Manifest。它不是权限,构建不联网;游戏真实性在远端预检和提审时校验。字段缺失或 `[]` 都表示清空绑定。PC 展示仍受 `platforms` 过滤。
124
126
 
125
127
  再启用构建插件:
@@ -3,13 +3,13 @@
3
3
  var fs$1 = require('node:fs');
4
4
  var fs = require('node:fs/promises');
5
5
  var path = require('node:path');
6
- var runtimePermissionEnv = require('./runtime-permission-env-Bl2jhPQm.cjs');
6
+ var runtimePermissionEnv = require('./runtime-permission-env-v9THnMre.cjs');
7
7
  require('node:crypto');
8
8
  require('node:zlib');
9
- var runtimeGate = require('./runtime-gate-xuikbF7W.cjs');
10
- var index = require('./index-PKu0Zv8R.cjs');
11
- var projectVite = require('./project-vite-BU2-_Krd.cjs');
12
- require('./version-BTkX3iYg.cjs');
9
+ var runtimeGate = require('./runtime-gate-CCyvzllG.cjs');
10
+ var index = require('./index-Cscd6hCr.cjs');
11
+ var projectVite = require('./project-vite-C0fvgvWp.cjs');
12
+ require('./version-B-iUWMkU.cjs');
13
13
  require('node:async_hooks');
14
14
  require('node:module');
15
15
  require('path');
@@ -36,6 +36,7 @@ async function runBuildCommand(_options = {}, runtime = {}) {
36
36
  const declaredPlatforms = runtimePermissionEnv.readMiniappPlatformsFromPackageJson(projectRoot);
37
37
  const declaredWindow = runtimePermissionEnv.readMiniappWindowFromPackageJson(projectRoot);
38
38
  const declaredBindAppIds = runtimePermissionEnv.readMiniappBindAppIdsFromPackageJson(projectRoot);
39
+ const declaredCategory = runtimePermissionEnv.readMiniappCategoryFromPackageJson(projectRoot);
39
40
  runtimePermissionEnv.readMiniappPermissionsFromPackageJson(projectRoot, runtimePermissionEnv.resolveMiniappSdkVersion());
40
41
  await fs.rm(distDir, { force: true, recursive: true });
41
42
  try {
@@ -54,7 +55,7 @@ async function runBuildCommand(_options = {}, runtime = {}) {
54
55
  write: true,
55
56
  },
56
57
  }), { successText: 'Vite 构建完成' });
57
- const result = await validateBuildOutput(projectRoot, logger, declaredPlatforms, declaredWindow, declaredBindAppIds);
58
+ const result = await validateBuildOutput(projectRoot, logger, declaredPlatforms, declaredWindow, declaredBindAppIds, declaredCategory);
58
59
  logger.success(`构建完成: dist/ | manifest version ${result.version} | sdkVersion ${result.sdkVersion} | 待上传文件 ${result.fileCount} 个 | ${formatSize(result.totalBytes)}`);
59
60
  return result;
60
61
  }, env);
@@ -83,7 +84,7 @@ function createFixedBuildOutputPlugin(projectRoot) {
83
84
  },
84
85
  };
85
86
  }
86
- async function validateBuildOutput(projectRoot, logger, declaredPlatforms, declaredWindow, declaredBindAppIds) {
87
+ async function validateBuildOutput(projectRoot, logger, declaredPlatforms, declaredWindow, declaredBindAppIds, declaredCategory) {
87
88
  const distDir = path.join(projectRoot, 'dist');
88
89
  const entryHtmlPath = path.join(distDir, 'index.html');
89
90
  const manifestPath = path.join(distDir, 'manifest.json');
@@ -104,6 +105,9 @@ async function validateBuildOutput(projectRoot, logger, declaredPlatforms, decla
104
105
  const validated = runtimePermissionEnv.validateMiniappManifestForDeploy(manifest);
105
106
  const { platforms, sdkVersion, version, permissions, window } = validated;
106
107
  const bindAppIds = validated.bindAppIds ?? [];
108
+ if (validated.category !== declaredCategory) {
109
+ throw new Error('dist/manifest.json.category 与 package.json#heybox.category 不一致,请重新 build');
110
+ }
107
111
  if (!runtimePermissionEnv.areMiniappPlatformsEqual(platforms, declaredPlatforms)) {
108
112
  throw new Error('dist/manifest.json.platforms 与 package.json#heybox.platforms 不一致,请重新 build');
109
113
  }
@@ -3,10 +3,10 @@
3
3
  var node_crypto = require('node:crypto');
4
4
  var fs = require('node:fs/promises');
5
5
  var path = require('node:path');
6
- var runtimePermissionEnv = require('./runtime-permission-env-Bl2jhPQm.cjs');
6
+ var runtimePermissionEnv = require('./runtime-permission-env-v9THnMre.cjs');
7
7
  var fs$1 = require('node:fs');
8
8
  var sharp = require('sharp');
9
- var session = require('./session-CySUtnTY.cjs');
9
+ var session = require('./session-UhAizNH0.cjs');
10
10
 
11
11
  async function inspectBasicInfoImage(bytes, sourcePath, kind) {
12
12
  const inspected = await inspectDecodedBasicInfoImage(bytes, kind);
@@ -5,7 +5,7 @@ var fs = require('node:fs/promises');
5
5
  var path = require('node:path');
6
6
  var require$$0 = require('fs');
7
7
  var require$$1 = require('path');
8
- var index = require('./index-PKu0Zv8R.cjs');
8
+ var index = require('./index-Cscd6hCr.cjs');
9
9
  require('node:module');
10
10
  require('os');
11
11
  require('node:crypto');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var context = require('./context-DebQqIXh.cjs');
3
+ var context = require('./context-DAdousk7.cjs');
4
4
  var node_crypto = require('node:crypto');
5
5
  var fs = require('node:fs');
6
6
  var os = require('node:os');
@@ -9,16 +9,16 @@ var net = require('node:net');
9
9
  var promises = require('node:dns/promises');
10
10
  var node_http = require('node:http');
11
11
  var node_module = require('node:module');
12
- var runtimePermissionEnv = require('./runtime-permission-env-Bl2jhPQm.cjs');
12
+ var runtimePermissionEnv = require('./runtime-permission-env-v9THnMre.cjs');
13
13
  var undici = require('undici');
14
14
  var fs$1 = require('node:fs/promises');
15
- var index = require('./index-PKu0Zv8R.cjs');
15
+ var index = require('./index-Cscd6hCr.cjs');
16
16
  var require$$0$1 = require('crypto');
17
17
  var require$$0 = require('buffer');
18
- var session = require('./session-CySUtnTY.cjs');
18
+ var session = require('./session-UhAizNH0.cjs');
19
19
  var browser = require('./browser-RAy8e8cV.cjs');
20
- var projectVite = require('./project-vite-BU2-_Krd.cjs');
21
- var version = require('./version-BTkX3iYg.cjs');
20
+ var projectVite = require('./project-vite-C0fvgvWp.cjs');
21
+ var version = require('./version-B-iUWMkU.cjs');
22
22
  require('node:zlib');
23
23
 
24
24
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
@@ -1950,8 +1950,8 @@ const DEFAULT_CHANNEL_TRANSPORT = {
1950
1950
  };
1951
1951
  const IPV4_LOOPBACK_ADDRESSES = new net.BlockList();
1952
1952
  IPV4_LOOPBACK_ADDRESSES.addSubnet('127.0.0.0', 8, 'ipv4');
1953
- const { WebSocket, WebSocketServer } = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/dev-ILhZhsHN.cjs', document.baseURI).href)))('ws');
1954
- const { parse: parseHtml } = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/dev-ILhZhsHN.cjs', document.baseURI).href)))('parse5');
1953
+ const { WebSocket, WebSocketServer } = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/dev-Dazm6mjQ.cjs', document.baseURI).href)))('ws');
1954
+ const { parse: parseHtml } = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/dev-Dazm6mjQ.cjs', document.baseURI).href)))('parse5');
1955
1955
  const BROWSER_DEV_HOST_ROOT_CANDIDATES = [
1956
1956
  path.resolve(__dirname, 'devtools/browser-dev-host'),
1957
1957
  path.resolve(__dirname, '../devtools/browser-dev-host'),
@@ -11049,7 +11049,7 @@ function assertNodeRuntimeCapabilities(ctx, settings) {
11049
11049
  function createNodeRealtimeDriverRegistry() {
11050
11050
  const registry = createRuntimeRealtimeDriverRegistry();
11051
11051
  registry.registerLazy('node-websocket', async () => {
11052
- const mod = await Promise.resolve().then(function () { return require('./index.esm-Sczt7W37.cjs'); });
11052
+ const mod = await Promise.resolve().then(function () { return require('./index.esm-BPF3ML9J.cjs'); });
11053
11053
  return mod.createNodeWebSocketRuntimeDriver();
11054
11054
  });
11055
11055
  return registry;
@@ -3,7 +3,7 @@
3
3
  var fs = require('node:fs/promises');
4
4
  var os = require('node:os');
5
5
  var path = require('node:path');
6
- var index = require('./index-PKu0Zv8R.cjs');
6
+ var index = require('./index-Cscd6hCr.cjs');
7
7
  require('node:module');
8
8
  require('node:fs');
9
9
  require('path');
@@ -235,19 +235,19 @@ function requireArgument () {
235
235
 
236
236
  var command = {};
237
237
 
238
- const require$5 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-PKu0Zv8R.cjs', document.baseURI).href)));
238
+ const require$5 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-Cscd6hCr.cjs', document.baseURI).href)));
239
239
  function __require$4() { return require$5("node:events"); }
240
240
 
241
- const require$4 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-PKu0Zv8R.cjs', document.baseURI).href)));
241
+ const require$4 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-Cscd6hCr.cjs', document.baseURI).href)));
242
242
  function __require$3() { return require$4("node:child_process"); }
243
243
 
244
- const require$3 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-PKu0Zv8R.cjs', document.baseURI).href)));
244
+ const require$3 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-Cscd6hCr.cjs', document.baseURI).href)));
245
245
  function __require$2() { return require$3("node:path"); }
246
246
 
247
- const require$2 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-PKu0Zv8R.cjs', document.baseURI).href)));
247
+ const require$2 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-Cscd6hCr.cjs', document.baseURI).href)));
248
248
  function __require$1() { return require$2("node:fs"); }
249
249
 
250
- const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-PKu0Zv8R.cjs', document.baseURI).href)));
250
+ const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli-chunks/index-Cscd6hCr.cjs', document.baseURI).href)));
251
251
  function __require() { return require$1("node:process"); }
252
252
 
253
253
  var help = {};
@@ -13467,7 +13467,7 @@ function getPathname(pathWithQuery) {
13467
13467
  }
13468
13468
 
13469
13469
  const CLI_VERSION_PLACEHOLDER = ['__HB', 'SDK', 'CLI', 'VERSION__'].join('_');
13470
- const BUILT_CLI_VERSION = '0.8.3-alpha.1';
13470
+ const BUILT_CLI_VERSION = '0.8.3-alpha.2';
13471
13471
  const PACKAGE_JSON_CANDIDATES = [
13472
13472
  path.resolve(__dirname, '..', '..', 'package.json'),
13473
13473
  path.resolve(__dirname, '..', 'package.json'),
@@ -13826,39 +13826,39 @@ function createCommandLoggerResolver(options) {
13826
13826
  };
13827
13827
  }
13828
13828
  const defaultClearLoginStatus = async (...args) => {
13829
- const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-i8NtyI10.cjs'); });
13829
+ const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-CR8vCqdL.cjs'); });
13830
13830
  return clearLoginStatus(...args);
13831
13831
  };
13832
13832
  const defaultLoginToHeybox = async (...args) => {
13833
- const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-i8NtyI10.cjs'); });
13833
+ const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-CR8vCqdL.cjs'); });
13834
13834
  return loginToHeybox(...args);
13835
13835
  };
13836
13836
  const defaultPrintLoginStatus = async (...args) => {
13837
- const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-i8NtyI10.cjs'); });
13837
+ const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-CR8vCqdL.cjs'); });
13838
13838
  return printLoginStatus(...args);
13839
13839
  };
13840
13840
  const defaultRunBuildCommand = async (...args) => {
13841
- const { runBuildCommand } = await Promise.resolve().then(function () { return require('./build-DUtuGfHf.cjs'); });
13841
+ const { runBuildCommand } = await Promise.resolve().then(function () { return require('./build-lnIkF-rf.cjs'); });
13842
13842
  return runBuildCommand(...args);
13843
13843
  };
13844
13844
  const defaultRunCreateCommand = async (...args) => {
13845
- const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-BYQb0ptI.cjs'); });
13845
+ const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-BrH3TKd9.cjs'); });
13846
13846
  return runCreateCommand(...args);
13847
13847
  };
13848
13848
  const defaultRunDevCommand = async (...args) => {
13849
- const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-ILhZhsHN.cjs'); }).then(function (n) { return n.dev; });
13849
+ const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-Dazm6mjQ.cjs'); }).then(function (n) { return n.dev; });
13850
13850
  return runDevCommand(...args);
13851
13851
  };
13852
13852
  const defaultRunDoctorCommand = async (...args) => {
13853
- const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-KSe4lGEv.cjs'); });
13853
+ const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-Dqju9vZQ.cjs'); });
13854
13854
  return runDoctorCommand(...args);
13855
13855
  };
13856
13856
  const defaultRunSkillInstallCommand = async (...args) => {
13857
- const { runSkillInstallCommand } = await Promise.resolve().then(function () { return require('./skill-BN_mjQ_T.cjs'); });
13857
+ const { runSkillInstallCommand } = await Promise.resolve().then(function () { return require('./skill-BxL6KOYN.cjs'); });
13858
13858
  return runSkillInstallCommand(...args);
13859
13859
  };
13860
13860
  const defaultRunRemoteCommand = async (...args) => {
13861
- const { runRemoteCommand } = await Promise.resolve().then(function () { return require('./remote-B-f9D0yj.cjs'); });
13861
+ const { runRemoteCommand } = await Promise.resolve().then(function () { return require('./remote-CZBw05sT.cjs'); });
13862
13862
  return runRemoteCommand(...args);
13863
13863
  };
13864
13864
  function resolveStandaloneLogger(options, verbose) {
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var index$2 = require('./index-PKu0Zv8R.cjs');
3
+ var index$2 = require('./index-Cscd6hCr.cjs');
4
4
  var require$$0$3 = require('fs');
5
5
  var require$$0$2 = require('crypto');
6
6
  var require$$1$2 = require('path');
7
7
  var require$$0$5 = require('assert');
8
8
  var require$$0$4 = require('events');
9
9
  var require$$1$1 = require('util');
10
- var runtimePermissionEnv = require('./runtime-permission-env-Bl2jhPQm.cjs');
10
+ var runtimePermissionEnv = require('./runtime-permission-env-v9THnMre.cjs');
11
11
  var require$$0$7 = require('net');
12
12
  var require$$0$6 = require('url');
13
13
  var require$$2$1 = require('http');
@@ -11,8 +11,8 @@ var require$$0$4 = require('url');
11
11
  var require$$0 = require('zlib');
12
12
  var require$$0$1 = require('buffer');
13
13
  var require$$1 = require('util');
14
- var index = require('./index-PKu0Zv8R.cjs');
15
- var dev = require('./dev-ILhZhsHN.cjs');
14
+ var index = require('./index-Cscd6hCr.cjs');
15
+ var dev = require('./dev-Dazm6mjQ.cjs');
16
16
  require('node:module');
17
17
  require('node:fs');
18
18
  require('node:fs/promises');
@@ -23,12 +23,12 @@ require('node:crypto');
23
23
  require('readline');
24
24
  require('tty');
25
25
  require('assert');
26
- require('./context-DebQqIXh.cjs');
27
- require('./runtime-permission-env-Bl2jhPQm.cjs');
28
- require('./version-BTkX3iYg.cjs');
26
+ require('./context-DAdousk7.cjs');
27
+ require('./runtime-permission-env-v9THnMre.cjs');
28
+ require('./version-B-iUWMkU.cjs');
29
29
  require('node:async_hooks');
30
30
  require('sharp');
31
- require('./session-CySUtnTY.cjs');
31
+ require('./session-UhAizNH0.cjs');
32
32
  require('fs');
33
33
  require('constants');
34
34
  require('node:os');
@@ -42,7 +42,7 @@ require('node:buffer');
42
42
  require('node:url');
43
43
  require('node:util');
44
44
  require('node:child_process');
45
- require('./project-vite-BU2-_Krd.cjs');
45
+ require('./project-vite-C0fvgvWp.cjs');
46
46
  require('node:zlib');
47
47
 
48
48
  var bufferUtil = {exports: {}};
@@ -3,9 +3,9 @@
3
3
  var promises = require('node:readline/promises');
4
4
  var node_crypto = require('node:crypto');
5
5
  var node_http = require('node:http');
6
- var session = require('./session-CySUtnTY.cjs');
6
+ var session = require('./session-UhAizNH0.cjs');
7
7
  var browser = require('./browser-RAy8e8cV.cjs');
8
- var index = require('./index-PKu0Zv8R.cjs');
8
+ var index = require('./index-Cscd6hCr.cjs');
9
9
  require('node:path');
10
10
  require('fs');
11
11
  require('constants');
@@ -5,7 +5,7 @@ var fs$1 = require('node:fs/promises');
5
5
  var node_module = require('node:module');
6
6
  var path = require('node:path');
7
7
  var node_url = require('node:url');
8
- var index = require('./index-PKu0Zv8R.cjs');
8
+ var index = require('./index-Cscd6hCr.cjs');
9
9
 
10
10
  function findProjectRoot(startDir) {
11
11
  let current = path.resolve(startDir);
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var runtimePermissionEnv = require('./runtime-permission-env-Bl2jhPQm.cjs');
4
- var context = require('./context-DebQqIXh.cjs');
3
+ var runtimePermissionEnv = require('./runtime-permission-env-v9THnMre.cjs');
4
+ var context = require('./context-DAdousk7.cjs');
5
5
  var promises = require('node:readline/promises');
6
- var index = require('./index-PKu0Zv8R.cjs');
7
- var session = require('./session-CySUtnTY.cjs');
6
+ var index = require('./index-Cscd6hCr.cjs');
7
+ var session = require('./session-UhAizNH0.cjs');
8
8
  var childProcess = require('node:child_process');
9
9
  var fs = require('node:fs');
10
10
  var fs$1 = require('node:fs/promises');
11
11
  var path = require('node:path');
12
12
  var node_crypto = require('node:crypto');
13
13
  require('node:zlib');
14
- var runtimeGate = require('./runtime-gate-xuikbF7W.cjs');
15
- require('./version-BTkX3iYg.cjs');
14
+ var runtimeGate = require('./runtime-gate-CCyvzllG.cjs');
15
+ require('./version-B-iUWMkU.cjs');
16
16
  require('node:async_hooks');
17
17
  require('sharp');
18
18
  require('node:module');
@@ -274,7 +274,7 @@ function createDefaultCosClient(uploadToken, COS) {
274
274
  };
275
275
  }
276
276
  async function loadCosConstructor() {
277
- const cosModule = await Promise.resolve().then(function () { return require('./index-IBIMsIDt.cjs'); }).then(function (n) { return n.index; });
277
+ const cosModule = await Promise.resolve().then(function () { return require('./index-ZxzVU017.cjs'); }).then(function (n) { return n.index; });
278
278
  return cosModule.default;
279
279
  }
280
280
  function formatSize(bytes) {
@@ -517,6 +517,7 @@ async function runDeployCommand(options, runtime = {}) {
517
517
  const declaredPlatforms = runtimePermissionEnv.readMiniappPlatformsFromPackageJson(projectRoot);
518
518
  const declaredWindow = runtimePermissionEnv.readMiniappWindowFromPackageJson(projectRoot);
519
519
  const declaredBindAppIds = runtimePermissionEnv.readMiniappBindAppIdsFromPackageJson(projectRoot);
520
+ const declaredCategory = runtimePermissionEnv.readMiniappCategoryFromPackageJson(projectRoot);
520
521
  const releaseNote = await resolveDeployReleaseNote(options, runtime);
521
522
  const session$1 = await logger.task('正在校验 Heybox 登录态', () => (runtime.requireAuthSession ?? session.requireHeyboxAuthSession)({ loginBaseUrl }), { successText: 'Heybox 登录态有效' });
522
523
  logger.debug(`Heybox API: ${apiBaseUrl}`);
@@ -590,6 +591,9 @@ async function runDeployCommand(options, runtime = {}) {
590
591
  const distDir = path.join(projectRoot, 'dist');
591
592
  const parsedManifest = await readDeployManifest(projectRoot, logger);
592
593
  ({ manifest, version } = parsedManifest);
594
+ if (manifest.category !== declaredCategory) {
595
+ throw new Error('dist/manifest.json.category 与 package.json#heybox.category 不一致,请重新 build 后再 deploy');
596
+ }
593
597
  if (!declaredPlatforms || !runtimePermissionEnv.areMiniappPlatformsEqual(parsedManifest.platforms, declaredPlatforms)) {
594
598
  throw new Error('dist/manifest.json.platforms 与 package.json#heybox.platforms 不一致,请重新 build 后再 deploy');
595
599
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var runtimePermissionEnv = require('./runtime-permission-env-Bl2jhPQm.cjs');
3
+ var runtimePermissionEnv = require('./runtime-permission-env-v9THnMre.cjs');
4
4
 
5
5
  // Shorthands
6
6
  /**
@@ -2,10 +2,19 @@
2
2
 
3
3
  var fs = require('node:fs');
4
4
  var path = require('node:path');
5
- var version = require('./version-BTkX3iYg.cjs');
5
+ var version = require('./version-B-iUWMkU.cjs');
6
6
  require('node:crypto');
7
7
  var node_async_hooks = require('node:async_hooks');
8
8
 
9
+ /** 校验配置或产物中的类别,省略与显式非法值严格区分。 */
10
+ function parseMiniappCategory(value, sourceLabel = 'package.json#heybox.category') {
11
+ if (value === undefined)
12
+ return undefined;
13
+ if (value === 'tool' || value === 'game' || value === 'other')
14
+ return value;
15
+ throw new Error(`${sourceLabel} 必须是 tool、game 或 other`);
16
+ }
17
+
9
18
  var re = {exports: {}};
10
19
 
11
20
  var constants;
@@ -3467,6 +3476,10 @@ function validateMiniappManifestForDeploy(manifest) {
3467
3476
  });
3468
3477
  const companions = validateGeneratedCompanions(manifest.companions);
3469
3478
  const window = validateMiniappWindow(manifest.window, 'manifest.window');
3479
+ const category = parseMiniappCategory(manifest.category, 'manifest.category');
3480
+ if (category === undefined) {
3481
+ throw new Error('manifest.category 缺失,请在 package.json#heybox.category 声明 tool、game 或 other 后重新构建');
3482
+ }
3470
3483
  const bindAppIds = parseMiniappBindAppIds(manifest.bindAppIds, { sourceLabel: 'manifest.bindAppIds' });
3471
3484
  return {
3472
3485
  version,
@@ -3477,6 +3490,7 @@ function validateMiniappManifestForDeploy(manifest) {
3477
3490
  ...(companions === undefined ? {} : { companions }),
3478
3491
  ...(window === undefined ? {} : { window }),
3479
3492
  ...(bindAppIds.length === 0 ? {} : { bindAppIds }),
3493
+ ...(category === undefined ? {} : { category }),
3480
3494
  };
3481
3495
  }
3482
3496
  function validateGeneratedCompanions(value) {
@@ -12603,6 +12617,10 @@ function readMiniappBindAppIdsFromPackageJson(root) {
12603
12617
  const heybox = readMiniappHeyboxConfig(packageJson);
12604
12618
  return parseMiniappBindAppIds(heybox?.bindAppIds);
12605
12619
  }
12620
+ function readMiniappCategoryFromPackageJson(root) {
12621
+ const { packageJson } = readMiniappPackageJson(root);
12622
+ return parseMiniappCategory(readMiniappHeyboxConfig(packageJson)?.category);
12623
+ }
12606
12624
  function resolveMiniappSdkVersion() {
12607
12625
  if (!version.HB_SDK_VERSION.startsWith('__HB_SDK_'))
12608
12626
  return version.HB_SDK_VERSION;
@@ -12764,6 +12782,7 @@ exports.parseMiniappBasicInfo = parseMiniappBasicInfo;
12764
12782
  exports.parseMiniappManifestJson = parseMiniappManifestJson;
12765
12783
  exports.prepareMiniappArtifactFiles = prepareMiniappArtifactFiles;
12766
12784
  exports.readMiniappBindAppIdsFromPackageJson = readMiniappBindAppIdsFromPackageJson;
12785
+ exports.readMiniappCategoryFromPackageJson = readMiniappCategoryFromPackageJson;
12767
12786
  exports.readMiniappPermissionsFromPackageJson = readMiniappPermissionsFromPackageJson;
12768
12787
  exports.readMiniappPlatformsFromPackageJson = readMiniappPlatformsFromPackageJson;
12769
12788
  exports.readMiniappWindowFromPackageJson = readMiniappWindowFromPackageJson;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-PKu0Zv8R.cjs');
3
+ var index = require('./index-Cscd6hCr.cjs');
4
4
  var node_crypto = require('node:crypto');
5
5
  var path = require('node:path');
6
6
  var require$$0$2 = require('fs');
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var version = require('./version-BTkX3iYg.cjs');
3
+ var version = require('./version-B-iUWMkU.cjs');
4
4
  var fs = require('node:fs/promises');
5
5
  var path = require('node:path');
6
6
  var childProcess = require('node:child_process');
7
- var index = require('./index-PKu0Zv8R.cjs');
7
+ var index = require('./index-Cscd6hCr.cjs');
8
8
  require('node:module');
9
9
  require('node:fs');
10
10
  require('path');
@@ -3,6 +3,6 @@
3
3
  /** 构建时替换为当前发布包的实际版本。 */
4
4
  const HB_SDK_VERSION = typeof undefined === 'string'
5
5
  ? undefined
6
- : '0.8.3-alpha.1';
6
+ : '0.8.3-alpha.2';
7
7
 
8
8
  exports.HB_SDK_VERSION = HB_SDK_VERSION;
package/dist/cli.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./cli-chunks/index-PKu0Zv8R.cjs');
3
+ var index = require('./cli-chunks/index-Cscd6hCr.cjs');
4
4
  require('node:module');
5
5
  require('node:fs');
6
6
  require('node:fs/promises');