Skip to content

Version 8.x is not compatible with tsconfig --skipLibCheck false #506

@reda-alaoui

Description

@reda-alaoui

My project is a webapp using Ketting in the browser context. Therefore I have no dependency on any related nodejs component.
My tsconfig had always --skipLibCheck false.

When moving from version 7.5.1 to 8.0.1, I get the following error:

Error: node_modules/ketting/dist/resource.d.ts:5:30 - error TS7016: Could not find a declaration file for module 'events'. '/home/node/app/ui/client/project/node_modules/events/events.js' implicitly has an 'any' type.
2026-02-15T14:12:01.424099444Z   Try `npm i --save-dev @types/events` if it exists or add a new declaration (.d.ts) file containing `declare module 'events';`
2026-02-15T14:12:01.424143747Z 
2026-02-15T14:12:01.424184918Z 5 import { EventEmitter } from 'events';
2026-02-15T14:12:01.424224846Z                                ~~~~~~~~
2026-02-15T14:12:01.424244838Z 
2026-02-15T14:12:01.424268067Z 
2026-02-15T14:12:01.424306801Z Error: node_modules/ketting/dist/state/base-state.d.ts:103:22 - error TS2591: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig.
2026-02-15T14:12:01.424339982Z 
2026-02-15T14:12:01.424369699Z 103     serializeBody(): Buffer | Blob | string;
2026-02-15T14:12:01.424382367Z                          ~~~~~~
2026-02-15T14:12:01.424424027Z 
2026-02-15T14:12:01.424449190Z 
2026-02-15T14:12:01.424468106Z Error: node_modules/ketting/dist/state/interface.d.ts:66:22 - error TS2591: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig.
2026-02-15T14:12:01.424485845Z 
2026-02-15T14:12:01.424514938Z 66     serializeBody(): Buffer | Blob | string;
2026-02-15T14:12:01.424535232Z                         ~~~~~~
2026-02-15T14:12:01.424564557Z 
2026-02-15T14:12:01.424591993Z 
2026-02-15T14:12:01.424616496Z Error: node_modules/ketting/dist/types.d.ts:15:36 - error TS2591: Cannot find name 'Buffer'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig.
2026-02-15T14:12:01.424659509Z 
2026-02-15T14:12:01.424697325Z 15     serializeBody?: () => string | Buffer | Blob;
2026-02-15T14:12:01.424722290Z                                       ~~~~~~

The only solution I found to get rid of this issue is to use --skipLibCheck true.

I think this difference of behavior comes from the fact the webpack output was removed between 7.x and 8.x.

Despite the workaround, it doesn't feel right to enable skipLibCheck.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions