gray-matter icon indicating copy to clipboard operation
gray-matter copied to clipboard

Typescript error: gray-matter.d.ts(43,11): error TS2304: Cannot find name 'Buffer'

Open michaeljota opened this issue 6 years ago • 4 comments

Since Buffer is not available in the browser, when compiling without node types, this error is throw.

michaeljota avatar Apr 15 '18 22:04 michaeljota

This unfortunately also makes the library almost unusable for Angular based projects since they no longer supply shims for node types that don't exist in the browser in the Angular CLI.

bniedermeyer avatar Jun 11 '18 01:06 bniedermeyer

Since Buffer is not available in the browser, when compiling...

This is an excellent point.

Looking at the typings, it seems that Buffer is used, unnecessarily in one place and for an input type in another. I think we can remove it from the typings and provide and example in the Readme to show how to use buffers instead of strings.

However, to make such a change would be a breaking change, not to the APIs but to the types.

@jonschlinkert my proposal would be:

  1. We fix the typings to remove all references to Buffer. These changes are pushed to a 5.x branch.
  2. We update the README file to explain how to use Buffer with gray-matter.
  3. We release the 5.x branch when ready.

@jonschlinkert What is the process WRT releasing a new major release? When we are ready?

robertmassaioli avatar Jan 17 '19 22:01 robertmassaioli

I can easily install @types/node, but apparently, this is not compatible with @types/webpack-env

I found a solution, if I need to browserify or Webpack,

type Buffer = any

patarapolw avatar Jan 03 '20 09:01 patarapolw

This makes gray-matter difficult to use in Deno. It seems to work (without proper types) from https://jspm.dev, but fails from https://cdn.pika.dev (but types work).

cj81499 avatar Jun 25 '20 00:06 cj81499