Не работает FS в electron forge + webpack + react

Создал чистый проект electron forge с webpack, есть необходимость использовать FS, но electron forge ругается выдавая такие ошибки:

app.jsx?93bc:9 Uncaught TypeError: fs__WEBPACK_IMPORTED_MODULE_2__.readdir is not a function
    at onClick (app.jsx?93bc:9:5)
    at HTMLUnknownElement.callCallback (react-dom.development.js?7574:730:114)
    at Object.invokeGuardedCallbackDev (react-dom.development.js?7574:750:36)
    at invokeGuardedCallback (react-dom.development.js?7574:771:98)
    at invokeGuardedCallbackAndCatchFirstError (react-dom.development.js?7574:780:84)
    at executeDispatch (react-dom.development.js?7574:1672:237)
    at processDispatchQueueItemsInOrder (react-dom.development.js?7574:1672:1124)
    at processDispatchQueue (react-dom.development.js?7574:1672:1467)
    at dispatchEventsForPlugins (react-dom.development.js?7574:1674:300)
    at eval (react-dom.development.js?7574:1712:316)

вот мой package.json

{
  "name": "electron-forge-webpack",
  "productName": "electron-forge-webpack",
  "version": "1.0.0",
  "description": "My Electron application description",
  "main": ".webpack/main",
  "scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make",
    "publish": "electron-forge publish",
    "lint": "echo \"No linting configured\""
  },
  "keywords": [],
  "author": "nixoko",
  "license": "MIT",
  "config": {
    "forge": {
      "packagerConfig": {},
      "makers": [
        {
          "name": "@electron-forge/maker-squirrel",
          "config": {
            "name": "electron_forge_webpack"
          }
        },
        {
          "name": "@electron-forge/maker-zip",
          "platforms": [
            "darwin"
          ]
        },
        {
          "name": "@electron-forge/maker-deb",
          "config": {}
        },
        {
          "name": "@electron-forge/maker-rpm",
          "config": {}
        }
      ],
      "plugins": [
        [
          "@electron-forge/plugin-webpack",
          {
            "mainConfig": "./webpack.main.config.js",
            "renderer": {
              "config": "./webpack.renderer.config.js",
              "entryPoints": [
                {
                  "html": "./src/index.html",
                  "js": "./src/renderer.js",
                  "name": "main_window",
                  "preload": {
                    "js": "./src/preload.js"
                  }
                }
              ]
            }
          }
        ]
      ]
    }
  },
  "devDependencies": {
    "@babel/core": "^7.18.13",
    "@babel/preset-react": "^7.18.6",
    "@electron-forge/cli": "^6.0.0-beta.65",
    "@electron-forge/maker-deb": "^6.0.0-beta.65",
    "@electron-forge/maker-rpm": "^6.0.0-beta.65",
    "@electron-forge/maker-squirrel": "^6.0.0-beta.65",
    "@electron-forge/maker-zip": "^6.0.0-beta.65",
    "@electron-forge/plugin-webpack": "6.0.0-beta.65",
    "@vercel/webpack-asset-relocator-loader": "1.7.3",
    "babel-loader": "^8.2.5",
    "css-loader": "^6.0.0",
    "electron": "20.1.0",
    "node-loader": "^2.0.0",
    "style-loader": "^3.0.0"
  },
  "dependencies": {
    "electron-squirrel-startup": "^1.0.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-router-dom": "6"
  },
  "browser": {
    "fs": false,
    "path": false,
    "os": false,
    "crypto": false,
    "stream": false,
    "http": false,
    "tls": false,
    "zlib": false,
    "https": false,
    "net": false
  }
}

webpack.config

module.exports = {
  entry: './src/main.js',
  module: {
    rules: require('./webpack.rules'),
  }
};

и сама страница

import * as React from 'react';
import * as ReactDOM from 'react-dom/client';

import * as fs from 'fs';

function App(){

  function onClick(){
    fs.readdir('./', (err, data) => {
      console.log(data);
    })
  }

  return(
    <div>
      <button onClick={onClick}></button>
    </div>
  );
}

const root = ReactDOM.createRoot(document.getElementById("root"));

root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
)

Ответы (0 шт):