0
respostas

(node:24) [DEP_WEBPACK_DEV_SERVER_ON_AFTER_SETUP_MIDDLEWARE] em produção apenas

Tenho um projeto em reactjs, tudo estava bem até eu fazer meu ultimo deploy, ele até faz o build, mas quando vou ver nos logs:

(node:24) [DEP_WEBPACK_DEV_SERVER_ON_AFTER_SETUP_MIDDLEWARE] DeprecationWarning: 'onAfterSetupMiddleware' option is deprecated. Please use the 'setupMiddlewares' option.
(Use node --trace-deprecation ... to show where the warning was created)
(node:24) [DEP_WEBPACK_DEV_SERVER_ON_BEFORE_SETUP_MIDDLEWARE] DeprecationWarning: 'onBeforeSetupMiddleware' option is deprecated. Please use the 'setupMiddlewares' option.

Localmente funciona perfeitamente, mas em produção ocorre esse erro.

Já tentei alterar a versão do react-scripts 5.0.1 para outras e nada. Tentei npm install, npm update, npm ci e nada tbm.

Meu package.json

{
  "name": "admin-hostel",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@emotion/react": "^11.7.0",
    "@emotion/styled": "^11.6.0",
    "@hookform/resolvers": "^2.8.8",
    "@material-ui/core": "^4.12.3",
    "@mui/icons-material": "^5.2.1",
    "@mui/material": "^5.2.3",
    "@mui/styled-engine-sc": "^5.1.0",
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "array-move": "^4.0.0",
    "axios": "^0.27.2",
    "draft-js": "^0.11.7",
    "draftjs-to-html": "^0.9.1",
    "moment": "^2.29.4",
    "react-draft-wysiwyg": "^1.15.0",
    "react-hook-form": "^7.31.1",
    "react-paginate": "^8.1.3",
    "react-responsive-modal": "^6.2.0",
    "react-router-dom": "^5.2.0",
    "react-scripts": "5.0.1",
    "react-sortable-hoc": "^2.0.0",
    "react-tabs": "^3.2.3",
    "react-tooltip": "^4.2.21",
    "sweetalert": "^2.1.2",
    "universal-cookie": "^4.0.4",
    "web-vitals": "^2.1.4",
    "yup": "^0.32.11"
  },
  "scripts": {
    "start": "react-scripts --max_old_space_size=8192 start",
    "build": "react-scripts --max_old_space_size=8192 build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "flow-babel-webpack-plugin": "^1.1.1",
    "http-proxy-middleware": "^2.0.6",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "webpack": "^5.74.0",
    "webpack-cli": "^4.10.0",
    "webpack-dev-server": "^4.11.1"
  }
}

Alterando no webpackDevServer.config.js, o warning deixa de aparecer localmente, mas em produção ainda nao funciona:

 setupMiddlewares: (middlewares, devServer) => {
      if (!devServer) {
          throw new Error('webpack-dev-server is not defined')
      }

      if (fs.existsSync(paths.proxySetup)) {
          require(paths.proxySetup)(devServer.app)
      }

      middlewares.push(
          evalSourceMapMiddleware(devServer),
          redirectServedPath(paths.publicUrlOrPath),
          noopServiceWorkerMiddleware(paths.publicUrlOrPath)
      )

      return middlewares;
  },

no webpack.config.js estou tentando fazer algo parecido. mas nada ainda:


const paths = require('./paths');

module.exports = {
  //...
  devServer: {
    setupMiddlewares: function (middlewares, devServer) {
      if (!devServer) {
        throw new Error('webpack-dev-server is not defined');
      }

      if (fs.existsSync(paths.proxySetup)) {
          require(paths.proxySetup)(devServer.app)
      }

      middlewares.push(
          evalSourceMapMiddleware(devServer),
          redirectServedPath(paths.publicUrlOrPath),
          noopServiceWorkerMiddleware(paths.publicUrlOrPath)
      )

      return middlewares;
    },
  },
};

alguma ideia ?