Skip to content

Remove unnecessary safe-buffer dependency (use Node.js built-in Buffer API) #112

@hdsuperman

Description

@hdsuperman

Hi, I noticed that the project depends on safe-buffer. This dependency was mainly needed for very old Node.js versions (<6) that didn’t support the modern Buffer APIs.

Since all actively supported Node.js versions now include Buffer.from and Buffer.alloc natively, the safe-buffer dependency is no longer necessary. Removing it would help reduce install size and dependency tree complexity.

Additionally, safe-buffer can cause issues in modern ESM builds:

  • The package relies on require("buffer") internally.
  • When bundled as ESM (e.g. with esbuild/rollup/webpack), this leads to runtime errors such as
    Error: Dynamic require of "buffer" is not supported.

Suggested change:

  • Replace require('safe-buffer').Buffer with the built-in Buffer global.
  • Drop safe-buffer from dependencies.

This should be fully backwards-compatible for all currently supported Node.js versions (>=12, >=14, >=16, etc.).

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions