diff --git a/package-lock.json b/package-lock.json index 0548da6d..6d4bd988 100644 --- a/package-lock.json +++ b/package-lock.json @@ -67,7 +67,7 @@ "fast-plist": "^0.1.3", "get-stdin": "^9.0.0", "globals": "^15.15.0", - "globby": "^14.1.0", + "globby": "~14.0.2", "image-size": "^1.2.0", "import-from": "^4.0.0", "import-meta-resolve": "^4.1.0", @@ -8916,18 +8916,18 @@ } }, "node_modules/globby": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", - "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", "dev": true, "license": "MIT", "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.3", - "ignore": "^7.0.3", - "path-type": "^6.0.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", "slash": "^5.1.0", - "unicorn-magic": "^0.3.0" + "unicorn-magic": "^0.1.0" }, "engines": { "node": ">=18" @@ -8936,16 +8936,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/ignore": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz", - "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/globjoin": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", @@ -13100,13 +13090,13 @@ "license": "MIT" }, "node_modules/path-type": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", - "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -18153,9 +18143,9 @@ } }, "node_modules/unicorn-magic": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", - "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index ba2cf326..eeea5f78 100644 --- a/package.json +++ b/package.json @@ -111,7 +111,7 @@ "fast-plist": "^0.1.3", "get-stdin": "^9.0.0", "globals": "^15.15.0", - "globby": "^14.1.0", + "globby": "~14.0.2", "image-size": "^1.2.0", "import-from": "^4.0.0", "import-meta-resolve": "^4.1.0", diff --git a/src/watcher.ts b/src/watcher.ts index ddb48b66..782971ac 100644 --- a/src/watcher.ts +++ b/src/watcher.ts @@ -3,7 +3,8 @@ import crypto from 'node:crypto' import path from 'node:path' import { watch as chokidarWatch, type FSWatcher } from 'chokidar' import { getPortPromise } from 'portfinder' -import WS, { type ServerOptions } from 'ws' +import { WebSocketServer } from 'ws' +import type { ServerOptions } from 'ws' import { Converter, ConvertedCallback } from './converter' import { isError } from './error' import { File, FileType } from './file' @@ -82,7 +83,7 @@ export class Watcher { export class WatchNotifier { listeners = new Map>() - private wss?: WS.Server + private wss?: WebSocketServer private portNumber?: number async port() { @@ -112,7 +113,7 @@ export class WatchNotifier { } async start(opts: ServerOptions = {}) { - this.wss = new WS.Server({ ...opts, port: await this.port() }) + this.wss = new WebSocketServer({ ...opts, port: await this.port() }) this.wss.on('connection', (ws, sock) => { if (sock.url) { const [, identifier] = sock.url.split('/') diff --git a/test/templates/watch.ts b/test/templates/watch.ts index fa547411..398978b5 100644 --- a/test/templates/watch.ts +++ b/test/templates/watch.ts @@ -3,7 +3,7 @@ * @jest-environment-options {"customExportConditions": ["node", "node-addons"]} */ import { getPortPromise } from 'portfinder' -import ws from 'ws' +import { WebSocketServer } from 'ws' import watch from '../../src/templates/watch/watch' beforeEach(() => { @@ -12,16 +12,18 @@ beforeEach(() => { }) describe('Watch mode notifier on browser context', () => { - let server: ws.Server + let server: WebSocketServer let infoSpy: jest.SpyInstance let warnSpy: jest.SpyInstance const createWSServer = async () => { const port = await getPortPromise({ port: 37717 }) - return new Promise((res, rej) => { + return new Promise((res, rej) => { try { - const createdServer = new ws.Server({ port }, () => res(createdServer)) + const createdServer = new WebSocketServer({ port }, () => + res(createdServer) + ) } catch (e) { rej(e) }