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

Offen Anfängerfreundlich
#1,088 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
65/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
javascript, node.js
Bereich
cli

Rechercherichtung

Lies den Abhängigkeitseintrag für @opentelemetry/semantic-conventions in package.json und suche den im Bericht beschriebenen Import in dist/cli.mjs. Prüfe, wie sich die Exporte der Version 1.44.0 von denen der Version 1.43.0 unterscheiden, reproduziere das Problem anschließend mit einer sauberen Installation und führe cmdc --version, --help und info aus. Fertig ist die Arbeit, wenn neue Installationen ohne den SyntaxError wegen des fehlenden Default-Exports starten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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

Vorherrschende Sprache
Keine Sprachdaten
Sterne
4.2k
Forks
377
Ø Merge
3 T. 15 Std.
Gemergte PRs (30 T.)
8

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus CommandCodeAI/command-code

Alle Issues in CommandCodeAI/command-code

Ähnliche Issues

Weitere Issues zu CLI

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.