Skip to content

webpack 5 / devServer.socket miss #3409

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
politsin opened this issue Jun 9, 2021 · 11 comments · Fixed by #3479
Closed

webpack 5 / devServer.socket miss #3409

politsin opened this issue Jun 9, 2021 · 11 comments · Fixed by #3479

Comments

@politsin
Copy link

politsin commented Jun 9, 2021

The task is to listen with webpack dev-server normal unix-socket (not a port)

There is no devServer.socket parameter in webpack 5 and there is no mention of it anywhere and no way to work around

webpack 4 parametrs list

https://v4.webpack.js.org/configuration/dev-server/#devserversocket

devServer.socket
devServer.sockHost
devServer.sockPath
devServer.sockPort

webpack 5 parametrs list

https://webpack.js.org/configuration/dev-server/#devserversockhost

... =) miss
devServer.sockHost
devServer.sockPath
devServer.sockPort

Docs

@politsin
Copy link
Author

politsin commented Jun 9, 2021

when i run webpack serve --socket /var/run/n/nodejs.socket
a got result

ℹ 「wds」: Listening to socket at /var/run/n/nodejs.socket
ℹ 「wds」: webpack output is served from /modules/custom/react/js/dist_dev/
ℹ 「wds」: Content not from webpack is served from /var/www/html/modules/custom/react/js
ℹ 「wdm」: asset main.min.js 1.63 MiB [emitted] (name: main) 1 related asset
...

but there is no socket file in /var/run/n directory.

node + net

However plain js file works fine and socket exists in folder after node net.js

// node net.js
'use strict';
const SOCKET = '/var/run/n/nodejs.socket';

const fs = require("fs");
const net = require('net');
const unixSocketServer = net.createServer();

unixSocketServer.on('error', function (e) {
  if (e.code == 'EADDRINUSE') {
    console.log('Address in use, retrying...');
    fs.unlinkSync(SOCKET);
    unixSocketServer.listen(SOCKET, () => {
      console.log('now recoverd');
    });
    setTimeout(function () {
    }, 1000);
  }
});

unixSocketServer.listen(SOCKET, () => {
  console.log('now listening');
});

unixSocketServer.on('connection', (s) => {
  console.log('got connection!');
  s.write('hello world');
  s.end();
});

@snitin315
Copy link
Member

snitin315 commented Jun 9, 2021

devServer.socket will be removed in webpack-dev-server v4 in favor of --unix-socket flag which is currently being implemented in webpack-cli -

webpack/webpack-cli#2757

@politsin
Copy link
Author

politsin commented Jun 9, 2021

do I understand correctly?

webpack serve --unix-socket /var/run/n/nodejs.socket got

[webpack-cli] Error: Unknown option '--unix-socket'
[webpack-cli] Run 'webpack --help' to see available commands and options
    "webpack": "^5.38.1",
    "webpack-cli": "^4.7.2",
    "webpack-dev-server": "^3.11.2"

@alexander-akait
Copy link
Member

@politsin it is still under development, and in our roadmap, note:

devServer.sockHost
devServer.sockPath
devServer.sockPort

were renamed to clinet. webSocketURL and not related to the socket option

@alexander-akait
Copy link
Member

We return socket support, now it is called ipc, can be true or path to socket, release will be in near future

@politsin
Copy link
Author

Спасибо огромное!
пойду попробую запустить

@politsin
Copy link
Author

не обратил внимание что v4.0.0-beta.3 от 6 May, т.е. изменения из мастер-ветки ещё не зафиксированы.
подожду пока следующий релиз появится видимо =)

@alexander-akait
Copy link
Member

release will be on this week

@politsin
Copy link
Author

politsin commented Jul 6, 2021

спасибо! жду с нетерпением релиз

@politsin
Copy link
Author

понимаю что для релиза нужно много работы, и возможно есть какие-то блокирующие таски.
но навсякий случай напомню 😇

@alexander-akait
Copy link
Member

I am working on the latest pr - migration guide for the rc release (after rc we will fix couple small bugs and do stable major release), anyway rc should be safe for use, because no breaking change after rc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants