CLI crashes on startup with @opentelemetry/semantic-conventions default export error
维护者通常 2 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 65/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- javascript, node.js
- 领域
- cli
调研方向
阅读 package.json 中 @opentelemetry/semantic-conventions 的依赖项,并定位报告中描述的 dist/cli.mjs 导入。检查 1.44.0 版的 exports 与 1.43.0 版有何不同,然后通过全新安装复现问题,并运行 cmdc --version、--help 和 info。全新安装能够启动且不再出现 default export SyntaxError,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Summary
Root Cause
-
Upstream Breaking Change:
• On October 28, 2026, @opentelemetry/[email protected] was published. In this release, the package build was revamped with tsdown,
routing ESM imports directly to ./dist/index.mjs, which exposes only named exports and no default export.
• In previous versions (1.43.0 and earlier), exports fell back to CommonJS (build/src/index.js), which allowed Node.js to synthesize a default
export object. -
Permissive Semver Range:
• command-code (the package behind cmdc) specified "@opentelemetry/semantic-conventions": "^1.30.0" in its dependencies.
• When installed, npm resolved the dependency to the newly released 1.44.0.
• The bundled code in cli.mjs performs:
import ze from "@opentelemetry/semantic-conventions";• Because 1.44.0 has no default export, Node.js halted execution with a SyntaxError.
──────
Resolution Applied
- Downgraded Dependency:
• Replaced @opentelemetry/semantic-conventions in command-code's global node_modules with version 1.43.0. - Pinned Version:
• Pinned the dependency to exact version "1.43.0" in package.json to prevent automatic re-upgrades until command-code publishes an official
patch. - Verification:
• Verified that cmdc --version (outputs 1.88.1), cmdc --help, and cmdc info execute and exit cleanly without errors.
────────────────────────────────────────────────────────────
need to file bug on github issues with the exact packge version give me content for this
▸ Thought for 6s
Here is a complete, preformatted issue report ready to paste into GitHub Issues:
──────
Title
[Bug]: SyntaxError: The requested module '@opentelemetry/semantic-conventions' does not provide an export named 'default' on startup
──────
Issue Body
### Describe the Bug
When running `cmdc` (or `cmd`, `command-code`), the CLI crashes immediately on startup with a `SyntaxError`:
SyntaxError: The requested module '@opentelemetry/semantic-conventions' does not provide an export named 'default'
at #_instantiate (node:internal/modules/esm/module_job:254:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:369:5)
at async onImport.tracePromise.proto (node:internal/modules/esm/loader:691:26)
at async file:///.../command-code/dist/index.mjs:2:1757
### Environment
- **Package Version**: `[email protected]`
- **Node Version**: `v24.11.0` (affects Node >= 22)
- **OS**: Windows (win32 x64) / macOS / Linux
- **npm Version**: Current (`npm i -g command-code`)
### Steps to Reproduce
1. Install `command-code` globally:
```bash
npm install -g command-code
-
Run any command:
cmdc --version
# or
cmd -
Observe the crash before the CLI loads.
Root Cause Analysis
-
In [email protected]'s package.json, @opentelemetry/semantic-conventions is specified as:
"@opentelemetry/semantic-conventions": "^1.30.0" -
On October 28, 2026, @opentelemetry/[email protected] was released. This release revamped the build output with tsdown and routed
exports directly to pure ESM (./dist/index.mjs), which provides only named exports and no default export. -
In earlier versions (1.43.0 and below), the package entrypoint pointed to CommonJS (build/src/index.js), enabling Node's synthetic default
import. -
Because ^1.30.0 resolves to 1.44.0 on fresh installs, dist/cli.mjs fails when executing:
import ze from "@opentelemetry/semantic-conventions";
// ...
({ ATTR_SERVICE_NAME: ZD, ATTR_SERVICE_VERSION: eN } = ze)
Proposed Solutions
Any of the following will fix the issue:
-
Named Import (Recommended): Change the import in the source to named imports:
import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
or namespace import:
import * as ze from "@opentelemetry/semantic-conventions"; -
Pin Dependency Version: Pin the dependency in package.json until the import style is updated:
"@opentelemetry/semantic-conventions": "1.43.0"
Expected Behavior
Expected Behavior
The CLI (`cmdc`, `cmd`, or `command-code`) should start up successfully and display the interactive interface or handle flags (e.g.,
`--version`, `--help`) without throwing a module resolution `SyntaxError`.
Actual Behavior
### Actual Behavior
The CLI immediately crashes upon execution and exits with code 1 before loading any commands or interface:
```text
SyntaxError: The requested module '@opentelemetry/semantic-conventions' does not provide an export named 'default'
at #_instantiate (node:internal/modules/esm/module_job:254:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:369:5)
at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:691:26)
at async file:///.../command-code/dist/index.mjs:2:1757
Node.js v24.11.0
Steps to reproduce the issue
Steps to Reproduce
1. Install `command-code` globally via npm (or clean install):
```bash
npm install -g command-code
- Run any command or flag using cmdc, cmd, or command-code:
cmdc --version
(or simply cmdc) - The process crashes immediately with the SyntaxError.
Command Code Version
1.88.1
Operating System
Windows
Terminal/IDE
No response
Shell
No response
Session file (optional)
No response
Fix prompt (optional)
### Context
`@opentelemetry/[email protected]` switched its ESM build (`dist/index.mjs`) to export only named attributes, dropping the synthetic
CommonJS default export. Because `package.json` specifies `"^1.30.0"`, fresh installs pull in `1.44.0`, breaking `import ze from
"@opentelemetry/semantic-conventions"` with:
`SyntaxError: The requested module '@opentelemetry/semantic-conventions' does not provide an export named 'default'`
### Instructions
1. In the source file where `@opentelemetry/semantic-conventions` is imported:
- Replace any default import (`import ze from "@opentelemetry/semantic-conventions"`) with named imports:
```typescript
import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
```
- Or change to a namespace import:
```typescript
import * as ze from "@opentelemetry/semantic-conventions";
```
2. (Optional safeguard) Pin the dependency in `package.json`:
```json
"@opentelemetry/semantic-conventions": "~1.43.0"
```
3. Rebuild the CLI and ensure `cmdc --version` executes cleanly without throwing `SyntaxError`.
`````*
Additional context
No response
- 主要语言
- 没有语言数据
- 星标
- 4.2k
- 派生
- 372
- 平均合并
- 4 天 15 小时
- 30 天内合并 PR
- 9
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
CommandCodeAI/command-code 的其他 Issue
-
Provider /v1/messages rejects role:"system" inside messages[] — Claude Code ≥ 2.1.154 incompatible未关闭
难度 2/5 1-3 小时 新手友好度 75/100
CommandCodeAI/command-code#1085 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
CommandCodeAI/command-code#1082 · 1 条评论 · 2 个 reaction ·
维护者通常 2 天内回复
-
Feature request: auto-reconnect remote control (/rc) after restart可能已有人在做 @aliarain 于 7 天前认领。 未关闭p2
难度 2/5 1-3 小时 新手友好度 85/100
CommandCodeAI/command-code#992 · 1 条评论 · 已指派 1 人 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
CommandCodeAI/command-code#933 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
CommandCodeAI/command-code#855 ·
维护者通常 2 天内回复
查看 CommandCodeAI/command-code 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
FireDynamics/LEDSmokeAnalysis#176 ·
维护者通常 1 天内回复
-
add accepts Infinity scores and writes records that immediately fail validation可能已有人在做 @vivek-3728 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
techcsispit/grade-tracker#69 · 1 条评论 ·
维护者通常 2 天内回复
-
good first issue
难度 2/5 1-3 小时 新手友好度 78/100
-
bug
难度 2/5 1-3 小时 新手友好度 73/100
datamodel-code-generator/datamodel-code-generator#5589 ·
维护者通常 1 天内回复
-
A-core bug P-medium S-ready-to-start
难度 2/5 1-3 小时 新手友好度 65/100
维护者通常 1 天内回复