1.0.1 • Published 4 years ago

fs-browser-stub v1.0.1

Weekly downloads
1,501
License
MIT
Repository
github
Last release
4 years ago

fs-browser-stub Build Status

Stub node fs module in browser.

fs.readFile is still a function, would not throw an error. Only when user calls fs.readFile(), it then throw an error.

What this resolve?

By default, browserify/webpack/parcel/fusebox/dumber would stub fs module with nothing or an empty object {}.

I was confused why @babel/core v7.8.0+ does not work in browser anymore. It turns out the babel uses gensync and that checks the type of sync and errback options. It rejects if they are not function. This new fs stub bypasses the issue.

From https://github.com/babel/babel/blob/master/packages/babel-core/src/gensync-utils/fs.js

export const readFile = gensync<[string, "utf8"], string>({
  sync: fs.readFileSync,
  errback: fs.readFile,
});