Skip to content

Commit 5b97a94

Browse files
authored
chore(package.json): esm only [BREAKING CHANGE] (#1181)
1 parent aeb9256 commit 5b97a94

66 files changed

Lines changed: 242 additions & 194 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
- fix(types): fix Logger type
66
- fix(error-response-plugin): sanitize input
77
- feat: drop node v14/v16/v18 [BREAKING CHANGE]
8-
- refactor(#1136): replace http-proxy w/ httpxy [BREAKING CHANGE]
8+
- refactor(#1136): replace http-proxy w/ httpxy
99
- chore: remove legacyCreateProxyMiddleware() [BREAKING CHANGE]
10+
- ci: migrate from jest to vitest
11+
- chore(package.json): esm only [BREAKING CHANGE]
1012

1113
## [v3.0.5](https://github.com/chimurai/http-proxy-middleware/releases/tag/v3.0.5)
1214

README.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Proxy `/api` requests to `http://www.example.org`
2828

2929
```typescript
3030
// typescript
31-
import * as express from 'express';
31+
import express from 'express';
3232
import type { NextFunction, Request, Response } from 'express';
3333
import { createProxyMiddleware } from 'http-proxy-middleware';
3434
import type { Filter, Options, RequestHandler } from 'http-proxy-middleware';
@@ -93,7 +93,7 @@ npm install --save-dev http-proxy-middleware
9393
Create and configure a proxy middleware with: `createProxyMiddleware(config)`.
9494

9595
```javascript
96-
const { createProxyMiddleware } = require('http-proxy-middleware');
96+
import { createProxyMiddleware } from 'http-proxy-middleware';
9797

9898
const apiProxy = createProxyMiddleware({
9999
target: 'http://www.example.org',
@@ -114,13 +114,13 @@ An example with `express` server.
114114

115115
```javascript
116116
// include dependencies
117-
const express = require('express');
118-
const { createProxyMiddleware } = require('http-proxy-middleware');
117+
import express from 'express';
118+
import { createProxyMiddleware } from 'http-proxy-middleware';
119119

120120
const app = express();
121121

122122
// create the proxy
123-
/** @type {import('http-proxy-middleware/dist/types').RequestHandler<express.Request, express.Response>} */
123+
/** @type {import('http-proxy-middleware').RequestHandler<import('express').Request, import('express').Response>} */
124124
const exampleProxy = createProxyMiddleware({
125125
target: 'http://www.example.org/api', // target host with the same base path
126126
changeOrigin: true, // needed for virtual hosted sites
@@ -281,13 +281,15 @@ NOTE: register your own error handlers to prevent server from crashing.
281281

282282
```js
283283
// eject default plugins and manually add them back
284-
285-
const {
286-
debugProxyErrorsPlugin, // subscribe to proxy errors to prevent server from crashing
287-
loggerPlugin, // log proxy events to a logger (ie. console)
288-
errorResponsePlugin, // return 5xx response on proxy error
284+
import {
285+
debugProxyErrorsPlugin,
286+
// log proxy events to a logger (ie. console)
287+
errorResponsePlugin,
288+
// subscribe to proxy errors to prevent server from crashing
289+
loggerPlugin,
290+
// return 5xx response on proxy error
289291
proxyEventsPlugin, // implements the "on:" option
290-
} = require('http-proxy-middleware');
292+
} from 'http-proxy-middleware';
291293

292294
createProxyMiddleware({
293295
target: `http://example.org`,
@@ -497,7 +499,7 @@ Currently the only pre-provided request interceptor is `fixRequestBody`, which i
497499
Example:
498500

499501
```javascript
500-
const { createProxyMiddleware, fixRequestBody } = require('http-proxy-middleware');
502+
import { createProxyMiddleware, fixRequestBody } from 'http-proxy-middleware';
501503

502504
const proxy = createProxyMiddleware({
503505
/**
@@ -522,7 +524,7 @@ NOTE: `responseInterceptor` disables streaming of target's response.
522524
Example:
523525

524526
```javascript
525-
const { createProxyMiddleware, responseInterceptor } = require('http-proxy-middleware');
527+
import { createProxyMiddleware, responseInterceptor } from 'http-proxy-middleware';
526528

527529
const proxy = createProxyMiddleware({
528530
/**

examples/browser-sync/index.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
/**
22
* Module dependencies.
33
*/
4-
const browserSync = require('browser-sync').create();
5-
const { createProxyMiddleware } = require('../../dist'); // require('http-proxy-middleware');
4+
import browserSync from 'browser-sync';
5+
6+
import { createProxyMiddleware } from '../../dist/index.js';
7+
8+
const app = browserSync.create();
69

710
/**
811
* Configure proxy middleware
@@ -17,7 +20,7 @@ const jsonPlaceholderProxy = createProxyMiddleware({
1720
/**
1821
* Add the proxy to browser-sync
1922
*/
20-
browserSync.init({
23+
app.init({
2124
server: {
2225
baseDir: './',
2326
port: 3000,
@@ -29,5 +32,5 @@ browserSync.init({
2932
console.log('[DEMO] Server: listening on port 3000');
3033
console.log('[DEMO] Opening: http://localhost:3000/users');
3134

32-
process.on('SIGINT', () => browserSync.exit());
33-
process.on('SIGTERM', () => browserSync.exit());
35+
process.on('SIGINT', () => app.exit());
36+
process.on('SIGTERM', () => app.exit());

examples/connect/index.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
/**
22
* Module dependencies.
33
*/
4-
const http = require('http');
5-
const connect = require('connect');
6-
const { createProxyMiddleware } = require('../../dist'); // require('http-proxy-middleware');
4+
import * as http from 'node:http';
5+
6+
import connect from 'connect';
7+
import open from 'open';
8+
9+
import { createProxyMiddleware } from '../../dist/index.js';
710

811
/**
912
* Configure proxy middleware
@@ -25,7 +28,7 @@ const server = http.createServer(app).listen(3000);
2528
console.log('[DEMO] Server: listening on port 3000');
2629
console.log('[DEMO] Opening: http://localhost:3000/users');
2730

28-
require('open')('http://localhost:3000/users');
31+
open('http://localhost:3000/users');
2932

3033
process.on('SIGINT', () => server.close());
3134
process.on('SIGTERM', () => server.close());

examples/express/index.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
/**
22
* Module dependencies.
33
*/
4-
const express = require('express');
5-
const { createProxyMiddleware } = require('../../dist'); // require('http-proxy-middleware');
4+
import express from 'express';
5+
import open from 'open';
6+
7+
import { createProxyMiddleware } from '../../dist/index.js';
68

79
/**
810
* Configure proxy middleware
@@ -25,7 +27,7 @@ const server = app.listen(3000);
2527
console.log('[DEMO] Server: listening on port 3000');
2628
console.log('[DEMO] Opening: http://localhost:3000/users');
2729

28-
require('open')('http://localhost:3000/users');
30+
open('http://localhost:3000/users');
2931

3032
process.on('SIGINT', () => server.close());
3133
process.on('SIGTERM', () => server.close());

examples/fastify/index.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
1-
const fastify = require('fastify')({ logger: true });
2-
const { createProxyMiddleware } = require('../../dist'); // require('http-proxy-middleware');
1+
import fastifyExpress from '@fastify/express';
2+
import fastifyFactory from 'fastify';
3+
import open from 'open';
4+
5+
import { createProxyMiddleware } from '../../dist/index.js';
6+
7+
const fastify = fastifyFactory({ logger: true });
38

49
(async () => {
5-
await fastify.register(require('@fastify/express'));
10+
await fastify.register(fastifyExpress);
611

712
const proxy = createProxyMiddleware({
813
target: 'http://jsonplaceholder.typicode.com',
@@ -15,6 +20,6 @@ const { createProxyMiddleware } = require('../../dist'); // require('http-proxy-
1520
if (err) throw err;
1621
fastify.log.info(`server listening on ${address}`);
1722

18-
require('open')(`${address}/users`);
23+
open(`${address}/users`);
1924
});
2025
})();

examples/http-server/index.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
/**
22
* Module dependencies.
33
*/
4-
const http = require('node:http');
5-
const { createProxyMiddleware } = require('../../dist'); // require('http-proxy-middleware');
4+
import * as http from 'node:http';
5+
6+
import open from 'open';
7+
8+
import { createProxyMiddleware } from '../../dist/index.js';
69

710
/**
811
* Configure proxy middleware
@@ -23,7 +26,7 @@ server.listen(3000);
2326
console.log('[DEMO] Server: listening on port 3000');
2427
console.log('[DEMO] Opening: http://localhost:3000/users');
2528

26-
require('open')('http://localhost:3000/users');
29+
open('http://localhost:3000/users');
2730

2831
process.on('SIGINT', () => server.close());
2932
process.on('SIGTERM', () => server.close());

examples/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "examples",
33
"version": "1.0.0",
4+
"type": "module",
45
"private": "true",
56
"description": "View working examples of `http-proxy-middleware` implemented in popular servers.",
67
"scripts": {

examples/response-interceptor/index.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
// file deepcode ignore DisablePoweredBy: example code
22
// file deepcode ignore UseCsurfForExpress: example code
3-
43
/**
54
* Module dependencies.
65
*/
7-
const express = require('express');
8-
const { createProxyMiddleware, responseInterceptor } = require('../../dist'); // require('http-proxy-middleware');
6+
import express from 'express';
7+
import open from 'open';
8+
9+
import { createProxyMiddleware, responseInterceptor } from '../../dist/index.js';
910

1011
// test with double-byte characters
1112
// cSpell:ignore Kroket, ส้มตำไทย, चिकन
@@ -78,7 +79,7 @@ console.log('[DEMO] Open: http://localhost:3000/brotli');
7879
console.log('[DEMO] Open: http://localhost:3000/gzip');
7980
console.log('[DEMO] Open: http://localhost:3000/deflate');
8081

81-
require('open')('http://localhost:3000/users');
82+
open('http://localhost:3000/users');
8283

8384
process.on('SIGINT', () => server.close());
8485
process.on('SIGTERM', () => server.close());

examples/websocket/index.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
/**
22
* Module dependencies.
33
*/
4-
const express = require('express');
5-
const { createProxyMiddleware } = require('../../dist'); // require('http-proxy-middleware');
4+
import { fileURLToPath } from 'node:url';
5+
6+
import express from 'express';
7+
import open from 'open';
8+
9+
import { createProxyMiddleware } from '../../dist/index.js';
10+
11+
const currentDir = fileURLToPath(new URL('.', import.meta.url));
612

713
/**
814
* Configure proxy middleware
@@ -19,7 +25,7 @@ const wsProxy = createProxyMiddleware({
1925
});
2026

2127
const app = express();
22-
app.use('/', express.static(__dirname)); // demo page
28+
app.use('/', express.static(currentDir)); // demo page
2329
app.use(wsProxy); // add the proxy to express
2430

2531
const server = app.listen(3000);
@@ -28,7 +34,7 @@ server.on('upgrade', wsProxy.upgrade); // optional: upgrade externally
2834
console.log('[DEMO] Server: listening on port 3000');
2935
console.log('[DEMO] Opening: http://localhost:3000');
3036

31-
require('open')('http://localhost:3000');
37+
open('http://localhost:3000');
3238

3339
/**
3440
* Example:

0 commit comments

Comments
 (0)