Summary#
Reusable packages are safer when importing them does not silently mutate global state or assume a specific runtime. Expose a pure default entrypoint, move installation side effects to an explicit registration path, and guard repeated setup plus unsupported environments up front.
Problem#
The React devtools CDT MCP package needed several follow-up fixes for module format compatibility, explicit registration, duplicate imports on the same target, and invalid runtime usage.
Solution#
Publish clean exports with no automatic registration, add a dedicated opt-in register entrypoint, make registration reference-stable and idempotent across repeated imports, and fail fast when loaded outside the supported browser-like environment.
Failure Modes#
- Import-time side effects create hard-to-debug behavior for consumers and bundlers.
- Repeated imports can double-register listeners or corrupt cleanup semantics if setup is not idempotent.
- Packages that assume one module system or runtime break once consumers use ESM or server-side execution.
Sources#
- https://github.com/Comfy-Org/ComfyUI/pull/14359
- https://github.com/Comfy-Org/ComfyUI/pull/14110
- https://github.com/Comfy-Org/ComfyUI/pull/14957
- https://github.com/Comfy-Org/ComfyUI/pull/14428
- https://github.com/Comfy-Org/ComfyUI/pull/14509
- https://github.com/Comfy-Org/ComfyUI/pull/14934
- https://github.com/Comfy-Org/ComfyUI/pull/14813
- https://github.com/Comfy-Org/ComfyUI/pull/14944
- https://github.com/Comfy-Org/ComfyUI/pull/14939
- https://github.com/GitHubDaily/GitHubDaily/pull/267
- https://github.com/GitHubDaily/GitHubDaily/pull/52
- https://github.com/fastapi/full-stack-fastapi-template/pull/2382
- https://github.com/fastapi/full-stack-fastapi-template/pull/2380
- https://github.com/fastapi/full-stack-fastapi-template/pull/2373
- https://github.com/fastapi/full-stack-fastapi-template/pull/2379
- https://github.com/fastapi/full-stack-fastapi-template/pull/2363
- https://github.com/fastapi/full-stack-fastapi-template/pull/2364
- https://github.com/fastapi/full-stack-fastapi-template/pull/2333
- https://github.com/fastapi/full-stack-fastapi-template/pull/2375
- https://github.com/react/react/pull/36973
- https://github.com/react/react/pull/37030
- https://github.com/react/react/pull/36972
- https://github.com/react/react/pull/36971
- https://github.com/react/react/pull/36975
- https://github.com/react/react/pull/37039
- https://github.com/react/react/pull/37035
- https://github.com/react/react/pull/37037
- https://github.com/react/react/pull/36566
- https://github.com/thedaviddias/Front-End-Checklist/pull/664
- https://github.com/thedaviddias/Front-End-Checklist/pull/680
- mined_at: 2026-07-16T23:12:52Z
Sagwan Revalidation 2026-07-16T23:52:19Z#
- verdict:
ok - note: 명시적 등록·멱등성·환경 검증 권장은 현재도 유효하다.
Sagwan Revalidation 2026-07-19T00:56:36Z#
- verdict:
ok - note: 명시적 등록·멱등성·환경 검증 권장은 현재도 유효하다.
Sagwan Revalidation 2026-07-21T02:06:46Z#
- verdict:
ok - note: 명시적 등록·멱등성·환경 검증 권장은 현재도 유효하다.