{"record":{"id":"d638a494c480812c","repo":"denoland/deno","slug":"warning-not-implemented","errorCode":null,"errorMessage":"Warning: Not implemented","messagePattern":"Warning: Not implemented","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"ext/node/polyfills/_utils.ts","lineNumber":54,"sourceCode":"  | \"ucs2\"\n  | \"ucs-2\"\n  | \"base64\"\n  | \"base64url\"\n  | \"latin1\"\n  | \"hex\";\n\ntype Encodings = BinaryEncodings | TextEncodings;\n\nfunction notImplemented(msg: string): never {\n  throw new ERR_NOT_IMPLEMENTED(msg);\n}\n\nfunction warnNotImplemented(msg?: string) {\n  const message = msg\n    ? `Warning: Not implemented: ${msg}`\n    : \"Warning: Not implemented\";\n  // deno-lint-ignore no-console\n  console.warn(message);\n}\n\ntype _TextDecoder = typeof TextDecoder.prototype;\nconst _TextDecoder = TextDecoder;\n\ntype _TextEncoder = typeof TextEncoder.prototype;\nconst _TextEncoder = TextEncoder;\n\n// API helpers\n\ntype MaybeNull<T> = T | null;\ntype MaybeDefined<T> = T | undefined;\ntype MaybeEmpty<T> = T | null | undefined;\n\nfunction intoCallbackAPI<T>(\n  // deno-lint-ignore no-explicit-any\n  func: (...args: any[]) => Promise<T>,\n  cb: MaybeEmpty<(err: MaybeNull<Error>, value?: MaybeEmpty<T>) => void>,","sourceCodeStart":36,"sourceCodeEnd":72,"githubUrl":"https://github.com/denoland/deno/blob/9ad36f7a2cce60488e6ec52283efb32efddaf93a/ext/node/polyfills/_utils.ts#L36-L72","documentation":"The msg-less form of warnNotImplemented() in ext/node/polyfills/_utils.ts: a node-compat stub was invoked without labeling which API it stubs, so the log only says 'Warning: Not implemented' with no name. Behavior is the same as the labeled variant: the call is a no-op and execution continues. The missing label makes it harder to trace which call site triggered it.","triggerScenarios":"A polyfill calls warnNotImplemented() with no argument, so any invocation of that unnamed stub prints the bare message. Because nothing identifies the API, it surfaces as an unattributable warning during normal execution of node-targeting code.","commonSituations":"Dependencies that lazily touch an unimplemented node API deep inside a rarely-taken branch; production logs full of anonymous 'Not implemented' lines nobody can map to a call; intermittent appearance tied to specific request types.","solutions":["Trap console.warn temporarily to capture a stack trace at the exact call site (see validation code) and identify the invoking module","Reproduce with `deno run` and bisect your imports/request paths until the warning appears, then replace that call with a supported API","Upgrade Deno; many stubs gain real implementations, and newer polyfills label their warnings","Report the unlabeled stub to the Deno repo so the message can carry the API name"],"exampleFix":"// before: anonymous warning in logs, unknown origin\n// Warning: Not implemented\n\n// after: instrument once at startup to attribute it\nconst warn = console.warn.bind(console);\nconsole.warn = (...a) => {\n  if (String(a[0]) === \"Warning: Not implemented\") console.trace(\"unimplemented node API\");\n  warn(...a);\n};","handlingStrategy":"validation","validationCode":"// attribute the anonymous warning: install this trap before importing app code\nconst warn = console.warn.bind(console);\nconsole.warn = (...a) => {\n  if (String(a[0]).startsWith(\"Warning: Not implemented\")) {\n    console.trace(\"unimplemented node API hit\"); // stack names the call site\n  }\n  warn(...a);\n};","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Keep the console.warn trap in dev builds so unlabeled stubs are attributable immediately","Bisect imports/request paths when the warning appears to find the invoking module","Upgrade Deno; newer polyfills label their warnings and often gain real implementations"],"tags":["node-compat","polyfill","not-implemented","silent-noop","diagnostics"],"backgroundTag":"api-not-implemented","analyzedSha":"9ad36f7a2cce60488e6ec52283efb32efddaf93a","analyzedAt":"2026-08-20T13:07:44.778Z","contentChangedAt":"2026-08-20T13:07:44.778Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}