Vigia

将 @appium/logger 从 2.x 升级到 3.x

根据 TypeScript 类型自动比较 @appium/logger 2.0.12 与 3.0.0 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。

概要

已删除的导入路径0
已删除的导出1
已修改的签名0
已删除的类或接口成员5
已修改的类或接口成员1
新增弃用0
要求变化(engines、peer 依赖)1
新增导出1

已删除的导出

importexportkind之前
@appium/loggerdefaultvariableLog

已修改的签名

未发现。

已删除的类或接口成员

memberimport之前
Logger.enableUnicode@appium/logger(): void
Logger.disableUnicode@appium/logger(): void
Logger.enableProgress@appium/logger(): void
Logger.disableProgress@appium/logger(): void
Logger.progressEnabled@appium/logger(): boolean

已修改的类或接口成员

member之前之后
Logger.log(level: string, prefix: string, message: any, ...args: any[]): void(level: CustomLogLevel, prefix: string, message: any, ...args: any[]): void

新增弃用

未发现。

要求变化(engines、peer 依赖)

之前之后
engines.node^20.19.0 || ^22.12.0 || >=24.0.0^22.22.2 || ^24.15.0 || >=26.0.0
新增导出 (1)
importexportkind
@appium/loggerCustomLogLeveltype

这些版本之间的 changelog

软件包作者发布的文本,按原样显示。

3.0.0
### ⚠ BREAKING CHANGES

* **support:** Any script or tool that consumes Appium CLI output (driver/plugin list/install/update, doctor, etc.) and relies on the previous stream layout will need to be updated. Previously, non-JSON human-readable output (info/success/warning messages) was written to STDERR, with STDOUT reserved almost exclusively for --json output. Now that output goes to STDOUT, and only actual errors go to STDERR.
* **support:** Scripts that discarded STDOUT (1>/dev/null) to suppress "chatter" while relying on STDERR for status text will now see that text on STDOUT instead.
* **support:** Scripts that captured STDERR to detect/log informational or success messages will no longer see them there — only genuine errors will appear on STDERR. --json output and error behavior are unaffected: --json continues to write clean JSON to STDOUT only, and errors continue to go to STDERR.
* **support:** @appium/logger's Log class changes its default output stream from STDERR to STDOUT for all levels except error, and adds an errorStream/stderrLevel pair of properties. Any code that set .stream on a Log instance expecting it to capture all levels (including error) will now need to also set .errorStream to the same target.
* **logger:** @appium/logger and @appium/support no longer export a default log — import the named log export instead.
* **logger:** AppiumLogger#errorAndThrow has been removed; use errorWithException instead.
* **logger:** Logger#enableProgress, disableProgress, progressEnabled, enableUnicode, disableUnicode have been removed; they were already permanently disabled no-ops.
* the minimum supported Node.js engine is set to ^22.22.2 || ^24.15.0 || >=26.0.0
* require('@appium/support') no longer works; consumers must import it instead.
* require('@appium/base-driver') no longer works; drivers extending BaseDriver via require must switch to import.
* require('@appium/base-plugin') no longer works; plugins extending BasePlugin via require must switch to import.
* require('appium') no longer works; plugins extending the package via require must switch to import.
* require('@appium/fake-plugin') no longer works; consumers must import it instead.
* require('@appium/fake-driver') no longer works; consumers must import it instead.
* require('@appium/types') no longer works; consumers must import it instead.
* require('@appium/logger') no longer works; consumers must import it instead.
* require('@appium/schema') no longer works; consumers must import it instead.

### Features

* bump minimum supported Node.js engine to ^22.22.2 || ^24.15.0 || >=26.0.0 ([#22685](https://github.com/appium/appium/issues/22685)) ([8ad9193](https://github.com/appium/appium/commit/8ad9193115129e8bcae9fff7845dd753431ff687))
* convert remaining monorepo packages to ESM-only ([#22674](https://github.com/appium/appium/issues/22674)) ([48452fe](h
3.0.0-beta.2
3.0.0-beta.1
**Note:** Version bump only for package @appium/logger
3.0.0-beta.0
### ⚠ BREAKING CHANGES

* **support:** Any script or tool that consumes Appium CLI output (driver/plugin list/install/update, doctor, etc.) and relies on the previous stream layout will need to be updated. Previously, non-JSON human-readable output (info/success/warning messages) was written to STDERR, with STDOUT reserved almost exclusively for --json output. Now that output goes to STDOUT, and only actual errors go to STDERR.
* **support:** Scripts that discarded STDOUT (1>/dev/null) to suppress "chatter" while relying on STDERR for status text will now see that text on STDOUT instead.
* **support:** Scripts that captured STDERR to detect/log informational or success messages will no longer see them there — only genuine errors will appear on STDERR. --json output and error behavior are unaffected: --json continues to write clean JSON to STDOUT only, and errors continue to go to STDERR.
* **support:** @appium/logger's Log class changes its default output stream from STDERR to STDOUT for all levels except error, and adds an errorStream/stderrLevel pair of properties. Any code that set .stream on a Log instance expecting it to capture all levels (including error) will now need to also set .errorStream to the same target.
* **logger:** @appium/logger and @appium/support no longer export a default log — import the named log export instead.
* **logger:** AppiumLogger#errorAndThrow has been removed; use errorWithException instead.
* **logger:** Logger#enableProgress, disableProgress, progressEnabled, enableUnicode, disableUnicode have been removed; they were already permanently disabled no-ops.
* the minimum supported Node.js engine is set to ^22.22.2 || ^24.15.0 || >=26.0.0
* require('@appium/support') no longer works; consumers must import it instead.
* require('@appium/base-driver') no longer works; drivers extending BaseDriver via require must switch to import.
* require('@appium/base-plugin') no longer works; plugins extending BasePlugin via require must switch to import.
* require('appium') no longer works; plugins extending the package via require must switch to import.
* require('@appium/fake-plugin') no longer works; consumers must import it instead.
* require('@appium/fake-driver') no longer works; consumers must import it instead.
* require('@appium/types') no longer works; consumers must import it instead.
* require('@appium/logger') no longer works; consumers must import it instead.
* require('@appium/schema') no longer works; consumers must import it instead.

### Features

* bump minimum supported Node.js engine to ^22.22.2 || ^24.15.0 || >=26.0.0 ([#22685](https://github.com/appium/appium/issues/22685)) ([9f4a11e](https://github.com/appium/appium/commit/9f4a11e7190290986d01743557e90e6e44f87638))
* convert remaining monorepo packages to ESM-only ([#22674](https://github.com/appium/appium/issues/22674)) ([3516e50](h

把这些数据交给你的 AI 智能体

Vigia 是免费的 MCP 服务器:你的编程智能体在写代码之前就能检查版本、不兼容变更和安全漏洞。无需注册,无需 API 密钥。

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

添加到 Cursor添加到 VS Code★ 在 GitHub 上加星

任何其他 MCP 客户端
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

智能体技能(SKILL.md):告诉智能体何时使用 Vigia · 用于拉取请求的 GitHub Action

常见问题

将 @appium/logger 从 2 升级到 3 有哪些不兼容变更?

在 @appium/logger 2.0.12 与 3.0.0 之间,Vigia 发现 1 个已删除的导出、0 个已修改的签名,以及 6 个已删除或修改的类或接口成员。

@appium/logger 3 中弃用了哪些内容?

@appium/logger 3.0.0 中有 0 个导出或成员新被标记为弃用。

供智能体使用

GET https://vigia.coredls.cloud/v1/packages/npm/@appium/logger/upgrade?from=2.0.12&to=3.0.0