๐จ [P2] [dataloader-core] Runtime OpenTelemetry API import is undeclared
Category: Packaging/Public API Effort: S Confidence: High
Evidence: ๋ฐ๊ฒฌ 1๊ฑด ยท ์ํฅ ํ์ผ 2๊ฐ ยท hotspot=false ยท bugfix churn=0ํ
๐ ์์ธ ๋ด์ฉ
- ์ฃผ์ ์์น:
packages/dataloader-core/src/libs/BatchLoader.ts:3
- ์ถ๊ฐ ๋ฐ์ ์์น:
packages/dataloader-core/package.json:24-29 โ dependencies omit @opentelemetry/api
packages/dataloader-core/README.md โ documents OpenTelemetry integration and install as pnpm add @croco/dataloader-core
- ๋ฌธ์ ์ฝ๋:
import { recordError } from '@croco/telemetry-api';
import { context, trace } from '@opentelemetry/api';
@croco/dataloader-core directly imports OpenTelemetry API objects at runtime, but its published dependency list only includes Croco packages such as @croco/telemetry-api; it does not declare @opentelemetry/api directly.
- ์ ๋ฌธ์ ์ธ๊ฐ?
Under pnpm/published-package isolation, a package must declare the packages it imports directly. A clean consumer that installs only @croco/dataloader-core can fail to load BatchLoader unless another incidental dependency hoists @opentelemetry/api. This is a packaging contract issue, distinct from existing dataloader runtime behavior issues.
๐ ์ ์ ํด๊ฒฐ ๋ฐฉ์
- Add
@opentelemetry/api to packages/dataloader-core/package.json dependencies or peerDependencies + devDependencies according to the intended consumer contract.
- Align the version range with the rest of the monorepo telemetry packages.
- Add a pack/install smoke test that imports
@croco/dataloader-core from a clean fixture.
โ
Acceptance Criteria
๐ก Regression Prevention
Add a package dependency audit that compares non-relative runtime imports in packages/*/src with each package's dependencies/peerDependencies.
๐ Related
- Files:
packages/dataloader-core/src/libs/BatchLoader.ts, packages/dataloader-core/package.json, packages/dataloader-core/README.md
- Related issues: none found by duplicate search
Generated by issue-find v2 (severity=P2, evidence_score=high)
๐จ [P2] [dataloader-core] Runtime OpenTelemetry API import is undeclared
๐ ์์ธ ๋ด์ฉ
packages/dataloader-core/src/libs/BatchLoader.ts:3packages/dataloader-core/package.json:24-29โ dependencies omit@opentelemetry/apipackages/dataloader-core/README.mdโ documents OpenTelemetry integration and install aspnpm add @croco/dataloader-core@croco/dataloader-coredirectly imports OpenTelemetry API objects at runtime, but its published dependency list only includes Croco packages such as@croco/telemetry-api; it does not declare@opentelemetry/apidirectly.Under pnpm/published-package isolation, a package must declare the packages it imports directly. A clean consumer that installs only
@croco/dataloader-corecan fail to loadBatchLoaderunless another incidental dependency hoists@opentelemetry/api. This is a packaging contract issue, distinct from existing dataloader runtime behavior issues.๐ ์ ์ ํด๊ฒฐ ๋ฐฉ์
@opentelemetry/apitopackages/dataloader-core/package.jsondependencies or peerDependencies + devDependencies according to the intended consumer contract.@croco/dataloader-corefrom a clean fixture.โ Acceptance Criteria
@croco/dataloader-coredeclares every direct runtime dependency it imports, including@opentelemetry/api.BatchLoaderwithout relying on transitive/hoisted dependencies.๐ก Regression Prevention
Add a package dependency audit that compares non-relative runtime imports in
packages/*/srcwith each package's dependencies/peerDependencies.๐ Related
packages/dataloader-core/src/libs/BatchLoader.ts,packages/dataloader-core/package.json,packages/dataloader-core/README.mdGenerated by issue-find v2 (severity=P2, evidence_score=high)