New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More

@hint/utils-create-server

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
h

@hint/utils-create-server

hint create server util

3.2.3
72

Supply Chain Security

100

Vulnerability

86

Quality

83

Maintenance

100

License

Version published
Weekly downloads
3
-94.55%
Maintainers
2
Weekly downloads
 
Created
Issues
469

Create Server (@hint/utils-create-server)

Create a server to run tests

Installation

To install the package, you need to run:

npm install @hint/utils-create-server

Architecture

The test web server is spawned in a new thread. There reasons for this are:

  • Better isolation
  • Improve the debugging experience

With the current architecture knowing what is actually returned by the server is easier because a web browser can be used while debugging the code. Before if the code hit a breakpoint the webserver would be blocked as well and nothing will be returned.

There main 2 pieces are:

  • index.ts: This is what modules consume. It is in charge of spawning the server process and handle the communication with it. All methods are async to achive this.
  • server.ts: The real web server. It uses express and listens to the messages sent by index.ts.

The communication between both is done via IPC. Each message sent by index.ts needs a response to confirm the action has been completed, i.e. if it sends a start message it should receive a start message as well.

The following is an example of messages used:

{
    "webhint": {
        "type": "start"
    }
}

Please note that all messages are "scoped" to webhint to avoid collision with other possible messages.

IPC serializes the messages to JSON. Unfortunatelly it does not accept replacer/reviver functions. The server configuration accepts Buffers so in order to send the right data we need to manually (de)serialize the messages in both ends.

FAQs

Package last updated on 16 Oct 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts