@heybox/hb-sdk 0.4.1 → 0.4.3
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/README.md +3 -0
- package/dist/cli-chunks/{create-Ds8A82lV.cjs → create-BV4h2BTs.cjs} +1 -1
- package/dist/cli-chunks/{deploy-D4uxwB2W.cjs → deploy-Bz0-WpHy.cjs} +3 -3
- package/dist/cli-chunks/{dev-v-tcA7mM.cjs → dev-DgX88vaK.cjs} +63 -27
- package/dist/cli-chunks/{doctor-C8NP7bow.cjs → doctor-BIZoQ6go.cjs} +1 -1
- package/dist/cli-chunks/{index-BWrMUHh9.cjs → index-DQAFCtK1.cjs} +2 -2
- package/dist/cli-chunks/{index-DDqd9qAR.cjs → index-ovy_xoLn.cjs} +13 -13
- package/dist/cli-chunks/{login-BJVOo-hq.cjs → login-CoZhlwxt.cjs} +2 -2
- package/dist/cli-chunks/{session-Iyxc2AGl.cjs → session-BQs0wf65.cjs} +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/templates/vue3-vite-ts/vite.config.ts +1 -0
- package/dist/vite.cjs.js +5 -0
- package/dist/vite.esm.js +5 -0
- package/package.json +1 -1
- package/skill/references/api-root.md +14 -1
- package/skill/references/cli.md +1 -1
- package/skill/references/examples.md +1 -0
- package/skill/scripts/sync-references.mjs +1 -0
- package/skill/skill.json +4 -4
- package/types/vite/index.d.ts +4 -0
package/README.md
CHANGED
|
@@ -330,10 +330,13 @@ import { miniappManifest } from '@heybox/hb-sdk/vite';
|
|
|
330
330
|
import { defineConfig } from 'vite';
|
|
331
331
|
|
|
332
332
|
export default defineConfig({
|
|
333
|
+
base: './',
|
|
333
334
|
plugins: [miniappManifest()],
|
|
334
335
|
});
|
|
335
336
|
```
|
|
336
337
|
|
|
338
|
+
`base: './'` 用于让构建产物里的 JS/CSS/图片资源以 `./assets/...` 相对路径引用,避免小程序资源目录不是站点根路径时访问 `/assets/...` 失败。若没有显式配置 `base`,`miniappManifest()` 也会在 build 时默认补成 `./`。
|
|
339
|
+
|
|
337
340
|
失败与警告语义:
|
|
338
341
|
|
|
339
342
|
- 读取 `package.json` 失败或 JSON 解析失败:`vite build` 直接失败,并输出具体原因。
|
|
@@ -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-
|
|
8
|
+
var index = require('./index-ovy_xoLn.cjs');
|
|
9
9
|
require('node:module');
|
|
10
10
|
require('os');
|
|
11
11
|
require('readline');
|
|
@@ -5,8 +5,8 @@ var fs = require('node:fs');
|
|
|
5
5
|
var fs$1 = require('node:fs/promises');
|
|
6
6
|
var path = require('node:path');
|
|
7
7
|
var promises = require('node:readline/promises');
|
|
8
|
-
var session = require('./session-
|
|
9
|
-
var index = require('./index-
|
|
8
|
+
var session = require('./session-BQs0wf65.cjs');
|
|
9
|
+
var index = require('./index-ovy_xoLn.cjs');
|
|
10
10
|
var node_crypto = require('node:crypto');
|
|
11
11
|
|
|
12
12
|
var re = {exports: {}};
|
|
@@ -3328,7 +3328,7 @@ async function createDefaultCosClient(uploadToken) {
|
|
|
3328
3328
|
};
|
|
3329
3329
|
}
|
|
3330
3330
|
async function loadCosConstructor() {
|
|
3331
|
-
const cosModule = await Promise.resolve().then(function () { return require('./index-
|
|
3331
|
+
const cosModule = await Promise.resolve().then(function () { return require('./index-DQAFCtK1.cjs'); }).then(function (n) { return n.index; });
|
|
3332
3332
|
return cosModule.default;
|
|
3333
3333
|
}
|
|
3334
3334
|
function formatSize(bytes) {
|
|
@@ -9,7 +9,7 @@ var node_url = require('node:url');
|
|
|
9
9
|
var net = require('node:net');
|
|
10
10
|
var node_http = require('node:http');
|
|
11
11
|
var browser = require('./browser-RAy8e8cV.cjs');
|
|
12
|
-
var index = require('./index-
|
|
12
|
+
var index = require('./index-ovy_xoLn.cjs');
|
|
13
13
|
require('node:process');
|
|
14
14
|
require('node:buffer');
|
|
15
15
|
require('node:util');
|
|
@@ -186,6 +186,21 @@ async function getPorts(options) {
|
|
|
186
186
|
throw new Error('No available ports found');
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
+
async function selectAvailablePort(options) {
|
|
190
|
+
const maxAttempts = options.maxAttempts ?? 20;
|
|
191
|
+
const port = await options.getPort({
|
|
192
|
+
host: options.host,
|
|
193
|
+
port: createPortCandidates(options.startPort, maxAttempts),
|
|
194
|
+
});
|
|
195
|
+
if (port < options.startPort || port >= options.startPort + maxAttempts) {
|
|
196
|
+
throw new Error(`无法找到可用 ${options.label} 端口,起始端口: ${options.startPort}`);
|
|
197
|
+
}
|
|
198
|
+
return port;
|
|
199
|
+
}
|
|
200
|
+
function createPortCandidates(startPort, count) {
|
|
201
|
+
return Array.from({ length: count }, (_, index) => startPort + index);
|
|
202
|
+
}
|
|
203
|
+
|
|
189
204
|
const MINI_PROGRAM_URL_QUERY_PARAM$1 = 'mini_url';
|
|
190
205
|
const LAN_ADDRESSES_PATH = '/__hb_sdk_lan_addresses__';
|
|
191
206
|
const MOCK_NETWORK_PROXY_PATH = '/__hb_sdk_mock_network__';
|
|
@@ -536,14 +551,12 @@ function readContentType(filePath) {
|
|
|
536
551
|
return 'application/octet-stream';
|
|
537
552
|
}
|
|
538
553
|
async function listenHttpServer(server, options, getPortImpl) {
|
|
539
|
-
const
|
|
540
|
-
|
|
554
|
+
const port = await selectAvailablePort({
|
|
555
|
+
getPort: getPortImpl,
|
|
541
556
|
host: DEV_LISTEN_HOST$1,
|
|
542
|
-
|
|
557
|
+
label: 'mock host',
|
|
558
|
+
startPort: options.port,
|
|
543
559
|
});
|
|
544
|
-
if (port < options.port || port >= options.port + maxAttempts) {
|
|
545
|
-
throw new Error(`无法找到可用 mock host 端口,起始端口: ${options.port}`);
|
|
546
|
-
}
|
|
547
560
|
await new Promise((resolve, reject) => {
|
|
548
561
|
const onError = (error) => {
|
|
549
562
|
server.off('listening', onListening);
|
|
@@ -560,9 +573,6 @@ async function listenHttpServer(server, options, getPortImpl) {
|
|
|
560
573
|
const address = server.address();
|
|
561
574
|
return address.port;
|
|
562
575
|
}
|
|
563
|
-
function createPortCandidates(startPort, count) {
|
|
564
|
-
return Array.from({ length: count }, (_, index) => startPort + index);
|
|
565
|
-
}
|
|
566
576
|
function readErrorMessage(error) {
|
|
567
577
|
return error instanceof Error ? error.message : String(error);
|
|
568
578
|
}
|
|
@@ -628,18 +638,30 @@ async function runDevCommand(options, runtime = {}) {
|
|
|
628
638
|
const logger = runtime.logger ?? index.createCliLogger();
|
|
629
639
|
const fetchImpl = runtime.fetchImpl ?? fetch;
|
|
630
640
|
const openUrl = runtime.openExternalUrl ?? browser.openExternalUrl;
|
|
641
|
+
const networkInterfaceSnapshot = (runtime.networkInterfaces ?? os.networkInterfaces)();
|
|
642
|
+
const getPortImpl = runtime.getPort ?? getPorts;
|
|
643
|
+
const appPort = await selectAvailablePort({
|
|
644
|
+
getPort: getPortImpl,
|
|
645
|
+
host: DEV_LISTEN_HOST,
|
|
646
|
+
label: 'Vite dev server',
|
|
647
|
+
startPort: options.port ?? DEFAULT_APP_PORT,
|
|
648
|
+
});
|
|
649
|
+
const resolvedOptions = {
|
|
650
|
+
...options,
|
|
651
|
+
port: appPort,
|
|
652
|
+
};
|
|
631
653
|
const projectRoot = findProjectRoot(runtime.cwd ?? process.cwd());
|
|
632
654
|
const vite = await logger.task('正在加载项目 Vite', () => loadProjectVite(projectRoot), { successText: '已加载项目 Vite' });
|
|
633
|
-
const appServer = await logger.task('正在创建 Vite dev server', () => withManagedDevOutputEnv(() => vite.createServer(createViteServerOptions(projectRoot,
|
|
634
|
-
await logger.task('正在启动 Vite dev server', () => appServer.listen(
|
|
655
|
+
const appServer = await logger.task('正在创建 Vite dev server', () => withManagedDevOutputEnv(() => vite.createServer(createViteServerOptions(projectRoot, resolvedOptions)), runtime.env), { successText: '已创建 Vite dev server' });
|
|
656
|
+
await logger.task('正在启动 Vite dev server', () => appServer.listen(appPort), {
|
|
635
657
|
successText: 'Vite dev server 已启动',
|
|
636
658
|
});
|
|
637
|
-
const appUrl = await logger.task('正在探测小程序入口', () => resolveViteAppUrl(appServer,
|
|
659
|
+
const appUrl = await logger.task('正在探测小程序入口', () => resolveViteAppUrl(appServer, resolvedOptions, fetchImpl), {
|
|
638
660
|
successText: '已确定小程序入口',
|
|
639
661
|
});
|
|
640
662
|
const lanAddresses = createLanAddressCandidates({
|
|
641
663
|
appUrl,
|
|
642
|
-
interfaces:
|
|
664
|
+
interfaces: networkInterfaceSnapshot,
|
|
643
665
|
runtimeUrl: options.runtimeUrl,
|
|
644
666
|
viteNetworkUrls: appServer.resolvedUrls?.network ?? [],
|
|
645
667
|
});
|
|
@@ -649,7 +671,7 @@ async function runDevCommand(options, runtime = {}) {
|
|
|
649
671
|
mockHost = await logger.task('正在启动 Mock runtime host', () => startMiniProgramMockHostServer({
|
|
650
672
|
appUrl,
|
|
651
673
|
fetchImpl,
|
|
652
|
-
getPort:
|
|
674
|
+
getPort: getPortImpl,
|
|
653
675
|
defaultLanAddressId: lanAddresses[0]?.id,
|
|
654
676
|
lanAddresses,
|
|
655
677
|
macAppProtocol: createMacAppProtocol(appUrl, { runtimeUrl: options.runtimeUrl }),
|
|
@@ -711,9 +733,12 @@ function createViteServerOptions(projectRoot, options) {
|
|
|
711
733
|
const configFile = resolveProjectViteConfig(projectRoot);
|
|
712
734
|
const server = {
|
|
713
735
|
cors: true,
|
|
736
|
+
hmr: {
|
|
737
|
+
clientPort: options.port ?? DEFAULT_APP_PORT,
|
|
738
|
+
},
|
|
714
739
|
host: DEV_LISTEN_HOST,
|
|
715
740
|
port: options.port ?? DEFAULT_APP_PORT,
|
|
716
|
-
strictPort:
|
|
741
|
+
strictPort: true,
|
|
717
742
|
};
|
|
718
743
|
if (configFile) {
|
|
719
744
|
return {
|
|
@@ -856,24 +881,19 @@ function createLanAddressCandidates(options) {
|
|
|
856
881
|
const viteNetworkUrlByHost = new Map(options.viteNetworkUrls
|
|
857
882
|
.map((url) => [readUrlHost(url), url])
|
|
858
883
|
.filter((entry) => Boolean(entry[0])));
|
|
859
|
-
const candidates =
|
|
860
|
-
.
|
|
861
|
-
|
|
862
|
-
name,
|
|
863
|
-
})))
|
|
864
|
-
.filter(({ info }) => info.family === 'IPv4' && !info.internal && isPrivateIPv4(info.address))
|
|
865
|
-
.map(({ info, name }) => {
|
|
866
|
-
const appUrl = viteNetworkUrlByHost.get(info.address) ?? replaceUrlHost(options.appUrl, info.address);
|
|
884
|
+
const candidates = createLanInterfaceCandidates(options.interfaces)
|
|
885
|
+
.map(({ address, id, name }) => {
|
|
886
|
+
const appUrl = viteNetworkUrlByHost.get(address) ?? replaceUrlHost(options.appUrl, address);
|
|
867
887
|
if (!appUrl) {
|
|
868
888
|
return undefined;
|
|
869
889
|
}
|
|
870
890
|
const candidate = {
|
|
871
|
-
address
|
|
891
|
+
address,
|
|
872
892
|
appUrl,
|
|
873
|
-
id
|
|
893
|
+
id,
|
|
874
894
|
name,
|
|
875
895
|
};
|
|
876
|
-
const runtimeUrl = rewriteLoopbackUrlHost(options.runtimeUrl,
|
|
896
|
+
const runtimeUrl = rewriteLoopbackUrlHost(options.runtimeUrl, address);
|
|
877
897
|
if (runtimeUrl !== undefined) {
|
|
878
898
|
candidate.mobileAppQrPayload = createMobileAppQrPayload(appUrl, { runtimeUrl });
|
|
879
899
|
}
|
|
@@ -892,6 +912,22 @@ function createLanAddressCandidates(options) {
|
|
|
892
912
|
return readInterfacePriority(left.name) - readInterfacePriority(right.name) || left.name.localeCompare(right.name);
|
|
893
913
|
});
|
|
894
914
|
}
|
|
915
|
+
function createLanInterfaceCandidates(interfaces) {
|
|
916
|
+
return Object.entries(interfaces)
|
|
917
|
+
.flatMap(([name, infos]) => (infos ?? []).map((info) => ({
|
|
918
|
+
info,
|
|
919
|
+
name,
|
|
920
|
+
})))
|
|
921
|
+
.filter(({ info }) => info.family === 'IPv4' && !info.internal && isPrivateIPv4(info.address))
|
|
922
|
+
.map(({ info, name }) => ({
|
|
923
|
+
address: info.address,
|
|
924
|
+
id: `${name}-${info.address}`,
|
|
925
|
+
name,
|
|
926
|
+
}))
|
|
927
|
+
.sort((left, right) => {
|
|
928
|
+
return readInterfacePriority(left.name) - readInterfacePriority(right.name) || left.name.localeCompare(right.name);
|
|
929
|
+
});
|
|
930
|
+
}
|
|
895
931
|
function rewriteLoopbackUrlHost(input, host) {
|
|
896
932
|
if (input === undefined || input === '') {
|
|
897
933
|
return undefined;
|
|
@@ -4,7 +4,7 @@ var fs$1 = require('node:fs');
|
|
|
4
4
|
var fs = require('node:fs/promises');
|
|
5
5
|
var os = require('node:os');
|
|
6
6
|
var path = require('node:path');
|
|
7
|
-
var index = require('./index-
|
|
7
|
+
var index = require('./index-ovy_xoLn.cjs');
|
|
8
8
|
require('node:module');
|
|
9
9
|
require('path');
|
|
10
10
|
require('os');
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index$2 = require('./index-
|
|
3
|
+
var index$2 = require('./index-ovy_xoLn.cjs');
|
|
4
4
|
var require$$0$2 = require('fs');
|
|
5
5
|
var require$$2$1 = require('crypto');
|
|
6
6
|
var require$$1$2 = require('path');
|
|
7
7
|
var require$$0$3 = require('assert');
|
|
8
8
|
var require$$4$2 = require('events');
|
|
9
9
|
var require$$1$1 = require('util');
|
|
10
|
-
var deploy = require('./deploy-
|
|
10
|
+
var deploy = require('./deploy-Bz0-WpHy.cjs');
|
|
11
11
|
var require$$0$5 = require('net');
|
|
12
12
|
var require$$0$4 = require('url');
|
|
13
13
|
var require$$2$2 = require('http');
|
|
@@ -234,19 +234,19 @@ function requireArgument () {
|
|
|
234
234
|
|
|
235
235
|
var command = {};
|
|
236
236
|
|
|
237
|
-
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-
|
|
237
|
+
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-ovy_xoLn.cjs', document.baseURI).href)));
|
|
238
238
|
function __require$4() { return require$5("node:events"); }
|
|
239
239
|
|
|
240
|
-
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-
|
|
240
|
+
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-ovy_xoLn.cjs', document.baseURI).href)));
|
|
241
241
|
function __require$3() { return require$4("node:child_process"); }
|
|
242
242
|
|
|
243
|
-
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-
|
|
243
|
+
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-ovy_xoLn.cjs', document.baseURI).href)));
|
|
244
244
|
function __require$2() { return require$3("node:path"); }
|
|
245
245
|
|
|
246
|
-
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-
|
|
246
|
+
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-ovy_xoLn.cjs', document.baseURI).href)));
|
|
247
247
|
function __require$1() { return require$2("node:fs"); }
|
|
248
248
|
|
|
249
|
-
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-
|
|
249
|
+
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-ovy_xoLn.cjs', document.baseURI).href)));
|
|
250
250
|
function __require() { return require$1("node:process"); }
|
|
251
251
|
|
|
252
252
|
var help = {};
|
|
@@ -13092,7 +13092,7 @@ function readErrorMessage(error, options = {}) {
|
|
|
13092
13092
|
}
|
|
13093
13093
|
|
|
13094
13094
|
const CLI_VERSION_PLACEHOLDER = ['__HB', 'SDK', 'CLI', 'VERSION__'].join('_');
|
|
13095
|
-
const BUILT_CLI_VERSION = '0.4.
|
|
13095
|
+
const BUILT_CLI_VERSION = '0.4.3';
|
|
13096
13096
|
const PACKAGE_JSON_CANDIDATES = [
|
|
13097
13097
|
path.resolve(__dirname, '..', '..', 'package.json'),
|
|
13098
13098
|
path.resolve(__dirname, '..', 'package.json'),
|
|
@@ -13249,31 +13249,31 @@ function createCommandLoggerResolver(options) {
|
|
|
13249
13249
|
};
|
|
13250
13250
|
}
|
|
13251
13251
|
const defaultClearLoginStatus = async (...args) => {
|
|
13252
|
-
const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-
|
|
13252
|
+
const { clearLoginStatus } = await Promise.resolve().then(function () { return require('./login-CoZhlwxt.cjs'); });
|
|
13253
13253
|
return clearLoginStatus(...args);
|
|
13254
13254
|
};
|
|
13255
13255
|
const defaultLoginToHeybox = async (...args) => {
|
|
13256
|
-
const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-
|
|
13256
|
+
const { loginToHeybox } = await Promise.resolve().then(function () { return require('./login-CoZhlwxt.cjs'); });
|
|
13257
13257
|
return loginToHeybox(...args);
|
|
13258
13258
|
};
|
|
13259
13259
|
const defaultPrintLoginStatus = async (...args) => {
|
|
13260
|
-
const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-
|
|
13260
|
+
const { printLoginStatus } = await Promise.resolve().then(function () { return require('./login-CoZhlwxt.cjs'); });
|
|
13261
13261
|
return printLoginStatus(...args);
|
|
13262
13262
|
};
|
|
13263
13263
|
const defaultRunCreateCommand = async (...args) => {
|
|
13264
|
-
const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-
|
|
13264
|
+
const { runCreateCommand } = await Promise.resolve().then(function () { return require('./create-BV4h2BTs.cjs'); });
|
|
13265
13265
|
return runCreateCommand(...args);
|
|
13266
13266
|
};
|
|
13267
13267
|
const defaultRunDeployCommand = async (...args) => {
|
|
13268
|
-
const { runDeployCommand } = await Promise.resolve().then(function () { return require('./deploy-
|
|
13268
|
+
const { runDeployCommand } = await Promise.resolve().then(function () { return require('./deploy-Bz0-WpHy.cjs'); }).then(function (n) { return n.deploy; });
|
|
13269
13269
|
return runDeployCommand(...args);
|
|
13270
13270
|
};
|
|
13271
13271
|
const defaultRunDevCommand = async (...args) => {
|
|
13272
|
-
const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-
|
|
13272
|
+
const { runDevCommand } = await Promise.resolve().then(function () { return require('./dev-DgX88vaK.cjs'); });
|
|
13273
13273
|
return runDevCommand(...args);
|
|
13274
13274
|
};
|
|
13275
13275
|
const defaultRunDoctorCommand = async (...args) => {
|
|
13276
|
-
const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-
|
|
13276
|
+
const { runDoctorCommand } = await Promise.resolve().then(function () { return require('./doctor-BIZoQ6go.cjs'); });
|
|
13277
13277
|
return runDoctorCommand(...args);
|
|
13278
13278
|
};
|
|
13279
13279
|
function resolveStandaloneLogger(options, verbose) {
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var node_crypto = require('node:crypto');
|
|
4
4
|
var node_http = require('node:http');
|
|
5
|
-
var session = require('./session-
|
|
5
|
+
var session = require('./session-BQs0wf65.cjs');
|
|
6
6
|
var browser = require('./browser-RAy8e8cV.cjs');
|
|
7
|
-
var index = require('./index-
|
|
7
|
+
var index = require('./index-ovy_xoLn.cjs');
|
|
8
8
|
require('node:path');
|
|
9
9
|
require('fs');
|
|
10
10
|
require('constants');
|
package/dist/cli.cjs
CHANGED
package/dist/vite.cjs.js
CHANGED
|
@@ -2870,6 +2870,11 @@ function miniappManifest() {
|
|
|
2870
2870
|
return {
|
|
2871
2871
|
name: 'heybox-miniapp-manifest',
|
|
2872
2872
|
apply: 'build',
|
|
2873
|
+
config(config) {
|
|
2874
|
+
if (config.base === undefined) {
|
|
2875
|
+
return { base: './' };
|
|
2876
|
+
}
|
|
2877
|
+
},
|
|
2873
2878
|
configResolved(resolved) {
|
|
2874
2879
|
root = resolved.root;
|
|
2875
2880
|
outDir = resolved.build.outDir;
|
package/dist/vite.esm.js
CHANGED
|
@@ -2868,6 +2868,11 @@ function miniappManifest() {
|
|
|
2868
2868
|
return {
|
|
2869
2869
|
name: 'heybox-miniapp-manifest',
|
|
2870
2870
|
apply: 'build',
|
|
2871
|
+
config(config) {
|
|
2872
|
+
if (config.base === undefined) {
|
|
2873
|
+
return { base: './' };
|
|
2874
|
+
}
|
|
2875
|
+
},
|
|
2871
2876
|
configResolved(resolved) {
|
|
2872
2877
|
root = resolved.root;
|
|
2873
2878
|
outDir = resolved.build.outDir;
|
package/package.json
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
## Package metadata
|
|
20
20
|
|
|
21
21
|
- Package: `@heybox/hb-sdk`
|
|
22
|
-
- Version at generation time: `0.4.
|
|
22
|
+
- Version at generation time: `0.4.3`
|
|
23
23
|
- Public root export: `@heybox/hb-sdk`
|
|
24
24
|
- Protocol export: `@heybox/hb-sdk/protocol`
|
|
25
25
|
- Vite plugin export: `@heybox/hb-sdk/vite`
|
|
@@ -117,10 +117,15 @@ import { readMiniappVersionFromPackageJson } from '../miniapp-manifest/node';
|
|
|
117
117
|
type MiniappManifestPlugin = {
|
|
118
118
|
name: string;
|
|
119
119
|
apply: 'build';
|
|
120
|
+
config: (config: MiniappManifestUserConfig) => MiniappManifestUserConfig | void;
|
|
120
121
|
configResolved: (resolved: MiniappManifestResolvedConfig) => void;
|
|
121
122
|
writeBundle: (this: MiniappManifestPluginContext) => void;
|
|
122
123
|
};
|
|
123
124
|
|
|
125
|
+
interface MiniappManifestUserConfig {
|
|
126
|
+
base?: string;
|
|
127
|
+
}
|
|
128
|
+
|
|
124
129
|
interface MiniappManifestPluginContext {
|
|
125
130
|
warn: (message: string) => void;
|
|
126
131
|
}
|
|
@@ -139,6 +144,11 @@ export function miniappManifest(): MiniappManifestPlugin {
|
|
|
139
144
|
return {
|
|
140
145
|
name: 'heybox-miniapp-manifest',
|
|
141
146
|
apply: 'build',
|
|
147
|
+
config(config) {
|
|
148
|
+
if (config.base === undefined) {
|
|
149
|
+
return { base: './' };
|
|
150
|
+
}
|
|
151
|
+
},
|
|
142
152
|
configResolved(resolved) {
|
|
143
153
|
root = resolved.root;
|
|
144
154
|
outDir = resolved.build.outDir;
|
|
@@ -171,10 +181,13 @@ import { miniappManifest } from '@heybox/hb-sdk/vite';
|
|
|
171
181
|
import { defineConfig } from 'vite';
|
|
172
182
|
|
|
173
183
|
export default defineConfig({
|
|
184
|
+
base: './',
|
|
174
185
|
plugins: [miniappManifest()],
|
|
175
186
|
});
|
|
176
187
|
```
|
|
177
188
|
|
|
189
|
+
`base: './'` 用于让构建产物里的 JS/CSS/图片资源以 `./assets/...` 相对路径引用,避免小程序资源目录不是站点根路径时访问 `/assets/...` 失败。若没有显式配置 `base`,`miniappManifest()` 也会在 build 时默认补成 `./`。
|
|
190
|
+
|
|
178
191
|
失败与警告语义:
|
|
179
192
|
|
|
180
193
|
- 读取 `package.json` 失败或 JSON 解析失败:`vite build` 直接失败,并输出具体原因。
|
package/skill/references/cli.md
CHANGED
|
@@ -460,7 +460,7 @@ HB_SDK_ALLOW_UNSAFE_API_BASE_URL=1 hb-sdk deploy --api-base-url http://127.0.0.1
|
|
|
460
460
|
}
|
|
461
461
|
```
|
|
462
462
|
|
|
463
|
-
`manifest.json` 仅作为提交审核接口的 `manifest` 字段提交,不会上传到 CDN。Vite 项目通过 `miniappManifest()` 插件生成;CLI 不会自动注入插件,请在 `vite.config.ts`
|
|
463
|
+
`manifest.json` 仅作为提交审核接口的 `manifest` 字段提交,不会上传到 CDN。Vite 项目通过 `miniappManifest()` 插件生成;CLI 不会自动注入插件,请在 `vite.config.ts` 中显式挂载。小程序构建产物需要使用相对资源路径;`hb-sdk create` 模板会显式配置 `base: './'`,未配置 `base` 的项目也会由 `miniappManifest()` 在 build 时默认补成 `./`。
|
|
464
464
|
|
|
465
465
|
默认发布策略是 `auto_publish=false`:运营审核通过后需在开放平台手动发布。需要审核通过后自动发布并下架旧线上版本时,使用 `--auto-publish`。
|
|
466
466
|
|
package/skill/skill.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hb-sdk",
|
|
3
|
-
"skillVersion": "0.4.
|
|
3
|
+
"skillVersion": "0.4.3+skill.4ff08ec8601f",
|
|
4
4
|
"sdk": {
|
|
5
5
|
"package": "@heybox/hb-sdk",
|
|
6
|
-
"version": "0.4.
|
|
7
|
-
"compatibility": "0.4.
|
|
6
|
+
"version": "0.4.3",
|
|
7
|
+
"compatibility": "0.4.3"
|
|
8
8
|
},
|
|
9
9
|
"source": "https://open.xiaoheihe.cn/agent-skills/hb-sdk",
|
|
10
|
-
"integrity": "sha256-
|
|
10
|
+
"integrity": "sha256-4ff08ec8601fb16bcad10c4f654ce4a87d36a4f058e256a77704ba3e7369a1c7"
|
|
11
11
|
}
|
package/types/vite/index.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
type MiniappManifestPlugin = {
|
|
2
2
|
name: string;
|
|
3
3
|
apply: 'build';
|
|
4
|
+
config: (config: MiniappManifestUserConfig) => MiniappManifestUserConfig | void;
|
|
4
5
|
configResolved: (resolved: MiniappManifestResolvedConfig) => void;
|
|
5
6
|
writeBundle: (this: MiniappManifestPluginContext) => void;
|
|
6
7
|
};
|
|
8
|
+
interface MiniappManifestUserConfig {
|
|
9
|
+
base?: string;
|
|
10
|
+
}
|
|
7
11
|
interface MiniappManifestPluginContext {
|
|
8
12
|
warn: (message: string) => void;
|
|
9
13
|
}
|