From f621b0e81a8aca05722f200f28b3371a07c02203 Mon Sep 17 00:00:00 2001 From: alina sireneva Date: Sun, 29 Sep 2024 01:58:07 +0300 Subject: [PATCH] fix: import EventEmitter from `events`, not `node:events` thanks sindresorhus for not making an option to disable this lint for a specific package lol --- .config/vite.build.ts | 4 +++- .config/vite.bun.ts | 9 +++++++++ packages/bun/src/utils/tcp.ts | 3 ++- packages/core/scripts/generate-client.cjs | 1 + packages/core/src/highlevel/client.ts | 3 ++- packages/core/src/network/client.ts | 3 ++- packages/core/src/network/multi-session-connection.ts | 3 ++- packages/core/src/network/persistent-connection.ts | 3 ++- packages/core/src/network/transports/abstract.ts | 3 ++- packages/core/src/network/transports/streamed.ts | 3 ++- packages/core/src/network/transports/wrapped.ts | 3 ++- packages/test/src/transport.ts | 3 ++- packages/web/src/websocket.ts | 3 ++- 13 files changed, 33 insertions(+), 11 deletions(-) diff --git a/.config/vite.build.ts b/.config/vite.build.ts index 5f7ad0df..b2804562 100644 --- a/.config/vite.build.ts +++ b/.config/vite.build.ts @@ -43,7 +43,9 @@ if (typeof globalThis !== 'undefined' && !globalThis._MTCUTE_CJS_DEPRECATION_WAR rollupOptions: { plugins: [ ...(customConfig?.rollupPluginsPre ?? []), - nodeExternals(), + nodeExternals({ + builtinsPrefix: 'ignore', + }), { name: 'mtcute-finalize', renderChunk(code, chunk, options) { diff --git a/.config/vite.bun.ts b/.config/vite.bun.ts index 54dd353e..7f7cfef7 100644 --- a/.config/vite.bun.ts +++ b/.config/vite.bun.ts @@ -78,6 +78,15 @@ export default defineConfig({ return code }, }, + { + name: 'fix-events', + transform(code) { + if (!code.includes('events')) return code + return code.replace(/^import (.+?) from ['"]events['"]/gms, (_, name) => { + return `import ${name} from 'node:events'` + }) + }, + }, { name: 'fix-wasm-load', async transform(code) { diff --git a/packages/bun/src/utils/tcp.ts b/packages/bun/src/utils/tcp.ts index c0a6f6cd..fbf6aa8f 100644 --- a/packages/bun/src/utils/tcp.ts +++ b/packages/bun/src/utils/tcp.ts @@ -1,4 +1,5 @@ -import EventEmitter from 'node:events' +// eslint-disable-next-line unicorn/prefer-node-protocol +import EventEmitter from 'events' import type { Socket } from 'bun' import type { IPacketCodec, ITelegramTransport } from '@mtcute/core' diff --git a/packages/core/scripts/generate-client.cjs b/packages/core/scripts/generate-client.cjs index ad8b3443..df081f49 100644 --- a/packages/core/scripts/generate-client.cjs +++ b/packages/core/scripts/generate-client.cjs @@ -464,6 +464,7 @@ async function main() { output.write( '/* eslint-disable ts/no-unsafe-declaration-merging, ts/no-unsafe-argument */\n' + '/* THIS FILE WAS AUTO-GENERATED */\n' + + '// eslint-disable-next-line unicorn/prefer-node-protocol\n' + "import EventEmitter from 'events'\n" + "import Long from 'long'\n", ) diff --git a/packages/core/src/highlevel/client.ts b/packages/core/src/highlevel/client.ts index c61cc2b5..afa68454 100644 --- a/packages/core/src/highlevel/client.ts +++ b/packages/core/src/highlevel/client.ts @@ -1,6 +1,7 @@ /* eslint-disable ts/no-unsafe-declaration-merging, ts/no-unsafe-argument */ /* THIS FILE WAS AUTO-GENERATED */ -import EventEmitter from 'node:events' +// eslint-disable-next-line unicorn/prefer-node-protocol +import EventEmitter from 'events' import type Long from 'long' import type { tdFileId } from '@mtcute/file-id' diff --git a/packages/core/src/network/client.ts b/packages/core/src/network/client.ts index 3720ec72..792dffc6 100644 --- a/packages/core/src/network/client.ts +++ b/packages/core/src/network/client.ts @@ -1,4 +1,5 @@ -import EventEmitter from 'node:events' +// eslint-disable-next-line unicorn/prefer-node-protocol +import EventEmitter from 'events' import type { mtp } from '@mtcute/tl' import { tl } from '@mtcute/tl' diff --git a/packages/core/src/network/multi-session-connection.ts b/packages/core/src/network/multi-session-connection.ts index 5269412e..66650098 100644 --- a/packages/core/src/network/multi-session-connection.ts +++ b/packages/core/src/network/multi-session-connection.ts @@ -1,4 +1,5 @@ -import EventEmitter from 'node:events' +// eslint-disable-next-line unicorn/prefer-node-protocol +import EventEmitter from 'events' import type { mtp, tl } from '@mtcute/tl' diff --git a/packages/core/src/network/persistent-connection.ts b/packages/core/src/network/persistent-connection.ts index 4e9d79b3..0ee18d36 100644 --- a/packages/core/src/network/persistent-connection.ts +++ b/packages/core/src/network/persistent-connection.ts @@ -1,4 +1,5 @@ -import EventEmitter from 'node:events' +// eslint-disable-next-line unicorn/prefer-node-protocol +import EventEmitter from 'events' import { MtcuteError } from '../types/index.js' import type { BasicDcOption, ICryptoProvider, Logger } from '../utils/index.js' diff --git a/packages/core/src/network/transports/abstract.ts b/packages/core/src/network/transports/abstract.ts index d941af0d..a7a9d526 100644 --- a/packages/core/src/network/transports/abstract.ts +++ b/packages/core/src/network/transports/abstract.ts @@ -1,4 +1,5 @@ -import type EventEmitter from 'node:events' +// eslint-disable-next-line unicorn/prefer-node-protocol +import type EventEmitter from 'events' import type { tl } from '@mtcute/tl' diff --git a/packages/core/src/network/transports/streamed.ts b/packages/core/src/network/transports/streamed.ts index 833b6ba6..6b552458 100644 --- a/packages/core/src/network/transports/streamed.ts +++ b/packages/core/src/network/transports/streamed.ts @@ -1,4 +1,5 @@ -import EventEmitter from 'node:events' +// eslint-disable-next-line unicorn/prefer-node-protocol +import EventEmitter from 'events' import { concatBuffers } from '../../utils/index.js' diff --git a/packages/core/src/network/transports/wrapped.ts b/packages/core/src/network/transports/wrapped.ts index 6fe52158..4310ef61 100644 --- a/packages/core/src/network/transports/wrapped.ts +++ b/packages/core/src/network/transports/wrapped.ts @@ -1,4 +1,5 @@ -import EventEmitter from 'node:events' +// eslint-disable-next-line unicorn/prefer-node-protocol +import EventEmitter from 'events' import type { ICryptoProvider, Logger } from '../../utils/index.js' diff --git a/packages/test/src/transport.ts b/packages/test/src/transport.ts index 83e82c68..8175da27 100644 --- a/packages/test/src/transport.ts +++ b/packages/test/src/transport.ts @@ -1,4 +1,5 @@ -import EventEmitter from 'node:events' +// eslint-disable-next-line unicorn/prefer-node-protocol +import EventEmitter from 'events' import type { ITelegramTransport } from '@mtcute/core' import { TransportState } from '@mtcute/core' diff --git a/packages/web/src/websocket.ts b/packages/web/src/websocket.ts index be33290a..5b6ce064 100644 --- a/packages/web/src/websocket.ts +++ b/packages/web/src/websocket.ts @@ -1,4 +1,5 @@ -import EventEmitter from 'node:events' +// eslint-disable-next-line unicorn/prefer-node-protocol +import EventEmitter from 'events' import type { IPacketCodec,