soumak77 / firebase-mock

Firebase mock library for writing unit tests
https://soumak77.github.io/firebase-mock
350 stars 96 forks source link

Cannot be used in webpack/browser, due to require("fs") #157

Open Venryx opened 5 years ago

Venryx commented 5 years ago

Most of this library works perfectly fine between NodeJS and the browser/Webpack.

However, there is one line that breaks it for the latter: https://github.com/soumak77/firebase-mock/blob/master/src/storage-file.js#L8

Ideally, there would be a way to exclude the NodeJS-requiring portion of the library, so you can use it from browser code.

This would be helpful because it means I can more easily integrate the mocking library with Cypress. (Cypress tests run in the browser alongside the main application code)

Venryx commented 5 years ago

For now I'm getting around the issue by adding fs to Webpack's externals config:

webpackConfig.externals = {
    // needed for firebase-mock in browser (code-path not actually used, so it's okay)
    fs: 'root location', // redirect to some global-variable, eg. window.location
};