release: prepare dsh-im 0.2.0

This commit is contained in:
xmanrui 2026-08-16 17:38:31 +08:00
parent 0ccc770397
commit 1ddcfcdbdf
8 changed files with 108 additions and 17 deletions

View file

@ -86,7 +86,6 @@ const directDependencies = {
'@tencent-connect/qqbot-connector': '1.2.0',
'@tencent-connect/qqbot-nodejs': '1.0.4',
'@wecom/aibot-node-sdk': '1.0.7',
'@whiskeysockets/baileys': '7.0.0-rc14',
qrcode: '1.5.4',
};
for (const [name, version] of Object.entries(directDependencies)) {
@ -96,6 +95,7 @@ for (const [name, version] of Object.entries(directDependencies)) {
}
const bundledBuildDependencies = {
'@larksuiteoapi/node-sdk': '1.73.0',
'@whiskeysockets/baileys': '7.0.0-rc14',
};
for (const [name, version] of Object.entries(bundledBuildDependencies)) {
if (manifest.dependencies?.[name] !== undefined) {
@ -105,14 +105,14 @@ for (const [name, version] of Object.entries(bundledBuildDependencies)) {
throw new Error(`${name} must be a pinned build dependency at ${version}`);
}
}
if (lock.packages?.['node_modules/protobufjs']?.dev === true) {
throw new Error('protobufjs must remain available to the Baileys runtime');
if (lock.packages?.['node_modules/protobufjs']?.dev !== true) {
throw new Error('protobufjs must remain build-only in the package lock');
}
if (manifest.bin?.['dsh-im'] !== 'bin/dsh-im.mjs') {
throw new Error('package manifest must publish the dsh-im executable');
}
if (/(?:from\s*|import\s*\(|require\s*\()\s*["'](?:@larksuiteoapi\/node-sdk|protobufjs)(?:\/[^"']*)?["']/.test(host)) {
throw new Error('host bundle must not import the Feishu SDK or protobufjs at runtime');
if (/(?:from\s*|import\s*\(|require\s*\()\s*["'](?:@larksuiteoapi\/node-sdk|@whiskeysockets\/baileys|protobufjs)(?:\/[^"']*)?["']/.test(host)) {
throw new Error('host bundle must not import a bundled SDK or protobufjs at runtime');
}
if ((executable.mode & 0o111) === 0) throw new Error('dsh-im CLI is not executable');
if (/private-bot-token|must-be-rolled-back|DEEPSEEK_API_KEY=/.test(client + host)) {