Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

CLI crashes on startup with @opentelemetry/semantic-conventions default export error

未关闭 适合新手
#1,088 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 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
  1. 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.

  2. 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
  1. Downgraded Dependency:
    • Replaced @opentelemetry/semantic-conventions in command-code's global node_modules with version 1.43.0.
  2. 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.
  3. 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
  1. Run any command:
    cmdc --version
    # or
    cmd

  2. Observe the crash before the CLI loads.

Root Cause Analysis
  1. In [email protected]'s package.json, @opentelemetry/semantic-conventions is specified as:
    "@opentelemetry/semantic-conventions": "^1.30.0"

  2. 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.

  3. In earlier versions (1.43.0 and below), the package entrypoint pointed to CommonJS (build/src/index.js), enabling Node's synthetic default
    import.

  4. 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:

  1. 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";

  2. 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
  1. Run any command or flag using cmdc, cmd, or command-code:
    cmdc --version
    (or simply cmdc)
  2. 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,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

CommandCodeAI/command-code 的其他 Issue

查看 CommandCodeAI/command-code 的全部 Issue

相似的 Issue

更多 CLI Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。