Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta Para iniciantes
#1,088 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
65/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
javascript, node.js
Domínio
cli

Direção de pesquisa

Leia a entrada da dependência @opentelemetry/semantic-conventions em package.json e localize a importação em dist/cli.mjs descrita no relatório. Verifique como os exports da versão 1.44.0 diferem dos da versão 1.43.0, depois reproduza o problema com uma instalação limpa e execute cmdc --version, --help e info. O trabalho estará concluído quando novas instalações iniciarem sem o SyntaxError por falta do default export.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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

Linguagem predominante
Sem dados de linguagem
Estrelas
4.2k
Forks
372
Merge médio
4d 15h
PRs com merge (30d)
9

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de CommandCodeAI/command-code

Todas as issues de CommandCodeAI/command-code

Issues semelhantes

Mais issues de CLI

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.