@nnmt/platform-hyper-express v0.4.0
Hyper-express Adapter for NestJS
Motivation
platform-hyper-express
is NestJS HTTP Adapter
that implement hyper-express into NestJS.
hyper-express
aims to be a simple yet performant HTTP & Websocket Server.
Combined with the power of uWebsockets.js
- a Node.js binding of uSockets written in C++, platform-hyper-express
allows NestJS Developers to unlock higher throughput for their web applications with their existing hardware.
Installation
npm i @nnmt/platform-hyper-express
Usage
Use HyperExpressAdapter for NestJS HTTP Adapter. Must require @nestjs/platform-express
in dependencies.
// sample/nest-sample-1/src/main.ts
import { NestFactory } from '@nestjs/core';
import { HyperExpressAdapter } from '@nnmt/platform-hyper-express';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule, new HyperExpressAdapter());
await app.listen(3000);
}
bootstrap();
Or use @nnmt/platform-hyper-express
classes only to optimize hyper-express usage (Experimental).
// sample/nest-sample-2/src/main.ts
import { NestFactory } from '@nestjs/core';
import {
HyperExpressAdapter,
NestHyperExpressApplication,
} from '@nnmt/platform-hyper-express';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create<NestHyperExpressApplication>(
AppModule,
new HyperExpressAdapter(),
);
await app.listen(3000);
}
bootstrap();
Sample
- Sample projects are located in
/sample
directory. - Sample projects help developers to install/integrate
platform-hyper-express
into their NestJS projects. - Sample projects is not included in NPM package's source.
Encountering Problems?
@nnmt/platform-hyper-express
is mostly compatible with@nestjs/platform-express
but not 100% therefore you may encounter some middlewares not working out of the box. In this scenario, you must either write your own polyfill or omit the middleware to continue.- Currently uWebsockets.js supports only Node.js LTS versions 16, 18 and 20 on (glibc) Linux, macOS and Windows, on
Tier 1
platforms. - The uWebsockets.js version header is disabled by default. You may opt-out of this behavior by setting an environment variable called
KEEP_UWS_HEADER
to a truthy value such as1
ortrue
.
Still Having Problems?
- Open an
Issue
with details about what led up to the problem including error traces, route information, etc.
Testing Changes
To run platform-hyper-express functionality tests locally on your machine, you must follow the steps below.
1. Clone the platform-hyper-express
repository to your machine.
2. Initialize and pull any submodule(s) which are used throughout the tests.
3. Run npm install
in the root directory.
4. Run npm install
in the /tests
directory.
5. Run npm test
to run all tests with your local changes.
License
1 month ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago