Files
qwen-code/.pnpmfile.mjs
T
顾盼 a791e47a54 feat(cua): streamline computer use and port native reliability fixes (#14846)
* feat(cua): preload the JavaScript computer use runtime

* refactor(cua): remove the native Wayland backend

* feat(cua): move app computer use into the driver

* feat(cua): preserve background delivery and port platform fixes

* feat(cua): add explicit desktop input and browser runtime facade

* feat(cua): package the unified 0.26.0 computer use runtime

* fix(cua): finalize cross-platform native reliability

* fix(cua): isolate runtime releases from CLI versioning

* fix(cua): keep Electron out of root workspace installs

* fix(cua): synchronize consumers and async cleanup tests

* fix(browser): migrate smoke to preloaded cua runtime

* docs(cua): document MCP setup for Qwen Code Claude Code and Codex
2026-10-21 14:03:31 +08:00

67 lines
1.8 KiB
JavaScript

/**
* @license
* Copyright 2026 Qwen Team
* SPDX-License-Identifier: Apache-2.0
*/
// Every pnpm workspace member name, so any spelling of an internal
// dependency (file:, an exact release version, or *) rewrites to
// workspace:*. scripts/tests/package-scripts.test.js pins this set against
// the workspace manifests, so a newly added package fails that test until
// it is listed here.
export const workspacePackageNames = new Set([
'@qwen-code/acp-bridge',
'@qwen-code/audio-capture',
'@qwen-code/browser-use',
'@qwen-code/channel-base',
'@qwen-code/channel-dingtalk',
'@qwen-code/channel-dws',
'@qwen-code/channel-email',
'@qwen-code/channel-feishu',
'@qwen-code/channel-github',
'@qwen-code/channel-gitlab',
'@qwen-code/channel-plugin-example',
'@qwen-code/channel-qqbot',
'@qwen-code/channel-telegram',
'@qwen-code/channel-wecom',
'@qwen-code/channel-weixin',
'@qwen-code/chrome-bridge',
'@qwen-code/cua-sdk',
'@qwen-code/external-context',
'@qwen-code/external-context-mem0',
'@qwen-code/test-failure-explorer',
'@qwen-code/generated-ui',
'@qwen-code/mobile-mcp',
'@qwen-code/node-repl-mcp',
'@qwen-code/qwen-code',
'@qwen-code/qwen-code-core',
'@qwen-code/qwen-live',
'@qwen-code/sdk',
'@qwen-code/web-shell',
'@qwen-code/web-templates',
'qwen-code-vscode-ide-companion',
]);
const dependencyFields = [
'dependencies',
'devDependencies',
'optionalDependencies',
];
export const hooks = {
readPackage(packageJson) {
for (const field of dependencyFields) {
const dependencies = packageJson[field];
if (!dependencies) continue;
for (const name of Object.keys(dependencies)) {
if (workspacePackageNames.has(name)) {
dependencies[name] = 'workspace:*';
}
}
}
return packageJson;
},
};